diff --git a/.gitignore b/.gitignore index 1e4442204c6..c11b43c96da 100644 --- a/.gitignore +++ b/.gitignore @@ -187,8 +187,20 @@ nuget.exe node_modules/ wwwroot +Localization !src/OrchardCore.Modules/**/wwwroot !src/OrchardCore.Themes/**/wwwroot +!src/OrchardCore.Modules/**/Localization +!src/OrchardCore.Themes/**/Localization !src/Templates/**/content/** +src/Templates/**/content/**/[Bb]in/ +src/Templates/**/content/**/[Oo]bj/ .template.config/ /OrchardCore.sln.GhostDoc.xml + +# Rider +/.idea + +# BenchmarkDotNet artifacts +BenchmarkDotNet.Artifacts + diff --git a/.travis.yml b/.travis.yml index 3ac7367efbd..5736d42332b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ language: csharp sudo: required services: - docker -dist: trusty +dist: xenial mono: none # dotnet: 2.1.300 branches: @@ -24,9 +24,9 @@ env: os: - linux - osx -osx_image: xcode8.3 +osx_image: xcode10.1 script: - - curl https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.sh | bash /dev/stdin --version 2.2.103 + - curl https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.sh | bash /dev/stdin --version 3.0.100 - if test "$TRAVIS_OS_NAME" == "linux"; then export PATH="/home/travis/.dotnet":"$PATH"; fi - if test "$TRAVIS_OS_NAME" == "osx"; then export PATH="/Users/travis/.dotnet":"$PATH"; fi - dotnet --info @@ -36,7 +36,7 @@ script: rm -rf ./App_Data; dotnet publish -c Release -o $TRAVIS_BUILD_DIR/.build/release; cd $TRAVIS_BUILD_DIR; - docker build -t orchardproject/orchardcore-cms-linux:latest -t orchardproject/orchardcore-cms-linux:1.0.0-beta3 .; + docker build -t orchardproject/orchardcore-cms-linux:latest -t orchardproject/orchardcore-cms-linux:1.0.0-rc1 .; echo "$DOCKER_PASS" | docker login -u="$DOCKER_USER" --password-stdin; docker push orchardproject/orchardcore-cms-linux; fi; diff --git a/.vscode/launch.json b/.vscode/launch.json index 4fcd7df987d..496e632ca6f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,10 +6,10 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Web App: Dotnet Build Debug", - "program": "${workspaceRoot}/src/OrchardCore.Cms.Web/bin/Debug/netcoreapp2.2/OrchardCore.Cms.Web.dll", + "program": "${workspaceRoot}/src/OrchardCore.Cms.Web/bin/Debug/netcoreapp3.0/OrchardCore.Cms.Web.dll", "args": [], "cwd": "${workspaceRoot}/src/OrchardCore.Cms.Web", - "env": { + "env": { "ASPNETCORE_ENVIRONMENT": "Development" }, "stopAtEntry": false @@ -20,10 +20,10 @@ "request": "launch", "internalConsoleOptions": "openOnSessionStart", "preLaunchTask": "Web App: Dotnet Build Debug", - "program": "${workspaceRoot}/src/OrchardCore.Cms.Web/bin/Debug/netcoreapp2.2/OrchardCore.Cms.Web.dll", + "program": "${workspaceRoot}/src/OrchardCore.Cms.Web/bin/Debug/netcoreapp3.0/OrchardCore.Cms.Web.dll", "args": [], "cwd": "${workspaceRoot}/src/OrchardCore.Cms.Web", - "env": { + "env": { "ASPNETCORE_ENVIRONMENT": "Development" }, "stopAtEntry": false, @@ -47,7 +47,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Web App: Dotnet Build Release", - "program": "${workspaceRoot}/src/OrchardCore.Cms.Web/bin/Release/netcoreapp2.2/OrchardCore.Cms.Web.dll", + "program": "${workspaceRoot}/src/OrchardCore.Cms.Web/bin/Release/netcoreapp3.0/OrchardCore.Cms.Web.dll", "args": [], "cwd": "${workspaceRoot}/src/OrchardCore.Cms.Web", "stopAtEntry": false, @@ -86,17 +86,17 @@ } }, { - "name": "Gulp Debug", - "type": "node", - "request": "launch", - "program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js", - "stopOnEntry": false, - "args": [], - "cwd": "${workspaceRoot}", - "runtimeArgs": [ - "--nolazy" - ], - "console": "internalConsole", - } + "name": "Gulp Debug", + "type": "node", + "request": "launch", + "program": "${workspaceRoot}/node_modules/gulp/bin/gulp.js", + "stopOnEntry": false, + "args": [], + "cwd": "${workspaceRoot}", + "runtimeArgs": [ + "--nolazy" + ], + "console": "internalConsole", + } ] } \ No newline at end of file diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 00000000000..e4ed670fc2c --- /dev/null +++ b/.vsconfig @@ -0,0 +1,28 @@ +{ + "version": "1.0", + "components": [ + "Component.Microsoft.Web.LibraryManager", + "Component.Microsoft.VisualStudio.RazorExtension", + "Microsoft.Component.MSBuild", + "Microsoft.Net.ComponentGroup.DevelopmentPrerequisites", + "Microsoft.NetCore.ComponentGroup.Web.2.1", + "Microsoft.VisualStudio.Component.Common.Azure.Tools", + "Microsoft.VisualStudio.Component.CoreEditor", + "Microsoft.VisualStudio.Component.JavaScript.TypeScript", + "Microsoft.VisualStudio.Component.JavaScript.Diagnostics", + "Microsoft.VisualStudio.Component.IISExpress", + "Microsoft.VisualStudio.Component.ManagedDesktop.Core", + "Microsoft.VisualStudio.Component.NuGet", + "Microsoft.VisualStudio.Component.Roslyn.Compiler", + "Microsoft.VisualStudio.Component.Roslyn.LanguageServices", + "Microsoft.VisualStudio.Component.TypeScript.3.5", + "Microsoft.VisualStudio.Component.TextTemplating", + "Microsoft.VisualStudio.Component.Web", + "Microsoft.VisualStudio.Component.WebDeploy", + "Microsoft.VisualStudio.ComponentGroup.Web", + "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions", + "Microsoft.VisualStudio.Workload.CoreEditor", + "Microsoft.VisualStudio.Workload.NetWeb", + "Microsoft.VisualStudio.Workload.NetCoreTools" + ] +} diff --git a/Dockerfile b/Dockerfile index 0d2a47c42db..c9f0b4163a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # This Docker file is intended for the CI # A prerequisite is a published application in the .build/release -FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 +FROM mcr.microsoft.com/dotnet/core/aspnet:3.0 EXPOSE 80 ENV ASPNETCORE_URLS http://+:80 diff --git a/NuGet.config b/NuGet.config index 950e6fc16b0..fa43278701a 100644 --- a/NuGet.config +++ b/NuGet.config @@ -3,6 +3,7 @@ + diff --git a/OrchardCore.sln b/OrchardCore.sln index fb4463d3e8d..c8d6c53dc3e 100644 --- a/OrchardCore.sln +++ b/OrchardCore.sln @@ -1,6 +1,6 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 -VisualStudioVersion = 16.0.28729.10 +VisualStudioVersion = 16.0.28822.285 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Modules.Cms", "OrchardCore.Modules.Cms", "{90030E85-0C4F-456F-B879-443E8A3F220D}" EndProject @@ -16,8 +16,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{75B5 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Modules", "OrchardCore.Modules", "{A066395F-6F73-45DC-B5A6-B4E306110DCE}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{D1EC1E7A-8233-4527-A79E-B6ECE9DBB469}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Hosting.Console", "src\OrchardCore\OrchardCore.Hosting.Console\OrchardCore.Hosting.Console.csproj", "{6F9A75CF-69FD-4224-8672-CA8926E13198}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.DisplayManagement", "src\OrchardCore\OrchardCore.DisplayManagement\OrchardCore.DisplayManagement.csproj", "{08D9CD53-5812-4429-B163-0ECBB268B045}" @@ -66,18 +64,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.XmlRpc.Abstract EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.MetaWeblog.Abstractions", "src\OrchardCore\OrchardCore.MetaWeblog.Abstractions\OrchardCore.MetaWeblog.Abstractions.csproj", "{94FB9ECF-BA43-49BF-96BA-D54B2D959746}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Nancy.Core", "src\OrchardCore\OrchardCore.Nancy.Core\OrchardCore.Nancy.Core.csproj", "{3BDAC7C1-2E7B-4DB6-9A48-42E60613EACE}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Mvc.Web", "src\OrchardCore.Mvc.Web\OrchardCore.Mvc.Web.csproj", "{2FDE5786-2120-478E-B638-26C4B5CDD783}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Nancy.Web", "src\OrchardCore.Nancy.Web\OrchardCore.Nancy.Web.csproj", "{7D00A0CB-2A5A-4CFB-B542-2F273BE73134}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Samples", "OrchardCore.Samples", "{B34E0A0F-C979-4612-B740-74F5D2DA36AF}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Mvc", "OrchardCore.Mvc", "{B7747485-DEB1-4CBB-8E2F-9CF9F3901DBD}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Nancy", "OrchardCore.Nancy", "{D47500E2-413F-43B3-A7B1-A0C86B77AD27}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Frameworks", "OrchardCore.Frameworks", "{04472175-8BFD-4BA6-A0E4-241F186F89CC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Cms.Web", "src\OrchardCore.Cms.Web\OrchardCore.Cms.Web.csproj", "{9D78FE2C-4179-47F6-B28A-034868280197}" @@ -162,12 +154,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TheTheme", "src\OrchardCore EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Mvc.HelloWorld", "src\OrchardCore.Modules\OrchardCore.Mvc.HelloWorld\OrchardCore.Mvc.HelloWorld.csproj", "{D5BBB6A8-9BB5-4D2C-99B4-D47D8BAD6DB2}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Nancy.HelloWorld", "src\OrchardCore.Modules\OrchardCore.Nancy.HelloWorld\OrchardCore.Nancy.HelloWorld.csproj", "{B2CD782C-18A5-433C-A779-543A434760E0}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.OpenId", "src\OrchardCore.Modules\OrchardCore.OpenId\OrchardCore.OpenId.csproj", "{A02A9CF9-5681-44BA-986D-F100D0A51495}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.ResponseCache", "src\OrchardCore.Modules\OrchardCore.ResponseCache\OrchardCore.ResponseCache.csproj", "{A4A2B921-9A08-4462-8C62-D5EDF078E72D}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.FileStorage.Abstractions", "src\OrchardCore\OrchardCore.FileStorage.Abstractions\OrchardCore.FileStorage.Abstractions.csproj", "{5D4C050F-AD08-4149-B7E6-93743D317361}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Module.Targets", "src\OrchardCore\OrchardCore.Module.Targets\OrchardCore.Module.Targets.csproj", "{74EEC630-9740-40BF-A6CF-2E0B95AA6DE1}" @@ -186,8 +174,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Application.Mvc EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Media", "src\OrchardCore.Modules\OrchardCore.Media\OrchardCore.Media.csproj", "{633CD286-9D1C-4777-86F2-A2034F1C8C9C}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Application.Nancy.Targets", "src\OrchardCore\OrchardCore.Application.Nancy.Targets\OrchardCore.Application.Nancy.Targets.csproj", "{3657478C-3BAE-4563-9C08-63A8C64A7CB6}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Targets", "Targets", "{3398AB60-2DB7-464C-B211-C4120BE75582}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Logging.NLog", "src\OrchardCore\OrchardCore.Logging.NLog\OrchardCore.Logging.NLog.csproj", "{00677E44-3048-4BAA-8F97-B577CC0EB788}" @@ -204,8 +190,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Lucene.Core", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Queries.Abstractions", "src\OrchardCore\OrchardCore.Queries.Abstractions\OrchardCore.Queries.Abstractions.csproj", "{AEB44D2A-1493-4550-8B13-EB611B1FB12C}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Diagnostics.Elm", "src\OrchardCore.Modules\OrchardCore.Diagnostics.Elm\OrchardCore.Diagnostics.Elm.csproj", "{A1B6C857-7844-433E-B28A-9A86600771A2}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Users.Abstractions", "src\OrchardCore\OrchardCore.Users.Abstractions\OrchardCore.Users.Abstractions.csproj", "{5C2FCDBA-408B-4AEB-9920-D648324A270F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Users.Core", "src\OrchardCore\OrchardCore.Users.Core\OrchardCore.Users.Core.csproj", "{1107E134-58ED-41CC-9B69-0B33AB91B8E8}" @@ -314,7 +298,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Functional", "Functional", ProjectSection(SolutionItems) = preProject test\Functional\package.json = test\Functional\package.json test\Functional\samples-mvc.test.js = test\Functional\samples-mvc.test.js - test\Functional\samples-nancy.test.js = test\Functional\samples-nancy.test.js test\Functional\setup.test.js = test\Functional\setup.test.js EndProjectSection EndProject @@ -366,6 +349,20 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Google", "src\O EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.HealthChecks", "src\OrchardCore.Modules\OrchardCore.HealthChecks\OrchardCore.HealthChecks.csproj", "{76023624-8D28-4666-9CA6-5978ACC2571D}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.ContentLocalization", "src\OrchardCore.Modules\OrchardCore.ContentLocalization\OrchardCore.ContentLocalization.csproj", "{D9C03E13-F674-4AAF-9904-5DC78AE4E0DD}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.ContentLocalization.Abstractions", "src\OrchardCore\OrchardCore.ContentLocalization.Abstractions\OrchardCore.ContentLocalization.Abstractions.csproj", "{C2EA489A-B51B-40CE-BE71-8EC9774075C6}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.GitHub", "src\OrchardCore.Modules\OrchardCore.GitHub\OrchardCore.GitHub.csproj", "{E8594DF8-5E41-4D24-B7DE-3AD0C1D035BA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Contents.Core", "src\OrchardCore\OrchardCore.Contents.Core\OrchardCore.Contents.Core.csproj", "{72B9B2A0-1166-4744-AB08-8704DD9CC8AC}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Application.Cms.Core.Targets", "src\OrchardCore\OrchardCore.Application.Cms.Core.Targets\OrchardCore.Application.Cms.Core.Targets.csproj", "{AEDB2C9D-938E-484A-8DD8-7429E2BBB2A2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCore.Media.Core", "src\OrchardCore\OrchardCore.Media.Core\OrchardCore.Media.Core\OrchardCore.Media.Core.csproj", "{8BC282D3-B7AF-495A-A5B1-D175875EB90E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCore.Benchmarks", "test\OrchardCore.Benchmarks\OrchardCore.Benchmarks.csproj", "{85610AB6-07E8-45E3-9C48-34D952CC5DD2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -468,18 +465,10 @@ Global {94FB9ECF-BA43-49BF-96BA-D54B2D959746}.Debug|Any CPU.Build.0 = Debug|Any CPU {94FB9ECF-BA43-49BF-96BA-D54B2D959746}.Release|Any CPU.ActiveCfg = Release|Any CPU {94FB9ECF-BA43-49BF-96BA-D54B2D959746}.Release|Any CPU.Build.0 = Release|Any CPU - {3BDAC7C1-2E7B-4DB6-9A48-42E60613EACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3BDAC7C1-2E7B-4DB6-9A48-42E60613EACE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3BDAC7C1-2E7B-4DB6-9A48-42E60613EACE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3BDAC7C1-2E7B-4DB6-9A48-42E60613EACE}.Release|Any CPU.Build.0 = Release|Any CPU {2FDE5786-2120-478E-B638-26C4B5CDD783}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2FDE5786-2120-478E-B638-26C4B5CDD783}.Debug|Any CPU.Build.0 = Debug|Any CPU {2FDE5786-2120-478E-B638-26C4B5CDD783}.Release|Any CPU.ActiveCfg = Release|Any CPU {2FDE5786-2120-478E-B638-26C4B5CDD783}.Release|Any CPU.Build.0 = Release|Any CPU - {7D00A0CB-2A5A-4CFB-B542-2F273BE73134}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7D00A0CB-2A5A-4CFB-B542-2F273BE73134}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7D00A0CB-2A5A-4CFB-B542-2F273BE73134}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7D00A0CB-2A5A-4CFB-B542-2F273BE73134}.Release|Any CPU.Build.0 = Release|Any CPU {9D78FE2C-4179-47F6-B28A-034868280197}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9D78FE2C-4179-47F6-B28A-034868280197}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D78FE2C-4179-47F6-B28A-034868280197}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -644,18 +633,10 @@ Global {D5BBB6A8-9BB5-4D2C-99B4-D47D8BAD6DB2}.Debug|Any CPU.Build.0 = Debug|Any CPU {D5BBB6A8-9BB5-4D2C-99B4-D47D8BAD6DB2}.Release|Any CPU.ActiveCfg = Release|Any CPU {D5BBB6A8-9BB5-4D2C-99B4-D47D8BAD6DB2}.Release|Any CPU.Build.0 = Release|Any CPU - {B2CD782C-18A5-433C-A779-543A434760E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B2CD782C-18A5-433C-A779-543A434760E0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B2CD782C-18A5-433C-A779-543A434760E0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B2CD782C-18A5-433C-A779-543A434760E0}.Release|Any CPU.Build.0 = Release|Any CPU {A02A9CF9-5681-44BA-986D-F100D0A51495}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A02A9CF9-5681-44BA-986D-F100D0A51495}.Debug|Any CPU.Build.0 = Debug|Any CPU {A02A9CF9-5681-44BA-986D-F100D0A51495}.Release|Any CPU.ActiveCfg = Release|Any CPU {A02A9CF9-5681-44BA-986D-F100D0A51495}.Release|Any CPU.Build.0 = Release|Any CPU - {A4A2B921-9A08-4462-8C62-D5EDF078E72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A4A2B921-9A08-4462-8C62-D5EDF078E72D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A4A2B921-9A08-4462-8C62-D5EDF078E72D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A4A2B921-9A08-4462-8C62-D5EDF078E72D}.Release|Any CPU.Build.0 = Release|Any CPU {5D4C050F-AD08-4149-B7E6-93743D317361}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5D4C050F-AD08-4149-B7E6-93743D317361}.Debug|Any CPU.Build.0 = Debug|Any CPU {5D4C050F-AD08-4149-B7E6-93743D317361}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -692,10 +673,6 @@ Global {633CD286-9D1C-4777-86F2-A2034F1C8C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU {633CD286-9D1C-4777-86F2-A2034F1C8C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU {633CD286-9D1C-4777-86F2-A2034F1C8C9C}.Release|Any CPU.Build.0 = Release|Any CPU - {3657478C-3BAE-4563-9C08-63A8C64A7CB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3657478C-3BAE-4563-9C08-63A8C64A7CB6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3657478C-3BAE-4563-9C08-63A8C64A7CB6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3657478C-3BAE-4563-9C08-63A8C64A7CB6}.Release|Any CPU.Build.0 = Release|Any CPU {00677E44-3048-4BAA-8F97-B577CC0EB788}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {00677E44-3048-4BAA-8F97-B577CC0EB788}.Debug|Any CPU.Build.0 = Debug|Any CPU {00677E44-3048-4BAA-8F97-B577CC0EB788}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -724,10 +701,6 @@ Global {AEB44D2A-1493-4550-8B13-EB611B1FB12C}.Debug|Any CPU.Build.0 = Debug|Any CPU {AEB44D2A-1493-4550-8B13-EB611B1FB12C}.Release|Any CPU.ActiveCfg = Release|Any CPU {AEB44D2A-1493-4550-8B13-EB611B1FB12C}.Release|Any CPU.Build.0 = Release|Any CPU - {A1B6C857-7844-433E-B28A-9A86600771A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A1B6C857-7844-433E-B28A-9A86600771A2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A1B6C857-7844-433E-B28A-9A86600771A2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A1B6C857-7844-433E-B28A-9A86600771A2}.Release|Any CPU.Build.0 = Release|Any CPU {5C2FCDBA-408B-4AEB-9920-D648324A270F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5C2FCDBA-408B-4AEB-9920-D648324A270F}.Debug|Any CPU.Build.0 = Debug|Any CPU {5C2FCDBA-408B-4AEB-9920-D648324A270F}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -972,6 +945,34 @@ Global {76023624-8D28-4666-9CA6-5978ACC2571D}.Debug|Any CPU.Build.0 = Debug|Any CPU {76023624-8D28-4666-9CA6-5978ACC2571D}.Release|Any CPU.ActiveCfg = Release|Any CPU {76023624-8D28-4666-9CA6-5978ACC2571D}.Release|Any CPU.Build.0 = Release|Any CPU + {D9C03E13-F674-4AAF-9904-5DC78AE4E0DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9C03E13-F674-4AAF-9904-5DC78AE4E0DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9C03E13-F674-4AAF-9904-5DC78AE4E0DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9C03E13-F674-4AAF-9904-5DC78AE4E0DD}.Release|Any CPU.Build.0 = Release|Any CPU + {C2EA489A-B51B-40CE-BE71-8EC9774075C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C2EA489A-B51B-40CE-BE71-8EC9774075C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C2EA489A-B51B-40CE-BE71-8EC9774075C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C2EA489A-B51B-40CE-BE71-8EC9774075C6}.Release|Any CPU.Build.0 = Release|Any CPU + {E8594DF8-5E41-4D24-B7DE-3AD0C1D035BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E8594DF8-5E41-4D24-B7DE-3AD0C1D035BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E8594DF8-5E41-4D24-B7DE-3AD0C1D035BA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E8594DF8-5E41-4D24-B7DE-3AD0C1D035BA}.Release|Any CPU.Build.0 = Release|Any CPU + {72B9B2A0-1166-4744-AB08-8704DD9CC8AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {72B9B2A0-1166-4744-AB08-8704DD9CC8AC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {72B9B2A0-1166-4744-AB08-8704DD9CC8AC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {72B9B2A0-1166-4744-AB08-8704DD9CC8AC}.Release|Any CPU.Build.0 = Release|Any CPU + {AEDB2C9D-938E-484A-8DD8-7429E2BBB2A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AEDB2C9D-938E-484A-8DD8-7429E2BBB2A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AEDB2C9D-938E-484A-8DD8-7429E2BBB2A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AEDB2C9D-938E-484A-8DD8-7429E2BBB2A2}.Release|Any CPU.Build.0 = Release|Any CPU + {8BC282D3-B7AF-495A-A5B1-D175875EB90E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8BC282D3-B7AF-495A-A5B1-D175875EB90E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8BC282D3-B7AF-495A-A5B1-D175875EB90E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8BC282D3-B7AF-495A-A5B1-D175875EB90E}.Release|Any CPU.Build.0 = Release|Any CPU + {85610AB6-07E8-45E3-9C48-34D952CC5DD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {85610AB6-07E8-45E3-9C48-34D952CC5DD2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {85610AB6-07E8-45E3-9C48-34D952CC5DD2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {85610AB6-07E8-45E3-9C48-34D952CC5DD2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -982,7 +983,6 @@ Global {AF3BADEA-CC93-4116-B3C1-F8D074EBEE4F} = {275E087F-A4E2-4A7B-A924-ED68E3A52086} {75B5432E-7851-4FCB-BC87-20ABEEDDBE19} = {B7747485-DEB1-4CBB-8E2F-9CF9F3901DBD} {A066395F-6F73-45DC-B5A6-B4E306110DCE} = {275E087F-A4E2-4A7B-A924-ED68E3A52086} - {D1EC1E7A-8233-4527-A79E-B6ECE9DBB469} = {D47500E2-413F-43B3-A7B1-A0C86B77AD27} {6F9A75CF-69FD-4224-8672-CA8926E13198} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {08D9CD53-5812-4429-B163-0ECBB268B045} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {D665DADA-2F39-4EF7-BA71-BC34AED06CBF} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} @@ -1007,12 +1007,9 @@ Global {9E4E6CCB-7E1C-45CA-A4BB-43D8102DF086} = {04472175-8BFD-4BA6-A0E4-241F186F89CC} {ECB391BC-F0C7-4775-A585-2781A40ABF5F} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {94FB9ECF-BA43-49BF-96BA-D54B2D959746} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} - {3BDAC7C1-2E7B-4DB6-9A48-42E60613EACE} = {04472175-8BFD-4BA6-A0E4-241F186F89CC} {2FDE5786-2120-478E-B638-26C4B5CDD783} = {B7747485-DEB1-4CBB-8E2F-9CF9F3901DBD} - {7D00A0CB-2A5A-4CFB-B542-2F273BE73134} = {D47500E2-413F-43B3-A7B1-A0C86B77AD27} {B34E0A0F-C979-4612-B740-74F5D2DA36AF} = {275E087F-A4E2-4A7B-A924-ED68E3A52086} {B7747485-DEB1-4CBB-8E2F-9CF9F3901DBD} = {B34E0A0F-C979-4612-B740-74F5D2DA36AF} - {D47500E2-413F-43B3-A7B1-A0C86B77AD27} = {B34E0A0F-C979-4612-B740-74F5D2DA36AF} {04472175-8BFD-4BA6-A0E4-241F186F89CC} = {275E087F-A4E2-4A7B-A924-ED68E3A52086} {9D78FE2C-4179-47F6-B28A-034868280197} = {275E087F-A4E2-4A7B-A924-ED68E3A52086} {2FE86E75-3007-4BCC-9FFD-B3D1FF06CA89} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} @@ -1055,9 +1052,7 @@ Global {F4BB81BD-DAAB-47A8-A4FC-1958C3191DD0} = {AF3BADEA-CC93-4116-B3C1-F8D074EBEE4F} {964ABC5F-41DC-407D-8C33-E1AD71959A73} = {AF3BADEA-CC93-4116-B3C1-F8D074EBEE4F} {D5BBB6A8-9BB5-4D2C-99B4-D47D8BAD6DB2} = {75B5432E-7851-4FCB-BC87-20ABEEDDBE19} - {B2CD782C-18A5-433C-A779-543A434760E0} = {D1EC1E7A-8233-4527-A79E-B6ECE9DBB469} {A02A9CF9-5681-44BA-986D-F100D0A51495} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} - {A4A2B921-9A08-4462-8C62-D5EDF078E72D} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} {5D4C050F-AD08-4149-B7E6-93743D317361} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {74EEC630-9740-40BF-A6CF-2E0B95AA6DE1} = {3398AB60-2DB7-464C-B211-C4120BE75582} {B908AEFE-C4D7-4B2A-96EB-3D30E81F67ED} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} @@ -1067,7 +1062,6 @@ Global {F01DF8DA-5AA5-420D-BEF4-4714AA1A3F59} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {3A7AD5EC-D3E4-4C3F-B192-25804BB53C8E} = {3398AB60-2DB7-464C-B211-C4120BE75582} {633CD286-9D1C-4777-86F2-A2034F1C8C9C} = {90030E85-0C4F-456F-B879-443E8A3F220D} - {3657478C-3BAE-4563-9C08-63A8C64A7CB6} = {3398AB60-2DB7-464C-B211-C4120BE75582} {3398AB60-2DB7-464C-B211-C4120BE75582} = {275E087F-A4E2-4A7B-A924-ED68E3A52086} {00677E44-3048-4BAA-8F97-B577CC0EB788} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {4FC00B36-DF0A-400F-8E1A-E700B5D58F98} = {90030E85-0C4F-456F-B879-443E8A3F220D} @@ -1076,7 +1070,6 @@ Global {F8973BF9-4F56-4A59-9153-72BEDB6AB269} = {90030E85-0C4F-456F-B879-443E8A3F220D} {F621B369-15FD-4923-98AD-17740C24CD5C} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {AEB44D2A-1493-4550-8B13-EB611B1FB12C} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} - {A1B6C857-7844-433E-B28A-9A86600771A2} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} {5C2FCDBA-408B-4AEB-9920-D648324A270F} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {1107E134-58ED-41CC-9B69-0B33AB91B8E8} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} {AE8C2F86-C50F-4493-9BC2-6930D34E5E98} = {90030E85-0C4F-456F-B879-443E8A3F220D} @@ -1144,6 +1137,13 @@ Global {C6EEBB52-183F-418F-A5C0-458D146C10A2} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} {E7CB5F02-2E90-4ADD-A851-1C49CDA184D6} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} {76023624-8D28-4666-9CA6-5978ACC2571D} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} + {D9C03E13-F674-4AAF-9904-5DC78AE4E0DD} = {90030E85-0C4F-456F-B879-443E8A3F220D} + {C2EA489A-B51B-40CE-BE71-8EC9774075C6} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} + {E8594DF8-5E41-4D24-B7DE-3AD0C1D035BA} = {A066395F-6F73-45DC-B5A6-B4E306110DCE} + {72B9B2A0-1166-4744-AB08-8704DD9CC8AC} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} + {AEDB2C9D-938E-484A-8DD8-7429E2BBB2A2} = {3398AB60-2DB7-464C-B211-C4120BE75582} + {8BC282D3-B7AF-495A-A5B1-D175875EB90E} = {F23AC6C2-DE44-4699-999D-3C478EF3D691} + {85610AB6-07E8-45E3-9C48-34D952CC5DD2} = {B8D16C60-99B4-43D5-A3AD-4CD89AF39B25} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {46A1D25A-78D1-4476-9CBF-25B75E296341} diff --git a/README.md b/README.md index 14276098f5d..7dc4aca323d 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,9 @@ Nightly (dev): ## Status -### Beta +### RC 1 -The software is complete enough for external testing -- that is, by groups outside the organization or community that developed the software. Beta software is usually feature complete, but may have known limitations or bugs. Betas are either closed (private) and limited to a specific set of users, or they can be open to the general public. +The software is almost ready for final release. No feature development or enhancement of the software is undertaken; tightly scoped bug fixes are the only code you're allowed to write in this phase, and even then only for the most heinous and debilitating of bugs. Here is a more detailed [roadmap](https://github.com/OrchardCMS/OrchardCore/wiki/Roadmap). @@ -44,9 +44,9 @@ Here is a more detailed [roadmap](https://github.com/OrchardCMS/OrchardCore/wiki - Call `dotnet run`. - Then open the `http://localhost:5000` URL in your browser. -### Visual Studio 2017 +### Visual Studio -- Download Visual Studio 2017 (any edition) from https://www.visualstudio.com/downloads/ +- Download Visual Studio 2017 or 2019 (any edition) from https://www.visualstudio.com/downloads/ - Open `OrchardCore.sln` and wait for Visual Studio to restore all Nuget packages - Ensure `OrchardCore.Cms.Web` is the startup project and run it @@ -56,10 +56,6 @@ Here is a more detailed [roadmap](https://github.com/OrchardCMS/OrchardCore/wiki Docker images and parameters can be found at https://hub.docker.com/u/orchardproject/ -### Contributing - -We currently follow these [engineering guidelines](https://github.com/OrchardCMS/OrchardCore/wiki/Engineering-Guidelines). - ### Documentation The documentation can be accessed here: [https://orchardcore.readthedocs.io/en/dev/](https://orchardcore.readthedocs.io/en/dev/) diff --git a/appveyor.yml b/appveyor.yml index ffeddced8b6..a89f29a16f0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -40,8 +40,8 @@ install: - ps: $IsMasterBranch = ($env:APPVEYOR_REPO_BRANCH -eq "master" -And -not $env:APPVEYOR_PULL_REQUEST_NUMBER) - ps: $IsDevBranch = ($env:APPVEYOR_REPO_BRANCH -eq "dev" -And -not $env:APPVEYOR_PULL_REQUEST_NUMBER) # Uncomment to download a specific version of dotnet -# - ps: Invoke-WebRequest "https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1" -OutFile "dotnet-install.ps1" -# - ps: .\dotnet-install.ps1 --Version 2.2.100-preview3-009430 + - ps: Invoke-WebRequest "https://raw.githubusercontent.com/dotnet/cli/master/scripts/obtain/dotnet-install.ps1" -OutFile "dotnet-install.ps1" + - ps: .\dotnet-install.ps1 --Version 3.0.100 build_script: - dotnet build -c Release @@ -92,7 +92,7 @@ after_deploy: Get-ChildItem -path ".\App_Data\" | Remove-Item -Recurse -Confirm:$false -Force dotnet publish -c Release --no-build -o $env:APPVEYOR_BUILD_FOLDER\.build\release cd $env:APPVEYOR_BUILD_FOLDER - docker build -t orchardproject/orchardcore-cms-windows:latest -t orchardproject/orchardcore-cms-windows:1.0.0-beta3 . + docker build -t orchardproject/orchardcore-cms-windows:latest -t orchardproject/orchardcore-cms-windows:1.0.0-rc1 . echo "$env:DOCKER_PASS" | docker login -u="$env:DOCKER_USER" --password-stdin docker push orchardproject/orchardcore-cms-windows } diff --git a/gulpfile.js b/gulpfile.js index 2630d80fa65..adf21dff8f7 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -19,6 +19,8 @@ var fs = require("file-system"), header = require("gulp-header"), eol = require("gulp-eol"); util = require('gulp-util'); + postcss = require('gulp-postcss'); + rtl = require('postcss-rtl'); // For compat with older versions of Node.js. require("es6-promise").polyfill(); @@ -159,6 +161,7 @@ function buildCssPipeline(assetGroup, doConcat, doRebuild) { throw "Input file '" + inputPath + "' is not of a valid type for output file '" + assetGroup.outputPath + "'."; }); var generateSourceMaps = assetGroup.hasOwnProperty("generateSourceMaps") ? assetGroup.generateSourceMaps : true; + var generateRTL = assetGroup.hasOwnProperty("generateRTL") ? assetGroup.generateRTL : false; var containsLessOrScss = assetGroup.inputPaths.some(function (inputPath) { var ext = path.extname(inputPath).toLowerCase(); return ext === ".less" || ext === ".scss"; @@ -182,6 +185,7 @@ function buildCssPipeline(assetGroup, doConcat, doRebuild) { }))) .pipe(gulpif(doConcat, concat(assetGroup.outputFileName))) + .pipe(gulpif(generateRTL, postcss([rtl()]))) .pipe(cssnano({ autoprefixer: { browsers: ["last 2 versions"] }, discardComments: { removeAll: true }, @@ -194,7 +198,7 @@ function buildCssPipeline(assetGroup, doConcat, doRebuild) { suffix: ".min" })) .pipe(eol()) - .pipe(gulp.dest(assetGroup.outputDir)) + .pipe(gulp.dest(assetGroup.outputDir)); // Uncomment to copy assets to wwwroot //.pipe(gulp.dest(assetGroup.webroot)); var devStream = gulp.src(assetGroup.inputPaths) // Non-minified output, with source mapping @@ -217,9 +221,10 @@ function buildCssPipeline(assetGroup, doConcat, doRebuild) { "** NOTE: This file is generated by Gulp and should not be edited directly!\n" + "** Any changes made directly to this file will be overwritten next time its asset group is processed by Gulp.\n" + "*/\n\n")) + .pipe(gulpif(generateRTL, postcss([rtl()]))) .pipe(gulpif(generateSourceMaps, sourcemaps.write())) .pipe(eol()) - .pipe(gulp.dest(assetGroup.outputDir)) + .pipe(gulp.dest(assetGroup.outputDir)); // Uncomment to copy assets to wwwroot //.pipe(gulp.dest(assetGroup.webroot)); return merge([minifiedStream, devStream]); diff --git a/mkdocs.yml b/mkdocs.yml index 2e5b9b371e3..c60b4cb11d3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -48,6 +48,7 @@ nav: - Html: OrchardCore.Modules/OrchardCore.Html/README.md - Contents: OrchardCore.Modules/OrchardCore.Contents/README.md - Content Fields: OrchardCore.Modules/OrchardCore.ContentFields/README.md + - Content Localization: OrchardCore.Modules/OrchardCore.ContentLocalization/README.md - Content Preview: OrchardCore.Modules/OrchardCore.ContentPreview/README.md - Content Types: OrchardCore.Modules/OrchardCore.ContentTypes/README.md - Lists: OrchardCore.Modules/OrchardCore.Lists/README.md @@ -68,10 +69,12 @@ nav: - Forms: OrchardCore.Modules/OrchardCore.Forms/README.md - Admin Menu: OrchardCore.Modules/OrchardCore.AdminMenu/README.md - Core Modules: + - Configuration: OrchardCore/OrchardCore/Environment/Shell/README.md - Data: OrchardCore/OrchardCore.Data/README.md - Dynamic Cache: OrchardCore.Modules/OrchardCore.DynamicCache/README.md - GraphQL: OrchardCore.Modules/OrchardCore.Apis.GraphQL/README.md - - GraphQL queries: OrchardCore/OrchardCore.Apis.GraphQL.Abstractions/README.md + - GraphQL queries: OrchardCore/OrchardCore.Apis.GraphQL.Abstractions/README.md + - Health Check: OrchardCore.Modules/OrchardCore.HealthChecks/README.md - Localization: OrchardCore.Modules/OrchardCore.Localization/README.md - Logging Serilog: OrchardCore/OrchardCore.Logging.Serilog/readme.md - OpenId: OrchardCore.Modules/OrchardCore.OpenId/README.md @@ -88,4 +91,5 @@ nav: - Microsoft: OrchardCore.Modules/OrchardCore.Microsoft.Authentication/README.md - Facebook: OrchardCore.Modules/OrchardCore.Facebook/README.md - Twitter: OrchardCore.Modules/OrchardCore.Twitter/README.md + - GitHub: OrchardCore.Modules/OrchardCore.GitHub/README.md - Google: OrchardCore.Modules/OrchardCore.Google/README.md diff --git a/package-lock.json b/package-lock.json index cd7303e153a..4a8794d84e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,19 +33,10 @@ "through2": "^2.0.3" } }, - "@types/bootstrap": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-4.1.3.tgz", - "integrity": "sha512-4RCCokC8cNHrimMN06HX97lhwhPR7ZTVYXVItj/ZWfr3Sb96q/qgOV9th1irONxZR7KunG2uRyJ+ESQzHI+hAA==", - "requires": { - "@types/jquery": "*", - "popper.js": "^1.14.1" - } - }, "@types/jquery": { - "version": "3.3.27", - "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.27.tgz", - "integrity": "sha512-t0ONpsFoH6yXqsdB+OlL1YxckfoGrok9lqxni6aD40QPPMahe6t7knB4SxCh0Bk9Yvc20OfZzxRU9ccQZcBZGQ==", + "version": "3.3.31", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.31.tgz", + "integrity": "sha512-Lz4BAJihoFw5nRzKvg4nawXPzutkv7wmfQ5121avptaSIXlDNJCUuxZxX/G+9EVidZGuO0UBlk+YjKbwRKJigg==", "requires": { "@types/sizzle": "*" } @@ -367,7 +358,9 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true, + "optional": true }, "asn1": { "version": "0.2.4", @@ -403,9 +396,9 @@ } }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true }, "async-foreach": { @@ -554,9 +547,9 @@ "dev": true }, "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true }, "block-stream": { @@ -569,14 +562,9 @@ } }, "bootstrap": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.3.tgz", - "integrity": "sha512-rDFIzgXcof0jDyjNosjv4Sno77X4KuPeFxG2XZZv1/Kc8DRVGVADdoQyyOVDwPqL36DDmtCQbrpMCqvpPLJQ0w==" - }, - "bootstrap-scss": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/bootstrap-scss/-/bootstrap-scss-4.1.3.tgz", - "integrity": "sha512-WZndnzDpxSvMBu+tGUNpo9PkDfsSMoixmc3L9Jlebl5stwGjv5VP6Y6RLo+hCwADmplio+8hTac5b/G3Id428Q==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==" }, "bootstrap-slider": { "version": "10.4.1", @@ -643,12 +631,6 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -746,24 +728,31 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", + "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", "dev": true, "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + } } }, "clap": { @@ -866,15 +855,6 @@ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.42.0.tgz", "integrity": "sha512-pbApC8zDzItP3HRphD6kQVwS976qB5Qi0hU3MZMixLk+AyugOW1RF+8XJEjeyl5yWsHNe88tDUxzeRh5AOxPRw==" }, - "codemirror-graphql": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.7.1.tgz", - "integrity": "sha512-HtHXMJAn6iGJYpijkzi3IlqWIdGrB6V0RqJ607yffJTCKk/OgaNtdLOb8hZJyEtHfkw7PZDaKybMAVCi6ScWSQ==", - "requires": { - "graphql-language-service-interface": "^1.3.2", - "graphql-language-service-parser": "^1.2.2" - } - }, "collection-map": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", @@ -972,15 +952,15 @@ } }, "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", "dev": true }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", "dev": true }, "concat-map": { @@ -1048,25 +1028,34 @@ "is-plain-object": "^2.0.1" } }, - "core-js": { - "version": "1.2.7", - "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "create-react-class": { - "version": "15.6.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", - "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", + "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "dev": true, "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0", + "require-from-string": "^2.0.1" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } } }, "cross-fetch": { @@ -1366,7 +1355,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -1378,7 +1367,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true } @@ -1422,14 +1411,6 @@ "integrity": "sha512-wOWwM4vQpmb97VNkExnwE5e/sUMUb7NXurlEnhE89JOarUp6FOOMKjtTGgj9bmqskZkeRA7u+p0IztJ/y2OP5Q==", "dev": true }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" - } - }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -1464,14 +1445,14 @@ } }, "es5-ext": { - "version": "0.10.46", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", - "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", + "version": "0.10.50", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", + "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", "dev": true, "requires": { "es6-iterator": "~2.0.3", "es6-symbol": "~3.1.1", - "next-tick": "1" + "next-tick": "^1.0.0" } }, "es6-iterator": { @@ -1486,9 +1467,9 @@ } }, "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", "dev": true }, "es6-symbol": { @@ -1700,20 +1681,6 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, "file-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/file-match/-/file-match-1.0.2.tgz", @@ -1766,33 +1733,46 @@ "pinkie-promise": "^2.0.0" } }, + "findup": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/findup/-/findup-0.1.5.tgz", + "integrity": "sha1-itkpozk7rGJ5V6fl3kYjsGsOLOs=", + "dev": true, + "requires": { + "colors": "~0.6.0-1", + "commander": "~2.1.0" + }, + "dependencies": { + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "commander": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz", + "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", + "dev": true + } + } + }, "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", "dev": true, "requires": { "detect-file": "^1.0.0", - "is-glob": "^3.1.0", + "is-glob": "^4.0.0", "micromatch": "^3.0.4", "resolve-dir": "^1.0.1" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } } }, "fined": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.1.tgz", - "integrity": "sha512-jQp949ZmEbiYHk3gkbdtpJ0G1+kgtLQBNdP5edFP7Fh+WAYceLQz6yO1SBj72Xkg8GVyTB3bBzAYrHJVh5Xd5g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", "dev": true, "requires": { "expand-tilde": "^2.0.2", @@ -1815,13 +1795,13 @@ "dev": true }, "flush-write-stream": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", - "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, "for-in": { @@ -1888,14 +1868,14 @@ "dev": true }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { @@ -1907,7 +1887,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -1916,7 +1897,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "dev": true, "optional": true, @@ -1928,19 +1909,21 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "chownr": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "dev": true, "optional": true @@ -1948,17 +1931,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -1967,16 +1953,16 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "4.1.1", "bundled": true, "dev": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "dev": true, "optional": true @@ -2025,7 +2011,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.3", "bundled": true, "dev": true, "optional": true, @@ -2045,12 +2031,12 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { @@ -2075,7 +2061,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -2087,6 +2074,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -2101,6 +2089,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -2108,19 +2097,21 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { - "version": "2.2.4", + "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.2.1", "bundled": true, "dev": true, "optional": true, @@ -2132,40 +2123,41 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.3.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.12.0", "bundled": true, "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" @@ -2182,13 +2174,13 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.0.6", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.4.1", "bundled": true, "dev": true, "optional": true, @@ -2212,7 +2204,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -2224,6 +2217,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -2263,12 +2257,12 @@ "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -2298,18 +2292,19 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.6.3", "bundled": true, "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -2324,7 +2319,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.7.0", "bundled": true, "dev": true, "optional": true @@ -2345,6 +2340,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -2364,6 +2360,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -2375,17 +2372,17 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.8", "bundled": true, "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.2" } }, @@ -2396,30 +2393,32 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { - "version": "3.0.2", + "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -2493,9 +2492,9 @@ } }, "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -2609,30 +2608,17 @@ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", "dev": true }, - "graphiql": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-0.12.0.tgz", - "integrity": "sha512-OM5dpcONLK1B2prez2WVTfohQlQKe4Fwv1YwNQYQhN+fFGEW87D5v5fN2M8ZebzxbZHqP12KkHicO3sv8k30TQ==", - "requires": { - "codemirror": "^5.26.0", - "codemirror-graphql": "^0.7.1", - "markdown-it": "^8.4.0" - } - }, - "graphql": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.12.0.tgz", - "integrity": "sha512-ZxOV6ilO1yWntO1K7mFBFjRtj9KJvaxN9D2Ig/KfOlhz4yP/4uQDrbL4wU1fAKuxym8aYmFXRU0lVcoWq3sYaQ==", - "requires": { - "iterall": "1.1.3" - } + "graphiql-explorer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/graphiql-explorer/-/graphiql-explorer-0.4.3.tgz", + "integrity": "sha512-8WST2MfVPesgspCDYOucZHhWjeL0du8GB/vy2o44qrI/Y0iLaZ9BwCVw6jEz658S8AgxcAkKBl1jPCkMRxsdsQ==" }, "graphql-config": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz", - "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.2.1.tgz", + "integrity": "sha512-U8+1IAhw9m6WkZRRcyj8ZarK96R6lQBQ0an4lp76Ps9FyhOXENC5YQOxOFGm5CxPrX2rD0g3Je4zG5xdNJjwzQ==", "requires": { - "graphql-import": "^0.4.4", + "graphql-import": "^0.7.1", "graphql-request": "^1.5.0", "js-yaml": "^3.10.0", "lodash": "^4.17.4", @@ -2640,48 +2626,36 @@ } }, "graphql-import": { - "version": "0.4.5", - "resolved": "http://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz", - "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==", - "requires": { - "lodash": "^4.17.4" - } - }, - "graphql-language-service-interface": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-1.3.2.tgz", - "integrity": "sha512-sOxFV5sBSnYtKIFHtlmAHHVdhok7CRbvCPLcuHvL4Q1RSgKRsPpeHUDKU+yCbmlonOKn/RWEKaYWrUY0Sgv70A==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.7.1.tgz", + "integrity": "sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==", "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-parser": "^1.2.2", - "graphql-language-service-types": "^1.2.2", - "graphql-language-service-utils": "^1.2.2" + "lodash": "^4.17.4", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + } } }, "graphql-language-service-parser": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-1.2.2.tgz", - "integrity": "sha512-38zMqJibNKeQe3GheyJtBENoXMp+qc29smiiRQtHLZcwnQfsYtu6reJZKxxwzU7XOVh3SedNH15Gf3LjWJVkiQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-1.3.0.tgz", + "integrity": "sha512-IVW5EQts6CCm6G1pJzyOSNGv28Ia1afyx7gGIhDQkbXbNmShbNOneUWyURbawX9fL2A1AGhdA80fuCSLO8Jb9Q==", "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-types": "^1.2.2" + "graphql-config": "2.2.1", + "graphql-language-service-types": "^1.3.0" } }, "graphql-language-service-types": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.2.2.tgz", - "integrity": "sha512-WEAYYCP4jSzbz/Mw0Klc7HHMgtUHLgtaPMV6zyMMmvefCg/yBUkv7wREXKmqF1k1u9+f5ZX3dki0BMaXiwmJug==", - "requires": { - "graphql-config": "2.0.1" - } - }, - "graphql-language-service-utils": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-utils/-/graphql-language-service-utils-1.2.2.tgz", - "integrity": "sha512-98hzn1Dg3sSAiB+TuvNwWAoBrzuHs8NylkTK26TFyBjozM5wBZttp+T08OvOt+9hCFYRa43yRPrWcrs78KH9Hw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.3.0.tgz", + "integrity": "sha512-agVSOtvr1qKgURsNONI7pY6xRshVTTxhBSUZvyNDFKYma1P/uWK9xVuPyU4zMuXeugaWNGysWAf4VgP8SnawxA==", "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-types": "^1.2.2" + "graphql-config": "2.2.1" } }, "graphql-request": { @@ -2693,21 +2667,21 @@ } }, "gulp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.0.tgz", - "integrity": "sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", "dev": true, "requires": { - "glob-watcher": "^5.0.0", - "gulp-cli": "^2.0.0", - "undertaker": "^1.0.0", + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", "vinyl-fs": "^3.0.0" } }, "gulp-cli": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.0.1.tgz", - "integrity": "sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.2.0.tgz", + "integrity": "sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA==", "dev": true, "requires": { "ansi-colors": "^1.0.1", @@ -2720,7 +2694,7 @@ "gulplog": "^1.0.0", "interpret": "^1.1.0", "isobject": "^3.0.1", - "liftoff": "^2.5.0", + "liftoff": "^3.1.0", "matchdep": "^2.0.0", "mute-stdout": "^1.0.0", "pretty-hrtime": "^1.0.0", @@ -2841,7 +2815,7 @@ }, "string_decoder": { "version": "0.10.31", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, @@ -2867,26 +2841,37 @@ } }, "gulp-header": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-2.0.7.tgz", - "integrity": "sha512-qppGkYGQZnt/mRJiiR5wYZIUwNUn47Xpg4+6tHYDVeAW5IDLbHBQwbw7axfMLWGE+gKQpB+yXLeslHMw1/Haog==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-2.0.9.tgz", + "integrity": "sha512-LMGiBx+qH8giwrOuuZXSGvswcIUh0OiioNkUpLhNyvaC6/Ga8X6cfAeme2L5PqsbXMhL8o8b/OmVqIQdxprhcQ==", "dev": true, "requires": { "concat-with-sourcemaps": "^1.1.0", - "lodash.template": "^4.4.0", + "lodash.template": "^4.5.0", "map-stream": "0.0.7", "through2": "^2.0.0" } }, "gulp-if": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz", - "integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-3.0.0.tgz", + "integrity": "sha512-fCUEngzNiEZEK2YuPm+sdMpO6ukb8+/qzbGfJBXyNOXz85bCG7yBI+pPSl+N90d7gnLvMsarthsAImx0qy7BAw==", "dev": true, "requires": { - "gulp-match": "^1.0.3", - "ternary-stream": "^2.0.1", - "through2": "^2.0.1" + "gulp-match": "^1.1.0", + "ternary-stream": "^3.0.0", + "through2": "^3.0.1" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } } }, "gulp-less": { @@ -2957,9 +2942,9 @@ } }, "gulp-match": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.0.3.tgz", - "integrity": "sha1-kcfA1/Kb7NZgbVfYCn+Hdqh6uo4=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", + "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", "dev": true, "requires": { "minimatch": "^3.0.3" @@ -3092,16 +3077,102 @@ } } }, - "gulp-print": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gulp-print/-/gulp-print-5.0.0.tgz", - "integrity": "sha512-i06wVFsGmWdmwrFft/ioNIgXnCvUa+Q4pfgoTCWoLjz95vsfjDy3UmOx1PegHje930fkhopc+5NSJAHbhNXI+g==", + "gulp-postcss": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-8.0.0.tgz", + "integrity": "sha512-Wtl6vH7a+8IS/fU5W9IbOpcaLqKxd5L1DUOzaPmlnCbX1CrG0aWdwVnC3Spn8th0m8D59YbysV5zPUe1n/GJYg==", "dev": true, "requires": { - "ansi-colors": "^1.0.1", "fancy-log": "^1.3.2", + "plugin-error": "^1.0.1", + "postcss": "^7.0.2", + "postcss-load-config": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", + "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "gulp-print": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/gulp-print/-/gulp-print-5.0.2.tgz", + "integrity": "sha512-iIpHMzC/b3gFvVXOfP9Jk94SWGIsDLVNUrxULRleQev+08ug07mh84b1AOlW6QDQdmInQiqDFqJN1UvhU2nXdg==", + "dev": true, + "requires": { + "ansi-colors": "^3.2.4", + "fancy-log": "^1.3.3", "map-stream": "0.0.7", - "vinyl": "^2.1.0" + "vinyl": "^2.2.0" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + } } }, "gulp-rename": { @@ -3179,9 +3250,9 @@ } }, "gulp-sourcemaps": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz", - "integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=", + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz", + "integrity": "sha512-SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==", "dev": true, "requires": { "@gulp-sourcemaps/identity-map": "1.X", @@ -3206,98 +3277,62 @@ } }, "gulp-terser": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/gulp-terser/-/gulp-terser-1.1.6.tgz", - "integrity": "sha512-L+PgqJdj5fcn9BQIcpkHpz23lC/grr2JlOEj5Oegb/HasSASWrtDqML8yW6hwAr8DLv70u+HfeQe+vhVqCrOWw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gulp-terser/-/gulp-terser-1.2.0.tgz", + "integrity": "sha512-lf+jE2DALg2w32p0HRiYMlFYRYelKZPNunHp2pZccCYrrdCLOs0ItbZcN63yr2pbz116IyhUG9mD/QbtRO1FKA==", "dev": true, "requires": { "plugin-error": "^1.0.1", - "terser": "^3.11.0", - "through2": "^3.0.0", + "terser": "^4.0.0", + "through2": "^3.0.1", "vinyl-sourcemaps-apply": "^0.2.1" }, "dependencies": { "through2": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.0.tgz", - "integrity": "sha512-8B+sevlqP4OiCjonI1Zw03Sf8PuV1eRsYQgLad5eonILOdyeRsY27A/2Ze8IlvlMvq31OH+3fz/styI7Ya62yQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { - "readable-stream": "2 || 3", - "xtend": "~4.0.1" + "readable-stream": "2 || 3" } } } }, "gulp-typescript": { - "version": "4.0.2", - "resolved": "http://registry.npmjs.org/gulp-typescript/-/gulp-typescript-4.0.2.tgz", - "integrity": "sha512-Hhbn5Aa2l3T+tnn0KqsG6RRJmcYEsr3byTL2nBpNBeAK8pqug9Od4AwddU4JEI+hRw7mzZyjRbB8DDWR6paGVA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.1.tgz", + "integrity": "sha512-YuMMlylyJtUSHG1/wuSVTrZp60k1dMEFKYOvDf7OvbAJWrDtxxD4oZon4ancdWwzjj30ztiidhe4VXJniF0pIQ==", "dev": true, "requires": { - "ansi-colors": "^1.0.1", - "plugin-error": "^0.1.2", - "source-map": "^0.6.1", - "through2": "^2.0.3", + "ansi-colors": "^3.0.5", + "plugin-error": "^1.0.1", + "source-map": "^0.7.3", + "through2": "^3.0.0", "vinyl": "^2.1.0", - "vinyl-fs": "^3.0.0" + "vinyl-fs": "^3.0.3" }, "dependencies": { - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - } - }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", "dev": true }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", - "dev": true, - "requires": { - "kind-of": "^1.1.0" - } - }, - "kind-of": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", "dev": true, "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" + "readable-stream": "2 || 3" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true } } }, @@ -3368,7 +3403,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -3500,9 +3535,9 @@ } }, "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "requires": { "parse-passwd": "^1.0.0" @@ -3531,14 +3566,6 @@ "sshpk": "^1.7.0" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, "image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", @@ -3546,6 +3573,24 @@ "dev": true, "optional": true }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, "in-publish": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", @@ -3596,9 +3641,9 @@ "dev": true }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", "dev": true }, "invert-kv": { @@ -3670,15 +3715,6 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -3718,6 +3754,12 @@ } } }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -3749,9 +3791,9 @@ } }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -3825,11 +3867,6 @@ "is-unc-path": "^1.0.0" } }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, "is-svg": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", @@ -3890,26 +3927,6 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - }, - "dependencies": { - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - } - } - }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -3917,9 +3934,9 @@ "dev": true }, "iterall": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", - "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", + "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" }, "jquery": { "version": "3.3.1", @@ -3938,9 +3955,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -3952,6 +3969,12 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -3964,14 +3987,11 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "json-stable-stringify": { + "json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "json-stringify-safe": { "version": "5.0.1", @@ -3979,12 +3999,6 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, "jsplumb": { "version": "2.8.6", "resolved": "https://registry.npmjs.org/jsplumb/-/jsplumb-2.8.6.tgz", @@ -4090,13 +4104,13 @@ } }, "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", "dev": true, "requires": { "extend": "^3.0.0", - "findup-sync": "^2.0.0", + "findup-sync": "^3.0.0", "fined": "^1.0.1", "flagged-respawn": "^1.0.0", "is-plain-object": "^2.0.4", @@ -4106,9 +4120,9 @@ } }, "linkify-it": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz", - "integrity": "sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", "requires": { "uc.micro": "^1.0.1" } @@ -4127,9 +4141,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "lodash._basecopy": { "version": "3.0.1", @@ -4185,12 +4199,6 @@ "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", "dev": true }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, "lodash.clone": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", @@ -4203,12 +4211,6 @@ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", "dev": true }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", @@ -4260,15 +4262,9 @@ "dev": true }, "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", - "dev": true - }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, "lodash.partialright": { @@ -4290,22 +4286,22 @@ "dev": true }, "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "dev": true, "requires": { - "lodash._reinterpolate": "~3.0.0", + "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" } }, "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "dev": true, "requires": { - "lodash._reinterpolate": "~3.0.0" + "lodash._reinterpolate": "^3.0.0" } }, "lodash.uniq": { @@ -4415,6 +4411,29 @@ "micromatch": "^3.0.4", "resolve": "^1.4.0", "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, "math-expression-evaluator": { @@ -4464,20 +4483,17 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "micromatch": { "version": "3.1.10", @@ -4532,14 +4548,14 @@ }, "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -4588,9 +4604,9 @@ "dev": true }, "nan": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", - "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", "dev": true }, "nanomatch": { @@ -4620,7 +4636,7 @@ }, "node-fetch": { "version": "2.1.2", - "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" }, "node-gyp": { @@ -4652,9 +4668,9 @@ } }, "node-sass": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", - "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -4664,12 +4680,10 @@ "get-stdin": "^4.0.1", "glob": "^7.0.3", "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", + "lodash": "^4.17.11", "meow": "^3.7.0", "mkdirp": "^0.5.1", - "nan": "^2.10.0", + "nan": "^2.13.2", "node-gyp": "^3.8.0", "npmlog": "^4.0.0", "request": "^2.88.0", @@ -4688,15 +4702,26 @@ } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz", + "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } } }, "normalize-path": { @@ -4727,9 +4752,9 @@ } }, "now-and-later": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.0.tgz", - "integrity": "sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", + "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", "dev": true, "requires": { "once": "^1.3.2" @@ -4802,9 +4827,9 @@ } }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object-visit": { @@ -4881,43 +4906,192 @@ "orchardcore.apis.graphql": { "version": "file:src/OrchardCore.Modules/OrchardCore.Apis.GraphQL", "requires": { - "graphiql": "0.12.0", - "graphql": "0.12.0", - "react": "15.6.0", - "react-dom": "15.6.0" + "graphiql": "0.13.0", + "graphiql-explorer": "0.4.3", + "graphql": "14.3.1", + "react": "16.8.6", + "react-dom": "16.8.6" + }, + "dependencies": { + "codemirror-graphql": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.7.1.tgz", + "integrity": "sha512-HtHXMJAn6iGJYpijkzi3IlqWIdGrB6V0RqJ607yffJTCKk/OgaNtdLOb8hZJyEtHfkw7PZDaKybMAVCi6ScWSQ==", + "requires": { + "graphql-language-service-interface": "^1.3.2", + "graphql-language-service-parser": "^1.2.2" + } + }, + "graphiql": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-0.13.0.tgz", + "integrity": "sha512-m2RBtSY1CQLz4XqCftQC0V9ZcbUXEx2Uwvuok3L/TJtsN5HOHUmPxGhOAZs7mESaAsg7Z8Tgy04BmYirDyfWug==", + "requires": { + "codemirror": "^5.26.0", + "codemirror-graphql": "^0.7.1", + "markdown-it": "^8.4.0" + } + }, + "graphql": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.3.1.tgz", + "integrity": "sha512-FZm7kAa3FqKdXy8YSSpAoTtyDFMIYSpCDOr+3EqlI1bxmtHu+Vv/I2vrSeT1sBOEnEniX3uo4wFhFdS/8XN6gA==", + "requires": { + "iterall": "^1.2.2" + } + }, + "graphql-config": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz", + "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==", + "requires": { + "graphql-import": "^0.4.4", + "graphql-request": "^1.5.0", + "js-yaml": "^3.10.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.4" + } + }, + "graphql-import": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz", + "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==", + "requires": { + "lodash": "^4.17.4" + } + }, + "graphql-language-service-interface": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-1.3.2.tgz", + "integrity": "sha512-sOxFV5sBSnYtKIFHtlmAHHVdhok7CRbvCPLcuHvL4Q1RSgKRsPpeHUDKU+yCbmlonOKn/RWEKaYWrUY0Sgv70A==", + "requires": { + "graphql-config": "2.0.1", + "graphql-language-service-parser": "^1.2.2", + "graphql-language-service-types": "^1.2.2", + "graphql-language-service-utils": "^1.2.2" + } + }, + "graphql-language-service-utils": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-utils/-/graphql-language-service-utils-1.2.2.tgz", + "integrity": "sha512-98hzn1Dg3sSAiB+TuvNwWAoBrzuHs8NylkTK26TFyBjozM5wBZttp+T08OvOt+9hCFYRa43yRPrWcrs78KH9Hw==", + "requires": { + "graphql-config": "2.0.1", + "graphql-language-service-types": "^1.2.2" + } + }, + "react": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", + "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + } + }, + "react-dom": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", + "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + } + }, + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } } }, "orchardcore.resources": { "version": "file:src/OrchardCore.Modules/OrchardCore.Resources", "requires": { - "bootstrap-scss": "4.1.3", + "bootstrap": "4.3.1", + "bootstrap-scss": "4.3.1", "bootstrap-slider": "10.4.1", "codemirror": "5.42.0", "jquery": "3.3.1", - "popper.js": "1.14.6", + "popper.js": "1.14.7", "trumbowyg": "2.12.2" + }, + "dependencies": { + "bootstrap-scss": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap-scss/-/bootstrap-scss-4.3.1.tgz", + "integrity": "sha512-9S2yVFoiCALs8nIBR9Tljdh9zDaBODZwVWajTgGuzONUxotDj44/SgW8s5Z3siJSyT4mye9PDbs0OPMmOfwoyg==" + }, + "popper.js": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.7.tgz", + "integrity": "sha512-4q1hNvoUre/8srWsH7hnoSJ5xVmIL4qgz+s4qf2TnJIMyZFUFMGH+9vE7mXynAlHSZ/NdTmmow86muD0myUkVQ==" + } } }, "orchardcore.setup": { "version": "file:src/OrchardCore.Modules/OrchardCore.Setup", "requires": { - "bootstrap": "4.1.*", + "bootstrap": "4.3.*", "jquery": "3.3.*", - "popper.js": "1.14.6" + "popper.js": "1.14.7" + }, + "dependencies": { + "bootstrap": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==" + }, + "popper.js": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.7.tgz", + "integrity": "sha512-4q1hNvoUre/8srWsH7hnoSJ5xVmIL4qgz+s4qf2TnJIMyZFUFMGH+9vE7mXynAlHSZ/NdTmmow86muD0myUkVQ==" + } } }, "orchardcore.theadmin": { "version": "file:src/OrchardCore.Themes/TheAdmin", "requires": { - "bootstrap": "4.1.*", - "popper.js": "1.14.6" + "bootstrap": "4.3.*", + "popper.js": "1.14.7" + }, + "dependencies": { + "bootstrap": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz", + "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag==" + }, + "popper.js": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.7.tgz", + "integrity": "sha512-4q1hNvoUre/8srWsH7hnoSJ5xVmIL4qgz+s4qf2TnJIMyZFUFMGH+9vE7mXynAlHSZ/NdTmmow86muD0myUkVQ==" + } } }, "orchardcore.workflows": { "version": "file:src/OrchardCore.Modules/OrchardCore.Workflows", "requires": { - "@types/bootstrap": "4.1.3", + "@types/bootstrap": "4.3.0", "jsplumb": "2.8.6" + }, + "dependencies": { + "@types/bootstrap": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-4.3.0.tgz", + "integrity": "sha512-v1BkpRVgNH9eXE+RtWFP1wh/+SAkPZaxHthS6umqf1sGV0tAvHdPHZpAOB+H74e91ElOxtS56dxbon+lXWk4AQ==", + "requires": { + "@types/jquery": "*", + "popper.js": "^1.14.1" + } + } } }, "ordered-read-streams": { @@ -5106,9 +5280,9 @@ } }, "popper.js": { - "version": "1.14.6", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.6.tgz", - "integrity": "sha512-AGwHGQBKumlk/MDfrSOf0JHhJCImdDMcGNoqKmKkU+68GFazv3CQ6q9r7Ja1sKDZmYWTckY/uLyEznheTDycnA==" + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", + "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==" }, "posix-character-classes": { "version": "0.1.1", @@ -5215,6 +5389,16 @@ "postcss": "^5.0.4" } }, + "postcss-load-config": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", + "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "dev": true, + "requires": { + "cosmiconfig": "^4.0.0", + "import-cwd": "^2.0.0" + } + }, "postcss-merge-idents": { "version": "2.1.7", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", @@ -5360,6 +5544,15 @@ "postcss-value-parser": "^3.0.1" } }, + "postcss-rtl": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/postcss-rtl/-/postcss-rtl-1.5.0.tgz", + "integrity": "sha512-7uQeaMBhAlnu7xgytvTocojFKp08W4FND/xE/ajj/J6ABOGhdDF1mLGzaRrC5/u/Sr71BEUi13xgvs2j8U16AA==", + "dev": true, + "requires": { + "rtlcss": "^2.4.0" + } + }, "postcss-selector-parser": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", @@ -5433,17 +5626,20 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "optional": true, "requires": { "asap": "~2.0.3" } }, "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" } }, "prr": { @@ -5514,39 +5710,10 @@ "strict-uri-encode": "^1.0.0" } }, - "react": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.0.tgz", - "integrity": "sha1-wjKZtI4w7TAlCM6J4aAskZ+Ca84=", - "requires": { - "create-react-class": "^15.5.2", - "fbjs": "^0.8.9", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "^15.5.7" - } - }, - "react-dom": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.0.tgz", - "integrity": "sha1-i8I8sMgOcGNVt2yp+M5Hz3vfttE=", - "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "~15.5.7" - }, - "dependencies": { - "prop-types": { - "version": "15.5.10", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", - "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1" - } - } - } + "react-is": { + "version": "16.9.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz", + "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==" }, "read-pkg": { "version": "1.1.0", @@ -5571,7 +5738,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -5767,6 +5934,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", @@ -5792,6 +5965,12 @@ "global-modules": "^1.0.0" } }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, "resolve-options": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", @@ -5823,12 +6002,79 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rtlcss": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-2.4.0.tgz", + "integrity": "sha512-hdjFhZ5FCI0ABOfyXOMOhBtwPWtANLCG7rOiOcRf+yi5eDdxmDjqBruWouEnwVdzfh/TWF6NNncIEsigOCFZOA==", "dev": true, "requires": { - "glob": "^7.0.5" + "chalk": "^2.3.0", + "findup": "^0.1.5", + "mkdirp": "^0.5.1", + "postcss": "^6.0.14", + "strip-json-comments": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "safe-buffer": { @@ -5839,7 +6085,7 @@ }, "safe-regex": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { @@ -5849,7 +6095,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "sass-graph": { "version": "2.2.4", @@ -5912,9 +6159,9 @@ "dev": true }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -5934,11 +6181,6 @@ } } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -6081,9 +6323,9 @@ } }, "source-map-support": { - "version": "0.5.9", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz", - "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -6137,9 +6379,9 @@ } }, "spdx-license-ids": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", - "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", "dev": true }, "split-string": { @@ -6240,7 +6482,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { @@ -6291,6 +6533,12 @@ "get-stdin": "^4.0.1" } }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -6344,37 +6592,71 @@ } }, "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", "dev": true, "requires": { "block-stream": "*", - "fstream": "^1.0.2", + "fstream": "^1.0.12", "inherits": "2" } }, "ternary-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.0.1.tgz", - "integrity": "sha1-Bk5Im0tb9gumpre8fy9cJ07Pgmk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ternary-stream/-/ternary-stream-3.0.0.tgz", + "integrity": "sha512-oIzdi+UL/JdktkT+7KU5tSIQjj8pbShj3OASuvDEhm0NT5lppsm7aXWAmAq4/QMaBIyfuEcNLbAQA+HpaISobQ==", "dev": true, "requires": { - "duplexify": "^3.5.0", + "duplexify": "^4.1.1", "fork-stream": "^0.0.4", - "merge-stream": "^1.0.0", - "through2": "^2.0.1" + "merge-stream": "^2.0.0", + "through2": "^3.0.1" + }, + "dependencies": { + "duplexify": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz", + "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==", + "dev": true, + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "through2": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz", + "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==", + "dev": true, + "requires": { + "readable-stream": "2 || 3" + } + } } }, "terser": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.11.0.tgz", - "integrity": "sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.2.1.tgz", + "integrity": "sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A==", "dev": true, "requires": { - "commander": "~2.17.1", + "commander": "^2.20.0", "source-map": "~0.6.1", - "source-map-support": "~0.5.6" + "source-map-support": "~0.5.12" }, "dependencies": { "source-map": { @@ -6396,9 +6678,9 @@ } }, "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", "dev": true, "requires": { "through2": "~2.0.0", @@ -6551,20 +6833,15 @@ "dev": true }, "typescript": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", - "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.2.tgz", + "integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==", "dev": true }, - "ua-parser-js": { - "version": "0.7.19", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", - "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" - }, "uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { "version": "2.8.29", @@ -6622,9 +6899,9 @@ "dev": true }, "undertaker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.0.tgz", - "integrity": "sha1-M52kZGJS0ILcN45wgGcpl1DhG0k=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", + "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", "dev": true, "requires": { "arr-flatten": "^1.0.1", @@ -6645,38 +6922,15 @@ "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "uniq": { @@ -6692,13 +6946,13 @@ "dev": true }, "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", "dev": true, "requires": { - "json-stable-stringify": "^1.0.0", - "through2-filter": "^2.0.0" + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" } }, "unset-value": { @@ -6742,9 +6996,9 @@ } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", "dev": true }, "uri-js": { @@ -6787,9 +7041,9 @@ "dev": true }, "v8flags": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz", - "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" @@ -6893,7 +7147,7 @@ }, "whatwg-fetch": { "version": "2.0.4", - "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" }, "when": { diff --git a/Package.json b/package.json similarity index 62% rename from Package.json rename to package.json index c34f46042d4..7c0d6cc3c20 100644 --- a/Package.json +++ b/package.json @@ -1,30 +1,37 @@ { "private": true, + "scripts": { + "build": "gulp build", + "rebuild": "gulp rebuild", + "watch": " gulp watch" + }, "devDependencies": { - "es6-promise": "4.2.5", + "es6-promise": "4.2.8", "file-system": "2.2.2", - "glob": "7.1.3", - "gulp": "4.0.0", - "gulp-cli": "2.0.1", + "glob": "7.1.4", + "gulp": "4.0.2", + "gulp-cli": "2.2.0", "gulp-concat": "2.6.1", "gulp-cssnano": "2.1.3", "gulp-debug": "4.0.0", "gulp-eol": "0.2.0", - "gulp-header": "2.0.7", - "gulp-if": "2.0.2", + "gulp-header": "2.0.9", + "gulp-if": "3.0.0", "gulp-less": "4.0.1", "gulp-newer": "1.4.0", "gulp-plumber": "1.2.1", - "gulp-print": "5.0.0", + "gulp-print": "5.0.2", "gulp-rename": "1.4.0", + "gulp-postcss": "^8.0.0", "gulp-sass": "4.0.2", - "gulp-sourcemaps": "2.6.4", - "gulp-typescript": "4.0.2", - "gulp-terser": "1.1.6", + "gulp-sourcemaps": "2.6.5", + "gulp-typescript": "5.0.1", + "gulp-terser": "1.2.0", "gulp-util": "3.0.8", - "merge-stream": "1.0.1", + "merge-stream": "2.0.0", "path-posix": "1.0.0", - "typescript": "3.2.2" + "postcss-rtl": "^1.5.0", + "typescript": "3.6.2" }, "dependencies": { "orchardcore.apis.graphql": "file:src/OrchardCore.Modules/OrchardCore.Apis.GraphQL", diff --git a/src/OrchardCore.Build/Dependencies.AspNetCore.props b/src/OrchardCore.Build/Dependencies.AspNetCore.props index e393ada51af..430ef56c3c8 100644 --- a/src/OrchardCore.Build/Dependencies.AspNetCore.props +++ b/src/OrchardCore.Build/Dependencies.AspNetCore.props @@ -1,190 +1,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/src/OrchardCore.Build/Dependencies.props b/src/OrchardCore.Build/Dependencies.props index 381c73012c8..ebb829b06f6 100644 --- a/src/OrchardCore.Build/Dependencies.props +++ b/src/OrchardCore.Build/Dependencies.props @@ -9,43 +9,44 @@ - + - + - - - - - - - - - + + + + + + + + + + - - - + + + - - - + + + + - + - - - - - - - - - + + + + + + + + diff --git a/src/OrchardCore.Build/OrchardCore.Commons.props b/src/OrchardCore.Build/OrchardCore.Commons.props index d75ddb5ba73..2a25572a5c2 100644 --- a/src/OrchardCore.Build/OrchardCore.Commons.props +++ b/src/OrchardCore.Build/OrchardCore.Commons.props @@ -4,10 +4,11 @@ 1.0.0 - beta3 + rc1 $(VersionSuffix)-$(BuildNumber) latest true + 612,618 portable 2.0.0-* false diff --git a/src/OrchardCore.Cms.Web/Localization/.placeholder b/src/OrchardCore.Cms.Web/Localization/.placeholder new file mode 100644 index 00000000000..95c193c13ef --- /dev/null +++ b/src/OrchardCore.Cms.Web/Localization/.placeholder @@ -0,0 +1 @@ +# This file is used to ensure the Localization folder is created during deployment diff --git a/src/OrchardCore.Cms.Web/NLog.config b/src/OrchardCore.Cms.Web/NLog.config index 41b1a11663c..7a17c0edee5 100644 --- a/src/OrchardCore.Cms.Web/NLog.config +++ b/src/OrchardCore.Cms.Web/NLog.config @@ -10,17 +10,23 @@ - - - + + + + + - - - + + + + + - \ No newline at end of file + diff --git a/src/OrchardCore.Cms.Web/OrchardCore.Cms.Web.csproj b/src/OrchardCore.Cms.Web/OrchardCore.Cms.Web.csproj index e39e0a51840..1fb81c1c164 100644 --- a/src/OrchardCore.Cms.Web/OrchardCore.Cms.Web.csproj +++ b/src/OrchardCore.Cms.Web/OrchardCore.Cms.Web.csproj @@ -2,15 +2,21 @@ + + + - netcoreapp2.2 + netcoreapp3.0 true true + 612,618 InProcess + true + @@ -18,10 +24,6 @@ - - - - Never @@ -29,8 +31,9 @@ - + + diff --git a/src/OrchardCore.Cms.Web/Program.cs b/src/OrchardCore.Cms.Web/Program.cs index 7b7b15acf95..f642bc08204 100644 --- a/src/OrchardCore.Cms.Web/Program.cs +++ b/src/OrchardCore.Cms.Web/Program.cs @@ -1,21 +1,23 @@ -using Microsoft.AspNetCore; +using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; using OrchardCore.Logging; -using OrchardCore.Modules; namespace OrchardCore.Cms.Web { public class Program { - public static void Main(string[] args) - => BuildWebHost(args).Run(); + public static Task Main(string[] args) + => BuildHost(args).RunAsync(); - public static IWebHost BuildWebHost(string[] args) - => CreateWebHostBuilder(args) - .Build(); - - public static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args) - .UseNLogWeb(); + public static IHost BuildHost(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureLogging(logging => logging.ClearProviders()) + .ConfigureWebHostDefaults(webBuilder => webBuilder + .UseStartup() + .UseNLogWeb()) + .Build() + ; } -} \ No newline at end of file +} diff --git a/src/OrchardCore.Cms.Web/Startup.cs b/src/OrchardCore.Cms.Web/Startup.cs index 95dd570a54e..e1ae1adb6e3 100644 --- a/src/OrchardCore.Cms.Web/Startup.cs +++ b/src/OrchardCore.Cms.Web/Startup.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; namespace OrchardCore.Cms.Web { @@ -11,7 +11,7 @@ public void ConfigureServices(IServiceCollection services) services.AddOrchardCms(); } - public void Configure(IApplicationBuilder app, IHostingEnvironment env) + public void Configure(IApplicationBuilder app, IHostEnvironment env) { if (env.IsDevelopment()) { diff --git a/src/OrchardCore.Cms.Web/appsettings.json b/src/OrchardCore.Cms.Web/appsettings.json index 4810bea7682..6336391e3b4 100644 --- a/src/OrchardCore.Cms.Web/appsettings.json +++ b/src/OrchardCore.Cms.Web/appsettings.json @@ -3,19 +3,20 @@ "IncludeScopes": false, "LogLevel": { "Default": "Warning", - "System": "Error", - "Microsoft": "Error" + "Microsoft.Hosting.Lifetime": "Information" } }, "OrchardCore": { - + "OrchardCore.Setup": { + "DefaultCulture": "", + "SupportedCultures": [ "en" ] + } // Uncomment to configure media storage in Azure Blob Storage. //"OrchardCore.Media.Azure": //{ //"ConnectionString": "", // Set to your Azure Storage account connection string. - //"ContainerName": "somecontainer", - //"BasePath": "some/base/path", // Set to a path to store media in a subdirectory inside your container. - //"PublicHostName": "" // Set to a hostname to serve media from an alternative host such as a CDN. + //"ContainerName": "somecontainer", // Set to the Azure Blob container name. + //"BasePath": "some/base/path", // Optionally, set to a path to store media in a subdirectory inside your container. //}, // Uncomment to configure data protection key storage in Azure Blob Storage. diff --git a/src/OrchardCore.Modules/OrchardCore.Admin/AdminMenuFilter.cs b/src/OrchardCore.Modules/OrchardCore.Admin/AdminMenuFilter.cs index 8152b0dd568..48bf9977712 100644 --- a/src/OrchardCore.Modules/OrchardCore.Admin/AdminMenuFilter.cs +++ b/src/OrchardCore.Modules/OrchardCore.Admin/AdminMenuFilter.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Mvc.Filters; using OrchardCore.DisplayManagement; using OrchardCore.DisplayManagement.Layout; +using OrchardCore.DisplayManagement.Zones; using OrchardCore.Navigation; namespace OrchardCore.Admin @@ -67,9 +68,17 @@ public async Task OnResultExecutionAsync(ResultExecutingContext filterContext, R })); dynamic layout = await _layoutAccessor.GetLayoutAsync(); - layout.Navigation.Add(menuShape); + + if (layout.Navigation is ZoneOnDemand zoneOnDemand) + { + await zoneOnDemand.AddAsync(menuShape); + } + else + { + layout.Navigation.Add(menuShape); + } await next(); } } -} \ No newline at end of file +} diff --git a/src/OrchardCore.Modules/OrchardCore.Admin/OrchardCore.Admin.csproj b/src/OrchardCore.Modules/OrchardCore.Admin/OrchardCore.Admin.csproj index fef467ec466..e78305b22cc 100644 --- a/src/OrchardCore.Modules/OrchardCore.Admin/OrchardCore.Admin.csproj +++ b/src/OrchardCore.Modules/OrchardCore.Admin/OrchardCore.Admin.csproj @@ -1,21 +1,22 @@  - netstandard2.0 + netcoreapp3.0 + true + + + + - - - - - + diff --git a/src/OrchardCore.Modules/OrchardCore.Admin/Permissions.cs b/src/OrchardCore.Modules/OrchardCore.Admin/Permissions.cs index ac90c1703df..9090321f098 100644 --- a/src/OrchardCore.Modules/OrchardCore.Admin/Permissions.cs +++ b/src/OrchardCore.Modules/OrchardCore.Admin/Permissions.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Threading.Tasks; using OrchardCore.Security.Permissions; namespace OrchardCore.Admin @@ -7,12 +8,9 @@ public class Permissions : IPermissionProvider { public static readonly Permission AccessAdminPanel = new Permission("AccessAdminPanel", "Access admin panel"); - public IEnumerable GetPermissions() + public Task> GetPermissionsAsync() { - return new[] - { - AccessAdminPanel - }; + return Task.FromResult(GetPermissions()); } public IEnumerable GetDefaultStereotypes() @@ -42,5 +40,13 @@ public IEnumerable GetDefaultStereotypes() } }; } + + private IEnumerable GetPermissions() + { + return new[] + { + AccessAdminPanel + }; + } } -} \ No newline at end of file +} diff --git a/src/OrchardCore.Modules/OrchardCore.Admin/Startup.cs b/src/OrchardCore.Modules/OrchardCore.Admin/Startup.cs index 6dabacdf885..df81b00ab3b 100644 --- a/src/OrchardCore.Modules/OrchardCore.Admin/Startup.cs +++ b/src/OrchardCore.Modules/OrchardCore.Admin/Startup.cs @@ -1,4 +1,4 @@ -using System; +using System; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Mvc.Filters; using OrchardCore.Modules; @@ -29,12 +29,12 @@ public override void ConfigureServices(IServiceCollection services) services.AddScoped(); } - public override void Configure(IApplicationBuilder builder, IRouteBuilder routes, IServiceProvider serviceProvider) + public override void Configure(IApplicationBuilder builder, IEndpointRouteBuilder routes, IServiceProvider serviceProvider) { - routes.MapAreaRoute( + routes.MapAreaControllerRoute( name: "Admin", areaName: "OrchardCore.Admin", - template: "admin", + pattern: "admin", defaults: new { controller = "Admin", action = "Index" } ); } diff --git a/src/OrchardCore.Modules/OrchardCore.Admin/Views/AdminDashboard.cshtml b/src/OrchardCore.Modules/OrchardCore.Admin/Views/AdminDashboard.cshtml index 1947f7f804c..a20a24adcd6 100644 --- a/src/OrchardCore.Modules/OrchardCore.Admin/Views/AdminDashboard.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Admin/Views/AdminDashboard.cshtml @@ -1,4 +1,4 @@

@T["Welcome to Orchard"]

-

@T["Feel free to browse the menu on the left and discover all its possibilities."]

+

@T["Feel free to browse the menu and discover all its possibilities."]

diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js index 50bed0063a9..8afb54af35e 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Assets/js/fontawesome-iconpicker.js @@ -481,7 +481,7 @@ templates: { popover: '
' + '
', footer: '', - buttons: '' + ' ', + buttons: '' + ' ', search: '', iconpicker: '
', iconpickerItem: '' diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/OrchardCore.AdminMenu.csproj b/src/OrchardCore.Modules/OrchardCore.AdminMenu/OrchardCore.AdminMenu.csproj index eaf2b3578ef..cf9c2e460ec 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/OrchardCore.AdminMenu.csproj +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/OrchardCore.AdminMenu.csproj @@ -1,9 +1,14 @@ - + - netstandard2.0 + netcoreapp3.0 + true + + + + @@ -17,8 +22,4 @@ - - - - diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Permissions.cs b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Permissions.cs index d6eebefde09..ec87677230d 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Permissions.cs +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Permissions.cs @@ -1,16 +1,35 @@ +using System; using System.Collections.Generic; +using System.Threading.Tasks; using OrchardCore.Security.Permissions; namespace OrchardCore.AdminMenu { - // todo public class Permissions : IPermissionProvider { public static readonly Permission ManageAdminMenu = new Permission("ManageAdminMenu", "Manage the admin menu"); - public IEnumerable GetPermissions() + public static readonly Permission ViewAdminMenuAll = new Permission("ViewAdminMenuAll", "View Admin Menu - View All", new[] { ManageAdminMenu }); + + private static readonly Permission ViewAdminMenu = new Permission("ViewAdminMenu_{0}", "View Admin Menu - {0}", new[] { ManageAdminMenu, ViewAdminMenuAll }); + + private readonly IAdminMenuService _adminMenuService; + + public Permissions(IAdminMenuService adminMenuService) { - return new[] { ManageAdminMenu }; + _adminMenuService = adminMenuService; + } + + public async Task> GetPermissionsAsync() + { + var list = new List { ManageAdminMenu, ViewAdminMenuAll }; + + foreach (var adminMenu in await _adminMenuService.GetAsync()) + { + list.Add(CreatePermissionForAdminMenu(adminMenu.Name)); + } + + return list; } public IEnumerable GetDefaultStereotypes() @@ -21,8 +40,21 @@ public IEnumerable GetDefaultStereotypes() { Name = "Administrator", Permissions = new[] { ManageAdminMenu } + }, + new PermissionStereotype { + Name = "Editor", + Permissions = new[] { ManageAdminMenu } } }; } + + public static Permission CreatePermissionForAdminMenu(string name) + { + return new Permission( + String.Format(ViewAdminMenu.Name, name), + String.Format(ViewAdminMenu.Description, name), + ViewAdminMenu.ImpliedBy + ); + } } -} \ No newline at end of file +} diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/README.md b/src/OrchardCore.Modules/OrchardCore.AdminMenu/README.md index 381ea866369..6c5d02332e4 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/README.md +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/README.md @@ -65,6 +65,13 @@ The Admin Menu that OrchardCore provides out of the box it's built broadly speak ## Deployment Plan Step and Recipe Step The module provides an Admin Menu Deployment Step. So an admin user can expend some time configuring a custom admin menu, add it to a deployment plan, export a json file, and use the generated json on a setup recipe. This way the sites that are built using that recipe will have the admin menu as the user prepared it. +## Permissions +There are two kind of permissions associated with the module: + +1. Manage Admin Menus. It its about being able to create edit and delete admin menus from the admin. + +2. View Admin Menus. It enables the possibility to show or hide an admin menu per role. You can do that from the standard Edit Roles page + ## Developing Custom Admin Node Types diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuNavigationProvidersCoordinator.cs b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuNavigationProvidersCoordinator.cs index d8ef4fa2d9d..5b975f4ef97 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuNavigationProvidersCoordinator.cs +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuNavigationProvidersCoordinator.cs @@ -2,8 +2,9 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; -using OrchardCore.AdminMenu.Models; using OrchardCore.Navigation; using YesSql; @@ -15,16 +16,22 @@ namespace OrchardCore.AdminMenu.Services // This class is itself one more INavigationProvider so it can be called from this module's AdminMenu.cs public class AdminMenuNavigationProvidersCoordinator : INavigationProvider { - private readonly IAdminMenuService _AdminMenuService; + private readonly IAdminMenuService _adminMenuService; + private readonly IAuthorizationService _authorizationService; + private readonly IHttpContextAccessor _httpContextAccessor; private readonly IEnumerable _nodeBuilders; private readonly ILogger Logger; public AdminMenuNavigationProvidersCoordinator( - IAdminMenuService AdminMenuervice, + IAdminMenuService adminMenuService, + IAuthorizationService authorizationService, + IHttpContextAccessor httpContextAccessor, IEnumerable nodeBuilders, ILogger logger) { - _AdminMenuService = AdminMenuervice; + _adminMenuService = adminMenuService; + _authorizationService = authorizationService; + _httpContextAccessor = httpContextAccessor; _nodeBuilders = nodeBuilders; Logger = logger; } @@ -38,12 +45,18 @@ public async Task BuildNavigationAsync(string name, NavigationBuilder builder) return; } - var trees = (await _AdminMenuService.GetAsync()) - .Where(x => x.Enabled == true) - .Where( x => x.MenuItems.Count > 0); + var trees = (await _adminMenuService.GetAsync()) + .Where(m => m.Enabled && m.MenuItems.Count > 0); - - trees.ToList().ForEach( async p => await BuildTreeAsync(p, builder)); + foreach (var tree in trees) + { + if (await _authorizationService.AuthorizeAsync( + _httpContextAccessor.HttpContext?.User, + Permissions.CreatePermissionForAdminMenu(tree.Name))) + { + await BuildTreeAsync(tree, builder); + } + } } private async Task BuildTreeAsync(Models.AdminMenu tree, NavigationBuilder builder) @@ -51,6 +64,7 @@ private async Task BuildTreeAsync(Models.AdminMenu tree, NavigationBuilder build foreach (MenuItem node in tree.MenuItems) { var nodeBuilder = _nodeBuilders.Where(x => x.Name == node.GetType().Name).FirstOrDefault(); + if (nodeBuilder != null) { await nodeBuilder.BuildNavigationAsync(node, builder, _nodeBuilders); @@ -61,6 +75,5 @@ private async Task BuildTreeAsync(Models.AdminMenu tree, NavigationBuilder build } } } - } } diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuService.cs b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuService.cs index befe912a13e..fe7b387bc6c 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuService.cs +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Services/AdminMenuService.cs @@ -2,12 +2,12 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; -using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Primitives; using OrchardCore.AdminMenu.Models; using OrchardCore.Environment.Cache; +using OrchardCore.Environment.Shell.Scope; using OrchardCore.Modules; using YesSql; @@ -122,10 +122,9 @@ private async Task GetAdminMenuList() return treeList; } - private YesSql.ISession GetSession() + private ISession GetSession() { - var httpContextAccessor = _serviceProvider.GetService(); - return httpContextAccessor.HttpContext.RequestServices.GetService(); + return ShellScope.Services.GetService(); } } } diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Startup.cs b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Startup.cs index 05258985c6d..7e5e7654b16 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Startup.cs +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Startup.cs @@ -50,7 +50,7 @@ public override void ConfigureServices(IServiceCollection services) } - public override void Configure(IApplicationBuilder builder, IRouteBuilder routes, IServiceProvider serviceProvider) + public override void Configure(IApplicationBuilder builder, IEndpointRouteBuilder routes, IServiceProvider serviceProvider) { } } diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/LinkAdminNode.Fields.TreeEdit.cshtml b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/LinkAdminNode.Fields.TreeEdit.cshtml index 70468e4da3a..3e636e81969 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/LinkAdminNode.Fields.TreeEdit.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/LinkAdminNode.Fields.TreeEdit.cshtml @@ -3,7 +3,7 @@ - + diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/PlaceholderAdminNode.Fields.TreeEdit.cshtml b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/PlaceholderAdminNode.Fields.TreeEdit.cshtml index e0ad84fe69c..9a04ad48cfc 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/PlaceholderAdminNode.Fields.TreeEdit.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Items/PlaceholderAdminNode.Fields.TreeEdit.cshtml @@ -3,7 +3,7 @@ - + diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Menu/List.cshtml b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Menu/List.cshtml index c077fe40b27..e2f886b698b 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Menu/List.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Menu/List.cshtml @@ -3,21 +3,32 @@ -

@RenderTitleSegments(T["Admin Menus"])

+
+
+

@RenderTitleSegments(T["Admin Menus"])

+
+ +
- +
+
+
+
+
+ @T["Filter"] +
+ +
+ +
+
+
+
+
@* the form is necessary to generate an antiforgery token for the delete and toggle actions *@ @@ -53,7 +64,7 @@ else { }
diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.js b/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.js index 05438783625..087621ca72e 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.js +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.js @@ -486,7 +486,7 @@ templates: { popover: '
' + '
', footer: '', - buttons: '' + ' ', + buttons: '' + ' ', search: '', iconpicker: '
', iconpickerItem: '' @@ -4919,4 +4919,4 @@ var iconPickerVue = new Vue({ } } }) -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvbnRhd2Vzb21lLWljb25waWNrZXIuanMiLCJBZG1pbk5vZGVJY29uUGlja2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDcHdKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImFkbWluLW1lbnUtaWNvbi1waWNrZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogRm9udCBBd2Vzb21lIEljb24gUGlja2VyXHJcbiAqIGh0dHBzOi8vZmFyYmVsb3VzLmdpdGh1Yi5pby9mb250YXdlc29tZS1pY29ucGlja2VyL1xyXG4gKlxyXG4gKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgKGMpIDIwMTYgSmF2aSBBZ3VpbGFyXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFyYmVsb3VzL2ZvbnRhd2Vzb21lLWljb25waWNrZXIvYmxvYi9tYXN0ZXIvTElDRU5TRVxyXG4gKlxyXG4gKi9cclxuKGZ1bmN0aW9uIChhKSB7XHJcbiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIHtcclxuICAgICAgICBkZWZpbmUoW1wianF1ZXJ5XCJdLCBhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYShqUXVlcnkpO1xyXG4gICAgfVxyXG59KShmdW5jdGlvbiAoYSkge1xyXG4gICAgYS51aSA9IGEudWkgfHwge307XHJcbiAgICB2YXIgYiA9IGEudWkudmVyc2lvbiA9IFwiMS4xMi4xXCI7XHJcbiAgICAvKiFcclxuICAgICAqIGpRdWVyeSBVSSBQb3NpdGlvbiAxLjEyLjFcclxuICAgICAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cclxuICAgICAqXHJcbiAgICAgKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xyXG4gICAgICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxyXG4gICAgICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxyXG4gICAgICpcclxuICAgICAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Bvc2l0aW9uL1xyXG4gICAgICovXHJcbiAgICAoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBiLCBjID0gTWF0aC5tYXgsIGQgPSBNYXRoLmFicywgZSA9IC9sZWZ0fGNlbnRlcnxyaWdodC8sIGYgPSAvdG9wfGNlbnRlcnxib3R0b20vLCBnID0gL1tcXCtcXC1dXFxkKyhcXC5bXFxkXSspPyU/LywgaCA9IC9eXFx3Ky8sIGkgPSAvJSQvLCBqID0gYS5mbi5wb3M7XHJcbiAgICAgICAgZnVuY3Rpb24gayhhLCBiLCBjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcGFyc2VGbG9hdChhWzBdKSAqIChpLnRlc3QoYVswXSkgPyBiIC8gMTAwIDogMSksIHBhcnNlRmxvYXQoYVsxXSkgKiAoaS50ZXN0KGFbMV0pID8gYyAvIDEwMCA6IDEpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZnVuY3Rpb24gbChiLCBjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChhLmNzcyhiLCBjKSwgMTApIHx8IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZ1bmN0aW9uIG0oYikge1xyXG4gICAgICAgICAgICB2YXIgYyA9IGJbMF07XHJcbiAgICAgICAgICAgIGlmIChjLm5vZGVUeXBlID09PSA5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBiLndpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBiLmhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChhLmlzV2luZG93KGMpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBiLndpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBiLmhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGIuc2Nyb2xsVG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGIuc2Nyb2xsTGVmdCgpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYy5wcmV2ZW50RGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMCxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYy5wYWdlWSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYy5wYWdlWFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBiLm91dGVyV2lkdGgoKSxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYi5vdXRlckhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiBiLm9mZnNldCgpXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEucG9zID0ge1xyXG4gICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdmFyIGMsIGQsIGUgPSBhKFwiPGRpdiBcIiArIFwic3R5bGU9J2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtvdmVyZmxvdzpoaWRkZW47Jz5cIiArIFwiPGRpdiBzdHlsZT0naGVpZ2h0OjEwMHB4O3dpZHRoOmF1dG87Jz48L2Rpdj48L2Rpdj5cIiksIGYgPSBlLmNoaWxkcmVuKClbMF07XHJcbiAgICAgICAgICAgICAgICBhKFwiYm9keVwiKS5hcHBlbmQoZSk7XHJcbiAgICAgICAgICAgICAgICBjID0gZi5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgICAgIGUuY3NzKFwib3ZlcmZsb3dcIiwgXCJzY3JvbGxcIik7XHJcbiAgICAgICAgICAgICAgICBkID0gZi5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgICAgIGlmIChjID09PSBkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZCA9IGVbMF0uY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGIgPSBjIC0gZDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZ2V0U2Nyb2xsSW5mbzogZnVuY3Rpb24gKGIpIHtcclxuICAgICAgICAgICAgICAgIHZhciBjID0gYi5pc1dpbmRvdyB8fCBiLmlzRG9jdW1lbnQgPyBcIlwiIDogYi5lbGVtZW50LmNzcyhcIm92ZXJmbG93LXhcIiksIGQgPSBiLmlzV2luZG93IHx8IGIuaXNEb2N1bWVudCA/IFwiXCIgOiBiLmVsZW1lbnQuY3NzKFwib3ZlcmZsb3cteVwiKSwgZSA9IGMgPT09IFwic2Nyb2xsXCIgfHwgYyA9PT0gXCJhdXRvXCIgJiYgYi53aWR0aCA8IGIuZWxlbWVudFswXS5zY3JvbGxXaWR0aCwgZiA9IGQgPT09IFwic2Nyb2xsXCIgfHwgZCA9PT0gXCJhdXRvXCIgJiYgYi5oZWlnaHQgPCBiLmVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZiA/IGEucG9zLnNjcm9sbGJhcldpZHRoKCkgOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogZSA/IGEucG9zLnNjcm9sbGJhcldpZHRoKCkgOiAwXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnZXRXaXRoaW5JbmZvOiBmdW5jdGlvbiAoYikge1xyXG4gICAgICAgICAgICAgICAgdmFyIGMgPSBhKGIgfHwgd2luZG93KSwgZCA9IGEuaXNXaW5kb3coY1swXSksIGUgPSAhIWNbMF0gJiYgY1swXS5ub2RlVHlwZSA9PT0gOSwgZiA9ICFkICYmICFlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBjLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzV2luZG93OiBkLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRG9jdW1lbnQ6IGUsXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBmID8gYShiKS5vZmZzZXQoKSA6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0OiBjLnNjcm9sbExlZnQoKSxcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IGMuc2Nyb2xsVG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGMub3V0ZXJXaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYy5vdXRlckhlaWdodCgpXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBhLmZuLnBvcyA9IGZ1bmN0aW9uIChiKSB7XHJcbiAgICAgICAgICAgIGlmICghYiB8fCAhYi5vZikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGouYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiID0gYS5leHRlbmQoe30sIGIpO1xyXG4gICAgICAgICAgICB2YXIgaSwgbiwgbywgcCwgcSwgciwgcyA9IGEoYi5vZiksIHQgPSBhLnBvcy5nZXRXaXRoaW5JbmZvKGIud2l0aGluKSwgdSA9IGEucG9zLmdldFNjcm9sbEluZm8odCksIHYgPSAoYi5jb2xsaXNpb24gfHwgXCJmbGlwXCIpLnNwbGl0KFwiIFwiKSwgdyA9IHt9O1xyXG4gICAgICAgICAgICByID0gbShzKTtcclxuICAgICAgICAgICAgaWYgKHNbMF0ucHJldmVudERlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgIGIuYXQgPSBcImxlZnQgdG9wXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbiA9IHIud2lkdGg7XHJcbiAgICAgICAgICAgIG8gPSByLmhlaWdodDtcclxuICAgICAgICAgICAgcCA9IHIub2Zmc2V0O1xyXG4gICAgICAgICAgICBxID0gYS5leHRlbmQoe30sIHApO1xyXG4gICAgICAgICAgICBhLmVhY2goW1wibXlcIiwgXCJhdFwiXSwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGEgPSAoYlt0aGlzXSB8fCBcIlwiKS5zcGxpdChcIiBcIiksIGMsIGQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoYS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBhID0gZS50ZXN0KGFbMF0pID8gYS5jb25jYXQoW1wiY2VudGVyXCJdKSA6IGYudGVzdChhWzBdKSA/IFtcImNlbnRlclwiXS5jb25jYXQoYSkgOiBbXCJjZW50ZXJcIiwgXCJjZW50ZXJcIl07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhWzBdID0gZS50ZXN0KGFbMF0pID8gYVswXSA6IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICBhWzFdID0gZi50ZXN0KGFbMV0pID8gYVsxXSA6IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICBjID0gZy5leGVjKGFbMF0pO1xyXG4gICAgICAgICAgICAgICAgZCA9IGcuZXhlYyhhWzFdKTtcclxuICAgICAgICAgICAgICAgIHdbdGhpc10gPSBbYyA/IGNbMF0gOiAwLCBkID8gZFswXSA6IDBdO1xyXG4gICAgICAgICAgICAgICAgYlt0aGlzXSA9IFtoLmV4ZWMoYVswXSlbMF0sIGguZXhlYyhhWzFdKVswXV07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpZiAodi5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIHZbMV0gPSB2WzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChiLmF0WzBdID09PSBcInJpZ2h0XCIpIHtcclxuICAgICAgICAgICAgICAgIHEubGVmdCArPSBuO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGIuYXRbMF0gPT09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgICAgIHEubGVmdCArPSBuIC8gMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYi5hdFsxXSA9PT0gXCJib3R0b21cIikge1xyXG4gICAgICAgICAgICAgICAgcS50b3AgKz0gbztcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChiLmF0WzFdID09PSBcImNlbnRlclwiKSB7XHJcbiAgICAgICAgICAgICAgICBxLnRvcCArPSBvIC8gMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpID0gayh3LmF0LCBuLCBvKTtcclxuICAgICAgICAgICAgcS5sZWZ0ICs9IGlbMF07XHJcbiAgICAgICAgICAgIHEudG9wICs9IGlbMV07XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGUsIGYsIGcgPSBhKHRoaXMpLCBoID0gZy5vdXRlcldpZHRoKCksIGogPSBnLm91dGVySGVpZ2h0KCksIG0gPSBsKHRoaXMsIFwibWFyZ2luTGVmdFwiKSwgciA9IGwodGhpcywgXCJtYXJnaW5Ub3BcIiksIHggPSBoICsgbSArIGwodGhpcywgXCJtYXJnaW5SaWdodFwiKSArIHUud2lkdGgsIHkgPSBqICsgciArIGwodGhpcywgXCJtYXJnaW5Cb3R0b21cIikgKyB1LmhlaWdodCwgeiA9IGEuZXh0ZW5kKHt9LCBxKSwgQSA9IGsody5teSwgZy5vdXRlcldpZHRoKCksIGcub3V0ZXJIZWlnaHQoKSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5teVswXSA9PT0gXCJyaWdodFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgei5sZWZ0IC09IGg7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGIubXlbMF0gPT09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB6LmxlZnQgLT0gaCAvIDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5teVsxXSA9PT0gXCJib3R0b21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHoudG9wIC09IGo7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGIubXlbMV0gPT09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB6LnRvcCAtPSBqIC8gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHoubGVmdCArPSBBWzBdO1xyXG4gICAgICAgICAgICAgICAgei50b3AgKz0gQVsxXTtcclxuICAgICAgICAgICAgICAgIGUgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogbSxcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IHJcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBhLmVhY2goW1wibGVmdFwiLCBcInRvcFwiXSwgZnVuY3Rpb24gKGMsIGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYS51aS5wb3NbdltjXV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYS51aS5wb3NbdltjXV1bZF0oeiwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0V2lkdGg6IG4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRIZWlnaHQ6IG8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtV2lkdGg6IGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtSGVpZ2h0OiBqLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGlzaW9uUG9zaXRpb246IGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsaXNpb25XaWR0aDogeCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxpc2lvbkhlaWdodDogeSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogW2lbMF0gKyBBWzBdLCBpWzFdICsgQVsxXV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteTogYi5teSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBiLmF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aGluOiB0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbTogZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlmIChiLnVzaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZiA9IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gcC5sZWZ0IC0gei5sZWZ0LCBmID0gZSArIG4gLSBoLCBpID0gcC50b3AgLSB6LnRvcCwgayA9IGkgKyBvIC0gaiwgbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcC5sZWZ0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogcC50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogei5sZWZ0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogei50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogZiA8IDAgPyBcImxlZnRcIiA6IGUgPiAwID8gXCJyaWdodFwiIDogXCJjZW50ZXJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsOiBrIDwgMCA/IFwidG9wXCIgOiBpID4gMCA/IFwiYm90dG9tXCIgOiBcIm1pZGRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuIDwgaCAmJiBkKGUgKyBmKSA8IG4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwuaG9yaXpvbnRhbCA9IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8gPCBqICYmIGQoaSArIGspIDwgbykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbC52ZXJ0aWNhbCA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMoZChlKSwgZChmKSkgPiBjKGQoaSksIGQoaykpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLmltcG9ydGFudCA9IFwiaG9yaXpvbnRhbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbC5pbXBvcnRhbnQgPSBcInZlcnRpY2FsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYi51c2luZy5jYWxsKHRoaXMsIGEsIGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBnLm9mZnNldChhLmV4dGVuZCh6LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXNpbmc6IGZcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBhLnVpLnBvcyA9IHtcclxuICAgICAgICAgICAgX3RyaWdnZXI6IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5lbGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYi5lbGVtLnRyaWdnZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25EYXRhOiBiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZWQ6IGRcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZml0OiB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBmdW5jdGlvbiAoYiwgZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGQsIFwicG9zQ29sbGlkZVwiLCBcImZpdExlZnRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBkLndpdGhpbiwgZiA9IGUuaXNXaW5kb3cgPyBlLnNjcm9sbExlZnQgOiBlLm9mZnNldC5sZWZ0LCBnID0gZS53aWR0aCwgaCA9IGIubGVmdCAtIGQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCwgaSA9IGYgLSBoLCBqID0gaCArIGQuY29sbGlzaW9uV2lkdGggLSBnIC0gZiwgaztcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZC5jb2xsaXNpb25XaWR0aCA+IGcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiAwICYmIGogPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgayA9IGIubGVmdCArIGkgKyBkLmNvbGxpc2lvbldpZHRoIC0gZyAtIGY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gaSAtIGs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaiA+IDAgJiYgaSA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgPSBmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiBqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYi5sZWZ0ID0gZiArIGcgLSBkLmNvbGxpc2lvbldpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgPSBmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gaTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGogPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIubGVmdCAtPSBqO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIubGVmdCA9IGMoYi5sZWZ0IC0gaCwgYi5sZWZ0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuX3RyaWdnZXIoYiwgZCwgXCJwb3NDb2xsaWRlZFwiLCBcImZpdExlZnRcIik7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdG9wOiBmdW5jdGlvbiAoYiwgZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGQsIFwicG9zQ29sbGlkZVwiLCBcImZpdFRvcFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGQud2l0aGluLCBmID0gZS5pc1dpbmRvdyA/IGUuc2Nyb2xsVG9wIDogZS5vZmZzZXQudG9wLCBnID0gZC53aXRoaW4uaGVpZ2h0LCBoID0gYi50b3AgLSBkLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCwgaSA9IGYgLSBoLCBqID0gaCArIGQuY29sbGlzaW9uSGVpZ2h0IC0gZyAtIGYsIGs7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGQuY29sbGlzaW9uSGVpZ2h0ID4gZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA+IDAgJiYgaiA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrID0gYi50b3AgKyBpICsgZC5jb2xsaXNpb25IZWlnaHQgLSBnIC0gZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIudG9wICs9IGkgLSBrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGogPiAwICYmIGkgPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgPSBmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiBqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgPSBmICsgZyAtIGQuY29sbGlzaW9uSGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLnRvcCA9IGY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIudG9wICs9IGk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChqID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiLnRvcCAtPSBqO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIudG9wID0gYyhiLnRvcCAtIGgsIGIudG9wKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuX3RyaWdnZXIoYiwgZCwgXCJwb3NDb2xsaWRlZFwiLCBcImZpdFRvcFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZmxpcDoge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogZnVuY3Rpb24gKGIsIGMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhLnVpLnBvcy5fdHJpZ2dlcihiLCBjLCBcInBvc0NvbGxpZGVcIiwgXCJmbGlwTGVmdFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGMud2l0aGluLCBmID0gZS5vZmZzZXQubGVmdCArIGUuc2Nyb2xsTGVmdCwgZyA9IGUud2lkdGgsIGggPSBlLmlzV2luZG93ID8gZS5zY3JvbGxMZWZ0IDogZS5vZmZzZXQubGVmdCwgaSA9IGIubGVmdCAtIGMuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCwgaiA9IGkgLSBoLCBrID0gaSArIGMuY29sbGlzaW9uV2lkdGggLSBnIC0gaCwgbCA9IGMubXlbMF0gPT09IFwibGVmdFwiID8gLWMuZWxlbVdpZHRoIDogYy5teVswXSA9PT0gXCJyaWdodFwiID8gYy5lbGVtV2lkdGggOiAwLCBtID0gYy5hdFswXSA9PT0gXCJsZWZ0XCIgPyBjLnRhcmdldFdpZHRoIDogYy5hdFswXSA9PT0gXCJyaWdodFwiID8gLWMudGFyZ2V0V2lkdGggOiAwLCBuID0gLTIgKiBjLm9mZnNldFswXSwgbywgcDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGIubGVmdCArIGwgKyBtICsgbiArIGMuY29sbGlzaW9uV2lkdGggLSBnIC0gZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8gPCAwIHx8IG8gPCBkKGopKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gbCArIG0gKyBuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChrID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwID0gYi5sZWZ0IC0gYy5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0ICsgbCArIG0gKyBuIC0gaDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAgPiAwIHx8IGQocCkgPCBrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gbCArIG0gKyBuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGMsIFwicG9zQ29sbGlkZWRcIiwgXCJmbGlwTGVmdFwiKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0b3A6IGZ1bmN0aW9uIChiLCBjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuX3RyaWdnZXIoYiwgYywgXCJwb3NDb2xsaWRlXCIsIFwiZmxpcFRvcFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGMud2l0aGluLCBmID0gZS5vZmZzZXQudG9wICsgZS5zY3JvbGxUb3AsIGcgPSBlLmhlaWdodCwgaCA9IGUuaXNXaW5kb3cgPyBlLnNjcm9sbFRvcCA6IGUub2Zmc2V0LnRvcCwgaSA9IGIudG9wIC0gYy5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3AsIGogPSBpIC0gaCwgayA9IGkgKyBjLmNvbGxpc2lvbkhlaWdodCAtIGcgLSBoLCBsID0gYy5teVsxXSA9PT0gXCJ0b3BcIiwgbSA9IGwgPyAtYy5lbGVtSGVpZ2h0IDogYy5teVsxXSA9PT0gXCJib3R0b21cIiA/IGMuZWxlbUhlaWdodCA6IDAsIG4gPSBjLmF0WzFdID09PSBcInRvcFwiID8gYy50YXJnZXRIZWlnaHQgOiBjLmF0WzFdID09PSBcImJvdHRvbVwiID8gLWMudGFyZ2V0SGVpZ2h0IDogMCwgbyA9IC0yICogYy5vZmZzZXRbMV0sIHAsIHE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGogPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHEgPSBiLnRvcCArIG0gKyBuICsgbyArIGMuY29sbGlzaW9uSGVpZ2h0IC0gZyAtIGY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxIDwgMCB8fCBxIDwgZChqKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgKz0gbSArIG4gKyBvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChrID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwID0gYi50b3AgLSBjLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCArIG0gKyBuICsgbyAtIGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwID4gMCB8fCBkKHApIDwgaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgKz0gbSArIG4gKyBvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGMsIFwicG9zQ29sbGlkZWRcIiwgXCJmbGlwVG9wXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmbGlwZml0OiB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuZmxpcC5sZWZ0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuZml0LmxlZnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0b3A6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICBhLnVpLnBvcy5mbGlwLnRvcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLmZpdC50b3AuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGIsIGMsIGQsIGUsIGYsIGcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF0sIGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgICAgICBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChnID8gXCJkaXZcIiA6IFwiYm9keVwiKTtcclxuICAgICAgICAgICAgZCA9IHtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMCxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMCxcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMCxcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IFwibm9uZVwiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChnKSB7XHJcbiAgICAgICAgICAgICAgICBhLmV4dGVuZChkLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBcIi0xMDAwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IFwiLTEwMDBweFwiXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IgKGYgaW4gZCkge1xyXG4gICAgICAgICAgICAgICAgYi5zdHlsZVtmXSA9IGRbZl07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYi5hcHBlbmRDaGlsZChoKTtcclxuICAgICAgICAgICAgYyA9IGcgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgICAgICAgICBjLmluc2VydEJlZm9yZShiLCBjLmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICBoLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTAuNzQzMjIyMnB4O1wiO1xyXG4gICAgICAgICAgICBlID0gYShoKS5vZmZzZXQoKS5sZWZ0O1xyXG4gICAgICAgICAgICBhLnN1cHBvcnQub2Zmc2V0RnJhY3Rpb25zID0gZSA+IDEwICYmIGUgPCAxMTtcclxuICAgICAgICAgICAgYi5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgICAgICAgICBjLnJlbW92ZUNoaWxkKGIpO1xyXG4gICAgICAgIH0pKCk7XHJcbiAgICB9KSgpO1xyXG4gICAgdmFyIGMgPSBhLnVpLnBvc2l0aW9uO1xyXG59KTtcclxuXHJcbihmdW5jdGlvbiAoYSkge1xyXG4gICAgXCJ1c2Ugc3RyaWN0XCI7XHJcbiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIHtcclxuICAgICAgICBkZWZpbmUoW1wianF1ZXJ5XCJdLCBhKTtcclxuICAgIH0gZWxzZSBpZiAod2luZG93LmpRdWVyeSAmJiAhd2luZG93LmpRdWVyeS5mbi5pY29ucGlja2VyKSB7XHJcbiAgICAgICAgYSh3aW5kb3cualF1ZXJ5KTtcclxuICAgIH1cclxufSkoZnVuY3Rpb24gKGEpIHtcclxuICAgIFwidXNlIHN0cmljdFwiO1xyXG4gICAgdmFyIGIgPSB7XHJcbiAgICAgICAgaXNFbXB0eTogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGEgPT09IGZhbHNlIHx8IGEgPT09IFwiXCIgfHwgYSA9PT0gbnVsbCB8fCBhID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0VtcHR5T2JqZWN0OiBmdW5jdGlvbiAoYSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0VtcHR5KGEpID09PSB0cnVlIHx8IGEubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNFbGVtZW50OiBmdW5jdGlvbiAoYikge1xyXG4gICAgICAgICAgICByZXR1cm4gYShiKS5sZW5ndGggPiAwO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNTdHJpbmc6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgYSA9PT0gXCJzdHJpbmdcIiB8fCBhIGluc3RhbmNlb2YgU3RyaW5nO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNBcnJheTogZnVuY3Rpb24gKGIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGEuaXNBcnJheShiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluQXJyYXk6IGZ1bmN0aW9uIChiLCBjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhLmluQXJyYXkoYiwgYykgIT09IC0xO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGhyb3dFcnJvcjogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJGb250IEF3ZXNvbWUgSWNvbiBQaWNrZXIgRXhjZXB0aW9uOiBcIiArIGE7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHZhciBjID0gZnVuY3Rpb24gKGQsIGUpIHtcclxuICAgICAgICB0aGlzLl9pZCA9IGMuX2lkQ291bnRlcisrO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGEoZCkuYWRkQ2xhc3MoXCJpY29ucGlja2VyLWVsZW1lbnRcIik7XHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJDcmVhdGVcIiwge1xyXG4gICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gYS5leHRlbmQoe30sIGMuZGVmYXVsdE9wdGlvbnMsIHRoaXMuZWxlbWVudC5kYXRhKCksIGUpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMgPSBhLmV4dGVuZCh7fSwgYy5kZWZhdWx0T3B0aW9ucy50ZW1wbGF0ZXMsIHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5vcmlnaW5hbFBsYWNlbWVudCA9IHRoaXMub3B0aW9ucy5wbGFjZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBiLmlzRWxlbWVudCh0aGlzLm9wdGlvbnMuY29udGFpbmVyKSA/IGEodGhpcy5vcHRpb25zLmNvbnRhaW5lcikgOiBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5jb250YWluZXIgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnQuaXMoXCIuZHJvcGRvd24tdG9nZ2xlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IGEoXCJ+IC5kcm9wZG93bi1tZW51OmZpcnN0XCIsIHRoaXMuZWxlbWVudCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuZWxlbWVudC5pcyhcImlucHV0LHRleHRhcmVhLGJ1dHRvbiwuYnRuXCIpID8gdGhpcy5lbGVtZW50LnBhcmVudCgpIDogdGhpcy5lbGVtZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFkZENsYXNzKFwiaWNvbnBpY2tlci1jb250YWluZXJcIik7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNEcm9wZG93bk1lbnUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGxhY2VtZW50ID0gXCJpbmxpbmVcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pbnB1dCA9IHRoaXMuZWxlbWVudC5pcyhcImlucHV0LHRleHRhcmVhXCIpID8gdGhpcy5lbGVtZW50LmFkZENsYXNzKFwiaWNvbnBpY2tlci1pbnB1dFwiKSA6IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0ID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0ID0gdGhpcy5jb250YWluZXIuZmluZCh0aGlzLm9wdGlvbnMuaW5wdXQpO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaW5wdXQuaXMoXCJpbnB1dCx0ZXh0YXJlYVwiKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5pc0Ryb3Bkb3duTWVudSgpID8gdGhpcy5jb250YWluZXIucGFyZW50KCkuZmluZCh0aGlzLm9wdGlvbnMuY29tcG9uZW50KSA6IHRoaXMuY29udGFpbmVyLmZpbmQodGhpcy5vcHRpb25zLmNvbXBvbmVudCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LmZpbmQoXCJpXCIpLmFkZENsYXNzKFwiaWNvbnBpY2tlci1jb21wb25lbnRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZVBvcG92ZXIoKTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVJY29ucGlja2VyKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0QWNjZXB0QnV0dG9uKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5tdXN0QWNjZXB0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmlzSW5wdXRHcm91cCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnBhcmVudCgpLmFwcGVuZCh0aGlzLnBvcG92ZXIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZCh0aGlzLnBvcG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9iaW5kRWxlbWVudEV2ZW50cygpO1xyXG4gICAgICAgIHRoaXMuX2JpbmRXaW5kb3dFdmVudHMoKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZSh0aGlzLm9wdGlvbnMuc2VsZWN0ZWQpO1xyXG4gICAgICAgIGlmICh0aGlzLmlzSW5saW5lKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyQ3JlYXRlZFwiLCB7XHJcbiAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcbiAgICBjLl9pZENvdW50ZXIgPSAwO1xyXG4gICAgYy5kZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgICAgICB0aXRsZTogZmFsc2UsXHJcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXHJcbiAgICAgICAgcGxhY2VtZW50OiBcImJvdHRvbVwiLFxyXG4gICAgICAgIGNvbGxpc2lvbjogXCJub25lXCIsXHJcbiAgICAgICAgYW5pbWF0aW9uOiB0cnVlLFxyXG4gICAgICAgIGhpZGVPblNlbGVjdDogZmFsc2UsXHJcbiAgICAgICAgc2hvd0Zvb3RlcjogZmFsc2UsXHJcbiAgICAgICAgc2VhcmNoSW5Gb290ZXI6IGZhbHNlLFxyXG4gICAgICAgIG11c3RBY2NlcHQ6IGZhbHNlLFxyXG4gICAgICAgIHNlbGVjdGVkQ3VzdG9tQ2xhc3M6IFwiYmctcHJpbWFyeVwiLFxyXG4gICAgICAgIGljb25zOiBbXSxcclxuICAgICAgICBmdWxsQ2xhc3NGb3JtYXR0ZXI6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQ6IFwiaW5wdXQsLmljb25waWNrZXItaW5wdXRcIixcclxuICAgICAgICBpbnB1dFNlYXJjaDogZmFsc2UsXHJcbiAgICAgICAgY29udGFpbmVyOiBmYWxzZSxcclxuICAgICAgICBjb21wb25lbnQ6IFwiLmlucHV0LWdyb3VwLWFkZG9uLC5pY29ucGlja2VyLWNvbXBvbmVudFwiLFxyXG4gICAgICAgIHRlbXBsYXRlczoge1xyXG4gICAgICAgICAgICBwb3BvdmVyOiAnPGRpdiBjbGFzcz1cImljb25waWNrZXItcG9wb3ZlciBwb3BvdmVyXCI+PGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+JyArICc8ZGl2IGNsYXNzPVwicG9wb3Zlci10aXRsZVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRlbnRcIj48L2Rpdj48L2Rpdj4nLFxyXG4gICAgICAgICAgICBmb290ZXI6ICc8ZGl2IGNsYXNzPVwicG9wb3Zlci1mb290ZXJcIj48L2Rpdj4nLFxyXG4gICAgICAgICAgICBidXR0b25zOiAnPGJ1dHRvbiBjbGFzcz1cImljb25waWNrZXItYnRuIGljb25waWNrZXItYnRuLWNhbmNlbCBidG4gYnRuLWRlZmF1bHQgYnRuLXNtXCI+Q2FuY2VsPC9idXR0b24+JyArICcgPGJ1dHRvbiBjbGFzcz1cImljb25waWNrZXItYnRuIGljb25waWNrZXItYnRuLWFjY2VwdCBidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+QWNjZXB0PC9idXR0b24+JyxcclxuICAgICAgICAgICAgc2VhcmNoOiAnPGlucHV0IHR5cGU9XCJzZWFyY2hcIiBjbGFzcz1cImZvcm0tY29udHJvbCBpY29ucGlja2VyLXNlYXJjaFwiIHBsYWNlaG9sZGVyPVwiVHlwZSB0byBmaWx0ZXJcIiAvPicsXHJcbiAgICAgICAgICAgIGljb25waWNrZXI6ICc8ZGl2IGNsYXNzPVwiaWNvbnBpY2tlclwiPjxkaXYgY2xhc3M9XCJpY29ucGlja2VyLWl0ZW1zXCI+PC9kaXY+PC9kaXY+JyxcclxuICAgICAgICAgICAgaWNvbnBpY2tlckl0ZW06ICc8YSByb2xlPVwiYnV0dG9uXCIgaHJlZj1cIiNcIiBjbGFzcz1cImljb25waWNrZXItaXRlbVwiPjxpPjwvaT48L2E+J1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBjLmJhdGNoID0gZnVuY3Rpb24gKGIsIGMpIHtcclxuICAgICAgICB2YXIgZCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMik7XHJcbiAgICAgICAgcmV0dXJuIGEoYikuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHZhciBiID0gYSh0aGlzKS5kYXRhKFwiaWNvbnBpY2tlclwiKTtcclxuICAgICAgICAgICAgaWYgKCEhYikge1xyXG4gICAgICAgICAgICAgICAgYltjXS5hcHBseShiLCBkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIGMucHJvdG90eXBlID0ge1xyXG4gICAgICAgIGNvbnN0cnVjdG9yOiBjLFxyXG4gICAgICAgIG9wdGlvbnM6IHt9LFxyXG4gICAgICAgIF9pZDogMCxcclxuICAgICAgICBfdHJpZ2dlcjogZnVuY3Rpb24gKGIsIGMpIHtcclxuICAgICAgICAgICAgYyA9IGMgfHwge307XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC50cmlnZ2VyKGEuZXh0ZW5kKHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IGIsXHJcbiAgICAgICAgICAgICAgICBpY29ucGlja2VySW5zdGFuY2U6IHRoaXNcclxuICAgICAgICAgICAgfSwgYykpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX2NyZWF0ZVBvcG92ZXI6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyID0gYSh0aGlzLm9wdGlvbnMudGVtcGxhdGVzLnBvcG92ZXIpO1xyXG4gICAgICAgICAgICB2YXIgYyA9IHRoaXMucG9wb3Zlci5maW5kKFwiLnBvcG92ZXItdGl0bGVcIik7XHJcbiAgICAgICAgICAgIGlmICghIXRoaXMub3B0aW9ucy50aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgYy5hcHBlbmQoYSgnPGRpdiBjbGFzcz1cInBvcG92ZXItdGl0bGUtdGV4dFwiPicgKyB0aGlzLm9wdGlvbnMudGl0bGUgKyBcIjwvZGl2PlwiKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdGVkU2VhcmNoSW5wdXQoKSAmJiAhdGhpcy5vcHRpb25zLnNlYXJjaEluRm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBjLmFwcGVuZCh0aGlzLm9wdGlvbnMudGVtcGxhdGVzLnNlYXJjaCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMub3B0aW9ucy50aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgYy5yZW1vdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnNob3dGb290ZXIgJiYgIWIuaXNFbXB0eSh0aGlzLm9wdGlvbnMudGVtcGxhdGVzLmZvb3RlcikpIHtcclxuICAgICAgICAgICAgICAgIHZhciBkID0gYSh0aGlzLm9wdGlvbnMudGVtcGxhdGVzLmZvb3Rlcik7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0ZWRTZWFyY2hJbnB1dCgpICYmIHRoaXMub3B0aW9ucy5zZWFyY2hJbkZvb3Rlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGQuYXBwZW5kKGEodGhpcy5vcHRpb25zLnRlbXBsYXRlcy5zZWFyY2gpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghYi5pc0VtcHR5KHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuYnV0dG9ucykpIHtcclxuICAgICAgICAgICAgICAgICAgICBkLmFwcGVuZChhKHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuYnV0dG9ucykpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmFwcGVuZChkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmFuaW1hdGlvbiA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmFkZENsYXNzKFwiZmFkZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX2NyZWF0ZUljb25waWNrZXI6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGIgPSB0aGlzO1xyXG4gICAgICAgICAgICB0aGlzLmljb25waWNrZXIgPSBhKHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuaWNvbnBpY2tlcik7XHJcbiAgICAgICAgICAgIHZhciBjID0gZnVuY3Rpb24gKGMpIHtcclxuICAgICAgICAgICAgICAgIHZhciBkID0gYSh0aGlzKTtcclxuICAgICAgICAgICAgICAgIGlmIChkLmlzKFwiaVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGQgPSBkLnBhcmVudCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYi5fdHJpZ2dlcihcImljb25waWNrZXJTZWxlY3RcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJJdGVtOiBkLFxyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogYi5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKGIub3B0aW9ucy5tdXN0QWNjZXB0ID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGIudXBkYXRlKGQuZGF0YShcImljb25waWNrZXJWYWx1ZVwiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYi5fdHJpZ2dlcihcImljb25waWNrZXJTZWxlY3RlZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJJdGVtOiB0aGlzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IGIuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGIudXBkYXRlKGQuZGF0YShcImljb25waWNrZXJWYWx1ZVwiKSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5vcHRpb25zLmhpZGVPblNlbGVjdCAmJiBiLm9wdGlvbnMubXVzdEFjY2VwdCA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgZm9yICh2YXIgZCBpbiB0aGlzLm9wdGlvbnMuaWNvbnMpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLmljb25zW2RdLnRpdGxlID09PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBhKHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuaWNvbnBpY2tlckl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGUuZmluZChcImlcIikuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmZ1bGxDbGFzc0Zvcm1hdHRlcih0aGlzLm9wdGlvbnMuaWNvbnNbZF0udGl0bGUpKTtcclxuICAgICAgICAgICAgICAgICAgICBlLmRhdGEoXCJpY29ucGlja2VyVmFsdWVcIiwgdGhpcy5vcHRpb25zLmljb25zW2RdLnRpdGxlKS5vbihcImNsaWNrLmljb25waWNrZXJcIiwgYyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pY29ucGlja2VyLmZpbmQoXCIuaWNvbnBpY2tlci1pdGVtc1wiKS5hcHBlbmQoZS5hdHRyKFwidGl0bGVcIiwgXCIuXCIgKyB0aGlzLm9wdGlvbnMuaWNvbnNbZF0udGl0bGUpKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmljb25zW2RdLnNlYXJjaFRlcm1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGYgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBnID0gMDsgZyA8IHRoaXMub3B0aW9ucy5pY29uc1tkXS5zZWFyY2hUZXJtcy5sZW5ndGg7IGcrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZiA9IGYgKyB0aGlzLm9wdGlvbnMuaWNvbnNbZF0uc2VhcmNoVGVybXNbZ10gKyBcIiBcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmljb25waWNrZXIuZmluZChcIi5pY29ucGlja2VyLWl0ZW1zXCIpLmFwcGVuZChlLmF0dHIoXCJkYXRhLXNlYXJjaC10ZXJtc1wiLCBmKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5maW5kKFwiLnBvcG92ZXItY29udGVudFwiKS5hcHBlbmQodGhpcy5pY29ucGlja2VyKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWNvbnBpY2tlcjtcclxuICAgICAgICB9LFxyXG4gICAgICAgIF9pc0V2ZW50SW5zaWRlSWNvbnBpY2tlcjogZnVuY3Rpb24gKGIpIHtcclxuICAgICAgICAgICAgdmFyIGMgPSBhKGIudGFyZ2V0KTtcclxuICAgICAgICAgICAgaWYgKCghYy5oYXNDbGFzcyhcImljb25waWNrZXItZWxlbWVudFwiKSB8fCBjLmhhc0NsYXNzKFwiaWNvbnBpY2tlci1lbGVtZW50XCIpICYmICFjLmlzKHRoaXMuZWxlbWVudCkpICYmIGMucGFyZW50cyhcIi5pY29ucGlja2VyLXBvcG92ZXJcIikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfYmluZEVsZW1lbnRFdmVudHM6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGMgPSB0aGlzO1xyXG4gICAgICAgICAgICB0aGlzLmdldFNlYXJjaElucHV0KCkub24oXCJrZXl1cC5pY29ucGlja2VyXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIGMuZmlsdGVyKGEodGhpcykudmFsKCkudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmdldEFjY2VwdEJ1dHRvbigpLm9uKFwiY2xpY2suaWNvbnBpY2tlclwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgYSA9IGMuaWNvbnBpY2tlci5maW5kKFwiLmljb25waWNrZXItc2VsZWN0ZWRcIikuZ2V0KDApO1xyXG4gICAgICAgICAgICAgICAgYy51cGRhdGUoYy5pY29ucGlja2VyVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgYy5fdHJpZ2dlcihcImljb25waWNrZXJTZWxlY3RlZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbnBpY2tlckl0ZW06IGEsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbnBpY2tlclZhbHVlOiBjLmljb25waWNrZXJWYWx1ZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWMuaXNJbmxpbmUoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGMuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5nZXRDYW5jZWxCdXR0b24oKS5vbihcImNsaWNrLmljb25waWNrZXJcIiwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFjLmlzSW5saW5lKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5vbihcImZvY3VzLmljb25waWNrZXJcIiwgZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgICAgIGMuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgYS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NvbXBvbmVudCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5vbihcImNsaWNrLmljb25waWNrZXJcIiwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGMudG9nZ2xlKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Lm9uKFwia2V5dXAuaWNvbnBpY2tlclwiLCBmdW5jdGlvbiAoZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYi5pbkFycmF5KGQua2V5Q29kZSwgWzM4LCA0MCwgMzcsIDM5LCAxNiwgMTcsIDE4LCA5LCA4LCA5MSwgOTMsIDIwLCA0NiwgMTg2LCAxOTAsIDQ2LCA3OCwgMTg4LCA0NCwgODZdKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjLnVwZGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMuX3VwZGF0ZUZvcm1Hcm91cFN0YXR1cyhjLmdldFZhbGlkKHRoaXMudmFsdWUpICE9PSBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjLm9wdGlvbnMuaW5wdXRTZWFyY2ggPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYy5maWx0ZXIoYSh0aGlzKS52YWwoKS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX2JpbmRXaW5kb3dFdmVudHM6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGIgPSBhKHdpbmRvdy5kb2N1bWVudCk7XHJcbiAgICAgICAgICAgIHZhciBjID0gdGhpcztcclxuICAgICAgICAgICAgdmFyIGQgPSBcIi5pY29ucGlja2VyLmluc3RcIiArIHRoaXMuX2lkO1xyXG4gICAgICAgICAgICBhKHdpbmRvdykub24oXCJyZXNpemUuaWNvbnBpY2tlclwiICsgZCArIFwiIG9yaWVudGF0aW9uY2hhbmdlLmljb25waWNrZXJcIiArIGQsIGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYy5wb3BvdmVyLmhhc0NsYXNzKFwiaW5cIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBjLnVwZGF0ZVBsYWNlbWVudCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKCFjLmlzSW5saW5lKCkpIHtcclxuICAgICAgICAgICAgICAgIGIub24oXCJtb3VzZXVwXCIgKyBkLCBmdW5jdGlvbiAoYSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghYy5faXNFdmVudEluc2lkZUljb25waWNrZXIoYSkgJiYgIWMuaXNJbmxpbmUoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX3VuYmluZEVsZW1lbnRFdmVudHM6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLm9mZihcIi5pY29ucGlja2VyXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQub2ZmKFwiLmljb25waWNrZXJcIik7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0lucHV0KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQub2ZmKFwiLmljb25waWNrZXJcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ29tcG9uZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm9mZihcIi5pY29ucGlja2VyXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NvbnRhaW5lcigpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lci5vZmYoXCIuaWNvbnBpY2tlclwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX3VuYmluZFdpbmRvd0V2ZW50czogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBhKHdpbmRvdykub2ZmKFwiLmljb25waWNrZXIuaW5zdFwiICsgdGhpcy5faWQpO1xyXG4gICAgICAgICAgICBhKHdpbmRvdy5kb2N1bWVudCkub2ZmKFwiLmljb25waWNrZXIuaW5zdFwiICsgdGhpcy5faWQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdXBkYXRlUGxhY2VtZW50OiBmdW5jdGlvbiAoYiwgYykge1xyXG4gICAgICAgICAgICBiID0gYiB8fCB0aGlzLm9wdGlvbnMucGxhY2VtZW50O1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGxhY2VtZW50ID0gYjtcclxuICAgICAgICAgICAgYyA9IGMgfHwgdGhpcy5vcHRpb25zLmNvbGxpc2lvbjtcclxuICAgICAgICAgICAgYyA9IGMgPT09IHRydWUgPyBcImZsaXBcIiA6IGM7XHJcbiAgICAgICAgICAgIHZhciBkID0ge1xyXG4gICAgICAgICAgICAgICAgYXQ6IFwicmlnaHQgYm90dG9tXCIsXHJcbiAgICAgICAgICAgICAgICBteTogXCJyaWdodCB0b3BcIixcclxuICAgICAgICAgICAgICAgIG9mOiB0aGlzLmhhc0lucHV0KCkgJiYgIXRoaXMuaXNJbnB1dEdyb3VwKCkgPyB0aGlzLmlucHV0IDogdGhpcy5jb250YWluZXIsXHJcbiAgICAgICAgICAgICAgICBjb2xsaXNpb246IGMgPT09IHRydWUgPyBcImZsaXBcIiA6IGMsXHJcbiAgICAgICAgICAgICAgICB3aXRoaW46IHdpbmRvd1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIucmVtb3ZlQ2xhc3MoXCJpbmxpbmUgdG9wTGVmdENvcm5lciB0b3BMZWZ0IHRvcCB0b3BSaWdodCB0b3BSaWdodENvcm5lciBcIiArIFwicmlnaHRUb3AgcmlnaHQgcmlnaHRCb3R0b20gYm90dG9tUmlnaHQgYm90dG9tUmlnaHRDb3JuZXIgXCIgKyBcImJvdHRvbSBib3R0b21MZWZ0IGJvdHRvbUxlZnRDb3JuZXIgbGVmdEJvdHRvbSBsZWZ0IGxlZnRUb3BcIik7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgYiA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9wb3Zlci5wb3MoYS5leHRlbmQoe30sIGQsIGIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzd2l0Y2ggKGIpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJpbmxpbmVcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcInRvcExlZnRDb3JuZXJcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcInJpZ2h0IGJvdHRvbVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJsZWZ0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidG9wTGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwibGVmdCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwibGVmdCB0b3BcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcInRvcFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwiY2VudGVyIGJvdHRvbVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJjZW50ZXIgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0b3BSaWdodFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwicmlnaHQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidG9wUmlnaHRDb3JuZXJcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcImxlZnQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmlnaHRUb3BcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcImxlZnQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IGNlbnRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmlnaHRcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcImxlZnQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IGNlbnRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwicmlnaHRCb3R0b21cIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcImxlZnQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IGNlbnRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYm90dG9tUmlnaHRDb3JuZXJcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcImxlZnQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IGJvdHRvbVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYm90dG9tUmlnaHRcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcInJpZ2h0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJyaWdodCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcImJvdHRvbVwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwiY2VudGVyIHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJjZW50ZXIgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJib3R0b21MZWZ0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJsZWZ0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJsZWZ0IGJvdHRvbVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYm90dG9tTGVmdENvcm5lclwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwicmlnaHQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImxlZnQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJsZWZ0Qm90dG9tXCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJyaWdodCB0b3BcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwibGVmdCBjZW50ZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcImxlZnRcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcInJpZ2h0IGNlbnRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJsZWZ0IGNlbnRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFRvcFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwicmlnaHQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImxlZnQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5jc3Moe1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGhpcy5vcHRpb25zLnBsYWNlbWVudCA9PT0gXCJpbmxpbmVcIiA/IFwiXCIgOiBcImJsb2NrXCJcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmIChkICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLnBvcyhkKS5jc3MoXCJtYXhXaWR0aFwiLCBhKHdpbmRvdykud2lkdGgoKSAtIHRoaXMuY29udGFpbmVyLm9mZnNldCgpLmxlZnQgLSA1KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wb3Zlci5jc3Moe1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogXCJhdXRvXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IFwiYXV0b1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogXCJhdXRvXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogXCJhdXRvXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6IFwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnBsYWNlbWVudCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX3VwZGF0ZUNvbXBvbmVudHM6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdGhpcy5pY29ucGlja2VyLmZpbmQoXCIuaWNvbnBpY2tlci1pdGVtLmljb25waWNrZXItc2VsZWN0ZWRcIikucmVtb3ZlQ2xhc3MoXCJpY29ucGlja2VyLXNlbGVjdGVkIFwiICsgdGhpcy5vcHRpb25zLnNlbGVjdGVkQ3VzdG9tQ2xhc3MpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pY29ucGlja2VyVmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbnBpY2tlci5maW5kKFwiLlwiICsgdGhpcy5vcHRpb25zLmZ1bGxDbGFzc0Zvcm1hdHRlcih0aGlzLmljb25waWNrZXJWYWx1ZSkucmVwbGFjZSgvIC9nLCBcIi5cIikpLnBhcmVudCgpLmFkZENsYXNzKFwiaWNvbnBpY2tlci1zZWxlY3RlZCBcIiArIHRoaXMub3B0aW9ucy5zZWxlY3RlZEN1c3RvbUNsYXNzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNDb21wb25lbnQoKSkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGEgPSB0aGlzLmNvbXBvbmVudC5maW5kKFwiaVwiKTtcclxuICAgICAgICAgICAgICAgIGlmIChhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBhLmF0dHIoXCJjbGFzc1wiLCB0aGlzLm9wdGlvbnMuZnVsbENsYXNzRm9ybWF0dGVyKHRoaXMuaWNvbnBpY2tlclZhbHVlKSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lmh0bWwodGhpcy5nZXRIdG1sKCkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfdXBkYXRlRm9ybUdyb3VwU3RhdHVzOiBmdW5jdGlvbiAoYSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYSAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnBhcmVudHMoXCIuZm9ybS1ncm91cDpmaXJzdFwiKS5yZW1vdmVDbGFzcyhcImhhcy1lcnJvclwiKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5wYXJlbnRzKFwiLmZvcm0tZ3JvdXA6Zmlyc3RcIikuYWRkQ2xhc3MoXCJoYXMtZXJyb3JcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRWYWxpZDogZnVuY3Rpb24gKGMpIHtcclxuICAgICAgICAgICAgaWYgKCFiLmlzU3RyaW5nKGMpKSB7XHJcbiAgICAgICAgICAgICAgICBjID0gXCJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2YXIgZCA9IGMgPT09IFwiXCI7XHJcbiAgICAgICAgICAgIGMgPSBhLnRyaW0oYyk7XHJcbiAgICAgICAgICAgIHZhciBlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGZvciAodmFyIGYgPSAwOyBmIDwgdGhpcy5vcHRpb25zLmljb25zLmxlbmd0aDsgZisrKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmljb25zW2ZdLnRpdGxlID09PSBjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGUgfHwgZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2V0VmFsdWU6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIHZhciBiID0gdGhpcy5nZXRWYWxpZChhKTtcclxuICAgICAgICAgICAgaWYgKGIgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmljb25waWNrZXJWYWx1ZSA9IGI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNldFZhbHVlXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IGJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWNvbnBpY2tlclZhbHVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJJbnZhbGlkXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IGFcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRIdG1sOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnPGkgY2xhc3M9XCInICsgdGhpcy5vcHRpb25zLmZ1bGxDbGFzc0Zvcm1hdHRlcih0aGlzLmljb25waWNrZXJWYWx1ZSkgKyAnXCI+PC9pPic7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXRTb3VyY2VWYWx1ZTogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgYSA9IHRoaXMuc2V0VmFsdWUoYSk7XHJcbiAgICAgICAgICAgIGlmIChhICE9PSBmYWxzZSAmJiBhICE9PSBcIlwiKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dC52YWwodGhpcy5pY29ucGlja2VyVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuZGF0YShcImljb25waWNrZXJWYWx1ZVwiLCB0aGlzLmljb25waWNrZXJWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNldFNvdXJjZVZhbHVlXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IGFcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBhO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZ2V0U291cmNlVmFsdWU6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIGEgPSBhIHx8IHRoaXMub3B0aW9ucy5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgICAgIHZhciBiID0gYTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSW5wdXQoKSkge1xyXG4gICAgICAgICAgICAgICAgYiA9IHRoaXMuaW5wdXQudmFsKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBiID0gdGhpcy5lbGVtZW50LmRhdGEoXCJpY29ucGlja2VyVmFsdWVcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGIgPT09IHVuZGVmaW5lZCB8fCBiID09PSBcIlwiIHx8IGIgPT09IG51bGwgfHwgYiA9PT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIGIgPSBhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBiO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFzSW5wdXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQgIT09IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNJbnB1dFNlYXJjaDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYXNJbnB1dCgpICYmIHRoaXMub3B0aW9ucy5pbnB1dFNlYXJjaCA9PT0gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGlzSW5wdXRHcm91cDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuaXMoXCIuaW5wdXQtZ3JvdXBcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0Ryb3Bkb3duTWVudTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuaXMoXCIuZHJvcGRvd24tbWVudVwiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhc1NlcGFyYXRlZFNlYXJjaElucHV0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGVtcGxhdGVzLnNlYXJjaCAhPT0gZmFsc2UgJiYgIXRoaXMuaXNJbnB1dFNlYXJjaCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFzQ29tcG9uZW50OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbXBvbmVudCAhPT0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYXNDb250YWluZXI6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyICE9PSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldEFjY2VwdEJ1dHRvbjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyLmZpbmQoXCIuaWNvbnBpY2tlci1idG4tYWNjZXB0XCIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZ2V0Q2FuY2VsQnV0dG9uOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZmluZChcIi5pY29ucGlja2VyLWJ0bi1jYW5jZWxcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRTZWFyY2hJbnB1dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyLmZpbmQoXCIuaWNvbnBpY2tlci1zZWFyY2hcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmaWx0ZXI6IGZ1bmN0aW9uIChjKSB7XHJcbiAgICAgICAgICAgIGlmIChiLmlzRW1wdHkoYykpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbnBpY2tlci5maW5kKFwiLmljb25waWNrZXItaXRlbVwiKS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYShmYWxzZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29ucGlja2VyLmZpbmQoXCIuaWNvbnBpY2tlci1pdGVtXCIpLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBiID0gYSh0aGlzKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGIuYXR0cihcInRpdGxlXCIpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGYgPSBiLmF0dHIoXCJkYXRhLXNlYXJjaC10ZXJtc1wiKSA/IGIuYXR0cihcImRhdGEtc2VhcmNoLXRlcm1zXCIpLnRvTG93ZXJDYXNlKCkgOiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGUgPSBlICsgXCIgXCIgKyBmO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZyA9IG5ldyBSZWdFeHAoXCIoXnxcXFxcVylcIiArIGMsIFwiZ1wiKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGcgIT09IGZhbHNlICYmIGUubWF0Y2goZykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5wdXNoKGIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiLnNob3coKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzaG93OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXIuaGFzQ2xhc3MoXCJpblwiKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEuaWNvbnBpY2tlci5iYXRjaChhKFwiLmljb25waWNrZXItcG9wb3Zlci5pbjpub3QoLmlubGluZSlcIikubm90KHRoaXMucG9wb3ZlciksIFwiaGlkZVwiKTtcclxuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJTaG93XCIsIHtcclxuICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGxhY2VtZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5hZGRDbGFzcyhcImluXCIpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGEucHJveHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNzcyhcImRpc3BsYXlcIiwgdGhpcy5pc0lubGluZSgpID8gXCJcIiA6IFwiYmxvY2tcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNob3duXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSwgdGhpcyksIHRoaXMub3B0aW9ucy5hbmltYXRpb24gPyAzMDAgOiAxKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhpZGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXIuaGFzQ2xhc3MoXCJpblwiKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VySGlkZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIucmVtb3ZlQ2xhc3MoXCJpblwiKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dChhLnByb3h5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9wb3Zlci5jc3MoXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VhcmNoSW5wdXQoKS52YWwoXCJcIik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcihcIlwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VySGlkZGVuXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSwgdGhpcyksIHRoaXMub3B0aW9ucy5hbmltYXRpb24gPyAzMDAgOiAxKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRvZ2dsZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wb3BvdmVyLmlzKFwiOnZpc2libGVcIikpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93KHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB1cGRhdGU6IGZ1bmN0aW9uIChhLCBiKSB7XHJcbiAgICAgICAgICAgIGEgPSBhID8gYSA6IHRoaXMuZ2V0U291cmNlVmFsdWUodGhpcy5pY29ucGlja2VyVmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlclVwZGF0ZVwiLCB7XHJcbiAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpZiAoYiA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgYSA9IHRoaXMuc2V0VmFsdWUoYSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBhID0gdGhpcy5zZXRTb3VyY2VWYWx1ZShhKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUZvcm1Hcm91cFN0YXR1cyhhICE9PSBmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGEgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDb21wb25lbnRzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJVcGRhdGVkXCIsIHtcclxuICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBhO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGVzdHJveTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlckRlc3Ryb3lcIiwge1xyXG4gICAgICAgICAgICAgICAgaWNvbnBpY2tlclZhbHVlOiB0aGlzLmljb25waWNrZXJWYWx1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZURhdGEoXCJpY29ucGlja2VyXCIpLnJlbW92ZURhdGEoXCJpY29ucGlja2VyVmFsdWVcIikucmVtb3ZlQ2xhc3MoXCJpY29ucGlja2VyLWVsZW1lbnRcIik7XHJcbiAgICAgICAgICAgIHRoaXMuX3VuYmluZEVsZW1lbnRFdmVudHMoKTtcclxuICAgICAgICAgICAgdGhpcy5fdW5iaW5kV2luZG93RXZlbnRzKCk7XHJcbiAgICAgICAgICAgIGEodGhpcy5wb3BvdmVyKS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJEZXN0cm95ZWRcIiwge1xyXG4gICAgICAgICAgICAgICAgaWNvbnBpY2tlclZhbHVlOiB0aGlzLmljb25waWNrZXJWYWx1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRpc2FibGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSW5wdXQoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5wcm9wKFwiZGlzYWJsZWRcIiwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlbmFibGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSW5wdXQoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5wcm9wKFwiZGlzYWJsZWRcIiwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNEaXNhYmxlZDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dC5wcm9wKFwiZGlzYWJsZWRcIikgPT09IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNJbmxpbmU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQgPT09IFwiaW5saW5lXCIgfHwgdGhpcy5wb3BvdmVyLmhhc0NsYXNzKFwiaW5saW5lXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBhLmljb25waWNrZXIgPSBjO1xyXG4gICAgYS5mbi5pY29ucGlja2VyID0gZnVuY3Rpb24gKGIpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGQgPSBhKHRoaXMpO1xyXG4gICAgICAgICAgICBpZiAoIWQuZGF0YShcImljb25waWNrZXJcIikpIHtcclxuICAgICAgICAgICAgICAgIGQuZGF0YShcImljb25waWNrZXJcIiwgbmV3IGModGhpcywgdHlwZW9mIGIgPT09IFwib2JqZWN0XCIgPyBiIDoge30pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIGMuZGVmYXVsdE9wdGlvbnMgPSBhLmV4dGVuZChjLmRlZmF1bHRPcHRpb25zLCB7XHJcbiAgICAgICAgaWNvbnM6IFt7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS01MDBweFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hY2Nlc3NpYmxlLWljb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY2Vzc2liaWxpdHlcIiwgXCJoYW5kaWNhcFwiLCBcInBlcnNvblwiLCBcIndoZWVsY2hhaXJcIiwgXCJ3aGVlbGNoYWlyLWFsdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFjY3Vzb2Z0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFkZHJlc3MtYm9va1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1hZGRyZXNzLWJvb2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYWRkcmVzcy1jYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWFkZHJlc3MtY2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hZGp1c3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbnRyYXN0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYWRuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFkdmVyc2FsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFmZmlsaWF0ZXRoZW1lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFsZ29saWFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYWxpZ24tY2VudGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtaWRkbGVcIiwgXCJ0ZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYWxpZ24tanVzdGlmeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widGV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFsaWduLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInRleHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbGlnbi1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widGV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFsbGVyZ2llc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZnJlY2tsZXNcIiwgXCJoYW5kXCIsIFwiaW50b2xlcmFuY2VzXCIsIFwicG94XCIsIFwic3BvdHNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbWF6b25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYW1hem9uLXBheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbWJ1bGFuY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhlbHBcIiwgXCJtYWNoaW5lXCIsIFwic3VwcG9ydFwiLCBcInZlaGljbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbWlsaWFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5jaG9yXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsaW5rXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYW5kcm9pZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicm9ib3RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbmdlbGxpc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5nbGUtZG91YmxlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd3NcIiwgXCJiYWNrXCIsIFwibGFxdW9cIiwgXCJwcmV2aW91c1wiLCBcInF1b3RlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5nbGUtZG91YmxlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd3NcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiLCBcInF1b3RlXCIsIFwicmFxdW9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbmdsZS1kb3VibGUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFuZ2xlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5nbGUtbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJiYWNrXCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbmdsZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFuZ2xlLXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFuZ3J5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibWFkXCIsIFwidXBzZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1hbmdyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYXBwcm92ZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcIm1hZFwiLCBcInVwc2V0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYW5ncnljcmVhdGl2ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbmd1bGFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFwcC1zdG9yZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hcHAtc3RvcmUtaW9zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFwcGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFwcGxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb29kXCIsIFwiZnJ1aXRcIiwgXCJvc3hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hcHBsZS1wYXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJjaGl2ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYm94XCIsIFwicGFja2FnZVwiLCBcInN0b3JhZ2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcmNod2F5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcmNcIiwgXCJtb251bWVudFwiLCBcInJvYWRcIiwgXCJzdHJlZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1hbHQtY2lyY2xlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93LWNpcmNsZS1vLWRvd25cIiwgXCJkb3dubG9hZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWFycm93LWFsdC1jaXJjbGUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3ctY2lyY2xlLW8tZG93blwiLCBcImRvd25sb2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvdy1jaXJjbGUtby1sZWZ0XCIsIFwiYmFja1wiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvdy1jaXJjbGUtby1sZWZ0XCIsIFwiYmFja1wiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3ctY2lyY2xlLW8tcmlnaHRcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWFycm93LWFsdC1jaXJjbGUtcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93LWNpcmNsZS1vLXJpZ2h0XCIsIFwiZm9yd2FyZFwiLCBcIm5leHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1hbHQtY2lyY2xlLXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvdy1jaXJjbGUtby11cFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWFycm93LWFsdC1jaXJjbGUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93LWNpcmNsZS1vLXVwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3ctY2lyY2xlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvd25sb2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3ctY2lyY2xlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhY2tcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LWNpcmNsZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZm9yd2FyZFwiLCBcIm5leHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1jaXJjbGUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3ctZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG93bmxvYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZm9yd2FyZFwiLCBcIm5leHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvd3MtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImFycm93c1wiLCBcImJpZ2dlclwiLCBcImVubGFyZ2VcIiwgXCJleHBhbmRcIiwgXCJmdWxsc2NyZWVuXCIsIFwibW92ZVwiLCBcInBvc2l0aW9uXCIsIFwicmVvcmRlclwiLCBcInJlc2l6ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93cy1hbHQtaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dzLWhcIiwgXCJyZXNpemVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvd3MtYWx0LXZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93cy12XCIsIFwicmVzaXplXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFzdGVyaXNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXRhaWxzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXN5bW1ldHJpa1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZS1tYWlsXCIsIFwiZW1haWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hdGxhc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYm9va1wiLCBcImRpcmVjdGlvbnNcIiwgXCJnZW9ncmFwaHlcIiwgXCJtYXBcIiwgXCJ3YXlmaW5kaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXVkaWJsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hdWRpby1kZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hdXRvcHJlZml4ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXZpYW5leFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hdmlhdG9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXdhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhvbm9yXCIsIFwicHJhaXNlXCIsIFwicHJpemVcIiwgXCJyZWNvZ25pdGlvblwiLCBcInJpYmJvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWF3c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYWNrc3BhY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbW1hbmRcIiwgXCJkZWxldGVcIiwgXCJrZXlib2FyZFwiLCBcInVuZG9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYWNrd2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicHJldmlvdXNcIiwgXCJyZXdpbmRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYWxhbmNlLXNjYWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWxhbmNlZFwiLCBcImp1c3RpY2VcIiwgXCJsZWdhbFwiLCBcIm1lYXN1cmVcIiwgXCJ3ZWlnaHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFib3J0XCIsIFwiYmFuXCIsIFwiYmxvY2tcIiwgXCJjYW5jZWxcIiwgXCJkZWxldGVcIiwgXCJoaWRlXCIsIFwicHJvaGliaXRcIiwgXCJyZW1vdmVcIiwgXCJzdG9wXCIsIFwidHJhc2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYW5kLWFpZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFuZGFnZVwiLCBcImJvbyBib29cIiwgXCJvdWNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYmFuZGNhbXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmFyY29kZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2NhblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImRyYWdcIiwgXCJoYW1idXJnZXJcIiwgXCJsaXN0XCIsIFwibWVudVwiLCBcIm5hdlwiLCBcIm5hdmlnYXRpb25cIiwgXCJvbFwiLCBcInJlb3JkZXJcIiwgXCJzZXR0aW5nc1wiLCBcInRvZG9cIiwgXCJ1bFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhc2ViYWxsLWJhbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmFza2V0YmFsbC1iYWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhdGhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmF0dGVyeS1lbXB0eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicG93ZXJcIiwgXCJzdGF0dXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYXR0ZXJ5LWZ1bGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBvd2VyXCIsIFwic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmF0dGVyeS1oYWxmXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwb3dlclwiLCBcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhdHRlcnktcXVhcnRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicG93ZXJcIiwgXCJzdGF0dXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwb3dlclwiLCBcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibG9kZ2luZ1wiLCBcInNsZWVwXCIsIFwidHJhdmVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmVlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxjb2hvbFwiLCBcImJhclwiLCBcImRyaW5rXCIsIFwibGlxdW9yXCIsIFwibXVnXCIsIFwic3RlaW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1iZWhhbmNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJlaGFuY2Utc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJlbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsZXJ0XCIsIFwibm90aWZpY2F0aW9uXCIsIFwicmVtaW5kZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1iZWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGVydFwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInJlbWluZGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmVsbC1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1iZWxsLXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJlemllci1jdXJ2ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY3VydmVzXCIsIFwiaWxsdXN0cmF0b3JcIiwgXCJsaW5lc1wiLCBcInBhdGhcIiwgXCJ2ZWN0b3JcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iaWN5Y2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaWtlXCIsIFwiZ2VhcnNcIiwgXCJ0cmFuc3BvcnRhdGlvblwiLCBcInZlaGljbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1iaW1vYmplY3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmlub2N1bGFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iaXJ0aGRheS1jYWtlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJpdGJ1Y2tldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYml0YnVja2V0LXNxdWFyZVwiLCBcImdpdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJpdGNvaW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYml0eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ibGFjay10aWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYmxhY2tiZXJyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ibGVuZGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJsaW5kXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJsb2dnZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYmxvZ2dlci1iXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJsdWV0b290aFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ibHVldG9vdGgtYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib2xkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVsZWN0cmljaXR5XCIsIFwibGlnaHRuaW5nXCIsIFwid2VhdGhlclwiLCBcInphcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvbWJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm9uZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBhcmF0dXNcIiwgXCJjYW5uYWJpc1wiLCBcIm1hcmlqdWFuYVwiLCBcInBpcGVcIiwgXCJzbW9rZVwiLCBcInNtb2tpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib29rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudGF0aW9uXCIsIFwicmVhZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvb2stb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmx5ZXJcIiwgXCJub3RlYm9va1wiLCBcIm9wZW4gYm9va1wiLCBcInBhbXBobGV0XCIsIFwicmVhZGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvb2ttYXJrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzYXZlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYm9va21hcmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNhdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib3dsaW5nLWJhbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm94XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwYWNrYWdlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm94LW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm94ZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYnJhaWxsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1icmllZmNhc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhZ1wiLCBcImJ1c2luZXNzXCIsIFwibHVnZ2FnZVwiLCBcIm9mZmljZVwiLCBcIndvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1icmllZmNhc2UtbWVkaWNhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGVhbHRoIGJyaWVmY2FzZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJyb2FkY2FzdC10b3dlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWlyd2F2ZXNcIiwgXCJyYWRpb1wiLCBcIndhdmVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYnJvb21cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYnJ1c2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyaXN0bGVzXCIsIFwiY29sb3JcIiwgXCJoYW5kbGVcIiwgXCJwYWludGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJ0Y1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1idWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImluc2VjdFwiLCBcInJlcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJ1aWxkaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcGFydG1lbnRcIiwgXCJidXNpbmVzc1wiLCBcImNvbXBhbnlcIiwgXCJvZmZpY2VcIiwgXCJ3b3JrXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYnVpbGRpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFwYXJ0bWVudFwiLCBcImJ1c2luZXNzXCIsIFwiY29tcGFueVwiLCBcIm9mZmljZVwiLCBcIndvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1idWxsaG9yblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYW5ub3VuY2VtZW50XCIsIFwiYnJvYWRjYXN0XCIsIFwibG91ZGVyXCIsIFwibWVnYXBob25lXCIsIFwic2hhcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1idWxsc2V5ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widGFyZ2V0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYnVyblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW5lcmd5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYnVyb21vYmVsZXhwZXJ0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1idXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1hY2hpbmVcIiwgXCJwdWJsaWMgdHJhbnNwb3J0YXRpb25cIiwgXCJ0cmFuc3BvcnRhdGlvblwiLCBcInZlaGljbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1idXMtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtYWNoaW5lXCIsIFwicHVibGljIHRyYW5zcG9ydGF0aW9uXCIsIFwidHJhbnNwb3J0YXRpb25cIiwgXCJ2ZWhpY2xlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYnV5c2VsbGFkc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYWxjdWxhdG9yXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbGVuZGFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWxlbmRhci1vXCIsIFwiZGF0ZVwiLCBcImV2ZW50XCIsIFwic2NoZWR1bGVcIiwgXCJ0aW1lXCIsIFwid2hlblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhbGVuZGFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWxlbmRhci1vXCIsIFwiZGF0ZVwiLCBcImV2ZW50XCIsIFwic2NoZWR1bGVcIiwgXCJ0aW1lXCIsIFwid2hlblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbGVuZGFyLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FsZW5kYXJcIiwgXCJkYXRlXCIsIFwiZXZlbnRcIiwgXCJzY2hlZHVsZVwiLCBcInRpbWVcIiwgXCJ3aGVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2FsZW5kYXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWxlbmRhclwiLCBcImRhdGVcIiwgXCJldmVudFwiLCBcInNjaGVkdWxlXCIsIFwidGltZVwiLCBcIndoZW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYWxlbmRhci1jaGVja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJhcHBvaW50bWVudFwiLCBcImNvbmZpcm1cIiwgXCJjb3JyZWN0XCIsIFwiZG9uZVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRvZG9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYWxlbmRhci1jaGVja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJhcHBvaW50bWVudFwiLCBcImNvbmZpcm1cIiwgXCJjb3JyZWN0XCIsIFwiZG9uZVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRvZG9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYWxlbmRhci1taW51c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYWxlbmRhci1taW51c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYWxlbmRhci1wbHVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhbGVuZGFyLXBsdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FsZW5kYXItdGltZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2FsZW5kYXItdGltZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FtZXJhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwaG90b1wiLCBcInBpY3R1cmVcIiwgXCJyZWNvcmRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYW1lcmEtcmV0cm9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBob3RvXCIsIFwicGljdHVyZVwiLCBcInJlY29yZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbm5hYmlzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWRcIiwgXCJjaHJvbmljXCIsIFwiZHJ1Z3NcIiwgXCJlbmRpY2FcIiwgXCJlbmRvXCIsIFwiZ2FuamFcIiwgXCJtYXJpanVhbmFcIiwgXCJtYXJ5IGphbmVcIiwgXCJwb3RcIiwgXCJyZWVmZXJcIiwgXCJzYXRpdmFcIiwgXCJzcGxpZmZcIiwgXCJ3ZWVkXCIsIFwid2hhY2t5LXRhYmFja3lcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXBzdWxlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2luZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWFjaGluZVwiLCBcInRyYW5zcG9ydGF0aW9uXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcmV0LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiZHJvcGRvd25cIiwgXCJtZW51XCIsIFwibW9yZVwiLCBcInRyaWFuZ2xlIGRvd25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJldC1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImJhY2tcIiwgXCJwcmV2aW91c1wiLCBcInRyaWFuZ2xlIGxlZnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJldC1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiLCBcInRyaWFuZ2xlIHJpZ2h0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyZXQtc3F1YXJlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhcmV0LXNxdWFyZS1vLWRvd25cIiwgXCJkcm9wZG93blwiLCBcIm1lbnVcIiwgXCJtb3JlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2FyZXQtc3F1YXJlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhcmV0LXNxdWFyZS1vLWRvd25cIiwgXCJkcm9wZG93blwiLCBcIm1lbnVcIiwgXCJtb3JlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyZXQtc3F1YXJlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhY2tcIiwgXCJjYXJldC1zcXVhcmUtby1sZWZ0XCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYXJldC1zcXVhcmUtbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcImNhcmV0LXNxdWFyZS1vLWxlZnRcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcmV0LXNxdWFyZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FyZXQtc3F1YXJlLW8tcmlnaHRcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhcmV0LXNxdWFyZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FyZXQtc3F1YXJlLW8tcmlnaHRcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcmV0LXNxdWFyZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FyZXQtc3F1YXJlLW8tdXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYXJldC1zcXVhcmUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhcmV0LXNxdWFyZS1vLXVwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyZXQtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwidHJpYW5nbGUgdXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJ0LWFycm93LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNob3BwaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FydC1wbHVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRcIiwgXCJzaG9wcGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLWFtYXpvbi1wYXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2MtYW1leFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYW1leFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLWFwcGxlLXBheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1kaW5lcnMtY2x1YlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1kaXNjb3ZlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1qY2JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2MtbWFzdGVyY2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1wYXlwYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2Mtc3RyaXBlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLXZpc2FcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2VudGVyY29kZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jZXJ0aWZpY2F0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFkZ2VcIiwgXCJzdGFyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hhbGtib2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmxhY2tib2FyZFwiLCBcImxlYXJuaW5nXCIsIFwic2Nob29sXCIsIFwidGVhY2hpbmdcIiwgXCJ3aGl0ZWJvYXJkXCIsIFwid3JpdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoYWxrYm9hcmQtdGVhY2hlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmxhY2tib2FyZFwiLCBcImluc3RydWN0b3JcIiwgXCJsZWFybmluZ1wiLCBcInByb2Zlc3NvclwiLCBcInNjaG9vbFwiLCBcIndoaXRlYm9hcmRcIiwgXCJ3cml0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hhcnQtYXJlYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYW5hbHl0aWNzXCIsIFwiYXJlYS1jaGFydFwiLCBcImdyYXBoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hhcnQtYmFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmFseXRpY3NcIiwgXCJiYXItY2hhcnRcIiwgXCJncmFwaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNoYXJ0LWJhclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYW5hbHl0aWNzXCIsIFwiYmFyLWNoYXJ0XCIsIFwiZ3JhcGhcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGFydC1saW5lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY3Rpdml0eVwiLCBcImFuYWx5dGljc1wiLCBcImRhc2hib2FyZFwiLCBcImdyYXBoXCIsIFwibGluZS1jaGFydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoYXJ0LXBpZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYW5hbHl0aWNzXCIsIFwiZ3JhcGhcIiwgXCJwaWUtY2hhcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJjaGVja21hcmtcIiwgXCJjb25maXJtXCIsIFwiY29ycmVjdFwiLCBcImRvbmVcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJva1wiLCBcInNlbGVjdFwiLCBcInN1Y2Nlc3NcIiwgXCJ0aWNrXCIsIFwidG9kb1wiLCBcInllc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZWNrLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJjb25maXJtXCIsIFwiY29ycmVjdFwiLCBcImRvbmVcIiwgXCJva1wiLCBcInNlbGVjdFwiLCBcInN1Y2Nlc3NcIiwgXCJ0b2RvXCIsIFwieWVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2hlY2stY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NlcHRcIiwgXCJhZ3JlZVwiLCBcImNvbmZpcm1cIiwgXCJjb3JyZWN0XCIsIFwiZG9uZVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRvZG9cIiwgXCJ5ZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVjay1kb3VibGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY2VwdFwiLCBcImFncmVlXCIsIFwiY2hlY2ttYXJrXCIsIFwiY29uZmlybVwiLCBcImNvcnJlY3RcIiwgXCJkb25lXCIsIFwibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwib2tcIiwgXCJzZWxlY3RcIiwgXCJzdWNjZXNzXCIsIFwidGlja1wiLCBcInRvZG9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVjay1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY2VwdFwiLCBcImFncmVlXCIsIFwiY2hlY2ttYXJrXCIsIFwiY29uZmlybVwiLCBcImNvcnJlY3RcIiwgXCJkb25lXCIsIFwib2tcIiwgXCJzZWxlY3RcIiwgXCJzdWNjZXNzXCIsIFwidG9kb1wiLCBcInllc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNoZWNrLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJjaGVja21hcmtcIiwgXCJjb25maXJtXCIsIFwiY29ycmVjdFwiLCBcImRvbmVcIiwgXCJva1wiLCBcInNlbGVjdFwiLCBcInN1Y2Nlc3NcIiwgXCJ0b2RvXCIsIFwieWVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3MtYmlzaG9wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXNzLWJvYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXNzLWtpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3Mta25pZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXNzLXBhd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3MtcXVlZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3Mtcm9va1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGV2cm9uLWNpcmNsZS1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImRyb3Bkb3duXCIsIFwibWVudVwiLCBcIm1vcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGV2cm9uLWNpcmNsZS1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImJhY2tcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hldnJvbi1jaXJjbGUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hldnJvbi1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXZyb24tbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcImJyYWNrZXRcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXZyb24tcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyYWNrZXRcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXZyb24tdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hpbGRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2hyb21lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJicm93c2VyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2h1cmNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWlsZGluZ1wiLCBcImNvbW11bml0eVwiLCBcInJlbGlnaW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaXJjbGUtdGhpblwiLCBcImRvdFwiLCBcIm5vdGlmaWNhdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2lyY2xlLXRoaW5cIiwgXCJkb3RcIiwgXCJub3RpZmljYXRpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaXJjbGUtbm90Y2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNpcmNsZS1vLW5vdGNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xpcGJvYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwYXN0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNsaXBib2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicGFzdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jbGlwYm9hcmQtY2hlY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY2VwdFwiLCBcImFncmVlXCIsIFwiY29uZmlybVwiLCBcImRvbmVcIiwgXCJva1wiLCBcInNlbGVjdFwiLCBcInN1Y2Nlc3NcIiwgXCJ0b2RvXCIsIFwieWVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xpcGJvYXJkLWxpc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImNvbXBsZXRlZFwiLCBcImRvbmVcIiwgXCJmaW5pc2hlZFwiLCBcImludGluZXJhcnlcIiwgXCJvbFwiLCBcInNjaGVkdWxlXCIsIFwidG9kb1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xvY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRhdGVcIiwgXCJsYXRlXCIsIFwic2NoZWR1bGVcIiwgXCJ0aW1lclwiLCBcInRpbWVzdGFtcFwiLCBcIndhdGNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2xvY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRhdGVcIiwgXCJsYXRlXCIsIFwic2NoZWR1bGVcIiwgXCJ0aW1lclwiLCBcInRpbWVzdGFtcFwiLCBcIndhdGNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xvbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvcHlcIiwgXCJkdXBsaWNhdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jbG9uZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29weVwiLCBcImR1cGxpY2F0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNsb3NlZC1jYXB0aW9uaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNsb3NlZC1jYXB0aW9uaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNsb3VkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzYXZlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xvdWQtZG93bmxvYWQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG91ZC1kb3dubG9hZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNsb3VkLXVwbG9hZC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsb3VkLXVwbG9hZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNsb3Vkc2NhbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2xvdWRzbWl0aFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jbG91ZHZlcnNpZnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29ja3RhaWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsY29ob2xcIiwgXCJkcmlua1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvZGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyYWNrZXRzXCIsIFwiaHRtbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvZGUtYnJhbmNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJicmFuY2hcIiwgXCJjb2RlLWZvcmtcIiwgXCJmb3JrXCIsIFwiZ2l0XCIsIFwiZ2l0aHViXCIsIFwicmViYXNlXCIsIFwic3ZuXCIsIFwidmNzXCIsIFwidmVyc2lvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNvZGVwZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY29kaWVwaWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29mZmVlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJicmVha2Zhc3RcIiwgXCJjYWZlXCIsIFwiZHJpbmtcIiwgXCJtb3JuaW5nXCIsIFwibXVnXCIsIFwidGVhXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzZXR0aW5nc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvZ3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImdlYXJzXCIsIFwic2V0dGluZ3NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb2luc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb2x1bW5zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkYXNoYm9hcmRcIiwgXCJwYW5lc1wiLCBcInNwbGl0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tbWVudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnViYmxlXCIsIFwiY2hhdFwiLCBcImNvbnZlcnNhdGlvblwiLCBcImZlZWRiYWNrXCIsIFwibWVzc2FnZVwiLCBcIm5vdGVcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzbXNcIiwgXCJzcGVlY2hcIiwgXCJ0ZXh0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY29tbWVudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnViYmxlXCIsIFwiY2hhdFwiLCBcImNvbnZlcnNhdGlvblwiLCBcImZlZWRiYWNrXCIsIFwibWVzc2FnZVwiLCBcIm5vdGVcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzbXNcIiwgXCJzcGVlY2hcIiwgXCJ0ZXh0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tbWVudC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1YmJsZVwiLCBcImNoYXRcIiwgXCJjb21tZW50aW5nXCIsIFwiY29tbWVudGluZ1wiLCBcImNvbnZlcnNhdGlvblwiLCBcImZlZWRiYWNrXCIsIFwibWVzc2FnZVwiLCBcIm5vdGVcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzbXNcIiwgXCJzcGVlY2hcIiwgXCJ0ZXh0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY29tbWVudC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1YmJsZVwiLCBcImNoYXRcIiwgXCJjb21tZW50aW5nXCIsIFwiY29tbWVudGluZ1wiLCBcImNvbnZlcnNhdGlvblwiLCBcImZlZWRiYWNrXCIsIFwibWVzc2FnZVwiLCBcIm5vdGVcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzbXNcIiwgXCJzcGVlY2hcIiwgXCJ0ZXh0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tbWVudC1kb3RzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNvbW1lbnQtZG90c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb21tZW50LXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvbW1lbnRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWJibGVcIiwgXCJjaGF0XCIsIFwiY29udmVyc2F0aW9uXCIsIFwiZmVlZGJhY2tcIiwgXCJtZXNzYWdlXCIsIFwibm90ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInNtc1wiLCBcInNwZWVjaFwiLCBcInRleHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jb21tZW50c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnViYmxlXCIsIFwiY2hhdFwiLCBcImNvbnZlcnNhdGlvblwiLCBcImZlZWRiYWNrXCIsIFwibWVzc2FnZVwiLCBcIm5vdGVcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzbXNcIiwgXCJzcGVlY2hcIiwgXCJ0ZXh0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tcGFjdC1kaXNjXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibHVyYXlcIiwgXCJjZFwiLCBcImRpc2NcIiwgXCJtZWRpYVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvbXBhc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpcmVjdG9yeVwiLCBcImxvY2F0aW9uXCIsIFwibWVudVwiLCBcInNhZmFyaVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNvbXBhc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpcmVjdG9yeVwiLCBcImxvY2F0aW9uXCIsIFwibWVudVwiLCBcInNhZmFyaVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvbXByZXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2xsYXBzZVwiLCBcImNvbWJpbmVcIiwgXCJjb250cmFjdFwiLCBcIm1lcmdlXCIsIFwic21hbGxlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvbmNpZXJnZS1iZWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhdHRlbnRpb25cIiwgXCJob3RlbFwiLCBcInNlcnZpY2VcIiwgXCJzdXBwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY29ubmVjdGRldmVsb3BcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY29udGFvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvb2tpZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFrZWQgZ29vZFwiLCBcImNoaXBzXCIsIFwiZm9vZFwiLCBcInNuYWNrXCIsIFwic3dlZXRcIiwgXCJ0cmVhdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvb2tpZS1iaXRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWtlZCBnb29kXCIsIFwiYml0dGVuXCIsIFwiY2hpcHNcIiwgXCJlYXRpbmdcIiwgXCJmb29kXCIsIFwic25hY2tcIiwgXCJzd2VldFwiLCBcInRyZWF0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29weVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvbmVcIiwgXCJkdXBsaWNhdGVcIiwgXCJmaWxlXCIsIFwiZmlsZXMtb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNvcHlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsb25lXCIsIFwiZHVwbGljYXRlXCIsIFwiZmlsZVwiLCBcImZpbGVzLW9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb3B5cmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY29weXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvdWNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNwYW5lbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtYnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1uY1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLW5jLWV1XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1uZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLXBkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1zYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNyZWRpdC1jYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidXlcIiwgXCJjaGVja291dFwiLCBcImNyZWRpdC1jYXJkLWFsdFwiLCBcImRlYml0XCIsIFwibW9uZXlcIiwgXCJwYXltZW50XCIsIFwicHVyY2hhc2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jcmVkaXQtY2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnV5XCIsIFwiY2hlY2tvdXRcIiwgXCJjcmVkaXQtY2FyZC1hbHRcIiwgXCJkZWJpdFwiLCBcIm1vbmV5XCIsIFwicGF5bWVudFwiLCBcInB1cmNoYXNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY3JvcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY3JvcC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY3Jvc3NoYWlyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ3BkXCIsIFwicGlja2VyXCIsIFwicG9zaXRpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jcm93XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaXJkXCIsIFwiYnVsbGZyb2dcIiwgXCJ0b2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY3Jvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3NzM1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29kZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNzczMtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWN1YmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBhY2thZ2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jdWJlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicGFja2FnZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jdXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNjaXNzb3JzXCIsIFwic2Npc3NvcnNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jdXR0bGVmaXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWQtYW5kLWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZGFzaGN1YmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGF0YWJhc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGVhZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kZWxpY2lvdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZGVwbG95ZG9nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRlc2twcm9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGVza3RvcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29tcHV0ZXJcIiwgXCJjcHVcIiwgXCJkZW1vXCIsIFwiZGVza3RvcFwiLCBcImRldmljZVwiLCBcIm1hY2hpbmVcIiwgXCJtb25pdG9yXCIsIFwicGNcIiwgXCJzY3JlZW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kZXZpYW50YXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpYWdub3Nlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFuY2VcIiwgXCJnYW1ibGluZ1wiLCBcImdhbWVcIiwgXCJyb2xsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGljZS1maXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFuY2VcIiwgXCJnYW1ibGluZ1wiLCBcImdhbWVcIiwgXCJyb2xsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGljZS1mb3VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFuY2VcIiwgXCJnYW1ibGluZ1wiLCBcImdhbWVcIiwgXCJyb2xsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGljZS1vbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoYW5jZVwiLCBcImdhbWJsaW5nXCIsIFwiZ2FtZVwiLCBcInJvbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWNlLXNpeFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hhbmNlXCIsIFwiZ2FtYmxpbmdcIiwgXCJnYW1lXCIsIFwicm9sbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpY2UtdGhyZWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoYW5jZVwiLCBcImdhbWJsaW5nXCIsIFwiZ2FtZVwiLCBcInJvbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWNlLXR3b1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hhbmNlXCIsIFwiZ2FtYmxpbmdcIiwgXCJnYW1lXCIsIFwicm9sbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRpZ2dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZGlnaXRhbC1vY2VhblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWdpdGFsLXRhY2hvZ3JhcGhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZGlzY29yZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kaXNjb3Vyc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGl2aWRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpenp5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkYXplZFwiLCBcImRpc2FwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1kaXp6eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGF6ZWRcIiwgXCJkaXNhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZG5hXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb3VibGUgaGVsaXhcIiwgXCJoZWxpeFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRvY2h1YlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kb2NrZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZG9sbGFyLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIiRcIiwgXCJkb2xsYXItc2lnblwiLCBcIm1vbmV5XCIsIFwicHJpY2VcIiwgXCJ1c2RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb2xseVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb2xseS1mbGF0YmVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRvbmF0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ2VuZXJvc2l0eVwiLCBcImdpdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb29yLWNsb3NlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb29yLW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZG90LWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnVsbHNleWVcIiwgXCJub3RpZmljYXRpb25cIiwgXCJ0YXJnZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1kb3QtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWxsc2V5ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInRhcmdldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRvdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZG93bmxvYWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImltcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRyYWZ0MmRpZ2l0YWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZHJhZnRpbmctY29tcGFzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWVjaGFuaWNhbCBkcmF3aW5nXCIsIFwicGxvdFwiLCBcInBsb3R0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZHJpYmJibGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZHJpYmJibGUtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRyb3Bib3hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZHJ1bVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaW5zdHJ1bWVudFwiLCBcIm11c2ljXCIsIFwicGVyY3Vzc2lvblwiLCBcInNuYXJlXCIsIFwic291bmRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kcnVtLXN0ZWVscGFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWx5cHNvXCIsIFwiaW5zdHJ1bWVudFwiLCBcIm11c2ljXCIsIFwicGVyY3Vzc2lvblwiLCBcInJlZ2dhZVwiLCBcInNuYXJlXCIsIFwic291bmRcIiwgXCJzdGVlbFwiLCBcInRyb3BpY2FsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZHJ1cGFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWR1bWJiZWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJleGVyY2lzZVwiLCBcImd5bVwiLCBcInN0cmVuZ3RoXCIsIFwid2VpZ2h0XCIsIFwid2VpZ2h0LWxpZnRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1keWFsb2dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZWFybHliaXJkc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1lYmF5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWVkZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyb3dzZXJcIiwgXCJpZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVkaXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVkaXRcIiwgXCJwZW5cIiwgXCJwZW5jaWxcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWVkaXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVkaXRcIiwgXCJwZW5cIiwgXCJwZW5jaWxcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVqZWN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWVsZW1lbnRvclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1lbGxpcHNpcy1oXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb3RzXCIsIFwiZHJhZ1wiLCBcImtlYmFiXCIsIFwibGlzdFwiLCBcIm1lbnVcIiwgXCJuYXZcIiwgXCJuYXZpZ2F0aW9uXCIsIFwib2xcIiwgXCJyZW9yZGVyXCIsIFwic2V0dGluZ3NcIiwgXCJ1bFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVsbGlwc2lzLXZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvdHNcIiwgXCJkcmFnXCIsIFwia2ViYWJcIiwgXCJsaXN0XCIsIFwibWVudVwiLCBcIm5hdlwiLCBcIm5hdmlnYXRpb25cIiwgXCJvbFwiLCBcInJlb3JkZXJcIiwgXCJzZXR0aW5nc1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZW1iZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZW1waXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVudmVsb3BlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlLW1haWxcIiwgXCJlbWFpbFwiLCBcImxldHRlclwiLCBcIm1haWxcIiwgXCJtZXNzYWdlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwic3VwcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWVudmVsb3BlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlLW1haWxcIiwgXCJlbWFpbFwiLCBcImxldHRlclwiLCBcIm1haWxcIiwgXCJtZXNzYWdlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwic3VwcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVudmVsb3BlLW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImUtbWFpbFwiLCBcImVtYWlsXCIsIFwibGV0dGVyXCIsIFwibWFpbFwiLCBcIm1lc3NhZ2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzdXBwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZW52ZWxvcGUtb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZS1tYWlsXCIsIFwiZW1haWxcIiwgXCJsZXR0ZXJcIiwgXCJtYWlsXCIsIFwibWVzc2FnZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInN1cHBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1lbnZlbG9wZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImUtbWFpbFwiLCBcImVtYWlsXCIsIFwibGV0dGVyXCIsIFwibWFpbFwiLCBcIm1lc3NhZ2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzdXBwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZW52aXJhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsZWFmXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXF1YWxzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVyYXNlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVsZXRlXCIsIFwicmVtb3ZlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZXJsYW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWV0aGVyZXVtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWV0c3lcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXVyby1zaWduXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJldXJcIiwgXCJldXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1leGNoYW5nZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiYXJyb3dzXCIsIFwiZXhjaGFuZ2VcIiwgXCJyZWNpcHJvY2F0ZVwiLCBcInJldHVyblwiLCBcInN3YXBcIiwgXCJ0cmFuc2ZlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4Y2xhbWF0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGVydFwiLCBcImRhbmdlclwiLCBcImVycm9yXCIsIFwiaW1wb3J0YW50XCIsIFwibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicHJvYmxlbVwiLCBcIndhcm5pbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsZXJ0XCIsIFwiZGFuZ2VyXCIsIFwiZXJyb3JcIiwgXCJpbXBvcnRhbnRcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJwcm9ibGVtXCIsIFwid2FybmluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGVydFwiLCBcImRhbmdlclwiLCBcImVycm9yXCIsIFwiaW1wb3J0YW50XCIsIFwibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicHJvYmxlbVwiLCBcIndhcm5pbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1leHBhbmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpZ2dlclwiLCBcImVubGFyZ2VcIiwgXCJyZXNpemVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1leHBhbmQtYXJyb3dzLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dzLWFsdFwiLCBcImJpZ2dlclwiLCBcImVubGFyZ2VcIiwgXCJtb3ZlXCIsIFwicmVzaXplXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZXhwZWRpdGVkc3NsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4dGVybmFsLWxpbmstYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJleHRlcm5hbC1saW5rXCIsIFwibmV3XCIsIFwib3BlblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZXh0ZXJuYWwtbGluay1zcXVhcmVcIiwgXCJuZXdcIiwgXCJvcGVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXllXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJvcHRpY1wiLCBcInNlZVwiLCBcInNlZW5cIiwgXCJzaG93XCIsIFwic2lnaHRcIiwgXCJ2aWV3c1wiLCBcInZpc2libGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1leWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm9wdGljXCIsIFwic2VlXCIsIFwic2VlblwiLCBcInNob3dcIiwgXCJzaWdodFwiLCBcInZpZXdzXCIsIFwidmlzaWJsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV5ZS1kcm9wcGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJleWVkcm9wcGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXllLXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibGluZFwiLCBcImhpZGVcIiwgXCJzaG93XCIsIFwidG9nZ2xlXCIsIFwidW5zZWVuXCIsIFwidmlld3NcIiwgXCJ2aXNpYmxlXCIsIFwidmlzaWJsaXR5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZXllLXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibGluZFwiLCBcImhpZGVcIiwgXCJzaG93XCIsIFwidG9nZ2xlXCIsIFwidW5zZWVuXCIsIFwidmlld3NcIiwgXCJ2aXNpYmxlXCIsIFwidmlzaWJsaXR5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZmFjZWJvb2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZhY2Vib29rLW9mZmljaWFsXCIsIFwic29jaWFsIG5ldHdvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mYWNlYm9vay1mXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmYWNlYm9va1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZhY2Vib29rLW1lc3NlbmdlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mYWNlYm9vay1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvY2lhbCBuZXR3b3JrXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmFzdC1iYWNrd2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmVnaW5uaW5nXCIsIFwiZmlyc3RcIiwgXCJwcmV2aW91c1wiLCBcInJld2luZFwiLCBcInN0YXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmFzdC1mb3J3YXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbmRcIiwgXCJsYXN0XCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZheFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mZWF0aGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaXJkXCIsIFwibGlnaHRcIiwgXCJwbHVja2VkXCIsIFwicXVpbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mZWF0aGVyLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmlyZFwiLCBcImxpZ2h0XCIsIFwicGx1Y2tlZFwiLCBcInF1aWxsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmVtYWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJodW1hblwiLCBcInBlcnNvblwiLCBcInByb2ZpbGVcIiwgXCJ1c2VyXCIsIFwid29tYW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWdodGVyLWpldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWlycGxhbmVcIiwgXCJmYXN0XCIsIFwiZmx5XCIsIFwiZ29vc2VcIiwgXCJtYXZlcmlja1wiLCBcInBsYW5lXCIsIFwicXVpY2tcIiwgXCJ0b3AgZ3VuXCIsIFwidHJhbnNwb3J0YXRpb25cIiwgXCJ0cmF2ZWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcIm5ld1wiLCBcInBhZ2VcIiwgXCJwZGZcIiwgXCJyZXN1bWVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcIm5ld1wiLCBcInBhZ2VcIiwgXCJwZGZcIiwgXCJyZXN1bWVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG9jdW1lbnRcIiwgXCJmaWxlLXRleHRcIiwgXCJpbnZvaWNlXCIsIFwibmV3XCIsIFwicGFnZVwiLCBcInBkZlwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZpbGUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcImZpbGUtdGV4dFwiLCBcImludm9pY2VcIiwgXCJuZXdcIiwgXCJwYWdlXCIsIFwicGRmXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1hcmNoaXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCIuemlwXCIsIFwiYnVuZGxlXCIsIFwiY29tcHJlc3NcIiwgXCJjb21wcmVzc2lvblwiLCBcImRvd25sb2FkXCIsIFwiemlwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS1hcmNoaXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCIuemlwXCIsIFwiYnVuZGxlXCIsIFwiY29tcHJlc3NcIiwgXCJjb21wcmVzc2lvblwiLCBcImRvd25sb2FkXCIsIFwiemlwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1hdWRpb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLWF1ZGlvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtY29kZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLWNvZGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1jb250cmFjdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWdyZWVtZW50XCIsIFwiYmluZGluZ1wiLCBcImRvY3VtZW50XCIsIFwibGVnYWxcIiwgXCJzaWduYXR1cmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWRvd25sb2FkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtZXhjZWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS1leGNlbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWV4cG9ydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWltYWdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZpbGUtaW1hZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1pbXBvcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1pbnZvaWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaWxsXCIsIFwiZG9jdW1lbnRcIiwgXCJyZWNlaXB0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1pbnZvaWNlLWRvbGxhclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiJFwiLCBcImJpbGxcIiwgXCJkb2N1bWVudFwiLCBcImRvbGxhci1zaWduXCIsIFwibW9uZXlcIiwgXCJyZWNlaXB0XCIsIFwidXNkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1tZWRpY2FsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtbWVkaWNhbC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1wZGZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS1wZGZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1wb3dlcnBvaW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZpbGUtcG93ZXJwb2ludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLXByZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2FsXCIsIFwibWVkaWNpbmVcIiwgXCJyeFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtc2lnbmF0dXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJKb2huIEhhbmNvY2tcIiwgXCJjb250cmFjdFwiLCBcImRvY3VtZW50XCIsIFwibmFtZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtdXBsb2FkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtdmlkZW9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS12aWRlb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLXdvcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS13b3JkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1Y2tldFwiLCBcImNvbG9yXCIsIFwicGFpbnRcIiwgXCJwYWludCBidWNrZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxsLWRyaXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1Y2tldFwiLCBcImNvbG9yXCIsIFwiZHJvcFwiLCBcInBhaW50XCIsIFwicGFpbnQgYnVja2V0XCIsIFwic3BpbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtb3ZpZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbHRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZnVubmVsXCIsIFwib3B0aW9uc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbmdlcnByaW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJodW1hblwiLCBcImlkXCIsIFwiaWRlbnRpZmljYXRpb25cIiwgXCJsb2NrXCIsIFwic211ZGdlXCIsIFwidG91Y2hcIiwgXCJ1bmlxdWVcIiwgXCJ1bmxvY2tcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmbGFtZVwiLCBcImhvdFwiLCBcInBvcHVsYXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maXJlLWV4dGluZ3Vpc2hlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1maXJlZm94XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJicm93c2VyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlyc3QtYWlkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZpcnN0LW9yZGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZpcnN0LW9yZGVyLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1maXJzdGRyYWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmxhZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicmVwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmxhZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicmVwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmxhZy1jaGVja2VyZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm5vdGljZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcIm5vdGlmeVwiLCBcInJlcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZsYXNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZWFrZXJcIiwgXCJleHBlcmltZW50YWxcIiwgXCJsYWJzXCIsIFwic2NpZW5jZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZsaWNrclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mbGlwYm9hcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmx1c2hlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1iYXJyYXNzZWRcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mbHVzaGVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbWJhcnJhc3NlZFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZseVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mb2xkZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZm9sZGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZvbGRlci1vcGVuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZvbGRlci1vcGVuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZvbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInRleHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb250LWF3ZXNvbWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1lYW5wYXRoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZm9udC1hd2Vzb21lLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb250LWF3ZXNvbWUtZmxhZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mb250LWF3ZXNvbWUtbG9nby1mdWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb250aWNvbnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZm9udGljb25zLWZpXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZvb3RiYWxsLWJhbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZm9ydC1hd2Vzb21lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYXN0bGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb3J0LWF3ZXNvbWUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYXN0bGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb3J1bWJlZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mb3J3YXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZvdXJzcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZnJlZS1jb2RlLWNhbXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZnJlZWJzZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mcm9nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWxsZnJvZ1wiLCBcImtlcm1pdFwiLCBcImtpc3NcIiwgXCJwcmluY2VcIiwgXCJ0b2FkXCIsIFwid2FydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZyb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwicmF0aW5nXCIsIFwic2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZnJvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpc2FwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJyYXRpbmdcIiwgXCJzYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mcm93bi1vcGVuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwicmF0aW5nXCIsIFwic2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZnJvd24tb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYXBwcm92ZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInJhdGluZ1wiLCBcInNhZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZ1bGNydW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZnV0Ym9sXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWxsXCIsIFwiZm9vdGJhbGxcIiwgXCJzb2NjZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mdXRib2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhbGxcIiwgXCJmb290YmFsbFwiLCBcInNvY2NlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdhbGFjdGljLXJlcHVibGljXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdhbGFjdGljLXNlbmF0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nYW1lcGFkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb250cm9sbGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2FzLXB1bXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2F2ZWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhhbW1lclwiLCBcImp1ZGdlXCIsIFwibGF3eWVyXCIsIFwib3BpbmlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdlbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlhbW9uZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdlbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlhbW9uZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdlbmRlcmxlc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ2V0LXBvY2tldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nZy1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2lmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ2VuZXJvc2l0eVwiLCBcImdpdmluZ1wiLCBcInBhcnR5XCIsIFwicHJlc2VudFwiLCBcIndyYXBwZWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ2l0LXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXRodWJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm9jdG9jYXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXRodWItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJvY3RvY2F0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ2l0aHViLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wib2N0b2NhdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdpdGtyYWtlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXRsYWJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkF4b3NvZnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXR0ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2xhc3MtbWFydGluaVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxjb2hvbFwiLCBcImJhclwiLCBcImRyaW5rXCIsIFwiZ2xhc3NcIiwgXCJsaXF1b3JcIiwgXCJtYXJ0aW5pXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2xhc3MtbWFydGluaS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2xhc3Nlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZm91cmV5ZXNcIiwgXCJoaXBzdGVyXCIsIFwibmVyZFwiLCBcInJlYWRpbmdcIiwgXCJzaWdodFwiLCBcInNwZWN0YWNsZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nbGlkZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nbGlkZS1nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdsb2JlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGxcIiwgXCJjb29yZGluYXRlc1wiLCBcImNvdW50cnlcIiwgXCJlYXJ0aFwiLCBcImdsb2JhbFwiLCBcImdwc1wiLCBcImxhbmd1YWdlXCIsIFwibG9jYWxpemVcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcIm9ubGluZVwiLCBcInBsYWNlXCIsIFwicGxhbmV0XCIsIFwidHJhbnNsYXRlXCIsIFwidHJhdmVsXCIsIFwid29ybGRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nbG9iZS1hZnJpY2FcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsbFwiLCBcImNvdW50cnlcIiwgXCJlYXJ0aFwiLCBcImdsb2JhbFwiLCBcImdwc1wiLCBcImxhbmd1YWdlXCIsIFwibG9jYWxpemVcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcIm9ubGluZVwiLCBcInBsYWNlXCIsIFwicGxhbmV0XCIsIFwidHJhbnNsYXRlXCIsIFwidHJhdmVsXCIsIFwid29ybGRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nbG9iZS1hbWVyaWNhc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxsXCIsIFwiY291bnRyeVwiLCBcImVhcnRoXCIsIFwiZ2xvYmFsXCIsIFwiZ3BzXCIsIFwibGFuZ3VhZ2VcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwib25saW5lXCIsIFwicGxhY2VcIiwgXCJwbGFuZXRcIiwgXCJ0cmFuc2xhdGVcIiwgXCJ0cmF2ZWxcIiwgXCJ3b3JsZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdsb2JlLWFzaWFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsbFwiLCBcImNvdW50cnlcIiwgXCJlYXJ0aFwiLCBcImdsb2JhbFwiLCBcImdwc1wiLCBcImxhbmd1YWdlXCIsIFwibG9jYWxpemVcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcIm9ubGluZVwiLCBcInBsYWNlXCIsIFwicGxhbmV0XCIsIFwidHJhbnNsYXRlXCIsIFwidHJhdmVsXCIsIFwid29ybGRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nb2ZvcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ29sZi1iYWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2RyZWFkc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nb29kcmVhZHMtZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nb29nbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ29vZ2xlLWRyaXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2dsZS1wbGF5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2dsZS1wbHVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJnb29nbGUtcGx1cy1jaXJjbGVcIiwgXCJnb29nbGUtcGx1cy1vZmZpY2lhbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2dsZS1wbHVzLWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImdvb2dsZS1wbHVzXCIsIFwic29jaWFsIG5ldHdvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nb29nbGUtcGx1cy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvY2lhbCBuZXR3b3JrXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ29vZ2xlLXdhbGxldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmFkdWF0aW9uLWNhcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibGVhcm5pbmdcIiwgXCJzY2hvb2xcIiwgXCJzdHVkZW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ3JhdGlwYXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZhdm9yaXRlXCIsIFwiaGVhcnRcIiwgXCJsaWtlXCIsIFwibG92ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdyYXZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3JlYXRlci10aGFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyZWF0ZXItdGhhbi1lcXVhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmltYWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjcmluZ2VcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmltYWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjcmluZ2VcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsYXVnaFwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3JpblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4tYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsYXVnaFwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLWJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLWJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLWJlYW0tc3dlYXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi1iZWFtLXN3ZWF0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4taGVhcnRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLWhlYXJ0c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibG92ZVwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi1zcXVpbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLXNxdWludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4tc3F1aW50LXRlYXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJoYXBweVwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi1zcXVpbnQtdGVhcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXN0YXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJzdGFyLXN0cnVja1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4tc3RhcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInN0YXItc3RydWNrXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi10ZWFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi10ZWFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi10b25ndWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4tdG9uZ3VlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXRvbmd1ZS1zcXVpbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4tdG9uZ3VlLXNxdWludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi10b25ndWUtd2lua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi10b25ndWUtd2lua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi13aW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJmbGlydFwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLXdpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImZsaXJ0XCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaXAtaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWZmb3JkYW5jZVwiLCBcImRyYWdcIiwgXCJkcm9wXCIsIFwiZ3JhYlwiLCBcImhhbmRsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaXAtdmVydGljYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFmZm9yZGFuY2VcIiwgXCJkcmFnXCIsIFwiZHJvcFwiLCBcImdyYWJcIiwgXCJoYW5kbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ncmlwZmlyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ncnVudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ndWxwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWgtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJob3NwaXRhbFwiLCBcImhvdGVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaGFja2VyLW5ld3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaGFja2VyLW5ld3Mtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtaG9sZGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLWhvbGRpbmctaGVhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1ob2xkaW5nLXVzZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiJFwiLCBcImRvbGxhciBzaWduXCIsIFwiZG9uYXRpb25cIiwgXCJnaXZpbmdcIiwgXCJtb25leVwiLCBcInByaWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1saXphcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1saXphcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1wYXBlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3RvcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcGFwZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0b3BcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBlYWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcGVhY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1wb2ludC1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmaW5nZXJcIiwgXCJoYW5kLW8tZG93blwiLCBcInBvaW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1wb2ludC1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmaW5nZXJcIiwgXCJoYW5kLW8tZG93blwiLCBcInBvaW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1wb2ludC1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwiZmluZ2VyXCIsIFwiaGFuZC1vLWxlZnRcIiwgXCJsZWZ0XCIsIFwicG9pbnRcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcG9pbnQtbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcImZpbmdlclwiLCBcImhhbmQtby1sZWZ0XCIsIFwibGVmdFwiLCBcInBvaW50XCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBvaW50LXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmaW5nZXJcIiwgXCJmb3J3YXJkXCIsIFwiaGFuZC1vLXJpZ2h0XCIsIFwibmV4dFwiLCBcInBvaW50XCIsIFwicmlnaHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLXBvaW50LXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmaW5nZXJcIiwgXCJmb3J3YXJkXCIsIFwiaGFuZC1vLXJpZ2h0XCIsIFwibmV4dFwiLCBcInBvaW50XCIsIFwicmlnaHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBvaW50LXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmaW5nZXJcIiwgXCJoYW5kLW8tdXBcIiwgXCJwb2ludFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcG9pbnQtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbmdlclwiLCBcImhhbmQtby11cFwiLCBcInBvaW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1wb2ludGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzZWxlY3RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLXBvaW50ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNlbGVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtcm9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLXJvY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1zY2lzc29yc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLXNjaXNzb3JzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtc3BvY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1zcG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kcy1oZWxwaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhaWRcIiwgXCJhc3Npc3RhbmNlXCIsIFwicGFydG5lcnNoaXBcIiwgXCJ2b2x1bnRlZXJpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kc2hha2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImdyZWV0aW5nXCIsIFwicGFydG5lcnNoaXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kc2hha2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImdyZWV0aW5nXCIsIFwicGFydG5lcnNoaXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYXNodGFnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhkZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY3B1XCIsIFwiaGFyZCBkcml2ZVwiLCBcImhhcmRkcml2ZVwiLCBcIm1hY2hpbmVcIiwgXCJzYXZlXCIsIFwic3RvcmFnZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhkZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY3B1XCIsIFwiaGFyZCBkcml2ZVwiLCBcImhhcmRkcml2ZVwiLCBcIm1hY2hpbmVcIiwgXCJzYXZlXCIsIFwic3RvcmFnZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhlYWRpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhlYWRlclwiLCBcImhlYWRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhlYWRwaG9uZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF1ZGlvXCIsIFwibGlzdGVuXCIsIFwibXVzaWNcIiwgXCJzb3VuZFwiLCBcInNwZWFrZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oZWFkcGhvbmVzLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXVkaW9cIiwgXCJsaXN0ZW5cIiwgXCJtdXNpY1wiLCBcInNvdW5kXCIsIFwic3BlYWtlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhlYWRzZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF1ZGlvXCIsIFwiZ2FtZXJcIiwgXCJnYW1pbmdcIiwgXCJsaXN0ZW5cIiwgXCJsaXZlIGNoYXRcIiwgXCJtaWNyb3Bob25lXCIsIFwic2hvdCBjYWxsZXJcIiwgXCJzb3VuZFwiLCBcInN1cHBvcnRcIiwgXCJ0ZWxlbWFya2V0ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oZWFydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmF2b3JpdGVcIiwgXCJsaWtlXCIsIFwibG92ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhlYXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmYXZvcml0ZVwiLCBcImxpa2VcIiwgXCJsb3ZlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGVhcnRiZWF0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJla2dcIiwgXCJsaWZlbGluZVwiLCBcInZpdGFsIHNpZ25zXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGVsaWNvcHRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWlyd29sZlwiLCBcImFwYWNoZVwiLCBcImNob3BwZXJcIiwgXCJmbGlnaHRcIiwgXCJmbHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oaWdobGlnaHRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWRpdFwiLCBcIm1hcmtlclwiLCBcInNoYXJwaWVcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWhpcHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaGlyZS1hLWhlbHBlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oaXN0b3J5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvY2tleS1wdWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvbWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhvdXNlXCIsIFwibWFpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWhvb2xpXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWhvcm5iaWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvc3BpdGFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWlsZGluZ1wiLCBcImVtZXJnZW5jeSByb29tXCIsIFwibWVkaWNhbCBjZW50ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ob3NwaXRhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnVpbGRpbmdcIiwgXCJlbWVyZ2VuY3kgcm9vbVwiLCBcIm1lZGljYWwgY2VudGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG9zcGl0YWwtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWlsZGluZ1wiLCBcImVtZXJnZW5jeSByb29tXCIsIFwibWVkaWNhbCBjZW50ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3NwaXRhbC1zeW1ib2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG90LXR1YlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3RlbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnVpbGRpbmdcIiwgXCJsb2RnaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaG90amFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvdXJnbGFzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ob3VyZ2xhc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG91cmdsYXNzLWVuZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3VyZ2xhc3MtaGFsZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3VyZ2xhc3Mtc3RhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaG91enpcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaHRtbDVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaHVic3BvdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pLWN1cnNvclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pZC1iYWRnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1pZC1iYWRnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pZC1jYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcImlkZW50aWZpY2F0aW9uXCIsIFwiaXNzdWVkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaWQtY2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG9jdW1lbnRcIiwgXCJpZGVudGlmaWNhdGlvblwiLCBcImlzc3VlZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWlkLWNhcmQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZW1vZ3JhcGhpY3NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbWFnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxidW1cIiwgXCJwaG90b1wiLCBcInBpY3R1cmVcIiwgXCJwaWN0dXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaW1hZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsYnVtXCIsIFwicGhvdG9cIiwgXCJwaWN0dXJlXCIsIFwicGljdHVyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWltYWdlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxidW1cIiwgXCJwaG90b1wiLCBcInBpY3R1cmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1pbWFnZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsYnVtXCIsIFwicGhvdG9cIiwgXCJwaWN0dXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaW1kYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbmJveFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbmRlbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaW5kdXN0cnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZhY3RvcnlcIiwgXCJtYW51ZmFjdHVyaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaW5maW5pdHlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaW5mb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGV0YWlsc1wiLCBcImhlbHBcIiwgXCJpbmZvcm1hdGlvblwiLCBcIm1vcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbmZvLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGV0YWlsc1wiLCBcImhlbHBcIiwgXCJpbmZvcm1hdGlvblwiLCBcIm1vcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1pbnN0YWdyYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaW50ZXJuZXQtZXhwbG9yZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyb3dzZXJcIiwgXCJpZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWlveGhvc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaXRhbGljXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpdGFsaWNzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaXR1bmVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWl0dW5lcy1ub3RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWphdmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtamVkaS1vcmRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1qZW5raW5zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWpvZ2V0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWpvaW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibHVudFwiLCBcImNhbm5hYmlzXCIsIFwiZG9vYmllXCIsIFwiZHJ1Z3NcIiwgXCJtYXJpanVhbmFcIiwgXCJyb2FjaFwiLCBcInNtb2tlXCIsIFwic21va2luZ1wiLCBcInNwbGlmZlwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWpvb21sYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1qc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1qcy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtanNmaWRkbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEta2V5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwYXNzd29yZFwiLCBcInVubG9ja1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWtleWJhc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEta2V5Ym9hcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImlucHV0XCIsIFwidHlwZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWtleWJvYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpbnB1dFwiLCBcInR5cGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1rZXljZG5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEta2lja3N0YXJ0ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEta2lja3N0YXJ0ZXIta1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1raXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZXNvXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibG92ZVwiLCBcInNtb29jaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWtpc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJlc29cIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21vb2NoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEta2lzcy1iZWFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZXNvXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibG92ZVwiLCBcInNtb29jaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWtpc3MtYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmVzb1wiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxvdmVcIiwgXCJzbW9vY2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1raXNzLXdpbmstaGVhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJlc29cIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21vb2NoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEta2lzcy13aW5rLWhlYXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZXNvXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibG92ZVwiLCBcInNtb29jaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWtpd2ktYmlyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1rb3J2dWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGFuZ3VhZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpYWxlY3RcIiwgXCJpZGlvbVwiLCBcImxvY2FsaXplXCIsIFwic3BlZWNoXCIsIFwidHJhbnNsYXRlXCIsIFwidmVybmFjdWxhclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxhcHRvcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29tcHV0ZXJcIiwgXCJjcHVcIiwgXCJkZWxsXCIsIFwiZGVtb1wiLCBcImRldmljZVwiLCBcImR1ZGUgeW91J3JlIGdldHRpbmdcIiwgXCJtYWNcIiwgXCJtYWNib29rXCIsIFwibWFjaGluZVwiLCBcInBjXCIsIFwicGNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1sYXJhdmVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxhc3RmbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1sYXN0Zm0tc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxhdWdoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsYXVnaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWxhdWdoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsYXVnaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxhdWdoLWJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWxhdWdoLWJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxhdWdoLXNxdWludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbGF1Z2gtc3F1aW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sYXVnaC13aW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1sYXVnaC13aW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sZWFmXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlY29cIiwgXCJuYXR1cmVcIiwgXCJwbGFudFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxlYW5wdWJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGVtb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZvb2RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1sZW1vblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZm9vZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxlc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGVzcy10aGFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxlc3MtdGhhbi1lcXVhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sZXZlbC1kb3duLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibGV2ZWwtZG93blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxldmVsLXVwLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibGV2ZWwtdXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1saWZlLXJpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN1cHBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1saWZlLXJpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN1cHBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1saWdodGJ1bGJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImlkZWFcIiwgXCJpbnNwaXJhdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWxpZ2h0YnVsYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaWRlYVwiLCBcImluc3BpcmF0aW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbGluZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1saW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxpbmtlZGluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsaW5rZWRpbi1zcXVhcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1saW5rZWRpbi1pblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibGlua2VkaW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1saW5vZGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbGludXhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInR1eFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxpcmEtc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widHJ5XCIsIFwidHJ5XCIsIFwidHVya2lzaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxpc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImNvbXBsZXRlZFwiLCBcImRvbmVcIiwgXCJmaW5pc2hlZFwiLCBcIm9sXCIsIFwidG9kb1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGlzdC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImNvbXBsZXRlZFwiLCBcImRvbmVcIiwgXCJmaW5pc2hlZFwiLCBcIm9sXCIsIFwidG9kb1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbGlzdC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImNvbXBsZXRlZFwiLCBcImRvbmVcIiwgXCJmaW5pc2hlZFwiLCBcIm9sXCIsIFwidG9kb1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGlzdC1vbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hlY2tsaXN0XCIsIFwibGlzdFwiLCBcImxpc3RcIiwgXCJudW1iZXJzXCIsIFwib2xcIiwgXCJ0b2RvXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1saXN0LXVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGVja2xpc3RcIiwgXCJsaXN0XCIsIFwib2xcIiwgXCJ0b2RvXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb2NhdGlvbi1hcnJvd1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRkcmVzc1wiLCBcImNvb3JkaW5hdGVzXCIsIFwiZ3BzXCIsIFwibG9jYXRpb25cIiwgXCJtYXBcIiwgXCJwbGFjZVwiLCBcIndoZXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRtaW5cIiwgXCJwcm90ZWN0XCIsIFwic2VjdXJpdHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb2NrLW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkbWluXCIsIFwibG9ja1wiLCBcIm9wZW5cIiwgXCJwYXNzd29yZFwiLCBcInByb3RlY3RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb25nLWFycm93LWFsdC1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsb25nLWFycm93LWRvd25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb25nLWFycm93LWFsdC1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwibG9uZy1hcnJvdy1sZWZ0XCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb25nLWFycm93LWFsdC1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibG9uZy1hcnJvdy1yaWdodFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxvbmctYXJyb3ctYWx0LXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsb25nLWFycm93LXVwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbG93LXZpc2lvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sdWdnYWdlLWNhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbHlmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tYWdlbnRvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hZ2ljXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhdXRvY29tcGxldGVcIiwgXCJhdXRvbWF0aWNcIiwgXCJ3aXphcmRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYWduZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWFpbGNoaW1wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImh1bWFuXCIsIFwibWFuXCIsIFwicGVyc29uXCIsIFwicHJvZmlsZVwiLCBcInVzZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tYW5kYWxvcmlhblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvb3JkaW5hdGVzXCIsIFwibG9jYXRpb25cIiwgXCJwYXBlclwiLCBcInBsYWNlXCIsIFwidHJhdmVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbWFwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb29yZGluYXRlc1wiLCBcImxvY2F0aW9uXCIsIFwicGFwZXJcIiwgXCJwbGFjZVwiLCBcInRyYXZlbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcC1tYXJrZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZHJlc3NcIiwgXCJjb29yZGluYXRlc1wiLCBcImRlc3RpbmF0aW9uXCIsIFwiZ3BzXCIsIFwibG9jYWxpemVcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcInBhcGVyXCIsIFwicGluXCIsIFwicGxhY2VcIiwgXCJwb2ludCBvZiBpbnRlcmVzdFwiLCBcInBvc2l0aW9uXCIsIFwicm91dGVcIiwgXCJ0cmF2ZWxcIiwgXCJ3aGVyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcC1tYXJrZWQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRyZXNzXCIsIFwiY29vcmRpbmF0ZXNcIiwgXCJkZXN0aW5hdGlvblwiLCBcImdwc1wiLCBcImxvY2FsaXplXCIsIFwibG9jYXRpb25cIiwgXCJtYXBcIiwgXCJwYXBlclwiLCBcInBpblwiLCBcInBsYWNlXCIsIFwicG9pbnQgb2YgaW50ZXJlc3RcIiwgXCJwb3NpdGlvblwiLCBcInJvdXRlXCIsIFwidHJhdmVsXCIsIFwid2hlcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXAtbWFya2VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRyZXNzXCIsIFwiY29vcmRpbmF0ZXNcIiwgXCJncHNcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwicGluXCIsIFwicGxhY2VcIiwgXCJwb3NpdGlvblwiLCBcInRyYXZlbFwiLCBcIndoZXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFwLW1hcmtlci1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZHJlc3NcIiwgXCJjb29yZGluYXRlc1wiLCBcImdwc1wiLCBcImxvY2FsaXplXCIsIFwibG9jYXRpb25cIiwgXCJtYXBcIiwgXCJwaW5cIiwgXCJwbGFjZVwiLCBcInBvc2l0aW9uXCIsIFwidHJhdmVsXCIsIFwid2hlcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXAtcGluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRyZXNzXCIsIFwiY29vcmRpbmF0ZXNcIiwgXCJncHNcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwibWFya2VyXCIsIFwicGxhY2VcIiwgXCJwb3NpdGlvblwiLCBcInRyYXZlbFwiLCBcIndoZXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFwLXNpZ25zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcmtlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWRpdFwiLCBcInNoYXJwaWVcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1hbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXJzLWRvdWJsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXJzLXN0cm9rZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXJzLXN0cm9rZS1oXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcnMtc3Ryb2tlLXZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWFzdG9kb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWF4Y2RuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1lZGFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1lZGFwcHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWVkaXVtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1lZGl1bS1tXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1lZGtpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmlyc3QgYWlkXCIsIFwiZmlyc3RhaWRcIiwgXCJoZWFsdGhcIiwgXCJoZWxwXCIsIFwic3VwcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1lZHJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1lZXR1cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tZWdhcG9ydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tZWhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcIm5ldXRyYWxcIiwgXCJyYXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1tZWhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcIm5ldXRyYWxcIiwgXCJyYXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tZWgtYmxhbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcIm5ldXRyYWxcIiwgXCJyYXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1tZWgtYmxhbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcIm5ldXRyYWxcIiwgXCJyYXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tZWgtcm9sbGluZy1leWVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJuZXV0cmFsXCIsIFwicmF0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbWVoLXJvbGxpbmctZXllc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibmV1dHJhbFwiLCBcInJhdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1lbW9yeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiRElNTVwiLCBcIlJBTVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1lcmN1cnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInRyYW5zZ2VuZGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWljcm9jaGlwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjcHVcIiwgXCJwcm9jZXNzb3JcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1taWNyb3Bob25lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJyZWNvcmRcIiwgXCJzb3VuZFwiLCBcInZvaWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWljcm9waG9uZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInJlY29yZFwiLCBcInNvdW5kXCIsIFwidm9pY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1taWNyb3Bob25lLWFsdC1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYWJsZVwiLCBcIm11dGVcIiwgXCJyZWNvcmRcIiwgXCJzb3VuZFwiLCBcInZvaWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWljcm9waG9uZS1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYWJsZVwiLCBcIm11dGVcIiwgXCJyZWNvcmRcIiwgXCJzb3VuZFwiLCBcInZvaWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWljcm9zb2Z0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1pbnVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2xsYXBzZVwiLCBcImRlbGV0ZVwiLCBcImhpZGVcIiwgXCJoaWRlXCIsIFwibWluaWZ5XCIsIFwicmVtb3ZlXCIsIFwidHJhc2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1taW51cy1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlbGV0ZVwiLCBcImhpZGVcIiwgXCJyZW1vdmVcIiwgXCJ0cmFzaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1pbnVzLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29sbGFwc2VcIiwgXCJkZWxldGVcIiwgXCJoaWRlXCIsIFwiaGlkZVwiLCBcIm1pbmlmeVwiLCBcInJlbW92ZVwiLCBcInRyYXNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbWludXMtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2xsYXBzZVwiLCBcImRlbGV0ZVwiLCBcImhpZGVcIiwgXCJoaWRlXCIsIFwibWluaWZ5XCIsIFwicmVtb3ZlXCIsIFwidHJhc2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1taXhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWl4Y2xvdWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWl6dW5pXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vYmlsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBwbGVcIiwgXCJjYWxsXCIsIFwiY2VsbCBwaG9uZVwiLCBcImNlbGxwaG9uZVwiLCBcImRldmljZVwiLCBcImlwaG9uZVwiLCBcIm51bWJlclwiLCBcInNjcmVlblwiLCBcInRlbGVwaG9uZVwiLCBcInRleHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb2JpbGUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcHBsZVwiLCBcImNhbGxcIiwgXCJjZWxsIHBob25lXCIsIFwiY2VsbHBob25lXCIsIFwiZGV2aWNlXCIsIFwiaXBob25lXCIsIFwibnVtYmVyXCIsIFwic2NyZWVuXCIsIFwidGVsZXBob25lXCIsIFwidGV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1vZHhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbW9uZXJvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vbmV5LWJpbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1eVwiLCBcImNhc2hcIiwgXCJjaGVja291dFwiLCBcIm1vbmV5XCIsIFwicGF5bWVudFwiLCBcInByaWNlXCIsIFwicHVyY2hhc2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb25leS1iaWxsLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnV5XCIsIFwiY2FzaFwiLCBcImNoZWNrb3V0XCIsIFwibW9uZXlcIiwgXCJwYXltZW50XCIsIFwicHJpY2VcIiwgXCJwdXJjaGFzZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLW1vbmV5LWJpbGwtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidXlcIiwgXCJjYXNoXCIsIFwiY2hlY2tvdXRcIiwgXCJtb25leVwiLCBcInBheW1lbnRcIiwgXCJwcmljZVwiLCBcInB1cmNoYXNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW9uZXktYmlsbC13YXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vbmV5LWJpbGwtd2F2ZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW9uZXktY2hlY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhbmsgY2hlY2tcIiwgXCJjaGVxdWVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb25leS1jaGVjay1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhbmsgY2hlY2tcIiwgXCJjaGVxdWVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb251bWVudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnVpbGRpbmdcIiwgXCJoaXN0b3JpY1wiLCBcIm1lbW9yb2FibGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb29uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb250cmFzdFwiLCBcImRhcmtlclwiLCBcIm5pZ2h0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbW9vblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29udHJhc3RcIiwgXCJkYXJrZXJcIiwgXCJuaWdodFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vcnRhci1wZXN0bGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNydXNoXCIsIFwiY3VsaW5hcnlcIiwgXCJncmluZFwiLCBcIm1lZGljYWxcIiwgXCJtaXhcIiwgXCJzcGljZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb3RvcmN5Y2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaWtlXCIsIFwibWFjaGluZVwiLCBcInRyYW5zcG9ydGF0aW9uXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vdXNlLXBvaW50ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNlbGVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW11c2ljXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJub3RlXCIsIFwic291bmRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1uYXBzdGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW5ldXRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1uZXdzcGFwZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFydGljbGVcIiwgXCJwcmVzc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLW5ld3NwYXBlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJ0aWNsZVwiLCBcInByZXNzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbmltYmxyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW5pbnRlbmRvLXN3aXRjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ub2RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW5vZGUtanNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbm90LWVxdWFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW5vdGVzLW1lZGljYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbnBtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW5zOFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1udXRyaXRpb25peFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1vYmplY3QtZ3JvdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlc2lnblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLW9iamVjdC1ncm91cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtb2JqZWN0LXVuZ3JvdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlc2lnblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLW9iamVjdC11bmdyb3VwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXNpZ25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1vZG5va2xhc3NuaWtpXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW9kbm9rbGFzc25pa2ktc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW9sZC1yZXB1YmxpY1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1vcGVuY2FydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1vcGVuaWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtb3BlcmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtb3B0aW4tbW9uc3RlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1vc2lcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtb3V0ZGVudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wYWdlNFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wYWdlbGluZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVjb1wiLCBcImxlYWZcIiwgXCJsZWF2ZXNcIiwgXCJuYXR1cmVcIiwgXCJwbGFudFwiLCBcInRyZWVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYWludC1icnVzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYWludC1yb2xsZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJydXNoXCIsIFwicGFpbnRpbmdcIiwgXCJ0b29sXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFsZXR0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29sb3JzXCIsIFwicGFpbnRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wYWxmZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFsbGV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhcGVyLXBsYW5lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXBhcGVyLXBsYW5lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhcGVyY2xpcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXR0YWNobWVudFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhcmFjaHV0ZS1ib3hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFpZFwiLCBcImFzc2lzdGFuY2VcIiwgXCJyZXNjdWVcIiwgXCJzdXBwbGllc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhcmFncmFwaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYXJraW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhc3Nwb3J0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcImlkZW50aWZpY2F0aW9uXCIsIFwiaXNzdWVkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFzdGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsaXBib2FyZFwiLCBcImNvcHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wYXRyZW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhdXNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ3YWl0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGF1c2UtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXBhdXNlLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYXdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBheXBhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlc2lnblwiLCBcImVkaXRcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlbi1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlc2lnblwiLCBcImVkaXRcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlbi1mYW5jeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCIsIFwiZWRpdFwiLCBcImZvdW50YWluIHBlblwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVuLW5pYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCIsIFwiZWRpdFwiLCBcImZvdW50YWluIHBlblwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVuLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWRpdFwiLCBcInBlbmNpbC1zcXVhcmVcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlbmNpbC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlc2lnblwiLCBcImVkaXRcIiwgXCJwZW5jaWxcIiwgXCJ1cGRhdGVcIiwgXCJ3cml0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlbmNpbC1ydWxlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wZW9wbGUtY2FycnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1vdmVyc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlcmNlbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVyY2VudGFnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wZXJpc2NvcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGhhYnJpY2F0b3JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGhvZW5peC1mcmFtZXdvcmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGhvZW5peC1zcXVhZHJvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1waG9uZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FsbFwiLCBcImVhcnBob25lXCIsIFwibnVtYmVyXCIsIFwic3VwcG9ydFwiLCBcInRlbGVwaG9uZVwiLCBcInZvaWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGhvbmUtc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGhvbmUtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWxsXCIsIFwibnVtYmVyXCIsIFwic3VwcG9ydFwiLCBcInRlbGVwaG9uZVwiLCBcInZvaWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGhvbmUtdm9sdW1lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0ZWxlcGhvbmVcIiwgXCJ2b2x1bWUtY29udHJvbC1waG9uZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBocFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1waWVkLXBpcGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpZWQtcGlwZXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpZWQtcGlwZXItaGF0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG90aGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpZWQtcGlwZXItcHBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGlnZ3ktYmFua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2F2ZVwiLCBcInNhdmluZ3NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1waWxsc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2luZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpbnRlcmVzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1waW50ZXJlc3QtcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1waW50ZXJlc3Qtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsYW5lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhaXJwbGFuZVwiLCBcImRlc3RpbmF0aW9uXCIsIFwiZmx5XCIsIFwibG9jYXRpb25cIiwgXCJtb2RlXCIsIFwidHJhdmVsXCIsIFwidHJpcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsYW5lLWFycml2YWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFpcnBsYW5lXCIsIFwiYXJyaXZpbmdcIiwgXCJkZXN0aW5hdGlvblwiLCBcImZseVwiLCBcImxhbmRcIiwgXCJsYW5kaW5nXCIsIFwibG9jYXRpb25cIiwgXCJtb2RlXCIsIFwidHJhdmVsXCIsIFwidHJpcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsYW5lLWRlcGFydHVyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWlycGxhbmVcIiwgXCJkZXBhcnRpbmdcIiwgXCJkZXN0aW5hdGlvblwiLCBcImZseVwiLCBcImxvY2F0aW9uXCIsIFwibW9kZVwiLCBcInRha2Ugb2ZmXCIsIFwidGFraW5nIG9mZlwiLCBcInRyYXZlbFwiLCBcInRyaXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wbGF5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtdXNpY1wiLCBcInBsYXlpbmdcIiwgXCJzb3VuZFwiLCBcInN0YXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGxheS1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBsYXlpbmdcIiwgXCJzdGFydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXBsYXktY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwbGF5aW5nXCIsIFwic3RhcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wbGF5c3RhdGlvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wbHVnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb25uZWN0XCIsIFwib25saW5lXCIsIFwicG93ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wbHVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRcIiwgXCJjcmVhdGVcIiwgXCJleHBhbmRcIiwgXCJuZXdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wbHVzLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRkXCIsIFwiY3JlYXRlXCIsIFwiZXhwYW5kXCIsIFwibmV3XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGx1cy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZFwiLCBcImNyZWF0ZVwiLCBcImV4cGFuZFwiLCBcIm5ld1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXBsdXMtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRcIiwgXCJjcmVhdGVcIiwgXCJleHBhbmRcIiwgXCJuZXdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wb2RjYXN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBvb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wb3J0cmFpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wb3VuZC1zaWduXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJnYnBcIiwgXCJnYnBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wb3dlci1vZmZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm9uXCIsIFwicmVib290XCIsIFwicmVzdGFydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXByZXNjcmlwdGlvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2FsXCIsIFwibWVkaWNpbmVcIiwgXCJyeFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXByZXNjcmlwdGlvbi1ib3R0bGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRydWdzXCIsIFwibWVkaWNhbFwiLCBcIm1lZGljaW5lXCIsIFwicnhcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2FsXCIsIFwibWVkaWNpbmVcIiwgXCJyeFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXByaW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXByb2NlZHVyZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcHJvZHVjdC1odW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXByb2plY3QtZGlhZ3JhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wdXNoZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcHV6emxlLXBpZWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGQtb25cIiwgXCJhZGRvblwiLCBcInNlY3Rpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1weXRob25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcXFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcXJjb2RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzY2FuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcXVlc3Rpb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhlbHBcIiwgXCJpbmZvcm1hdGlvblwiLCBcInN1cHBvcnRcIiwgXCJ1bmtub3duXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcXVlc3Rpb24tY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJoZWxwXCIsIFwiaW5mb3JtYXRpb25cIiwgXCJzdXBwb3J0XCIsIFwidW5rbm93blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXF1ZXN0aW9uLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGVscFwiLCBcImluZm9ybWF0aW9uXCIsIFwic3VwcG9ydFwiLCBcInVua25vd25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1xdWlkZGl0Y2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcXVpbnNjYXBlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXF1b3JhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXF1b3RlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcXVvdGUtcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtci1wcm9qZWN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJhbmRvbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2h1ZmZsZVwiLCBcInNvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yYXZlbHJ5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlYWN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlYWRtZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZWJlbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yZWNlaXB0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGVja1wiLCBcImludm9pY2VcIiwgXCJ0YWJsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJlY3ljbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVkLXJpdmVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlZGRpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZWRkaXQtYWxpZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVkZGl0LXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yZWRvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb3J3YXJkXCIsIFwicmVwZWF0XCIsIFwicmVwZWF0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmVkby1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZvcndhcmRcIiwgXCJyZXBlYXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yZWdpc3RlcmVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXJlZ2lzdGVyZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVuZGFjdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZW5yZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmVwbHlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmVwbHktYWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlcGx5ZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZXNlYXJjaGdhdGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVzb2x2aW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJldHdlZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInJlZnJlc2hcIiwgXCJyZWxvYWRcIiwgXCJzaGFyZVwiLCBcInN3YXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZXZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmliYm9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWRnZVwiLCBcImNhdXNlXCIsIFwibGFwZWxcIiwgXCJwaW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yb2FkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzdHJlZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yb2JvdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yb2NrZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFwcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJvY2tldGNoYXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcm9ja3Jtc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsb2dcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yc3Mtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibG9nXCIsIFwiZmVlZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJ1YmxlLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInJ1YlwiLCBcInJ1YlwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJ1bGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJ1bGVyLWNvbWJpbmVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJ1bGVyLWhvcml6b250YWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcnVsZXItdmVydGljYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcnVwZWUtc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaW5kaWFuXCIsIFwiaW5yXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2FkLWNyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwidGVhclwiLCBcInRlYXJzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc2FkLWNyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwidGVhclwiLCBcInRlYXJzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2FkLXRlYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInRlYXJcIiwgXCJ0ZWFyc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXNhZC10ZWFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJ0ZWFyXCIsIFwidGVhcnNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zYWZhcmlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyb3dzZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zYXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNhdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZsb3BweVwiLCBcImZsb3BweS1vXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc2F2ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmxvcHB5XCIsIFwiZmxvcHB5LW9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zY2hsaXhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2Nob29sXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNjcmV3ZHJpdmVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZG1pblwiLCBcImNvbnRhaW5lclwiLCBcImZpeFwiLCBcInJlcGFpclwiLCBcInNldHRpbmdzXCIsIFwidG9vbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNjcmliZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zZWFyY2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpZ2dlclwiLCBcImVubGFyZ2VcIiwgXCJtYWduaWZ5XCIsIFwicHJldmlld1wiLCBcInpvb21cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zZWFyY2gtbWludXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1hZ25pZnlcIiwgXCJtaW5pZnlcIiwgXCJzbWFsbGVyXCIsIFwiem9vbVwiLCBcInpvb20gb3V0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2VhcmNoLXBsdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpZ2dlclwiLCBcImVubGFyZ2VcIiwgXCJtYWduaWZ5XCIsIFwiem9vbVwiLCBcInpvb20gaW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zZWFyY2hlbmdpblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zZWVkbGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zZWxsY2FzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWVyY2FzdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNlbGxzeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zZXJ2ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNwdVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNlcnZpY2VzdGFja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGFyZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hhcmUtYWx0LXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGFyZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNlbmRcIiwgXCJzb2NpYWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zaGFyZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNlbmRcIiwgXCJzb2NpYWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGVrZWwtc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaWxzXCIsIFwiaWxzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hpZWxkLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2hpZWxkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hpcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYm9hdFwiLCBcInNlYVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNoaXBwaW5nLWZhc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2hpcnRzaW5idWxrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNob2UtcHJpbnRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmZWV0XCIsIFwiZm9vdHByaW50c1wiLCBcInN0ZXBzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hvcHBpbmctYmFnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNob3BwaW5nLWJhc2tldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaG9wcGluZy1jYXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidXlcIiwgXCJjaGVja291dFwiLCBcInBheW1lbnRcIiwgXCJwdXJjaGFzZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNob3B3YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNob3dlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaHV0dGxlLXZhblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWFjaGluZVwiLCBcInB1YmxpYy10cmFuc3BvcnRhdGlvblwiLCBcInRyYW5zcG9ydGF0aW9uXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2lnbi1pbi1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiZW50ZXJcIiwgXCJqb2luXCIsIFwibG9nIGluXCIsIFwibG9naW5cIiwgXCJzaWduIGluXCIsIFwic2lnbiB1cFwiLCBcInNpZ24taW5cIiwgXCJzaWduaW5cIiwgXCJzaWdudXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaWduLWxhbmd1YWdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNpZ24tb3V0LWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJleGl0XCIsIFwibGVhdmVcIiwgXCJsb2cgb3V0XCIsIFwibG9nb3V0XCIsIFwic2lnbi1vdXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaWduYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhcnNcIiwgXCJncmFwaFwiLCBcIm9ubGluZVwiLCBcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNpZ25hdHVyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiSm9obiBIYW5jb2NrXCIsIFwiY3Vyc2l2ZVwiLCBcIm5hbWVcIiwgXCJ3cml0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2ltcGx5YnVpbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2lzdHJpeFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaXRlbWFwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXJlY3RvcnlcIiwgXCJoaWVyYXJjaHlcIiwgXCJpYVwiLCBcImluZm9ybWF0aW9uIGFyY2hpdGVjdHVyZVwiLCBcIm9yZ2FuaXphdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNpdGhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2t1bGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJvbmVzXCIsIFwic2tlbGV0b25cIiwgXCJ5b3JpY2tcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1za3lhdGxhc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1za3lwZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zbGFja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYW5jaG9yXCIsIFwiaGFzaFwiLCBcImhhc2h0YWdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zbGFjay1oYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmNob3JcIiwgXCJoYXNoXCIsIFwiaGFzaHRhZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNsaWRlcnMtaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2V0dGluZ3NcIiwgXCJzbGlkZXJzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2xpZGVzaGFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zbWlsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBwcm92ZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCIsIFwicmF0aW5nXCIsIFwic2F0aXNmaWVkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc21pbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJoYXBweVwiLCBcInJhdGluZ1wiLCBcInNhdGlzZmllZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNtaWxlLWJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc21pbGUtYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiaGFwcHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zbWlsZS13aW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJoYXBweVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXNtaWxlLXdpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc21va2luZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2lnYXJldHRlXCIsIFwibmljb3RpbmVcIiwgXCJzbW9raW5nIHN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNtb2tpbmctYmFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJubyBzbW9raW5nXCIsIFwibm9uLXNtb2tpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zbmFwY2hhdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zbmFwY2hhdC1naG9zdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zbmFwY2hhdC1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc25vd2ZsYWtlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXNub3dmbGFrZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zb2xhci1wYW5lbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xlYW5cIiwgXCJlY28tZnJpZW5kbHlcIiwgXCJlbmVyZ3lcIiwgXCJncmVlblwiLCBcInN1blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm9yZGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydC1hbHBoYS1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzb3J0LWFscGhhLWFzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnQtYWxwaGEtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvcnQtYWxwaGEtZGVzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnQtYW1vdW50LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvcnQtYW1vdW50LWFzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnQtYW1vdW50LXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzb3J0LWFtb3VudC1kZXNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydC1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImRlc2NlbmRpbmdcIiwgXCJzb3J0LWRlc2NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zb3J0LW51bWVyaWMtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibnVtYmVyc1wiLCBcInNvcnQtbnVtZXJpYy1hc2NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zb3J0LW51bWVyaWMtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm51bWJlcnNcIiwgXCJzb3J0LW51bWVyaWMtZGVzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnQtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiYXNjZW5kaW5nXCIsIFwic29ydC1hc2NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zb3VuZGNsb3VkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNwYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWluZGZ1bGxuZXNzXCIsIFwicGxhbnRcIiwgXCJ3ZWxsbmVzc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNwYWNlLXNodXR0bGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFzdHJvbmF1dFwiLCBcIm1hY2hpbmVcIiwgXCJuYXNhXCIsIFwicm9ja2V0XCIsIFwidHJhbnNwb3J0YXRpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zcGVha2FwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNwaW5uZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxvYWRpbmdcIiwgXCJwcm9ncmVzc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNwbG90Y2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3BvdGlmeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zcHJheS1jYW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibG9ja1wiLCBcImJveFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmxvY2tcIiwgXCJib3hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zcXVhcmUtZnVsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zcXVhcmVzcGFjZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdGFjay1leGNoYW5nZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdGFjay1vdmVyZmxvd1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdGFtcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdGFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2hpZXZlbWVudFwiLCBcImF3YXJkXCIsIFwiZmF2b3JpdGVcIiwgXCJpbXBvcnRhbnRcIiwgXCJuaWdodFwiLCBcInJhdGluZ1wiLCBcInNjb3JlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc3RhclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNoaWV2ZW1lbnRcIiwgXCJhd2FyZFwiLCBcImZhdm9yaXRlXCIsIFwiaW1wb3J0YW50XCIsIFwibmlnaHRcIiwgXCJyYXRpbmdcIiwgXCJzY29yZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0YXItaGFsZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNoaWV2ZW1lbnRcIiwgXCJhd2FyZFwiLCBcInJhdGluZ1wiLCBcInNjb3JlXCIsIFwic3Rhci1oYWxmLWVtcHR5XCIsIFwic3Rhci1oYWxmLWZ1bGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zdGFyLWhhbGZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjaGlldmVtZW50XCIsIFwiYXdhcmRcIiwgXCJyYXRpbmdcIiwgXCJzY29yZVwiLCBcInN0YXItaGFsZi1lbXB0eVwiLCBcInN0YXItaGFsZi1mdWxsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3Rhci1oYWxmLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNoaWV2ZW1lbnRcIiwgXCJhd2FyZFwiLCBcInJhdGluZ1wiLCBcInNjb3JlXCIsIFwic3Rhci1oYWxmLWVtcHR5XCIsIFwic3Rhci1oYWxmLWZ1bGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdGF5bGlua2VkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0ZWFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0ZWFtLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdGVhbS1zeW1ib2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RlcC1iYWNrd2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmVnaW5uaW5nXCIsIFwiZmlyc3RcIiwgXCJwcmV2aW91c1wiLCBcInJld2luZFwiLCBcInN0YXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RlcC1mb3J3YXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbmRcIiwgXCJsYXN0XCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0ZXRob3Njb3BlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0aWNrZXItbXVsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdGlja3ktbm90ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zdGlja3ktbm90ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdG9wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibG9ja1wiLCBcImJveFwiLCBcInNxdWFyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0b3AtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXN0b3AtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0b3B3YXRjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widGltZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0b3JlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0b3JlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdHJhdmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RyZWFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0cmVldC12aWV3XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtYXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdHJpa2V0aHJvdWdoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0cmlwZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdHJpcGUtc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdHJvb3B3YWZlbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzc2VydFwiLCBcImZvb2RcIiwgXCJzd2VldHNcIiwgXCJ3YWZmbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdHVkaW92aW5hcmlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3R1bWJsZXVwb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3R1bWJsZXVwb24tY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN1YnNjcmlwdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdWJ3YXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1hY2hpbmVcIiwgXCJyYWlsd2F5XCIsIFwidHJhaW5cIiwgXCJ0cmFuc3BvcnRhdGlvblwiLCBcInZlaGljbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdWl0Y2FzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFnZ2FnZVwiLCBcImx1Z2dhZ2VcIiwgXCJtb3ZlXCIsIFwic3VpdGNhc2VcIiwgXCJ0cmF2ZWxcIiwgXCJ0cmlwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3VpdGNhc2Utcm9sbGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyaWdodGVuXCIsIFwiY29udHJhc3RcIiwgXCJkYXlcIiwgXCJsaWdodGVyXCIsIFwid2VhdGhlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXN1blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJpZ2h0ZW5cIiwgXCJjb250cmFzdFwiLCBcImRheVwiLCBcImxpZ2h0ZXJcIiwgXCJ3ZWF0aGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3VwZXJwb3dlcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3VwZXJzY3JpcHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV4cG9uZW50aWFsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3VwcGxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN1cnByaXNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJzaG9ja2VkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc3VycHJpc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInNob2NrZWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zd2F0Y2hib29rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN3aW1tZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF0aGxldGVcIiwgXCJoZWFkXCIsIFwibWFuXCIsIFwicGVyc29uXCIsIFwid2F0ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zd2ltbWluZy1wb29sXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsYWRkZXJcIiwgXCJyZWNyZWF0aW9uXCIsIFwid2F0ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zeW5jXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJleGNoYW5nZVwiLCBcInJlZnJlc2hcIiwgXCJyZWxvYWRcIiwgXCJyb3RhdGVcIiwgXCJzd2FwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3luYy1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInJlZnJlc2hcIiwgXCJyZWxvYWRcIiwgXCJyb3RhdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zeXJpbmdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpbW11bml6YXRpb25zXCIsIFwibmVlZGxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFibGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRhdGFcIiwgXCJleGNlbFwiLCBcInNwcmVhZHNoZWV0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFibGUtdGVubmlzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRhYmxldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBwbGVcIiwgXCJkZXZpY2VcIiwgXCJpcGFkXCIsIFwia2luZGxlXCIsIFwic2NyZWVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFibGV0LWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBwbGVcIiwgXCJkZXZpY2VcIiwgXCJpcGFkXCIsIFwia2luZGxlXCIsIFwic2NyZWVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFibGV0c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2luZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRhY2hvbWV0ZXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkYXNoYm9hcmRcIiwgXCJ0YWNob21ldGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsYWJlbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRhZ3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxhYmVsc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRhcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFza3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvd25sb2FkaW5nXCIsIFwiZG93bmxvYWRzXCIsIFwibG9hZGluZ1wiLCBcInByb2dyZXNzXCIsIFwic2V0dGluZ3NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YXhpXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWJcIiwgXCJjYWJiaWVcIiwgXCJjYXJcIiwgXCJjYXIgc2VydmljZVwiLCBcImx5ZnRcIiwgXCJtYWNoaW5lXCIsIFwidHJhbnNwb3J0YXRpb25cIiwgXCJ1YmVyXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRlYW1zcGVha1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10ZWxlZ3JhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10ZWxlZ3JhbS1wbGFuZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10ZW5jZW50LXdlaWJvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRlcm1pbmFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2RlXCIsIFwiY29tbWFuZFwiLCBcImNvbnNvbGVcIiwgXCJwcm9tcHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10ZXh0LWhlaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10ZXh0LXdpZHRoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibG9ja3NcIiwgXCJib3hlc1wiLCBcImdyaWRcIiwgXCJzcXVhcmVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGgtbGFyZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsb2Nrc1wiLCBcImJveGVzXCIsIFwiZ3JpZFwiLCBcInNxdWFyZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aC1saXN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGVja2xpc3RcIiwgXCJjb21wbGV0ZWRcIiwgXCJkb25lXCIsIFwiZmluaXNoZWRcIiwgXCJvbFwiLCBcInRvZG9cIiwgXCJ1bFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRoZW1lY29cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdGhlbWVpc2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoZXJtb21ldGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmZXZlclwiLCBcInRlbXBlcmF0dXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhlcm1vbWV0ZXItZW1wdHlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoZXJtb21ldGVyLWZ1bGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoZXJtb21ldGVyLWhhbGZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoZXJtb21ldGVyLXF1YXJ0ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzdGF0dXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aHVtYnMtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYWdyZWVcIiwgXCJkaXNhcHByb3ZlXCIsIFwiZGlzbGlrZVwiLCBcImhhbmRcIiwgXCJ0aHVtYnMtby1kb3duXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtdGh1bWJzLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpc2FncmVlXCIsIFwiZGlzYXBwcm92ZVwiLCBcImRpc2xpa2VcIiwgXCJoYW5kXCIsIFwidGh1bWJzLW8tZG93blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRodW1icy11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWdyZWVcIiwgXCJhcHByb3ZlXCIsIFwiZmF2b3JpdGVcIiwgXCJoYW5kXCIsIFwibGlrZVwiLCBcIm9rXCIsIFwib2theVwiLCBcInN1Y2Nlc3NcIiwgXCJ0aHVtYnMtby11cFwiLCBcInllc1wiLCBcInlvdSBnb3QgaXQgZHVkZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXRodW1icy11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWdyZWVcIiwgXCJhcHByb3ZlXCIsIFwiZmF2b3JpdGVcIiwgXCJoYW5kXCIsIFwibGlrZVwiLCBcIm9rXCIsIFwib2theVwiLCBcInN1Y2Nlc3NcIiwgXCJ0aHVtYnMtby11cFwiLCBcInllc1wiLCBcInlvdSBnb3QgaXQgZHVkZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRodW1idGFja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29vcmRpbmF0ZXNcIiwgXCJsb2NhdGlvblwiLCBcIm1hcmtlclwiLCBcInBpblwiLCBcInRodW1iLXRhY2tcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aWNrZXQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0aWNrZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aW1lc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvc2VcIiwgXCJjcm9zc1wiLCBcImVycm9yXCIsIFwiZXhpdFwiLCBcImluY29ycmVjdFwiLCBcIm5vdGljZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcIm5vdGlmeVwiLCBcInByb2JsZW1cIiwgXCJ3cm9uZ1wiLCBcInhcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aW1lcy1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsb3NlXCIsIFwiY3Jvc3NcIiwgXCJleGl0XCIsIFwiaW5jb3JyZWN0XCIsIFwibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicHJvYmxlbVwiLCBcIndyb25nXCIsIFwieFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXRpbWVzLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvc2VcIiwgXCJjcm9zc1wiLCBcImV4aXRcIiwgXCJpbmNvcnJlY3RcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJwcm9ibGVtXCIsIFwid3JvbmdcIiwgXCJ4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJvcFwiLCBcImRyb3BsZXRcIiwgXCJyYWluZHJvcFwiLCBcIndhdGVyZHJvcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRpbnQtc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGlyZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImdydW1weVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXRpcmVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJncnVtcHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10b2dnbGUtb2ZmXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzd2l0Y2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10b2dnbGUtb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN3aXRjaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRvb2xib3hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkbWluXCIsIFwiY29udGFpbmVyXCIsIFwiZml4XCIsIFwicmVwYWlyXCIsIFwic2V0dGluZ3NcIiwgXCJ0b29sc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRvb3RoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaWN1c3BpZFwiLCBcImRlbnRhbFwiLCBcIm1vbGFyXCIsIFwibW91dGhcIiwgXCJ0ZWV0aFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRyYWRlLWZlZGVyYXRpb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJhZGVtYXJrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyYWluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWxsZXRcIiwgXCJsb2NvbW90aXZlXCIsIFwicmFpbHdheVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyYW5zZ2VuZGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpbnRlcnNleFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyYW5zZ2VuZGVyLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10cmFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVsZXRlXCIsIFwiZ2FyYmFnZVwiLCBcImhpZGVcIiwgXCJyZW1vdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10cmFzaC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlbGV0ZVwiLCBcImdhcmJhZ2VcIiwgXCJoaWRlXCIsIFwicmVtb3ZlXCIsIFwidHJhc2hcIiwgXCJ0cmFzaC1vXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtdHJhc2gtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZWxldGVcIiwgXCJnYXJiYWdlXCIsIFwiaGlkZVwiLCBcInJlbW92ZVwiLCBcInRyYXNoXCIsIFwidHJhc2gtb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyZWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHJlbGxvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRyaXBhZHZpc29yXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyb3BoeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNoaWV2ZW1lbnRcIiwgXCJhd2FyZFwiLCBcImN1cFwiLCBcImdhbWVcIiwgXCJ3aW5uZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10cnVja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVsaXZlcnlcIiwgXCJzaGlwcGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRydWNrLWxvYWRpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJ1Y2stbW92aW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRzaGlydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvdGhcIiwgXCJjbG90aGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXR0eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10dW1ibHJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHVtYmxyLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10dlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29tcHV0ZXJcIiwgXCJkaXNwbGF5XCIsIFwibW9uaXRvclwiLCBcInRlbGV2aXNpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10d2l0Y2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHdpdHRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic29jaWFsIG5ldHdvcmtcIiwgXCJ0d2VldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXR3aXR0ZXItc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzb2NpYWwgbmV0d29ya1wiLCBcInR3ZWV0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHlwbzNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdWJlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS11aWtpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bWJyZWxsYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicHJvdGVjdGlvblwiLCBcInJhaW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bWJyZWxsYS1iZWFjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicHJvdGVjdGlvblwiLCBcInJlY3JlYXRpb25cIiwgXCJzdW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bmRlcmxpbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdW5kb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcImNvbnRyb2wgelwiLCBcImV4Y2hhbmdlXCIsIFwib29wc1wiLCBcInJldHVyblwiLCBcInJvdGF0ZVwiLCBcInN3YXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bmRvLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcImNvbnRyb2wgelwiLCBcImV4Y2hhbmdlXCIsIFwib29wc1wiLCBcInJldHVyblwiLCBcInN3YXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS11bmlyZWdpc3RyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bml2ZXJzYWwtYWNjZXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVuaXZlcnNpdHlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhbmtcIiwgXCJpbnN0aXR1dGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVubGlua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hhaW5cIiwgXCJjaGFpbi1icm9rZW5cIiwgXCJyZW1vdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bmxvY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkbWluXCIsIFwibG9ja1wiLCBcInBhc3N3b3JkXCIsIFwicHJvdGVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVubG9jay1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkbWluXCIsIFwibG9ja1wiLCBcInBhc3N3b3JkXCIsIFwicHJvdGVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXVudGFwcGRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXBsb2FkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJleHBvcnRcIiwgXCJwdWJsaXNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdXNiXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY291bnRcIiwgXCJhdmF0YXJcIiwgXCJoZWFkXCIsIFwibWFuXCIsIFwicGVyc29uXCIsIFwicHJvZmlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXVzZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY291bnRcIiwgXCJhdmF0YXJcIiwgXCJoZWFkXCIsIFwibWFuXCIsIFwicGVyc29uXCIsIFwicHJvZmlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NvdW50XCIsIFwiYXZhdGFyXCIsIFwiaGVhZFwiLCBcIm1hblwiLCBcInBlcnNvblwiLCBcInByb2ZpbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWFsdC1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWFzdHJvbmF1dFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXZhdGFyXCIsIFwiY2xvdGhpbmdcIiwgXCJjb3Ntb25hdXRcIiwgXCJzcGFjZVwiLCBcInN1aXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWNoZWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NvdW50XCIsIFwiYXZhdGFyXCIsIFwiaGVhZFwiLCBcIm1hblwiLCBcInBlcnNvblwiLCBcInByb2ZpbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS11c2VyLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjb3VudFwiLCBcImF2YXRhclwiLCBcImhlYWRcIiwgXCJtYW5cIiwgXCJwZXJzb25cIiwgXCJwcm9maWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1jbG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWNvZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWVkaXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1mcmllbmRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItZ3JhZHVhdGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhcFwiLCBcImNsb3RoaW5nXCIsIFwiY29tbWVuY2VtZW50XCIsIFwiZ293blwiLCBcImdyYWR1YXRpb25cIiwgXCJzdHVkZW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1sb2NrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItbWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3RvclwiLCBcImpvYlwiLCBcIm1lZGljYWxcIiwgXCJudXJzZVwiLCBcIm9jY3VwYXRpb25cIiwgXCJwcm9maWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1taW51c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLW5pbmphXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhc3Nhc3NpblwiLCBcImF2YXRhclwiLCBcImRhbmdlcm91c1wiLCBcInNuZWFreVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItcGx1c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2lnbiB1cFwiLCBcInNpZ251cFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItc2VjcmV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG90aGluZ1wiLCBcImNvYXRcIiwgXCJoYXRcIiwgXCJpbmNvZ25pdG9cIiwgXCJwcml2YWN5XCIsIFwic3B5XCIsIFwid2hpc3BlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItc2hpZWxkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci10YWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci10aWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF2YXRhclwiLCBcImJ1c2luZXNzXCIsIFwiY2xvdGhpbmdcIiwgXCJmb3JtYWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLXRpbWVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwZW9wbGVcIiwgXCJwZXJzb25zXCIsIFwicHJvZmlsZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2Vycy1jb2dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdXNzdW5uYWhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXRlbnNpbC1zcG9vblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3Bvb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11dGVuc2lsc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY3V0bGVyeVwiLCBcImRpbm5lclwiLCBcImVhdFwiLCBcImZvb2RcIiwgXCJrbmlmZVwiLCBcInJlc3RhdXJhbnRcIiwgXCJzcG9vblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZhYWRpblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12ZWN0b3Itc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmNob3JzXCIsIFwibGluZXNcIiwgXCJvYmplY3RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12ZW51c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmVtYWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdmVudXMtZG91YmxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZlbnVzLW1hcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmlhY29pblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12aWFkZW9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmlhZGVvLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12aWFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0ZXN0IHR1YmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12aWFsc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibGFiIHJlc3VsdHNcIiwgXCJ0ZXN0IHR1YmVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmliZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdmlkZW9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhbWVyYVwiLCBcImZpbG1cIiwgXCJtb3ZpZVwiLCBcInJlY29yZFwiLCBcInZpZGVvLWNhbWVyYVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZpZGVvLXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZpbWVvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZpbWVvLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12aW1lby12XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ2aW1lb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZpbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdm52XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZvbGxleWJhbGwtYmFsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12b2x1bWUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXVkaW9cIiwgXCJsb3dlclwiLCBcIm11c2ljXCIsIFwicXVpZXRlclwiLCBcInNvdW5kXCIsIFwic3BlYWtlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZvbHVtZS1vZmZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF1ZGlvXCIsIFwibXVzaWNcIiwgXCJtdXRlXCIsIFwic291bmRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12b2x1bWUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF1ZGlvXCIsIFwiaGlnaGVyXCIsIFwibG91ZGVyXCIsIFwibXVzaWNcIiwgXCJzb3VuZFwiLCBcInNwZWFrZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12dWVqc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13YWxraW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdhbGxldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13YXJlaG91c2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd2VlYmx5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdlaWJvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdlaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWVhc3VyZW1lbnRcIiwgXCJzY2FsZVwiLCBcIndlaWdodFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdlaWdodC1oYW5naW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbnZpbFwiLCBcImhlYXZ5XCIsIFwibWVhc3VyZW1lbnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13ZWl4aW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd2hhdHNhcHBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd2hhdHNhcHAtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdoZWVsY2hhaXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhhbmRpY2FwXCIsIFwicGVyc29uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd2htY3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2lmaVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13aWtpcGVkaWEtd1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13aW5kb3ctY2xvc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtd2luZG93LWNsb3NlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdpbmRvdy1tYXhpbWl6ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS13aW5kb3ctbWF4aW1pemVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2luZG93LW1pbmltaXplXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXdpbmRvdy1taW5pbWl6ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13aW5kb3ctcmVzdG9yZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS13aW5kb3ctcmVzdG9yZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13aW5kb3dzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtaWNyb3NvZnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13aW5lLWdsYXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdpbmUtZ2xhc3MtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdpeFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13b2xmLXBhY2stYmF0dGFsaW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdvbi1zaWduXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJrcndcIiwgXCJrcndcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13b3JkcHJlc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd29yZHByZXNzLXNpbXBsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13cGJlZ2lubmVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdwZXhwbG9yZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd3Bmb3Jtc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13cmVuY2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpeFwiLCBcInNldHRpbmdzXCIsIFwic3Bhbm5lclwiLCBcInRvb2xcIiwgXCJ1cGRhdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS14LXJheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicmFkaW9sb2dpY2FsIGltYWdlc1wiLCBcInJhZGlvbG9neVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXhib3hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS14aW5nLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS15LWNvbWJpbmF0b3JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteWFob29cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteWFuZGV4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXlhbmRleC1pbnRlcm5hdGlvbmFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXllbHBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEteWVuLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImpweVwiLCBcImpweVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXlvYXN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXlvdXR1YmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbG1cIiwgXCJ2aWRlb1wiLCBcInlvdXR1YmUtcGxheVwiLCBcInlvdXR1YmUtc3F1YXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteW91dHViZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfV1cclxuICAgIH0pO1xyXG59KTsiLCIvLyBhIHdyYXBwZXIgYXJvdW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9mYXJiZWxvdXMvZm9udGF3ZXNvbWUtaWNvbnBpY2tlclxyXG4vLyBJdCBtYWtlcyBlYXNpZXIgdG8gdXNlIGEgc2luZ2xlIHBpY2tlciBpbnN0YW5jZSB3aXRoIHNldmVyYWwgaW5wdXQgZmllbGRzLlxyXG4vLyBIb3cgdG8gdXNlIGl0OiBDYWxsIHNob3coKSBmcm9tIG91dHNpZGUgLCBwYXNzaW5nIGl0IHRoZSBpZCdzIG9mIHRoZSBpbnB1dCBmaWVsZHMgeW91IHdhbnQgdGhlIGljb24gY2xhc3NlcyBhcHBsaWVkIHRvLlxyXG5cclxudmFyIGljb25QaWNrZXJWdWUgPSBuZXcgVnVlKHtcclxuICAgIGVsOiAnI2ljb25QaWNrZXJWdWUnLFxyXG4gICAgZGF0YToge1xyXG4gICAgICAgIHRhcmdldElucHV0RmllbGQ6ICcnLFxyXG4gICAgICAgIHRhcmdldEljb25UYWc6ICcnXHJcbiAgICB9LFxyXG4gICAgbW91bnRlZDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuXHJcbiAgICAgICAgJCgnLmljcC1hdXRvJykuaWNvbnBpY2tlcih7XHJcbiAgICAgICAgICAgIHRpdGxlOiBmYWxzZSxcclxuICAgICAgICAgICAgdGVtcGxhdGVzOiB7XHJcbiAgICAgICAgICAgICAgICBzZWFyY2g6ICc8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGljb25waWNrZXItc2VhcmNoXCIgcGxhY2Vob2xkZXI9XCJcIiAvPicgLy8ganVzdCB0byBsZWF2ZSBlbXB0eSB0aGUgcGxhY2Vob2xkZXIgYmVjYXVzZSBpdCBpcyBub3QgbG9jYWxpemVkXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnI2lubGluZS1waWNrZXInKS5vbignaWNvbnBpY2tlclNlbGVjdGVkJywgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gZS5pY29ucGlja2VySW5zdGFuY2Uub3B0aW9ucy5mdWxsQ2xhc3NGb3JtYXR0ZXIoZS5pY29ucGlja2VyVmFsdWUpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYgKHNlbGYudGFyZ2V0SW5wdXRGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgJCgnIycgKyBzZWxmLnRhcmdldElucHV0RmllbGQpLnZhbChzZWxlY3RlZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChzZWxmLnRhcmdldEljb25UYWcpIHtcclxuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gcmVwbGFjZSB0aGUgZnVsbCB0YWcgd2l0aCB0aGUgbmV3IGNsYXNzLlxyXG4gICAgICAgICAgICAgICAgLy8gV2UgY291bGQgc2ltcGx5IGFwcGx5IHRoZSBuZXcgc2VsZWN0ZWQgY2xhc3MgdG8gdGhlIGkgZWxlbWVudC5cclxuICAgICAgICAgICAgICAgIC8vIEJ1dCB0aGVyZSBpcyBhbiBpc3N1ZTogd2hlbiB0aGUgcHJldmlvdXMgY2xhc3MgaXMgbm90IGEgdmFsaWQgZmEgaWNvbiB0aGUgaWNvbiBkb2VzIG5vdCByZWZyZXNoLlxyXG4gICAgICAgICAgICAgICAgJCgnIycgKyBzZWxmLnRhcmdldEljb25UYWcpLnJlcGxhY2VXaXRoKCc8aSBpZD1cIicgKyBzZWxmLnRhcmdldEljb25UYWcgKyAnXCIgY2xhc3M9XCInKyBzZWxlY3RlZCArICdcIj48L2k+JykgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICQoJyNpY29uUGlja2VyTW9kYWwnKS5tb2RhbCgnaGlkZScpOyAgICAgICAgICAgIFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgICAgc2hvdzogZnVuY3Rpb24gKHRhcmdldElucHV0RmllbGQsIHRhcmdldEljb25UYWcpIHtcclxuICAgICAgICAgICAgdGhpcy50YXJnZXRJbnB1dEZpZWxkID0gdGFyZ2V0SW5wdXRGaWVsZDtcclxuICAgICAgICAgICAgdGhpcy50YXJnZXRJY29uVGFnID0gdGFyZ2V0SWNvblRhZztcclxuXHJcbiAgICAgICAgICAgICQoJyNpY29uUGlja2VyTW9kYWwnKS5tb2RhbCgnc2hvdycpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSkiXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvbnRhd2Vzb21lLWljb25waWNrZXIuanMiLCJBZG1pbk5vZGVJY29uUGlja2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDcHdKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImFkbWluLW1lbnUtaWNvbi1waWNrZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcclxuICogRm9udCBBd2Vzb21lIEljb24gUGlja2VyXHJcbiAqIGh0dHBzOi8vZmFyYmVsb3VzLmdpdGh1Yi5pby9mb250YXdlc29tZS1pY29ucGlja2VyL1xyXG4gKlxyXG4gKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgKGMpIDIwMTYgSmF2aSBBZ3VpbGFyXHJcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFyYmVsb3VzL2ZvbnRhd2Vzb21lLWljb25waWNrZXIvYmxvYi9tYXN0ZXIvTElDRU5TRVxyXG4gKlxyXG4gKi9cclxuKGZ1bmN0aW9uIChhKSB7XHJcbiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIHtcclxuICAgICAgICBkZWZpbmUoW1wianF1ZXJ5XCJdLCBhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYShqUXVlcnkpO1xyXG4gICAgfVxyXG59KShmdW5jdGlvbiAoYSkge1xyXG4gICAgYS51aSA9IGEudWkgfHwge307XHJcbiAgICB2YXIgYiA9IGEudWkudmVyc2lvbiA9IFwiMS4xMi4xXCI7XHJcbiAgICAvKiFcclxuICAgICAqIGpRdWVyeSBVSSBQb3NpdGlvbiAxLjEyLjFcclxuICAgICAqIGh0dHA6Ly9qcXVlcnl1aS5jb21cclxuICAgICAqXHJcbiAgICAgKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yc1xyXG4gICAgICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxyXG4gICAgICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZVxyXG4gICAgICpcclxuICAgICAqIGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Bvc2l0aW9uL1xyXG4gICAgICovXHJcbiAgICAoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBiLCBjID0gTWF0aC5tYXgsIGQgPSBNYXRoLmFicywgZSA9IC9sZWZ0fGNlbnRlcnxyaWdodC8sIGYgPSAvdG9wfGNlbnRlcnxib3R0b20vLCBnID0gL1tcXCtcXC1dXFxkKyhcXC5bXFxkXSspPyU/LywgaCA9IC9eXFx3Ky8sIGkgPSAvJSQvLCBqID0gYS5mbi5wb3M7XHJcbiAgICAgICAgZnVuY3Rpb24gayhhLCBiLCBjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbcGFyc2VGbG9hdChhWzBdKSAqIChpLnRlc3QoYVswXSkgPyBiIC8gMTAwIDogMSksIHBhcnNlRmxvYXQoYVsxXSkgKiAoaS50ZXN0KGFbMV0pID8gYyAvIDEwMCA6IDEpXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZnVuY3Rpb24gbChiLCBjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwYXJzZUludChhLmNzcyhiLCBjKSwgMTApIHx8IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZ1bmN0aW9uIG0oYikge1xyXG4gICAgICAgICAgICB2YXIgYyA9IGJbMF07XHJcbiAgICAgICAgICAgIGlmIChjLm5vZGVUeXBlID09PSA5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBiLndpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBiLmhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChhLmlzV2luZG93KGMpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBiLndpZHRoKCksXHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBiLmhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGIuc2Nyb2xsVG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGIuc2Nyb2xsTGVmdCgpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYy5wcmV2ZW50RGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMCxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYy5wYWdlWSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogYy5wYWdlWFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBiLm91dGVyV2lkdGgoKSxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYi5vdXRlckhlaWdodCgpLFxyXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiBiLm9mZnNldCgpXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEucG9zID0ge1xyXG4gICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKGIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdmFyIGMsIGQsIGUgPSBhKFwiPGRpdiBcIiArIFwic3R5bGU9J2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtvdmVyZmxvdzpoaWRkZW47Jz5cIiArIFwiPGRpdiBzdHlsZT0naGVpZ2h0OjEwMHB4O3dpZHRoOmF1dG87Jz48L2Rpdj48L2Rpdj5cIiksIGYgPSBlLmNoaWxkcmVuKClbMF07XHJcbiAgICAgICAgICAgICAgICBhKFwiYm9keVwiKS5hcHBlbmQoZSk7XHJcbiAgICAgICAgICAgICAgICBjID0gZi5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgICAgIGUuY3NzKFwib3ZlcmZsb3dcIiwgXCJzY3JvbGxcIik7XHJcbiAgICAgICAgICAgICAgICBkID0gZi5vZmZzZXRXaWR0aDtcclxuICAgICAgICAgICAgICAgIGlmIChjID09PSBkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZCA9IGVbMF0uY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGIgPSBjIC0gZDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZ2V0U2Nyb2xsSW5mbzogZnVuY3Rpb24gKGIpIHtcclxuICAgICAgICAgICAgICAgIHZhciBjID0gYi5pc1dpbmRvdyB8fCBiLmlzRG9jdW1lbnQgPyBcIlwiIDogYi5lbGVtZW50LmNzcyhcIm92ZXJmbG93LXhcIiksIGQgPSBiLmlzV2luZG93IHx8IGIuaXNEb2N1bWVudCA/IFwiXCIgOiBiLmVsZW1lbnQuY3NzKFwib3ZlcmZsb3cteVwiKSwgZSA9IGMgPT09IFwic2Nyb2xsXCIgfHwgYyA9PT0gXCJhdXRvXCIgJiYgYi53aWR0aCA8IGIuZWxlbWVudFswXS5zY3JvbGxXaWR0aCwgZiA9IGQgPT09IFwic2Nyb2xsXCIgfHwgZCA9PT0gXCJhdXRvXCIgJiYgYi5oZWlnaHQgPCBiLmVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZiA/IGEucG9zLnNjcm9sbGJhcldpZHRoKCkgOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogZSA/IGEucG9zLnNjcm9sbGJhcldpZHRoKCkgOiAwXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBnZXRXaXRoaW5JbmZvOiBmdW5jdGlvbiAoYikge1xyXG4gICAgICAgICAgICAgICAgdmFyIGMgPSBhKGIgfHwgd2luZG93KSwgZCA9IGEuaXNXaW5kb3coY1swXSksIGUgPSAhIWNbMF0gJiYgY1swXS5ub2RlVHlwZSA9PT0gOSwgZiA9ICFkICYmICFlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBjLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzV2luZG93OiBkLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRG9jdW1lbnQ6IGUsXHJcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBmID8gYShiKS5vZmZzZXQoKSA6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxMZWZ0OiBjLnNjcm9sbExlZnQoKSxcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IGMuc2Nyb2xsVG9wKCksXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGMub3V0ZXJXaWR0aCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYy5vdXRlckhlaWdodCgpXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBhLmZuLnBvcyA9IGZ1bmN0aW9uIChiKSB7XHJcbiAgICAgICAgICAgIGlmICghYiB8fCAhYi5vZikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGouYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiID0gYS5leHRlbmQoe30sIGIpO1xyXG4gICAgICAgICAgICB2YXIgaSwgbiwgbywgcCwgcSwgciwgcyA9IGEoYi5vZiksIHQgPSBhLnBvcy5nZXRXaXRoaW5JbmZvKGIud2l0aGluKSwgdSA9IGEucG9zLmdldFNjcm9sbEluZm8odCksIHYgPSAoYi5jb2xsaXNpb24gfHwgXCJmbGlwXCIpLnNwbGl0KFwiIFwiKSwgdyA9IHt9O1xyXG4gICAgICAgICAgICByID0gbShzKTtcclxuICAgICAgICAgICAgaWYgKHNbMF0ucHJldmVudERlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgIGIuYXQgPSBcImxlZnQgdG9wXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbiA9IHIud2lkdGg7XHJcbiAgICAgICAgICAgIG8gPSByLmhlaWdodDtcclxuICAgICAgICAgICAgcCA9IHIub2Zmc2V0O1xyXG4gICAgICAgICAgICBxID0gYS5leHRlbmQoe30sIHApO1xyXG4gICAgICAgICAgICBhLmVhY2goW1wibXlcIiwgXCJhdFwiXSwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGEgPSAoYlt0aGlzXSB8fCBcIlwiKS5zcGxpdChcIiBcIiksIGMsIGQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoYS5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBhID0gZS50ZXN0KGFbMF0pID8gYS5jb25jYXQoW1wiY2VudGVyXCJdKSA6IGYudGVzdChhWzBdKSA/IFtcImNlbnRlclwiXS5jb25jYXQoYSkgOiBbXCJjZW50ZXJcIiwgXCJjZW50ZXJcIl07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhWzBdID0gZS50ZXN0KGFbMF0pID8gYVswXSA6IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICBhWzFdID0gZi50ZXN0KGFbMV0pID8gYVsxXSA6IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICBjID0gZy5leGVjKGFbMF0pO1xyXG4gICAgICAgICAgICAgICAgZCA9IGcuZXhlYyhhWzFdKTtcclxuICAgICAgICAgICAgICAgIHdbdGhpc10gPSBbYyA/IGNbMF0gOiAwLCBkID8gZFswXSA6IDBdO1xyXG4gICAgICAgICAgICAgICAgYlt0aGlzXSA9IFtoLmV4ZWMoYVswXSlbMF0sIGguZXhlYyhhWzFdKVswXV07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpZiAodi5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIHZbMV0gPSB2WzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChiLmF0WzBdID09PSBcInJpZ2h0XCIpIHtcclxuICAgICAgICAgICAgICAgIHEubGVmdCArPSBuO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGIuYXRbMF0gPT09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgICAgIHEubGVmdCArPSBuIC8gMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYi5hdFsxXSA9PT0gXCJib3R0b21cIikge1xyXG4gICAgICAgICAgICAgICAgcS50b3AgKz0gbztcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChiLmF0WzFdID09PSBcImNlbnRlclwiKSB7XHJcbiAgICAgICAgICAgICAgICBxLnRvcCArPSBvIC8gMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpID0gayh3LmF0LCBuLCBvKTtcclxuICAgICAgICAgICAgcS5sZWZ0ICs9IGlbMF07XHJcbiAgICAgICAgICAgIHEudG9wICs9IGlbMV07XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGUsIGYsIGcgPSBhKHRoaXMpLCBoID0gZy5vdXRlcldpZHRoKCksIGogPSBnLm91dGVySGVpZ2h0KCksIG0gPSBsKHRoaXMsIFwibWFyZ2luTGVmdFwiKSwgciA9IGwodGhpcywgXCJtYXJnaW5Ub3BcIiksIHggPSBoICsgbSArIGwodGhpcywgXCJtYXJnaW5SaWdodFwiKSArIHUud2lkdGgsIHkgPSBqICsgciArIGwodGhpcywgXCJtYXJnaW5Cb3R0b21cIikgKyB1LmhlaWdodCwgeiA9IGEuZXh0ZW5kKHt9LCBxKSwgQSA9IGsody5teSwgZy5vdXRlcldpZHRoKCksIGcub3V0ZXJIZWlnaHQoKSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5teVswXSA9PT0gXCJyaWdodFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgei5sZWZ0IC09IGg7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGIubXlbMF0gPT09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB6LmxlZnQgLT0gaCAvIDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5teVsxXSA9PT0gXCJib3R0b21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHoudG9wIC09IGo7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGIubXlbMV0gPT09IFwiY2VudGVyXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB6LnRvcCAtPSBqIC8gMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHoubGVmdCArPSBBWzBdO1xyXG4gICAgICAgICAgICAgICAgei50b3AgKz0gQVsxXTtcclxuICAgICAgICAgICAgICAgIGUgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogbSxcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IHJcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBhLmVhY2goW1wibGVmdFwiLCBcInRvcFwiXSwgZnVuY3Rpb24gKGMsIGQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYS51aS5wb3NbdltjXV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYS51aS5wb3NbdltjXV1bZF0oeiwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0V2lkdGg6IG4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRIZWlnaHQ6IG8sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtV2lkdGg6IGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtSGVpZ2h0OiBqLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbGlzaW9uUG9zaXRpb246IGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsaXNpb25XaWR0aDogeCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxpc2lvbkhlaWdodDogeSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogW2lbMF0gKyBBWzBdLCBpWzFdICsgQVsxXV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteTogYi5teSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBiLmF0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aGluOiB0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbTogZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlmIChiLnVzaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZiA9IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gcC5sZWZ0IC0gei5sZWZ0LCBmID0gZSArIG4gLSBoLCBpID0gcC50b3AgLSB6LnRvcCwgayA9IGkgKyBvIC0gaiwgbCA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogcC5sZWZ0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogcC50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG4sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudDoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogei5sZWZ0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogei50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGgsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBqXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9yaXpvbnRhbDogZiA8IDAgPyBcImxlZnRcIiA6IGUgPiAwID8gXCJyaWdodFwiIDogXCJjZW50ZXJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsOiBrIDwgMCA/IFwidG9wXCIgOiBpID4gMCA/IFwiYm90dG9tXCIgOiBcIm1pZGRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuIDwgaCAmJiBkKGUgKyBmKSA8IG4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwuaG9yaXpvbnRhbCA9IFwiY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8gPCBqICYmIGQoaSArIGspIDwgbykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbC52ZXJ0aWNhbCA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMoZChlKSwgZChmKSkgPiBjKGQoaSksIGQoaykpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsLmltcG9ydGFudCA9IFwiaG9yaXpvbnRhbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbC5pbXBvcnRhbnQgPSBcInZlcnRpY2FsXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYi51c2luZy5jYWxsKHRoaXMsIGEsIGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBnLm9mZnNldChhLmV4dGVuZCh6LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXNpbmc6IGZcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICBhLnVpLnBvcyA9IHtcclxuICAgICAgICAgICAgX3RyaWdnZXI6IGZ1bmN0aW9uIChhLCBiLCBjLCBkKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5lbGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYi5lbGVtLnRyaWdnZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb25EYXRhOiBiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyZWQ6IGRcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZml0OiB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBmdW5jdGlvbiAoYiwgZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGQsIFwicG9zQ29sbGlkZVwiLCBcImZpdExlZnRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBkLndpdGhpbiwgZiA9IGUuaXNXaW5kb3cgPyBlLnNjcm9sbExlZnQgOiBlLm9mZnNldC5sZWZ0LCBnID0gZS53aWR0aCwgaCA9IGIubGVmdCAtIGQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCwgaSA9IGYgLSBoLCBqID0gaCArIGQuY29sbGlzaW9uV2lkdGggLSBnIC0gZiwgaztcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZC5jb2xsaXNpb25XaWR0aCA+IGcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiAwICYmIGogPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgayA9IGIubGVmdCArIGkgKyBkLmNvbGxpc2lvbldpZHRoIC0gZyAtIGY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gaSAtIGs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaiA+IDAgJiYgaSA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgPSBmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiBqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYi5sZWZ0ID0gZiArIGcgLSBkLmNvbGxpc2lvbldpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgPSBmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gaTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGogPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIubGVmdCAtPSBqO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIubGVmdCA9IGMoYi5sZWZ0IC0gaCwgYi5sZWZ0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuX3RyaWdnZXIoYiwgZCwgXCJwb3NDb2xsaWRlZFwiLCBcImZpdExlZnRcIik7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdG9wOiBmdW5jdGlvbiAoYiwgZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGQsIFwicG9zQ29sbGlkZVwiLCBcImZpdFRvcFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGQud2l0aGluLCBmID0gZS5pc1dpbmRvdyA/IGUuc2Nyb2xsVG9wIDogZS5vZmZzZXQudG9wLCBnID0gZC53aXRoaW4uaGVpZ2h0LCBoID0gYi50b3AgLSBkLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCwgaSA9IGYgLSBoLCBqID0gaCArIGQuY29sbGlzaW9uSGVpZ2h0IC0gZyAtIGYsIGs7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGQuY29sbGlzaW9uSGVpZ2h0ID4gZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA+IDAgJiYgaiA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrID0gYi50b3AgKyBpICsgZC5jb2xsaXNpb25IZWlnaHQgLSBnIC0gZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIudG9wICs9IGkgLSBrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGogPiAwICYmIGkgPD0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgPSBmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPiBqKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgPSBmICsgZyAtIGQuY29sbGlzaW9uSGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLnRvcCA9IGY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIudG9wICs9IGk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChqID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiLnRvcCAtPSBqO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIudG9wID0gYyhiLnRvcCAtIGgsIGIudG9wKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuX3RyaWdnZXIoYiwgZCwgXCJwb3NDb2xsaWRlZFwiLCBcImZpdFRvcFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZmxpcDoge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogZnVuY3Rpb24gKGIsIGMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhLnVpLnBvcy5fdHJpZ2dlcihiLCBjLCBcInBvc0NvbGxpZGVcIiwgXCJmbGlwTGVmdFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGMud2l0aGluLCBmID0gZS5vZmZzZXQubGVmdCArIGUuc2Nyb2xsTGVmdCwgZyA9IGUud2lkdGgsIGggPSBlLmlzV2luZG93ID8gZS5zY3JvbGxMZWZ0IDogZS5vZmZzZXQubGVmdCwgaSA9IGIubGVmdCAtIGMuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCwgaiA9IGkgLSBoLCBrID0gaSArIGMuY29sbGlzaW9uV2lkdGggLSBnIC0gaCwgbCA9IGMubXlbMF0gPT09IFwibGVmdFwiID8gLWMuZWxlbVdpZHRoIDogYy5teVswXSA9PT0gXCJyaWdodFwiID8gYy5lbGVtV2lkdGggOiAwLCBtID0gYy5hdFswXSA9PT0gXCJsZWZ0XCIgPyBjLnRhcmdldFdpZHRoIDogYy5hdFswXSA9PT0gXCJyaWdodFwiID8gLWMudGFyZ2V0V2lkdGggOiAwLCBuID0gLTIgKiBjLm9mZnNldFswXSwgbywgcDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaiA8IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGIubGVmdCArIGwgKyBtICsgbiArIGMuY29sbGlzaW9uV2lkdGggLSBnIC0gZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG8gPCAwIHx8IG8gPCBkKGopKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gbCArIG0gKyBuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChrID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwID0gYi5sZWZ0IC0gYy5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0ICsgbCArIG0gKyBuIC0gaDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAgPiAwIHx8IGQocCkgPCBrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiLmxlZnQgKz0gbCArIG0gKyBuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGMsIFwicG9zQ29sbGlkZWRcIiwgXCJmbGlwTGVmdFwiKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0b3A6IGZ1bmN0aW9uIChiLCBjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuX3RyaWdnZXIoYiwgYywgXCJwb3NDb2xsaWRlXCIsIFwiZmxpcFRvcFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGMud2l0aGluLCBmID0gZS5vZmZzZXQudG9wICsgZS5zY3JvbGxUb3AsIGcgPSBlLmhlaWdodCwgaCA9IGUuaXNXaW5kb3cgPyBlLnNjcm9sbFRvcCA6IGUub2Zmc2V0LnRvcCwgaSA9IGIudG9wIC0gYy5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3AsIGogPSBpIC0gaCwgayA9IGkgKyBjLmNvbGxpc2lvbkhlaWdodCAtIGcgLSBoLCBsID0gYy5teVsxXSA9PT0gXCJ0b3BcIiwgbSA9IGwgPyAtYy5lbGVtSGVpZ2h0IDogYy5teVsxXSA9PT0gXCJib3R0b21cIiA/IGMuZWxlbUhlaWdodCA6IDAsIG4gPSBjLmF0WzFdID09PSBcInRvcFwiID8gYy50YXJnZXRIZWlnaHQgOiBjLmF0WzFdID09PSBcImJvdHRvbVwiID8gLWMudGFyZ2V0SGVpZ2h0IDogMCwgbyA9IC0yICogYy5vZmZzZXRbMV0sIHAsIHE7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGogPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHEgPSBiLnRvcCArIG0gKyBuICsgbyArIGMuY29sbGlzaW9uSGVpZ2h0IC0gZyAtIGY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxIDwgMCB8fCBxIDwgZChqKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgKz0gbSArIG4gKyBvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChrID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwID0gYi50b3AgLSBjLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCArIG0gKyBuICsgbyAtIGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwID4gMCB8fCBkKHApIDwgaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYi50b3AgKz0gbSArIG4gKyBvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLl90cmlnZ2VyKGIsIGMsIFwicG9zQ29sbGlkZWRcIiwgXCJmbGlwVG9wXCIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBmbGlwZml0OiB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuZmxpcC5sZWZ0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYS51aS5wb3MuZml0LmxlZnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB0b3A6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICBhLnVpLnBvcy5mbGlwLnRvcC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEudWkucG9zLmZpdC50b3AuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGIsIGMsIGQsIGUsIGYsIGcgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImJvZHlcIilbMF0sIGggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgICAgICBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChnID8gXCJkaXZcIiA6IFwiYm9keVwiKTtcclxuICAgICAgICAgICAgZCA9IHtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMCxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMCxcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMCxcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IFwibm9uZVwiXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChnKSB7XHJcbiAgICAgICAgICAgICAgICBhLmV4dGVuZChkLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBcIi0xMDAwcHhcIixcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IFwiLTEwMDBweFwiXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IgKGYgaW4gZCkge1xyXG4gICAgICAgICAgICAgICAgYi5zdHlsZVtmXSA9IGRbZl07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYi5hcHBlbmRDaGlsZChoKTtcclxuICAgICAgICAgICAgYyA9IGcgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgICAgICAgICBjLmluc2VydEJlZm9yZShiLCBjLmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICBoLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTAuNzQzMjIyMnB4O1wiO1xyXG4gICAgICAgICAgICBlID0gYShoKS5vZmZzZXQoKS5sZWZ0O1xyXG4gICAgICAgICAgICBhLnN1cHBvcnQub2Zmc2V0RnJhY3Rpb25zID0gZSA+IDEwICYmIGUgPCAxMTtcclxuICAgICAgICAgICAgYi5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgICAgICAgICBjLnJlbW92ZUNoaWxkKGIpO1xyXG4gICAgICAgIH0pKCk7XHJcbiAgICB9KSgpO1xyXG4gICAgdmFyIGMgPSBhLnVpLnBvc2l0aW9uO1xyXG59KTtcclxuXHJcbihmdW5jdGlvbiAoYSkge1xyXG4gICAgXCJ1c2Ugc3RyaWN0XCI7XHJcbiAgICBpZiAodHlwZW9mIGRlZmluZSA9PT0gXCJmdW5jdGlvblwiICYmIGRlZmluZS5hbWQpIHtcclxuICAgICAgICBkZWZpbmUoW1wianF1ZXJ5XCJdLCBhKTtcclxuICAgIH0gZWxzZSBpZiAod2luZG93LmpRdWVyeSAmJiAhd2luZG93LmpRdWVyeS5mbi5pY29ucGlja2VyKSB7XHJcbiAgICAgICAgYSh3aW5kb3cualF1ZXJ5KTtcclxuICAgIH1cclxufSkoZnVuY3Rpb24gKGEpIHtcclxuICAgIFwidXNlIHN0cmljdFwiO1xyXG4gICAgdmFyIGIgPSB7XHJcbiAgICAgICAgaXNFbXB0eTogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGEgPT09IGZhbHNlIHx8IGEgPT09IFwiXCIgfHwgYSA9PT0gbnVsbCB8fCBhID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0VtcHR5T2JqZWN0OiBmdW5jdGlvbiAoYSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0VtcHR5KGEpID09PSB0cnVlIHx8IGEubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNFbGVtZW50OiBmdW5jdGlvbiAoYikge1xyXG4gICAgICAgICAgICByZXR1cm4gYShiKS5sZW5ndGggPiAwO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNTdHJpbmc6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgYSA9PT0gXCJzdHJpbmdcIiB8fCBhIGluc3RhbmNlb2YgU3RyaW5nO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNBcnJheTogZnVuY3Rpb24gKGIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGEuaXNBcnJheShiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGluQXJyYXk6IGZ1bmN0aW9uIChiLCBjKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhLmluQXJyYXkoYiwgYykgIT09IC0xO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdGhyb3dFcnJvcjogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgdGhyb3cgXCJGb250IEF3ZXNvbWUgSWNvbiBQaWNrZXIgRXhjZXB0aW9uOiBcIiArIGE7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHZhciBjID0gZnVuY3Rpb24gKGQsIGUpIHtcclxuICAgICAgICB0aGlzLl9pZCA9IGMuX2lkQ291bnRlcisrO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGEoZCkuYWRkQ2xhc3MoXCJpY29ucGlja2VyLWVsZW1lbnRcIik7XHJcbiAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJDcmVhdGVcIiwge1xyXG4gICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gYS5leHRlbmQoe30sIGMuZGVmYXVsdE9wdGlvbnMsIHRoaXMuZWxlbWVudC5kYXRhKCksIGUpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMgPSBhLmV4dGVuZCh7fSwgYy5kZWZhdWx0T3B0aW9ucy50ZW1wbGF0ZXMsIHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMpO1xyXG4gICAgICAgIHRoaXMub3B0aW9ucy5vcmlnaW5hbFBsYWNlbWVudCA9IHRoaXMub3B0aW9ucy5wbGFjZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBiLmlzRWxlbWVudCh0aGlzLm9wdGlvbnMuY29udGFpbmVyKSA/IGEodGhpcy5vcHRpb25zLmNvbnRhaW5lcikgOiBmYWxzZTtcclxuICAgICAgICBpZiAodGhpcy5jb250YWluZXIgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnQuaXMoXCIuZHJvcGRvd24tdG9nZ2xlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IGEoXCJ+IC5kcm9wZG93bi1tZW51OmZpcnN0XCIsIHRoaXMuZWxlbWVudCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuZWxlbWVudC5pcyhcImlucHV0LHRleHRhcmVhLGJ1dHRvbiwuYnRuXCIpID8gdGhpcy5lbGVtZW50LnBhcmVudCgpIDogdGhpcy5lbGVtZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFkZENsYXNzKFwiaWNvbnBpY2tlci1jb250YWluZXJcIik7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNEcm9wZG93bk1lbnUoKSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGxhY2VtZW50ID0gXCJpbmxpbmVcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pbnB1dCA9IHRoaXMuZWxlbWVudC5pcyhcImlucHV0LHRleHRhcmVhXCIpID8gdGhpcy5lbGVtZW50LmFkZENsYXNzKFwiaWNvbnBpY2tlci1pbnB1dFwiKSA6IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0ID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0ID0gdGhpcy5jb250YWluZXIuZmluZCh0aGlzLm9wdGlvbnMuaW5wdXQpO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaW5wdXQuaXMoXCJpbnB1dCx0ZXh0YXJlYVwiKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5pc0Ryb3Bkb3duTWVudSgpID8gdGhpcy5jb250YWluZXIucGFyZW50KCkuZmluZCh0aGlzLm9wdGlvbnMuY29tcG9uZW50KSA6IHRoaXMuY29udGFpbmVyLmZpbmQodGhpcy5vcHRpb25zLmNvbXBvbmVudCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50LmZpbmQoXCJpXCIpLmFkZENsYXNzKFwiaWNvbnBpY2tlci1jb21wb25lbnRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZVBvcG92ZXIoKTtcclxuICAgICAgICB0aGlzLl9jcmVhdGVJY29ucGlja2VyKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0QWNjZXB0QnV0dG9uKCkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5tdXN0QWNjZXB0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmlzSW5wdXRHcm91cCgpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLnBhcmVudCgpLmFwcGVuZCh0aGlzLnBvcG92ZXIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZCh0aGlzLnBvcG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9iaW5kRWxlbWVudEV2ZW50cygpO1xyXG4gICAgICAgIHRoaXMuX2JpbmRXaW5kb3dFdmVudHMoKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZSh0aGlzLm9wdGlvbnMuc2VsZWN0ZWQpO1xyXG4gICAgICAgIGlmICh0aGlzLmlzSW5saW5lKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyQ3JlYXRlZFwiLCB7XHJcbiAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcbiAgICBjLl9pZENvdW50ZXIgPSAwO1xyXG4gICAgYy5kZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgICAgICB0aXRsZTogZmFsc2UsXHJcbiAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXHJcbiAgICAgICAgcGxhY2VtZW50OiBcImJvdHRvbVwiLFxyXG4gICAgICAgIGNvbGxpc2lvbjogXCJub25lXCIsXHJcbiAgICAgICAgYW5pbWF0aW9uOiB0cnVlLFxyXG4gICAgICAgIGhpZGVPblNlbGVjdDogZmFsc2UsXHJcbiAgICAgICAgc2hvd0Zvb3RlcjogZmFsc2UsXHJcbiAgICAgICAgc2VhcmNoSW5Gb290ZXI6IGZhbHNlLFxyXG4gICAgICAgIG11c3RBY2NlcHQ6IGZhbHNlLFxyXG4gICAgICAgIHNlbGVjdGVkQ3VzdG9tQ2xhc3M6IFwiYmctcHJpbWFyeVwiLFxyXG4gICAgICAgIGljb25zOiBbXSxcclxuICAgICAgICBmdWxsQ2xhc3NGb3JtYXR0ZXI6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaW5wdXQ6IFwiaW5wdXQsLmljb25waWNrZXItaW5wdXRcIixcclxuICAgICAgICBpbnB1dFNlYXJjaDogZmFsc2UsXHJcbiAgICAgICAgY29udGFpbmVyOiBmYWxzZSxcclxuICAgICAgICBjb21wb25lbnQ6IFwiLmlucHV0LWdyb3VwLWFkZG9uLC5pY29ucGlja2VyLWNvbXBvbmVudFwiLFxyXG4gICAgICAgIHRlbXBsYXRlczoge1xyXG4gICAgICAgICAgICBwb3BvdmVyOiAnPGRpdiBjbGFzcz1cImljb25waWNrZXItcG9wb3ZlciBwb3BvdmVyXCI+PGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+JyArICc8ZGl2IGNsYXNzPVwicG9wb3Zlci10aXRsZVwiPjwvZGl2PjxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRlbnRcIj48L2Rpdj48L2Rpdj4nLFxyXG4gICAgICAgICAgICBmb290ZXI6ICc8ZGl2IGNsYXNzPVwicG9wb3Zlci1mb290ZXJcIj48L2Rpdj4nLFxyXG4gICAgICAgICAgICBidXR0b25zOiAnPGJ1dHRvbiBjbGFzcz1cImljb25waWNrZXItYnRuIGljb25waWNrZXItYnRuLWNhbmNlbCBidG4gYnRuLXNlY29uZGFyeSBidG4tc21cIj5DYW5jZWw8L2J1dHRvbj4nICsgJyA8YnV0dG9uIGNsYXNzPVwiaWNvbnBpY2tlci1idG4gaWNvbnBpY2tlci1idG4tYWNjZXB0IGJ0biBidG4tcHJpbWFyeSBidG4tc21cIj5BY2NlcHQ8L2J1dHRvbj4nLFxyXG4gICAgICAgICAgICBzZWFyY2g6ICc8aW5wdXQgdHlwZT1cInNlYXJjaFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIGljb25waWNrZXItc2VhcmNoXCIgcGxhY2Vob2xkZXI9XCJUeXBlIHRvIGZpbHRlclwiIC8+JyxcclxuICAgICAgICAgICAgaWNvbnBpY2tlcjogJzxkaXYgY2xhc3M9XCJpY29ucGlja2VyXCI+PGRpdiBjbGFzcz1cImljb25waWNrZXItaXRlbXNcIj48L2Rpdj48L2Rpdj4nLFxyXG4gICAgICAgICAgICBpY29ucGlja2VySXRlbTogJzxhIHJvbGU9XCJidXR0b25cIiBocmVmPVwiI1wiIGNsYXNzPVwiaWNvbnBpY2tlci1pdGVtXCI+PGk+PC9pPjwvYT4nXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGMuYmF0Y2ggPSBmdW5jdGlvbiAoYiwgYykge1xyXG4gICAgICAgIHZhciBkID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAyKTtcclxuICAgICAgICByZXR1cm4gYShiKS5lYWNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgdmFyIGIgPSBhKHRoaXMpLmRhdGEoXCJpY29ucGlja2VyXCIpO1xyXG4gICAgICAgICAgICBpZiAoISFiKSB7XHJcbiAgICAgICAgICAgICAgICBiW2NdLmFwcGx5KGIsIGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgYy5wcm90b3R5cGUgPSB7XHJcbiAgICAgICAgY29uc3RydWN0b3I6IGMsXHJcbiAgICAgICAgb3B0aW9uczoge30sXHJcbiAgICAgICAgX2lkOiAwLFxyXG4gICAgICAgIF90cmlnZ2VyOiBmdW5jdGlvbiAoYiwgYykge1xyXG4gICAgICAgICAgICBjID0gYyB8fCB7fTtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRyaWdnZXIoYS5leHRlbmQoe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogYixcclxuICAgICAgICAgICAgICAgIGljb25waWNrZXJJbnN0YW5jZTogdGhpc1xyXG4gICAgICAgICAgICB9LCBjKSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfY3JlYXRlUG9wb3ZlcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIgPSBhKHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMucG9wb3Zlcik7XHJcbiAgICAgICAgICAgIHZhciBjID0gdGhpcy5wb3BvdmVyLmZpbmQoXCIucG9wb3Zlci10aXRsZVwiKTtcclxuICAgICAgICAgICAgaWYgKCEhdGhpcy5vcHRpb25zLnRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICBjLmFwcGVuZChhKCc8ZGl2IGNsYXNzPVwicG9wb3Zlci10aXRsZS10ZXh0XCI+JyArIHRoaXMub3B0aW9ucy50aXRsZSArIFwiPC9kaXY+XCIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0ZWRTZWFyY2hJbnB1dCgpICYmICF0aGlzLm9wdGlvbnMuc2VhcmNoSW5Gb290ZXIpIHtcclxuICAgICAgICAgICAgICAgIGMuYXBwZW5kKHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuc2VhcmNoKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5vcHRpb25zLnRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICBjLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2hvd0Zvb3RlciAmJiAhYi5pc0VtcHR5KHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuZm9vdGVyKSkge1xyXG4gICAgICAgICAgICAgICAgdmFyIGQgPSBhKHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuZm9vdGVyKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRlZFNlYXJjaElucHV0KCkgJiYgdGhpcy5vcHRpb25zLnNlYXJjaEluRm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZC5hcHBlbmQoYSh0aGlzLm9wdGlvbnMudGVtcGxhdGVzLnNlYXJjaCkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKCFiLmlzRW1wdHkodGhpcy5vcHRpb25zLnRlbXBsYXRlcy5idXR0b25zKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGQuYXBwZW5kKGEodGhpcy5vcHRpb25zLnRlbXBsYXRlcy5idXR0b25zKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIuYXBwZW5kKGQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIuYWRkQ2xhc3MoXCJmYWRlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXI7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfY3JlYXRlSWNvbnBpY2tlcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgYiA9IHRoaXM7XHJcbiAgICAgICAgICAgIHRoaXMuaWNvbnBpY2tlciA9IGEodGhpcy5vcHRpb25zLnRlbXBsYXRlcy5pY29ucGlja2VyKTtcclxuICAgICAgICAgICAgdmFyIGMgPSBmdW5jdGlvbiAoYykge1xyXG4gICAgICAgICAgICAgICAgdmFyIGQgPSBhKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGQuaXMoXCJpXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZCA9IGQucGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBiLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNlbGVjdFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbnBpY2tlckl0ZW06IGQsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbnBpY2tlclZhbHVlOiBiLmljb25waWNrZXJWYWx1ZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoYi5vcHRpb25zLm11c3RBY2NlcHQgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYi51cGRhdGUoZC5kYXRhKFwiaWNvbnBpY2tlclZhbHVlXCIpKTtcclxuICAgICAgICAgICAgICAgICAgICBiLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNlbGVjdGVkXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbnBpY2tlckl0ZW06IHRoaXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogYi5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYi51cGRhdGUoZC5kYXRhKFwiaWNvbnBpY2tlclZhbHVlXCIpLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmIChiLm9wdGlvbnMuaGlkZU9uU2VsZWN0ICYmIGIub3B0aW9ucy5tdXN0QWNjZXB0ID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGIuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBmb3IgKHZhciBkIGluIHRoaXMub3B0aW9ucy5pY29ucykge1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuaWNvbnNbZF0udGl0bGUgPT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGEodGhpcy5vcHRpb25zLnRlbXBsYXRlcy5pY29ucGlja2VySXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZS5maW5kKFwiaVwiKS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuZnVsbENsYXNzRm9ybWF0dGVyKHRoaXMub3B0aW9ucy5pY29uc1tkXS50aXRsZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGUuZGF0YShcImljb25waWNrZXJWYWx1ZVwiLCB0aGlzLm9wdGlvbnMuaWNvbnNbZF0udGl0bGUpLm9uKFwiY2xpY2suaWNvbnBpY2tlclwiLCBjKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmljb25waWNrZXIuZmluZChcIi5pY29ucGlja2VyLWl0ZW1zXCIpLmFwcGVuZChlLmF0dHIoXCJ0aXRsZVwiLCBcIi5cIiArIHRoaXMub3B0aW9ucy5pY29uc1tkXS50aXRsZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaWNvbnNbZF0uc2VhcmNoVGVybXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZiA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGcgPSAwOyBnIDwgdGhpcy5vcHRpb25zLmljb25zW2RdLnNlYXJjaFRlcm1zLmxlbmd0aDsgZysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmID0gZiArIHRoaXMub3B0aW9ucy5pY29uc1tkXS5zZWFyY2hUZXJtc1tnXSArIFwiIFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaWNvbnBpY2tlci5maW5kKFwiLmljb25waWNrZXItaXRlbXNcIikuYXBwZW5kKGUuYXR0cihcImRhdGEtc2VhcmNoLXRlcm1zXCIsIGYpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmZpbmQoXCIucG9wb3Zlci1jb250ZW50XCIpLmFwcGVuZCh0aGlzLmljb25waWNrZXIpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pY29ucGlja2VyO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgX2lzRXZlbnRJbnNpZGVJY29ucGlja2VyOiBmdW5jdGlvbiAoYikge1xyXG4gICAgICAgICAgICB2YXIgYyA9IGEoYi50YXJnZXQpO1xyXG4gICAgICAgICAgICBpZiAoKCFjLmhhc0NsYXNzKFwiaWNvbnBpY2tlci1lbGVtZW50XCIpIHx8IGMuaGFzQ2xhc3MoXCJpY29ucGlja2VyLWVsZW1lbnRcIikgJiYgIWMuaXModGhpcy5lbGVtZW50KSkgJiYgYy5wYXJlbnRzKFwiLmljb25waWNrZXItcG9wb3ZlclwiKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIF9iaW5kRWxlbWVudEV2ZW50czogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgYyA9IHRoaXM7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VhcmNoSW5wdXQoKS5vbihcImtleXVwLmljb25waWNrZXJcIiwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgYy5maWx0ZXIoYSh0aGlzKS52YWwoKS50b0xvd2VyQ2FzZSgpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0QWNjZXB0QnV0dG9uKCkub24oXCJjbGljay5pY29ucGlja2VyXCIsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIHZhciBhID0gYy5pY29ucGlja2VyLmZpbmQoXCIuaWNvbnBpY2tlci1zZWxlY3RlZFwiKS5nZXQoMCk7XHJcbiAgICAgICAgICAgICAgICBjLnVwZGF0ZShjLmljb25waWNrZXJWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICBjLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNlbGVjdGVkXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VySXRlbTogYSxcclxuICAgICAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IGMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGlmICghYy5pc0lubGluZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYy5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmdldENhbmNlbEJ1dHRvbigpLm9uKFwiY2xpY2suaWNvbnBpY2tlclwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWMuaXNJbmxpbmUoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGMuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm9uKFwiZm9jdXMuaWNvbnBpY2tlclwiLCBmdW5jdGlvbiAoYSkge1xyXG4gICAgICAgICAgICAgICAgYy5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICBhLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ29tcG9uZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm9uKFwiY2xpY2suaWNvbnBpY2tlclwiLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYy50b2dnbGUoKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0lucHV0KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQub24oXCJrZXl1cC5pY29ucGlja2VyXCIsIGZ1bmN0aW9uIChkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFiLmluQXJyYXkoZC5rZXlDb2RlLCBbMzgsIDQwLCAzNywgMzksIDE2LCAxNywgMTgsIDksIDgsIDkxLCA5MywgMjAsIDQ2LCAxODYsIDE5MCwgNDYsIDc4LCAxODgsIDQ0LCA4Nl0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMudXBkYXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYy5fdXBkYXRlRm9ybUdyb3VwU3RhdHVzKGMuZ2V0VmFsaWQodGhpcy52YWx1ZSkgIT09IGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGMub3B0aW9ucy5pbnB1dFNlYXJjaCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjLmZpbHRlcihhKHRoaXMpLnZhbCgpLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfYmluZFdpbmRvd0V2ZW50czogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgYiA9IGEod2luZG93LmRvY3VtZW50KTtcclxuICAgICAgICAgICAgdmFyIGMgPSB0aGlzO1xyXG4gICAgICAgICAgICB2YXIgZCA9IFwiLmljb25waWNrZXIuaW5zdFwiICsgdGhpcy5faWQ7XHJcbiAgICAgICAgICAgIGEod2luZG93KS5vbihcInJlc2l6ZS5pY29ucGlja2VyXCIgKyBkICsgXCIgb3JpZW50YXRpb25jaGFuZ2UuaWNvbnBpY2tlclwiICsgZCwgZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjLnBvcG92ZXIuaGFzQ2xhc3MoXCJpblwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGMudXBkYXRlUGxhY2VtZW50KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpZiAoIWMuaXNJbmxpbmUoKSkge1xyXG4gICAgICAgICAgICAgICAgYi5vbihcIm1vdXNldXBcIiArIGQsIGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjLl9pc0V2ZW50SW5zaWRlSWNvbnBpY2tlcihhKSAmJiAhYy5pc0lubGluZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGMuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfdW5iaW5kRWxlbWVudEV2ZW50czogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub2ZmKFwiLmljb25waWNrZXJcIik7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5vZmYoXCIuaWNvbnBpY2tlclwiKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzSW5wdXQoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dC5vZmYoXCIuaWNvbnBpY2tlclwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNDb21wb25lbnQoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQub2ZmKFwiLmljb25waWNrZXJcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzQ29udGFpbmVyKCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLm9mZihcIi5pY29ucGlja2VyXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfdW5iaW5kV2luZG93RXZlbnRzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGEod2luZG93KS5vZmYoXCIuaWNvbnBpY2tlci5pbnN0XCIgKyB0aGlzLl9pZCk7XHJcbiAgICAgICAgICAgIGEod2luZG93LmRvY3VtZW50KS5vZmYoXCIuaWNvbnBpY2tlci5pbnN0XCIgKyB0aGlzLl9pZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB1cGRhdGVQbGFjZW1lbnQ6IGZ1bmN0aW9uIChiLCBjKSB7XHJcbiAgICAgICAgICAgIGIgPSBiIHx8IHRoaXMub3B0aW9ucy5wbGFjZW1lbnQ7XHJcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wbGFjZW1lbnQgPSBiO1xyXG4gICAgICAgICAgICBjID0gYyB8fCB0aGlzLm9wdGlvbnMuY29sbGlzaW9uO1xyXG4gICAgICAgICAgICBjID0gYyA9PT0gdHJ1ZSA/IFwiZmxpcFwiIDogYztcclxuICAgICAgICAgICAgdmFyIGQgPSB7XHJcbiAgICAgICAgICAgICAgICBhdDogXCJyaWdodCBib3R0b21cIixcclxuICAgICAgICAgICAgICAgIG15OiBcInJpZ2h0IHRvcFwiLFxyXG4gICAgICAgICAgICAgICAgb2Y6IHRoaXMuaGFzSW5wdXQoKSAmJiAhdGhpcy5pc0lucHV0R3JvdXAoKSA/IHRoaXMuaW5wdXQgOiB0aGlzLmNvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgIGNvbGxpc2lvbjogYyA9PT0gdHJ1ZSA/IFwiZmxpcFwiIDogYyxcclxuICAgICAgICAgICAgICAgIHdpdGhpbjogd2luZG93XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5yZW1vdmVDbGFzcyhcImlubGluZSB0b3BMZWZ0Q29ybmVyIHRvcExlZnQgdG9wIHRvcFJpZ2h0IHRvcFJpZ2h0Q29ybmVyIFwiICsgXCJyaWdodFRvcCByaWdodCByaWdodEJvdHRvbSBib3R0b21SaWdodCBib3R0b21SaWdodENvcm5lciBcIiArIFwiYm90dG9tIGJvdHRvbUxlZnQgYm90dG9tTGVmdENvcm5lciBsZWZ0Qm90dG9tIGxlZnQgbGVmdFRvcFwiKTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBiID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyLnBvcyhhLmV4dGVuZCh7fSwgZCwgYikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN3aXRjaCAoYikge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImlubGluZVwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidG9wTGVmdENvcm5lclwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwicmlnaHQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImxlZnQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0b3BMZWZ0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJsZWZ0IGJvdHRvbVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJsZWZ0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwidG9wXCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJjZW50ZXIgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImNlbnRlciB0b3BcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcInRvcFJpZ2h0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJyaWdodCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwicmlnaHQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJ0b3BSaWdodENvcm5lclwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwibGVmdCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwicmlnaHQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJyaWdodFRvcFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwibGVmdCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwicmlnaHQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJyaWdodFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwibGVmdCBjZW50ZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwicmlnaHQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJyaWdodEJvdHRvbVwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwibGVmdCB0b3BcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwicmlnaHQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJib3R0b21SaWdodENvcm5lclwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwibGVmdCB0b3BcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwicmlnaHQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJib3R0b21SaWdodFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwicmlnaHQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcInJpZ2h0IGJvdHRvbVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiYm90dG9tXCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJjZW50ZXIgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImNlbnRlciBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcImJvdHRvbUxlZnRcIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcImxlZnQgdG9wXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImxlZnQgYm90dG9tXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJib3R0b21MZWZ0Q29ybmVyXCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJyaWdodCB0b3BcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwibGVmdCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSBcImxlZnRCb3R0b21cIjpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQubXkgPSBcInJpZ2h0IHRvcFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLmF0ID0gXCJsZWZ0IGNlbnRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICBjYXNlIFwibGVmdFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5teSA9IFwicmlnaHQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGQuYXQgPSBcImxlZnQgY2VudGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgXCJsZWZ0VG9wXCI6XHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLm15ID0gXCJyaWdodCBib3R0b21cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZC5hdCA9IFwibGVmdCBjZW50ZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNzcyh7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0aGlzLm9wdGlvbnMucGxhY2VtZW50ID09PSBcImlubGluZVwiID8gXCJcIiA6IFwiYmxvY2tcIlxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKGQgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIucG9zKGQpLmNzcyhcIm1heFdpZHRoXCIsIGEod2luZG93KS53aWR0aCgpIC0gdGhpcy5jb250YWluZXIub2Zmc2V0KCkubGVmdCAtIDUpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNzcyh7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBcImF1dG9cIixcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogXCJhdXRvXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBcImF1dG9cIixcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBcImF1dG9cIixcclxuICAgICAgICAgICAgICAgICAgICBtYXhXaWR0aDogXCJub25lXCJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5hZGRDbGFzcyh0aGlzLm9wdGlvbnMucGxhY2VtZW50KTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBfdXBkYXRlQ29tcG9uZW50czogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB0aGlzLmljb25waWNrZXIuZmluZChcIi5pY29ucGlja2VyLWl0ZW0uaWNvbnBpY2tlci1zZWxlY3RlZFwiKS5yZW1vdmVDbGFzcyhcImljb25waWNrZXItc2VsZWN0ZWQgXCIgKyB0aGlzLm9wdGlvbnMuc2VsZWN0ZWRDdXN0b21DbGFzcyk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmljb25waWNrZXJWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29ucGlja2VyLmZpbmQoXCIuXCIgKyB0aGlzLm9wdGlvbnMuZnVsbENsYXNzRm9ybWF0dGVyKHRoaXMuaWNvbnBpY2tlclZhbHVlKS5yZXBsYWNlKC8gL2csIFwiLlwiKSkucGFyZW50KCkuYWRkQ2xhc3MoXCJpY29ucGlja2VyLXNlbGVjdGVkIFwiICsgdGhpcy5vcHRpb25zLnNlbGVjdGVkQ3VzdG9tQ2xhc3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0NvbXBvbmVudCgpKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgYSA9IHRoaXMuY29tcG9uZW50LmZpbmQoXCJpXCIpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGEuYXR0cihcImNsYXNzXCIsIHRoaXMub3B0aW9ucy5mdWxsQ2xhc3NGb3JtYXR0ZXIodGhpcy5pY29ucGlja2VyVmFsdWUpKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQuaHRtbCh0aGlzLmdldEh0bWwoKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIF91cGRhdGVGb3JtR3JvdXBTdGF0dXM6IGZ1bmN0aW9uIChhKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0lucHV0KCkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChhICE9PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQucGFyZW50cyhcIi5mb3JtLWdyb3VwOmZpcnN0XCIpLnJlbW92ZUNsYXNzKFwiaGFzLWVycm9yXCIpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnBhcmVudHMoXCIuZm9ybS1ncm91cDpmaXJzdFwiKS5hZGRDbGFzcyhcImhhcy1lcnJvclwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldFZhbGlkOiBmdW5jdGlvbiAoYykge1xyXG4gICAgICAgICAgICBpZiAoIWIuaXNTdHJpbmcoYykpIHtcclxuICAgICAgICAgICAgICAgIGMgPSBcIlwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciBkID0gYyA9PT0gXCJcIjtcclxuICAgICAgICAgICAgYyA9IGEudHJpbShjKTtcclxuICAgICAgICAgICAgdmFyIGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9yICh2YXIgZiA9IDA7IGYgPCB0aGlzLm9wdGlvbnMuaWNvbnMubGVuZ3RoOyBmKyspIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuaWNvbnNbZl0udGl0bGUgPT09IGMpIHtcclxuICAgICAgICAgICAgICAgICAgICBlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZSB8fCBkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgdmFyIGIgPSB0aGlzLmdldFZhbGlkKGEpO1xyXG4gICAgICAgICAgICBpZiAoYiAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbnBpY2tlclZhbHVlID0gYjtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyU2V0VmFsdWVcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogYlxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pY29ucGlja2VyVmFsdWU7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlckludmFsaWRcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogYVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldEh0bWw6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc8aSBjbGFzcz1cIicgKyB0aGlzLm9wdGlvbnMuZnVsbENsYXNzRm9ybWF0dGVyKHRoaXMuaWNvbnBpY2tlclZhbHVlKSArICdcIj48L2k+JztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNldFNvdXJjZVZhbHVlOiBmdW5jdGlvbiAoYSkge1xyXG4gICAgICAgICAgICBhID0gdGhpcy5zZXRWYWx1ZShhKTtcclxuICAgICAgICAgICAgaWYgKGEgIT09IGZhbHNlICYmIGEgIT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc0lucHV0KCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnZhbCh0aGlzLmljb25waWNrZXJWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5kYXRhKFwiaWNvbnBpY2tlclZhbHVlXCIsIHRoaXMuaWNvbnBpY2tlclZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyU2V0U291cmNlVmFsdWVcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogYVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGE7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRTb3VyY2VWYWx1ZTogZnVuY3Rpb24gKGEpIHtcclxuICAgICAgICAgICAgYSA9IGEgfHwgdGhpcy5vcHRpb25zLmRlZmF1bHRWYWx1ZTtcclxuICAgICAgICAgICAgdmFyIGIgPSBhO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICBiID0gdGhpcy5pbnB1dC52YWwoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGIgPSB0aGlzLmVsZW1lbnQuZGF0YShcImljb25waWNrZXJWYWx1ZVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYiA9PT0gdW5kZWZpbmVkIHx8IGIgPT09IFwiXCIgfHwgYiA9PT0gbnVsbCB8fCBiID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICAgICAgYiA9IGE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGI7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYXNJbnB1dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnB1dCAhPT0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0lucHV0U2VhcmNoOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmhhc0lucHV0KCkgJiYgdGhpcy5vcHRpb25zLmlucHV0U2VhcmNoID09PSB0cnVlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNJbnB1dEdyb3VwOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5pcyhcIi5pbnB1dC1ncm91cFwiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGlzRHJvcGRvd25NZW51OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5pcyhcIi5kcm9wZG93bi1tZW51XCIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGFzU2VwYXJhdGVkU2VhcmNoSW5wdXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50ZW1wbGF0ZXMuc2VhcmNoICE9PSBmYWxzZSAmJiAhdGhpcy5pc0lucHV0U2VhcmNoKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBoYXNDb21wb25lbnQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tcG9uZW50ICE9PSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGhhc0NvbnRhaW5lcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIgIT09IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZ2V0QWNjZXB0QnV0dG9uOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZmluZChcIi5pY29ucGlja2VyLWJ0bi1hY2NlcHRcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRDYW5jZWxCdXR0b246IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9wb3Zlci5maW5kKFwiLmljb25waWNrZXItYnRuLWNhbmNlbFwiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldFNlYXJjaElucHV0OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXIuZmluZChcIi5pY29ucGlja2VyLXNlYXJjaFwiKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGZpbHRlcjogZnVuY3Rpb24gKGMpIHtcclxuICAgICAgICAgICAgaWYgKGIuaXNFbXB0eShjKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pY29ucGlja2VyLmZpbmQoXCIuaWNvbnBpY2tlci1pdGVtXCIpLnNob3coKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhKGZhbHNlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhciBkID0gW107XHJcbiAgICAgICAgICAgICAgICB0aGlzLmljb25waWNrZXIuZmluZChcIi5pY29ucGlja2VyLWl0ZW1cIikuZWFjaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGIgPSBhKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBlID0gYi5hdHRyKFwidGl0bGVcIikudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZiA9IGIuYXR0cihcImRhdGEtc2VhcmNoLXRlcm1zXCIpID8gYi5hdHRyKFwiZGF0YS1zZWFyY2gtdGVybXNcIikudG9Mb3dlckNhc2UoKSA6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IGUgKyBcIiBcIiArIGY7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBnID0gbmV3IFJlZ0V4cChcIihefFxcXFxXKVwiICsgYywgXCJnXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAoZyAhPT0gZmFsc2UgJiYgZS5tYXRjaChnKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goYik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIuc2hvdygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGIuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3c6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3Zlci5oYXNDbGFzcyhcImluXCIpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5pY29ucGlja2VyLmJhdGNoKGEoXCIuaWNvbnBpY2tlci1wb3BvdmVyLmluOm5vdCguaW5saW5lKVwiKS5ub3QodGhpcy5wb3BvdmVyKSwgXCJoaWRlXCIpO1xyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlclNob3dcIiwge1xyXG4gICAgICAgICAgICAgICAgaWNvbnBpY2tlclZhbHVlOiB0aGlzLmljb25waWNrZXJWYWx1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVQbGFjZW1lbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmFkZENsYXNzKFwiaW5cIik7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoYS5wcm94eShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIuY3NzKFwiZGlzcGxheVwiLCB0aGlzLmlzSW5saW5lKCkgPyBcIlwiIDogXCJibG9ja1wiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyU2hvd25cIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LCB0aGlzKSwgdGhpcy5vcHRpb25zLmFuaW1hdGlvbiA/IDMwMCA6IDEpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaGlkZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMucG9wb3Zlci5oYXNDbGFzcyhcImluXCIpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJIaWRlXCIsIHtcclxuICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5yZW1vdmVDbGFzcyhcImluXCIpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KGEucHJveHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmNzcyhcImRpc3BsYXlcIiwgXCJub25lXCIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWFyY2hJbnB1dCgpLnZhbChcIlwiKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJpZ2dlcihcImljb25waWNrZXJIaWRkZW5cIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LCB0aGlzKSwgdGhpcy5vcHRpb25zLmFuaW1hdGlvbiA/IDMwMCA6IDEpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9nZ2xlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXIuaXMoXCI6dmlzaWJsZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3codHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHVwZGF0ZTogZnVuY3Rpb24gKGEsIGIpIHtcclxuICAgICAgICAgICAgYSA9IGEgPyBhIDogdGhpcy5nZXRTb3VyY2VWYWx1ZSh0aGlzLmljb25waWNrZXJWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyVXBkYXRlXCIsIHtcclxuICAgICAgICAgICAgICAgIGljb25waWNrZXJWYWx1ZTogdGhpcy5pY29ucGlja2VyVmFsdWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIGlmIChiID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICBhID0gdGhpcy5zZXRWYWx1ZShhKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGEgPSB0aGlzLnNldFNvdXJjZVZhbHVlKGEpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlRm9ybUdyb3VwU3RhdHVzKGEgIT09IGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoYSAhPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUNvbXBvbmVudHMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlclVwZGF0ZWRcIiwge1xyXG4gICAgICAgICAgICAgICAgaWNvbnBpY2tlclZhbHVlOiB0aGlzLmljb25waWNrZXJWYWx1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIGE7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZXN0cm95OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIoXCJpY29ucGlja2VyRGVzdHJveVwiLCB7XHJcbiAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlRGF0YShcImljb25waWNrZXJcIikucmVtb3ZlRGF0YShcImljb25waWNrZXJWYWx1ZVwiKS5yZW1vdmVDbGFzcyhcImljb25waWNrZXItZWxlbWVudFwiKTtcclxuICAgICAgICAgICAgdGhpcy5fdW5iaW5kRWxlbWVudEV2ZW50cygpO1xyXG4gICAgICAgICAgICB0aGlzLl91bmJpbmRXaW5kb3dFdmVudHMoKTtcclxuICAgICAgICAgICAgYSh0aGlzLnBvcG92ZXIpLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyKFwiaWNvbnBpY2tlckRlc3Ryb3llZFwiLCB7XHJcbiAgICAgICAgICAgICAgICBpY29ucGlja2VyVmFsdWU6IHRoaXMuaWNvbnBpY2tlclZhbHVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGlzYWJsZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVuYWJsZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNJbnB1dCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0LnByb3AoXCJkaXNhYmxlZFwiLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0Rpc2FibGVkOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0lucHV0KCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlucHV0LnByb3AoXCJkaXNhYmxlZFwiKSA9PT0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0lubGluZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnBsYWNlbWVudCA9PT0gXCJpbmxpbmVcIiB8fCB0aGlzLnBvcG92ZXIuaGFzQ2xhc3MoXCJpbmxpbmVcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGEuaWNvbnBpY2tlciA9IGM7XHJcbiAgICBhLmZuLmljb25waWNrZXIgPSBmdW5jdGlvbiAoYikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICB2YXIgZCA9IGEodGhpcyk7XHJcbiAgICAgICAgICAgIGlmICghZC5kYXRhKFwiaWNvbnBpY2tlclwiKSkge1xyXG4gICAgICAgICAgICAgICAgZC5kYXRhKFwiaWNvbnBpY2tlclwiLCBuZXcgYyh0aGlzLCB0eXBlb2YgYiA9PT0gXCJvYmplY3RcIiA/IGIgOiB7fSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgYy5kZWZhdWx0T3B0aW9ucyA9IGEuZXh0ZW5kKGMuZGVmYXVsdE9wdGlvbnMsIHtcclxuICAgICAgICBpY29uczogW3tcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLTUwMHB4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFjY2Vzc2libGUtaWNvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXNzaWJpbGl0eVwiLCBcImhhbmRpY2FwXCIsIFwicGVyc29uXCIsIFwid2hlZWxjaGFpclwiLCBcIndoZWVsY2hhaXItYWx0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYWNjdXNvZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYWRkcmVzcy1ib29rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWFkZHJlc3MtYm9va1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hZGRyZXNzLWNhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYWRkcmVzcy1jYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFkanVzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29udHJhc3RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hZG5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYWR2ZXJzYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYWZmaWxpYXRldGhlbWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYWxnb2xpYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbGlnbi1jZW50ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1pZGRsZVwiLCBcInRleHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbGlnbi1qdXN0aWZ5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0ZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYWxpZ24tbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widGV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFsaWduLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0ZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYWxsZXJnaWVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmcmVja2xlc1wiLCBcImhhbmRcIiwgXCJpbnRvbGVyYW5jZXNcIiwgXCJwb3hcIiwgXCJzcG90c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFtYXpvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbWF6b24tcGF5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFtYnVsYW5jZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGVscFwiLCBcIm1hY2hpbmVcIiwgXCJzdXBwb3J0XCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFtaWxpYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbmNob3JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxpbmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbmRyb2lkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJyb2JvdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFuZ2VsbGlzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbmdsZS1kb3VibGUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5nbGUtZG91YmxlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93c1wiLCBcImJhY2tcIiwgXCJsYXF1b1wiLCBcInByZXZpb3VzXCIsIFwicXVvdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbmdsZS1kb3VibGUtcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93c1wiLCBcImZvcndhcmRcIiwgXCJuZXh0XCIsIFwicXVvdGVcIiwgXCJyYXF1b1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFuZ2xlLWRvdWJsZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5nbGUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hbmdsZS1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImJhY2tcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFuZ2xlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5nbGUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYW5ncnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpc2FwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJtYWRcIiwgXCJ1cHNldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWFuZ3J5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibWFkXCIsIFwidXBzZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hbmdyeWNyZWF0aXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFuZ3VsYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXBwLXN0b3JlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFwcC1zdG9yZS1pb3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXBwZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXBwbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZvb2RcIiwgXCJmcnVpdFwiLCBcIm9zeFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWFwcGxlLXBheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcmNoaXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJib3hcIiwgXCJwYWNrYWdlXCIsIFwic3RvcmFnZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFyY2h3YXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFyY1wiLCBcIm1vbnVtZW50XCIsIFwicm9hZFwiLCBcInN0cmVldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LWFsdC1jaXJjbGUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3ctY2lyY2xlLW8tZG93blwiLCBcImRvd25sb2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYXJyb3ctYWx0LWNpcmNsZS1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvdy1jaXJjbGUtby1kb3duXCIsIFwiZG93bmxvYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93LWNpcmNsZS1vLWxlZnRcIiwgXCJiYWNrXCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93LWNpcmNsZS1vLWxlZnRcIiwgXCJiYWNrXCIsIFwicHJldmlvdXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1hbHQtY2lyY2xlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvdy1jaXJjbGUtby1yaWdodFwiLCBcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3ctY2lyY2xlLW8tcmlnaHRcIiwgXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LWFsdC1jaXJjbGUtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93LWNpcmNsZS1vLXVwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtYXJyb3ctYWx0LWNpcmNsZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3ctY2lyY2xlLW8tdXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1jaXJjbGUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG93bmxvYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1jaXJjbGUtbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3ctY2lyY2xlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LWNpcmNsZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hcnJvdy1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb3dubG9hZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhY2tcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb3J3YXJkXCIsIFwibmV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93LXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93cy1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiYXJyb3dzXCIsIFwiYmlnZ2VyXCIsIFwiZW5sYXJnZVwiLCBcImV4cGFuZFwiLCBcImZ1bGxzY3JlZW5cIiwgXCJtb3ZlXCIsIFwicG9zaXRpb25cIiwgXCJyZW9yZGVyXCIsIFwicmVzaXplXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXJyb3dzLWFsdC1oXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd3MtaFwiLCBcInJlc2l6ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWFycm93cy1hbHQtdlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dzLXZcIiwgXCJyZXNpemVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYXN0ZXJpc2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRldGFpbHNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hc3ltbWV0cmlrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWF0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlLW1haWxcIiwgXCJlbWFpbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWF0bGFzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJib29rXCIsIFwiZGlyZWN0aW9uc1wiLCBcImdlb2dyYXBoeVwiLCBcIm1hcFwiLCBcIndheWZpbmRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hdWRpYmxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWF1ZGlvLWRlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWF1dG9wcmVmaXhlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1hdmlhbmV4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWF2aWF0b1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1hd2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaG9ub3JcIiwgXCJwcmFpc2VcIiwgXCJwcml6ZVwiLCBcInJlY29nbml0aW9uXCIsIFwicmliYm9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYXdzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhY2tzcGFjZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29tbWFuZFwiLCBcImRlbGV0ZVwiLCBcImtleWJvYXJkXCIsIFwidW5kb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhY2t3YXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwcmV2aW91c1wiLCBcInJld2luZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhbGFuY2Utc2NhbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhbGFuY2VkXCIsIFwianVzdGljZVwiLCBcImxlZ2FsXCIsIFwibWVhc3VyZVwiLCBcIndlaWdodFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWJvcnRcIiwgXCJiYW5cIiwgXCJibG9ja1wiLCBcImNhbmNlbFwiLCBcImRlbGV0ZVwiLCBcImhpZGVcIiwgXCJwcm9oaWJpdFwiLCBcInJlbW92ZVwiLCBcInN0b3BcIiwgXCJ0cmFzaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhbmQtYWlkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYW5kYWdlXCIsIFwiYm9vIGJvb1wiLCBcIm91Y2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1iYW5kY2FtcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYXJjb2RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzY2FuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hlY2tsaXN0XCIsIFwiZHJhZ1wiLCBcImhhbWJ1cmdlclwiLCBcImxpc3RcIiwgXCJtZW51XCIsIFwibmF2XCIsIFwibmF2aWdhdGlvblwiLCBcIm9sXCIsIFwicmVvcmRlclwiLCBcInNldHRpbmdzXCIsIFwidG9kb1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmFzZWJhbGwtYmFsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYXNrZXRiYWxsLWJhbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmF0aFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYXR0ZXJ5LWVtcHR5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwb3dlclwiLCBcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhdHRlcnktZnVsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicG93ZXJcIiwgXCJzdGF0dXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iYXR0ZXJ5LWhhbGZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBvd2VyXCIsIFwic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmF0dGVyeS1xdWFydGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwb3dlclwiLCBcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBvd2VyXCIsIFwic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsb2RnaW5nXCIsIFwic2xlZXBcIiwgXCJ0cmF2ZWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iZWVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGNvaG9sXCIsIFwiYmFyXCIsIFwiZHJpbmtcIiwgXCJsaXF1b3JcIiwgXCJtdWdcIiwgXCJzdGVpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJlaGFuY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYmVoYW5jZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmVsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxlcnRcIiwgXCJub3RpZmljYXRpb25cIiwgXCJyZW1pbmRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWJlbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsZXJ0XCIsIFwibm90aWZpY2F0aW9uXCIsIFwicmVtaW5kZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iZWxsLXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWJlbGwtc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmV6aWVyLWN1cnZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjdXJ2ZXNcIiwgXCJpbGx1c3RyYXRvclwiLCBcImxpbmVzXCIsIFwicGF0aFwiLCBcInZlY3RvclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJpY3ljbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpa2VcIiwgXCJnZWFyc1wiLCBcInRyYW5zcG9ydGF0aW9uXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJpbW9iamVjdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1iaW5vY3VsYXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJpcnRoZGF5LWNha2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYml0YnVja2V0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaXRidWNrZXQtc3F1YXJlXCIsIFwiZ2l0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYml0Y29pblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1iaXR5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJsYWNrLXRpZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ibGFja2JlcnJ5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJsZW5kZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYmxpbmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYmxvZ2dlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ibG9nZ2VyLWJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYmx1ZXRvb3RoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWJsdWV0b290aC1iXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvbGRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm9sdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWxlY3RyaWNpdHlcIiwgXCJsaWdodG5pbmdcIiwgXCJ3ZWF0aGVyXCIsIFwiemFwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm9tYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib25nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcGFyYXR1c1wiLCBcImNhbm5hYmlzXCIsIFwibWFyaWp1YW5hXCIsIFwicGlwZVwiLCBcInNtb2tlXCIsIFwic21va2luZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvb2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3VtZW50YXRpb25cIiwgXCJyZWFkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm9vay1vcGVuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmbHllclwiLCBcIm5vdGVib29rXCIsIFwib3BlbiBib29rXCIsIFwicGFtcGhsZXRcIiwgXCJyZWFkaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYm9va21hcmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNhdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ib29rbWFya1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2F2ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJvd2xpbmctYmFsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib3hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBhY2thZ2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib3gtb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ib3hlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1icmFpbGxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJyaWVmY2FzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFnXCIsIFwiYnVzaW5lc3NcIiwgXCJsdWdnYWdlXCIsIFwib2ZmaWNlXCIsIFwid29ya1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJyaWVmY2FzZS1tZWRpY2FsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJoZWFsdGggYnJpZWZjYXNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYnJvYWRjYXN0LXRvd2VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhaXJ3YXZlc1wiLCBcInJhZGlvXCIsIFwid2F2ZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1icm9vbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1icnVzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJpc3RsZXNcIiwgXCJjb2xvclwiLCBcImhhbmRsZVwiLCBcInBhaW50aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtYnRjXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJ1Z1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaW5zZWN0XCIsIFwicmVwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtYnVpbGRpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFwYXJ0bWVudFwiLCBcImJ1c2luZXNzXCIsIFwiY29tcGFueVwiLCBcIm9mZmljZVwiLCBcIndvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1idWlsZGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBhcnRtZW50XCIsIFwiYnVzaW5lc3NcIiwgXCJjb21wYW55XCIsIFwib2ZmaWNlXCIsIFwid29ya1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJ1bGxob3JuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbm5vdW5jZW1lbnRcIiwgXCJicm9hZGNhc3RcIiwgXCJsb3VkZXJcIiwgXCJtZWdhcGhvbmVcIiwgXCJzaGFyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJ1bGxzZXllXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0YXJnZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1idXJuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbmVyZ3lcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1idXJvbW9iZWxleHBlcnRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJ1c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWFjaGluZVwiLCBcInB1YmxpYyB0cmFuc3BvcnRhdGlvblwiLCBcInRyYW5zcG9ydGF0aW9uXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWJ1cy1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1hY2hpbmVcIiwgXCJwdWJsaWMgdHJhbnNwb3J0YXRpb25cIiwgXCJ0cmFuc3BvcnRhdGlvblwiLCBcInZlaGljbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1idXlzZWxsYWRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbGN1bGF0b3JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FsZW5kYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhbGVuZGFyLW9cIiwgXCJkYXRlXCIsIFwiZXZlbnRcIiwgXCJzY2hlZHVsZVwiLCBcInRpbWVcIiwgXCJ3aGVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2FsZW5kYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhbGVuZGFyLW9cIiwgXCJkYXRlXCIsIFwiZXZlbnRcIiwgXCJzY2hlZHVsZVwiLCBcInRpbWVcIiwgXCJ3aGVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FsZW5kYXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWxlbmRhclwiLCBcImRhdGVcIiwgXCJldmVudFwiLCBcInNjaGVkdWxlXCIsIFwidGltZVwiLCBcIndoZW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYWxlbmRhci1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhbGVuZGFyXCIsIFwiZGF0ZVwiLCBcImV2ZW50XCIsIFwic2NoZWR1bGVcIiwgXCJ0aW1lXCIsIFwid2hlblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbGVuZGFyLWNoZWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NlcHRcIiwgXCJhZ3JlZVwiLCBcImFwcG9pbnRtZW50XCIsIFwiY29uZmlybVwiLCBcImNvcnJlY3RcIiwgXCJkb25lXCIsIFwib2tcIiwgXCJzZWxlY3RcIiwgXCJzdWNjZXNzXCIsIFwidG9kb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhbGVuZGFyLWNoZWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NlcHRcIiwgXCJhZ3JlZVwiLCBcImFwcG9pbnRtZW50XCIsIFwiY29uZmlybVwiLCBcImNvcnJlY3RcIiwgXCJkb25lXCIsIFwib2tcIiwgXCJzZWxlY3RcIiwgXCJzdWNjZXNzXCIsIFwidG9kb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbGVuZGFyLW1pbnVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhbGVuZGFyLW1pbnVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbGVuZGFyLXBsdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2FsZW5kYXItcGx1c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYWxlbmRhci10aW1lc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYWxlbmRhci10aW1lc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYW1lcmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBob3RvXCIsIFwicGljdHVyZVwiLCBcInJlY29yZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhbWVyYS1yZXRyb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicGhvdG9cIiwgXCJwaWN0dXJlXCIsIFwicmVjb3JkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FubmFiaXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1ZFwiLCBcImNocm9uaWNcIiwgXCJkcnVnc1wiLCBcImVuZGljYVwiLCBcImVuZG9cIiwgXCJnYW5qYVwiLCBcIm1hcmlqdWFuYVwiLCBcIm1hcnkgamFuZVwiLCBcInBvdFwiLCBcInJlZWZlclwiLCBcInNhdGl2YVwiLCBcInNwbGlmZlwiLCBcIndlZWRcIiwgXCJ3aGFja3ktdGFiYWNreVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcHN1bGVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcnVnc1wiLCBcIm1lZGljaW5lXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtYWNoaW5lXCIsIFwidHJhbnNwb3J0YXRpb25cIiwgXCJ2ZWhpY2xlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyZXQtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJkcm9wZG93blwiLCBcIm1lbnVcIiwgXCJtb3JlXCIsIFwidHJpYW5nbGUgZG93blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcmV0LWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiYmFja1wiLCBcInByZXZpb3VzXCIsIFwidHJpYW5nbGUgbGVmdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcmV0LXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImZvcndhcmRcIiwgXCJuZXh0XCIsIFwidHJpYW5nbGUgcmlnaHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJldC1zcXVhcmUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FyZXQtc3F1YXJlLW8tZG93blwiLCBcImRyb3Bkb3duXCIsIFwibWVudVwiLCBcIm1vcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jYXJldC1zcXVhcmUtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FyZXQtc3F1YXJlLW8tZG93blwiLCBcImRyb3Bkb3duXCIsIFwibWVudVwiLCBcIm1vcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJldC1zcXVhcmUtbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFja1wiLCBcImNhcmV0LXNxdWFyZS1vLWxlZnRcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhcmV0LXNxdWFyZS1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwiY2FyZXQtc3F1YXJlLW8tbGVmdFwiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyZXQtc3F1YXJlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYXJldC1zcXVhcmUtby1yaWdodFwiLCBcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2FyZXQtc3F1YXJlLXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYXJldC1zcXVhcmUtby1yaWdodFwiLCBcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2FyZXQtc3F1YXJlLXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYXJldC1zcXVhcmUtby11cFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNhcmV0LXNxdWFyZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FyZXQtc3F1YXJlLW8tdXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJldC11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJ0cmlhbmdsZSB1cFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNhcnQtYXJyb3ctZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2hvcHBpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jYXJ0LXBsdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZFwiLCBcInNob3BwaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2MtYW1hem9uLXBheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1hbWV4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbWV4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2MtYXBwbGUtcGF5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLWRpbmVycy1jbHViXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLWRpc2NvdmVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLWpjYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1tYXN0ZXJjYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNjLXBheXBhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jYy1zdHJpcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2MtdmlzYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jZW50ZXJjb2RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNlcnRpZmljYXRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWRnZVwiLCBcInN0YXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGFsa2JvYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibGFja2JvYXJkXCIsIFwibGVhcm5pbmdcIiwgXCJzY2hvb2xcIiwgXCJ0ZWFjaGluZ1wiLCBcIndoaXRlYm9hcmRcIiwgXCJ3cml0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hhbGtib2FyZC10ZWFjaGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibGFja2JvYXJkXCIsIFwiaW5zdHJ1Y3RvclwiLCBcImxlYXJuaW5nXCIsIFwicHJvZmVzc29yXCIsIFwic2Nob29sXCIsIFwid2hpdGVib2FyZFwiLCBcIndyaXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGFydC1hcmVhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmFseXRpY3NcIiwgXCJhcmVhLWNoYXJ0XCIsIFwiZ3JhcGhcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGFydC1iYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFuYWx5dGljc1wiLCBcImJhci1jaGFydFwiLCBcImdyYXBoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2hhcnQtYmFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmFseXRpY3NcIiwgXCJiYXItY2hhcnRcIiwgXCJncmFwaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoYXJ0LWxpbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjdGl2aXR5XCIsIFwiYW5hbHl0aWNzXCIsIFwiZGFzaGJvYXJkXCIsIFwiZ3JhcGhcIiwgXCJsaW5lLWNoYXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hhcnQtcGllXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmFseXRpY3NcIiwgXCJncmFwaFwiLCBcInBpZS1jaGFydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NlcHRcIiwgXCJhZ3JlZVwiLCBcImNoZWNrbWFya1wiLCBcImNvbmZpcm1cIiwgXCJjb3JyZWN0XCIsIFwiZG9uZVwiLCBcIm5vdGljZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcIm5vdGlmeVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRpY2tcIiwgXCJ0b2RvXCIsIFwieWVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlY2stY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NlcHRcIiwgXCJhZ3JlZVwiLCBcImNvbmZpcm1cIiwgXCJjb3JyZWN0XCIsIFwiZG9uZVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRvZG9cIiwgXCJ5ZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jaGVjay1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY2VwdFwiLCBcImFncmVlXCIsIFwiY29uZmlybVwiLCBcImNvcnJlY3RcIiwgXCJkb25lXCIsIFwib2tcIiwgXCJzZWxlY3RcIiwgXCJzdWNjZXNzXCIsIFwidG9kb1wiLCBcInllc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZWNrLWRvdWJsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJjaGVja21hcmtcIiwgXCJjb25maXJtXCIsIFwiY29ycmVjdFwiLCBcImRvbmVcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJva1wiLCBcInNlbGVjdFwiLCBcInN1Y2Nlc3NcIiwgXCJ0aWNrXCIsIFwidG9kb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZWNrLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJjaGVja21hcmtcIiwgXCJjb25maXJtXCIsIFwiY29ycmVjdFwiLCBcImRvbmVcIiwgXCJva1wiLCBcInNlbGVjdFwiLCBcInN1Y2Nlc3NcIiwgXCJ0b2RvXCIsIFwieWVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2hlY2stc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NlcHRcIiwgXCJhZ3JlZVwiLCBcImNoZWNrbWFya1wiLCBcImNvbmZpcm1cIiwgXCJjb3JyZWN0XCIsIFwiZG9uZVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRvZG9cIiwgXCJ5ZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVzcy1iaXNob3BcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3MtYm9hcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3Mta2luZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVzcy1rbmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hlc3MtcGF3blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVzcy1xdWVlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGVzcy1yb29rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXZyb24tY2lyY2xlLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiZHJvcGRvd25cIiwgXCJtZW51XCIsIFwibW9yZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNoZXZyb24tY2lyY2xlLWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiYmFja1wiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hldnJvbi1jaXJjbGUtcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiZm9yd2FyZFwiLCBcIm5leHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGV2cm9uLWNpcmNsZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGV2cm9uLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hldnJvbi1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwiYnJhY2tldFwiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hldnJvbi1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJhY2tldFwiLCBcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2hldnJvbi11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaGlsZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jaHJvbWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyb3dzZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaHVyY2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1aWxkaW5nXCIsIFwiY29tbXVuaXR5XCIsIFwicmVsaWdpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNpcmNsZS10aGluXCIsIFwiZG90XCIsIFwibm90aWZpY2F0aW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaXJjbGUtdGhpblwiLCBcImRvdFwiLCBcIm5vdGlmaWNhdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNpcmNsZS1ub3RjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2lyY2xlLW8tbm90Y2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jbGlwYm9hcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBhc3RlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2xpcGJvYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwYXN0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNsaXBib2FyZC1jaGVja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjZXB0XCIsIFwiYWdyZWVcIiwgXCJjb25maXJtXCIsIFwiZG9uZVwiLCBcIm9rXCIsIFwic2VsZWN0XCIsIFwic3VjY2Vzc1wiLCBcInRvZG9cIiwgXCJ5ZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jbGlwYm9hcmQtbGlzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hlY2tsaXN0XCIsIFwiY29tcGxldGVkXCIsIFwiZG9uZVwiLCBcImZpbmlzaGVkXCIsIFwiaW50aW5lcmFyeVwiLCBcIm9sXCIsIFwic2NoZWR1bGVcIiwgXCJ0b2RvXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jbG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGF0ZVwiLCBcImxhdGVcIiwgXCJzY2hlZHVsZVwiLCBcInRpbWVyXCIsIFwidGltZXN0YW1wXCIsIFwid2F0Y2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jbG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGF0ZVwiLCBcImxhdGVcIiwgXCJzY2hlZHVsZVwiLCBcInRpbWVyXCIsIFwidGltZXN0YW1wXCIsIFwid2F0Y2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jbG9uZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29weVwiLCBcImR1cGxpY2F0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNsb25lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb3B5XCIsIFwiZHVwbGljYXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xvc2VkLWNhcHRpb25pbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY2xvc2VkLWNhcHRpb25pbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xvdWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNhdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jbG91ZC1kb3dubG9hZC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsb3VkLWRvd25sb2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY2xvdWQtdXBsb2FkLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvdWQtdXBsb2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY2xvdWRzY2FsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jbG91ZHNtaXRoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNsb3VkdmVyc2lmeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb2NrdGFpbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxjb2hvbFwiLCBcImRyaW5rXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29kZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJhY2tldHNcIiwgXCJodG1sXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29kZS1icmFuY2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyYW5jaFwiLCBcImNvZGUtZm9ya1wiLCBcImZvcmtcIiwgXCJnaXRcIiwgXCJnaXRodWJcIiwgXCJyZWJhc2VcIiwgXCJzdm5cIiwgXCJ2Y3NcIiwgXCJ2ZXJzaW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY29kZXBlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jb2RpZXBpZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb2ZmZWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyZWFrZmFzdFwiLCBcImNhZmVcIiwgXCJkcmlua1wiLCBcIm1vcm5pbmdcIiwgXCJtdWdcIiwgXCJ0ZWFcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb2dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNldHRpbmdzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29nc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ2VhcnNcIiwgXCJzZXR0aW5nc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvaW5zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvbHVtbnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRhc2hib2FyZFwiLCBcInBhbmVzXCIsIFwic3BsaXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb21tZW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWJibGVcIiwgXCJjaGF0XCIsIFwiY29udmVyc2F0aW9uXCIsIFwiZmVlZGJhY2tcIiwgXCJtZXNzYWdlXCIsIFwibm90ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInNtc1wiLCBcInNwZWVjaFwiLCBcInRleHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jb21tZW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWJibGVcIiwgXCJjaGF0XCIsIFwiY29udmVyc2F0aW9uXCIsIFwiZmVlZGJhY2tcIiwgXCJtZXNzYWdlXCIsIFwibm90ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInNtc1wiLCBcInNwZWVjaFwiLCBcInRleHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb21tZW50LWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnViYmxlXCIsIFwiY2hhdFwiLCBcImNvbW1lbnRpbmdcIiwgXCJjb21tZW50aW5nXCIsIFwiY29udmVyc2F0aW9uXCIsIFwiZmVlZGJhY2tcIiwgXCJtZXNzYWdlXCIsIFwibm90ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInNtc1wiLCBcInNwZWVjaFwiLCBcInRleHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jb21tZW50LWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnViYmxlXCIsIFwiY2hhdFwiLCBcImNvbW1lbnRpbmdcIiwgXCJjb21tZW50aW5nXCIsIFwiY29udmVyc2F0aW9uXCIsIFwiZmVlZGJhY2tcIiwgXCJtZXNzYWdlXCIsIFwibm90ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInNtc1wiLCBcInNwZWVjaFwiLCBcInRleHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb21tZW50LWRvdHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY29tbWVudC1kb3RzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvbW1lbnQtc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tbWVudHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1YmJsZVwiLCBcImNoYXRcIiwgXCJjb252ZXJzYXRpb25cIiwgXCJmZWVkYmFja1wiLCBcIm1lc3NhZ2VcIiwgXCJub3RlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwic21zXCIsIFwic3BlZWNoXCIsIFwidGV4dGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNvbW1lbnRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWJibGVcIiwgXCJjaGF0XCIsIFwiY29udmVyc2F0aW9uXCIsIFwiZmVlZGJhY2tcIiwgXCJtZXNzYWdlXCIsIFwibm90ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInNtc1wiLCBcInNwZWVjaFwiLCBcInRleHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb21wYWN0LWRpc2NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsdXJheVwiLCBcImNkXCIsIFwiZGlzY1wiLCBcIm1lZGlhXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tcGFzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlyZWN0b3J5XCIsIFwibG9jYXRpb25cIiwgXCJtZW51XCIsIFwic2FmYXJpXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY29tcGFzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlyZWN0b3J5XCIsIFwibG9jYXRpb25cIiwgXCJtZW51XCIsIFwic2FmYXJpXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29tcHJlc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbGxhcHNlXCIsIFwiY29tYmluZVwiLCBcImNvbnRyYWN0XCIsIFwibWVyZ2VcIiwgXCJzbWFsbGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29uY2llcmdlLWJlbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF0dGVudGlvblwiLCBcImhvdGVsXCIsIFwic2VydmljZVwiLCBcInN1cHBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jb25uZWN0ZGV2ZWxvcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jb250YW9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29va2llXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWtlZCBnb29kXCIsIFwiY2hpcHNcIiwgXCJmb29kXCIsIFwic25hY2tcIiwgXCJzd2VldFwiLCBcInRyZWF0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY29va2llLWJpdGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJha2VkIGdvb2RcIiwgXCJiaXR0ZW5cIiwgXCJjaGlwc1wiLCBcImVhdGluZ1wiLCBcImZvb2RcIiwgXCJzbmFja1wiLCBcInN3ZWV0XCIsIFwidHJlYXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jb3B5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG9uZVwiLCBcImR1cGxpY2F0ZVwiLCBcImZpbGVcIiwgXCJmaWxlcy1vXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtY29weVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvbmVcIiwgXCJkdXBsaWNhdGVcIiwgXCJmaWxlXCIsIFwiZmlsZXMtb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNvcHlyaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1jb3B5cmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY291Y2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3BhbmVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1ieVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLW5jXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLW5kXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtcGRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jcmVhdGl2ZS1jb21tb25zLXNhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY3JlZGl0LWNhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1eVwiLCBcImNoZWNrb3V0XCIsIFwiY3JlZGl0LWNhcmQtYWx0XCIsIFwiZGViaXRcIiwgXCJtb25leVwiLCBcInBheW1lbnRcIiwgXCJwdXJjaGFzZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWNyZWRpdC1jYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidXlcIiwgXCJjaGVja291dFwiLCBcImNyZWRpdC1jYXJkLWFsdFwiLCBcImRlYml0XCIsIFwibW9uZXlcIiwgXCJwYXltZW50XCIsIFwicHVyY2hhc2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jcm9wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXNpZ25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jcm9wLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jcm9zc2hhaXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJncGRcIiwgXCJwaWNrZXJcIiwgXCJwb3NpdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWNyb3dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpcmRcIiwgXCJidWxsZnJvZ1wiLCBcInRvYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1jcm93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1jc3MzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2RlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtY3NzMy1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtY3ViZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicGFja2FnZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWN1YmVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwYWNrYWdlc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWN1dFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2Npc3NvcnNcIiwgXCJzY2lzc29yc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWN1dHRsZWZpc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZC1hbmQtZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kYXNoY3ViZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kYXRhYmFzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kZWFmXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRlbGljaW91c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kZXBsb3lkb2dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZGVza3Byb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kZXNrdG9wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb21wdXRlclwiLCBcImNwdVwiLCBcImRlbW9cIiwgXCJkZXNrdG9wXCIsIFwiZGV2aWNlXCIsIFwibWFjaGluZVwiLCBcIm1vbml0b3JcIiwgXCJwY1wiLCBcInNjcmVlblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRldmlhbnRhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGlhZ25vc2VzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoYW5jZVwiLCBcImdhbWJsaW5nXCIsIFwiZ2FtZVwiLCBcInJvbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWNlLWZpdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoYW5jZVwiLCBcImdhbWJsaW5nXCIsIFwiZ2FtZVwiLCBcInJvbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWNlLWZvdXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoYW5jZVwiLCBcImdhbWJsaW5nXCIsIFwiZ2FtZVwiLCBcInJvbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaWNlLW9uZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hhbmNlXCIsIFwiZ2FtYmxpbmdcIiwgXCJnYW1lXCIsIFwicm9sbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpY2Utc2l4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFuY2VcIiwgXCJnYW1ibGluZ1wiLCBcImdhbWVcIiwgXCJyb2xsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGljZS10aHJlZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hhbmNlXCIsIFwiZ2FtYmxpbmdcIiwgXCJnYW1lXCIsIFwicm9sbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpY2UtdHdvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFuY2VcIiwgXCJnYW1ibGluZ1wiLCBcImdhbWVcIiwgXCJyb2xsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZGlnZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kaWdpdGFsLW9jZWFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRpZ2l0YWwtdGFjaG9ncmFwaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kaXNjb3JkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRpc2NvdXJzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kaXZpZGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZGl6enlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRhemVkXCIsIFwiZGlzYXBwcm92ZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWRpenp5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkYXplZFwiLCBcImRpc2FwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kbmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvdWJsZSBoZWxpeFwiLCBcImhlbGl4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZG9jaHViXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWRvY2tlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb2xsYXItc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiJFwiLCBcImRvbGxhci1zaWduXCIsIFwibW9uZXlcIiwgXCJwcmljZVwiLCBcInVzZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRvbGx5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRvbGx5LWZsYXRiZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZG9uYXRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJnZW5lcm9zaXR5XCIsIFwiZ2l2ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRvb3ItY2xvc2VkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRvb3Itb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb3QtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWxsc2V5ZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInRhcmdldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWRvdC1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1bGxzZXllXCIsIFwibm90aWZpY2F0aW9uXCIsIFwidGFyZ2V0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZG92ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kb3dubG9hZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaW1wb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZHJhZnQyZGlnaXRhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kcmFmdGluZy1jb21wYXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtZWNoYW5pY2FsIGRyYXdpbmdcIiwgXCJwbG90XCIsIFwicGxvdHRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kcmliYmJsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kcmliYmJsZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZHJvcGJveFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1kcnVtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpbnN0cnVtZW50XCIsIFwibXVzaWNcIiwgXCJwZXJjdXNzaW9uXCIsIFwic25hcmVcIiwgXCJzb3VuZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWRydW0tc3RlZWxwYW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhbHlwc29cIiwgXCJpbnN0cnVtZW50XCIsIFwibXVzaWNcIiwgXCJwZXJjdXNzaW9uXCIsIFwicmVnZ2FlXCIsIFwic25hcmVcIiwgXCJzb3VuZFwiLCBcInN0ZWVsXCIsIFwidHJvcGljYWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1kcnVwYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZHVtYmJlbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV4ZXJjaXNlXCIsIFwiZ3ltXCIsIFwic3RyZW5ndGhcIiwgXCJ3ZWlnaHRcIiwgXCJ3ZWlnaHQtbGlmdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWR5YWxvZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1lYXJseWJpcmRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWViYXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZWRnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJvd3NlclwiLCBcImllXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZWRpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWRpdFwiLCBcInBlblwiLCBcInBlbmNpbFwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZWRpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWRpdFwiLCBcInBlblwiLCBcInBlbmNpbFwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZWplY3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZWxlbWVudG9yXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVsbGlwc2lzLWhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvdHNcIiwgXCJkcmFnXCIsIFwia2ViYWJcIiwgXCJsaXN0XCIsIFwibWVudVwiLCBcIm5hdlwiLCBcIm5hdmlnYXRpb25cIiwgXCJvbFwiLCBcInJlb3JkZXJcIiwgXCJzZXR0aW5nc1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZWxsaXBzaXMtdlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG90c1wiLCBcImRyYWdcIiwgXCJrZWJhYlwiLCBcImxpc3RcIiwgXCJtZW51XCIsIFwibmF2XCIsIFwibmF2aWdhdGlvblwiLCBcIm9sXCIsIFwicmVvcmRlclwiLCBcInNldHRpbmdzXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1lbWJlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1lbXBpcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZW52ZWxvcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImUtbWFpbFwiLCBcImVtYWlsXCIsIFwibGV0dGVyXCIsIFwibWFpbFwiLCBcIm1lc3NhZ2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzdXBwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZW52ZWxvcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImUtbWFpbFwiLCBcImVtYWlsXCIsIFwibGV0dGVyXCIsIFwibWFpbFwiLCBcIm1lc3NhZ2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJzdXBwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZW52ZWxvcGUtb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZS1tYWlsXCIsIFwiZW1haWxcIiwgXCJsZXR0ZXJcIiwgXCJtYWlsXCIsIFwibWVzc2FnZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInN1cHBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1lbnZlbG9wZS1vcGVuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlLW1haWxcIiwgXCJlbWFpbFwiLCBcImxldHRlclwiLCBcIm1haWxcIiwgXCJtZXNzYWdlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwic3VwcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWVudmVsb3BlLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZS1tYWlsXCIsIFwiZW1haWxcIiwgXCJsZXR0ZXJcIiwgXCJtYWlsXCIsIFwibWVzc2FnZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcInN1cHBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1lbnZpcmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxlYWZcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1lcXVhbHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXJhc2VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZWxldGVcIiwgXCJyZW1vdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1lcmxhbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZXRoZXJldW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZXRzeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ldXJvLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV1clwiLCBcImV1clwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4Y2hhbmdlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJhcnJvd3NcIiwgXCJleGNoYW5nZVwiLCBcInJlY2lwcm9jYXRlXCIsIFwicmV0dXJuXCIsIFwic3dhcFwiLCBcInRyYW5zZmVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXhjbGFtYXRpb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsZXJ0XCIsIFwiZGFuZ2VyXCIsIFwiZXJyb3JcIiwgXCJpbXBvcnRhbnRcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJwcm9ibGVtXCIsIFwid2FybmluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxlcnRcIiwgXCJkYW5nZXJcIiwgXCJlcnJvclwiLCBcImltcG9ydGFudFwiLCBcIm5vdGljZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcIm5vdGlmeVwiLCBcInByb2JsZW1cIiwgXCJ3YXJuaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsZXJ0XCIsIFwiZGFuZ2VyXCIsIFwiZXJyb3JcIiwgXCJpbXBvcnRhbnRcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJwcm9ibGVtXCIsIFwid2FybmluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4cGFuZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmlnZ2VyXCIsIFwiZW5sYXJnZVwiLCBcInJlc2l6ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWV4cGFuZC1hcnJvd3MtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd3MtYWx0XCIsIFwiYmlnZ2VyXCIsIFwiZW5sYXJnZVwiLCBcIm1vdmVcIiwgXCJyZXNpemVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1leHBlZGl0ZWRzc2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXh0ZXJuYWwtbGluay1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV4dGVybmFsLWxpbmtcIiwgXCJuZXdcIiwgXCJvcGVuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJleHRlcm5hbC1saW5rLXNxdWFyZVwiLCBcIm5ld1wiLCBcIm9wZW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1leWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm9wdGljXCIsIFwic2VlXCIsIFwic2VlblwiLCBcInNob3dcIiwgXCJzaWdodFwiLCBcInZpZXdzXCIsIFwidmlzaWJsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWV5ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wib3B0aWNcIiwgXCJzZWVcIiwgXCJzZWVuXCIsIFwic2hvd1wiLCBcInNpZ2h0XCIsIFwidmlld3NcIiwgXCJ2aXNpYmxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZXllLWRyb3BwZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV5ZWRyb3BwZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1leWUtc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsaW5kXCIsIFwiaGlkZVwiLCBcInNob3dcIiwgXCJ0b2dnbGVcIiwgXCJ1bnNlZW5cIiwgXCJ2aWV3c1wiLCBcInZpc2libGVcIiwgXCJ2aXNpYmxpdHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1leWUtc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsaW5kXCIsIFwiaGlkZVwiLCBcInNob3dcIiwgXCJ0b2dnbGVcIiwgXCJ1bnNlZW5cIiwgXCJ2aWV3c1wiLCBcInZpc2libGVcIiwgXCJ2aXNpYmxpdHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mYWNlYm9va1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmFjZWJvb2stb2ZmaWNpYWxcIiwgXCJzb2NpYWwgbmV0d29ya1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZhY2Vib29rLWZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZhY2Vib29rXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZmFjZWJvb2stbWVzc2VuZ2VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZhY2Vib29rLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic29jaWFsIG5ldHdvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mYXN0LWJhY2t3YXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZWdpbm5pbmdcIiwgXCJmaXJzdFwiLCBcInByZXZpb3VzXCIsIFwicmV3aW5kXCIsIFwic3RhcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mYXN0LWZvcndhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVuZFwiLCBcImxhc3RcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmF4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZlYXRoZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpcmRcIiwgXCJsaWdodFwiLCBcInBsdWNrZWRcIiwgXCJxdWlsbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZlYXRoZXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiaXJkXCIsIFwibGlnaHRcIiwgXCJwbHVja2VkXCIsIFwicXVpbGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mZW1hbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImh1bWFuXCIsIFwicGVyc29uXCIsIFwicHJvZmlsZVwiLCBcInVzZXJcIiwgXCJ3b21hblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpZ2h0ZXItamV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhaXJwbGFuZVwiLCBcImZhc3RcIiwgXCJmbHlcIiwgXCJnb29zZVwiLCBcIm1hdmVyaWNrXCIsIFwicGxhbmVcIiwgXCJxdWlja1wiLCBcInRvcCBndW5cIiwgXCJ0cmFuc3BvcnRhdGlvblwiLCBcInRyYXZlbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3VtZW50XCIsIFwibmV3XCIsIFwicGFnZVwiLCBcInBkZlwiLCBcInJlc3VtZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZpbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3VtZW50XCIsIFwibmV3XCIsIFwicGFnZVwiLCBcInBkZlwiLCBcInJlc3VtZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcImZpbGUtdGV4dFwiLCBcImludm9pY2VcIiwgXCJuZXdcIiwgXCJwYWdlXCIsIFwicGRmXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3VtZW50XCIsIFwiZmlsZS10ZXh0XCIsIFwiaW52b2ljZVwiLCBcIm5ld1wiLCBcInBhZ2VcIiwgXCJwZGZcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWFyY2hpdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIi56aXBcIiwgXCJidW5kbGVcIiwgXCJjb21wcmVzc1wiLCBcImNvbXByZXNzaW9uXCIsIFwiZG93bmxvYWRcIiwgXCJ6aXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLWFyY2hpdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIi56aXBcIiwgXCJidW5kbGVcIiwgXCJjb21wcmVzc1wiLCBcImNvbXByZXNzaW9uXCIsIFwiZG93bmxvYWRcIiwgXCJ6aXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWF1ZGlvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZpbGUtYXVkaW9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1jb2RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZpbGUtY29kZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWNvbnRyYWN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZ3JlZW1lbnRcIiwgXCJiaW5kaW5nXCIsIFwiZG9jdW1lbnRcIiwgXCJsZWdhbFwiLCBcInNpZ25hdHVyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtZG93bmxvYWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1leGNlbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLWV4Y2VsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtZXhwb3J0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtaW1hZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS1pbWFnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWltcG9ydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWludm9pY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpbGxcIiwgXCJkb2N1bWVudFwiLCBcInJlY2VpcHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLWludm9pY2UtZG9sbGFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCIkXCIsIFwiYmlsbFwiLCBcImRvY3VtZW50XCIsIFwiZG9sbGFyLXNpZ25cIiwgXCJtb25leVwiLCBcInJlY2VpcHRcIiwgXCJ1c2RcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLW1lZGljYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1tZWRpY2FsLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLXBkZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLXBkZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maWxlLXBvd2VycG9pbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZmlsZS1wb3dlcnBvaW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtcHJlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcnVnc1wiLCBcIm1lZGljYWxcIiwgXCJtZWRpY2luZVwiLCBcInJ4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS1zaWduYXR1cmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkpvaG4gSGFuY29ja1wiLCBcImNvbnRyYWN0XCIsIFwiZG9jdW1lbnRcIiwgXCJuYW1lXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS11cGxvYWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsZS12aWRlb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLXZpZGVvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGUtd29yZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1maWxlLXdvcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnVja2V0XCIsIFwiY29sb3JcIiwgXCJwYWludFwiLCBcInBhaW50IGJ1Y2tldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbGwtZHJpcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnVja2V0XCIsIFwiY29sb3JcIiwgXCJkcm9wXCIsIFwicGFpbnRcIiwgXCJwYWludCBidWNrZXRcIiwgXCJzcGlsbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpbG1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1vdmllXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlsdGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmdW5uZWxcIiwgXCJvcHRpb25zXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmluZ2VycHJpbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImh1bWFuXCIsIFwiaWRcIiwgXCJpZGVudGlmaWNhdGlvblwiLCBcImxvY2tcIiwgXCJzbXVkZ2VcIiwgXCJ0b3VjaFwiLCBcInVuaXF1ZVwiLCBcInVubG9ja1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZsYW1lXCIsIFwiaG90XCIsIFwicG9wdWxhclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZpcmUtZXh0aW5ndWlzaGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZpcmVmb3hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJyb3dzZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1maXJzdC1haWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZmlyc3Qtb3JkZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZmlyc3Qtb3JkZXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZpcnN0ZHJhZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmlzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mbGFnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJyZXBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mbGFnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJyZXBvcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mbGFnLWNoZWNrZXJlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicmVwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZmxhc2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJlYWtlclwiLCBcImV4cGVyaW1lbnRhbFwiLCBcImxhYnNcIiwgXCJzY2llbmNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZmxpY2tyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZsaXBib2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mbHVzaGVkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbWJhcnJhc3NlZFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZsdXNoZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtYmFycmFzc2VkXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZmx5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZvbGRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mb2xkZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZm9sZGVyLW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZm9sZGVyLW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZm9udFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widGV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZvbnQtYXdlc29tZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWVhbnBhdGhcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb250LWF3ZXNvbWUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZvbnQtYXdlc29tZS1mbGFnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb250LWF3ZXNvbWUtbG9nby1mdWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZvbnRpY29uc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb250aWNvbnMtZmlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZm9vdGJhbGwtYmFsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mb3J0LWF3ZXNvbWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhc3RsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZvcnQtYXdlc29tZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhc3RsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWZvcnVtYmVlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZvcndhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZvcndhcmRcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZm91cnNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mcmVlLWNvZGUtY2FtcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1mcmVlYnNkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZyb2dcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1bGxmcm9nXCIsIFwia2VybWl0XCIsIFwia2lzc1wiLCBcInByaW5jZVwiLCBcInRvYWRcIiwgXCJ3YXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZnJvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpc2FwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJyYXRpbmdcIiwgXCJzYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mcm93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYXBwcm92ZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInJhdGluZ1wiLCBcInNhZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWZyb3duLW9wZW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpc2FwcHJvdmVcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJyYXRpbmdcIiwgXCJzYWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1mcm93bi1vcGVuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwicmF0aW5nXCIsIFwic2FkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZnVsY3J1bVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1mdXRib2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhbGxcIiwgXCJmb290YmFsbFwiLCBcInNvY2NlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWZ1dGJvbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFsbFwiLCBcImZvb3RiYWxsXCIsIFwic29jY2VyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ2FsYWN0aWMtcmVwdWJsaWNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ2FsYWN0aWMtc2VuYXRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdhbWVwYWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbnRyb2xsZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nYXMtcHVtcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nYXZlbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGFtbWVyXCIsIFwianVkZ2VcIiwgXCJsYXd5ZXJcIiwgXCJvcGluaW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2VtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaWFtb25kXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ2VtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaWFtb25kXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2VuZGVybGVzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nZXQtcG9ja2V0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdnXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdnLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1naWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJnZW5lcm9zaXR5XCIsIFwiZ2l2aW5nXCIsIFwicGFydHlcIiwgXCJwcmVzZW50XCIsIFwid3JhcHBlZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXQtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdpdGh1YlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wib2N0b2NhdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdpdGh1Yi1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm9jdG9jYXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1naXRodWItc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJvY3RvY2F0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ2l0a3Jha2VuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdpdGxhYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiQXhvc29mdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdpdHRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nbGFzcy1tYXJ0aW5pXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGNvaG9sXCIsIFwiYmFyXCIsIFwiZHJpbmtcIiwgXCJnbGFzc1wiLCBcImxpcXVvclwiLCBcIm1hcnRpbmlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nbGFzcy1tYXJ0aW5pLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nbGFzc2VzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb3VyZXllc1wiLCBcImhpcHN0ZXJcIiwgXCJuZXJkXCIsIFwicmVhZGluZ1wiLCBcInNpZ2h0XCIsIFwic3BlY3RhY2xlc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdsaWRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdsaWRlLWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2xvYmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFsbFwiLCBcImNvb3JkaW5hdGVzXCIsIFwiY291bnRyeVwiLCBcImVhcnRoXCIsIFwiZ2xvYmFsXCIsIFwiZ3BzXCIsIFwibGFuZ3VhZ2VcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwib25saW5lXCIsIFwicGxhY2VcIiwgXCJwbGFuZXRcIiwgXCJ0cmFuc2xhdGVcIiwgXCJ0cmF2ZWxcIiwgXCJ3b3JsZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdsb2JlLWFmcmljYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxsXCIsIFwiY291bnRyeVwiLCBcImVhcnRoXCIsIFwiZ2xvYmFsXCIsIFwiZ3BzXCIsIFwibGFuZ3VhZ2VcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwib25saW5lXCIsIFwicGxhY2VcIiwgXCJwbGFuZXRcIiwgXCJ0cmFuc2xhdGVcIiwgXCJ0cmF2ZWxcIiwgXCJ3b3JsZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdsb2JlLWFtZXJpY2FzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGxcIiwgXCJjb3VudHJ5XCIsIFwiZWFydGhcIiwgXCJnbG9iYWxcIiwgXCJncHNcIiwgXCJsYW5ndWFnZVwiLCBcImxvY2FsaXplXCIsIFwibG9jYXRpb25cIiwgXCJtYXBcIiwgXCJvbmxpbmVcIiwgXCJwbGFjZVwiLCBcInBsYW5ldFwiLCBcInRyYW5zbGF0ZVwiLCBcInRyYXZlbFwiLCBcIndvcmxkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ2xvYmUtYXNpYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxsXCIsIFwiY291bnRyeVwiLCBcImVhcnRoXCIsIFwiZ2xvYmFsXCIsIFwiZ3BzXCIsIFwibGFuZ3VhZ2VcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwib25saW5lXCIsIFwicGxhY2VcIiwgXCJwbGFuZXRcIiwgXCJ0cmFuc2xhdGVcIiwgXCJ0cmF2ZWxcIiwgXCJ3b3JsZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvZm9yZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1nb2xmLWJhbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ29vZHJlYWRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2RyZWFkcy1nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2dsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nb29nbGUtZHJpdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ29vZ2xlLXBsYXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ29vZ2xlLXBsdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImdvb2dsZS1wbHVzLWNpcmNsZVwiLCBcImdvb2dsZS1wbHVzLW9mZmljaWFsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ29vZ2xlLXBsdXMtZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ29vZ2xlLXBsdXNcIiwgXCJzb2NpYWwgbmV0d29ya1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdvb2dsZS1wbHVzLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic29jaWFsIG5ldHdvcmtcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1nb29nbGUtd2FsbGV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyYWR1YXRpb24tY2FwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsZWFybmluZ1wiLCBcInNjaG9vbFwiLCBcInN0dWRlbnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ncmF0aXBheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmF2b3JpdGVcIiwgXCJoZWFydFwiLCBcImxpa2VcIiwgXCJsb3ZlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtZ3JhdlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmVhdGVyLXRoYW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3JlYXRlci10aGFuLWVxdWFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW1hY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNyaW5nZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW1hY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNyaW5nZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsYXVnaFwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4tYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4tYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4tYmVhbS1zd2VhdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLWJlYW0tc3dlYXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi1oZWFydHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxvdmVcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4taGVhcnRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXNxdWludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4tc3F1aW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsYXVnaFwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3Jpbi1zcXVpbnQtdGVhcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCIsIFwic21pbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLXNxdWludC10ZWFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiaGFwcHlcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4tc3RhcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInN0YXItc3RydWNrXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi1zdGFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwic3Rhci1zdHJ1Y2tcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXRlYXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLXRlYXJzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXRvbmd1ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi10b25ndWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWdyaW4tdG9uZ3VlLXNxdWludFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtZ3Jpbi10b25ndWUtc3F1aW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXRvbmd1ZS13aW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1ncmluLXRvbmd1ZS13aW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ncmluLXdpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImZsaXJ0XCIsIFwibGF1Z2hcIiwgXCJzbWlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWdyaW4td2lua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiZmxpcnRcIiwgXCJsYXVnaFwiLCBcInNtaWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3JpcC1ob3Jpem9udGFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZmZvcmRhbmNlXCIsIFwiZHJhZ1wiLCBcImRyb3BcIiwgXCJncmFiXCIsIFwiaGFuZGxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtZ3JpcC12ZXJ0aWNhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWZmb3JkYW5jZVwiLCBcImRyYWdcIiwgXCJkcm9wXCIsIFwiZ3JhYlwiLCBcImhhbmRsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdyaXBmaXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWdydW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWd1bHBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaC1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhvc3BpdGFsXCIsIFwiaG90ZWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1oYWNrZXItbmV3c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1oYWNrZXItbmV3cy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1ob2xkaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtaG9sZGluZy1oZWFydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLWhvbGRpbmctdXNkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCIkXCIsIFwiZG9sbGFyIHNpZ25cIiwgXCJkb25hdGlvblwiLCBcImdpdmluZ1wiLCBcIm1vbmV5XCIsIFwicHJpY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLWxpemFyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLWxpemFyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBhcGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzdG9wXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1wYXBlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3RvcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtcGVhY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1wZWFjZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBvaW50LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbmdlclwiLCBcImhhbmQtby1kb3duXCIsIFwicG9pbnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLXBvaW50LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbmdlclwiLCBcImhhbmQtby1kb3duXCIsIFwicG9pbnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBvaW50LWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhY2tcIiwgXCJmaW5nZXJcIiwgXCJoYW5kLW8tbGVmdFwiLCBcImxlZnRcIiwgXCJwb2ludFwiLCBcInByZXZpb3VzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1wb2ludC1sZWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwiZmluZ2VyXCIsIFwiaGFuZC1vLWxlZnRcIiwgXCJsZWZ0XCIsIFwicG9pbnRcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtcG9pbnQtcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbmdlclwiLCBcImZvcndhcmRcIiwgXCJoYW5kLW8tcmlnaHRcIiwgXCJuZXh0XCIsIFwicG9pbnRcIiwgXCJyaWdodFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcG9pbnQtcmlnaHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbmdlclwiLCBcImZvcndhcmRcIiwgXCJoYW5kLW8tcmlnaHRcIiwgXCJuZXh0XCIsIFwicG9pbnRcIiwgXCJyaWdodFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmQtcG9pbnQtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZpbmdlclwiLCBcImhhbmQtby11cFwiLCBcInBvaW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGFuZC1wb2ludC11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmluZ2VyXCIsIFwiaGFuZC1vLXVwXCIsIFwicG9pbnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXBvaW50ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNlbGVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcG9pbnRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2VsZWN0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1yb2NrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtcm9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oYW5kLXNjaXNzb3JzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmQtc2Npc3NvcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGFuZC1zcG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1oYW5kLXNwb2NrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmRzLWhlbHBpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFpZFwiLCBcImFzc2lzdGFuY2VcIiwgXCJwYXJ0bmVyc2hpcFwiLCBcInZvbHVudGVlcmluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhbmRzaGFrZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ3JlZXRpbmdcIiwgXCJwYXJ0bmVyc2hpcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhhbmRzaGFrZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZ3JlZXRpbmdcIiwgXCJwYXJ0bmVyc2hpcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhhc2h0YWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGRkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjcHVcIiwgXCJoYXJkIGRyaXZlXCIsIFwiaGFyZGRyaXZlXCIsIFwibWFjaGluZVwiLCBcInNhdmVcIiwgXCJzdG9yYWdlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGRkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjcHVcIiwgXCJoYXJkIGRyaXZlXCIsIFwiaGFyZGRyaXZlXCIsIFwibWFjaGluZVwiLCBcInNhdmVcIiwgXCJzdG9yYWdlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGVhZGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGVhZGVyXCIsIFwiaGVhZGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGVhZHBob25lc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXVkaW9cIiwgXCJsaXN0ZW5cIiwgXCJtdXNpY1wiLCBcInNvdW5kXCIsIFwic3BlYWtlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhlYWRwaG9uZXMtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhdWRpb1wiLCBcImxpc3RlblwiLCBcIm11c2ljXCIsIFwic291bmRcIiwgXCJzcGVha2VyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaGVhZHNldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXVkaW9cIiwgXCJnYW1lclwiLCBcImdhbWluZ1wiLCBcImxpc3RlblwiLCBcImxpdmUgY2hhdFwiLCBcIm1pY3JvcGhvbmVcIiwgXCJzaG90IGNhbGxlclwiLCBcInNvdW5kXCIsIFwic3VwcG9ydFwiLCBcInRlbGVtYXJrZXRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhlYXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmYXZvcml0ZVwiLCBcImxpa2VcIiwgXCJsb3ZlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtaGVhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZhdm9yaXRlXCIsIFwibGlrZVwiLCBcImxvdmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oZWFydGJlYXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVrZ1wiLCBcImxpZmVsaW5lXCIsIFwidml0YWwgc2lnbnNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1oZWxpY29wdGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhaXJ3b2xmXCIsIFwiYXBhY2hlXCIsIFwiY2hvcHBlclwiLCBcImZsaWdodFwiLCBcImZseVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhpZ2hsaWdodGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlZGl0XCIsIFwibWFya2VyXCIsIFwic2hhcnBpZVwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaGlwc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1oaXJlLWEtaGVscGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhpc3RvcnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG9ja2V5LXB1Y2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG9tZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaG91c2VcIiwgXCJtYWluXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaG9vbGlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaG9ybmJpbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG9zcGl0YWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1aWxkaW5nXCIsIFwiZW1lcmdlbmN5IHJvb21cIiwgXCJtZWRpY2FsIGNlbnRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhvc3BpdGFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWlsZGluZ1wiLCBcImVtZXJnZW5jeSByb29tXCIsIFwibWVkaWNhbCBjZW50ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3NwaXRhbC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1aWxkaW5nXCIsIFwiZW1lcmdlbmN5IHJvb21cIiwgXCJtZWRpY2FsIGNlbnRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvc3BpdGFsLXN5bWJvbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3QtdHViXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvdGVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWlsZGluZ1wiLCBcImxvZGdpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ob3RqYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaG91cmdsYXNzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWhvdXJnbGFzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ob3VyZ2xhc3MtZW5kXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvdXJnbGFzcy1oYWxmXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWhvdXJnbGFzcy1zdGFydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ob3V6elwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1odG1sNVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1odWJzcG90XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWktY3Vyc29yXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWlkLWJhZGdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWlkLWJhZGdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWlkLWNhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3VtZW50XCIsIFwiaWRlbnRpZmljYXRpb25cIiwgXCJpc3N1ZWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1pZC1jYXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkb2N1bWVudFwiLCBcImlkZW50aWZpY2F0aW9uXCIsIFwiaXNzdWVkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaWQtY2FyZC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlbW9ncmFwaGljc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWltYWdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGJ1bVwiLCBcInBob3RvXCIsIFwicGljdHVyZVwiLCBcInBpY3R1cmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1pbWFnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxidW1cIiwgXCJwaG90b1wiLCBcInBpY3R1cmVcIiwgXCJwaWN0dXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtaW1hZ2VzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbGJ1bVwiLCBcInBob3RvXCIsIFwicGljdHVyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWltYWdlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWxidW1cIiwgXCJwaG90b1wiLCBcInBpY3R1cmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1pbWRiXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWluYm94XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWluZGVudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbmR1c3RyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmFjdG9yeVwiLCBcIm1hbnVmYWN0dXJpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbmZpbml0eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pbmZvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXRhaWxzXCIsIFwiaGVscFwiLCBcImluZm9ybWF0aW9uXCIsIFwibW9yZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWluZm8tY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXRhaWxzXCIsIFwiaGVscFwiLCBcImluZm9ybWF0aW9uXCIsIFwibW9yZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWluc3RhZ3JhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1pbnRlcm5ldC1leHBsb3JlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJvd3NlclwiLCBcImllXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaW94aG9zdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1pdGFsaWNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIml0YWxpY3NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1pdHVuZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtaXR1bmVzLW5vdGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtamF2YVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1qZWRpLW9yZGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWplbmtpbnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtam9nZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtam9pbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsdW50XCIsIFwiY2FubmFiaXNcIiwgXCJkb29iaWVcIiwgXCJkcnVnc1wiLCBcIm1hcmlqdWFuYVwiLCBcInJvYWNoXCIsIFwic21va2VcIiwgXCJzbW9raW5nXCIsIFwic3BsaWZmXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtam9vbWxhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWpzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWpzLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1qc2ZpZGRsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1rZXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBhc3N3b3JkXCIsIFwidW5sb2NrXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEta2V5YmFzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1rZXlib2FyZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaW5wdXRcIiwgXCJ0eXBlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEta2V5Ym9hcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImlucHV0XCIsIFwidHlwZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWtleWNkblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1raWNrc3RhcnRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1raWNrc3RhcnRlci1rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWtpc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJlc29cIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21vb2NoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEta2lzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmVzb1wiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxvdmVcIiwgXCJzbW9vY2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1raXNzLWJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJlc29cIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21vb2NoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEta2lzcy1iZWFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZXNvXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibG92ZVwiLCBcInNtb29jaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWtpc3Mtd2luay1oZWFydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmVzb1wiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxvdmVcIiwgXCJzbW9vY2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1raXNzLXdpbmstaGVhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJlc29cIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJsb3ZlXCIsIFwic21vb2NoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEta2l3aS1iaXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWtvcnZ1ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sYW5ndWFnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlhbGVjdFwiLCBcImlkaW9tXCIsIFwibG9jYWxpemVcIiwgXCJzcGVlY2hcIiwgXCJ0cmFuc2xhdGVcIiwgXCJ2ZXJuYWN1bGFyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGFwdG9wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb21wdXRlclwiLCBcImNwdVwiLCBcImRlbGxcIiwgXCJkZW1vXCIsIFwiZGV2aWNlXCIsIFwiZHVkZSB5b3UncmUgZ2V0dGluZ1wiLCBcIm1hY1wiLCBcIm1hY2Jvb2tcIiwgXCJtYWNoaW5lXCIsIFwicGNcIiwgXCJwY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxhcmF2ZWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbGFzdGZtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxhc3RmbS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGF1Z2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbGF1Z2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImxhdWdoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGF1Z2gtYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbGF1Z2gtYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiTE9MXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGF1Z2gtc3F1aW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJMT0xcIiwgXCJlbW90aWNvblwiLCBcImZhY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1sYXVnaC1zcXVpbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxhdWdoLXdpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWxhdWdoLXdpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIkxPTFwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxlYWZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVjb1wiLCBcIm5hdHVyZVwiLCBcInBsYW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbGVhbnB1YlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sZW1vblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZm9vZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWxlbW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmb29kXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbGVzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sZXNzLXRoYW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGVzcy10aGFuLWVxdWFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxldmVsLWRvd24tYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsZXZlbC1kb3duXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGV2ZWwtdXAtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsZXZlbC11cFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxpZmUtcmluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3VwcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLWxpZmUtcmluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3VwcG9ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxpZ2h0YnVsYlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaWRlYVwiLCBcImluc3BpcmF0aW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbGlnaHRidWxiXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpZGVhXCIsIFwiaW5zcGlyYXRpb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1saW5lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoYWluXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbGlua2VkaW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxpbmtlZGluLXNxdWFyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxpbmtlZGluLWluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsaW5rZWRpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLWxpbm9kZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1saW51eFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widHV4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGlyYS1zaWduXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0cnlcIiwgXCJ0cnlcIiwgXCJ0dXJraXNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbGlzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hlY2tsaXN0XCIsIFwiY29tcGxldGVkXCIsIFwiZG9uZVwiLCBcImZpbmlzaGVkXCIsIFwib2xcIiwgXCJ0b2RvXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1saXN0LWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hlY2tsaXN0XCIsIFwiY29tcGxldGVkXCIsIFwiZG9uZVwiLCBcImZpbmlzaGVkXCIsIFwib2xcIiwgXCJ0b2RvXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1saXN0LWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2hlY2tsaXN0XCIsIFwiY29tcGxldGVkXCIsIFwiZG9uZVwiLCBcImZpbmlzaGVkXCIsIFwib2xcIiwgXCJ0b2RvXCIsIFwidWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1saXN0LW9sXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGVja2xpc3RcIiwgXCJsaXN0XCIsIFwibGlzdFwiLCBcIm51bWJlcnNcIiwgXCJvbFwiLCBcInRvZG9cIiwgXCJ1bFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxpc3QtdWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImxpc3RcIiwgXCJvbFwiLCBcInRvZG9cIiwgXCJ1bFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxvY2F0aW9uLWFycm93XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRyZXNzXCIsIFwiY29vcmRpbmF0ZXNcIiwgXCJncHNcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcInBsYWNlXCIsIFwid2hlcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb2NrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZG1pblwiLCBcInByb3RlY3RcIiwgXCJzZWN1cml0eVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxvY2stb3BlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRtaW5cIiwgXCJsb2NrXCIsIFwib3BlblwiLCBcInBhc3N3b3JkXCIsIFwicHJvdGVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxvbmctYXJyb3ctYWx0LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxvbmctYXJyb3ctZG93blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxvbmctYXJyb3ctYWx0LWxlZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhY2tcIiwgXCJsb25nLWFycm93LWxlZnRcIiwgXCJwcmV2aW91c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsb25nLWFycm93LXJpZ2h0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbG9uZy1hcnJvdy1hbHQtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxvbmctYXJyb3ctdXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1sb3ctdmlzaW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLWx1Z2dhZ2UtY2FydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1seWZ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1hZ2VudG9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFnaWNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImF1dG9jb21wbGV0ZVwiLCBcImF1dG9tYXRpY1wiLCBcIndpemFyZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hZ25ldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tYWlsY2hpbXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaHVtYW5cIiwgXCJtYW5cIiwgXCJwZXJzb25cIiwgXCJwcm9maWxlXCIsIFwidXNlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1hbmRhbG9yaWFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY29vcmRpbmF0ZXNcIiwgXCJsb2NhdGlvblwiLCBcInBhcGVyXCIsIFwicGxhY2VcIiwgXCJ0cmF2ZWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1tYXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvb3JkaW5hdGVzXCIsIFwibG9jYXRpb25cIiwgXCJwYXBlclwiLCBcInBsYWNlXCIsIFwidHJhdmVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFwLW1hcmtlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRkcmVzc1wiLCBcImNvb3JkaW5hdGVzXCIsIFwiZGVzdGluYXRpb25cIiwgXCJncHNcIiwgXCJsb2NhbGl6ZVwiLCBcImxvY2F0aW9uXCIsIFwibWFwXCIsIFwicGFwZXJcIiwgXCJwaW5cIiwgXCJwbGFjZVwiLCBcInBvaW50IG9mIGludGVyZXN0XCIsIFwicG9zaXRpb25cIiwgXCJyb3V0ZVwiLCBcInRyYXZlbFwiLCBcIndoZXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFwLW1hcmtlZC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZHJlc3NcIiwgXCJjb29yZGluYXRlc1wiLCBcImRlc3RpbmF0aW9uXCIsIFwiZ3BzXCIsIFwibG9jYWxpemVcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcInBhcGVyXCIsIFwicGluXCIsIFwicGxhY2VcIiwgXCJwb2ludCBvZiBpbnRlcmVzdFwiLCBcInBvc2l0aW9uXCIsIFwicm91dGVcIiwgXCJ0cmF2ZWxcIiwgXCJ3aGVyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcC1tYXJrZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZHJlc3NcIiwgXCJjb29yZGluYXRlc1wiLCBcImdwc1wiLCBcImxvY2FsaXplXCIsIFwibG9jYXRpb25cIiwgXCJtYXBcIiwgXCJwaW5cIiwgXCJwbGFjZVwiLCBcInBvc2l0aW9uXCIsIFwidHJhdmVsXCIsIFwid2hlcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXAtbWFya2VyLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRkcmVzc1wiLCBcImNvb3JkaW5hdGVzXCIsIFwiZ3BzXCIsIFwibG9jYWxpemVcIiwgXCJsb2NhdGlvblwiLCBcIm1hcFwiLCBcInBpblwiLCBcInBsYWNlXCIsIFwicG9zaXRpb25cIiwgXCJ0cmF2ZWxcIiwgXCJ3aGVyZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcC1waW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZHJlc3NcIiwgXCJjb29yZGluYXRlc1wiLCBcImdwc1wiLCBcImxvY2FsaXplXCIsIFwibG9jYXRpb25cIiwgXCJtYXBcIiwgXCJtYXJrZXJcIiwgXCJwbGFjZVwiLCBcInBvc2l0aW9uXCIsIFwidHJhdmVsXCIsIFwid2hlcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tYXAtc2lnbnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFya2VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlZGl0XCIsIFwic2hhcnBpZVwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWFsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcnMtZG91YmxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcnMtc3Ryb2tlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1hcnMtc3Ryb2tlLWhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWFycy1zdHJva2UtdlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tYXN0b2RvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tYXhjZG5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWVkYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWVkYXBwc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tZWRpdW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWVkaXVtLW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWVka2l0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmaXJzdCBhaWRcIiwgXCJmaXJzdGFpZFwiLCBcImhlYWx0aFwiLCBcImhlbHBcIiwgXCJzdXBwb3J0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWVkcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbWVldHVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1lZ2Fwb3J0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1laFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibmV1dHJhbFwiLCBcInJhdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLW1laFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibmV1dHJhbFwiLCBcInJhdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1laC1ibGFua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibmV1dHJhbFwiLCBcInJhdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLW1laC1ibGFua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwibmV1dHJhbFwiLCBcInJhdGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1laC1yb2xsaW5nLWV5ZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcIm5ldXRyYWxcIiwgXCJyYXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1tZWgtcm9sbGluZy1leWVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJuZXV0cmFsXCIsIFwicmF0aW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWVtb3J5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJESU1NXCIsIFwiUkFNXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWVyY3VyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1widHJhbnNnZW5kZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1taWNyb2NoaXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNwdVwiLCBcInByb2Nlc3NvclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1pY3JvcGhvbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInJlY29yZFwiLCBcInNvdW5kXCIsIFwidm9pY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1taWNyb3Bob25lLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicmVjb3JkXCIsIFwic291bmRcIiwgXCJ2b2ljZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1pY3JvcGhvbmUtYWx0LXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhYmxlXCIsIFwibXV0ZVwiLCBcInJlY29yZFwiLCBcInNvdW5kXCIsIFwidm9pY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1taWNyb3Bob25lLXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhYmxlXCIsIFwibXV0ZVwiLCBcInJlY29yZFwiLCBcInNvdW5kXCIsIFwidm9pY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1taWNyb3NvZnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWludXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbGxhcHNlXCIsIFwiZGVsZXRlXCIsIFwiaGlkZVwiLCBcImhpZGVcIiwgXCJtaW5pZnlcIiwgXCJyZW1vdmVcIiwgXCJ0cmFzaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1pbnVzLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVsZXRlXCIsIFwiaGlkZVwiLCBcInJlbW92ZVwiLCBcInRyYXNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbWludXMtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2xsYXBzZVwiLCBcImRlbGV0ZVwiLCBcImhpZGVcIiwgXCJoaWRlXCIsIFwibWluaWZ5XCIsIFwicmVtb3ZlXCIsIFwidHJhc2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1taW51cy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbGxhcHNlXCIsIFwiZGVsZXRlXCIsIFwiaGlkZVwiLCBcImhpZGVcIiwgXCJtaW5pZnlcIiwgXCJyZW1vdmVcIiwgXCJ0cmFzaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW1peFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1taXhjbG91ZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1taXp1bmlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW9iaWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcHBsZVwiLCBcImNhbGxcIiwgXCJjZWxsIHBob25lXCIsIFwiY2VsbHBob25lXCIsIFwiZGV2aWNlXCIsIFwiaXBob25lXCIsIFwibnVtYmVyXCIsIFwic2NyZWVuXCIsIFwidGVsZXBob25lXCIsIFwidGV4dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vYmlsZS1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFwcGxlXCIsIFwiY2FsbFwiLCBcImNlbGwgcGhvbmVcIiwgXCJjZWxscGhvbmVcIiwgXCJkZXZpY2VcIiwgXCJpcGhvbmVcIiwgXCJudW1iZXJcIiwgXCJzY3JlZW5cIiwgXCJ0ZWxlcGhvbmVcIiwgXCJ0ZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbW9keFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1tb25lcm9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW9uZXktYmlsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnV5XCIsIFwiY2FzaFwiLCBcImNoZWNrb3V0XCIsIFwibW9uZXlcIiwgXCJwYXltZW50XCIsIFwicHJpY2VcIiwgXCJwdXJjaGFzZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vbmV5LWJpbGwtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidXlcIiwgXCJjYXNoXCIsIFwiY2hlY2tvdXRcIiwgXCJtb25leVwiLCBcInBheW1lbnRcIiwgXCJwcmljZVwiLCBcInB1cmNoYXNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbW9uZXktYmlsbC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1eVwiLCBcImNhc2hcIiwgXCJjaGVja291dFwiLCBcIm1vbmV5XCIsIFwicGF5bWVudFwiLCBcInByaWNlXCIsIFwicHVyY2hhc2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb25leS1iaWxsLXdhdmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW9uZXktYmlsbC13YXZlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1tb25leS1jaGVja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFuayBjaGVja1wiLCBcImNoZXF1ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vbmV5LWNoZWNrLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFuayBjaGVja1wiLCBcImNoZXF1ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vbnVtZW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJidWlsZGluZ1wiLCBcImhpc3RvcmljXCIsIFwibWVtb3JvYWJsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbnRyYXN0XCIsIFwiZGFya2VyXCIsIFwibmlnaHRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1tb29uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb250cmFzdFwiLCBcImRhcmtlclwiLCBcIm5pZ2h0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW9ydGFyLXBlc3RsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY3J1c2hcIiwgXCJjdWxpbmFyeVwiLCBcImdyaW5kXCIsIFwibWVkaWNhbFwiLCBcIm1peFwiLCBcInNwaWNlc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW1vdG9yY3ljbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpa2VcIiwgXCJtYWNoaW5lXCIsIFwidHJhbnNwb3J0YXRpb25cIiwgXCJ2ZWhpY2xlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbW91c2UtcG9pbnRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2VsZWN0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbXVzaWNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm5vdGVcIiwgXCJzb3VuZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW5hcHN0ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbmV1dGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW5ld3NwYXBlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJ0aWNsZVwiLCBcInByZXNzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtbmV3c3BhcGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnRpY2xlXCIsIFwicHJlc3NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1uaW1ibHJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbmludGVuZG8tc3dpdGNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW5vZGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbm9kZS1qc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ub3QtZXF1YWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtbm90ZXMtbWVkaWNhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1ucG1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtbnM4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW51dHJpdGlvbml4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLW9iamVjdC1ncm91cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtb2JqZWN0LWdyb3VwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXNpZ25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1vYmplY3QtdW5ncm91cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtb2JqZWN0LXVuZ3JvdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlc2lnblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW9kbm9rbGFzc25pa2lcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtb2Rub2tsYXNzbmlraS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtb2xkLXJlcHVibGljXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW9wZW5jYXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW9wZW5pZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1vcGVyYVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1vcHRpbi1tb25zdGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLW9zaVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1vdXRkZW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBhZ2U0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBhZ2VsaW5lc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZWNvXCIsIFwibGVhZlwiLCBcImxlYXZlc1wiLCBcIm5hdHVyZVwiLCBcInBsYW50XCIsIFwidHJlZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhaW50LWJydXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhaW50LXJvbGxlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJ1c2hcIiwgXCJwYWludGluZ1wiLCBcInRvb2xcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYWxldHRlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb2xvcnNcIiwgXCJwYWludGluZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBhbGZlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYWxsZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFwZXItcGxhbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtcGFwZXItcGxhbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFwZXJjbGlwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhdHRhY2htZW50XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFyYWNodXRlLWJveFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWlkXCIsIFwiYXNzaXN0YW5jZVwiLCBcInJlc2N1ZVwiLCBcInN1cHBsaWVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFyYWdyYXBoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhcmtpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGFzc3BvcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRvY3VtZW50XCIsIFwiaWRlbnRpZmljYXRpb25cIiwgXCJpc3N1ZWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYXN0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xpcGJvYXJkXCIsIFwiY29weVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBhdHJlb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGF1c2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIndhaXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wYXVzZS1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtcGF1c2UtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBhd1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicGV0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGF5cGFsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCIsIFwiZWRpdFwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVuLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCIsIFwiZWRpdFwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVuLWZhbmN5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXNpZ25cIiwgXCJlZGl0XCIsIFwiZm91bnRhaW4gcGVuXCIsIFwidXBkYXRlXCIsIFwid3JpdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wZW4tbmliXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXNpZ25cIiwgXCJlZGl0XCIsIFwiZm91bnRhaW4gcGVuXCIsIFwidXBkYXRlXCIsIFwid3JpdGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wZW4tc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlZGl0XCIsIFwicGVuY2lsLXNxdWFyZVwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVuY2lsLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVzaWduXCIsIFwiZWRpdFwiLCBcInBlbmNpbFwiLCBcInVwZGF0ZVwiLCBcIndyaXRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVuY2lsLXJ1bGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBlb3BsZS1jYXJyeVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibW92ZXJzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGVyY2VudFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wZXJjZW50YWdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBlcmlzY29wZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1waGFicmljYXRvclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1waG9lbml4LWZyYW1ld29ya1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1waG9lbml4LXNxdWFkcm9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBob25lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjYWxsXCIsIFwiZWFycGhvbmVcIiwgXCJudW1iZXJcIiwgXCJzdXBwb3J0XCIsIFwidGVsZXBob25lXCIsIFwidm9pY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1waG9uZS1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1waG9uZS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhbGxcIiwgXCJudW1iZXJcIiwgXCJzdXBwb3J0XCIsIFwidGVsZXBob25lXCIsIFwidm9pY2VcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1waG9uZS12b2x1bWVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInRlbGVwaG9uZVwiLCBcInZvbHVtZS1jb250cm9sLXBob25lXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGhwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpZWQtcGlwZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGllZC1waXBlci1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGllZC1waXBlci1oYXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsb3RoaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGllZC1waXBlci1wcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1waWdneS1iYW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzYXZlXCIsIFwic2F2aW5nc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBpbGxzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcnVnc1wiLCBcIm1lZGljaW5lXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcGludGVyZXN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpbnRlcmVzdC1wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBpbnRlcmVzdC1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGxhbmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFpcnBsYW5lXCIsIFwiZGVzdGluYXRpb25cIiwgXCJmbHlcIiwgXCJsb2NhdGlvblwiLCBcIm1vZGVcIiwgXCJ0cmF2ZWxcIiwgXCJ0cmlwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGxhbmUtYXJyaXZhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWlycGxhbmVcIiwgXCJhcnJpdmluZ1wiLCBcImRlc3RpbmF0aW9uXCIsIFwiZmx5XCIsIFwibGFuZFwiLCBcImxhbmRpbmdcIiwgXCJsb2NhdGlvblwiLCBcIm1vZGVcIiwgXCJ0cmF2ZWxcIiwgXCJ0cmlwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcGxhbmUtZGVwYXJ0dXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhaXJwbGFuZVwiLCBcImRlcGFydGluZ1wiLCBcImRlc3RpbmF0aW9uXCIsIFwiZmx5XCIsIFwibG9jYXRpb25cIiwgXCJtb2RlXCIsIFwidGFrZSBvZmZcIiwgXCJ0YWtpbmcgb2ZmXCIsIFwidHJhdmVsXCIsIFwidHJpcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsYXlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm11c2ljXCIsIFwicGxheWluZ1wiLCBcInNvdW5kXCIsIFwic3RhcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wbGF5LWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicGxheWluZ1wiLCBcInN0YXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtcGxheS1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBsYXlpbmdcIiwgXCJzdGFydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXBsYXlzdGF0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsdWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvbm5lY3RcIiwgXCJvbmxpbmVcIiwgXCJwb3dlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsdXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZFwiLCBcImNyZWF0ZVwiLCBcImV4cGFuZFwiLCBcIm5ld1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBsdXMtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZGRcIiwgXCJjcmVhdGVcIiwgXCJleHBhbmRcIiwgXCJuZXdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wbHVzLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRkXCIsIFwiY3JlYXRlXCIsIFwiZXhwYW5kXCIsIFwibmV3XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtcGx1cy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZFwiLCBcImNyZWF0ZVwiLCBcImV4cGFuZFwiLCBcIm5ld1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBvZGNhc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcG9vXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBvcnRyYWl0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBvdW5kLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImdicFwiLCBcImdicFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXBvd2VyLW9mZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wib25cIiwgXCJyZWJvb3RcIiwgXCJyZXN0YXJ0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcHJlc2NyaXB0aW9uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcnVnc1wiLCBcIm1lZGljYWxcIiwgXCJtZWRpY2luZVwiLCBcInJ4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcHJlc2NyaXB0aW9uLWJvdHRsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZHJ1Z3NcIiwgXCJtZWRpY2FsXCIsIFwibWVkaWNpbmVcIiwgXCJyeFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcnVnc1wiLCBcIm1lZGljYWxcIiwgXCJtZWRpY2luZVwiLCBcInJ4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcHJpbnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcHJvY2VkdXJlc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1wcm9kdWN0LWh1bnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcHJvamVjdC1kaWFncmFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXB1c2hlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1wdXp6bGUtcGllY2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkZC1vblwiLCBcImFkZG9uXCIsIFwic2VjdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXB5dGhvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1xcVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1xcmNvZGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNjYW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1xdWVzdGlvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGVscFwiLCBcImluZm9ybWF0aW9uXCIsIFwic3VwcG9ydFwiLCBcInVua25vd25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1xdWVzdGlvbi1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImhlbHBcIiwgXCJpbmZvcm1hdGlvblwiLCBcInN1cHBvcnRcIiwgXCJ1bmtub3duXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtcXVlc3Rpb24tY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJoZWxwXCIsIFwiaW5mb3JtYXRpb25cIiwgXCJzdXBwb3J0XCIsIFwidW5rbm93blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXF1aWRkaXRjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1xdWluc2NhcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcXVvcmFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcXVvdGUtbGVmdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1xdW90ZS1yaWdodFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yLXByb2plY3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmFuZG9tXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzaHVmZmxlXCIsIFwic29ydFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJhdmVscnlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVhY3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVhZG1lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlYmVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJlY2VpcHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrXCIsIFwiaW52b2ljZVwiLCBcInRhYmxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmVjeWNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZWQtcml2ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVkZGl0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlZGRpdC1hbGllblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZWRkaXQtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJlZG9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZvcndhcmRcIiwgXCJyZXBlYXRcIiwgXCJyZXBlYXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yZWRvLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZm9yd2FyZFwiLCBcInJlcGVhdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJlZ2lzdGVyZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtcmVnaXN0ZXJlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZW5kYWN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlbnJlblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yZXBseVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yZXBseS1hbGxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcmVwbHlkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJlc2VhcmNoZ2F0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yZXNvbHZpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcmV0d2VldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicmVmcmVzaFwiLCBcInJlbG9hZFwiLCBcInNoYXJlXCIsIFwic3dhcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXJldlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1yaWJib25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJhZGdlXCIsIFwiY2F1c2VcIiwgXCJsYXBlbFwiLCBcInBpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJvYWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0cmVldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJvYm90XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJvY2tldFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtcm9ja2V0Y2hhdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1yb2Nrcm1zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmxvZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXJzcy1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsb2dcIiwgXCJmZWVkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcnVibGUtc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicnViXCIsIFwicnViXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcnVsZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcnVsZXItY29tYmluZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtcnVsZXItaG9yaXpvbnRhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ydWxlci12ZXJ0aWNhbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1ydXBlZS1zaWduXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpbmRpYW5cIiwgXCJpbnJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zYWQtY3J5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJ0ZWFyXCIsIFwidGVhcnNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zYWQtY3J5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJ0ZWFyXCIsIFwidGVhcnNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zYWQtdGVhclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwidGVhclwiLCBcInRlYXJzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc2FkLXRlYXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInRlYXJcIiwgXCJ0ZWFyc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNhZmFyaVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJvd3NlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNhc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2F2ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmxvcHB5XCIsIFwiZmxvcHB5LW9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zYXZlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmbG9wcHlcIiwgXCJmbG9wcHktb1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNjaGxpeFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zY2hvb2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2NyZXdkcml2ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFkbWluXCIsIFwiY29udGFpbmVyXCIsIFwiZml4XCIsIFwicmVwYWlyXCIsIFwic2V0dGluZ3NcIiwgXCJ0b29sXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2NyaWJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNlYXJjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmlnZ2VyXCIsIFwiZW5sYXJnZVwiLCBcIm1hZ25pZnlcIiwgXCJwcmV2aWV3XCIsIFwiem9vbVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNlYXJjaC1taW51c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWFnbmlmeVwiLCBcIm1pbmlmeVwiLCBcInNtYWxsZXJcIiwgXCJ6b29tXCIsIFwiem9vbSBvdXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zZWFyY2gtcGx1c1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmlnZ2VyXCIsIFwiZW5sYXJnZVwiLCBcIm1hZ25pZnlcIiwgXCJ6b29tXCIsIFwiem9vbSBpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNlYXJjaGVuZ2luXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNlZWRsaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNlbGxjYXN0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlZXJjYXN0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2VsbHN5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNlcnZlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY3B1XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2VydmljZXN0YWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNoYXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNoYXJlLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGFyZS1hbHQtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNoYXJlLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2VuZFwiLCBcInNvY2lhbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXNoYXJlLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic2VuZFwiLCBcInNvY2lhbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNoZWtlbC1zaWduXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJpbHNcIiwgXCJpbHNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGllbGQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzaGllbGRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaGlwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJib2F0XCIsIFwic2VhXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hpcHBpbmctZmFzdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zaGlydHNpbmJ1bGtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hvZS1wcmludHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZlZXRcIiwgXCJmb290cHJpbnRzXCIsIFwic3RlcHNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaG9wcGluZy1iYWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hvcHBpbmctYmFza2V0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNob3BwaW5nLWNhcnRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1eVwiLCBcImNoZWNrb3V0XCIsIFwicGF5bWVudFwiLCBcInB1cmNoYXNlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2hvcHdhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2hvd2VyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNodXR0bGUtdmFuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtYWNoaW5lXCIsIFwicHVibGljLXRyYW5zcG9ydGF0aW9uXCIsIFwidHJhbnNwb3J0YXRpb25cIiwgXCJ2ZWhpY2xlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zaWduLWluLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJlbnRlclwiLCBcImpvaW5cIiwgXCJsb2cgaW5cIiwgXCJsb2dpblwiLCBcInNpZ24gaW5cIiwgXCJzaWduIHVwXCIsIFwic2lnbi1pblwiLCBcInNpZ25pblwiLCBcInNpZ251cFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNpZ24tbGFuZ3VhZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2lnbi1vdXQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcnJvd1wiLCBcImV4aXRcIiwgXCJsZWF2ZVwiLCBcImxvZyBvdXRcIiwgXCJsb2dvdXRcIiwgXCJzaWduLW91dFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNpZ25hbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFyc1wiLCBcImdyYXBoXCIsIFwib25saW5lXCIsIFwic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2lnbmF0dXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJKb2huIEhhbmNvY2tcIiwgXCJjdXJzaXZlXCIsIFwibmFtZVwiLCBcIndyaXRpbmdcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zaW1wbHlidWlsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zaXN0cml4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNpdGVtYXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRpcmVjdG9yeVwiLCBcImhpZXJhcmNoeVwiLCBcImlhXCIsIFwiaW5mb3JtYXRpb24gYXJjaGl0ZWN0dXJlXCIsIFwib3JnYW5pemF0aW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc2l0aFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1za3VsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYm9uZXNcIiwgXCJza2VsZXRvblwiLCBcInlvcmlja1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNreWF0bGFzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNreXBlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNsYWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhbmNob3JcIiwgXCJoYXNoXCIsIFwiaGFzaHRhZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNsYWNrLWhhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFuY2hvclwiLCBcImhhc2hcIiwgXCJoYXNodGFnXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc2xpZGVycy1oXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzZXR0aW5nc1wiLCBcInNsaWRlcnNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zbGlkZXNoYXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNtaWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcHByb3ZlXCIsIFwiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiaGFwcHlcIiwgXCJyYXRpbmdcIiwgXCJzYXRpc2ZpZWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zbWlsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXBwcm92ZVwiLCBcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCIsIFwicmF0aW5nXCIsIFwic2F0aXNmaWVkXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc21pbGUtYmVhbVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiaGFwcHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zbWlsZS1iZWFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJlbW90aWNvblwiLCBcImZhY2VcIiwgXCJoYXBweVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNtaWxlLXdpbmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImhhcHB5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc21pbGUtd2lua1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiaGFwcHlcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zbW9raW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaWdhcmV0dGVcIiwgXCJuaWNvdGluZVwiLCBcInNtb2tpbmcgc3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc21va2luZy1iYW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm5vIHNtb2tpbmdcIiwgXCJub24tc21va2luZ1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNuYXBjaGF0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNuYXBjaGF0LWdob3N0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNuYXBjaGF0LXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zbm93Zmxha2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc25vd2ZsYWtlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvbGFyLXBhbmVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbGVhblwiLCBcImVjby1mcmllbmRseVwiLCBcImVuZXJneVwiLCBcImdyZWVuXCIsIFwic3VuXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wib3JkZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zb3J0LWFscGhhLWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvcnQtYWxwaGEtYXNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydC1hbHBoYS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic29ydC1hbHBoYS1kZXNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydC1hbW91bnQtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic29ydC1hbW91bnQtYXNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydC1hbW91bnQtdXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvcnQtYW1vdW50LWRlc2NcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zb3J0LWRvd25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFycm93XCIsIFwiZGVzY2VuZGluZ1wiLCBcInNvcnQtZGVzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnQtbnVtZXJpYy1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJudW1iZXJzXCIsIFwic29ydC1udW1lcmljLWFzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNvcnQtbnVtZXJpYy11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibnVtYmVyc1wiLCBcInNvcnQtbnVtZXJpYy1kZXNjXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc29ydC11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXJyb3dcIiwgXCJhc2NlbmRpbmdcIiwgXCJzb3J0LWFzY1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNvdW5kY2xvdWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3BhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtaW5kZnVsbG5lc3NcIiwgXCJwbGFudFwiLCBcIndlbGxuZXNzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3BhY2Utc2h1dHRsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXN0cm9uYXV0XCIsIFwibWFjaGluZVwiLCBcIm5hc2FcIiwgXCJyb2NrZXRcIiwgXCJ0cmFuc3BvcnRhdGlvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNwZWFrYXBcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3Bpbm5lclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibG9hZGluZ1wiLCBcInByb2dyZXNzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3Bsb3RjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zcG90aWZ5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNwcmF5LWNhblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsb2NrXCIsIFwiYm94XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJibG9ja1wiLCBcImJveFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXNxdWFyZS1mdWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXNxdWFyZXNwYWNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0YWNrLWV4Y2hhbmdlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0YWNrLW92ZXJmbG93XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0YW1wXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0YXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjaGlldmVtZW50XCIsIFwiYXdhcmRcIiwgXCJmYXZvcml0ZVwiLCBcImltcG9ydGFudFwiLCBcIm5pZ2h0XCIsIFwicmF0aW5nXCIsIFwic2NvcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zdGFyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2hpZXZlbWVudFwiLCBcImF3YXJkXCIsIFwiZmF2b3JpdGVcIiwgXCJpbXBvcnRhbnRcIiwgXCJuaWdodFwiLCBcInJhdGluZ1wiLCBcInNjb3JlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3Rhci1oYWxmXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2hpZXZlbWVudFwiLCBcImF3YXJkXCIsIFwicmF0aW5nXCIsIFwic2NvcmVcIiwgXCJzdGFyLWhhbGYtZW1wdHlcIiwgXCJzdGFyLWhhbGYtZnVsbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXN0YXItaGFsZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNoaWV2ZW1lbnRcIiwgXCJhd2FyZFwiLCBcInJhdGluZ1wiLCBcInNjb3JlXCIsIFwic3Rhci1oYWxmLWVtcHR5XCIsIFwic3Rhci1oYWxmLWZ1bGxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdGFyLWhhbGYtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2hpZXZlbWVudFwiLCBcImF3YXJkXCIsIFwicmF0aW5nXCIsIFwic2NvcmVcIiwgXCJzdGFyLWhhbGYtZW1wdHlcIiwgXCJzdGFyLWhhbGYtZnVsbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0YXlsaW5rZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3RlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3RlYW0tc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0ZWFtLXN5bWJvbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdGVwLWJhY2t3YXJkXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiZWdpbm5pbmdcIiwgXCJmaXJzdFwiLCBcInByZXZpb3VzXCIsIFwicmV3aW5kXCIsIFwic3RhcnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdGVwLWZvcndhcmRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVuZFwiLCBcImxhc3RcIiwgXCJuZXh0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RldGhvc2NvcGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3RpY2tlci1tdWxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0aWNreS1ub3RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXN0aWNreS1ub3RlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0b3BcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsb2NrXCIsIFwiYm94XCIsIFwic3F1YXJlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RvcC1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc3RvcC1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RvcHdhdGNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJ0aW1lXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RvcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RvcmUtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0cmF2YVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdHJlYW1cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3RyZWV0LXZpZXdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1hcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0cmlrZXRocm91Z2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtc3RyaXBlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0cmlwZS1zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN0cm9vcHdhZmVsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZXNzZXJ0XCIsIFwiZm9vZFwiLCBcInN3ZWV0c1wiLCBcIndhZmZsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXN0dWRpb3ZpbmFyaVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdHVtYmxldXBvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdHVtYmxldXBvbi1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3Vic2NyaXB0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN1YndheVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibWFjaGluZVwiLCBcInJhaWx3YXlcIiwgXCJ0cmFpblwiLCBcInRyYW5zcG9ydGF0aW9uXCIsIFwidmVoaWNsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN1aXRjYXNlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWdnYWdlXCIsIFwibHVnZ2FnZVwiLCBcIm1vdmVcIiwgXCJzdWl0Y2FzZVwiLCBcInRyYXZlbFwiLCBcInRyaXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdWl0Y2FzZS1yb2xsaW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN1blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYnJpZ2h0ZW5cIiwgXCJjb250cmFzdFwiLCBcImRheVwiLCBcImxpZ2h0ZXJcIiwgXCJ3ZWF0aGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtc3VuXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJicmlnaHRlblwiLCBcImNvbnRyYXN0XCIsIFwiZGF5XCIsIFwibGlnaHRlclwiLCBcIndlYXRoZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdXBlcnBvd2Vyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zdXBlcnNjcmlwdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZXhwb25lbnRpYWxcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS1zdXBwbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3VycHJpc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcInNob2NrZWRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS1zdXJwcmlzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwic2hvY2tlZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN3YXRjaGJvb2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtc3dpbW1lclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXRobGV0ZVwiLCBcImhlYWRcIiwgXCJtYW5cIiwgXCJwZXJzb25cIiwgXCJ3YXRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN3aW1taW5nLXBvb2xcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxhZGRlclwiLCBcInJlY3JlYXRpb25cIiwgXCJ3YXRlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN5bmNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV4Y2hhbmdlXCIsIFwicmVmcmVzaFwiLCBcInJlbG9hZFwiLCBcInJvdGF0ZVwiLCBcInN3YXBcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS1zeW5jLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wicmVmcmVzaFwiLCBcInJlbG9hZFwiLCBcInJvdGF0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXN5cmluZ2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImltbXVuaXphdGlvbnNcIiwgXCJuZWVkbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YWJsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGF0YVwiLCBcImV4Y2VsXCIsIFwic3ByZWFkc2hlZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YWJsZS10ZW5uaXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFibGV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcHBsZVwiLCBcImRldmljZVwiLCBcImlwYWRcIiwgXCJraW5kbGVcIiwgXCJzY3JlZW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YWJsZXQtYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhcHBsZVwiLCBcImRldmljZVwiLCBcImlwYWRcIiwgXCJraW5kbGVcIiwgXCJzY3JlZW5cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YWJsZXRzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcnVnc1wiLCBcIm1lZGljaW5lXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFjaG9tZXRlci1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRhc2hib2FyZFwiLCBcInRhY2hvbWV0ZXJcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YWdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImxhYmVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFnc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wibGFiZWxzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGFwZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10YXNrc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG93bmxvYWRpbmdcIiwgXCJkb3dubG9hZHNcIiwgXCJsb2FkaW5nXCIsIFwicHJvZ3Jlc3NcIiwgXCJzZXR0aW5nc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRheGlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNhYlwiLCBcImNhYmJpZVwiLCBcImNhclwiLCBcImNhciBzZXJ2aWNlXCIsIFwibHlmdFwiLCBcIm1hY2hpbmVcIiwgXCJ0cmFuc3BvcnRhdGlvblwiLCBcInViZXJcIiwgXCJ2ZWhpY2xlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdGVhbXNwZWFrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRlbGVncmFtXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRlbGVncmFtLXBsYW5lXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXRlbmNlbnQtd2VpYm9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGVybWluYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNvZGVcIiwgXCJjb21tYW5kXCIsIFwiY29uc29sZVwiLCBcInByb21wdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRleHQtaGVpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRleHQtd2lkdGhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJsb2Nrc1wiLCBcImJveGVzXCIsIFwiZ3JpZFwiLCBcInNxdWFyZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aC1sYXJnZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmxvY2tzXCIsIFwiYm94ZXNcIiwgXCJncmlkXCIsIFwic3F1YXJlc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRoLWxpc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNoZWNrbGlzdFwiLCBcImNvbXBsZXRlZFwiLCBcImRvbmVcIiwgXCJmaW5pc2hlZFwiLCBcIm9sXCIsIFwidG9kb1wiLCBcInVsXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdGhlbWVjb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10aGVtZWlzbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhlcm1vbWV0ZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImZldmVyXCIsIFwidGVtcGVyYXR1cmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aGVybW9tZXRlci1lbXB0eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhlcm1vbWV0ZXItZnVsbFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhlcm1vbWV0ZXItaGFsZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhlcm1vbWV0ZXItcXVhcnRlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3RhdHVzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN0YXR1c1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRodW1icy1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkaXNhZ3JlZVwiLCBcImRpc2FwcHJvdmVcIiwgXCJkaXNsaWtlXCIsIFwiaGFuZFwiLCBcInRodW1icy1vLWRvd25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS10aHVtYnMtZG93blwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGlzYWdyZWVcIiwgXCJkaXNhcHByb3ZlXCIsIFwiZGlzbGlrZVwiLCBcImhhbmRcIiwgXCJ0aHVtYnMtby1kb3duXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGh1bWJzLXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZ3JlZVwiLCBcImFwcHJvdmVcIiwgXCJmYXZvcml0ZVwiLCBcImhhbmRcIiwgXCJsaWtlXCIsIFwib2tcIiwgXCJva2F5XCIsIFwic3VjY2Vzc1wiLCBcInRodW1icy1vLXVwXCIsIFwieWVzXCIsIFwieW91IGdvdCBpdCBkdWRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtdGh1bWJzLXVwXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhZ3JlZVwiLCBcImFwcHJvdmVcIiwgXCJmYXZvcml0ZVwiLCBcImhhbmRcIiwgXCJsaWtlXCIsIFwib2tcIiwgXCJva2F5XCIsIFwic3VjY2Vzc1wiLCBcInRodW1icy1vLXVwXCIsIFwieWVzXCIsIFwieW91IGdvdCBpdCBkdWRlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGh1bWJ0YWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb29yZGluYXRlc1wiLCBcImxvY2F0aW9uXCIsIFwibWFya2VyXCIsIFwicGluXCIsIFwidGh1bWItdGFja1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRpY2tldC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInRpY2tldFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRpbWVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG9zZVwiLCBcImNyb3NzXCIsIFwiZXJyb3JcIiwgXCJleGl0XCIsIFwiaW5jb3JyZWN0XCIsIFwibm90aWNlXCIsIFwibm90aWZpY2F0aW9uXCIsIFwibm90aWZ5XCIsIFwicHJvYmxlbVwiLCBcIndyb25nXCIsIFwieFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRpbWVzLWNpcmNsZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2xvc2VcIiwgXCJjcm9zc1wiLCBcImV4aXRcIiwgXCJpbmNvcnJlY3RcIiwgXCJub3RpY2VcIiwgXCJub3RpZmljYXRpb25cIiwgXCJub3RpZnlcIiwgXCJwcm9ibGVtXCIsIFwid3JvbmdcIiwgXCJ4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtdGltZXMtY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG9zZVwiLCBcImNyb3NzXCIsIFwiZXhpdFwiLCBcImluY29ycmVjdFwiLCBcIm5vdGljZVwiLCBcIm5vdGlmaWNhdGlvblwiLCBcIm5vdGlmeVwiLCBcInByb2JsZW1cIiwgXCJ3cm9uZ1wiLCBcInhcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aW50XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkcm9wXCIsIFwiZHJvcGxldFwiLCBcInJhaW5kcm9wXCIsIFwid2F0ZXJkcm9wXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdGludC1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10aXJlZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZW1vdGljb25cIiwgXCJmYWNlXCIsIFwiZ3J1bXB5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtdGlyZWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImVtb3RpY29uXCIsIFwiZmFjZVwiLCBcImdydW1weVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRvZ2dsZS1vZmZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInN3aXRjaFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRvZ2dsZS1vblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wic3dpdGNoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdG9vbGJveFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRtaW5cIiwgXCJjb250YWluZXJcIiwgXCJmaXhcIiwgXCJyZXBhaXJcIiwgXCJzZXR0aW5nc1wiLCBcInRvb2xzXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdG9vdGhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJpY3VzcGlkXCIsIFwiZGVudGFsXCIsIFwibW9sYXJcIiwgXCJtb3V0aFwiLCBcInRlZXRoXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHJhZGUtZmVkZXJhdGlvblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10cmFkZW1hcmtcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJhaW5cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImJ1bGxldFwiLCBcImxvY29tb3RpdmVcIiwgXCJyYWlsd2F5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJhbnNnZW5kZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImludGVyc2V4XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJhbnNnZW5kZXItYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZWxldGVcIiwgXCJnYXJiYWdlXCIsIFwiaGlkZVwiLCBcInJlbW92ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRyYXNoLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZGVsZXRlXCIsIFwiZ2FyYmFnZVwiLCBcImhpZGVcIiwgXCJyZW1vdmVcIiwgXCJ0cmFzaFwiLCBcInRyYXNoLW9cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS10cmFzaC1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImRlbGV0ZVwiLCBcImdhcmJhZ2VcIiwgXCJoaWRlXCIsIFwicmVtb3ZlXCIsIFwidHJhc2hcIiwgXCJ0cmFzaC1vXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJlZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10cmVsbG9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHJpcGFkdmlzb3JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJvcGh5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2hpZXZlbWVudFwiLCBcImF3YXJkXCIsIFwiY3VwXCIsIFwiZ2FtZVwiLCBcIndpbm5lclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXRydWNrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJkZWxpdmVyeVwiLCBcInNoaXBwaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHJ1Y2stbG9hZGluZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS10cnVjay1tb3ZpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHNoaXJ0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjbG90aFwiLCBcImNsb3RoaW5nXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdHR5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXR1bWJsclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10dW1ibHItc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXR2XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjb21wdXRlclwiLCBcImRpc3BsYXlcIiwgXCJtb25pdG9yXCIsIFwidGVsZXZpc2lvblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXR3aXRjaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10d2l0dGVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzb2NpYWwgbmV0d29ya1wiLCBcInR3ZWV0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdHdpdHRlci1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInNvY2lhbCBuZXR3b3JrXCIsIFwidHdlZXRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS10eXBvM1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS11YmVyXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXVpa2l0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVtYnJlbGxhXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwcm90ZWN0aW9uXCIsIFwicmFpblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVtYnJlbGxhLWJlYWNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJwcm90ZWN0aW9uXCIsIFwicmVjcmVhdGlvblwiLCBcInN1blwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVuZGVybGluZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11bmRvXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwiY29udHJvbCB6XCIsIFwiZXhjaGFuZ2VcIiwgXCJvb3BzXCIsIFwicmV0dXJuXCIsIFwicm90YXRlXCIsIFwic3dhcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVuZG8tYWx0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJiYWNrXCIsIFwiY29udHJvbCB6XCIsIFwiZXhjaGFuZ2VcIiwgXCJvb3BzXCIsIFwicmV0dXJuXCIsIFwic3dhcFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXVuaXJlZ2lzdHJ5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVuaXZlcnNhbC1hY2Nlc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdW5pdmVyc2l0eVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYmFua1wiLCBcImluc3RpdHV0aW9uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdW5saW5rXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjaGFpblwiLCBcImNoYWluLWJyb2tlblwiLCBcInJlbW92ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVubG9ja1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRtaW5cIiwgXCJsb2NrXCIsIFwicGFzc3dvcmRcIiwgXCJwcm90ZWN0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdW5sb2NrLWFsdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWRtaW5cIiwgXCJsb2NrXCIsIFwicGFzc3dvcmRcIiwgXCJwcm90ZWN0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdW50YXBwZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11cGxvYWRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImV4cG9ydFwiLCBcInB1Ymxpc2hcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS11c2JcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjb3VudFwiLCBcImF2YXRhclwiLCBcImhlYWRcIiwgXCJtYW5cIiwgXCJwZXJzb25cIiwgXCJwcm9maWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtdXNlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYWNjb3VudFwiLCBcImF2YXRhclwiLCBcImhlYWRcIiwgXCJtYW5cIiwgXCJwZXJzb25cIiwgXCJwcm9maWxlXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY291bnRcIiwgXCJhdmF0YXJcIiwgXCJoZWFkXCIsIFwibWFuXCIsIFwicGVyc29uXCIsIFwicHJvZmlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItYWx0LXNsYXNoXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItYXN0cm9uYXV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhdmF0YXJcIiwgXCJjbG90aGluZ1wiLCBcImNvc21vbmF1dFwiLCBcInNwYWNlXCIsIFwic3VpdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItY2hlY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1jaXJjbGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFjY291bnRcIiwgXCJhdmF0YXJcIiwgXCJoZWFkXCIsIFwibWFuXCIsIFwicGVyc29uXCIsIFwicHJvZmlsZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXVzZXItY2lyY2xlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhY2NvdW50XCIsIFwiYXZhdGFyXCIsIFwiaGVhZFwiLCBcIm1hblwiLCBcInBlcnNvblwiLCBcInByb2ZpbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWNsb2NrXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItY29nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItZWRpdFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWZyaWVuZHNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1ncmFkdWF0ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FwXCIsIFwiY2xvdGhpbmdcIiwgXCJjb21tZW5jZW1lbnRcIiwgXCJnb3duXCIsIFwiZ3JhZHVhdGlvblwiLCBcInN0dWRlbnRcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLWxvY2tcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1tZFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZG9jdG9yXCIsIFwiam9iXCIsIFwibWVkaWNhbFwiLCBcIm51cnNlXCIsIFwib2NjdXBhdGlvblwiLCBcInByb2ZpbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLW1pbnVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItbmluamFcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFzc2Fzc2luXCIsIFwiYXZhdGFyXCIsIFwiZGFuZ2Vyb3VzXCIsIFwic25lYWt5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1wbHVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzaWduIHVwXCIsIFwic2lnbnVwXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1zZWNyZXRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImNsb3RoaW5nXCIsIFwiY29hdFwiLCBcImhhdFwiLCBcImluY29nbml0b1wiLCBcInByaXZhY3lcIiwgXCJzcHlcIiwgXCJ3aGlzcGVyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1zaGllbGRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlci1zbGFzaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLXRhZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11c2VyLXRpZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXZhdGFyXCIsIFwiYnVzaW5lc3NcIiwgXCJjbG90aGluZ1wiLCBcImZvcm1hbFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXItdGltZXNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdXNlcnNcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInBlb3BsZVwiLCBcInBlcnNvbnNcIiwgXCJwcm9maWxlc1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXVzZXJzLWNvZ1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS11c3N1bm5haFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS11dGVuc2lsLXNwb29uXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJzcG9vblwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXV0ZW5zaWxzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJjdXRsZXJ5XCIsIFwiZGlubmVyXCIsIFwiZWF0XCIsIFwiZm9vZFwiLCBcImtuaWZlXCIsIFwicmVzdGF1cmFudFwiLCBcInNwb29uXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmFhZGluXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZlY3Rvci1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFuY2hvcnNcIiwgXCJsaW5lc1wiLCBcIm9iamVjdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZlbnVzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJmZW1hbGVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12ZW51cy1kb3VibGVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdmVudXMtbWFyc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12aWFjb2luXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZpYWRlb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12aWFkZW8tc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZpYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInRlc3QgdHViZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZpYWxzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJsYWIgcmVzdWx0c1wiLCBcInRlc3QgdHViZXNcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12aWJlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS12aWRlb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiY2FtZXJhXCIsIFwiZmlsbVwiLCBcIm1vdmllXCIsIFwicmVjb3JkXCIsIFwidmlkZW8tY2FtZXJhXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdmlkZW8tc2xhc2hcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmltZW9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmltZW8tc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZpbWVvLXZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcInZpbWVvXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtdmluZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12a1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS12bnZcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdm9sbGV5YmFsbC1iYWxsXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZvbHVtZS1kb3duXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJhdWRpb1wiLCBcImxvd2VyXCIsIFwibXVzaWNcIiwgXCJxdWlldGVyXCIsIFwic291bmRcIiwgXCJzcGVha2VyXCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtdm9sdW1lLW9mZlwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXVkaW9cIiwgXCJtdXNpY1wiLCBcIm11dGVcIiwgXCJzb3VuZFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXZvbHVtZS11cFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiYXVkaW9cIiwgXCJoaWdoZXJcIiwgXCJsb3VkZXJcIiwgXCJtdXNpY1wiLCBcInNvdW5kXCIsIFwic3BlYWtlclwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXZ1ZWpzXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdhbGtpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2FsbGV0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdhcmVob3VzZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13ZWVibHlcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd2VpYm9cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2VpZ2h0XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJtZWFzdXJlbWVudFwiLCBcInNjYWxlXCIsIFwid2VpZ2h0XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2VpZ2h0LWhhbmdpbmdcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImFudmlsXCIsIFwiaGVhdnlcIiwgXCJtZWFzdXJlbWVudFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdlaXhpblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13aGF0c2FwcFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13aGF0c2FwcC1zcXVhcmVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2hlZWxjaGFpclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiaGFuZGljYXBcIiwgXCJwZXJzb25cIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13aG1jc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13aWZpXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdpa2lwZWRpYS13XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdpbmRvdy1jbG9zZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhciBmYS13aW5kb3ctY2xvc2VcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2luZG93LW1heGltaXplXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXdpbmRvdy1tYXhpbWl6ZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS13aW5kb3ctbWluaW1pemVcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXIgZmEtd2luZG93LW1pbmltaXplXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdpbmRvdy1yZXN0b3JlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFyIGZhLXdpbmRvdy1yZXN0b3JlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdpbmRvd3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcIm1pY3Jvc29mdFwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdpbmUtZ2xhc3NcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd2luZS1nbGFzcy1hbHRcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd2l4XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdvbGYtcGFjay1iYXR0YWxpb25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYXMgZmEtd29uLXNpZ25cIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtcImtyd1wiLCBcImtyd1wiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdvcmRwcmVzc1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13b3JkcHJlc3Mtc2ltcGxlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXdwYmVnaW5uZXJcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEtd3BleHBsb3JlclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS13cGZvcm1zXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXdyZW5jaFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZml4XCIsIFwic2V0dGluZ3NcIiwgXCJzcGFubmVyXCIsIFwidG9vbFwiLCBcInVwZGF0ZVwiXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFzIGZhLXgtcmF5XCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXCJyYWRpb2xvZ2ljYWwgaW1hZ2VzXCIsIFwicmFkaW9sb2d5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteGJveFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS14aW5nXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXhpbmctc3F1YXJlXCIsXHJcbiAgICAgICAgICAgIHNlYXJjaFRlcm1zOiBbXVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgdGl0bGU6IFwiZmFiIGZhLXktY29tYmluYXRvclwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS15YWhvb1wiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS15YW5kZXhcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteWFuZGV4LWludGVybmF0aW9uYWxcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteWVscFwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhcyBmYS15ZW4tc2lnblwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wianB5XCIsIFwianB5XCJdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteW9hc3RcIixcclxuICAgICAgICAgICAgc2VhcmNoVGVybXM6IFtdXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICB0aXRsZTogXCJmYWIgZmEteW91dHViZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW1wiZmlsbVwiLCBcInZpZGVvXCIsIFwieW91dHViZS1wbGF5XCIsIFwieW91dHViZS1zcXVhcmVcIl1cclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcImZhYiBmYS15b3V0dWJlLXNxdWFyZVwiLFxyXG4gICAgICAgICAgICBzZWFyY2hUZXJtczogW11cclxuICAgICAgICB9XVxyXG4gICAgfSk7XHJcbn0pOyIsIi8vIGEgd3JhcHBlciBhcm91bmQgaHR0cHM6Ly9naXRodWIuY29tL2ZhcmJlbG91cy9mb250YXdlc29tZS1pY29ucGlja2VyXHJcbi8vIEl0IG1ha2VzIGVhc2llciB0byB1c2UgYSBzaW5nbGUgcGlja2VyIGluc3RhbmNlIHdpdGggc2V2ZXJhbCBpbnB1dCBmaWVsZHMuXHJcbi8vIEhvdyB0byB1c2UgaXQ6IENhbGwgc2hvdygpIGZyb20gb3V0c2lkZSAsIHBhc3NpbmcgaXQgdGhlIGlkJ3Mgb2YgdGhlIGlucHV0IGZpZWxkcyB5b3Ugd2FudCB0aGUgaWNvbiBjbGFzc2VzIGFwcGxpZWQgdG8uXHJcblxyXG52YXIgaWNvblBpY2tlclZ1ZSA9IG5ldyBWdWUoe1xyXG4gICAgZWw6ICcjaWNvblBpY2tlclZ1ZScsXHJcbiAgICBkYXRhOiB7XHJcbiAgICAgICAgdGFyZ2V0SW5wdXRGaWVsZDogJycsXHJcbiAgICAgICAgdGFyZ2V0SWNvblRhZzogJydcclxuICAgIH0sXHJcbiAgICBtb3VudGVkOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG5cclxuICAgICAgICAkKCcuaWNwLWF1dG8nKS5pY29ucGlja2VyKHtcclxuICAgICAgICAgICAgdGl0bGU6IGZhbHNlLFxyXG4gICAgICAgICAgICB0ZW1wbGF0ZXM6IHtcclxuICAgICAgICAgICAgICAgIHNlYXJjaDogJzxpbnB1dCB0eXBlPVwic2VhcmNoXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgaWNvbnBpY2tlci1zZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlwiIC8+JyAvLyBqdXN0IHRvIGxlYXZlIGVtcHR5IHRoZSBwbGFjZWhvbGRlciBiZWNhdXNlIGl0IGlzIG5vdCBsb2NhbGl6ZWRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKCcjaW5saW5lLXBpY2tlcicpLm9uKCdpY29ucGlja2VyU2VsZWN0ZWQnLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSBlLmljb25waWNrZXJJbnN0YW5jZS5vcHRpb25zLmZ1bGxDbGFzc0Zvcm1hdHRlcihlLmljb25waWNrZXJWYWx1ZSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAoc2VsZi50YXJnZXRJbnB1dEZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgICAkKCcjJyArIHNlbGYudGFyZ2V0SW5wdXRGaWVsZCkudmFsKHNlbGVjdGVkKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHNlbGYudGFyZ2V0SWNvblRhZykge1xyXG4gICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byByZXBsYWNlIHRoZSBmdWxsIHRhZyB3aXRoIHRoZSBuZXcgY2xhc3MuXHJcbiAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCBzaW1wbHkgYXBwbHkgdGhlIG5ldyBzZWxlY3RlZCBjbGFzcyB0byB0aGUgaSBlbGVtZW50LlxyXG4gICAgICAgICAgICAgICAgLy8gQnV0IHRoZXJlIGlzIGFuIGlzc3VlOiB3aGVuIHRoZSBwcmV2aW91cyBjbGFzcyBpcyBub3QgYSB2YWxpZCBmYSBpY29uIHRoZSBpY29uIGRvZXMgbm90IHJlZnJlc2guXHJcbiAgICAgICAgICAgICAgICAkKCcjJyArIHNlbGYudGFyZ2V0SWNvblRhZykucmVwbGFjZVdpdGgoJzxpIGlkPVwiJyArIHNlbGYudGFyZ2V0SWNvblRhZyArICdcIiBjbGFzcz1cIicrIHNlbGVjdGVkICsgJ1wiPjwvaT4nKSAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJCgnI2ljb25QaWNrZXJNb2RhbCcpLm1vZGFsKCdoaWRlJyk7ICAgICAgICAgICAgXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBzaG93OiBmdW5jdGlvbiAodGFyZ2V0SW5wdXRGaWVsZCwgdGFyZ2V0SWNvblRhZykge1xyXG4gICAgICAgICAgICB0aGlzLnRhcmdldElucHV0RmllbGQgPSB0YXJnZXRJbnB1dEZpZWxkO1xyXG4gICAgICAgICAgICB0aGlzLnRhcmdldEljb25UYWcgPSB0YXJnZXRJY29uVGFnO1xyXG5cclxuICAgICAgICAgICAgJCgnI2ljb25QaWNrZXJNb2RhbCcpLm1vZGFsKCdzaG93Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59KSJdfQ== diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.min.js b/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.min.js index 5c1d60e526d..2ca432ac379 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.min.js +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/wwwroot/Scripts/admin-menu-icon-picker.min.js @@ -1 +1 @@ -!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){e.ui=e.ui||{};e.ui.version="1.12.1";!function(){var a,t=Math.max,s=Math.abs,r=/left|center|right/,i=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,f=/^\w+/,l=/%$/,o=e.fn.pos;function n(e,a,t){return[parseFloat(e[0])*(l.test(e[0])?a/100:1),parseFloat(e[1])*(l.test(e[1])?t/100:1)]}function h(a,t){return parseInt(e.css(a,t),10)||0}e.pos={scrollbarWidth:function(){if(void 0!==a)return a;var t,s,r=e("
"),i=r.children()[0];return e("body").append(r),t=i.offsetWidth,r.css("overflow","scroll"),t===(s=i.offsetWidth)&&(s=r[0].clientWidth),r.remove(),a=t-s},getScrollInfo:function(a){var t=a.isWindow||a.isDocument?"":a.element.css("overflow-x"),s=a.isWindow||a.isDocument?"":a.element.css("overflow-y"),r="scroll"===t||"auto"===t&&a.width0?"right":"center",vertical:n<0?"top":l>0?"bottom":"middle"};mt(s(l),s(n))?h.important="horizontal":h.important="vertical",a.using.call(this,e,h)}),c.offset(e.extend(C,{using:i}))})},e.ui.pos={_trigger:function(e,a,t,s){a.elem&&a.elem.trigger({type:t,position:e,positionData:a,triggered:s})},fit:{left:function(a,s){e.ui.pos._trigger(a,s,"posCollide","fitLeft");var r,i=s.within,c=i.isWindow?i.scrollLeft:i.offset.left,f=i.width,l=a.left-s.collisionPosition.marginLeft,o=c-l,n=l+s.collisionWidth-f-c;s.collisionWidth>f?o>0&&n<=0?(r=a.left+o+s.collisionWidth-f-c,a.left+=o-r):a.left=n>0&&o<=0?c:o>n?c+f-s.collisionWidth:c:o>0?a.left+=o:n>0?a.left-=n:a.left=t(a.left-l,a.left),e.ui.pos._trigger(a,s,"posCollided","fitLeft")},top:function(a,s){e.ui.pos._trigger(a,s,"posCollide","fitTop");var r,i=s.within,c=i.isWindow?i.scrollTop:i.offset.top,f=s.within.height,l=a.top-s.collisionPosition.marginTop,o=c-l,n=l+s.collisionHeight-f-c;s.collisionHeight>f?o>0&&n<=0?(r=a.top+o+s.collisionHeight-f-c,a.top+=o-r):a.top=n>0&&o<=0?c:o>n?c+f-s.collisionHeight:c:o>0?a.top+=o:n>0?a.top-=n:a.top=t(a.top-l,a.top),e.ui.pos._trigger(a,s,"posCollided","fitTop")}},flip:{left:function(a,t){e.ui.pos._trigger(a,t,"posCollide","flipLeft");var r,i,c=t.within,f=c.offset.left+c.scrollLeft,l=c.width,o=c.isWindow?c.scrollLeft:c.offset.left,n=a.left-t.collisionPosition.marginLeft,h=n-o,m=n+t.collisionWidth-l-o,p="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,d="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,T=-2*t.offset[0];h<0?((r=a.left+p+d+T+t.collisionWidth-l-f)<0||r0&&((i=a.left-t.collisionPosition.marginLeft+p+d+T-o)>0||s(i)0&&((r=a.top-t.collisionPosition.marginTop+p+d+T-o)>0||s(r)10&&r<11,a.innerHTML="",t.removeChild(a)}()}();e.ui.position}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):window.jQuery&&!window.jQuery.fn.iconpicker&&e(window.jQuery)}(function(e){"use strict";var a=function(e){return!1===e||""===e||null==e},t=function(a){return e(a).length>0},s=function(e){return"string"==typeof e||e instanceof String},r=function(a,t){return-1!==e.inArray(a,t)},i=function(a,s){this._id=i._idCounter++,this.element=e(a).addClass("iconpicker-element"),this._trigger("iconpickerCreate",{iconpickerValue:this.iconpickerValue}),this.options=e.extend({},i.defaultOptions,this.element.data(),s),this.options.templates=e.extend({},i.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!t(this.options.container)&&e(this.options.container),!1===this.container&&(this.element.is(".dropdown-toggle")?this.container=e("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),!1===this.input&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated",{iconpickerValue:this.iconpickerValue})};i._idCounter=0,i.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(e){return e},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'
',footer:'',buttons:' ',search:'',iconpicker:'
',iconpickerItem:''}},i.batch=function(a,t){var s=Array.prototype.slice.call(arguments,2);return e(a).each(function(){var a=e(this).data("iconpicker");a&&a[t].apply(a,s)})},i.prototype={constructor:i,options:{},_id:0,_trigger:function(a,t){t=t||{},this.element.trigger(e.extend({type:a,iconpickerInstance:this},t))},_createPopover:function(){this.popover=e(this.options.templates.popover);var t=this.popover.find(".popover-title");if(this.options.title&&t.append(e('
'+this.options.title+"
")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?t.append(this.options.templates.search):this.options.title||t.remove(),this.options.showFooter&&!a(this.options.templates.footer)){var s=e(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&s.append(e(this.options.templates.search)),a(this.options.templates.buttons)||s.append(e(this.options.templates.buttons)),this.popover.append(s)}return!0===this.options.animation&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var a=this;this.iconpicker=e(this.options.templates.iconpicker);var t=function(t){var s=e(this);s.is("i")&&(s=s.parent()),a._trigger("iconpickerSelect",{iconpickerItem:s,iconpickerValue:a.iconpickerValue}),!1===a.options.mustAccept?(a.update(s.data("iconpickerValue")),a._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:a.iconpickerValue})):a.update(s.data("iconpickerValue"),!0),a.options.hideOnSelect&&!1===a.options.mustAccept&&a.hide()};for(var s in this.options.icons)if("string"==typeof this.options.icons[s].title){var r=e(this.options.templates.iconpickerItem);if(r.find("i").addClass(this.options.fullClassFormatter(this.options.icons[s].title)),r.data("iconpickerValue",this.options.icons[s].title).on("click.iconpicker",t),this.iconpicker.find(".iconpicker-items").append(r.attr("title","."+this.options.icons[s].title)),this.options.icons[s].searchTerms.length>0){for(var i="",c=0;c0?e.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(e){return!!this.hasInput()&&(!1!==e?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(a){s(a)||(a="");var t=""===a;a=e.trim(a);for(var r=!1,i=0;i'},setSourceValue:function(e){return!1!==(e=this.setValue(e))&&""!==e&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:e})),e},getSourceValue:function(e){var a=e=e||this.options.defaultValue;return void 0!==(a=this.hasInput()?this.input.val():this.element.data("iconpickerValue"))&&""!==a&&null!==a&&!1!==a||(a=e),a},hasInput:function(){return!1!==this.input},isInputSearch:function(){return this.hasInput()&&!0===this.options.inputSearch},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return!1!==this.options.templates.search&&!this.isInputSearch()},hasComponent:function(){return!1!==this.component},hasContainer:function(){return!1!==this.container},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(t){if(a(t))return this.iconpicker.find(".iconpicker-item").show(),e(!1);var s=[];return this.iconpicker.find(".iconpicker-item").each(function(){var a=e(this),r=a.attr("title").toLowerCase();r=r+" "+(a.attr("data-search-terms")?a.attr("data-search-terms").toLowerCase():"");var i=!1;try{i=new RegExp("(^|\\W)"+t,"g")}catch(e){i=!1}!1!==i&&r.match(i)?(s.push(a),a.show()):a.hide()}),s},show:function(){if(this.popover.hasClass("in"))return!1;e.iconpicker.batch(e(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow",{iconpickerValue:this.iconpickerValue}),this.updatePlacement(),this.popover.addClass("in"),setTimeout(e.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},hide:function(){if(!this.popover.hasClass("in"))return!1;this._trigger("iconpickerHide",{iconpickerValue:this.iconpickerValue}),this.popover.removeClass("in"),setTimeout(e.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(e,a){return e=e||this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate",{iconpickerValue:this.iconpickerValue}),!0===a?e=this.setValue(e):(e=this.setSourceValue(e),this._updateFormGroupStatus(!1!==e)),!1!==e&&this._updateComponents(),this._trigger("iconpickerUpdated",{iconpickerValue:this.iconpickerValue}),e},destroy:function(){this._trigger("iconpickerDestroy",{iconpickerValue:this.iconpickerValue}),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),e(this.popover).remove(),this._trigger("iconpickerDestroyed",{iconpickerValue:this.iconpickerValue})},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&!0===this.input.prop("disabled")},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},e.iconpicker=i,e.fn.iconpicker=function(a){return this.each(function(){var t=e(this);t.data("iconpicker")||t.data("iconpicker",new i(this,"object"==typeof a?a:{}))})},i.defaultOptions=e.extend(i.defaultOptions,{icons:[{title:"fab fa-500px",searchTerms:[]},{title:"fab fa-accessible-icon",searchTerms:["accessibility","handicap","person","wheelchair","wheelchair-alt"]},{title:"fab fa-accusoft",searchTerms:[]},{title:"fas fa-address-book",searchTerms:[]},{title:"far fa-address-book",searchTerms:[]},{title:"fas fa-address-card",searchTerms:[]},{title:"far fa-address-card",searchTerms:[]},{title:"fas fa-adjust",searchTerms:["contrast"]},{title:"fab fa-adn",searchTerms:[]},{title:"fab fa-adversal",searchTerms:[]},{title:"fab fa-affiliatetheme",searchTerms:[]},{title:"fab fa-algolia",searchTerms:[]},{title:"fas fa-align-center",searchTerms:["middle","text"]},{title:"fas fa-align-justify",searchTerms:["text"]},{title:"fas fa-align-left",searchTerms:["text"]},{title:"fas fa-align-right",searchTerms:["text"]},{title:"fas fa-allergies",searchTerms:["freckles","hand","intolerances","pox","spots"]},{title:"fab fa-amazon",searchTerms:[]},{title:"fab fa-amazon-pay",searchTerms:[]},{title:"fas fa-ambulance",searchTerms:["help","machine","support","vehicle"]},{title:"fas fa-american-sign-language-interpreting",searchTerms:[]},{title:"fab fa-amilia",searchTerms:[]},{title:"fas fa-anchor",searchTerms:["link"]},{title:"fab fa-android",searchTerms:["robot"]},{title:"fab fa-angellist",searchTerms:[]},{title:"fas fa-angle-double-down",searchTerms:["arrows"]},{title:"fas fa-angle-double-left",searchTerms:["arrows","back","laquo","previous","quote"]},{title:"fas fa-angle-double-right",searchTerms:["arrows","forward","next","quote","raquo"]},{title:"fas fa-angle-double-up",searchTerms:["arrows"]},{title:"fas fa-angle-down",searchTerms:["arrow"]},{title:"fas fa-angle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-angle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-angle-up",searchTerms:["arrow"]},{title:"fas fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"far fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"fab fa-angrycreative",searchTerms:[]},{title:"fab fa-angular",searchTerms:[]},{title:"fab fa-app-store",searchTerms:[]},{title:"fab fa-app-store-ios",searchTerms:[]},{title:"fab fa-apper",searchTerms:[]},{title:"fab fa-apple",searchTerms:["food","fruit","osx"]},{title:"fab fa-apple-pay",searchTerms:[]},{title:"fas fa-archive",searchTerms:["box","package","storage"]},{title:"fas fa-archway",searchTerms:["arc","monument","road","street"]},{title:"fas fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"far fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"fas fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"far fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"fas fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"far fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"fas fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"far fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"fas fa-arrow-circle-down",searchTerms:["download"]},{title:"fas fa-arrow-circle-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-circle-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-circle-up",searchTerms:[]},{title:"fas fa-arrow-down",searchTerms:["download"]},{title:"fas fa-arrow-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-up",searchTerms:[]},{title:"fas fa-arrows-alt",searchTerms:["arrow","arrows","bigger","enlarge","expand","fullscreen","move","position","reorder","resize"]},{title:"fas fa-arrows-alt-h",searchTerms:["arrows-h","resize"]},{title:"fas fa-arrows-alt-v",searchTerms:["arrows-v","resize"]},{title:"fas fa-assistive-listening-systems",searchTerms:[]},{title:"fas fa-asterisk",searchTerms:["details"]},{title:"fab fa-asymmetrik",searchTerms:[]},{title:"fas fa-at",searchTerms:["e-mail","email"]},{title:"fas fa-atlas",searchTerms:["book","directions","geography","map","wayfinding"]},{title:"fab fa-audible",searchTerms:[]},{title:"fas fa-audio-description",searchTerms:[]},{title:"fab fa-autoprefixer",searchTerms:[]},{title:"fab fa-avianex",searchTerms:[]},{title:"fab fa-aviato",searchTerms:[]},{title:"fas fa-award",searchTerms:["honor","praise","prize","recognition","ribbon"]},{title:"fab fa-aws",searchTerms:[]},{title:"fas fa-backspace",searchTerms:["command","delete","keyboard","undo"]},{title:"fas fa-backward",searchTerms:["previous","rewind"]},{title:"fas fa-balance-scale",searchTerms:["balanced","justice","legal","measure","weight"]},{title:"fas fa-ban",searchTerms:["abort","ban","block","cancel","delete","hide","prohibit","remove","stop","trash"]},{title:"fas fa-band-aid",searchTerms:["bandage","boo boo","ouch"]},{title:"fab fa-bandcamp",searchTerms:[]},{title:"fas fa-barcode",searchTerms:["scan"]},{title:"fas fa-bars",searchTerms:["checklist","drag","hamburger","list","menu","nav","navigation","ol","reorder","settings","todo","ul"]},{title:"fas fa-baseball-ball",searchTerms:[]},{title:"fas fa-basketball-ball",searchTerms:[]},{title:"fas fa-bath",searchTerms:[]},{title:"fas fa-battery-empty",searchTerms:["power","status"]},{title:"fas fa-battery-full",searchTerms:["power","status"]},{title:"fas fa-battery-half",searchTerms:["power","status"]},{title:"fas fa-battery-quarter",searchTerms:["power","status"]},{title:"fas fa-battery-three-quarters",searchTerms:["power","status"]},{title:"fas fa-bed",searchTerms:["lodging","sleep","travel"]},{title:"fas fa-beer",searchTerms:["alcohol","bar","drink","liquor","mug","stein"]},{title:"fab fa-behance",searchTerms:[]},{title:"fab fa-behance-square",searchTerms:[]},{title:"fas fa-bell",searchTerms:["alert","notification","reminder"]},{title:"far fa-bell",searchTerms:["alert","notification","reminder"]},{title:"fas fa-bell-slash",searchTerms:[]},{title:"far fa-bell-slash",searchTerms:[]},{title:"fas fa-bezier-curve",searchTerms:["curves","illustrator","lines","path","vector"]},{title:"fas fa-bicycle",searchTerms:["bike","gears","transportation","vehicle"]},{title:"fab fa-bimobject",searchTerms:[]},{title:"fas fa-binoculars",searchTerms:[]},{title:"fas fa-birthday-cake",searchTerms:[]},{title:"fab fa-bitbucket",searchTerms:["bitbucket-square","git"]},{title:"fab fa-bitcoin",searchTerms:[]},{title:"fab fa-bity",searchTerms:[]},{title:"fab fa-black-tie",searchTerms:[]},{title:"fab fa-blackberry",searchTerms:[]},{title:"fas fa-blender",searchTerms:[]},{title:"fas fa-blind",searchTerms:[]},{title:"fab fa-blogger",searchTerms:[]},{title:"fab fa-blogger-b",searchTerms:[]},{title:"fab fa-bluetooth",searchTerms:[]},{title:"fab fa-bluetooth-b",searchTerms:[]},{title:"fas fa-bold",searchTerms:[]},{title:"fas fa-bolt",searchTerms:["electricity","lightning","weather","zap"]},{title:"fas fa-bomb",searchTerms:[]},{title:"fas fa-bong",searchTerms:["aparatus","cannabis","marijuana","pipe","smoke","smoking"]},{title:"fas fa-book",searchTerms:["documentation","read"]},{title:"fas fa-book-open",searchTerms:["flyer","notebook","open book","pamphlet","reading"]},{title:"fas fa-bookmark",searchTerms:["save"]},{title:"far fa-bookmark",searchTerms:["save"]},{title:"fas fa-bowling-ball",searchTerms:[]},{title:"fas fa-box",searchTerms:["package"]},{title:"fas fa-box-open",searchTerms:[]},{title:"fas fa-boxes",searchTerms:[]},{title:"fas fa-braille",searchTerms:[]},{title:"fas fa-briefcase",searchTerms:["bag","business","luggage","office","work"]},{title:"fas fa-briefcase-medical",searchTerms:["health briefcase"]},{title:"fas fa-broadcast-tower",searchTerms:["airwaves","radio","waves"]},{title:"fas fa-broom",searchTerms:[]},{title:"fas fa-brush",searchTerms:["bristles","color","handle","painting"]},{title:"fab fa-btc",searchTerms:[]},{title:"fas fa-bug",searchTerms:["insect","report"]},{title:"fas fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"far fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"fas fa-bullhorn",searchTerms:["announcement","broadcast","louder","megaphone","share"]},{title:"fas fa-bullseye",searchTerms:["target"]},{title:"fas fa-burn",searchTerms:["energy"]},{title:"fab fa-buromobelexperte",searchTerms:[]},{title:"fas fa-bus",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fas fa-bus-alt",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fab fa-buysellads",searchTerms:[]},{title:"fas fa-calculator",searchTerms:[]},{title:"fas fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"far fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"fas fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"far fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"fas fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"far fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"fas fa-calendar-minus",searchTerms:[]},{title:"far fa-calendar-minus",searchTerms:[]},{title:"fas fa-calendar-plus",searchTerms:[]},{title:"far fa-calendar-plus",searchTerms:[]},{title:"fas fa-calendar-times",searchTerms:[]},{title:"far fa-calendar-times",searchTerms:[]},{title:"fas fa-camera",searchTerms:["photo","picture","record"]},{title:"fas fa-camera-retro",searchTerms:["photo","picture","record"]},{title:"fas fa-cannabis",searchTerms:["bud","chronic","drugs","endica","endo","ganja","marijuana","mary jane","pot","reefer","sativa","spliff","weed","whacky-tabacky"]},{title:"fas fa-capsules",searchTerms:["drugs","medicine"]},{title:"fas fa-car",searchTerms:["machine","transportation","vehicle"]},{title:"fas fa-caret-down",searchTerms:["arrow","dropdown","menu","more","triangle down"]},{title:"fas fa-caret-left",searchTerms:["arrow","back","previous","triangle left"]},{title:"fas fa-caret-right",searchTerms:["arrow","forward","next","triangle right"]},{title:"fas fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"far fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"fas fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"far fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"fas fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"far fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"fas fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"far fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"fas fa-caret-up",searchTerms:["arrow","triangle up"]},{title:"fas fa-cart-arrow-down",searchTerms:["shopping"]},{title:"fas fa-cart-plus",searchTerms:["add","shopping"]},{title:"fab fa-cc-amazon-pay",searchTerms:[]},{title:"fab fa-cc-amex",searchTerms:["amex"]},{title:"fab fa-cc-apple-pay",searchTerms:[]},{title:"fab fa-cc-diners-club",searchTerms:[]},{title:"fab fa-cc-discover",searchTerms:[]},{title:"fab fa-cc-jcb",searchTerms:[]},{title:"fab fa-cc-mastercard",searchTerms:[]},{title:"fab fa-cc-paypal",searchTerms:[]},{title:"fab fa-cc-stripe",searchTerms:[]},{title:"fab fa-cc-visa",searchTerms:[]},{title:"fab fa-centercode",searchTerms:[]},{title:"fas fa-certificate",searchTerms:["badge","star"]},{title:"fas fa-chalkboard",searchTerms:["blackboard","learning","school","teaching","whiteboard","writing"]},{title:"fas fa-chalkboard-teacher",searchTerms:["blackboard","instructor","learning","professor","school","whiteboard","writing"]},{title:"fas fa-chart-area",searchTerms:["analytics","area-chart","graph"]},{title:"fas fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"far fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"fas fa-chart-line",searchTerms:["activity","analytics","dashboard","graph","line-chart"]},{title:"fas fa-chart-pie",searchTerms:["analytics","graph","pie-chart"]},{title:"fas fa-check",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo","yes"]},{title:"fas fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-check-double",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo"]},{title:"fas fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-chess",searchTerms:[]},{title:"fas fa-chess-bishop",searchTerms:[]},{title:"fas fa-chess-board",searchTerms:[]},{title:"fas fa-chess-king",searchTerms:[]},{title:"fas fa-chess-knight",searchTerms:[]},{title:"fas fa-chess-pawn",searchTerms:[]},{title:"fas fa-chess-queen",searchTerms:[]},{title:"fas fa-chess-rook",searchTerms:[]},{title:"fas fa-chevron-circle-down",searchTerms:["arrow","dropdown","menu","more"]},{title:"fas fa-chevron-circle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-chevron-circle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-chevron-circle-up",searchTerms:["arrow"]},{title:"fas fa-chevron-down",searchTerms:[]},{title:"fas fa-chevron-left",searchTerms:["back","bracket","previous"]},{title:"fas fa-chevron-right",searchTerms:["bracket","forward","next"]},{title:"fas fa-chevron-up",searchTerms:[]},{title:"fas fa-child",searchTerms:[]},{title:"fab fa-chrome",searchTerms:["browser"]},{title:"fas fa-church",searchTerms:["building","community","religion"]},{title:"fas fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"far fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"fas fa-circle-notch",searchTerms:["circle-o-notch"]},{title:"fas fa-clipboard",searchTerms:["paste"]},{title:"far fa-clipboard",searchTerms:["paste"]},{title:"fas fa-clipboard-check",searchTerms:["accept","agree","confirm","done","ok","select","success","todo","yes"]},{title:"fas fa-clipboard-list",searchTerms:["checklist","completed","done","finished","intinerary","ol","schedule","todo","ul"]},{title:"fas fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"far fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"fas fa-clone",searchTerms:["copy","duplicate"]},{title:"far fa-clone",searchTerms:["copy","duplicate"]},{title:"fas fa-closed-captioning",searchTerms:["cc"]},{title:"far fa-closed-captioning",searchTerms:["cc"]},{title:"fas fa-cloud",searchTerms:["save"]},{title:"fas fa-cloud-download-alt",searchTerms:["cloud-download"]},{title:"fas fa-cloud-upload-alt",searchTerms:["cloud-upload"]},{title:"fab fa-cloudscale",searchTerms:[]},{title:"fab fa-cloudsmith",searchTerms:[]},{title:"fab fa-cloudversify",searchTerms:[]},{title:"fas fa-cocktail",searchTerms:["alcohol","drink"]},{title:"fas fa-code",searchTerms:["brackets","html"]},{title:"fas fa-code-branch",searchTerms:["branch","code-fork","fork","git","github","rebase","svn","vcs","version"]},{title:"fab fa-codepen",searchTerms:[]},{title:"fab fa-codiepie",searchTerms:[]},{title:"fas fa-coffee",searchTerms:["breakfast","cafe","drink","morning","mug","tea"]},{title:"fas fa-cog",searchTerms:["settings"]},{title:"fas fa-cogs",searchTerms:["gears","settings"]},{title:"fas fa-coins",searchTerms:[]},{title:"fas fa-columns",searchTerms:["dashboard","panes","split"]},{title:"fas fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-alt",searchTerms:["bubble","chat","commenting","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment-alt",searchTerms:["bubble","chat","commenting","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-dots",searchTerms:[]},{title:"far fa-comment-dots",searchTerms:[]},{title:"fas fa-comment-slash",searchTerms:[]},{title:"fas fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-compact-disc",searchTerms:["bluray","cd","disc","media"]},{title:"fas fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"far fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"fas fa-compress",searchTerms:["collapse","combine","contract","merge","smaller"]},{title:"fas fa-concierge-bell",searchTerms:["attention","hotel","service","support"]},{title:"fab fa-connectdevelop",searchTerms:[]},{title:"fab fa-contao",searchTerms:[]},{title:"fas fa-cookie",searchTerms:["baked good","chips","food","snack","sweet","treat"]},{title:"fas fa-cookie-bite",searchTerms:["baked good","bitten","chips","eating","food","snack","sweet","treat"]},{title:"fas fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"far fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"fas fa-copyright",searchTerms:[]},{title:"far fa-copyright",searchTerms:[]},{title:"fas fa-couch",searchTerms:[]},{title:"fab fa-cpanel",searchTerms:[]},{title:"fab fa-creative-commons",searchTerms:[]},{title:"fab fa-creative-commons-by",searchTerms:[]},{title:"fab fa-creative-commons-nc",searchTerms:[]},{title:"fab fa-creative-commons-nc-eu",searchTerms:[]},{title:"fab fa-creative-commons-nc-jp",searchTerms:[]},{title:"fab fa-creative-commons-nd",searchTerms:[]},{title:"fab fa-creative-commons-pd",searchTerms:[]},{title:"fab fa-creative-commons-pd-alt",searchTerms:[]},{title:"fab fa-creative-commons-remix",searchTerms:[]},{title:"fab fa-creative-commons-sa",searchTerms:[]},{title:"fab fa-creative-commons-sampling",searchTerms:[]},{title:"fab fa-creative-commons-sampling-plus",searchTerms:[]},{title:"fab fa-creative-commons-share",searchTerms:[]},{title:"fas fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"far fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"fas fa-crop",searchTerms:["design"]},{title:"fas fa-crop-alt",searchTerms:[]},{title:"fas fa-crosshairs",searchTerms:["gpd","picker","position"]},{title:"fas fa-crow",searchTerms:["bird","bullfrog","toad"]},{title:"fas fa-crown",searchTerms:[]},{title:"fab fa-css3",searchTerms:["code"]},{title:"fab fa-css3-alt",searchTerms:[]},{title:"fas fa-cube",searchTerms:["package"]},{title:"fas fa-cubes",searchTerms:["packages"]},{title:"fas fa-cut",searchTerms:["scissors","scissors"]},{title:"fab fa-cuttlefish",searchTerms:[]},{title:"fab fa-d-and-d",searchTerms:[]},{title:"fab fa-dashcube",searchTerms:[]},{title:"fas fa-database",searchTerms:[]},{title:"fas fa-deaf",searchTerms:[]},{title:"fab fa-delicious",searchTerms:[]},{title:"fab fa-deploydog",searchTerms:[]},{title:"fab fa-deskpro",searchTerms:[]},{title:"fas fa-desktop",searchTerms:["computer","cpu","demo","desktop","device","machine","monitor","pc","screen"]},{title:"fab fa-deviantart",searchTerms:[]},{title:"fas fa-diagnoses",searchTerms:[]},{title:"fas fa-dice",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-five",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-four",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-one",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-six",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-three",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-two",searchTerms:["chance","gambling","game","roll"]},{title:"fab fa-digg",searchTerms:[]},{title:"fab fa-digital-ocean",searchTerms:[]},{title:"fas fa-digital-tachograph",searchTerms:[]},{title:"fab fa-discord",searchTerms:[]},{title:"fab fa-discourse",searchTerms:[]},{title:"fas fa-divide",searchTerms:[]},{title:"fas fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"far fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"fas fa-dna",searchTerms:["double helix","helix"]},{title:"fab fa-dochub",searchTerms:[]},{title:"fab fa-docker",searchTerms:[]},{title:"fas fa-dollar-sign",searchTerms:["$","dollar-sign","money","price","usd"]},{title:"fas fa-dolly",searchTerms:[]},{title:"fas fa-dolly-flatbed",searchTerms:[]},{title:"fas fa-donate",searchTerms:["generosity","give"]},{title:"fas fa-door-closed",searchTerms:[]},{title:"fas fa-door-open",searchTerms:[]},{title:"fas fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"far fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"fas fa-dove",searchTerms:[]},{title:"fas fa-download",searchTerms:["import"]},{title:"fab fa-draft2digital",searchTerms:[]},{title:"fas fa-drafting-compass",searchTerms:["mechanical drawing","plot","plotting"]},{title:"fab fa-dribbble",searchTerms:[]},{title:"fab fa-dribbble-square",searchTerms:[]},{title:"fab fa-dropbox",searchTerms:[]},{title:"fas fa-drum",searchTerms:["instrument","music","percussion","snare","sound"]},{title:"fas fa-drum-steelpan",searchTerms:["calypso","instrument","music","percussion","reggae","snare","sound","steel","tropical"]},{title:"fab fa-drupal",searchTerms:[]},{title:"fas fa-dumbbell",searchTerms:["exercise","gym","strength","weight","weight-lifting"]},{title:"fab fa-dyalog",searchTerms:[]},{title:"fab fa-earlybirds",searchTerms:[]},{title:"fab fa-ebay",searchTerms:[]},{title:"fab fa-edge",searchTerms:["browser","ie"]},{title:"fas fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"far fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"fas fa-eject",searchTerms:[]},{title:"fab fa-elementor",searchTerms:[]},{title:"fas fa-ellipsis-h",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fas fa-ellipsis-v",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fab fa-ember",searchTerms:[]},{title:"fab fa-empire",searchTerms:[]},{title:"fas fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-square",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fab fa-envira",searchTerms:["leaf"]},{title:"fas fa-equals",searchTerms:[]},{title:"fas fa-eraser",searchTerms:["delete","remove"]},{title:"fab fa-erlang",searchTerms:[]},{title:"fab fa-ethereum",searchTerms:[]},{title:"fab fa-etsy",searchTerms:[]},{title:"fas fa-euro-sign",searchTerms:["eur","eur"]},{title:"fas fa-exchange-alt",searchTerms:["arrow","arrows","exchange","reciprocate","return","swap","transfer"]},{title:"fas fa-exclamation",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-circle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-triangle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-expand",searchTerms:["bigger","enlarge","resize"]},{title:"fas fa-expand-arrows-alt",searchTerms:["arrows-alt","bigger","enlarge","move","resize"]},{title:"fab fa-expeditedssl",searchTerms:[]},{title:"fas fa-external-link-alt",searchTerms:["external-link","new","open"]},{title:"fas fa-external-link-square-alt",searchTerms:["external-link-square","new","open"]},{title:"fas fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"far fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"fas fa-eye-dropper",searchTerms:["eyedropper"]},{title:"fas fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"far fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"fab fa-facebook",searchTerms:["facebook-official","social network"]},{title:"fab fa-facebook-f",searchTerms:["facebook"]},{title:"fab fa-facebook-messenger",searchTerms:[]},{title:"fab fa-facebook-square",searchTerms:["social network"]},{title:"fas fa-fast-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-fast-forward",searchTerms:["end","last","next"]},{title:"fas fa-fax",searchTerms:[]},{title:"fas fa-feather",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-feather-alt",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-female",searchTerms:["human","person","profile","user","woman"]},{title:"fas fa-fighter-jet",searchTerms:["airplane","fast","fly","goose","maverick","plane","quick","top gun","transportation","travel"]},{title:"fas fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"far fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"fas fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"far fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"fas fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"far fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"fas fa-file-audio",searchTerms:[]},{title:"far fa-file-audio",searchTerms:[]},{title:"fas fa-file-code",searchTerms:[]},{title:"far fa-file-code",searchTerms:[]},{title:"fas fa-file-contract",searchTerms:["agreement","binding","document","legal","signature"]},{title:"fas fa-file-download",searchTerms:[]},{title:"fas fa-file-excel",searchTerms:[]},{title:"far fa-file-excel",searchTerms:[]},{title:"fas fa-file-export",searchTerms:[]},{title:"fas fa-file-image",searchTerms:[]},{title:"far fa-file-image",searchTerms:[]},{title:"fas fa-file-import",searchTerms:[]},{title:"fas fa-file-invoice",searchTerms:["bill","document","receipt"]},{title:"fas fa-file-invoice-dollar",searchTerms:["$","bill","document","dollar-sign","money","receipt","usd"]},{title:"fas fa-file-medical",searchTerms:[]},{title:"fas fa-file-medical-alt",searchTerms:[]},{title:"fas fa-file-pdf",searchTerms:[]},{title:"far fa-file-pdf",searchTerms:[]},{title:"fas fa-file-powerpoint",searchTerms:[]},{title:"far fa-file-powerpoint",searchTerms:[]},{title:"fas fa-file-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-file-signature",searchTerms:["John Hancock","contract","document","name"]},{title:"fas fa-file-upload",searchTerms:[]},{title:"fas fa-file-video",searchTerms:[]},{title:"far fa-file-video",searchTerms:[]},{title:"fas fa-file-word",searchTerms:[]},{title:"far fa-file-word",searchTerms:[]},{title:"fas fa-fill",searchTerms:["bucket","color","paint","paint bucket"]},{title:"fas fa-fill-drip",searchTerms:["bucket","color","drop","paint","paint bucket","spill"]},{title:"fas fa-film",searchTerms:["movie"]},{title:"fas fa-filter",searchTerms:["funnel","options"]},{title:"fas fa-fingerprint",searchTerms:["human","id","identification","lock","smudge","touch","unique","unlock"]},{title:"fas fa-fire",searchTerms:["flame","hot","popular"]},{title:"fas fa-fire-extinguisher",searchTerms:[]},{title:"fab fa-firefox",searchTerms:["browser"]},{title:"fas fa-first-aid",searchTerms:[]},{title:"fab fa-first-order",searchTerms:[]},{title:"fab fa-first-order-alt",searchTerms:[]},{title:"fab fa-firstdraft",searchTerms:[]},{title:"fas fa-fish",searchTerms:[]},{title:"fas fa-flag",searchTerms:["notice","notification","notify","report"]},{title:"far fa-flag",searchTerms:["notice","notification","notify","report"]},{title:"fas fa-flag-checkered",searchTerms:["notice","notification","notify","report"]},{title:"fas fa-flask",searchTerms:["beaker","experimental","labs","science"]},{title:"fab fa-flickr",searchTerms:[]},{title:"fab fa-flipboard",searchTerms:[]},{title:"fas fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"far fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"fab fa-fly",searchTerms:[]},{title:"fas fa-folder",searchTerms:[]},{title:"far fa-folder",searchTerms:[]},{title:"fas fa-folder-open",searchTerms:[]},{title:"far fa-folder-open",searchTerms:[]},{title:"fas fa-font",searchTerms:["text"]},{title:"fab fa-font-awesome",searchTerms:["meanpath"]},{title:"fab fa-font-awesome-alt",searchTerms:[]},{title:"fab fa-font-awesome-flag",searchTerms:[]},{title:"far fa-font-awesome-logo-full",searchTerms:[]},{title:"fas fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-fonticons",searchTerms:[]},{title:"fab fa-fonticons-fi",searchTerms:[]},{title:"fas fa-football-ball",searchTerms:[]},{title:"fab fa-fort-awesome",searchTerms:["castle"]},{title:"fab fa-fort-awesome-alt",searchTerms:["castle"]},{title:"fab fa-forumbee",searchTerms:[]},{title:"fas fa-forward",searchTerms:["forward","next"]},{title:"fab fa-foursquare",searchTerms:[]},{title:"fab fa-free-code-camp",searchTerms:[]},{title:"fab fa-freebsd",searchTerms:[]},{title:"fas fa-frog",searchTerms:["bullfrog","kermit","kiss","prince","toad","wart"]},{title:"fas fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fas fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fab fa-fulcrum",searchTerms:[]},{title:"fas fa-futbol",searchTerms:["ball","football","soccer"]},{title:"far fa-futbol",searchTerms:["ball","football","soccer"]},{title:"fab fa-galactic-republic",searchTerms:[]},{title:"fab fa-galactic-senate",searchTerms:[]},{title:"fas fa-gamepad",searchTerms:["controller"]},{title:"fas fa-gas-pump",searchTerms:[]},{title:"fas fa-gavel",searchTerms:["hammer","judge","lawyer","opinion"]},{title:"fas fa-gem",searchTerms:["diamond"]},{title:"far fa-gem",searchTerms:["diamond"]},{title:"fas fa-genderless",searchTerms:[]},{title:"fab fa-get-pocket",searchTerms:[]},{title:"fab fa-gg",searchTerms:[]},{title:"fab fa-gg-circle",searchTerms:[]},{title:"fas fa-gift",searchTerms:["generosity","giving","party","present","wrapped"]},{title:"fab fa-git",searchTerms:[]},{title:"fab fa-git-square",searchTerms:[]},{title:"fab fa-github",searchTerms:["octocat"]},{title:"fab fa-github-alt",searchTerms:["octocat"]},{title:"fab fa-github-square",searchTerms:["octocat"]},{title:"fab fa-gitkraken",searchTerms:[]},{title:"fab fa-gitlab",searchTerms:["Axosoft"]},{title:"fab fa-gitter",searchTerms:[]},{title:"fas fa-glass-martini",searchTerms:["alcohol","bar","drink","glass","liquor","martini"]},{title:"fas fa-glass-martini-alt",searchTerms:[]},{title:"fas fa-glasses",searchTerms:["foureyes","hipster","nerd","reading","sight","spectacles"]},{title:"fab fa-glide",searchTerms:[]},{title:"fab fa-glide-g",searchTerms:[]},{title:"fas fa-globe",searchTerms:["all","coordinates","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-africa",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-americas",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-asia",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fab fa-gofore",searchTerms:[]},{title:"fas fa-golf-ball",searchTerms:[]},{title:"fab fa-goodreads",searchTerms:[]},{title:"fab fa-goodreads-g",searchTerms:[]},{title:"fab fa-google",searchTerms:[]},{title:"fab fa-google-drive",searchTerms:[]},{title:"fab fa-google-play",searchTerms:[]},{title:"fab fa-google-plus",searchTerms:["google-plus-circle","google-plus-official"]},{title:"fab fa-google-plus-g",searchTerms:["google-plus","social network"]},{title:"fab fa-google-plus-square",searchTerms:["social network"]},{title:"fab fa-google-wallet",searchTerms:[]},{title:"fas fa-graduation-cap",searchTerms:["learning","school","student"]},{title:"fab fa-gratipay",searchTerms:["favorite","heart","like","love"]},{title:"fab fa-grav",searchTerms:[]},{title:"fas fa-greater-than",searchTerms:[]},{title:"fas fa-greater-than-equal",searchTerms:[]},{title:"fas fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"far fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"fas fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"far fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"fas fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"far fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"fas fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"far fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"fas fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"far fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"fas fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"far fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"fas fa-grip-horizontal",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fas fa-grip-vertical",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fab fa-gripfire",searchTerms:[]},{title:"fab fa-grunt",searchTerms:[]},{title:"fab fa-gulp",searchTerms:[]},{title:"fas fa-h-square",searchTerms:["hospital","hotel"]},{title:"fab fa-hacker-news",searchTerms:[]},{title:"fab fa-hacker-news-square",searchTerms:[]},{title:"fas fa-hand-holding",searchTerms:[]},{title:"fas fa-hand-holding-heart",searchTerms:[]},{title:"fas fa-hand-holding-usd",searchTerms:["$","dollar sign","donation","giving","money","price"]},{title:"fas fa-hand-lizard",searchTerms:[]},{title:"far fa-hand-lizard",searchTerms:[]},{title:"fas fa-hand-paper",searchTerms:["stop"]},{title:"far fa-hand-paper",searchTerms:["stop"]},{title:"fas fa-hand-peace",searchTerms:[]},{title:"far fa-hand-peace",searchTerms:[]},{title:"fas fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"far fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"fas fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"far fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"fas fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"far fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"fas fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"far fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"fas fa-hand-pointer",searchTerms:["select"]},{title:"far fa-hand-pointer",searchTerms:["select"]},{title:"fas fa-hand-rock",searchTerms:[]},{title:"far fa-hand-rock",searchTerms:[]},{title:"fas fa-hand-scissors",searchTerms:[]},{title:"far fa-hand-scissors",searchTerms:[]},{title:"fas fa-hand-spock",searchTerms:[]},{title:"far fa-hand-spock",searchTerms:[]},{title:"fas fa-hands",searchTerms:[]},{title:"fas fa-hands-helping",searchTerms:["aid","assistance","partnership","volunteering"]},{title:"fas fa-handshake",searchTerms:["greeting","partnership"]},{title:"far fa-handshake",searchTerms:["greeting","partnership"]},{title:"fas fa-hashtag",searchTerms:[]},{title:"fas fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"far fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"fas fa-heading",searchTerms:["header","header"]},{title:"fas fa-headphones",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headphones-alt",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headset",searchTerms:["audio","gamer","gaming","listen","live chat","microphone","shot caller","sound","support","telemarketer"]},{title:"fas fa-heart",searchTerms:["favorite","like","love"]},{title:"far fa-heart",searchTerms:["favorite","like","love"]},{title:"fas fa-heartbeat",searchTerms:["ekg","lifeline","vital signs"]},{title:"fas fa-helicopter",searchTerms:["airwolf","apache","chopper","flight","fly"]},{title:"fas fa-highlighter",searchTerms:["edit","marker","sharpie","update","write"]},{title:"fab fa-hips",searchTerms:[]},{title:"fab fa-hire-a-helper",searchTerms:[]},{title:"fas fa-history",searchTerms:[]},{title:"fas fa-hockey-puck",searchTerms:[]},{title:"fas fa-home",searchTerms:["house","main"]},{title:"fab fa-hooli",searchTerms:[]},{title:"fab fa-hornbill",searchTerms:[]},{title:"fas fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"far fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-alt",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-symbol",searchTerms:[]},{title:"fas fa-hot-tub",searchTerms:[]},{title:"fas fa-hotel",searchTerms:["building","lodging"]},{title:"fab fa-hotjar",searchTerms:[]},{title:"fas fa-hourglass",searchTerms:[]},{title:"far fa-hourglass",searchTerms:[]},{title:"fas fa-hourglass-end",searchTerms:[]},{title:"fas fa-hourglass-half",searchTerms:[]},{title:"fas fa-hourglass-start",searchTerms:[]},{title:"fab fa-houzz",searchTerms:[]},{title:"fab fa-html5",searchTerms:[]},{title:"fab fa-hubspot",searchTerms:[]},{title:"fas fa-i-cursor",searchTerms:[]},{title:"fas fa-id-badge",searchTerms:[]},{title:"far fa-id-badge",searchTerms:[]},{title:"fas fa-id-card",searchTerms:["document","identification","issued"]},{title:"far fa-id-card",searchTerms:["document","identification","issued"]},{title:"fas fa-id-card-alt",searchTerms:["demographics"]},{title:"fas fa-image",searchTerms:["album","photo","picture","picture"]},{title:"far fa-image",searchTerms:["album","photo","picture","picture"]},{title:"fas fa-images",searchTerms:["album","photo","picture"]},{title:"far fa-images",searchTerms:["album","photo","picture"]},{title:"fab fa-imdb",searchTerms:[]},{title:"fas fa-inbox",searchTerms:[]},{title:"fas fa-indent",searchTerms:[]},{title:"fas fa-industry",searchTerms:["factory","manufacturing"]},{title:"fas fa-infinity",searchTerms:[]},{title:"fas fa-info",searchTerms:["details","help","information","more"]},{title:"fas fa-info-circle",searchTerms:["details","help","information","more"]},{title:"fab fa-instagram",searchTerms:[]},{title:"fab fa-internet-explorer",searchTerms:["browser","ie"]},{title:"fab fa-ioxhost",searchTerms:[]},{title:"fas fa-italic",searchTerms:["italics"]},{title:"fab fa-itunes",searchTerms:[]},{title:"fab fa-itunes-note",searchTerms:[]},{title:"fab fa-java",searchTerms:[]},{title:"fab fa-jedi-order",searchTerms:[]},{title:"fab fa-jenkins",searchTerms:[]},{title:"fab fa-joget",searchTerms:[]},{title:"fas fa-joint",searchTerms:["blunt","cannabis","doobie","drugs","marijuana","roach","smoke","smoking","spliff"]},{title:"fab fa-joomla",searchTerms:[]},{title:"fab fa-js",searchTerms:[]},{title:"fab fa-js-square",searchTerms:[]},{title:"fab fa-jsfiddle",searchTerms:[]},{title:"fas fa-key",searchTerms:["password","unlock"]},{title:"fab fa-keybase",searchTerms:[]},{title:"fas fa-keyboard",searchTerms:["input","type"]},{title:"far fa-keyboard",searchTerms:["input","type"]},{title:"fab fa-keycdn",searchTerms:[]},{title:"fab fa-kickstarter",searchTerms:[]},{title:"fab fa-kickstarter-k",searchTerms:[]},{title:"fas fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiwi-bird",searchTerms:[]},{title:"fab fa-korvue",searchTerms:[]},{title:"fas fa-language",searchTerms:["dialect","idiom","localize","speech","translate","vernacular"]},{title:"fas fa-laptop",searchTerms:["computer","cpu","dell","demo","device","dude you're getting","mac","macbook","machine","pc","pc"]},{title:"fab fa-laravel",searchTerms:[]},{title:"fab fa-lastfm",searchTerms:[]},{title:"fab fa-lastfm-square",searchTerms:[]},{title:"fas fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"far fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"fas fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-leaf",searchTerms:["eco","nature","plant"]},{title:"fab fa-leanpub",searchTerms:[]},{title:"fas fa-lemon",searchTerms:["food"]},{title:"far fa-lemon",searchTerms:["food"]},{title:"fab fa-less",searchTerms:[]},{title:"fas fa-less-than",searchTerms:[]},{title:"fas fa-less-than-equal",searchTerms:[]},{title:"fas fa-level-down-alt",searchTerms:["level-down"]},{title:"fas fa-level-up-alt",searchTerms:["level-up"]},{title:"fas fa-life-ring",searchTerms:["support"]},{title:"far fa-life-ring",searchTerms:["support"]},{title:"fas fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"far fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"fab fa-line",searchTerms:[]},{title:"fas fa-link",searchTerms:["chain"]},{title:"fab fa-linkedin",searchTerms:["linkedin-square"]},{title:"fab fa-linkedin-in",searchTerms:["linkedin"]},{title:"fab fa-linode",searchTerms:[]},{title:"fab fa-linux",searchTerms:["tux"]},{title:"fas fa-lira-sign",searchTerms:["try","try","turkish"]},{title:"fas fa-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"far fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-ol",searchTerms:["checklist","list","list","numbers","ol","todo","ul"]},{title:"fas fa-list-ul",searchTerms:["checklist","list","ol","todo","ul"]},{title:"fas fa-location-arrow",searchTerms:["address","coordinates","gps","location","map","place","where"]},{title:"fas fa-lock",searchTerms:["admin","protect","security"]},{title:"fas fa-lock-open",searchTerms:["admin","lock","open","password","protect"]},{title:"fas fa-long-arrow-alt-down",searchTerms:["long-arrow-down"]},{title:"fas fa-long-arrow-alt-left",searchTerms:["back","long-arrow-left","previous"]},{title:"fas fa-long-arrow-alt-right",searchTerms:["long-arrow-right"]},{title:"fas fa-long-arrow-alt-up",searchTerms:["long-arrow-up"]},{title:"fas fa-low-vision",searchTerms:[]},{title:"fas fa-luggage-cart",searchTerms:[]},{title:"fab fa-lyft",searchTerms:[]},{title:"fab fa-magento",searchTerms:[]},{title:"fas fa-magic",searchTerms:["autocomplete","automatic","wizard"]},{title:"fas fa-magnet",searchTerms:[]},{title:"fab fa-mailchimp",searchTerms:[]},{title:"fas fa-male",searchTerms:["human","man","person","profile","user"]},{title:"fab fa-mandalorian",searchTerms:[]},{title:"fas fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"far fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"fas fa-map-marked",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marked-alt",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marker",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-marker-alt",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-pin",searchTerms:["address","coordinates","gps","localize","location","map","marker","place","position","travel","where"]},{title:"fas fa-map-signs",searchTerms:[]},{title:"fas fa-marker",searchTerms:["edit","sharpie","update","write"]},{title:"fas fa-mars",searchTerms:["male"]},{title:"fas fa-mars-double",searchTerms:[]},{title:"fas fa-mars-stroke",searchTerms:[]},{title:"fas fa-mars-stroke-h",searchTerms:[]},{title:"fas fa-mars-stroke-v",searchTerms:[]},{title:"fab fa-mastodon",searchTerms:[]},{title:"fab fa-maxcdn",searchTerms:[]},{title:"fas fa-medal",searchTerms:[]},{title:"fab fa-medapps",searchTerms:[]},{title:"fab fa-medium",searchTerms:[]},{title:"fab fa-medium-m",searchTerms:[]},{title:"fas fa-medkit",searchTerms:["first aid","firstaid","health","help","support"]},{title:"fab fa-medrt",searchTerms:[]},{title:"fab fa-meetup",searchTerms:[]},{title:"fab fa-megaport",searchTerms:[]},{title:"fas fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-memory",searchTerms:["DIMM","RAM"]},{title:"fas fa-mercury",searchTerms:["transgender"]},{title:"fas fa-microchip",searchTerms:["cpu","processor"]},{title:"fas fa-microphone",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fas fa-microphone-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fab fa-microsoft",searchTerms:[]},{title:"fas fa-minus",searchTerms:["collapse","delete","hide","hide","minify","remove","trash"]},{title:"fas fa-minus-circle",searchTerms:["delete","hide","remove","trash"]},{title:"fas fa-minus-square",searchTerms:["collapse","delete","hide","hide","minify","remove","trash"]},{title:"far fa-minus-square",searchTerms:["collapse","delete","hide","hide","minify","remove","trash"]},{title:"fab fa-mix",searchTerms:[]},{title:"fab fa-mixcloud",searchTerms:[]},{title:"fab fa-mizuni",searchTerms:[]},{title:"fas fa-mobile",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fas fa-mobile-alt",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fab fa-modx",searchTerms:[]},{title:"fab fa-monero",searchTerms:[]},{title:"fas fa-money-bill",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"far fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-wave",searchTerms:[]},{title:"fas fa-money-bill-wave-alt",searchTerms:[]},{title:"fas fa-money-check",searchTerms:["bank check","cheque"]},{title:"fas fa-money-check-alt",searchTerms:["bank check","cheque"]},{title:"fas fa-monument",searchTerms:["building","historic","memoroable"]},{title:"fas fa-moon",searchTerms:["contrast","darker","night"]},{title:"far fa-moon",searchTerms:["contrast","darker","night"]},{title:"fas fa-mortar-pestle",searchTerms:["crush","culinary","grind","medical","mix","spices"]},{title:"fas fa-motorcycle",searchTerms:["bike","machine","transportation","vehicle"]},{title:"fas fa-mouse-pointer",searchTerms:["select"]},{title:"fas fa-music",searchTerms:["note","sound"]},{title:"fab fa-napster",searchTerms:[]},{title:"fas fa-neuter",searchTerms:[]},{title:"fas fa-newspaper",searchTerms:["article","press"]},{title:"far fa-newspaper",searchTerms:["article","press"]},{title:"fab fa-nimblr",searchTerms:[]},{title:"fab fa-nintendo-switch",searchTerms:[]},{title:"fab fa-node",searchTerms:[]},{title:"fab fa-node-js",searchTerms:[]},{title:"fas fa-not-equal",searchTerms:[]},{title:"fas fa-notes-medical",searchTerms:[]},{title:"fab fa-npm",searchTerms:[]},{title:"fab fa-ns8",searchTerms:[]},{title:"fab fa-nutritionix",searchTerms:[]},{title:"fas fa-object-group",searchTerms:["design"]},{title:"far fa-object-group",searchTerms:["design"]},{title:"fas fa-object-ungroup",searchTerms:["design"]},{title:"far fa-object-ungroup",searchTerms:["design"]},{title:"fab fa-odnoklassniki",searchTerms:[]},{title:"fab fa-odnoklassniki-square",searchTerms:[]},{title:"fab fa-old-republic",searchTerms:[]},{title:"fab fa-opencart",searchTerms:[]},{title:"fab fa-openid",searchTerms:[]},{title:"fab fa-opera",searchTerms:[]},{title:"fab fa-optin-monster",searchTerms:[]},{title:"fab fa-osi",searchTerms:[]},{title:"fas fa-outdent",searchTerms:[]},{title:"fab fa-page4",searchTerms:[]},{title:"fab fa-pagelines",searchTerms:["eco","leaf","leaves","nature","plant","tree"]},{title:"fas fa-paint-brush",searchTerms:[]},{title:"fas fa-paint-roller",searchTerms:["brush","painting","tool"]},{title:"fas fa-palette",searchTerms:["colors","painting"]},{title:"fab fa-palfed",searchTerms:[]},{title:"fas fa-pallet",searchTerms:[]},{title:"fas fa-paper-plane",searchTerms:[]},{title:"far fa-paper-plane",searchTerms:[]},{title:"fas fa-paperclip",searchTerms:["attachment"]},{title:"fas fa-parachute-box",searchTerms:["aid","assistance","rescue","supplies"]},{title:"fas fa-paragraph",searchTerms:[]},{title:"fas fa-parking",searchTerms:[]},{title:"fas fa-passport",searchTerms:["document","identification","issued"]},{title:"fas fa-paste",searchTerms:["clipboard","copy"]},{title:"fab fa-patreon",searchTerms:[]},{title:"fas fa-pause",searchTerms:["wait"]},{title:"fas fa-pause-circle",searchTerms:[]},{title:"far fa-pause-circle",searchTerms:[]},{title:"fas fa-paw",searchTerms:["pet"]},{title:"fab fa-paypal",searchTerms:[]},{title:"fas fa-pen",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-alt",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-fancy",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-nib",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-square",searchTerms:["edit","pencil-square","update","write"]},{title:"fas fa-pencil-alt",searchTerms:["design","edit","pencil","update","write"]},{title:"fas fa-pencil-ruler",searchTerms:[]},{title:"fas fa-people-carry",searchTerms:["movers"]},{title:"fas fa-percent",searchTerms:[]},{title:"fas fa-percentage",searchTerms:[]},{title:"fab fa-periscope",searchTerms:[]},{title:"fab fa-phabricator",searchTerms:[]},{title:"fab fa-phoenix-framework",searchTerms:[]},{title:"fab fa-phoenix-squadron",searchTerms:[]},{title:"fas fa-phone",searchTerms:["call","earphone","number","support","telephone","voice"]},{title:"fas fa-phone-slash",searchTerms:[]},{title:"fas fa-phone-square",searchTerms:["call","number","support","telephone","voice"]},{title:"fas fa-phone-volume",searchTerms:["telephone","volume-control-phone"]},{title:"fab fa-php",searchTerms:[]},{title:"fab fa-pied-piper",searchTerms:[]},{title:"fab fa-pied-piper-alt",searchTerms:[]},{title:"fab fa-pied-piper-hat",searchTerms:["clothing"]},{title:"fab fa-pied-piper-pp",searchTerms:[]},{title:"fas fa-piggy-bank",searchTerms:["save","savings"]},{title:"fas fa-pills",searchTerms:["drugs","medicine"]},{title:"fab fa-pinterest",searchTerms:[]},{title:"fab fa-pinterest-p",searchTerms:[]},{title:"fab fa-pinterest-square",searchTerms:[]},{title:"fas fa-plane",searchTerms:["airplane","destination","fly","location","mode","travel","trip"]},{title:"fas fa-plane-arrival",searchTerms:["airplane","arriving","destination","fly","land","landing","location","mode","travel","trip"]},{title:"fas fa-plane-departure",searchTerms:["airplane","departing","destination","fly","location","mode","take off","taking off","travel","trip"]},{title:"fas fa-play",searchTerms:["music","playing","sound","start"]},{title:"fas fa-play-circle",searchTerms:["playing","start"]},{title:"far fa-play-circle",searchTerms:["playing","start"]},{title:"fab fa-playstation",searchTerms:[]},{title:"fas fa-plug",searchTerms:["connect","online","power"]},{title:"fas fa-plus",searchTerms:["add","create","expand","new"]},{title:"fas fa-plus-circle",searchTerms:["add","create","expand","new"]},{title:"fas fa-plus-square",searchTerms:["add","create","expand","new"]},{title:"far fa-plus-square",searchTerms:["add","create","expand","new"]},{title:"fas fa-podcast",searchTerms:[]},{title:"fas fa-poo",searchTerms:[]},{title:"fas fa-portrait",searchTerms:[]},{title:"fas fa-pound-sign",searchTerms:["gbp","gbp"]},{title:"fas fa-power-off",searchTerms:["on","reboot","restart"]},{title:"fas fa-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle-alt",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-print",searchTerms:[]},{title:"fas fa-procedures",searchTerms:[]},{title:"fab fa-product-hunt",searchTerms:[]},{title:"fas fa-project-diagram",searchTerms:[]},{title:"fab fa-pushed",searchTerms:[]},{title:"fas fa-puzzle-piece",searchTerms:["add-on","addon","section"]},{title:"fab fa-python",searchTerms:[]},{title:"fab fa-qq",searchTerms:[]},{title:"fas fa-qrcode",searchTerms:["scan"]},{title:"fas fa-question",searchTerms:["help","information","support","unknown"]},{title:"fas fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"far fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"fas fa-quidditch",searchTerms:[]},{title:"fab fa-quinscape",searchTerms:[]},{title:"fab fa-quora",searchTerms:[]},{title:"fas fa-quote-left",searchTerms:[]},{title:"fas fa-quote-right",searchTerms:[]},{title:"fab fa-r-project",searchTerms:[]},{title:"fas fa-random",searchTerms:["shuffle","sort"]},{title:"fab fa-ravelry",searchTerms:[]},{title:"fab fa-react",searchTerms:[]},{title:"fab fa-readme",searchTerms:[]},{title:"fab fa-rebel",searchTerms:[]},{title:"fas fa-receipt",searchTerms:["check","invoice","table"]},{title:"fas fa-recycle",searchTerms:[]},{title:"fab fa-red-river",searchTerms:[]},{title:"fab fa-reddit",searchTerms:[]},{title:"fab fa-reddit-alien",searchTerms:[]},{title:"fab fa-reddit-square",searchTerms:[]},{title:"fas fa-redo",searchTerms:["forward","repeat","repeat"]},{title:"fas fa-redo-alt",searchTerms:["forward","repeat"]},{title:"fas fa-registered",searchTerms:[]},{title:"far fa-registered",searchTerms:[]},{title:"fab fa-rendact",searchTerms:[]},{title:"fab fa-renren",searchTerms:[]},{title:"fas fa-reply",searchTerms:[]},{title:"fas fa-reply-all",searchTerms:[]},{title:"fab fa-replyd",searchTerms:[]},{title:"fab fa-researchgate",searchTerms:[]},{title:"fab fa-resolving",searchTerms:[]},{title:"fas fa-retweet",searchTerms:["refresh","reload","share","swap"]},{title:"fab fa-rev",searchTerms:[]},{title:"fas fa-ribbon",searchTerms:["badge","cause","lapel","pin"]},{title:"fas fa-road",searchTerms:["street"]},{title:"fas fa-robot",searchTerms:[]},{title:"fas fa-rocket",searchTerms:["app"]},{title:"fab fa-rocketchat",searchTerms:[]},{title:"fab fa-rockrms",searchTerms:[]},{title:"fas fa-rss",searchTerms:["blog"]},{title:"fas fa-rss-square",searchTerms:["blog","feed"]},{title:"fas fa-ruble-sign",searchTerms:["rub","rub"]},{title:"fas fa-ruler",searchTerms:[]},{title:"fas fa-ruler-combined",searchTerms:[]},{title:"fas fa-ruler-horizontal",searchTerms:[]},{title:"fas fa-ruler-vertical",searchTerms:[]},{title:"fas fa-rupee-sign",searchTerms:["indian","inr"]},{title:"fas fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"fas fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"fab fa-safari",searchTerms:["browser"]},{title:"fab fa-sass",searchTerms:[]},{title:"fas fa-save",searchTerms:["floppy","floppy-o"]},{title:"far fa-save",searchTerms:["floppy","floppy-o"]},{title:"fab fa-schlix",searchTerms:[]},{title:"fas fa-school",searchTerms:[]},{title:"fas fa-screwdriver",searchTerms:["admin","container","fix","repair","settings","tool"]},{title:"fab fa-scribd",searchTerms:[]},{title:"fas fa-search",searchTerms:["bigger","enlarge","magnify","preview","zoom"]},{title:"fas fa-search-minus",searchTerms:["magnify","minify","smaller","zoom","zoom out"]},{title:"fas fa-search-plus",searchTerms:["bigger","enlarge","magnify","zoom","zoom in"]},{title:"fab fa-searchengin",searchTerms:[]},{title:"fas fa-seedling",searchTerms:[]},{title:"fab fa-sellcast",searchTerms:["eercast"]},{title:"fab fa-sellsy",searchTerms:[]},{title:"fas fa-server",searchTerms:["cpu"]},{title:"fab fa-servicestack",searchTerms:[]},{title:"fas fa-share",searchTerms:[]},{title:"fas fa-share-alt",searchTerms:[]},{title:"fas fa-share-alt-square",searchTerms:[]},{title:"fas fa-share-square",searchTerms:["send","social"]},{title:"far fa-share-square",searchTerms:["send","social"]},{title:"fas fa-shekel-sign",searchTerms:["ils","ils"]},{title:"fas fa-shield-alt",searchTerms:["shield"]},{title:"fas fa-ship",searchTerms:["boat","sea"]},{title:"fas fa-shipping-fast",searchTerms:[]},{title:"fab fa-shirtsinbulk",searchTerms:[]},{title:"fas fa-shoe-prints",searchTerms:["feet","footprints","steps"]},{title:"fas fa-shopping-bag",searchTerms:[]},{title:"fas fa-shopping-basket",searchTerms:[]},{title:"fas fa-shopping-cart",searchTerms:["buy","checkout","payment","purchase"]},{title:"fab fa-shopware",searchTerms:[]},{title:"fas fa-shower",searchTerms:[]},{title:"fas fa-shuttle-van",searchTerms:["machine","public-transportation","transportation","vehicle"]},{title:"fas fa-sign",searchTerms:[]},{title:"fas fa-sign-in-alt",searchTerms:["arrow","enter","join","log in","login","sign in","sign up","sign-in","signin","signup"]},{title:"fas fa-sign-language",searchTerms:[]},{title:"fas fa-sign-out-alt",searchTerms:["arrow","exit","leave","log out","logout","sign-out"]},{title:"fas fa-signal",searchTerms:["bars","graph","online","status"]},{title:"fas fa-signature",searchTerms:["John Hancock","cursive","name","writing"]},{title:"fab fa-simplybuilt",searchTerms:[]},{title:"fab fa-sistrix",searchTerms:[]},{title:"fas fa-sitemap",searchTerms:["directory","hierarchy","ia","information architecture","organization"]},{title:"fab fa-sith",searchTerms:[]},{title:"fas fa-skull",searchTerms:["bones","skeleton","yorick"]},{title:"fab fa-skyatlas",searchTerms:[]},{title:"fab fa-skype",searchTerms:[]},{title:"fab fa-slack",searchTerms:["anchor","hash","hashtag"]},{title:"fab fa-slack-hash",searchTerms:["anchor","hash","hashtag"]},{title:"fas fa-sliders-h",searchTerms:["settings","sliders"]},{title:"fab fa-slideshare",searchTerms:[]},{title:"fas fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"far fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"fas fa-smile-beam",searchTerms:["emoticon","face","happy"]},{title:"far fa-smile-beam",searchTerms:["emoticon","face","happy"]},{title:"fas fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"far fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"fas fa-smoking",searchTerms:["cigarette","nicotine","smoking status"]},{title:"fas fa-smoking-ban",searchTerms:["no smoking","non-smoking"]},{title:"fab fa-snapchat",searchTerms:[]},{title:"fab fa-snapchat-ghost",searchTerms:[]},{title:"fab fa-snapchat-square",searchTerms:[]},{title:"fas fa-snowflake",searchTerms:[]},{title:"far fa-snowflake",searchTerms:[]},{title:"fas fa-solar-panel",searchTerms:["clean","eco-friendly","energy","green","sun"]},{title:"fas fa-sort",searchTerms:["order"]},{title:"fas fa-sort-alpha-down",searchTerms:["sort-alpha-asc"]},{title:"fas fa-sort-alpha-up",searchTerms:["sort-alpha-desc"]},{title:"fas fa-sort-amount-down",searchTerms:["sort-amount-asc"]},{title:"fas fa-sort-amount-up",searchTerms:["sort-amount-desc"]},{title:"fas fa-sort-down",searchTerms:["arrow","descending","sort-desc"]},{title:"fas fa-sort-numeric-down",searchTerms:["numbers","sort-numeric-asc"]},{title:"fas fa-sort-numeric-up",searchTerms:["numbers","sort-numeric-desc"]},{title:"fas fa-sort-up",searchTerms:["arrow","ascending","sort-asc"]},{title:"fab fa-soundcloud",searchTerms:[]},{title:"fas fa-spa",searchTerms:["mindfullness","plant","wellness"]},{title:"fas fa-space-shuttle",searchTerms:["astronaut","machine","nasa","rocket","transportation"]},{title:"fab fa-speakap",searchTerms:[]},{title:"fas fa-spinner",searchTerms:["loading","progress"]},{title:"fas fa-splotch",searchTerms:[]},{title:"fab fa-spotify",searchTerms:[]},{title:"fas fa-spray-can",searchTerms:[]},{title:"fas fa-square",searchTerms:["block","box"]},{title:"far fa-square",searchTerms:["block","box"]},{title:"fas fa-square-full",searchTerms:[]},{title:"fab fa-squarespace",searchTerms:[]},{title:"fab fa-stack-exchange",searchTerms:[]},{title:"fab fa-stack-overflow",searchTerms:[]},{title:"fas fa-stamp",searchTerms:[]},{title:"fas fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"far fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"fas fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"far fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fas fa-star-half-alt",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fab fa-staylinked",searchTerms:[]},{title:"fab fa-steam",searchTerms:[]},{title:"fab fa-steam-square",searchTerms:[]},{title:"fab fa-steam-symbol",searchTerms:[]},{title:"fas fa-step-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-step-forward",searchTerms:["end","last","next"]},{title:"fas fa-stethoscope",searchTerms:[]},{title:"fab fa-sticker-mule",searchTerms:[]},{title:"fas fa-sticky-note",searchTerms:[]},{title:"far fa-sticky-note",searchTerms:[]},{title:"fas fa-stop",searchTerms:["block","box","square"]},{title:"fas fa-stop-circle",searchTerms:[]},{title:"far fa-stop-circle",searchTerms:[]},{title:"fas fa-stopwatch",searchTerms:["time"]},{title:"fas fa-store",searchTerms:[]},{title:"fas fa-store-alt",searchTerms:[]},{title:"fab fa-strava",searchTerms:[]},{title:"fas fa-stream",searchTerms:[]},{title:"fas fa-street-view",searchTerms:["map"]},{title:"fas fa-strikethrough",searchTerms:[]},{title:"fab fa-stripe",searchTerms:[]},{title:"fab fa-stripe-s",searchTerms:[]},{title:"fas fa-stroopwafel",searchTerms:["dessert","food","sweets","waffle"]},{title:"fab fa-studiovinari",searchTerms:[]},{title:"fab fa-stumbleupon",searchTerms:[]},{title:"fab fa-stumbleupon-circle",searchTerms:[]},{title:"fas fa-subscript",searchTerms:[]},{title:"fas fa-subway",searchTerms:["machine","railway","train","transportation","vehicle"]},{title:"fas fa-suitcase",searchTerms:["baggage","luggage","move","suitcase","travel","trip"]},{title:"fas fa-suitcase-rolling",searchTerms:[]},{title:"fas fa-sun",searchTerms:["brighten","contrast","day","lighter","weather"]},{title:"far fa-sun",searchTerms:["brighten","contrast","day","lighter","weather"]},{title:"fab fa-superpowers",searchTerms:[]},{title:"fas fa-superscript",searchTerms:["exponential"]},{title:"fab fa-supple",searchTerms:[]},{title:"fas fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"far fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"fas fa-swatchbook",searchTerms:[]},{title:"fas fa-swimmer",searchTerms:["athlete","head","man","person","water"]},{title:"fas fa-swimming-pool",searchTerms:["ladder","recreation","water"]},{title:"fas fa-sync",searchTerms:["exchange","refresh","reload","rotate","swap"]},{title:"fas fa-sync-alt",searchTerms:["refresh","reload","rotate"]},{title:"fas fa-syringe",searchTerms:["immunizations","needle"]},{title:"fas fa-table",searchTerms:["data","excel","spreadsheet"]},{title:"fas fa-table-tennis",searchTerms:[]},{title:"fas fa-tablet",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablet-alt",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablets",searchTerms:["drugs","medicine"]},{title:"fas fa-tachometer-alt",searchTerms:["dashboard","tachometer"]},{title:"fas fa-tag",searchTerms:["label"]},{title:"fas fa-tags",searchTerms:["labels"]},{title:"fas fa-tape",searchTerms:[]},{title:"fas fa-tasks",searchTerms:["downloading","downloads","loading","progress","settings"]},{title:"fas fa-taxi",searchTerms:["cab","cabbie","car","car service","lyft","machine","transportation","uber","vehicle"]},{title:"fab fa-teamspeak",searchTerms:[]},{title:"fab fa-telegram",searchTerms:[]},{title:"fab fa-telegram-plane",searchTerms:[]},{title:"fab fa-tencent-weibo",searchTerms:[]},{title:"fas fa-terminal",searchTerms:["code","command","console","prompt"]},{title:"fas fa-text-height",searchTerms:[]},{title:"fas fa-text-width",searchTerms:[]},{title:"fas fa-th",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-large",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fab fa-themeco",searchTerms:[]},{title:"fab fa-themeisle",searchTerms:[]},{title:"fas fa-thermometer",searchTerms:["fever","temperature"]},{title:"fas fa-thermometer-empty",searchTerms:["status"]},{title:"fas fa-thermometer-full",searchTerms:["status"]},{title:"fas fa-thermometer-half",searchTerms:["status"]},{title:"fas fa-thermometer-quarter",searchTerms:["status"]},{title:"fas fa-thermometer-three-quarters",searchTerms:["status"]},{title:"fas fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"far fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"fas fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"far fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"fas fa-thumbtack",searchTerms:["coordinates","location","marker","pin","thumb-tack"]},{title:"fas fa-ticket-alt",searchTerms:["ticket"]},{title:"fas fa-times",searchTerms:["close","cross","error","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"far fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-tint",searchTerms:["drop","droplet","raindrop","waterdrop"]},{title:"fas fa-tint-slash",searchTerms:[]},{title:"fas fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"far fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"fas fa-toggle-off",searchTerms:["switch"]},{title:"fas fa-toggle-on",searchTerms:["switch"]},{title:"fas fa-toolbox",searchTerms:["admin","container","fix","repair","settings","tools"]},{title:"fas fa-tooth",searchTerms:["bicuspid","dental","molar","mouth","teeth"]},{title:"fab fa-trade-federation",searchTerms:[]},{title:"fas fa-trademark",searchTerms:[]},{title:"fas fa-train",searchTerms:["bullet","locomotive","railway"]},{title:"fas fa-transgender",searchTerms:["intersex"]},{title:"fas fa-transgender-alt",searchTerms:[]},{title:"fas fa-trash",searchTerms:["delete","garbage","hide","remove"]},{title:"fas fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"far fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"fas fa-tree",searchTerms:[]},{title:"fab fa-trello",searchTerms:[]},{title:"fab fa-tripadvisor",searchTerms:[]},{title:"fas fa-trophy",searchTerms:["achievement","award","cup","game","winner"]},{title:"fas fa-truck",searchTerms:["delivery","shipping"]},{title:"fas fa-truck-loading",searchTerms:[]},{title:"fas fa-truck-moving",searchTerms:[]},{title:"fas fa-tshirt",searchTerms:["cloth","clothing"]},{title:"fas fa-tty",searchTerms:[]},{title:"fab fa-tumblr",searchTerms:[]},{title:"fab fa-tumblr-square",searchTerms:[]},{title:"fas fa-tv",searchTerms:["computer","display","monitor","television"]},{title:"fab fa-twitch",searchTerms:[]},{title:"fab fa-twitter",searchTerms:["social network","tweet"]},{title:"fab fa-twitter-square",searchTerms:["social network","tweet"]},{title:"fab fa-typo3",searchTerms:[]},{title:"fab fa-uber",searchTerms:[]},{title:"fab fa-uikit",searchTerms:[]},{title:"fas fa-umbrella",searchTerms:["protection","rain"]},{title:"fas fa-umbrella-beach",searchTerms:["protection","recreation","sun"]},{title:"fas fa-underline",searchTerms:[]},{title:"fas fa-undo",searchTerms:["back","control z","exchange","oops","return","rotate","swap"]},{title:"fas fa-undo-alt",searchTerms:["back","control z","exchange","oops","return","swap"]},{title:"fab fa-uniregistry",searchTerms:[]},{title:"fas fa-universal-access",searchTerms:[]},{title:"fas fa-university",searchTerms:["bank","institution"]},{title:"fas fa-unlink",searchTerms:["chain","chain-broken","remove"]},{title:"fas fa-unlock",searchTerms:["admin","lock","password","protect"]},{title:"fas fa-unlock-alt",searchTerms:["admin","lock","password","protect"]},{title:"fab fa-untappd",searchTerms:[]},{title:"fas fa-upload",searchTerms:["export","publish"]},{title:"fab fa-usb",searchTerms:[]},{title:"fas fa-user",searchTerms:["account","avatar","head","man","person","profile"]},{title:"far fa-user",searchTerms:["account","avatar","head","man","person","profile"]},{title:"fas fa-user-alt",searchTerms:["account","avatar","head","man","person","profile"]},{title:"fas fa-user-alt-slash",searchTerms:[]},{title:"fas fa-user-astronaut",searchTerms:["avatar","clothing","cosmonaut","space","suit"]},{title:"fas fa-user-check",searchTerms:[]},{title:"fas fa-user-circle",searchTerms:["account","avatar","head","man","person","profile"]},{title:"far fa-user-circle",searchTerms:["account","avatar","head","man","person","profile"]},{title:"fas fa-user-clock",searchTerms:[]},{title:"fas fa-user-cog",searchTerms:[]},{title:"fas fa-user-edit",searchTerms:[]},{title:"fas fa-user-friends",searchTerms:[]},{title:"fas fa-user-graduate",searchTerms:["cap","clothing","commencement","gown","graduation","student"]},{title:"fas fa-user-lock",searchTerms:[]},{title:"fas fa-user-md",searchTerms:["doctor","job","medical","nurse","occupation","profile"]},{title:"fas fa-user-minus",searchTerms:[]},{title:"fas fa-user-ninja",searchTerms:["assassin","avatar","dangerous","sneaky"]},{title:"fas fa-user-plus",searchTerms:["sign up","signup"]},{title:"fas fa-user-secret",searchTerms:["clothing","coat","hat","incognito","privacy","spy","whisper"]},{title:"fas fa-user-shield",searchTerms:[]},{title:"fas fa-user-slash",searchTerms:[]},{title:"fas fa-user-tag",searchTerms:[]},{title:"fas fa-user-tie",searchTerms:["avatar","business","clothing","formal"]},{title:"fas fa-user-times",searchTerms:[]},{title:"fas fa-users",searchTerms:["people","persons","profiles"]},{title:"fas fa-users-cog",searchTerms:[]},{title:"fab fa-ussunnah",searchTerms:[]},{title:"fas fa-utensil-spoon",searchTerms:["spoon"]},{title:"fas fa-utensils",searchTerms:["cutlery","dinner","eat","food","knife","restaurant","spoon"]},{title:"fab fa-vaadin",searchTerms:[]},{title:"fas fa-vector-square",searchTerms:["anchors","lines","object"]},{title:"fas fa-venus",searchTerms:["female"]},{title:"fas fa-venus-double",searchTerms:[]},{title:"fas fa-venus-mars",searchTerms:[]},{title:"fab fa-viacoin",searchTerms:[]},{title:"fab fa-viadeo",searchTerms:[]},{title:"fab fa-viadeo-square",searchTerms:[]},{title:"fas fa-vial",searchTerms:["test tube"]},{title:"fas fa-vials",searchTerms:["lab results","test tubes"]},{title:"fab fa-viber",searchTerms:[]},{title:"fas fa-video",searchTerms:["camera","film","movie","record","video-camera"]},{title:"fas fa-video-slash",searchTerms:[]},{title:"fab fa-vimeo",searchTerms:[]},{title:"fab fa-vimeo-square",searchTerms:[]},{title:"fab fa-vimeo-v",searchTerms:["vimeo"]},{title:"fab fa-vine",searchTerms:[]},{title:"fab fa-vk",searchTerms:[]},{title:"fab fa-vnv",searchTerms:[]},{title:"fas fa-volleyball-ball",searchTerms:[]},{title:"fas fa-volume-down",searchTerms:["audio","lower","music","quieter","sound","speaker"]},{title:"fas fa-volume-off",searchTerms:["audio","music","mute","sound"]},{title:"fas fa-volume-up",searchTerms:["audio","higher","louder","music","sound","speaker"]},{title:"fab fa-vuejs",searchTerms:[]},{title:"fas fa-walking",searchTerms:[]},{title:"fas fa-wallet",searchTerms:[]},{title:"fas fa-warehouse",searchTerms:[]},{title:"fab fa-weebly",searchTerms:[]},{title:"fab fa-weibo",searchTerms:[]},{title:"fas fa-weight",searchTerms:["measurement","scale","weight"]},{title:"fas fa-weight-hanging",searchTerms:["anvil","heavy","measurement"]},{title:"fab fa-weixin",searchTerms:[]},{title:"fab fa-whatsapp",searchTerms:[]},{title:"fab fa-whatsapp-square",searchTerms:[]},{title:"fas fa-wheelchair",searchTerms:["handicap","person"]},{title:"fab fa-whmcs",searchTerms:[]},{title:"fas fa-wifi",searchTerms:[]},{title:"fab fa-wikipedia-w",searchTerms:[]},{title:"fas fa-window-close",searchTerms:[]},{title:"far fa-window-close",searchTerms:[]},{title:"fas fa-window-maximize",searchTerms:[]},{title:"far fa-window-maximize",searchTerms:[]},{title:"fas fa-window-minimize",searchTerms:[]},{title:"far fa-window-minimize",searchTerms:[]},{title:"fas fa-window-restore",searchTerms:[]},{title:"far fa-window-restore",searchTerms:[]},{title:"fab fa-windows",searchTerms:["microsoft"]},{title:"fas fa-wine-glass",searchTerms:[]},{title:"fas fa-wine-glass-alt",searchTerms:[]},{title:"fab fa-wix",searchTerms:[]},{title:"fab fa-wolf-pack-battalion",searchTerms:[]},{title:"fas fa-won-sign",searchTerms:["krw","krw"]},{title:"fab fa-wordpress",searchTerms:[]},{title:"fab fa-wordpress-simple",searchTerms:[]},{title:"fab fa-wpbeginner",searchTerms:[]},{title:"fab fa-wpexplorer",searchTerms:[]},{title:"fab fa-wpforms",searchTerms:[]},{title:"fas fa-wrench",searchTerms:["fix","settings","spanner","tool","update"]},{title:"fas fa-x-ray",searchTerms:["radiological images","radiology"]},{title:"fab fa-xbox",searchTerms:[]},{title:"fab fa-xing",searchTerms:[]},{title:"fab fa-xing-square",searchTerms:[]},{title:"fab fa-y-combinator",searchTerms:[]},{title:"fab fa-yahoo",searchTerms:[]},{title:"fab fa-yandex",searchTerms:[]},{title:"fab fa-yandex-international",searchTerms:[]},{title:"fab fa-yelp",searchTerms:[]},{title:"fas fa-yen-sign",searchTerms:["jpy","jpy"]},{title:"fab fa-yoast",searchTerms:[]},{title:"fab fa-youtube",searchTerms:["film","video","youtube-play","youtube-square"]},{title:"fab fa-youtube-square",searchTerms:[]}]})});var iconPickerVue=new Vue({el:"#iconPickerVue",data:{targetInputField:"",targetIconTag:""},mounted:function(){var e=this;$(".icp-auto").iconpicker({title:!1,templates:{search:''}}),$("#inline-picker").on("iconpickerSelected",function(a){var t=a.iconpickerInstance.options.fullClassFormatter(a.iconpickerValue);e.targetInputField&&$("#"+e.targetInputField).val(t),e.targetIconTag&&$("#"+e.targetIconTag).replaceWith(''),$("#iconPickerModal").modal("hide")})},methods:{show:function(e,a){this.targetInputField=e,this.targetIconTag=a,$("#iconPickerModal").modal("show")}}}); +!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){e.ui=e.ui||{};e.ui.version="1.12.1";!function(){var a,t=Math.max,s=Math.abs,r=/left|center|right/,i=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,f=/^\w+/,l=/%$/,o=e.fn.pos;function n(e,a,t){return[parseFloat(e[0])*(l.test(e[0])?a/100:1),parseFloat(e[1])*(l.test(e[1])?t/100:1)]}function h(a,t){return parseInt(e.css(a,t),10)||0}e.pos={scrollbarWidth:function(){if(void 0!==a)return a;var t,s,r=e("
"),i=r.children()[0];return e("body").append(r),t=i.offsetWidth,r.css("overflow","scroll"),t===(s=i.offsetWidth)&&(s=r[0].clientWidth),r.remove(),a=t-s},getScrollInfo:function(a){var t=a.isWindow||a.isDocument?"":a.element.css("overflow-x"),s=a.isWindow||a.isDocument?"":a.element.css("overflow-y"),r="scroll"===t||"auto"===t&&a.width0?"right":"center",vertical:n<0?"top":l>0?"bottom":"middle"};mt(s(l),s(n))?h.important="horizontal":h.important="vertical",a.using.call(this,e,h)}),c.offset(e.extend(C,{using:i}))})},e.ui.pos={_trigger:function(e,a,t,s){a.elem&&a.elem.trigger({type:t,position:e,positionData:a,triggered:s})},fit:{left:function(a,s){e.ui.pos._trigger(a,s,"posCollide","fitLeft");var r,i=s.within,c=i.isWindow?i.scrollLeft:i.offset.left,f=i.width,l=a.left-s.collisionPosition.marginLeft,o=c-l,n=l+s.collisionWidth-f-c;s.collisionWidth>f?o>0&&n<=0?(r=a.left+o+s.collisionWidth-f-c,a.left+=o-r):a.left=n>0&&o<=0?c:o>n?c+f-s.collisionWidth:c:o>0?a.left+=o:n>0?a.left-=n:a.left=t(a.left-l,a.left),e.ui.pos._trigger(a,s,"posCollided","fitLeft")},top:function(a,s){e.ui.pos._trigger(a,s,"posCollide","fitTop");var r,i=s.within,c=i.isWindow?i.scrollTop:i.offset.top,f=s.within.height,l=a.top-s.collisionPosition.marginTop,o=c-l,n=l+s.collisionHeight-f-c;s.collisionHeight>f?o>0&&n<=0?(r=a.top+o+s.collisionHeight-f-c,a.top+=o-r):a.top=n>0&&o<=0?c:o>n?c+f-s.collisionHeight:c:o>0?a.top+=o:n>0?a.top-=n:a.top=t(a.top-l,a.top),e.ui.pos._trigger(a,s,"posCollided","fitTop")}},flip:{left:function(a,t){e.ui.pos._trigger(a,t,"posCollide","flipLeft");var r,i,c=t.within,f=c.offset.left+c.scrollLeft,l=c.width,o=c.isWindow?c.scrollLeft:c.offset.left,n=a.left-t.collisionPosition.marginLeft,h=n-o,m=n+t.collisionWidth-l-o,p="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,d="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,T=-2*t.offset[0];h<0?((r=a.left+p+d+T+t.collisionWidth-l-f)<0||r0&&((i=a.left-t.collisionPosition.marginLeft+p+d+T-o)>0||s(i)0&&((r=a.top-t.collisionPosition.marginTop+p+d+T-o)>0||s(r)10&&r<11,a.innerHTML="",t.removeChild(a)}()}();e.ui.position}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):window.jQuery&&!window.jQuery.fn.iconpicker&&e(window.jQuery)}(function(e){"use strict";var a=function(e){return!1===e||""===e||null==e},t=function(a){return e(a).length>0},s=function(e){return"string"==typeof e||e instanceof String},r=function(a,t){return-1!==e.inArray(a,t)},i=function(a,s){this._id=i._idCounter++,this.element=e(a).addClass("iconpicker-element"),this._trigger("iconpickerCreate",{iconpickerValue:this.iconpickerValue}),this.options=e.extend({},i.defaultOptions,this.element.data(),s),this.options.templates=e.extend({},i.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!t(this.options.container)&&e(this.options.container),!1===this.container&&(this.element.is(".dropdown-toggle")?this.container=e("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),!1===this.input&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated",{iconpickerValue:this.iconpickerValue})};i._idCounter=0,i.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(e){return e},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'
',footer:'',buttons:' ',search:'',iconpicker:'
',iconpickerItem:''}},i.batch=function(a,t){var s=Array.prototype.slice.call(arguments,2);return e(a).each(function(){var a=e(this).data("iconpicker");a&&a[t].apply(a,s)})},i.prototype={constructor:i,options:{},_id:0,_trigger:function(a,t){t=t||{},this.element.trigger(e.extend({type:a,iconpickerInstance:this},t))},_createPopover:function(){this.popover=e(this.options.templates.popover);var t=this.popover.find(".popover-title");if(this.options.title&&t.append(e('
'+this.options.title+"
")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?t.append(this.options.templates.search):this.options.title||t.remove(),this.options.showFooter&&!a(this.options.templates.footer)){var s=e(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&s.append(e(this.options.templates.search)),a(this.options.templates.buttons)||s.append(e(this.options.templates.buttons)),this.popover.append(s)}return!0===this.options.animation&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var a=this;this.iconpicker=e(this.options.templates.iconpicker);var t=function(t){var s=e(this);s.is("i")&&(s=s.parent()),a._trigger("iconpickerSelect",{iconpickerItem:s,iconpickerValue:a.iconpickerValue}),!1===a.options.mustAccept?(a.update(s.data("iconpickerValue")),a._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:a.iconpickerValue})):a.update(s.data("iconpickerValue"),!0),a.options.hideOnSelect&&!1===a.options.mustAccept&&a.hide()};for(var s in this.options.icons)if("string"==typeof this.options.icons[s].title){var r=e(this.options.templates.iconpickerItem);if(r.find("i").addClass(this.options.fullClassFormatter(this.options.icons[s].title)),r.data("iconpickerValue",this.options.icons[s].title).on("click.iconpicker",t),this.iconpicker.find(".iconpicker-items").append(r.attr("title","."+this.options.icons[s].title)),this.options.icons[s].searchTerms.length>0){for(var i="",c=0;c0?e.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(e){return!!this.hasInput()&&(!1!==e?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(a){s(a)||(a="");var t=""===a;a=e.trim(a);for(var r=!1,i=0;i'},setSourceValue:function(e){return!1!==(e=this.setValue(e))&&""!==e&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:e})),e},getSourceValue:function(e){var a=e=e||this.options.defaultValue;return void 0!==(a=this.hasInput()?this.input.val():this.element.data("iconpickerValue"))&&""!==a&&null!==a&&!1!==a||(a=e),a},hasInput:function(){return!1!==this.input},isInputSearch:function(){return this.hasInput()&&!0===this.options.inputSearch},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return!1!==this.options.templates.search&&!this.isInputSearch()},hasComponent:function(){return!1!==this.component},hasContainer:function(){return!1!==this.container},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(t){if(a(t))return this.iconpicker.find(".iconpicker-item").show(),e(!1);var s=[];return this.iconpicker.find(".iconpicker-item").each(function(){var a=e(this),r=a.attr("title").toLowerCase();r=r+" "+(a.attr("data-search-terms")?a.attr("data-search-terms").toLowerCase():"");var i=!1;try{i=new RegExp("(^|\\W)"+t,"g")}catch(e){i=!1}!1!==i&&r.match(i)?(s.push(a),a.show()):a.hide()}),s},show:function(){if(this.popover.hasClass("in"))return!1;e.iconpicker.batch(e(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow",{iconpickerValue:this.iconpickerValue}),this.updatePlacement(),this.popover.addClass("in"),setTimeout(e.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},hide:function(){if(!this.popover.hasClass("in"))return!1;this._trigger("iconpickerHide",{iconpickerValue:this.iconpickerValue}),this.popover.removeClass("in"),setTimeout(e.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(e,a){return e=e||this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate",{iconpickerValue:this.iconpickerValue}),!0===a?e=this.setValue(e):(e=this.setSourceValue(e),this._updateFormGroupStatus(!1!==e)),!1!==e&&this._updateComponents(),this._trigger("iconpickerUpdated",{iconpickerValue:this.iconpickerValue}),e},destroy:function(){this._trigger("iconpickerDestroy",{iconpickerValue:this.iconpickerValue}),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),e(this.popover).remove(),this._trigger("iconpickerDestroyed",{iconpickerValue:this.iconpickerValue})},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&!0===this.input.prop("disabled")},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},e.iconpicker=i,e.fn.iconpicker=function(a){return this.each(function(){var t=e(this);t.data("iconpicker")||t.data("iconpicker",new i(this,"object"==typeof a?a:{}))})},i.defaultOptions=e.extend(i.defaultOptions,{icons:[{title:"fab fa-500px",searchTerms:[]},{title:"fab fa-accessible-icon",searchTerms:["accessibility","handicap","person","wheelchair","wheelchair-alt"]},{title:"fab fa-accusoft",searchTerms:[]},{title:"fas fa-address-book",searchTerms:[]},{title:"far fa-address-book",searchTerms:[]},{title:"fas fa-address-card",searchTerms:[]},{title:"far fa-address-card",searchTerms:[]},{title:"fas fa-adjust",searchTerms:["contrast"]},{title:"fab fa-adn",searchTerms:[]},{title:"fab fa-adversal",searchTerms:[]},{title:"fab fa-affiliatetheme",searchTerms:[]},{title:"fab fa-algolia",searchTerms:[]},{title:"fas fa-align-center",searchTerms:["middle","text"]},{title:"fas fa-align-justify",searchTerms:["text"]},{title:"fas fa-align-left",searchTerms:["text"]},{title:"fas fa-align-right",searchTerms:["text"]},{title:"fas fa-allergies",searchTerms:["freckles","hand","intolerances","pox","spots"]},{title:"fab fa-amazon",searchTerms:[]},{title:"fab fa-amazon-pay",searchTerms:[]},{title:"fas fa-ambulance",searchTerms:["help","machine","support","vehicle"]},{title:"fas fa-american-sign-language-interpreting",searchTerms:[]},{title:"fab fa-amilia",searchTerms:[]},{title:"fas fa-anchor",searchTerms:["link"]},{title:"fab fa-android",searchTerms:["robot"]},{title:"fab fa-angellist",searchTerms:[]},{title:"fas fa-angle-double-down",searchTerms:["arrows"]},{title:"fas fa-angle-double-left",searchTerms:["arrows","back","laquo","previous","quote"]},{title:"fas fa-angle-double-right",searchTerms:["arrows","forward","next","quote","raquo"]},{title:"fas fa-angle-double-up",searchTerms:["arrows"]},{title:"fas fa-angle-down",searchTerms:["arrow"]},{title:"fas fa-angle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-angle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-angle-up",searchTerms:["arrow"]},{title:"fas fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"far fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"fab fa-angrycreative",searchTerms:[]},{title:"fab fa-angular",searchTerms:[]},{title:"fab fa-app-store",searchTerms:[]},{title:"fab fa-app-store-ios",searchTerms:[]},{title:"fab fa-apper",searchTerms:[]},{title:"fab fa-apple",searchTerms:["food","fruit","osx"]},{title:"fab fa-apple-pay",searchTerms:[]},{title:"fas fa-archive",searchTerms:["box","package","storage"]},{title:"fas fa-archway",searchTerms:["arc","monument","road","street"]},{title:"fas fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"far fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"fas fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"far fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"fas fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"far fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"fas fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"far fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"fas fa-arrow-circle-down",searchTerms:["download"]},{title:"fas fa-arrow-circle-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-circle-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-circle-up",searchTerms:[]},{title:"fas fa-arrow-down",searchTerms:["download"]},{title:"fas fa-arrow-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-up",searchTerms:[]},{title:"fas fa-arrows-alt",searchTerms:["arrow","arrows","bigger","enlarge","expand","fullscreen","move","position","reorder","resize"]},{title:"fas fa-arrows-alt-h",searchTerms:["arrows-h","resize"]},{title:"fas fa-arrows-alt-v",searchTerms:["arrows-v","resize"]},{title:"fas fa-assistive-listening-systems",searchTerms:[]},{title:"fas fa-asterisk",searchTerms:["details"]},{title:"fab fa-asymmetrik",searchTerms:[]},{title:"fas fa-at",searchTerms:["e-mail","email"]},{title:"fas fa-atlas",searchTerms:["book","directions","geography","map","wayfinding"]},{title:"fab fa-audible",searchTerms:[]},{title:"fas fa-audio-description",searchTerms:[]},{title:"fab fa-autoprefixer",searchTerms:[]},{title:"fab fa-avianex",searchTerms:[]},{title:"fab fa-aviato",searchTerms:[]},{title:"fas fa-award",searchTerms:["honor","praise","prize","recognition","ribbon"]},{title:"fab fa-aws",searchTerms:[]},{title:"fas fa-backspace",searchTerms:["command","delete","keyboard","undo"]},{title:"fas fa-backward",searchTerms:["previous","rewind"]},{title:"fas fa-balance-scale",searchTerms:["balanced","justice","legal","measure","weight"]},{title:"fas fa-ban",searchTerms:["abort","ban","block","cancel","delete","hide","prohibit","remove","stop","trash"]},{title:"fas fa-band-aid",searchTerms:["bandage","boo boo","ouch"]},{title:"fab fa-bandcamp",searchTerms:[]},{title:"fas fa-barcode",searchTerms:["scan"]},{title:"fas fa-bars",searchTerms:["checklist","drag","hamburger","list","menu","nav","navigation","ol","reorder","settings","todo","ul"]},{title:"fas fa-baseball-ball",searchTerms:[]},{title:"fas fa-basketball-ball",searchTerms:[]},{title:"fas fa-bath",searchTerms:[]},{title:"fas fa-battery-empty",searchTerms:["power","status"]},{title:"fas fa-battery-full",searchTerms:["power","status"]},{title:"fas fa-battery-half",searchTerms:["power","status"]},{title:"fas fa-battery-quarter",searchTerms:["power","status"]},{title:"fas fa-battery-three-quarters",searchTerms:["power","status"]},{title:"fas fa-bed",searchTerms:["lodging","sleep","travel"]},{title:"fas fa-beer",searchTerms:["alcohol","bar","drink","liquor","mug","stein"]},{title:"fab fa-behance",searchTerms:[]},{title:"fab fa-behance-square",searchTerms:[]},{title:"fas fa-bell",searchTerms:["alert","notification","reminder"]},{title:"far fa-bell",searchTerms:["alert","notification","reminder"]},{title:"fas fa-bell-slash",searchTerms:[]},{title:"far fa-bell-slash",searchTerms:[]},{title:"fas fa-bezier-curve",searchTerms:["curves","illustrator","lines","path","vector"]},{title:"fas fa-bicycle",searchTerms:["bike","gears","transportation","vehicle"]},{title:"fab fa-bimobject",searchTerms:[]},{title:"fas fa-binoculars",searchTerms:[]},{title:"fas fa-birthday-cake",searchTerms:[]},{title:"fab fa-bitbucket",searchTerms:["bitbucket-square","git"]},{title:"fab fa-bitcoin",searchTerms:[]},{title:"fab fa-bity",searchTerms:[]},{title:"fab fa-black-tie",searchTerms:[]},{title:"fab fa-blackberry",searchTerms:[]},{title:"fas fa-blender",searchTerms:[]},{title:"fas fa-blind",searchTerms:[]},{title:"fab fa-blogger",searchTerms:[]},{title:"fab fa-blogger-b",searchTerms:[]},{title:"fab fa-bluetooth",searchTerms:[]},{title:"fab fa-bluetooth-b",searchTerms:[]},{title:"fas fa-bold",searchTerms:[]},{title:"fas fa-bolt",searchTerms:["electricity","lightning","weather","zap"]},{title:"fas fa-bomb",searchTerms:[]},{title:"fas fa-bong",searchTerms:["aparatus","cannabis","marijuana","pipe","smoke","smoking"]},{title:"fas fa-book",searchTerms:["documentation","read"]},{title:"fas fa-book-open",searchTerms:["flyer","notebook","open book","pamphlet","reading"]},{title:"fas fa-bookmark",searchTerms:["save"]},{title:"far fa-bookmark",searchTerms:["save"]},{title:"fas fa-bowling-ball",searchTerms:[]},{title:"fas fa-box",searchTerms:["package"]},{title:"fas fa-box-open",searchTerms:[]},{title:"fas fa-boxes",searchTerms:[]},{title:"fas fa-braille",searchTerms:[]},{title:"fas fa-briefcase",searchTerms:["bag","business","luggage","office","work"]},{title:"fas fa-briefcase-medical",searchTerms:["health briefcase"]},{title:"fas fa-broadcast-tower",searchTerms:["airwaves","radio","waves"]},{title:"fas fa-broom",searchTerms:[]},{title:"fas fa-brush",searchTerms:["bristles","color","handle","painting"]},{title:"fab fa-btc",searchTerms:[]},{title:"fas fa-bug",searchTerms:["insect","report"]},{title:"fas fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"far fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"fas fa-bullhorn",searchTerms:["announcement","broadcast","louder","megaphone","share"]},{title:"fas fa-bullseye",searchTerms:["target"]},{title:"fas fa-burn",searchTerms:["energy"]},{title:"fab fa-buromobelexperte",searchTerms:[]},{title:"fas fa-bus",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fas fa-bus-alt",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fab fa-buysellads",searchTerms:[]},{title:"fas fa-calculator",searchTerms:[]},{title:"fas fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"far fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"fas fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"far fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"fas fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"far fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"fas fa-calendar-minus",searchTerms:[]},{title:"far fa-calendar-minus",searchTerms:[]},{title:"fas fa-calendar-plus",searchTerms:[]},{title:"far fa-calendar-plus",searchTerms:[]},{title:"fas fa-calendar-times",searchTerms:[]},{title:"far fa-calendar-times",searchTerms:[]},{title:"fas fa-camera",searchTerms:["photo","picture","record"]},{title:"fas fa-camera-retro",searchTerms:["photo","picture","record"]},{title:"fas fa-cannabis",searchTerms:["bud","chronic","drugs","endica","endo","ganja","marijuana","mary jane","pot","reefer","sativa","spliff","weed","whacky-tabacky"]},{title:"fas fa-capsules",searchTerms:["drugs","medicine"]},{title:"fas fa-car",searchTerms:["machine","transportation","vehicle"]},{title:"fas fa-caret-down",searchTerms:["arrow","dropdown","menu","more","triangle down"]},{title:"fas fa-caret-left",searchTerms:["arrow","back","previous","triangle left"]},{title:"fas fa-caret-right",searchTerms:["arrow","forward","next","triangle right"]},{title:"fas fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"far fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"fas fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"far fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"fas fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"far fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"fas fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"far fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"fas fa-caret-up",searchTerms:["arrow","triangle up"]},{title:"fas fa-cart-arrow-down",searchTerms:["shopping"]},{title:"fas fa-cart-plus",searchTerms:["add","shopping"]},{title:"fab fa-cc-amazon-pay",searchTerms:[]},{title:"fab fa-cc-amex",searchTerms:["amex"]},{title:"fab fa-cc-apple-pay",searchTerms:[]},{title:"fab fa-cc-diners-club",searchTerms:[]},{title:"fab fa-cc-discover",searchTerms:[]},{title:"fab fa-cc-jcb",searchTerms:[]},{title:"fab fa-cc-mastercard",searchTerms:[]},{title:"fab fa-cc-paypal",searchTerms:[]},{title:"fab fa-cc-stripe",searchTerms:[]},{title:"fab fa-cc-visa",searchTerms:[]},{title:"fab fa-centercode",searchTerms:[]},{title:"fas fa-certificate",searchTerms:["badge","star"]},{title:"fas fa-chalkboard",searchTerms:["blackboard","learning","school","teaching","whiteboard","writing"]},{title:"fas fa-chalkboard-teacher",searchTerms:["blackboard","instructor","learning","professor","school","whiteboard","writing"]},{title:"fas fa-chart-area",searchTerms:["analytics","area-chart","graph"]},{title:"fas fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"far fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"fas fa-chart-line",searchTerms:["activity","analytics","dashboard","graph","line-chart"]},{title:"fas fa-chart-pie",searchTerms:["analytics","graph","pie-chart"]},{title:"fas fa-check",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo","yes"]},{title:"fas fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-check-double",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo"]},{title:"fas fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-chess",searchTerms:[]},{title:"fas fa-chess-bishop",searchTerms:[]},{title:"fas fa-chess-board",searchTerms:[]},{title:"fas fa-chess-king",searchTerms:[]},{title:"fas fa-chess-knight",searchTerms:[]},{title:"fas fa-chess-pawn",searchTerms:[]},{title:"fas fa-chess-queen",searchTerms:[]},{title:"fas fa-chess-rook",searchTerms:[]},{title:"fas fa-chevron-circle-down",searchTerms:["arrow","dropdown","menu","more"]},{title:"fas fa-chevron-circle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-chevron-circle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-chevron-circle-up",searchTerms:["arrow"]},{title:"fas fa-chevron-down",searchTerms:[]},{title:"fas fa-chevron-left",searchTerms:["back","bracket","previous"]},{title:"fas fa-chevron-right",searchTerms:["bracket","forward","next"]},{title:"fas fa-chevron-up",searchTerms:[]},{title:"fas fa-child",searchTerms:[]},{title:"fab fa-chrome",searchTerms:["browser"]},{title:"fas fa-church",searchTerms:["building","community","religion"]},{title:"fas fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"far fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"fas fa-circle-notch",searchTerms:["circle-o-notch"]},{title:"fas fa-clipboard",searchTerms:["paste"]},{title:"far fa-clipboard",searchTerms:["paste"]},{title:"fas fa-clipboard-check",searchTerms:["accept","agree","confirm","done","ok","select","success","todo","yes"]},{title:"fas fa-clipboard-list",searchTerms:["checklist","completed","done","finished","intinerary","ol","schedule","todo","ul"]},{title:"fas fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"far fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"fas fa-clone",searchTerms:["copy","duplicate"]},{title:"far fa-clone",searchTerms:["copy","duplicate"]},{title:"fas fa-closed-captioning",searchTerms:["cc"]},{title:"far fa-closed-captioning",searchTerms:["cc"]},{title:"fas fa-cloud",searchTerms:["save"]},{title:"fas fa-cloud-download-alt",searchTerms:["cloud-download"]},{title:"fas fa-cloud-upload-alt",searchTerms:["cloud-upload"]},{title:"fab fa-cloudscale",searchTerms:[]},{title:"fab fa-cloudsmith",searchTerms:[]},{title:"fab fa-cloudversify",searchTerms:[]},{title:"fas fa-cocktail",searchTerms:["alcohol","drink"]},{title:"fas fa-code",searchTerms:["brackets","html"]},{title:"fas fa-code-branch",searchTerms:["branch","code-fork","fork","git","github","rebase","svn","vcs","version"]},{title:"fab fa-codepen",searchTerms:[]},{title:"fab fa-codiepie",searchTerms:[]},{title:"fas fa-coffee",searchTerms:["breakfast","cafe","drink","morning","mug","tea"]},{title:"fas fa-cog",searchTerms:["settings"]},{title:"fas fa-cogs",searchTerms:["gears","settings"]},{title:"fas fa-coins",searchTerms:[]},{title:"fas fa-columns",searchTerms:["dashboard","panes","split"]},{title:"fas fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-alt",searchTerms:["bubble","chat","commenting","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment-alt",searchTerms:["bubble","chat","commenting","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-dots",searchTerms:[]},{title:"far fa-comment-dots",searchTerms:[]},{title:"fas fa-comment-slash",searchTerms:[]},{title:"fas fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-compact-disc",searchTerms:["bluray","cd","disc","media"]},{title:"fas fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"far fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"fas fa-compress",searchTerms:["collapse","combine","contract","merge","smaller"]},{title:"fas fa-concierge-bell",searchTerms:["attention","hotel","service","support"]},{title:"fab fa-connectdevelop",searchTerms:[]},{title:"fab fa-contao",searchTerms:[]},{title:"fas fa-cookie",searchTerms:["baked good","chips","food","snack","sweet","treat"]},{title:"fas fa-cookie-bite",searchTerms:["baked good","bitten","chips","eating","food","snack","sweet","treat"]},{title:"fas fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"far fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"fas fa-copyright",searchTerms:[]},{title:"far fa-copyright",searchTerms:[]},{title:"fas fa-couch",searchTerms:[]},{title:"fab fa-cpanel",searchTerms:[]},{title:"fab fa-creative-commons",searchTerms:[]},{title:"fab fa-creative-commons-by",searchTerms:[]},{title:"fab fa-creative-commons-nc",searchTerms:[]},{title:"fab fa-creative-commons-nc-eu",searchTerms:[]},{title:"fab fa-creative-commons-nc-jp",searchTerms:[]},{title:"fab fa-creative-commons-nd",searchTerms:[]},{title:"fab fa-creative-commons-pd",searchTerms:[]},{title:"fab fa-creative-commons-pd-alt",searchTerms:[]},{title:"fab fa-creative-commons-remix",searchTerms:[]},{title:"fab fa-creative-commons-sa",searchTerms:[]},{title:"fab fa-creative-commons-sampling",searchTerms:[]},{title:"fab fa-creative-commons-sampling-plus",searchTerms:[]},{title:"fab fa-creative-commons-share",searchTerms:[]},{title:"fas fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"far fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"fas fa-crop",searchTerms:["design"]},{title:"fas fa-crop-alt",searchTerms:[]},{title:"fas fa-crosshairs",searchTerms:["gpd","picker","position"]},{title:"fas fa-crow",searchTerms:["bird","bullfrog","toad"]},{title:"fas fa-crown",searchTerms:[]},{title:"fab fa-css3",searchTerms:["code"]},{title:"fab fa-css3-alt",searchTerms:[]},{title:"fas fa-cube",searchTerms:["package"]},{title:"fas fa-cubes",searchTerms:["packages"]},{title:"fas fa-cut",searchTerms:["scissors","scissors"]},{title:"fab fa-cuttlefish",searchTerms:[]},{title:"fab fa-d-and-d",searchTerms:[]},{title:"fab fa-dashcube",searchTerms:[]},{title:"fas fa-database",searchTerms:[]},{title:"fas fa-deaf",searchTerms:[]},{title:"fab fa-delicious",searchTerms:[]},{title:"fab fa-deploydog",searchTerms:[]},{title:"fab fa-deskpro",searchTerms:[]},{title:"fas fa-desktop",searchTerms:["computer","cpu","demo","desktop","device","machine","monitor","pc","screen"]},{title:"fab fa-deviantart",searchTerms:[]},{title:"fas fa-diagnoses",searchTerms:[]},{title:"fas fa-dice",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-five",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-four",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-one",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-six",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-three",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-two",searchTerms:["chance","gambling","game","roll"]},{title:"fab fa-digg",searchTerms:[]},{title:"fab fa-digital-ocean",searchTerms:[]},{title:"fas fa-digital-tachograph",searchTerms:[]},{title:"fab fa-discord",searchTerms:[]},{title:"fab fa-discourse",searchTerms:[]},{title:"fas fa-divide",searchTerms:[]},{title:"fas fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"far fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"fas fa-dna",searchTerms:["double helix","helix"]},{title:"fab fa-dochub",searchTerms:[]},{title:"fab fa-docker",searchTerms:[]},{title:"fas fa-dollar-sign",searchTerms:["$","dollar-sign","money","price","usd"]},{title:"fas fa-dolly",searchTerms:[]},{title:"fas fa-dolly-flatbed",searchTerms:[]},{title:"fas fa-donate",searchTerms:["generosity","give"]},{title:"fas fa-door-closed",searchTerms:[]},{title:"fas fa-door-open",searchTerms:[]},{title:"fas fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"far fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"fas fa-dove",searchTerms:[]},{title:"fas fa-download",searchTerms:["import"]},{title:"fab fa-draft2digital",searchTerms:[]},{title:"fas fa-drafting-compass",searchTerms:["mechanical drawing","plot","plotting"]},{title:"fab fa-dribbble",searchTerms:[]},{title:"fab fa-dribbble-square",searchTerms:[]},{title:"fab fa-dropbox",searchTerms:[]},{title:"fas fa-drum",searchTerms:["instrument","music","percussion","snare","sound"]},{title:"fas fa-drum-steelpan",searchTerms:["calypso","instrument","music","percussion","reggae","snare","sound","steel","tropical"]},{title:"fab fa-drupal",searchTerms:[]},{title:"fas fa-dumbbell",searchTerms:["exercise","gym","strength","weight","weight-lifting"]},{title:"fab fa-dyalog",searchTerms:[]},{title:"fab fa-earlybirds",searchTerms:[]},{title:"fab fa-ebay",searchTerms:[]},{title:"fab fa-edge",searchTerms:["browser","ie"]},{title:"fas fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"far fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"fas fa-eject",searchTerms:[]},{title:"fab fa-elementor",searchTerms:[]},{title:"fas fa-ellipsis-h",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fas fa-ellipsis-v",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fab fa-ember",searchTerms:[]},{title:"fab fa-empire",searchTerms:[]},{title:"fas fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-square",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fab fa-envira",searchTerms:["leaf"]},{title:"fas fa-equals",searchTerms:[]},{title:"fas fa-eraser",searchTerms:["delete","remove"]},{title:"fab fa-erlang",searchTerms:[]},{title:"fab fa-ethereum",searchTerms:[]},{title:"fab fa-etsy",searchTerms:[]},{title:"fas fa-euro-sign",searchTerms:["eur","eur"]},{title:"fas fa-exchange-alt",searchTerms:["arrow","arrows","exchange","reciprocate","return","swap","transfer"]},{title:"fas fa-exclamation",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-circle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-triangle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-expand",searchTerms:["bigger","enlarge","resize"]},{title:"fas fa-expand-arrows-alt",searchTerms:["arrows-alt","bigger","enlarge","move","resize"]},{title:"fab fa-expeditedssl",searchTerms:[]},{title:"fas fa-external-link-alt",searchTerms:["external-link","new","open"]},{title:"fas fa-external-link-square-alt",searchTerms:["external-link-square","new","open"]},{title:"fas fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"far fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"fas fa-eye-dropper",searchTerms:["eyedropper"]},{title:"fas fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"far fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"fab fa-facebook",searchTerms:["facebook-official","social network"]},{title:"fab fa-facebook-f",searchTerms:["facebook"]},{title:"fab fa-facebook-messenger",searchTerms:[]},{title:"fab fa-facebook-square",searchTerms:["social network"]},{title:"fas fa-fast-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-fast-forward",searchTerms:["end","last","next"]},{title:"fas fa-fax",searchTerms:[]},{title:"fas fa-feather",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-feather-alt",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-female",searchTerms:["human","person","profile","user","woman"]},{title:"fas fa-fighter-jet",searchTerms:["airplane","fast","fly","goose","maverick","plane","quick","top gun","transportation","travel"]},{title:"fas fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"far fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"fas fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"far fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"fas fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"far fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"fas fa-file-audio",searchTerms:[]},{title:"far fa-file-audio",searchTerms:[]},{title:"fas fa-file-code",searchTerms:[]},{title:"far fa-file-code",searchTerms:[]},{title:"fas fa-file-contract",searchTerms:["agreement","binding","document","legal","signature"]},{title:"fas fa-file-download",searchTerms:[]},{title:"fas fa-file-excel",searchTerms:[]},{title:"far fa-file-excel",searchTerms:[]},{title:"fas fa-file-export",searchTerms:[]},{title:"fas fa-file-image",searchTerms:[]},{title:"far fa-file-image",searchTerms:[]},{title:"fas fa-file-import",searchTerms:[]},{title:"fas fa-file-invoice",searchTerms:["bill","document","receipt"]},{title:"fas fa-file-invoice-dollar",searchTerms:["$","bill","document","dollar-sign","money","receipt","usd"]},{title:"fas fa-file-medical",searchTerms:[]},{title:"fas fa-file-medical-alt",searchTerms:[]},{title:"fas fa-file-pdf",searchTerms:[]},{title:"far fa-file-pdf",searchTerms:[]},{title:"fas fa-file-powerpoint",searchTerms:[]},{title:"far fa-file-powerpoint",searchTerms:[]},{title:"fas fa-file-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-file-signature",searchTerms:["John Hancock","contract","document","name"]},{title:"fas fa-file-upload",searchTerms:[]},{title:"fas fa-file-video",searchTerms:[]},{title:"far fa-file-video",searchTerms:[]},{title:"fas fa-file-word",searchTerms:[]},{title:"far fa-file-word",searchTerms:[]},{title:"fas fa-fill",searchTerms:["bucket","color","paint","paint bucket"]},{title:"fas fa-fill-drip",searchTerms:["bucket","color","drop","paint","paint bucket","spill"]},{title:"fas fa-film",searchTerms:["movie"]},{title:"fas fa-filter",searchTerms:["funnel","options"]},{title:"fas fa-fingerprint",searchTerms:["human","id","identification","lock","smudge","touch","unique","unlock"]},{title:"fas fa-fire",searchTerms:["flame","hot","popular"]},{title:"fas fa-fire-extinguisher",searchTerms:[]},{title:"fab fa-firefox",searchTerms:["browser"]},{title:"fas fa-first-aid",searchTerms:[]},{title:"fab fa-first-order",searchTerms:[]},{title:"fab fa-first-order-alt",searchTerms:[]},{title:"fab fa-firstdraft",searchTerms:[]},{title:"fas fa-fish",searchTerms:[]},{title:"fas fa-flag",searchTerms:["notice","notification","notify","report"]},{title:"far fa-flag",searchTerms:["notice","notification","notify","report"]},{title:"fas fa-flag-checkered",searchTerms:["notice","notification","notify","report"]},{title:"fas fa-flask",searchTerms:["beaker","experimental","labs","science"]},{title:"fab fa-flickr",searchTerms:[]},{title:"fab fa-flipboard",searchTerms:[]},{title:"fas fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"far fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"fab fa-fly",searchTerms:[]},{title:"fas fa-folder",searchTerms:[]},{title:"far fa-folder",searchTerms:[]},{title:"fas fa-folder-open",searchTerms:[]},{title:"far fa-folder-open",searchTerms:[]},{title:"fas fa-font",searchTerms:["text"]},{title:"fab fa-font-awesome",searchTerms:["meanpath"]},{title:"fab fa-font-awesome-alt",searchTerms:[]},{title:"fab fa-font-awesome-flag",searchTerms:[]},{title:"far fa-font-awesome-logo-full",searchTerms:[]},{title:"fas fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-fonticons",searchTerms:[]},{title:"fab fa-fonticons-fi",searchTerms:[]},{title:"fas fa-football-ball",searchTerms:[]},{title:"fab fa-fort-awesome",searchTerms:["castle"]},{title:"fab fa-fort-awesome-alt",searchTerms:["castle"]},{title:"fab fa-forumbee",searchTerms:[]},{title:"fas fa-forward",searchTerms:["forward","next"]},{title:"fab fa-foursquare",searchTerms:[]},{title:"fab fa-free-code-camp",searchTerms:[]},{title:"fab fa-freebsd",searchTerms:[]},{title:"fas fa-frog",searchTerms:["bullfrog","kermit","kiss","prince","toad","wart"]},{title:"fas fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fas fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fab fa-fulcrum",searchTerms:[]},{title:"fas fa-futbol",searchTerms:["ball","football","soccer"]},{title:"far fa-futbol",searchTerms:["ball","football","soccer"]},{title:"fab fa-galactic-republic",searchTerms:[]},{title:"fab fa-galactic-senate",searchTerms:[]},{title:"fas fa-gamepad",searchTerms:["controller"]},{title:"fas fa-gas-pump",searchTerms:[]},{title:"fas fa-gavel",searchTerms:["hammer","judge","lawyer","opinion"]},{title:"fas fa-gem",searchTerms:["diamond"]},{title:"far fa-gem",searchTerms:["diamond"]},{title:"fas fa-genderless",searchTerms:[]},{title:"fab fa-get-pocket",searchTerms:[]},{title:"fab fa-gg",searchTerms:[]},{title:"fab fa-gg-circle",searchTerms:[]},{title:"fas fa-gift",searchTerms:["generosity","giving","party","present","wrapped"]},{title:"fab fa-git",searchTerms:[]},{title:"fab fa-git-square",searchTerms:[]},{title:"fab fa-github",searchTerms:["octocat"]},{title:"fab fa-github-alt",searchTerms:["octocat"]},{title:"fab fa-github-square",searchTerms:["octocat"]},{title:"fab fa-gitkraken",searchTerms:[]},{title:"fab fa-gitlab",searchTerms:["Axosoft"]},{title:"fab fa-gitter",searchTerms:[]},{title:"fas fa-glass-martini",searchTerms:["alcohol","bar","drink","glass","liquor","martini"]},{title:"fas fa-glass-martini-alt",searchTerms:[]},{title:"fas fa-glasses",searchTerms:["foureyes","hipster","nerd","reading","sight","spectacles"]},{title:"fab fa-glide",searchTerms:[]},{title:"fab fa-glide-g",searchTerms:[]},{title:"fas fa-globe",searchTerms:["all","coordinates","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-africa",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-americas",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-asia",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fab fa-gofore",searchTerms:[]},{title:"fas fa-golf-ball",searchTerms:[]},{title:"fab fa-goodreads",searchTerms:[]},{title:"fab fa-goodreads-g",searchTerms:[]},{title:"fab fa-google",searchTerms:[]},{title:"fab fa-google-drive",searchTerms:[]},{title:"fab fa-google-play",searchTerms:[]},{title:"fab fa-google-plus",searchTerms:["google-plus-circle","google-plus-official"]},{title:"fab fa-google-plus-g",searchTerms:["google-plus","social network"]},{title:"fab fa-google-plus-square",searchTerms:["social network"]},{title:"fab fa-google-wallet",searchTerms:[]},{title:"fas fa-graduation-cap",searchTerms:["learning","school","student"]},{title:"fab fa-gratipay",searchTerms:["favorite","heart","like","love"]},{title:"fab fa-grav",searchTerms:[]},{title:"fas fa-greater-than",searchTerms:[]},{title:"fas fa-greater-than-equal",searchTerms:[]},{title:"fas fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"far fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"fas fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"far fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"fas fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"far fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"fas fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"far fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"fas fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"far fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"fas fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"far fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"fas fa-grip-horizontal",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fas fa-grip-vertical",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fab fa-gripfire",searchTerms:[]},{title:"fab fa-grunt",searchTerms:[]},{title:"fab fa-gulp",searchTerms:[]},{title:"fas fa-h-square",searchTerms:["hospital","hotel"]},{title:"fab fa-hacker-news",searchTerms:[]},{title:"fab fa-hacker-news-square",searchTerms:[]},{title:"fas fa-hand-holding",searchTerms:[]},{title:"fas fa-hand-holding-heart",searchTerms:[]},{title:"fas fa-hand-holding-usd",searchTerms:["$","dollar sign","donation","giving","money","price"]},{title:"fas fa-hand-lizard",searchTerms:[]},{title:"far fa-hand-lizard",searchTerms:[]},{title:"fas fa-hand-paper",searchTerms:["stop"]},{title:"far fa-hand-paper",searchTerms:["stop"]},{title:"fas fa-hand-peace",searchTerms:[]},{title:"far fa-hand-peace",searchTerms:[]},{title:"fas fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"far fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"fas fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"far fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"fas fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"far fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"fas fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"far fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"fas fa-hand-pointer",searchTerms:["select"]},{title:"far fa-hand-pointer",searchTerms:["select"]},{title:"fas fa-hand-rock",searchTerms:[]},{title:"far fa-hand-rock",searchTerms:[]},{title:"fas fa-hand-scissors",searchTerms:[]},{title:"far fa-hand-scissors",searchTerms:[]},{title:"fas fa-hand-spock",searchTerms:[]},{title:"far fa-hand-spock",searchTerms:[]},{title:"fas fa-hands",searchTerms:[]},{title:"fas fa-hands-helping",searchTerms:["aid","assistance","partnership","volunteering"]},{title:"fas fa-handshake",searchTerms:["greeting","partnership"]},{title:"far fa-handshake",searchTerms:["greeting","partnership"]},{title:"fas fa-hashtag",searchTerms:[]},{title:"fas fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"far fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"fas fa-heading",searchTerms:["header","header"]},{title:"fas fa-headphones",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headphones-alt",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headset",searchTerms:["audio","gamer","gaming","listen","live chat","microphone","shot caller","sound","support","telemarketer"]},{title:"fas fa-heart",searchTerms:["favorite","like","love"]},{title:"far fa-heart",searchTerms:["favorite","like","love"]},{title:"fas fa-heartbeat",searchTerms:["ekg","lifeline","vital signs"]},{title:"fas fa-helicopter",searchTerms:["airwolf","apache","chopper","flight","fly"]},{title:"fas fa-highlighter",searchTerms:["edit","marker","sharpie","update","write"]},{title:"fab fa-hips",searchTerms:[]},{title:"fab fa-hire-a-helper",searchTerms:[]},{title:"fas fa-history",searchTerms:[]},{title:"fas fa-hockey-puck",searchTerms:[]},{title:"fas fa-home",searchTerms:["house","main"]},{title:"fab fa-hooli",searchTerms:[]},{title:"fab fa-hornbill",searchTerms:[]},{title:"fas fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"far fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-alt",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-symbol",searchTerms:[]},{title:"fas fa-hot-tub",searchTerms:[]},{title:"fas fa-hotel",searchTerms:["building","lodging"]},{title:"fab fa-hotjar",searchTerms:[]},{title:"fas fa-hourglass",searchTerms:[]},{title:"far fa-hourglass",searchTerms:[]},{title:"fas fa-hourglass-end",searchTerms:[]},{title:"fas fa-hourglass-half",searchTerms:[]},{title:"fas fa-hourglass-start",searchTerms:[]},{title:"fab fa-houzz",searchTerms:[]},{title:"fab fa-html5",searchTerms:[]},{title:"fab fa-hubspot",searchTerms:[]},{title:"fas fa-i-cursor",searchTerms:[]},{title:"fas fa-id-badge",searchTerms:[]},{title:"far fa-id-badge",searchTerms:[]},{title:"fas fa-id-card",searchTerms:["document","identification","issued"]},{title:"far fa-id-card",searchTerms:["document","identification","issued"]},{title:"fas fa-id-card-alt",searchTerms:["demographics"]},{title:"fas fa-image",searchTerms:["album","photo","picture","picture"]},{title:"far fa-image",searchTerms:["album","photo","picture","picture"]},{title:"fas fa-images",searchTerms:["album","photo","picture"]},{title:"far fa-images",searchTerms:["album","photo","picture"]},{title:"fab fa-imdb",searchTerms:[]},{title:"fas fa-inbox",searchTerms:[]},{title:"fas fa-indent",searchTerms:[]},{title:"fas fa-industry",searchTerms:["factory","manufacturing"]},{title:"fas fa-infinity",searchTerms:[]},{title:"fas fa-info",searchTerms:["details","help","information","more"]},{title:"fas fa-info-circle",searchTerms:["details","help","information","more"]},{title:"fab fa-instagram",searchTerms:[]},{title:"fab fa-internet-explorer",searchTerms:["browser","ie"]},{title:"fab fa-ioxhost",searchTerms:[]},{title:"fas fa-italic",searchTerms:["italics"]},{title:"fab fa-itunes",searchTerms:[]},{title:"fab fa-itunes-note",searchTerms:[]},{title:"fab fa-java",searchTerms:[]},{title:"fab fa-jedi-order",searchTerms:[]},{title:"fab fa-jenkins",searchTerms:[]},{title:"fab fa-joget",searchTerms:[]},{title:"fas fa-joint",searchTerms:["blunt","cannabis","doobie","drugs","marijuana","roach","smoke","smoking","spliff"]},{title:"fab fa-joomla",searchTerms:[]},{title:"fab fa-js",searchTerms:[]},{title:"fab fa-js-square",searchTerms:[]},{title:"fab fa-jsfiddle",searchTerms:[]},{title:"fas fa-key",searchTerms:["password","unlock"]},{title:"fab fa-keybase",searchTerms:[]},{title:"fas fa-keyboard",searchTerms:["input","type"]},{title:"far fa-keyboard",searchTerms:["input","type"]},{title:"fab fa-keycdn",searchTerms:[]},{title:"fab fa-kickstarter",searchTerms:[]},{title:"fab fa-kickstarter-k",searchTerms:[]},{title:"fas fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiwi-bird",searchTerms:[]},{title:"fab fa-korvue",searchTerms:[]},{title:"fas fa-language",searchTerms:["dialect","idiom","localize","speech","translate","vernacular"]},{title:"fas fa-laptop",searchTerms:["computer","cpu","dell","demo","device","dude you're getting","mac","macbook","machine","pc","pc"]},{title:"fab fa-laravel",searchTerms:[]},{title:"fab fa-lastfm",searchTerms:[]},{title:"fab fa-lastfm-square",searchTerms:[]},{title:"fas fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"far fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"fas fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-leaf",searchTerms:["eco","nature","plant"]},{title:"fab fa-leanpub",searchTerms:[]},{title:"fas fa-lemon",searchTerms:["food"]},{title:"far fa-lemon",searchTerms:["food"]},{title:"fab fa-less",searchTerms:[]},{title:"fas fa-less-than",searchTerms:[]},{title:"fas fa-less-than-equal",searchTerms:[]},{title:"fas fa-level-down-alt",searchTerms:["level-down"]},{title:"fas fa-level-up-alt",searchTerms:["level-up"]},{title:"fas fa-life-ring",searchTerms:["support"]},{title:"far fa-life-ring",searchTerms:["support"]},{title:"fas fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"far fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"fab fa-line",searchTerms:[]},{title:"fas fa-link",searchTerms:["chain"]},{title:"fab fa-linkedin",searchTerms:["linkedin-square"]},{title:"fab fa-linkedin-in",searchTerms:["linkedin"]},{title:"fab fa-linode",searchTerms:[]},{title:"fab fa-linux",searchTerms:["tux"]},{title:"fas fa-lira-sign",searchTerms:["try","try","turkish"]},{title:"fas fa-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"far fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-ol",searchTerms:["checklist","list","list","numbers","ol","todo","ul"]},{title:"fas fa-list-ul",searchTerms:["checklist","list","ol","todo","ul"]},{title:"fas fa-location-arrow",searchTerms:["address","coordinates","gps","location","map","place","where"]},{title:"fas fa-lock",searchTerms:["admin","protect","security"]},{title:"fas fa-lock-open",searchTerms:["admin","lock","open","password","protect"]},{title:"fas fa-long-arrow-alt-down",searchTerms:["long-arrow-down"]},{title:"fas fa-long-arrow-alt-left",searchTerms:["back","long-arrow-left","previous"]},{title:"fas fa-long-arrow-alt-right",searchTerms:["long-arrow-right"]},{title:"fas fa-long-arrow-alt-up",searchTerms:["long-arrow-up"]},{title:"fas fa-low-vision",searchTerms:[]},{title:"fas fa-luggage-cart",searchTerms:[]},{title:"fab fa-lyft",searchTerms:[]},{title:"fab fa-magento",searchTerms:[]},{title:"fas fa-magic",searchTerms:["autocomplete","automatic","wizard"]},{title:"fas fa-magnet",searchTerms:[]},{title:"fab fa-mailchimp",searchTerms:[]},{title:"fas fa-male",searchTerms:["human","man","person","profile","user"]},{title:"fab fa-mandalorian",searchTerms:[]},{title:"fas fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"far fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"fas fa-map-marked",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marked-alt",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marker",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-marker-alt",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-pin",searchTerms:["address","coordinates","gps","localize","location","map","marker","place","position","travel","where"]},{title:"fas fa-map-signs",searchTerms:[]},{title:"fas fa-marker",searchTerms:["edit","sharpie","update","write"]},{title:"fas fa-mars",searchTerms:["male"]},{title:"fas fa-mars-double",searchTerms:[]},{title:"fas fa-mars-stroke",searchTerms:[]},{title:"fas fa-mars-stroke-h",searchTerms:[]},{title:"fas fa-mars-stroke-v",searchTerms:[]},{title:"fab fa-mastodon",searchTerms:[]},{title:"fab fa-maxcdn",searchTerms:[]},{title:"fas fa-medal",searchTerms:[]},{title:"fab fa-medapps",searchTerms:[]},{title:"fab fa-medium",searchTerms:[]},{title:"fab fa-medium-m",searchTerms:[]},{title:"fas fa-medkit",searchTerms:["first aid","firstaid","health","help","support"]},{title:"fab fa-medrt",searchTerms:[]},{title:"fab fa-meetup",searchTerms:[]},{title:"fab fa-megaport",searchTerms:[]},{title:"fas fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-memory",searchTerms:["DIMM","RAM"]},{title:"fas fa-mercury",searchTerms:["transgender"]},{title:"fas fa-microchip",searchTerms:["cpu","processor"]},{title:"fas fa-microphone",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fas fa-microphone-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fab fa-microsoft",searchTerms:[]},{title:"fas fa-minus",searchTerms:["collapse","delete","hide","hide","minify","remove","trash"]},{title:"fas fa-minus-circle",searchTerms:["delete","hide","remove","trash"]},{title:"fas fa-minus-square",searchTerms:["collapse","delete","hide","hide","minify","remove","trash"]},{title:"far fa-minus-square",searchTerms:["collapse","delete","hide","hide","minify","remove","trash"]},{title:"fab fa-mix",searchTerms:[]},{title:"fab fa-mixcloud",searchTerms:[]},{title:"fab fa-mizuni",searchTerms:[]},{title:"fas fa-mobile",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fas fa-mobile-alt",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fab fa-modx",searchTerms:[]},{title:"fab fa-monero",searchTerms:[]},{title:"fas fa-money-bill",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"far fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-wave",searchTerms:[]},{title:"fas fa-money-bill-wave-alt",searchTerms:[]},{title:"fas fa-money-check",searchTerms:["bank check","cheque"]},{title:"fas fa-money-check-alt",searchTerms:["bank check","cheque"]},{title:"fas fa-monument",searchTerms:["building","historic","memoroable"]},{title:"fas fa-moon",searchTerms:["contrast","darker","night"]},{title:"far fa-moon",searchTerms:["contrast","darker","night"]},{title:"fas fa-mortar-pestle",searchTerms:["crush","culinary","grind","medical","mix","spices"]},{title:"fas fa-motorcycle",searchTerms:["bike","machine","transportation","vehicle"]},{title:"fas fa-mouse-pointer",searchTerms:["select"]},{title:"fas fa-music",searchTerms:["note","sound"]},{title:"fab fa-napster",searchTerms:[]},{title:"fas fa-neuter",searchTerms:[]},{title:"fas fa-newspaper",searchTerms:["article","press"]},{title:"far fa-newspaper",searchTerms:["article","press"]},{title:"fab fa-nimblr",searchTerms:[]},{title:"fab fa-nintendo-switch",searchTerms:[]},{title:"fab fa-node",searchTerms:[]},{title:"fab fa-node-js",searchTerms:[]},{title:"fas fa-not-equal",searchTerms:[]},{title:"fas fa-notes-medical",searchTerms:[]},{title:"fab fa-npm",searchTerms:[]},{title:"fab fa-ns8",searchTerms:[]},{title:"fab fa-nutritionix",searchTerms:[]},{title:"fas fa-object-group",searchTerms:["design"]},{title:"far fa-object-group",searchTerms:["design"]},{title:"fas fa-object-ungroup",searchTerms:["design"]},{title:"far fa-object-ungroup",searchTerms:["design"]},{title:"fab fa-odnoklassniki",searchTerms:[]},{title:"fab fa-odnoklassniki-square",searchTerms:[]},{title:"fab fa-old-republic",searchTerms:[]},{title:"fab fa-opencart",searchTerms:[]},{title:"fab fa-openid",searchTerms:[]},{title:"fab fa-opera",searchTerms:[]},{title:"fab fa-optin-monster",searchTerms:[]},{title:"fab fa-osi",searchTerms:[]},{title:"fas fa-outdent",searchTerms:[]},{title:"fab fa-page4",searchTerms:[]},{title:"fab fa-pagelines",searchTerms:["eco","leaf","leaves","nature","plant","tree"]},{title:"fas fa-paint-brush",searchTerms:[]},{title:"fas fa-paint-roller",searchTerms:["brush","painting","tool"]},{title:"fas fa-palette",searchTerms:["colors","painting"]},{title:"fab fa-palfed",searchTerms:[]},{title:"fas fa-pallet",searchTerms:[]},{title:"fas fa-paper-plane",searchTerms:[]},{title:"far fa-paper-plane",searchTerms:[]},{title:"fas fa-paperclip",searchTerms:["attachment"]},{title:"fas fa-parachute-box",searchTerms:["aid","assistance","rescue","supplies"]},{title:"fas fa-paragraph",searchTerms:[]},{title:"fas fa-parking",searchTerms:[]},{title:"fas fa-passport",searchTerms:["document","identification","issued"]},{title:"fas fa-paste",searchTerms:["clipboard","copy"]},{title:"fab fa-patreon",searchTerms:[]},{title:"fas fa-pause",searchTerms:["wait"]},{title:"fas fa-pause-circle",searchTerms:[]},{title:"far fa-pause-circle",searchTerms:[]},{title:"fas fa-paw",searchTerms:["pet"]},{title:"fab fa-paypal",searchTerms:[]},{title:"fas fa-pen",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-alt",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-fancy",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-nib",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-square",searchTerms:["edit","pencil-square","update","write"]},{title:"fas fa-pencil-alt",searchTerms:["design","edit","pencil","update","write"]},{title:"fas fa-pencil-ruler",searchTerms:[]},{title:"fas fa-people-carry",searchTerms:["movers"]},{title:"fas fa-percent",searchTerms:[]},{title:"fas fa-percentage",searchTerms:[]},{title:"fab fa-periscope",searchTerms:[]},{title:"fab fa-phabricator",searchTerms:[]},{title:"fab fa-phoenix-framework",searchTerms:[]},{title:"fab fa-phoenix-squadron",searchTerms:[]},{title:"fas fa-phone",searchTerms:["call","earphone","number","support","telephone","voice"]},{title:"fas fa-phone-slash",searchTerms:[]},{title:"fas fa-phone-square",searchTerms:["call","number","support","telephone","voice"]},{title:"fas fa-phone-volume",searchTerms:["telephone","volume-control-phone"]},{title:"fab fa-php",searchTerms:[]},{title:"fab fa-pied-piper",searchTerms:[]},{title:"fab fa-pied-piper-alt",searchTerms:[]},{title:"fab fa-pied-piper-hat",searchTerms:["clothing"]},{title:"fab fa-pied-piper-pp",searchTerms:[]},{title:"fas fa-piggy-bank",searchTerms:["save","savings"]},{title:"fas fa-pills",searchTerms:["drugs","medicine"]},{title:"fab fa-pinterest",searchTerms:[]},{title:"fab fa-pinterest-p",searchTerms:[]},{title:"fab fa-pinterest-square",searchTerms:[]},{title:"fas fa-plane",searchTerms:["airplane","destination","fly","location","mode","travel","trip"]},{title:"fas fa-plane-arrival",searchTerms:["airplane","arriving","destination","fly","land","landing","location","mode","travel","trip"]},{title:"fas fa-plane-departure",searchTerms:["airplane","departing","destination","fly","location","mode","take off","taking off","travel","trip"]},{title:"fas fa-play",searchTerms:["music","playing","sound","start"]},{title:"fas fa-play-circle",searchTerms:["playing","start"]},{title:"far fa-play-circle",searchTerms:["playing","start"]},{title:"fab fa-playstation",searchTerms:[]},{title:"fas fa-plug",searchTerms:["connect","online","power"]},{title:"fas fa-plus",searchTerms:["add","create","expand","new"]},{title:"fas fa-plus-circle",searchTerms:["add","create","expand","new"]},{title:"fas fa-plus-square",searchTerms:["add","create","expand","new"]},{title:"far fa-plus-square",searchTerms:["add","create","expand","new"]},{title:"fas fa-podcast",searchTerms:[]},{title:"fas fa-poo",searchTerms:[]},{title:"fas fa-portrait",searchTerms:[]},{title:"fas fa-pound-sign",searchTerms:["gbp","gbp"]},{title:"fas fa-power-off",searchTerms:["on","reboot","restart"]},{title:"fas fa-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle-alt",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-print",searchTerms:[]},{title:"fas fa-procedures",searchTerms:[]},{title:"fab fa-product-hunt",searchTerms:[]},{title:"fas fa-project-diagram",searchTerms:[]},{title:"fab fa-pushed",searchTerms:[]},{title:"fas fa-puzzle-piece",searchTerms:["add-on","addon","section"]},{title:"fab fa-python",searchTerms:[]},{title:"fab fa-qq",searchTerms:[]},{title:"fas fa-qrcode",searchTerms:["scan"]},{title:"fas fa-question",searchTerms:["help","information","support","unknown"]},{title:"fas fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"far fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"fas fa-quidditch",searchTerms:[]},{title:"fab fa-quinscape",searchTerms:[]},{title:"fab fa-quora",searchTerms:[]},{title:"fas fa-quote-left",searchTerms:[]},{title:"fas fa-quote-right",searchTerms:[]},{title:"fab fa-r-project",searchTerms:[]},{title:"fas fa-random",searchTerms:["shuffle","sort"]},{title:"fab fa-ravelry",searchTerms:[]},{title:"fab fa-react",searchTerms:[]},{title:"fab fa-readme",searchTerms:[]},{title:"fab fa-rebel",searchTerms:[]},{title:"fas fa-receipt",searchTerms:["check","invoice","table"]},{title:"fas fa-recycle",searchTerms:[]},{title:"fab fa-red-river",searchTerms:[]},{title:"fab fa-reddit",searchTerms:[]},{title:"fab fa-reddit-alien",searchTerms:[]},{title:"fab fa-reddit-square",searchTerms:[]},{title:"fas fa-redo",searchTerms:["forward","repeat","repeat"]},{title:"fas fa-redo-alt",searchTerms:["forward","repeat"]},{title:"fas fa-registered",searchTerms:[]},{title:"far fa-registered",searchTerms:[]},{title:"fab fa-rendact",searchTerms:[]},{title:"fab fa-renren",searchTerms:[]},{title:"fas fa-reply",searchTerms:[]},{title:"fas fa-reply-all",searchTerms:[]},{title:"fab fa-replyd",searchTerms:[]},{title:"fab fa-researchgate",searchTerms:[]},{title:"fab fa-resolving",searchTerms:[]},{title:"fas fa-retweet",searchTerms:["refresh","reload","share","swap"]},{title:"fab fa-rev",searchTerms:[]},{title:"fas fa-ribbon",searchTerms:["badge","cause","lapel","pin"]},{title:"fas fa-road",searchTerms:["street"]},{title:"fas fa-robot",searchTerms:[]},{title:"fas fa-rocket",searchTerms:["app"]},{title:"fab fa-rocketchat",searchTerms:[]},{title:"fab fa-rockrms",searchTerms:[]},{title:"fas fa-rss",searchTerms:["blog"]},{title:"fas fa-rss-square",searchTerms:["blog","feed"]},{title:"fas fa-ruble-sign",searchTerms:["rub","rub"]},{title:"fas fa-ruler",searchTerms:[]},{title:"fas fa-ruler-combined",searchTerms:[]},{title:"fas fa-ruler-horizontal",searchTerms:[]},{title:"fas fa-ruler-vertical",searchTerms:[]},{title:"fas fa-rupee-sign",searchTerms:["indian","inr"]},{title:"fas fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"fas fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"fab fa-safari",searchTerms:["browser"]},{title:"fab fa-sass",searchTerms:[]},{title:"fas fa-save",searchTerms:["floppy","floppy-o"]},{title:"far fa-save",searchTerms:["floppy","floppy-o"]},{title:"fab fa-schlix",searchTerms:[]},{title:"fas fa-school",searchTerms:[]},{title:"fas fa-screwdriver",searchTerms:["admin","container","fix","repair","settings","tool"]},{title:"fab fa-scribd",searchTerms:[]},{title:"fas fa-search",searchTerms:["bigger","enlarge","magnify","preview","zoom"]},{title:"fas fa-search-minus",searchTerms:["magnify","minify","smaller","zoom","zoom out"]},{title:"fas fa-search-plus",searchTerms:["bigger","enlarge","magnify","zoom","zoom in"]},{title:"fab fa-searchengin",searchTerms:[]},{title:"fas fa-seedling",searchTerms:[]},{title:"fab fa-sellcast",searchTerms:["eercast"]},{title:"fab fa-sellsy",searchTerms:[]},{title:"fas fa-server",searchTerms:["cpu"]},{title:"fab fa-servicestack",searchTerms:[]},{title:"fas fa-share",searchTerms:[]},{title:"fas fa-share-alt",searchTerms:[]},{title:"fas fa-share-alt-square",searchTerms:[]},{title:"fas fa-share-square",searchTerms:["send","social"]},{title:"far fa-share-square",searchTerms:["send","social"]},{title:"fas fa-shekel-sign",searchTerms:["ils","ils"]},{title:"fas fa-shield-alt",searchTerms:["shield"]},{title:"fas fa-ship",searchTerms:["boat","sea"]},{title:"fas fa-shipping-fast",searchTerms:[]},{title:"fab fa-shirtsinbulk",searchTerms:[]},{title:"fas fa-shoe-prints",searchTerms:["feet","footprints","steps"]},{title:"fas fa-shopping-bag",searchTerms:[]},{title:"fas fa-shopping-basket",searchTerms:[]},{title:"fas fa-shopping-cart",searchTerms:["buy","checkout","payment","purchase"]},{title:"fab fa-shopware",searchTerms:[]},{title:"fas fa-shower",searchTerms:[]},{title:"fas fa-shuttle-van",searchTerms:["machine","public-transportation","transportation","vehicle"]},{title:"fas fa-sign",searchTerms:[]},{title:"fas fa-sign-in-alt",searchTerms:["arrow","enter","join","log in","login","sign in","sign up","sign-in","signin","signup"]},{title:"fas fa-sign-language",searchTerms:[]},{title:"fas fa-sign-out-alt",searchTerms:["arrow","exit","leave","log out","logout","sign-out"]},{title:"fas fa-signal",searchTerms:["bars","graph","online","status"]},{title:"fas fa-signature",searchTerms:["John Hancock","cursive","name","writing"]},{title:"fab fa-simplybuilt",searchTerms:[]},{title:"fab fa-sistrix",searchTerms:[]},{title:"fas fa-sitemap",searchTerms:["directory","hierarchy","ia","information architecture","organization"]},{title:"fab fa-sith",searchTerms:[]},{title:"fas fa-skull",searchTerms:["bones","skeleton","yorick"]},{title:"fab fa-skyatlas",searchTerms:[]},{title:"fab fa-skype",searchTerms:[]},{title:"fab fa-slack",searchTerms:["anchor","hash","hashtag"]},{title:"fab fa-slack-hash",searchTerms:["anchor","hash","hashtag"]},{title:"fas fa-sliders-h",searchTerms:["settings","sliders"]},{title:"fab fa-slideshare",searchTerms:[]},{title:"fas fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"far fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"fas fa-smile-beam",searchTerms:["emoticon","face","happy"]},{title:"far fa-smile-beam",searchTerms:["emoticon","face","happy"]},{title:"fas fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"far fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"fas fa-smoking",searchTerms:["cigarette","nicotine","smoking status"]},{title:"fas fa-smoking-ban",searchTerms:["no smoking","non-smoking"]},{title:"fab fa-snapchat",searchTerms:[]},{title:"fab fa-snapchat-ghost",searchTerms:[]},{title:"fab fa-snapchat-square",searchTerms:[]},{title:"fas fa-snowflake",searchTerms:[]},{title:"far fa-snowflake",searchTerms:[]},{title:"fas fa-solar-panel",searchTerms:["clean","eco-friendly","energy","green","sun"]},{title:"fas fa-sort",searchTerms:["order"]},{title:"fas fa-sort-alpha-down",searchTerms:["sort-alpha-asc"]},{title:"fas fa-sort-alpha-up",searchTerms:["sort-alpha-desc"]},{title:"fas fa-sort-amount-down",searchTerms:["sort-amount-asc"]},{title:"fas fa-sort-amount-up",searchTerms:["sort-amount-desc"]},{title:"fas fa-sort-down",searchTerms:["arrow","descending","sort-desc"]},{title:"fas fa-sort-numeric-down",searchTerms:["numbers","sort-numeric-asc"]},{title:"fas fa-sort-numeric-up",searchTerms:["numbers","sort-numeric-desc"]},{title:"fas fa-sort-up",searchTerms:["arrow","ascending","sort-asc"]},{title:"fab fa-soundcloud",searchTerms:[]},{title:"fas fa-spa",searchTerms:["mindfullness","plant","wellness"]},{title:"fas fa-space-shuttle",searchTerms:["astronaut","machine","nasa","rocket","transportation"]},{title:"fab fa-speakap",searchTerms:[]},{title:"fas fa-spinner",searchTerms:["loading","progress"]},{title:"fas fa-splotch",searchTerms:[]},{title:"fab fa-spotify",searchTerms:[]},{title:"fas fa-spray-can",searchTerms:[]},{title:"fas fa-square",searchTerms:["block","box"]},{title:"far fa-square",searchTerms:["block","box"]},{title:"fas fa-square-full",searchTerms:[]},{title:"fab fa-squarespace",searchTerms:[]},{title:"fab fa-stack-exchange",searchTerms:[]},{title:"fab fa-stack-overflow",searchTerms:[]},{title:"fas fa-stamp",searchTerms:[]},{title:"fas fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"far fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"fas fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"far fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fas fa-star-half-alt",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fab fa-staylinked",searchTerms:[]},{title:"fab fa-steam",searchTerms:[]},{title:"fab fa-steam-square",searchTerms:[]},{title:"fab fa-steam-symbol",searchTerms:[]},{title:"fas fa-step-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-step-forward",searchTerms:["end","last","next"]},{title:"fas fa-stethoscope",searchTerms:[]},{title:"fab fa-sticker-mule",searchTerms:[]},{title:"fas fa-sticky-note",searchTerms:[]},{title:"far fa-sticky-note",searchTerms:[]},{title:"fas fa-stop",searchTerms:["block","box","square"]},{title:"fas fa-stop-circle",searchTerms:[]},{title:"far fa-stop-circle",searchTerms:[]},{title:"fas fa-stopwatch",searchTerms:["time"]},{title:"fas fa-store",searchTerms:[]},{title:"fas fa-store-alt",searchTerms:[]},{title:"fab fa-strava",searchTerms:[]},{title:"fas fa-stream",searchTerms:[]},{title:"fas fa-street-view",searchTerms:["map"]},{title:"fas fa-strikethrough",searchTerms:[]},{title:"fab fa-stripe",searchTerms:[]},{title:"fab fa-stripe-s",searchTerms:[]},{title:"fas fa-stroopwafel",searchTerms:["dessert","food","sweets","waffle"]},{title:"fab fa-studiovinari",searchTerms:[]},{title:"fab fa-stumbleupon",searchTerms:[]},{title:"fab fa-stumbleupon-circle",searchTerms:[]},{title:"fas fa-subscript",searchTerms:[]},{title:"fas fa-subway",searchTerms:["machine","railway","train","transportation","vehicle"]},{title:"fas fa-suitcase",searchTerms:["baggage","luggage","move","suitcase","travel","trip"]},{title:"fas fa-suitcase-rolling",searchTerms:[]},{title:"fas fa-sun",searchTerms:["brighten","contrast","day","lighter","weather"]},{title:"far fa-sun",searchTerms:["brighten","contrast","day","lighter","weather"]},{title:"fab fa-superpowers",searchTerms:[]},{title:"fas fa-superscript",searchTerms:["exponential"]},{title:"fab fa-supple",searchTerms:[]},{title:"fas fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"far fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"fas fa-swatchbook",searchTerms:[]},{title:"fas fa-swimmer",searchTerms:["athlete","head","man","person","water"]},{title:"fas fa-swimming-pool",searchTerms:["ladder","recreation","water"]},{title:"fas fa-sync",searchTerms:["exchange","refresh","reload","rotate","swap"]},{title:"fas fa-sync-alt",searchTerms:["refresh","reload","rotate"]},{title:"fas fa-syringe",searchTerms:["immunizations","needle"]},{title:"fas fa-table",searchTerms:["data","excel","spreadsheet"]},{title:"fas fa-table-tennis",searchTerms:[]},{title:"fas fa-tablet",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablet-alt",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablets",searchTerms:["drugs","medicine"]},{title:"fas fa-tachometer-alt",searchTerms:["dashboard","tachometer"]},{title:"fas fa-tag",searchTerms:["label"]},{title:"fas fa-tags",searchTerms:["labels"]},{title:"fas fa-tape",searchTerms:[]},{title:"fas fa-tasks",searchTerms:["downloading","downloads","loading","progress","settings"]},{title:"fas fa-taxi",searchTerms:["cab","cabbie","car","car service","lyft","machine","transportation","uber","vehicle"]},{title:"fab fa-teamspeak",searchTerms:[]},{title:"fab fa-telegram",searchTerms:[]},{title:"fab fa-telegram-plane",searchTerms:[]},{title:"fab fa-tencent-weibo",searchTerms:[]},{title:"fas fa-terminal",searchTerms:["code","command","console","prompt"]},{title:"fas fa-text-height",searchTerms:[]},{title:"fas fa-text-width",searchTerms:[]},{title:"fas fa-th",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-large",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fab fa-themeco",searchTerms:[]},{title:"fab fa-themeisle",searchTerms:[]},{title:"fas fa-thermometer",searchTerms:["fever","temperature"]},{title:"fas fa-thermometer-empty",searchTerms:["status"]},{title:"fas fa-thermometer-full",searchTerms:["status"]},{title:"fas fa-thermometer-half",searchTerms:["status"]},{title:"fas fa-thermometer-quarter",searchTerms:["status"]},{title:"fas fa-thermometer-three-quarters",searchTerms:["status"]},{title:"fas fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"far fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"fas fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"far fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"fas fa-thumbtack",searchTerms:["coordinates","location","marker","pin","thumb-tack"]},{title:"fas fa-ticket-alt",searchTerms:["ticket"]},{title:"fas fa-times",searchTerms:["close","cross","error","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"far fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-tint",searchTerms:["drop","droplet","raindrop","waterdrop"]},{title:"fas fa-tint-slash",searchTerms:[]},{title:"fas fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"far fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"fas fa-toggle-off",searchTerms:["switch"]},{title:"fas fa-toggle-on",searchTerms:["switch"]},{title:"fas fa-toolbox",searchTerms:["admin","container","fix","repair","settings","tools"]},{title:"fas fa-tooth",searchTerms:["bicuspid","dental","molar","mouth","teeth"]},{title:"fab fa-trade-federation",searchTerms:[]},{title:"fas fa-trademark",searchTerms:[]},{title:"fas fa-train",searchTerms:["bullet","locomotive","railway"]},{title:"fas fa-transgender",searchTerms:["intersex"]},{title:"fas fa-transgender-alt",searchTerms:[]},{title:"fas fa-trash",searchTerms:["delete","garbage","hide","remove"]},{title:"fas fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"far fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"fas fa-tree",searchTerms:[]},{title:"fab fa-trello",searchTerms:[]},{title:"fab fa-tripadvisor",searchTerms:[]},{title:"fas fa-trophy",searchTerms:["achievement","award","cup","game","winner"]},{title:"fas fa-truck",searchTerms:["delivery","shipping"]},{title:"fas fa-truck-loading",searchTerms:[]},{title:"fas fa-truck-moving",searchTerms:[]},{title:"fas fa-tshirt",searchTerms:["cloth","clothing"]},{title:"fas fa-tty",searchTerms:[]},{title:"fab fa-tumblr",searchTerms:[]},{title:"fab fa-tumblr-square",searchTerms:[]},{title:"fas fa-tv",searchTerms:["computer","display","monitor","television"]},{title:"fab fa-twitch",searchTerms:[]},{title:"fab fa-twitter",searchTerms:["social network","tweet"]},{title:"fab fa-twitter-square",searchTerms:["social network","tweet"]},{title:"fab fa-typo3",searchTerms:[]},{title:"fab fa-uber",searchTerms:[]},{title:"fab fa-uikit",searchTerms:[]},{title:"fas fa-umbrella",searchTerms:["protection","rain"]},{title:"fas fa-umbrella-beach",searchTerms:["protection","recreation","sun"]},{title:"fas fa-underline",searchTerms:[]},{title:"fas fa-undo",searchTerms:["back","control z","exchange","oops","return","rotate","swap"]},{title:"fas fa-undo-alt",searchTerms:["back","control z","exchange","oops","return","swap"]},{title:"fab fa-uniregistry",searchTerms:[]},{title:"fas fa-universal-access",searchTerms:[]},{title:"fas fa-university",searchTerms:["bank","institution"]},{title:"fas fa-unlink",searchTerms:["chain","chain-broken","remove"]},{title:"fas fa-unlock",searchTerms:["admin","lock","password","protect"]},{title:"fas fa-unlock-alt",searchTerms:["admin","lock","password","protect"]},{title:"fab fa-untappd",searchTerms:[]},{title:"fas fa-upload",searchTerms:["export","publish"]},{title:"fab fa-usb",searchTerms:[]},{title:"fas fa-user",searchTerms:["account","avatar","head","man","person","profile"]},{title:"far fa-user",searchTerms:["account","avatar","head","man","person","profile"]},{title:"fas fa-user-alt",searchTerms:["account","avatar","head","man","person","profile"]},{title:"fas fa-user-alt-slash",searchTerms:[]},{title:"fas fa-user-astronaut",searchTerms:["avatar","clothing","cosmonaut","space","suit"]},{title:"fas fa-user-check",searchTerms:[]},{title:"fas fa-user-circle",searchTerms:["account","avatar","head","man","person","profile"]},{title:"far fa-user-circle",searchTerms:["account","avatar","head","man","person","profile"]},{title:"fas fa-user-clock",searchTerms:[]},{title:"fas fa-user-cog",searchTerms:[]},{title:"fas fa-user-edit",searchTerms:[]},{title:"fas fa-user-friends",searchTerms:[]},{title:"fas fa-user-graduate",searchTerms:["cap","clothing","commencement","gown","graduation","student"]},{title:"fas fa-user-lock",searchTerms:[]},{title:"fas fa-user-md",searchTerms:["doctor","job","medical","nurse","occupation","profile"]},{title:"fas fa-user-minus",searchTerms:[]},{title:"fas fa-user-ninja",searchTerms:["assassin","avatar","dangerous","sneaky"]},{title:"fas fa-user-plus",searchTerms:["sign up","signup"]},{title:"fas fa-user-secret",searchTerms:["clothing","coat","hat","incognito","privacy","spy","whisper"]},{title:"fas fa-user-shield",searchTerms:[]},{title:"fas fa-user-slash",searchTerms:[]},{title:"fas fa-user-tag",searchTerms:[]},{title:"fas fa-user-tie",searchTerms:["avatar","business","clothing","formal"]},{title:"fas fa-user-times",searchTerms:[]},{title:"fas fa-users",searchTerms:["people","persons","profiles"]},{title:"fas fa-users-cog",searchTerms:[]},{title:"fab fa-ussunnah",searchTerms:[]},{title:"fas fa-utensil-spoon",searchTerms:["spoon"]},{title:"fas fa-utensils",searchTerms:["cutlery","dinner","eat","food","knife","restaurant","spoon"]},{title:"fab fa-vaadin",searchTerms:[]},{title:"fas fa-vector-square",searchTerms:["anchors","lines","object"]},{title:"fas fa-venus",searchTerms:["female"]},{title:"fas fa-venus-double",searchTerms:[]},{title:"fas fa-venus-mars",searchTerms:[]},{title:"fab fa-viacoin",searchTerms:[]},{title:"fab fa-viadeo",searchTerms:[]},{title:"fab fa-viadeo-square",searchTerms:[]},{title:"fas fa-vial",searchTerms:["test tube"]},{title:"fas fa-vials",searchTerms:["lab results","test tubes"]},{title:"fab fa-viber",searchTerms:[]},{title:"fas fa-video",searchTerms:["camera","film","movie","record","video-camera"]},{title:"fas fa-video-slash",searchTerms:[]},{title:"fab fa-vimeo",searchTerms:[]},{title:"fab fa-vimeo-square",searchTerms:[]},{title:"fab fa-vimeo-v",searchTerms:["vimeo"]},{title:"fab fa-vine",searchTerms:[]},{title:"fab fa-vk",searchTerms:[]},{title:"fab fa-vnv",searchTerms:[]},{title:"fas fa-volleyball-ball",searchTerms:[]},{title:"fas fa-volume-down",searchTerms:["audio","lower","music","quieter","sound","speaker"]},{title:"fas fa-volume-off",searchTerms:["audio","music","mute","sound"]},{title:"fas fa-volume-up",searchTerms:["audio","higher","louder","music","sound","speaker"]},{title:"fab fa-vuejs",searchTerms:[]},{title:"fas fa-walking",searchTerms:[]},{title:"fas fa-wallet",searchTerms:[]},{title:"fas fa-warehouse",searchTerms:[]},{title:"fab fa-weebly",searchTerms:[]},{title:"fab fa-weibo",searchTerms:[]},{title:"fas fa-weight",searchTerms:["measurement","scale","weight"]},{title:"fas fa-weight-hanging",searchTerms:["anvil","heavy","measurement"]},{title:"fab fa-weixin",searchTerms:[]},{title:"fab fa-whatsapp",searchTerms:[]},{title:"fab fa-whatsapp-square",searchTerms:[]},{title:"fas fa-wheelchair",searchTerms:["handicap","person"]},{title:"fab fa-whmcs",searchTerms:[]},{title:"fas fa-wifi",searchTerms:[]},{title:"fab fa-wikipedia-w",searchTerms:[]},{title:"fas fa-window-close",searchTerms:[]},{title:"far fa-window-close",searchTerms:[]},{title:"fas fa-window-maximize",searchTerms:[]},{title:"far fa-window-maximize",searchTerms:[]},{title:"fas fa-window-minimize",searchTerms:[]},{title:"far fa-window-minimize",searchTerms:[]},{title:"fas fa-window-restore",searchTerms:[]},{title:"far fa-window-restore",searchTerms:[]},{title:"fab fa-windows",searchTerms:["microsoft"]},{title:"fas fa-wine-glass",searchTerms:[]},{title:"fas fa-wine-glass-alt",searchTerms:[]},{title:"fab fa-wix",searchTerms:[]},{title:"fab fa-wolf-pack-battalion",searchTerms:[]},{title:"fas fa-won-sign",searchTerms:["krw","krw"]},{title:"fab fa-wordpress",searchTerms:[]},{title:"fab fa-wordpress-simple",searchTerms:[]},{title:"fab fa-wpbeginner",searchTerms:[]},{title:"fab fa-wpexplorer",searchTerms:[]},{title:"fab fa-wpforms",searchTerms:[]},{title:"fas fa-wrench",searchTerms:["fix","settings","spanner","tool","update"]},{title:"fas fa-x-ray",searchTerms:["radiological images","radiology"]},{title:"fab fa-xbox",searchTerms:[]},{title:"fab fa-xing",searchTerms:[]},{title:"fab fa-xing-square",searchTerms:[]},{title:"fab fa-y-combinator",searchTerms:[]},{title:"fab fa-yahoo",searchTerms:[]},{title:"fab fa-yandex",searchTerms:[]},{title:"fab fa-yandex-international",searchTerms:[]},{title:"fab fa-yelp",searchTerms:[]},{title:"fas fa-yen-sign",searchTerms:["jpy","jpy"]},{title:"fab fa-yoast",searchTerms:[]},{title:"fab fa-youtube",searchTerms:["film","video","youtube-play","youtube-square"]},{title:"fab fa-youtube-square",searchTerms:[]}]})});var iconPickerVue=new Vue({el:"#iconPickerVue",data:{targetInputField:"",targetIconTag:""},mounted:function(){var e=this;$(".icp-auto").iconpicker({title:!1,templates:{search:''}}),$("#inline-picker").on("iconpickerSelected",function(a){var t=a.iconpickerInstance.options.fullClassFormatter(a.iconpickerValue);e.targetInputField&&$("#"+e.targetInputField).val(t),e.targetIconTag&&$("#"+e.targetIconTag).replaceWith(''),$("#iconPickerModal").modal("hide")})},methods:{show:function(e,a){this.targetInputField=e,this.targetIconTag=a,$("#iconPickerModal").modal("show")}}}); diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/Drivers/AliasPartDisplayDriver.cs b/src/OrchardCore.Modules/OrchardCore.Alias/Drivers/AliasPartDisplayDriver.cs index bf3d6d413de..ac8bfd06319 100644 --- a/src/OrchardCore.Modules/OrchardCore.Alias/Drivers/AliasPartDisplayDriver.cs +++ b/src/OrchardCore.Modules/OrchardCore.Alias/Drivers/AliasPartDisplayDriver.cs @@ -16,6 +16,9 @@ namespace OrchardCore.Alias.Drivers { public class AliasPartDisplayDriver : ContentPartDisplayDriver { + // Match the AutoRoutePart Length + public const int MaxAliasLength = 1024; + private readonly IContentDefinitionManager _contentDefinitionManager; private readonly ISession _session; private readonly IStringLocalizer T; @@ -66,6 +69,11 @@ private void BuildViewModel(AliasPartViewModel model, AliasPart part) private async Task ValidateAsync(AliasPart alias, IUpdateModel updater) { + if (alias.Alias?.Length > MaxAliasLength) + { + updater.ModelState.AddModelError(Prefix, nameof(alias.Alias), T["Your alias is too long. The alias can only be up to {0} characters.", MaxAliasLength]); + } + if (alias.Alias != null && (await _session.QueryIndex(o => o.Alias == alias.Alias && o.ContentItemId != alias.ContentItem.ContentItemId).CountAsync()) > 0) { updater.ModelState.AddModelError(Prefix, nameof(alias.Alias), T["Your alias is already in use."]); diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs b/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs index 50f16e39455..e3b6d1afd6a 100644 --- a/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs +++ b/src/OrchardCore.Modules/OrchardCore.Alias/Handlers/AliasPartHandler.cs @@ -2,6 +2,7 @@ using System.Linq; using System.Threading.Tasks; using Fluid; +using OrchardCore.Alias.Indexes; using OrchardCore.Alias.Models; using OrchardCore.Alias.Settings; using OrchardCore.ContentManagement; @@ -10,6 +11,7 @@ using OrchardCore.Environment.Cache; using OrchardCore.Liquid; using OrchardCore.Settings; +using YesSql; namespace OrchardCore.Alias.Handlers { @@ -19,17 +21,20 @@ public class AliasPartHandler : ContentPartHandler private readonly ISiteService _siteService; private readonly ITagCache _tagCache; private readonly ILiquidTemplateManager _liquidTemplateManager; + private readonly ISession _session; public AliasPartHandler( IContentDefinitionManager contentDefinitionManager, ISiteService siteService, ITagCache tagCache, - ILiquidTemplateManager liquidTemplateManager) + ILiquidTemplateManager liquidTemplateManager, + ISession session) { _contentDefinitionManager = contentDefinitionManager; _siteService = siteService; _tagCache = tagCache; _liquidTemplateManager = liquidTemplateManager; + _session = session; } public async override Task UpdatedAsync(UpdateContentContext context, AliasPart part) @@ -78,5 +83,36 @@ public override Task UnpublishedAsync(PublishContentContext context, AliasPart i { return _tagCache.RemoveTagAsync($"alias:{instance.Alias}"); } + + public override async Task CloningAsync(CloneContentContext context, AliasPart part) + { + var clonedPart = context.CloneContentItem.As(); + clonedPart.Alias = await GenerateUniqueAliasAsync(clonedPart.Alias, clonedPart); + + clonedPart.Apply(); + + } + + private async Task GenerateUniqueAliasAsync(string alias, AliasPart context) + { + var version = 1; + var unversionedAlias = alias; + + var versionSeparatorPosition = alias.LastIndexOf('-'); + if (versionSeparatorPosition > -1) + { + int.TryParse(alias.Substring(versionSeparatorPosition).TrimStart('-'), out version); + unversionedAlias = alias.Substring(0, versionSeparatorPosition); + } + + while (true) + { + var versionedAlias = $"{unversionedAlias}-{version++}"; + if ((await _session.QueryIndex(o => o.Alias == versionedAlias && o.ContentItemId != context.ContentItem.ContentItemId).CountAsync()) == 0) + { + return versionedAlias; + } + } + } } } diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/Migrations.cs b/src/OrchardCore.Modules/OrchardCore.Alias/Migrations.cs index 57d7988e4b6..cf009989905 100644 --- a/src/OrchardCore.Modules/OrchardCore.Alias/Migrations.cs +++ b/src/OrchardCore.Modules/OrchardCore.Alias/Migrations.cs @@ -1,8 +1,9 @@ -using OrchardCore.ContentManagement.Metadata.Settings; +using OrchardCore.ContentManagement.Metadata.Settings; using OrchardCore.ContentManagement.Metadata; using OrchardCore.Data.Migration; using OrchardCore.Alias.Indexes; using OrchardCore.Alias.Models; +using OrchardCore.Alias.Drivers; namespace OrchardCore.Alias { @@ -21,8 +22,10 @@ public int Create() .Attachable() .WithDescription("Provides a way to define custom aliases for content items.")); + // NOTE: The Alias Length has been upgraded from 64 characters to 1024. + // For existing SQL databases update the AliasPartIndex tables Alias column length manually. SchemaBuilder.CreateMapIndexTable(nameof(AliasPartIndex), table => table - .Column("Alias", col => col.WithLength(64)) + .Column("Alias", col => col.WithLength(AliasPartDisplayDriver.MaxAliasLength)) .Column("ContentItemId", c => c.WithLength(26)) ); diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/OrchardCore.Alias.csproj b/src/OrchardCore.Modules/OrchardCore.Alias/OrchardCore.Alias.csproj index 3fada9b1257..8d1eb4f425d 100644 --- a/src/OrchardCore.Modules/OrchardCore.Alias/OrchardCore.Alias.csproj +++ b/src/OrchardCore.Modules/OrchardCore.Alias/OrchardCore.Alias.csproj @@ -1,9 +1,14 @@ - netstandard2.0 + netcoreapp3.0 + true + + + + @@ -17,9 +22,4 @@ - - - - - diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/Settings/AliasPartSettingsDisplayDriver.cs b/src/OrchardCore.Modules/OrchardCore.Alias/Settings/AliasPartSettingsDisplayDriver.cs index 38df2fd3d3c..40ba54af809 100644 --- a/src/OrchardCore.Modules/OrchardCore.Alias/Settings/AliasPartSettingsDisplayDriver.cs +++ b/src/OrchardCore.Modules/OrchardCore.Alias/Settings/AliasPartSettingsDisplayDriver.cs @@ -5,11 +5,23 @@ using OrchardCore.DisplayManagement.ModelBinding; using OrchardCore.DisplayManagement.Views; using OrchardCore.Alias.Models; +using OrchardCore.Liquid; +using Microsoft.Extensions.Localization; namespace OrchardCore.Alias.Settings { public class AliasPartSettingsDisplayDriver : ContentTypePartDefinitionDisplayDriver { + private readonly ILiquidTemplateManager _templateManager; + + public AliasPartSettingsDisplayDriver(ILiquidTemplateManager templateManager, IStringLocalizer localizer) + { + _templateManager = templateManager; + T = localizer; + } + + public IStringLocalizer T { get; private set; } + public override IDisplayResult Edit(ContentTypePartDefinition contentTypePartDefinition, IUpdateModel updater) { if (!String.Equals(nameof(AliasPart), contentTypePartDefinition.PartDefinition.Name, StringComparison.Ordinal)) @@ -37,7 +49,14 @@ public override async Task UpdateAsync(ContentTypePartDefinition if (await context.Updater.TryUpdateModelAsync(model, Prefix, m => m.Pattern)) { - context.Builder.WithSettings(new AliasPartSettings { Pattern = model.Pattern }); + if (!string.IsNullOrEmpty(model.Pattern) && !_templateManager.Validate(model.Pattern, out var errors)) + { + context.Updater.ModelState.AddModelError(nameof(model.Pattern), T["Pattern doesn't contain a valid Liquid expression. Details: {0}", string.Join(" ", errors)]); + } + else + { + context.Builder.WithSettings(new AliasPartSettings { Pattern = model.Pattern }); + } } return Edit(contentTypePartDefinition, context.Updater); diff --git a/src/OrchardCore.Modules/OrchardCore.Alias/Startup.cs b/src/OrchardCore.Modules/OrchardCore.Alias/Startup.cs index 7c7c262fc16..3661e0faabf 100644 --- a/src/OrchardCore.Modules/OrchardCore.Alias/Startup.cs +++ b/src/OrchardCore.Modules/OrchardCore.Alias/Startup.cs @@ -1,7 +1,6 @@ using Fluid; using Microsoft.Extensions.DependencyInjection; using OrchardCore.Alias.Drivers; -using OrchardCore.Alias.GraphQL; using OrchardCore.Alias.Handlers; using OrchardCore.Alias.Indexes; using OrchardCore.Alias.Indexing; @@ -10,7 +9,6 @@ using OrchardCore.Alias.Services; using OrchardCore.Alias.Settings; using OrchardCore.Alias.ViewModels; -using OrchardCore.Apis.GraphQL.Queries; using OrchardCore.ContentManagement; using OrchardCore.ContentManagement.Display.ContentDisplay; using OrchardCore.ContentManagement.Handlers; @@ -37,13 +35,12 @@ public override void ConfigureServices(IServiceCollection services) services.AddScoped(); // Identity Part + services.AddContentPart(); services.AddScoped(); - services.AddSingleton(); services.AddScoped(); services.AddScoped(); services.AddScoped(); - services.AddScoped(); } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/.babelrc b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/.babelrc new file mode 100644 index 00000000000..853d13523fa --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"] + } \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets.json b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets.json deleted file mode 100644 index 76e78227b66..00000000000 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets.json +++ /dev/null @@ -1,34 +0,0 @@ -[ - { - "generateSourceMaps": false, - "inputs": [ - "../../../node_modules/graphiql/graphiql.css" - ], - "output": "wwwroot/Styles/graphiql.css" - }, - { - "inputs": [ - "../../../node_modules/graphiql/graphiql.js" - ], - "output": "wwwroot/Scripts/graphiql.js" - }, - { - "generateSourceMaps": false, - "inputs": [ - "assets/scss/graphiql-orchard.scss" - ], - "output": "wwwroot/Styles/graphiql-orchard.css" - }, - { - "inputs": [ - "../../../node_modules/react/dist/react.js" - ], - "output": "wwwroot/Scripts/react.js" - }, - { - "inputs": [ - "../../../node_modules/react-dom/dist/react-dom.js" - ], - "output": "wwwroot/Scripts/react-dom.js" - } -] diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/css/graphiql-orchard.css b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/css/graphiql-orchard.css new file mode 100644 index 00000000000..6d9b23cedcd --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/css/graphiql-orchard.css @@ -0,0 +1,24 @@ +#graphiql .editorWrap { + overflow-x: unset; +} + +.graphiql-explorer-root { + height: 100%; +} + +.left-sidebar-compact #graphiql { + left: 48px; + transition: left 0.2s ease-in-out, width 0.2s ease-in-out; +} + +.graphiql-container .docExplorerShow { + white-space: nowrap; +} + +.graphiql-container .doc-explorer-title, .graphiql-container .history-title, .graphiql-container .doc-explorer-back { + overflow: unset; +} + +.graphiql-container .topBar { + height: unset; +} diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/js/App.tsx b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/js/App.tsx new file mode 100644 index 00000000000..5c44bc17a6d --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/js/App.tsx @@ -0,0 +1,158 @@ +import React, { useState, useEffect } from "react"; +import ReactDOM from "react-dom"; +import GraphiQL from "graphiql"; +import GraphiQLExplorer from "graphiql-explorer"; +import { buildClientSchema, getIntrospectionQuery } from "graphql"; + +import "graphiql/graphiql.css"; +import "../css/graphiql-orchard.css"; + +function getIntrospectionUrl(): string { + return document + .getElementById("graphiql") + .dataset.introspectionUrl; +} + +function fetcher(params: Object): Promise { + var introspectionUrl = getIntrospectionUrl(); + return fetch( + introspectionUrl, + { + method: "POST", + headers: { + "Accept": "application/json", + "Content-Type": "application/json" + }, + body: JSON.stringify(params), + credentials: 'include' + } + ) + .then(function(response) { + return response.text(); + }) + .then(function(responseBody) { + try { + return JSON.parse(responseBody); + } catch (e) { + return responseBody; + } + }); +} + +function App() { + var _graphiql: GraphiQL; + + // Gets a graphql query from the URL if present and sets it as the default query. + var parameters: any = parseQueryFromUrl(window.location); + + const [query, setQuery] = useState(parameters.query); + const [schema, setSchema] = useState(null); + const [explorerIsOpen, setExplorerIsOpen] = useState(true); + + useEffect(() => { + fetcher({ + query: getIntrospectionQuery() + }).then(result => { + setSchema(buildClientSchema(result.data)); + }); + }, []); + + function handleEditQuery(query: string) { + setQuery(query); + parameters.query = query; + updateURL(); + } + + function handleToggleExplorer() { + setExplorerIsOpen(!explorerIsOpen); + } + + function onEditVariables(newVariables) { + parameters.variables = newVariables; + updateURL(); + } + + function onEditOperationName(newOperationName) { + parameters.operationName = newOperationName; + updateURL(); + } + + function parseQueryFromUrl(location: Location) { + var params: any = {}; + location.search.substr(1).split('&').forEach(function (entry) { + var eq = entry.indexOf('='); + if (eq >= 0) { + params[decodeURIComponent(entry.slice(0, eq))] = + decodeURIComponent(entry.slice(eq + 1)); + } + }); + // if variables was provided, try to format it. + if (params.variables) { + try { + params.variables = + JSON.stringify(JSON.parse(params.variables), null, 2); + } catch (e) { + // Do nothing, we want to display the invalid JSON as a string, rather + // than present an error. + } + } + + return params; + } + + function updateURL() { + var newSearch = '?' + Object.keys(parameters).filter(function (key) { + return Boolean(parameters[key]); + }).map(function (key) { + return encodeURIComponent(key) + '=' + + encodeURIComponent(parameters[key]); + }).join('&'); + history.replaceState(null, null, newSearch); + } + + return ( +
+ + _graphiql.handleRunQuery(operationName) + } + explorerIsOpen={explorerIsOpen} + onToggleExplorer={handleToggleExplorer} + /> + (_graphiql = ref)} + fetcher={fetcher} + schema={schema} + variables={parameters.variables} + operationName={parameters.operationName} + onEditVariables={onEditVariables} + onEditOperationName={onEditOperationName} + query={query} + onEditQuery={handleEditQuery} + > + + _graphiql.handlePrettifyQuery()} + label="Prettify" + title="Prettify Query (Shift-Ctrl-P)" + /> + _graphiql.handleToggleHistory()} + label="History" + title="Show History" + /> + + + +
+ ); +} + +ReactDOM.render(, document.getElementById("graphiql")); \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/scss/graphiql-orchard.scss b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/scss/graphiql-orchard.scss deleted file mode 100644 index 63bff3f049a..00000000000 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Assets/scss/graphiql-orchard.scss +++ /dev/null @@ -1,64 +0,0 @@ -#graphiql { - position: absolute; - top: 49px; - bottom: 0; - right: 0; - left: 260px; - transition: left 0.2s ease-in-out, width 0.2s ease-in-out; - - .editorWrap { - overflow-x: unset; - } -} - - -.left-sidebar-compact #graphiql { - left: 48px; - transition: left 0.2s ease-in-out, width 0.2s ease-in-out; -} - -.graphiql-container .docExplorerShow { - white-space: nowrap; -} - -.graphiql-container .doc-explorer-title, .graphiql-container .history-title, .graphiql-container .doc-explorer-back { - overflow: unset; -} - -.graphiql-container .topBar { - height: unset; -} - -.loader { - position: absolute; - left: 46%; - top: 46%; - z-index: 1; - border: 5px solid #f3f3f3; - -webkit-animation: spin 1s linear infinite; - animation: spin 1s linear infinite; - border-top: 5px solid #555; - border-radius: 50%; - width: 50px; - height: 50px; -} - -@-webkit-keyframes spin { - 0% { - -webkit-transform: rotate(0deg); - } - - 100% { - -webkit-transform: rotate(360deg); - } -} - -@keyframes spin { - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } -} diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLMiddleware.cs b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLMiddleware.cs index 1e4670e880b..eb14b63b3e2 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLMiddleware.cs +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLMiddleware.cs @@ -1,18 +1,21 @@ using System; +using System.Diagnostics; using System.IO; using System.Linq; using System.Net; +using System.Text; using System.Threading.Tasks; using GraphQL; -using GraphQL.Http; +using GraphQL.Validation; +using GraphQL.Validation.Complexity; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.Formatters; using Microsoft.Extensions.DependencyInjection; -using Newtonsoft.Json; using Newtonsoft.Json.Linq; using OrchardCore.Apis.GraphQL.Queries; +using OrchardCore.Apis.GraphQL.ValidationRules; namespace OrchardCore.Apis.GraphQL { @@ -21,22 +24,19 @@ public class GraphQLMiddleware private readonly RequestDelegate _next; private readonly GraphQLSettings _settings; private readonly IDocumentExecuter _executer; - private readonly IDocumentWriter _writer; - private readonly static JsonSerializer _serializer = new JsonSerializer(); + internal static readonly Encoding _utf8Encoding = new UTF8Encoding(false); private readonly static MediaType _jsonMediaType = new MediaType("application/json"); private readonly static MediaType _graphQlMediaType = new MediaType("application/graphql"); public GraphQLMiddleware( RequestDelegate next, GraphQLSettings settings, - IDocumentExecuter executer, - IDocumentWriter writer) + IDocumentExecuter executer) { _next = next; _settings = settings; _executer = executer; - _writer = writer; } public async Task Invoke(HttpContext context, IAuthorizationService authorizationService, IAuthenticationService authenticationService, ISchemaFactory schemaService) @@ -76,7 +76,7 @@ private bool IsGraphQLRequest(HttpContext context) private async Task ExecuteAsync(HttpContext context, ISchemaFactory schemaService) { - var schema = await schemaService.GetSchema(); + var schema = await schemaService.GetSchemaAsync(); GraphQLRequest request = null; @@ -93,10 +93,9 @@ private async Task ExecuteAsync(HttpContext context, ISchemaFactory schemaServic { using (var sr = new StreamReader(context.Request.Body)) { - using (var jsonTextReader = new JsonTextReader(sr)) - { - request = _serializer.Deserialize(jsonTextReader); - } + // Asynchronous read is mandatory. + var json = await sr.ReadToEndAsync(); + request = JObject.Parse(json).ToObject(); } } else if (mediaType.IsSubsetOf(_graphQlMediaType)) @@ -127,7 +126,7 @@ private async Task ExecuteAsync(HttpContext context, ISchemaFactory schemaServic } catch (Exception e) { - await WriteErrorAsync(context, "An error occured while processing the GraphQL query", e); + await WriteErrorAsync(context, "An error occurred while processing the GraphQL query", e); return; } } @@ -165,6 +164,14 @@ private async Task ExecuteAsync(HttpContext context, ISchemaFactory schemaServic _.Inputs = request.Variables.ToInputs(); _.UserContext = _settings.BuildUserContext?.Invoke(context); _.ExposeExceptions = _settings.ExposeExceptions; + _.ValidationRules = DocumentValidator.CoreRules() + .Concat(context.RequestServices.GetServices()); + _.ComplexityConfiguration = new ComplexityConfiguration + { + MaxDepth = _settings.MaxDepth, + MaxComplexity = _settings.MaxComplexity, + FieldImpact = _settings.FieldImpact + }; }); var httpResult = result.Errors?.Count > 0 @@ -174,7 +181,9 @@ private async Task ExecuteAsync(HttpContext context, ISchemaFactory schemaServic context.Response.StatusCode = (int)httpResult; context.Response.ContentType = "application/json"; - await _writer.WriteAsync(context.Response.Body, result); + // Asynchronous write to the response body is mandatory. + var encodedBytes = _utf8Encoding.GetBytes(JObject.FromObject(result).ToString()); + await context.Response.Body.WriteAsync(encodedBytes, 0, encodedBytes.Length); } private async Task WriteErrorAsync(HttpContext context, string message, Exception e = null) @@ -196,10 +205,12 @@ private async Task WriteErrorAsync(HttpContext context, string message, Exceptio errorResult.Errors.Add(new ExecutionError(message, e)); } - context.Response.StatusCode = (int) HttpStatusCode.BadRequest; + context.Response.StatusCode = (int)HttpStatusCode.BadRequest; context.Response.ContentType = "application/json"; - await _writer.WriteAsync(context.Response.Body, errorResult); + // Asynchronous write to the response body is mandatory. + var encodedBytes = _utf8Encoding.GetBytes(JObject.FromObject(errorResult).ToString()); + await context.Response.Body.WriteAsync(encodedBytes, 0, encodedBytes.Length); } } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLSettings.cs b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLSettings.cs deleted file mode 100644 index b795caabe96..00000000000 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/GraphQLSettings.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using Microsoft.AspNetCore.Http; - -namespace OrchardCore.Apis.GraphQL -{ - public class GraphQLSettings - { - public PathString Path { get; set; } = "/api/graphql"; - public Func BuildUserContext { get; set; } - public bool ExposeExceptions = false; - } -} \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/OrchardCore.Apis.GraphQL.csproj b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/OrchardCore.Apis.GraphQL.csproj index f739e6ae627..7c88fd75bf5 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/OrchardCore.Apis.GraphQL.csproj +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/OrchardCore.Apis.GraphQL.csproj @@ -1,9 +1,14 @@  - netstandard2.0 + netcoreapp3.0 + true + + + + @@ -16,8 +21,4 @@ - - - - diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Permissions.cs b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Permissions.cs index 0b0dc6357b1..5d754c71f77 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Permissions.cs +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Permissions.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Threading.Tasks; using OrchardCore.Security.Permissions; namespace OrchardCore.Apis.GraphQL @@ -7,11 +8,9 @@ public class Permissions : IPermissionProvider { public static readonly Permission ExecuteGraphQL = new Permission("ExecuteGraphQL", "Execute GraphQL."); - public IEnumerable GetPermissions() + public Task> GetPermissionsAsync() { - return new[] { - ExecuteGraphQL - }; + return Task.FromResult(GetPermissions()); } public IEnumerable GetDefaultStereotypes() @@ -23,5 +22,13 @@ public IEnumerable GetDefaultStereotypes() } }; } + + private IEnumerable GetPermissions() + { + return new[] + { + ExecuteGraphQL + }; + } } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/README.md b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/README.md index b5cbec15a24..b2eec465a49 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/README.md +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/README.md @@ -69,4 +69,51 @@ If no data is returned the "data" field is only included if the error occurred d Executing a GraphQL query requires the issuer to have the `ExecuteGraphQL` permission. Like any other API in Orchard Core, the GraphQL API supports cookie and OAuth 2.0 authentication. This means it's compatible with the OpenId module and supports JSON Web Token (JWT). -By default anonymous users are not able to execute a GraphQL query. \ No newline at end of file +By default anonymous users are not able to execute a GraphQL query. + +## Configuration + +It's possible to configure graphql options for exposing exceptions and max depth, max complexity and field impact. + +Configuration is done via the standard shell configuration, as follows. + +```json +{ + "OrchardCore": { + "OrchardCore.Apis.GraphQL": { + "ExposeExceptions": true, + "MaxDepth": 50, + "MaxComplexity": 100, + "FieldImpact": 2.0 , + "DefaultNumberOfResults": 100 + "MaxNumberOfResults": 1000 + "MaxNumberOfResultsValidationMode": "Default" + } + } +} +``` +*ExposeExceptions (bool, Default: false for production, true for development)* + +If set to true stack traces are exposed to graphql clients + +*DefaultNumberOfResults (int, Default: 100)* +The default number of results returned by all paged fields/types. + +*MaxNumberOfResults (int, Default: 1000)* +The maximum number of results returned by all paged fields/types. + +*MaxNumberOfResultsValidationMode (enum, Values: Default|Enabled|Disabled, Default: Default)() +Specify the validation behaviour if the max number of results is exceeded in a pager paramater +* Default - In production info will be logged and only the max number of results will be returned. In development a graphql validation error will be raised. +* Enabled - a graphql validation error will be raised +* Disabled - Info will be logged and only the max number of results will be returned + +*MaxDepth (int?, Default: 20)* + +Enforces the total maximum nesting across all queries in a request. + +*MaxComplexity (int?, Default: null)* + +*FieldImpact (double?, Default: null)* + +For more information on MaxDepth, MaxComplexity, FieldImpact & protecting against malicious queries view the graphql-dot-net documentation at https://graphql-dotnet.github.io/docs/getting-started/malicious-queries/ \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Services/SchemaService.cs b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Services/SchemaService.cs index c9ef7c18b87..67adb661373 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Services/SchemaService.cs +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Services/SchemaService.cs @@ -1,66 +1,76 @@ -using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using GraphQL; using GraphQL.Types; -using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Primitives; +using OrchardCore.Environment.Shell.Scope; namespace OrchardCore.Apis.GraphQL.Services { public class SchemaService : ISchemaFactory { - private readonly IMemoryCache _memoryCache; private readonly IEnumerable _schemaBuilders; - private readonly IServiceProvider _serviceProvider; + private readonly SemaphoreSlim _schemaGenerationSemaphore = new SemaphoreSlim(1, 1); + private readonly ConcurrentDictionary _changeTokens = new ConcurrentDictionary(); - public SchemaService( - IMemoryCache memoryCache, - IEnumerable schemaBuilders, - IServiceProvider serviceProvider) + private ISchema _schema; + + public SchemaService(IEnumerable schemaBuilders) { - _memoryCache = memoryCache; _schemaBuilders = schemaBuilders; - _serviceProvider = serviceProvider; } - public Task GetSchema() + public async Task GetSchemaAsync() { - return _memoryCache.GetOrCreateAsync("GraphQLSchema", async f => + if (_schema is object && !_changeTokens.Values.Any(x => x.HasChanged)) { - f.SetSlidingExpiration(TimeSpan.FromHours(1)); + return _schema; + } + + await _schemaGenerationSemaphore.WaitAsync(); + + try + { + if (_schema is object && !_changeTokens.Values.Any(x => x.HasChanged)) + { + return _schema; + } + + var serviceProvider = ShellScope.Services; - ISchema schema = new Schema + var schema = new Schema { Query = new ObjectGraphType { Name = "Query" }, Mutation = new ObjectGraphType { Name = "Mutation" }, Subscription = new ObjectGraphType { Name = "Subscription" }, FieldNameConverter = new OrchardFieldNameConverter(), - - DependencyResolver = _serviceProvider.GetService() + DependencyResolver = serviceProvider.GetService() }; foreach (var builder in _schemaBuilders) { var token = await builder.BuildAsync(schema); - if (token != null) + if (token is object) { - f.AddExpirationToken(token); + _changeTokens[builder] = token; } } - foreach (var type in _serviceProvider.GetServices()) + foreach (var type in serviceProvider.GetServices()) { schema.RegisterType(type); } - foreach (var type in _serviceProvider.GetServices()) + foreach (var type in serviceProvider.GetServices()) { schema.RegisterType(type); } - + // Clean Query, Mutation and Subscription if they have no fields // to prevent GraphQL configuration errors. @@ -80,9 +90,13 @@ public Task GetSchema() } schema.Initialize(); + return _schema = schema; - return schema; - }); + } + finally + { + _schemaGenerationSemaphore.Release(); + } } } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Startup.cs b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Startup.cs index cc67b0209dd..c53e5dd9b14 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Startup.cs +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Startup.cs @@ -1,12 +1,15 @@ using System; using GraphQL; using GraphQL.Http; +using GraphQL.Validation; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Options; using OrchardCore.Apis.GraphQL.Services; +using OrchardCore.Apis.GraphQL.ValidationRules; using OrchardCore.Environment.Shell.Configuration; using OrchardCore.Modules; using OrchardCore.Navigation; @@ -17,10 +20,10 @@ namespace OrchardCore.Apis.GraphQL public class Startup : StartupBase { private readonly IShellConfiguration _configuration; - private readonly IHostingEnvironment _hostingEnvironment; + private readonly IHostEnvironment _hostingEnvironment; public Startup(IShellConfiguration configuration, - IHostingEnvironment hostingEnvironment) + IHostEnvironment hostingEnvironment) { _configuration = configuration; _hostingEnvironment = hostingEnvironment; @@ -31,28 +34,46 @@ public override void ConfigureServices(IServiceCollection services) services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); - - services.AddScoped(); + services.AddSingleton(); + services.AddScoped(); services.AddScoped(); services.AddTransient(); - } - public override void Configure(IApplicationBuilder app, IRouteBuilder routes, IServiceProvider serviceProvider) - { - var exposeExceptions = _configuration.GetValue( + services.AddOptions().Configure(c => + { + var exposeExceptions = _configuration.GetValue( $"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.ExposeExceptions)}", _hostingEnvironment.IsDevelopment()); - app.UseMiddleware(new GraphQLSettings - { - BuildUserContext = ctx => new GraphQLContext + var maxNumberOfResultsValidationMode = _configuration.GetValue($"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.MaxNumberOfResultsValidationMode)}") + ?? MaxNumberOfResultsValidationMode.Default; + + if (maxNumberOfResultsValidationMode == MaxNumberOfResultsValidationMode.Default) { + maxNumberOfResultsValidationMode = _hostingEnvironment.IsDevelopment() ? MaxNumberOfResultsValidationMode.Enabled : MaxNumberOfResultsValidationMode.Disabled; + } + + c.BuildUserContext = ctx => new GraphQLContext + { + HttpContext = ctx, User = ctx.User, ServiceProvider = ctx.RequestServices, - }, - ExposeExceptions = exposeExceptions + }; + c.ExposeExceptions = exposeExceptions; + c.MaxDepth = _configuration.GetValue($"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.MaxDepth)}") ?? 20; + c.MaxComplexity = _configuration.GetValue($"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.MaxComplexity)}"); + c.FieldImpact = _configuration.GetValue($"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.FieldImpact)}"); + c.MaxNumberOfResults = _configuration.GetValue($"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.MaxNumberOfResults)}") ?? 1000; + c.MaxNumberOfResultsValidationMode = maxNumberOfResultsValidationMode; + c.DefaultNumberOfResults = _configuration.GetValue($"OrchardCore.Apis.GraphQL:{nameof(GraphQLSettings.DefaultNumberOfResults)}") ?? 100; }); + + } + + public override void Configure(IApplicationBuilder app, IEndpointRouteBuilder routes, IServiceProvider serviceProvider) + { + app.UseMiddleware(serviceProvider.GetService>().Value); } } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/ValidationRules/MaxNumberOfResultsValidationRule.cs b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/ValidationRules/MaxNumberOfResultsValidationRule.cs new file mode 100644 index 00000000000..337758bb6d7 --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/ValidationRules/MaxNumberOfResultsValidationRule.cs @@ -0,0 +1,59 @@ +using GraphQL.Language.AST; +using GraphQL.Validation; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; + +namespace OrchardCore.Apis.GraphQL.ValidationRules +{ + public class MaxNumberOfResultsValidationRule : IValidationRule + { + private readonly int _maxNumberOfResults; + private readonly MaxNumberOfResultsValidationMode _maxNumberOfResultsValidationMode; + + public MaxNumberOfResultsValidationRule(IOptions options) + { + var settings = options.Value; + _maxNumberOfResults = settings.MaxNumberOfResults; + _maxNumberOfResultsValidationMode = settings.MaxNumberOfResultsValidationMode; + } + + public INodeVisitor Validate(ValidationContext validationContext) + { + return new EnterLeaveListener(_ => + { + _.Match(arg => + { + if ((arg.Name == "first" || arg.Name == "last") && arg.Value != null) + { + var context = (GraphQLContext)validationContext.UserContext; + + var value = (IntValue)arg.Value; + + if (value?.Value > _maxNumberOfResults) + { + var localizer = context.ServiceProvider.GetService>(); + var errorMessage = localizer["'{0}' exceeds the maximum number of results for '{1}' ({2})", value.Value, arg.Name, _maxNumberOfResults]; + + if (_maxNumberOfResultsValidationMode == MaxNumberOfResultsValidationMode.Enabled) + { + validationContext.ReportError(new ValidationError( + validationContext.OriginalQuery, + "ArgumentInputError", + errorMessage, + arg)); + } + else + { + var logger = context.ServiceProvider.GetService>(); + logger.LogInformation(errorMessage); + arg.Value = new IntValue(_maxNumberOfResults); // if disabled mode we just log info and override the arg to be maxvalue + } + } + } + }); + }); + } + } +} diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Views/Admin/Index.cshtml b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Views/Admin/Index.cshtml index d497bb91b84..540dbed06e0 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Views/Admin/Index.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/Views/Admin/Index.cshtml @@ -1,120 +1,50 @@ - - - + - + + +
+
+
\ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package-lock.json b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package-lock.json index e28836ad7a2..633fef9fed9 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package-lock.json +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package-lock.json @@ -4,379 +4,5748 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/cli": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.4.4.tgz", + "integrity": "sha512-XGr5YjQSjgTa6OzQZY57FAJsdeVSAKR/u/KA5exWIz66IKtv/zXtHy+fIZcMry/EgYegwuHE7vzGnrFhjdIAsQ==", + "dev": true, + "requires": { + "chokidar": "^2.0.4", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.11", + "mkdirp": "^0.5.1", + "output-file-sync": "^2.0.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + } + }, + "@babel/code-frame": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "@babel/core": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", + "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.5", + "@babel/types": "^7.4.4", + "convert-source-map": "^1.1.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.11", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4", + "jsesc": "^2.5.1", + "lodash": "^4.17.11", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz", + "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz", + "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-define-map": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz", + "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/types": "^7.4.4", + "lodash": "^4.17.11" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz", + "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-function-name": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", + "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", + "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz", + "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz", + "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz", + "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.4.4", + "lodash": "^4.17.11" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz", + "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", + "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", + "dev": true + }, + "@babel/helper-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz", + "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==", + "dev": true, + "requires": { + "lodash": "^4.17.11" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz", + "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-wrap-function": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz", + "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-simple-access": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz", + "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==", + "dev": true, + "requires": { + "@babel/template": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", + "dev": true, + "requires": { + "@babel/types": "^7.4.4" + } + }, + "@babel/helper-wrap-function": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz", + "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/template": "^7.1.0", + "@babel/traverse": "^7.1.0", + "@babel/types": "^7.2.0" + } + }, + "@babel/helpers": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", + "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", + "dev": true, + "requires": { + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/highlight": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", + "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "dev": true, + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz", + "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0", + "@babel/plugin-syntax-async-generators": "^7.2.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", + "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-json-strings": "^7.2.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", + "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz", + "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", + "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", + "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz", + "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz", + "integrity": "sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz", + "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz", + "integrity": "sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-remap-async-to-generator": "^7.1.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz", + "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz", + "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "lodash": "^4.17.11" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz", + "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-define-map": "^7.4.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.4.4", + "@babel/helper-split-export-declaration": "^7.4.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz", + "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", + "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz", + "integrity": "sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz", + "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz", + "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz", + "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz", + "integrity": "sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz", + "integrity": "sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-simple-access": "^7.1.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz", + "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz", + "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "dev": true, + "requires": { + "regexp-tree": "^0.1.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz", + "integrity": "sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.1.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", + "dev": true, + "requires": { + "@babel/helper-call-delegate": "^7.4.4", + "@babel/helper-get-function-arity": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz", + "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz", + "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "dev": true, + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz", + "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz", + "integrity": "sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz", + "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", + "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", + "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz", + "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.0.0" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz", + "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.5.tgz", + "integrity": "sha512-RPB/YeGr4ZrFKNwfuQRlMf2lxoCUaU01MTw39/OFE/RiL8HDjtn68BwEPft1P7JN4akyEmjGWAMNldOV7o9V2g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-typescript": "^7.2.0" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" + } + }, + "@babel/preset-env": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz", + "integrity": "sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.4.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.4.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.4.4", + "@babel/plugin-transform-classes": "^7.4.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.4.4", + "@babel/plugin-transform-function-name": "^7.4.4", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-member-expression-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.4.4", + "@babel/plugin-transform-modules-systemjs": "^7.4.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-new-target": "^7.4.4", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.4.4", + "@babel/plugin-transform-property-literals": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.4.5", + "@babel/plugin-transform-reserved-words": "^7.2.0", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.4.4", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "browserslist": "^4.6.0", + "core-js-compat": "^3.1.1", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz", + "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0" + } + }, + "@babel/preset-typescript": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz", + "integrity": "sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.3.2" + } + }, + "@babel/template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + } + }, + "@babel/traverse": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.11" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "dev": true + }, + "ajv": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", + "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, "argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bluebird": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.1.tgz", + "integrity": "sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000971", + "electron-to-chromium": "^1.3.137", + "node-releases": "^1.1.21" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "cacache": { + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", + "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000971", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz", + "integrity": "sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codemirror": { + "version": "5.47.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.47.0.tgz", + "integrity": "sha512-kV49Fr+NGFHFc/Imsx6g180hSlkGhuHxTSDDmDHOuyln0MQYFLixDY4+bFkBVeCEiepYfDimAF/e++9jPJk4QA==" + }, + "codemirror-graphql": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.7.1.tgz", + "integrity": "sha512-HtHXMJAn6iGJYpijkzi3IlqWIdGrB6V0RqJ607yffJTCKk/OgaNtdLOb8hZJyEtHfkw7PZDaKybMAVCi6ScWSQ==", + "requires": { + "graphql-language-service-interface": "^1.3.2", + "graphql-language-service-parser": "^1.2.2" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js-compat": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.1.3.tgz", + "integrity": "sha512-EP018pVhgwsKHz3YoN1hTq49aRe+h017Kjz0NQz3nXV0cCRMvH3fLQl+vEPGr4r4J5sk4sU3tUC7U1aqTCeJeA==", + "dev": true, + "requires": { + "browserslist": "^4.6.0", + "core-js-pure": "3.1.3", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.1.3.tgz", + "integrity": "sha512-k3JWTrcQBKqjkjI0bkfXS0lbpWPxYuHWfMMjC1VDmzU4Q58IwSbuXSo99YO/hUHlw/EB4AlfA2PVxOGkrIq6dA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-fetch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", + "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-loader": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", + "integrity": "sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w==", + "dev": true, + "requires": { + "camelcase": "^5.2.0", + "icss-utils": "^4.1.0", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.14", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^2.0.6", + "postcss-modules-scope": "^2.1.0", + "postcss-modules-values": "^2.0.0", + "postcss-value-parser": "^3.3.0", + "schema-utils": "^1.0.0" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "electron-to-chromium": { + "version": "1.3.144", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.144.tgz", + "integrity": "sha512-jNRFJpfNrYm5uJ4x0q9oYMOfbL0JPOlkNli8GS/5zEmCjnE5jAtoCo4BYajHiqSPqEeAjtTdItL4p7EZw+jSfg==", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true, + "optional": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "graphiql": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-0.13.0.tgz", + "integrity": "sha512-m2RBtSY1CQLz4XqCftQC0V9ZcbUXEx2Uwvuok3L/TJtsN5HOHUmPxGhOAZs7mESaAsg7Z8Tgy04BmYirDyfWug==", + "requires": { + "codemirror": "^5.26.0", + "codemirror-graphql": "^0.7.1", + "markdown-it": "^8.4.0" + } + }, + "graphiql-explorer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/graphiql-explorer/-/graphiql-explorer-0.4.3.tgz", + "integrity": "sha512-8WST2MfVPesgspCDYOucZHhWjeL0du8GB/vy2o44qrI/Y0iLaZ9BwCVw6jEz658S8AgxcAkKBl1jPCkMRxsdsQ==" + }, + "graphql": { + "version": "14.3.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.3.1.tgz", + "integrity": "sha512-FZm7kAa3FqKdXy8YSSpAoTtyDFMIYSpCDOr+3EqlI1bxmtHu+Vv/I2vrSeT1sBOEnEniX3uo4wFhFdS/8XN6gA==", + "requires": { + "iterall": "^1.2.2" + } + }, + "graphql-config": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz", + "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==", + "requires": { + "graphql-import": "^0.4.4", + "graphql-request": "^1.5.0", + "js-yaml": "^3.10.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.4" + } + }, + "graphql-import": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz", + "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==", + "requires": { + "lodash": "^4.17.4" + } + }, + "graphql-language-service-interface": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-1.3.2.tgz", + "integrity": "sha512-sOxFV5sBSnYtKIFHtlmAHHVdhok7CRbvCPLcuHvL4Q1RSgKRsPpeHUDKU+yCbmlonOKn/RWEKaYWrUY0Sgv70A==", + "requires": { + "graphql-config": "2.0.1", + "graphql-language-service-parser": "^1.2.2", + "graphql-language-service-types": "^1.2.2", + "graphql-language-service-utils": "^1.2.2" + } + }, + "graphql-language-service-parser": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-1.2.2.tgz", + "integrity": "sha512-38zMqJibNKeQe3GheyJtBENoXMp+qc29smiiRQtHLZcwnQfsYtu6reJZKxxwzU7XOVh3SedNH15Gf3LjWJVkiQ==", + "requires": { + "graphql-config": "2.0.1", + "graphql-language-service-types": "^1.2.2" + } + }, + "graphql-language-service-types": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.2.2.tgz", + "integrity": "sha512-WEAYYCP4jSzbz/Mw0Klc7HHMgtUHLgtaPMV6zyMMmvefCg/yBUkv7wREXKmqF1k1u9+f5ZX3dki0BMaXiwmJug==", + "requires": { + "graphql-config": "2.0.1" + } + }, + "graphql-language-service-utils": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-utils/-/graphql-language-service-utils-1.2.2.tgz", + "integrity": "sha512-98hzn1Dg3sSAiB+TuvNwWAoBrzuHs8NylkTK26TFyBjozM5wBZttp+T08OvOt+9hCFYRa43yRPrWcrs78KH9Hw==", + "requires": { + "graphql-config": "2.0.1", + "graphql-language-service-types": "^1.2.2" + } + }, + "graphql-request": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", + "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "requires": { + "cross-fetch": "2.2.2" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "iterall": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", + "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "linkify-it": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz", + "integrity": "sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==", + "requires": { + "uc.micro": "^1.0.1" + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", + "dev": true, + "optional": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "node-libs-browser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", + "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.0", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.22.tgz", + "integrity": "sha512-O6XpteBuntW1j86mw6LlovBIwTe+sO2+7vi9avQffNeIW4upgnaCVm6xrBWH+KATz7mNNRNNeEpuWB7dT6Cr3w==", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "null-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-2.0.0.tgz", + "integrity": "sha512-PhEeA3v/tAacxC5dNO1i2yXzGVWWrZ9jTx+TMEJ716amvnBXzvrxIwy9HW7MyJsHe8ACQzpiQgbrAjDRMA7gcg==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "output-file-sync": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz", + "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "is-plain-obj": "^1.1.0", + "mkdirp": "^0.5.1" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, + "p-limit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.16.tgz", + "integrity": "sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" } }, - "asap": { + "postcss-modules-local-by-default": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz", + "integrity": "sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^3.3.1" + } + }, + "postcss-modules-scope": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz", + "integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", + "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "react": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", + "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + } + }, + "react-dom": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", + "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.13.6" + } + }, + "react-is": { + "version": "16.8.6", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", + "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==" + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-transform": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz", + "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==", + "dev": true, + "requires": { + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp-tree": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.10.tgz", + "integrity": "sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==", + "dev": true + }, + "regexpu-core": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.4.tgz", + "integrity": "sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.0.2", + "regjsgen": "^0.5.0", + "regjsparser": "^0.6.0", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.1.0" + } + }, + "regjsgen": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz", + "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==", + "dev": true + }, + "regjsparser": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz", + "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "scheduler": { + "version": "0.13.6", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", + "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + }, + "serialize-javascript": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } } }, - "codemirror": { - "version": "5.42.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.42.0.tgz", - "integrity": "sha512-pbApC8zDzItP3HRphD6kQVwS976qB5Qi0hU3MZMixLk+AyugOW1RF+8XJEjeyl5yWsHNe88tDUxzeRh5AOxPRw==" + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } }, - "codemirror-graphql": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.7.1.tgz", - "integrity": "sha512-HtHXMJAn6iGJYpijkzi3IlqWIdGrB6V0RqJ607yffJTCKk/OgaNtdLOb8hZJyEtHfkw7PZDaKybMAVCi6ScWSQ==", + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, "requires": { - "graphql-language-service-interface": "^1.3.2", - "graphql-language-service-parser": "^1.2.2" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } }, - "core-js": { - "version": "1.2.7", - "resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true }, - "create-react-class": { - "version": "15.6.3", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", - "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, - "cross-fetch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", - "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { - "node-fetch": "2.1.2", - "whatwg-fetch": "2.0.4" + "safe-buffer": "~5.1.0" } }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { - "iconv-lite": "~0.4.13" + "ansi-regex": "^3.0.0" } }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "dev": true, "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" } }, - "graphiql": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-0.12.0.tgz", - "integrity": "sha512-OM5dpcONLK1B2prez2WVTfohQlQKe4Fwv1YwNQYQhN+fFGEW87D5v5fN2M8ZebzxbZHqP12KkHicO3sv8k30TQ==", + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, "requires": { - "codemirror": "^5.26.0", - "codemirror-graphql": "^0.7.1", - "markdown-it": "^8.4.0" + "has-flag": "^3.0.0" } }, - "graphql": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.12.0.tgz", - "integrity": "sha512-ZxOV6ilO1yWntO1K7mFBFjRtj9KJvaxN9D2Ig/KfOlhz4yP/4uQDrbL4wU1fAKuxym8aYmFXRU0lVcoWq3sYaQ==", + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "terser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.0.0.tgz", + "integrity": "sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA==", + "dev": true, "requires": { - "iterall": "1.1.3" + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "graphql-config": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz", - "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==", + "terser-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==", + "dev": true, "requires": { - "graphql-import": "^0.4.4", - "graphql-request": "^1.5.0", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4" + "cacache": "^11.3.2", + "find-cache-dir": "^2.0.0", + "is-wsl": "^1.1.0", + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.0.0", + "webpack-sources": "^1.3.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "graphql-import": { - "version": "0.4.5", - "resolved": "http://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz", - "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==", + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, "requires": { - "lodash": "^4.17.4" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "graphql-language-service-interface": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-1.3.2.tgz", - "integrity": "sha512-sOxFV5sBSnYtKIFHtlmAHHVdhok7CRbvCPLcuHvL4Q1RSgKRsPpeHUDKU+yCbmlonOKn/RWEKaYWrUY0Sgv70A==", + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-parser": "^1.2.2", - "graphql-language-service-types": "^1.2.2", - "graphql-language-service-utils": "^1.2.2" + "setimmediate": "^1.0.4" } }, - "graphql-language-service-parser": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-1.2.2.tgz", - "integrity": "sha512-38zMqJibNKeQe3GheyJtBENoXMp+qc29smiiRQtHLZcwnQfsYtu6reJZKxxwzU7XOVh3SedNH15Gf3LjWJVkiQ==", + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-types": "^1.2.2" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, - "graphql-language-service-types": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.2.2.tgz", - "integrity": "sha512-WEAYYCP4jSzbz/Mw0Klc7HHMgtUHLgtaPMV6zyMMmvefCg/yBUkv7wREXKmqF1k1u9+f5ZX3dki0BMaXiwmJug==", + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, "requires": { - "graphql-config": "2.0.1" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, - "graphql-language-service-utils": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/graphql-language-service-utils/-/graphql-language-service-utils-1.2.2.tgz", - "integrity": "sha512-98hzn1Dg3sSAiB+TuvNwWAoBrzuHs8NylkTK26TFyBjozM5wBZttp+T08OvOt+9hCFYRa43yRPrWcrs78KH9Hw==", + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, "requires": { - "graphql-config": "2.0.1", - "graphql-language-service-types": "^1.2.2" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, - "graphql-request": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", - "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "ts-loader": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-6.0.2.tgz", + "integrity": "sha512-kkF3sGf3oBUehlvXI9fkbItbFTnNgGkYAz91vtWnsKAU4m+LAmQjuby7uTZNo3As+/zHLuyB052SkQDY6vLXtg==", + "dev": true, "requires": { - "cross-fetch": "2.2.2" + "chalk": "^2.3.0", + "enhanced-resolve": "^4.0.0", + "loader-utils": "^1.0.2", + "micromatch": "^4.0.0", + "semver": "^6.0.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typescript": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.1.tgz", + "integrity": "sha512-64HkdiRv1yYZsSe4xC1WVgamNigVYjlssIoaH2HcZF0+ijsk5YK2g0G34w9wJkze8+5ow4STd22AynfO6ZYYLw==", + "dev": true + }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" } }, - "is-stream": { + "unicode-match-property-value-ecmascript": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz", + "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==", + "dev": true }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "unicode-property-aliases-ecmascript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz", + "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==", + "dev": true + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } }, - "iterall": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", - "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==" + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "unique-slug": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "imurmurhash": "^0.1.4" } }, - "linkify-it": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.1.0.tgz", - "integrity": "sha512-4REs8/062kV2DSHxNfq5183zrqXMl7WP0WzABH9IeJI+NLm429FgE1PDecltYfnOoFDFlZGh2T8PfZn0r+GTRg==", + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, "requires": { - "uc.micro": "^1.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } } }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "upath": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "dev": true }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "punycode": "^2.1.0" } }, - "markdown-it": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", - "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, "requires": { - "argparse": "^1.0.7", - "entities": "~1.1.1", - "linkify-it": "^2.0.0", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } } }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "inherits": "2.0.3" } }, - "node-fetch": { - "version": "2.1.2", - "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, "requires": { - "asap": "~2.0.3" + "indexof": "0.0.1" } }, - "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" } }, - "react": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.0.tgz", - "integrity": "sha1-wjKZtI4w7TAlCM6J4aAskZ+Ca84=", + "webpack": { + "version": "4.32.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.32.2.tgz", + "integrity": "sha512-F+H2Aa1TprTQrpodRAWUMJn7A8MgDx82yQiNvYMaj3d1nv3HetKU0oqEulL9huj8enirKi8KvEXQ3QtuHF89Zg==", + "dev": true, "requires": { - "create-react-class": "^15.5.2", - "fbjs": "^0.8.9", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "^15.5.7" + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.0.5", + "acorn-dynamic-import": "^4.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^1.0.0", + "tapable": "^1.1.0", + "terser-webpack-plugin": "^1.1.0", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" } }, - "react-dom": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.0.tgz", - "integrity": "sha1-i8I8sMgOcGNVt2yp+M5Hz3vfttE=", + "webpack-cli": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.2.tgz", + "integrity": "sha512-FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA==", + "dev": true, "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.0", - "prop-types": "~15.5.7" + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.1.0", + "findup-sync": "^2.0.0", + "global-modules": "^1.0.0", + "import-local": "^2.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.5.0", + "v8-compile-cache": "^2.0.2", + "yargs": "^12.0.5" + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { - "prop-types": { - "version": "15.5.10", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { - "fbjs": "^0.8.9", - "loose-envify": "^1.3.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" } } } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true }, - "ua-parser-js": { - "version": "0.7.19", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", - "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true }, - "uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==" + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package.json b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package.json index b23054657d6..abcce22dcec 100644 --- a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package.json +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/package.json @@ -2,9 +2,27 @@ "name": "orchardcore.apis.graphql", "version": "1.0.0", "dependencies": { - "graphiql": "0.12.0", - "graphql": "0.12.0", - "react": "15.6.0", - "react-dom": "15.6.0" + "graphiql": "0.13.0", + "graphql": "14.3.1", + "graphiql-explorer": "0.4.3", + "react": "16.8.6", + "react-dom": "16.8.6" + }, + "devDependencies": { + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/preset-env": "^7.4.5", + "@babel/preset-react": "^7.0.0", + "@babel/preset-typescript": "^7.3.3", + "ts-loader": "^6.0.2", + "css-loader": "^2.1.1", + "style-loader": "^0.23.1", + "null-loader": "^2.0.0", + "typescript": "^3.5.1", + "webpack": "^4.32.2", + "webpack-cli": "^3.3.2" + }, + "scripts": { + "build": "webpack --mode production" } } diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/tsconfig.json b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/tsconfig.json new file mode 100644 index 00000000000..c791b3a3fd5 --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "allowJs": true, + "checkJs": false, + "jsx": "react", + "removeComments": true, + "pretty": true, + "skipLibCheck": true, + "strict": false, + "moduleResolution": "node", + "esModuleInterop": true + }, + "include": [ + "./Assets/js/**/*" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/webpack.config.js b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/webpack.config.js new file mode 100644 index 00000000000..a4f7a7a84ed --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/webpack.config.js @@ -0,0 +1,37 @@ +var path = require('path'); + +module.exports = { + entry: "./Assets/js/App.tsx", + output: { + path: path.resolve(__dirname, "wwwroot/Scripts"), + filename: "graphiql-orchard.js" + }, + resolve: { + // Add `.ts` and `.tsx` as a resolvable extension. + extensions: [".ts", ".tsx", ".js", ".mjs"] + }, + module: { + rules: [ + { + test: /\.(ts|tsx)$/, + exclude: /node_modules/, + use: { + loader: "ts-loader" + } + }, + { + test:/\.css$/, + use:['style-loader','css-loader'] + }, + { + test: /\.mjs$/, + include: /node_modules/, + type: "javascript/auto" + }, + { + test: /\.flow$/, + use: 'null-loader' + } + ] + } + }; \ No newline at end of file diff --git a/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/wwwroot/Scripts/graphiql-orchard.js b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/wwwroot/Scripts/graphiql-orchard.js new file mode 100644 index 00000000000..99b8275e56f --- /dev/null +++ b/src/OrchardCore.Modules/OrchardCore.Apis.GraphQL/wwwroot/Scripts/graphiql-orchard.js @@ -0,0 +1,37 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=148)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isSchema",{enumerable:!0,get:function(){return r.isSchema}}),Object.defineProperty(t,"assertSchema",{enumerable:!0,get:function(){return r.assertSchema}}),Object.defineProperty(t,"GraphQLSchema",{enumerable:!0,get:function(){return r.GraphQLSchema}}),Object.defineProperty(t,"isType",{enumerable:!0,get:function(){return i.isType}}),Object.defineProperty(t,"isScalarType",{enumerable:!0,get:function(){return i.isScalarType}}),Object.defineProperty(t,"isObjectType",{enumerable:!0,get:function(){return i.isObjectType}}),Object.defineProperty(t,"isInterfaceType",{enumerable:!0,get:function(){return i.isInterfaceType}}),Object.defineProperty(t,"isUnionType",{enumerable:!0,get:function(){return i.isUnionType}}),Object.defineProperty(t,"isEnumType",{enumerable:!0,get:function(){return i.isEnumType}}),Object.defineProperty(t,"isInputObjectType",{enumerable:!0,get:function(){return i.isInputObjectType}}),Object.defineProperty(t,"isListType",{enumerable:!0,get:function(){return i.isListType}}),Object.defineProperty(t,"isNonNullType",{enumerable:!0,get:function(){return i.isNonNullType}}),Object.defineProperty(t,"isInputType",{enumerable:!0,get:function(){return i.isInputType}}),Object.defineProperty(t,"isOutputType",{enumerable:!0,get:function(){return i.isOutputType}}),Object.defineProperty(t,"isLeafType",{enumerable:!0,get:function(){return i.isLeafType}}),Object.defineProperty(t,"isCompositeType",{enumerable:!0,get:function(){return i.isCompositeType}}),Object.defineProperty(t,"isAbstractType",{enumerable:!0,get:function(){return i.isAbstractType}}),Object.defineProperty(t,"isWrappingType",{enumerable:!0,get:function(){return i.isWrappingType}}),Object.defineProperty(t,"isNullableType",{enumerable:!0,get:function(){return i.isNullableType}}),Object.defineProperty(t,"isNamedType",{enumerable:!0,get:function(){return i.isNamedType}}),Object.defineProperty(t,"isRequiredArgument",{enumerable:!0,get:function(){return i.isRequiredArgument}}),Object.defineProperty(t,"isRequiredInputField",{enumerable:!0,get:function(){return i.isRequiredInputField}}),Object.defineProperty(t,"assertType",{enumerable:!0,get:function(){return i.assertType}}),Object.defineProperty(t,"assertScalarType",{enumerable:!0,get:function(){return i.assertScalarType}}),Object.defineProperty(t,"assertObjectType",{enumerable:!0,get:function(){return i.assertObjectType}}),Object.defineProperty(t,"assertInterfaceType",{enumerable:!0,get:function(){return i.assertInterfaceType}}),Object.defineProperty(t,"assertUnionType",{enumerable:!0,get:function(){return i.assertUnionType}}),Object.defineProperty(t,"assertEnumType",{enumerable:!0,get:function(){return i.assertEnumType}}),Object.defineProperty(t,"assertInputObjectType",{enumerable:!0,get:function(){return i.assertInputObjectType}}),Object.defineProperty(t,"assertListType",{enumerable:!0,get:function(){return i.assertListType}}),Object.defineProperty(t,"assertNonNullType",{enumerable:!0,get:function(){return i.assertNonNullType}}),Object.defineProperty(t,"assertInputType",{enumerable:!0,get:function(){return i.assertInputType}}),Object.defineProperty(t,"assertOutputType",{enumerable:!0,get:function(){return i.assertOutputType}}),Object.defineProperty(t,"assertLeafType",{enumerable:!0,get:function(){return i.assertLeafType}}),Object.defineProperty(t,"assertCompositeType",{enumerable:!0,get:function(){return i.assertCompositeType}}),Object.defineProperty(t,"assertAbstractType",{enumerable:!0,get:function(){return i.assertAbstractType}}),Object.defineProperty(t,"assertWrappingType",{enumerable:!0,get:function(){return i.assertWrappingType}}),Object.defineProperty(t,"assertNullableType",{enumerable:!0,get:function(){return i.assertNullableType}}),Object.defineProperty(t,"assertNamedType",{enumerable:!0,get:function(){return i.assertNamedType}}),Object.defineProperty(t,"getNullableType",{enumerable:!0,get:function(){return i.getNullableType}}),Object.defineProperty(t,"getNamedType",{enumerable:!0,get:function(){return i.getNamedType}}),Object.defineProperty(t,"GraphQLScalarType",{enumerable:!0,get:function(){return i.GraphQLScalarType}}),Object.defineProperty(t,"GraphQLObjectType",{enumerable:!0,get:function(){return i.GraphQLObjectType}}),Object.defineProperty(t,"GraphQLInterfaceType",{enumerable:!0,get:function(){return i.GraphQLInterfaceType}}),Object.defineProperty(t,"GraphQLUnionType",{enumerable:!0,get:function(){return i.GraphQLUnionType}}),Object.defineProperty(t,"GraphQLEnumType",{enumerable:!0,get:function(){return i.GraphQLEnumType}}),Object.defineProperty(t,"GraphQLInputObjectType",{enumerable:!0,get:function(){return i.GraphQLInputObjectType}}),Object.defineProperty(t,"GraphQLList",{enumerable:!0,get:function(){return i.GraphQLList}}),Object.defineProperty(t,"GraphQLNonNull",{enumerable:!0,get:function(){return i.GraphQLNonNull}}),Object.defineProperty(t,"isDirective",{enumerable:!0,get:function(){return o.isDirective}}),Object.defineProperty(t,"assertDirective",{enumerable:!0,get:function(){return o.assertDirective}}),Object.defineProperty(t,"GraphQLDirective",{enumerable:!0,get:function(){return o.GraphQLDirective}}),Object.defineProperty(t,"isSpecifiedDirective",{enumerable:!0,get:function(){return o.isSpecifiedDirective}}),Object.defineProperty(t,"specifiedDirectives",{enumerable:!0,get:function(){return o.specifiedDirectives}}),Object.defineProperty(t,"GraphQLIncludeDirective",{enumerable:!0,get:function(){return o.GraphQLIncludeDirective}}),Object.defineProperty(t,"GraphQLSkipDirective",{enumerable:!0,get:function(){return o.GraphQLSkipDirective}}),Object.defineProperty(t,"GraphQLDeprecatedDirective",{enumerable:!0,get:function(){return o.GraphQLDeprecatedDirective}}),Object.defineProperty(t,"DEFAULT_DEPRECATION_REASON",{enumerable:!0,get:function(){return o.DEFAULT_DEPRECATION_REASON}}),Object.defineProperty(t,"isSpecifiedScalarType",{enumerable:!0,get:function(){return a.isSpecifiedScalarType}}),Object.defineProperty(t,"specifiedScalarTypes",{enumerable:!0,get:function(){return a.specifiedScalarTypes}}),Object.defineProperty(t,"GraphQLInt",{enumerable:!0,get:function(){return a.GraphQLInt}}),Object.defineProperty(t,"GraphQLFloat",{enumerable:!0,get:function(){return a.GraphQLFloat}}),Object.defineProperty(t,"GraphQLString",{enumerable:!0,get:function(){return a.GraphQLString}}),Object.defineProperty(t,"GraphQLBoolean",{enumerable:!0,get:function(){return a.GraphQLBoolean}}),Object.defineProperty(t,"GraphQLID",{enumerable:!0,get:function(){return a.GraphQLID}}),Object.defineProperty(t,"isIntrospectionType",{enumerable:!0,get:function(){return l.isIntrospectionType}}),Object.defineProperty(t,"introspectionTypes",{enumerable:!0,get:function(){return l.introspectionTypes}}),Object.defineProperty(t,"__Schema",{enumerable:!0,get:function(){return l.__Schema}}),Object.defineProperty(t,"__Directive",{enumerable:!0,get:function(){return l.__Directive}}),Object.defineProperty(t,"__DirectiveLocation",{enumerable:!0,get:function(){return l.__DirectiveLocation}}),Object.defineProperty(t,"__Type",{enumerable:!0,get:function(){return l.__Type}}),Object.defineProperty(t,"__Field",{enumerable:!0,get:function(){return l.__Field}}),Object.defineProperty(t,"__InputValue",{enumerable:!0,get:function(){return l.__InputValue}}),Object.defineProperty(t,"__EnumValue",{enumerable:!0,get:function(){return l.__EnumValue}}),Object.defineProperty(t,"__TypeKind",{enumerable:!0,get:function(){return l.__TypeKind}}),Object.defineProperty(t,"TypeKind",{enumerable:!0,get:function(){return l.TypeKind}}),Object.defineProperty(t,"SchemaMetaFieldDef",{enumerable:!0,get:function(){return l.SchemaMetaFieldDef}}),Object.defineProperty(t,"TypeMetaFieldDef",{enumerable:!0,get:function(){return l.TypeMetaFieldDef}}),Object.defineProperty(t,"TypeNameMetaFieldDef",{enumerable:!0,get:function(){return l.TypeNameMetaFieldDef}}),Object.defineProperty(t,"validateSchema",{enumerable:!0,get:function(){return u.validateSchema}}),Object.defineProperty(t,"assertValidSchema",{enumerable:!0,get:function(){return u.assertValidSchema}});var r=n(23),i=n(3),o=n(15),a=n(17),l=n(16),u=n(44)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLError=a;var r=n(93),i=n(64);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t,n,r,l,u,s){var c=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,f=n;if(!f&&c){var p=c[0];f=p&&p.loc&&p.loc.source}var d,h=r;!h&&c&&(h=c.reduce(function(e,t){return t.loc&&e.push(t.loc.start),e},[])),h&&0===h.length&&(h=void 0),r&&n?d=r.map(function(e){return(0,i.getLocation)(n,e)}):c&&(d=c.reduce(function(e,t){return t.loc&&e.push((0,i.getLocation)(t.loc.source,t.loc.start)),e},[]));var m=s;if(null==m&&null!=u){var v=u.extensions;null!=v&&"object"===o(v)&&(m=v)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:d||void 0,enumerable:Boolean(d)},path:{value:l||void 0,enumerable:Boolean(l)},nodes:{value:c||void 0},source:{value:f||void 0},positions:{value:h||void 0},originalError:{value:u},extensions:{value:m||void 0,enumerable:Boolean(m)}}),u&&u.stack?Object.defineProperty(this,"stack",{value:u.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}a.prototype=Object.create(Error.prototype,{constructor:{value:a},name:{value:"GraphQLError"},toString:{value:function(){return(0,r.printError)(this)}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getIntrospectionQuery",{enumerable:!0,get:function(){return r.getIntrospectionQuery}}),Object.defineProperty(t,"introspectionQuery",{enumerable:!0,get:function(){return r.introspectionQuery}}),Object.defineProperty(t,"getOperationAST",{enumerable:!0,get:function(){return i.getOperationAST}}),Object.defineProperty(t,"getOperationRootType",{enumerable:!0,get:function(){return o.getOperationRootType}}),Object.defineProperty(t,"introspectionFromSchema",{enumerable:!0,get:function(){return a.introspectionFromSchema}}),Object.defineProperty(t,"buildClientSchema",{enumerable:!0,get:function(){return l.buildClientSchema}}),Object.defineProperty(t,"buildASTSchema",{enumerable:!0,get:function(){return u.buildASTSchema}}),Object.defineProperty(t,"buildSchema",{enumerable:!0,get:function(){return u.buildSchema}}),Object.defineProperty(t,"getDescription",{enumerable:!0,get:function(){return u.getDescription}}),Object.defineProperty(t,"extendSchema",{enumerable:!0,get:function(){return s.extendSchema}}),Object.defineProperty(t,"lexicographicSortSchema",{enumerable:!0,get:function(){return c.lexicographicSortSchema}}),Object.defineProperty(t,"printSchema",{enumerable:!0,get:function(){return f.printSchema}}),Object.defineProperty(t,"printType",{enumerable:!0,get:function(){return f.printType}}),Object.defineProperty(t,"printIntrospectionSchema",{enumerable:!0,get:function(){return f.printIntrospectionSchema}}),Object.defineProperty(t,"typeFromAST",{enumerable:!0,get:function(){return p.typeFromAST}}),Object.defineProperty(t,"valueFromAST",{enumerable:!0,get:function(){return d.valueFromAST}}),Object.defineProperty(t,"valueFromASTUntyped",{enumerable:!0,get:function(){return h.valueFromASTUntyped}}),Object.defineProperty(t,"astFromValue",{enumerable:!0,get:function(){return m.astFromValue}}),Object.defineProperty(t,"TypeInfo",{enumerable:!0,get:function(){return v.TypeInfo}}),Object.defineProperty(t,"coerceValue",{enumerable:!0,get:function(){return g.coerceValue}}),Object.defineProperty(t,"isValidJSValue",{enumerable:!0,get:function(){return y.isValidJSValue}}),Object.defineProperty(t,"isValidLiteralValue",{enumerable:!0,get:function(){return b.isValidLiteralValue}}),Object.defineProperty(t,"concatAST",{enumerable:!0,get:function(){return T.concatAST}}),Object.defineProperty(t,"separateOperations",{enumerable:!0,get:function(){return k.separateOperations}}),Object.defineProperty(t,"stripIgnoredCharacters",{enumerable:!0,get:function(){return E.stripIgnoredCharacters}}),Object.defineProperty(t,"isEqualType",{enumerable:!0,get:function(){return _.isEqualType}}),Object.defineProperty(t,"isTypeSubTypeOf",{enumerable:!0,get:function(){return _.isTypeSubTypeOf}}),Object.defineProperty(t,"doTypesOverlap",{enumerable:!0,get:function(){return _.doTypesOverlap}}),Object.defineProperty(t,"assertValidName",{enumerable:!0,get:function(){return w.assertValidName}}),Object.defineProperty(t,"isValidNameError",{enumerable:!0,get:function(){return w.isValidNameError}}),Object.defineProperty(t,"BreakingChangeType",{enumerable:!0,get:function(){return x.BreakingChangeType}}),Object.defineProperty(t,"DangerousChangeType",{enumerable:!0,get:function(){return x.DangerousChangeType}}),Object.defineProperty(t,"findBreakingChanges",{enumerable:!0,get:function(){return x.findBreakingChanges}}),Object.defineProperty(t,"findDangerousChanges",{enumerable:!0,get:function(){return x.findDangerousChanges}}),Object.defineProperty(t,"findDeprecatedUsages",{enumerable:!0,get:function(){return S.findDeprecatedUsages}});var r=n(119),i=n(173),o=n(72),a=n(174),l=n(175),u=n(120),s=n(176),c=n(177),f=n(178),p=n(19),d=n(53),h=n(91),m=n(63),v=n(36),g=n(74),y=n(179),b=n(180),T=n(181),k=n(182),E=n(183),_=n(48),w=n(94),x=n(184),S=n(185)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isType=y,t.assertType=b,t.isScalarType=T,t.assertScalarType=function(e){return T(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Scalar type.")),e},t.isObjectType=k,t.assertObjectType=function(e){return k(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Object type.")),e},t.isInterfaceType=E,t.assertInterfaceType=function(e){return E(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Interface type.")),e},t.isUnionType=_,t.assertUnionType=function(e){return _(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Union type.")),e},t.isEnumType=w,t.assertEnumType=function(e){return w(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Enum type.")),e},t.isInputObjectType=x,t.assertInputObjectType=function(e){return x(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Input Object type.")),e},t.isListType=S,t.assertListType=function(e){return S(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL List type.")),e},t.isNonNullType=C,t.assertNonNullType=function(e){return C(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL Non-Null type.")),e},t.isInputType=N,t.assertInputType=function(e){return N(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL input type.")),e},t.isOutputType=O,t.assertOutputType=function(e){return O(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL output type.")),e},t.isLeafType=A,t.assertLeafType=function(e){return A(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL leaf type.")),e},t.isCompositeType=D,t.assertCompositeType=function(e){return D(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL composite type.")),e},t.isAbstractType=L,t.assertAbstractType=function(e){return L(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL abstract type.")),e},t.GraphQLList=I,t.GraphQLNonNull=M,t.isWrappingType=P,t.assertWrappingType=function(e){return P(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL wrapping type.")),e},t.isNullableType=F,t.assertNullableType=R,t.getNullableType=function(e){if(e)return C(e)?e.ofType:e},t.isNamedType=j,t.assertNamedType=function(e){return j(e)||(0,u.default)(0,"Expected ".concat((0,l.default)(e)," to be a GraphQL named type.")),e},t.getNamedType=function(e){if(e){for(var t=e;P(t);)t=t.ofType;return t}},t.argsToArgsConfig=K,t.isRequiredArgument=function(e){return C(e.type)&&void 0===e.defaultValue},t.isRequiredInputField=function(e){return C(e.type)&&void 0===e.defaultValue},t.GraphQLInputObjectType=t.GraphQLEnumType=t.GraphQLUnionType=t.GraphQLInterfaceType=t.GraphQLObjectType=t.GraphQLScalarType=void 0;var r=h(n(31)),i=h(n(46)),o=h(n(47)),a=h(n(62)),l=h(n(6)),u=h(n(13)),s=h(n(21)),c=h(n(25)),f=h(n(90)),p=n(9),d=n(91);function h(e){return e&&e.__esModule?e:{default:e}}function m(e){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function v(e){for(var t=1;t0?e:void 0}I.prototype.toString=function(){return"["+String(this.ofType)+"]"},(0,o.default)(I),(0,i.default)(I),M.prototype.toString=function(){return String(this.ofType)+"!"},(0,o.default)(M),(0,i.default)(M);var q=function(){function e(e){this.name=e.name,this.description=e.description,this.serialize=e.serialize,this.parseValue=e.parseValue||function(e){return e},this.parseLiteral=e.parseLiteral||d.valueFromASTUntyped,this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),"string"!=typeof e.name&&(0,u.default)(0,"Must provide name."),"function"!=typeof e.serialize&&(0,u.default)(0,"".concat(this.name,' must provide "serialize" function. If this custom Scalar ')+'is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.'),(e.parseValue||e.parseLiteral)&&("function"!=typeof e.parseValue||"function"!=typeof e.parseLiteral)&&(0,u.default)(0,"".concat(this.name,' must provide both "parseValue" and "parseLiteral" ')+"functions.")}var t=e.prototype;return t.toConfig=function(){return{name:this.name,description:this.description,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();t.GraphQLScalarType=q,(0,o.default)(q),(0,i.default)(q);var B=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this.isTypeOf=e.isTypeOf,this._fields=G.bind(void 0,e),this._interfaces=function(e){var t=V(e.interfaces)||[];return Array.isArray(t)||(0,u.default)(0,"".concat(e.name," interfaces must be an Array or a function which returns ")+"an Array."),t}.bind(void 0,e),"string"!=typeof e.name&&(0,u.default)(0,"Must provide name."),null!=e.isTypeOf&&"function"!=typeof e.isTypeOf&&(0,u.default)(0,"".concat(this.name,' must provide "isTypeOf" as a function, ')+"but got: ".concat((0,l.default)(e.isTypeOf),"."))}var t=e.prototype;return t.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},t.getInterfaces=function(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces},t.toConfig=function(){return{name:this.name,description:this.description,isTypeOf:this.isTypeOf,interfaces:this.getInterfaces(),fields:z(this.getFields()),astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();function G(e){var t=V(e.fields)||{};return Q(t)||(0,u.default)(0,"".concat(e.name," fields must be an object with field names as keys or a ")+"function which returns such an object."),(0,f.default)(t,function(t,n){Q(t)||(0,u.default)(0,"".concat(e.name,".").concat(n," field config must be an object")),"isDeprecated"in t&&(0,u.default)(0,"".concat(e.name,".").concat(n,' should provide "deprecationReason" ')+'instead of "isDeprecated".'),null!=t.resolve&&"function"!=typeof t.resolve&&(0,u.default)(0,"".concat(e.name,".").concat(n," field resolver must be a function if ")+"provided, but got: ".concat((0,l.default)(t.resolve),"."));var i=t.args||{};Q(i)||(0,u.default)(0,"".concat(e.name,".").concat(n," args must be an object with argument ")+"names as keys.");var o=(0,r.default)(i).map(function(e){var t=e[0],n=e[1];return{name:t,description:void 0===n.description?null:n.description,type:n.type,defaultValue:n.defaultValue,astNode:n.astNode}});return v({},t,{isDeprecated:Boolean(t.deprecationReason),name:n,args:o})})}function Q(e){return e&&"object"===m(e)&&!Array.isArray(e)}function z(e){return(0,f.default)(e,function(e){return{type:e.type,args:K(e.args),resolve:e.resolve,subscribe:e.subscribe,deprecationReason:e.deprecationReason,description:e.description,astNode:e.astNode}})}function K(e){return(0,c.default)(e,function(e){return e.name},function(e){return{type:e.type,defaultValue:e.defaultValue,description:e.description,astNode:e.astNode}})}t.GraphQLObjectType=B,(0,o.default)(B),(0,i.default)(B);var H=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this.resolveType=e.resolveType,this._fields=G.bind(void 0,e),"string"!=typeof e.name&&(0,u.default)(0,"Must provide name."),null!=e.resolveType&&"function"!=typeof e.resolveType&&(0,u.default)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat((0,l.default)(e.resolveType),"."))}var t=e.prototype;return t.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){return{name:this.name,description:this.description,resolveType:this.resolveType,fields:z(this.getFields()),astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();t.GraphQLInterfaceType=H,(0,o.default)(H),(0,i.default)(H);var W=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this.resolveType=e.resolveType,this._types=function(e){var t=V(e.types)||[];return Array.isArray(t)||(0,u.default)(0,"Must provide Array of types or a function which returns "+"such an array for Union ".concat(e.name,".")),t}.bind(void 0,e),"string"!=typeof e.name&&(0,u.default)(0,"Must provide name."),null!=e.resolveType&&"function"!=typeof e.resolveType&&(0,u.default)(0,"".concat(this.name,' must provide "resolveType" as a function, ')+"but got: ".concat((0,l.default)(e.resolveType),"."))}var t=e.prototype;return t.getTypes=function(){return"function"==typeof this._types&&(this._types=this._types()),this._types},t.toConfig=function(){return{name:this.name,description:this.description,resolveType:this.resolveType,types:this.getTypes(),astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();t.GraphQLUnionType=W,(0,o.default)(W),(0,i.default)(W);var Y=function(){function e(e){var t,n;this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._values=(t=this,Q(n=e.values)||(0,u.default)(0,"".concat(t.name," values must be an object with value names as keys.")),(0,r.default)(n).map(function(e){var n=e[0],r=e[1];return Q(r)||(0,u.default)(0,"".concat(t.name,".").concat(n,' must refer to an object with a "value" key ')+"representing an internal value but got: ".concat((0,l.default)(r),".")),"isDeprecated"in r&&(0,u.default)(0,"".concat(t.name,".").concat(n,' should provide "deprecationReason" instead ')+'of "isDeprecated".'),{name:n,description:r.description,isDeprecated:Boolean(r.deprecationReason),deprecationReason:r.deprecationReason,astNode:r.astNode,value:"value"in r?r.value:n}})),this._valueLookup=new Map(this._values.map(function(e){return[e.value,e]})),this._nameLookup=(0,s.default)(this._values,function(e){return e.name}),"string"!=typeof e.name&&(0,u.default)(0,"Must provide name.")}var t=e.prototype;return t.getValues=function(){return this._values},t.getValue=function(e){return this._nameLookup[e]},t.serialize=function(e){var t=this._valueLookup.get(e);if(t)return t.name},t.parseValue=function(e){if("string"==typeof e){var t=this.getValue(e);if(t)return t.value}},t.parseLiteral=function(e,t){if(e.kind===p.Kind.ENUM){var n=this.getValue(e.value);if(n)return n.value}},t.toConfig=function(){var e=(0,c.default)(this.getValues(),function(e){return e.name},function(e){return{description:e.description,value:e.value,deprecationReason:e.deprecationReason,astNode:e.astNode}});return{name:this.name,description:this.description,values:e,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();t.GraphQLEnumType=Y,(0,o.default)(Y),(0,i.default)(Y);var $=function(){function e(e){this.name=e.name,this.description=e.description,this.astNode=e.astNode,this.extensionASTNodes=U(e.extensionASTNodes),this._fields=function(e){var t=V(e.fields)||{};return Q(t)||(0,u.default)(0,"".concat(e.name," fields must be an object with field names as keys or a ")+"function which returns such an object."),(0,f.default)(t,function(t,n){return"resolve"in t&&(0,u.default)(0,"".concat(e.name,".").concat(n," field has a resolve property, but ")+"Input Types cannot define resolvers."),v({},t,{name:n})})}.bind(void 0,e),"string"!=typeof e.name&&(0,u.default)(0,"Must provide name.")}var t=e.prototype;return t.getFields=function(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields},t.toConfig=function(){var e=(0,f.default)(this.getFields(),function(e){return{description:e.description,type:e.type,defaultValue:e.defaultValue,astNode:e.astNode}});return{name:this.name,description:this.description,fields:e,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes||[]}},t.toString=function(){return this.name},e}();t.GraphQLInputObjectType=$,(0,o.default)($),(0,i.default)($)},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function o(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function a(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var l=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=new RegExp(l.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),s=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,c=n(121);var f=/[&<>"]/,p=/[&<>"]/g,d={"&":"&","<":"<",">":">",'"':"""};function h(e){return d[e]}var m=/[.?*+^$[\]\\(){}|-]/g;var v=n(77);t.lib={},t.lib.mdurl=n(122),t.lib.ucmicro=n(198),t.assign=function(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if("object"!=typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=i,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(l,"$1")},t.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(u,function(e,t,n){return t||function(e,t){var n=0;return i(c,t)?c[t]:35===t.charCodeAt(0)&&s.test(t)&&o(n="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?a(n):e}(e,n)})},t.isValidEntityCode=o,t.fromCodePoint=a,t.escapeHtml=function(e){return f.test(e)?e.replace(p,h):e},t.arrayReplaceAt=function(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))},t.isSpace=function(e){switch(e){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return v.test(e)},t.escapeRE=function(e){return e.replace(m,"\\$&")},t.normalizeReference=function(e){return e.trim().replace(/\s+/g," ").toUpperCase()}},function(e,t,n){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),r=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),a=r||i||o,l=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\//.test(e),s=u&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\//.test(e),f=/Opera\//.test(e),p=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),h=/PhantomJS/.test(e),m=!o&&/AppleWebKit/.test(e)&&/Mobile\/\w+/.test(e),v=/Android/.test(e),g=m||v||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),y=m||/Mac/.test(t),b=/\bCrOS\b/.test(e),T=/win/i.test(t),k=f&&e.match(/Version\/(\d*\.\d*)/);k&&(k=Number(k[1])),k&&k>=15&&(f=!1,u=!0);var E=y&&(s||f&&(null==k||k<12.11)),_=n||a&&l>=9;function w(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var x,S=function(e,t){var n=e.className,r=w(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:"")}};function C(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function N(e,t){return C(e).appendChild(t)}function O(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return a+(t-o);a+=l-o,a+=n-a%n,o=l+1}}m?P=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(P=function(e){try{e.select()}catch(e){}});var V=function(){this.id=null};function U(e,t){for(var n=0;n=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var H=[""];function W(e){for(;H.length<=e;)H.push(Y(H)+" ");return H[e]}function Y(e){return e[e.length-1]}function $(e,t){for(var n=[],r=0;r"€"&&(e.toUpperCase()!=e.toLowerCase()||Z.test(e))}function te(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ee(e))||t.test(e):ee(e)}function ne(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var re=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function ie(e){return e.charCodeAt(0)>=768&&re.test(e)}function oe(e,t,n){for(;(n<0?t>0:tn?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var le=null;function ue(e,t,n){var r;le=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==n?r=i:le=i),o.from==t&&(o.from!=o.to&&"before"!=n?r=i:le=i)}return null!=r?r:le}var se=function(){var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN",t="nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111";var n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,r=/[stwN]/,i=/[LRr]/,o=/[Lb1n]/,a=/[1n]/;function l(e,t,n){this.level=e,this.from=t,this.to=n}return function(u,s){var c,f="ltr"==s?"L":"R";if(0==u.length||"ltr"==s&&!n.test(u))return!1;for(var p=u.length,d=[],h=0;h-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function me(e,t){var n=de(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i0}function be(e){e.prototype.on=function(e,t){pe(this,e,t)},e.prototype.off=function(e,t){he(this,e,t)}}function Te(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function ke(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ee(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function _e(e){Te(e),ke(e)}function we(e){return e.target||e.srcElement}function xe(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),y&&e.ctrlKey&&1==t&&(t=3),t}var Se,Ce,Ne=function(){if(a&&l<9)return!1;var e=O("div");return"draggable"in e||"dragDrop"in e}();function Oe(e){if(null==Se){var t=O("span","​");N(e,O("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Se=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&l<8))}var n=Se?O("span","​"):O("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ae(e){if(null!=Ce)return Ce;var t=N(e,document.createTextNode("AخA")),n=x(t,0,1).getBoundingClientRect(),r=x(t,1,2).getBoundingClientRect();return C(e),!(!n||n.left==n.right)&&(Ce=r.right-n.right<3)}var De,Le=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),a=o.indexOf("\r");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Ie=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Me="oncopy"in(De=O("div"))||(De.setAttribute("oncopy","return;"),"function"==typeof De.oncopy),Pe=null,Fe={},Re={};function je(e){if("string"==typeof e&&Re.hasOwnProperty(e))e=Re[e];else if(e&&"string"==typeof e.name&&Re.hasOwnProperty(e.name)){var t=Re[e.name];"string"==typeof t&&(t={name:t}),(e=X(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return je("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return je("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Ve(e,t){t=je(t);var n=Fe[t.name];if(!n)return Ve(e,"text/plain");var r=n(e,t);if(Ue.hasOwnProperty(t.name)){var i=Ue[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r["_"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var Ue={};function qe(e,t){var n=Ue.hasOwnProperty(e)?Ue[e]:Ue[e]={};R(t,n)}function Be(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Ge(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Qe(e,t,n){return!e.startState||e.startState(t,n)}var ze=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ke(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t=e.first&&tn?et(n,Ke(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?et(e.line,t):n<0?et(e.line,0):e}(t,Ke(e,t.line).text.length)}function ut(e,t){for(var n=[],r=0;r=this.string.length},ze.prototype.sol=function(){return this.pos==this.lineStart},ze.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},ze.prototype.next=function(){if(this.post},ze.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},ze.prototype.skipToEnd=function(){this.pos=this.string.length},ze.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},ze.prototype.backUp=function(e){this.pos-=e},ze.prototype.column=function(){return this.lastColumnPos0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);if(i(o)==i(e))return!1!==t&&(this.pos+=e.length),!0},ze.prototype.current=function(){return this.string.slice(this.start,this.pos)},ze.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},ze.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},ze.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var st=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function ft(e,t,n,r){var i=[e.state.modeGen],o={};Tt(e,t.text,e.doc.mode,n,function(e,t){return i.push(e,t)},o,r);for(var a=n.state,l=function(r){n.baseTokens=i;var l=e.state.overlays[r],u=1,s=0;n.state=!0,Tt(e,t.text,l.mode,n,function(e,t){for(var n=u;se&&i.splice(u,1,e,i[u+1],r),u+=2,s=Math.min(e,r)}if(t)if(l.opaque)i.splice(n,u-n,e,"overlay "+t),u=n+2;else for(;ne.options.maxHighlightLength&&Be(e.doc.mode,r.state),o=ft(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function dt(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),l=t;l>a;--l){if(l<=o.first)return o.first;var u=Ke(o,l-1),s=u.stateAfter;if(s&&(!n||l+(s instanceof st?s.lookAhead:0)<=o.modeFrontier))return l;var c=j(u.text,null,e.options.tabSize);(null==i||r>c)&&(i=l-1,r=c)}return i}(e,t,n),a=o>r.first&&Ke(r,o-1).stateAfter,l=a?ct.fromSaved(r,a,o):new ct(r,Qe(r.mode),o);return r.iter(o,t,function(n){ht(e,n.text,l);var r=l.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&rt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof st?new ct(e,Be(e.mode,t.state),n,t.lookAhead):new ct(e,Be(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?Be(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new st(t,this.maxLookAhead):t};var gt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function yt(e,t,n,r){var i,o=e.doc,a=o.mode;t=lt(o,t);var l,u=Ke(o,t.line),s=dt(e,t.line,n),c=new ze(u.text,e.options.tabSize,s);for(r&&(l=[]);(r||c.pose.options.maxHighlightLength?(l=!1,a&&ht(e,t,r,f.pos),f.pos=t.length,u=null):u=bt(vt(n,f,r.state,p),o),p){var d=p[0].name;d&&(u="m-"+(u?d+" "+u:d))}if(!l||c!=u){for(;s=t:o.to>t);(r||(r=[])).push(new _t(a,o.from,u?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i=t:o.to>t);if(l||o.from==t&&"bookmark"==a.type&&(!n||o.marker.insertLeft)){var u=null==o.from||(a.inclusiveLeft?o.from<=t:o.from0&&l)for(var T=0;Tt)&&(!n||Lt(n,o.marker)<0)&&(n=o.marker)}return n}function Rt(e,t,n,r,i){var o=Ke(e,t),a=Et&&o.markedSpans;if(a)for(var l=0;l=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?tt(s.to,n)>=0:tt(s.to,n)>0)||c>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?tt(s.from,r)<=0:tt(s.from,r)<0)))return!0}}}function jt(e){for(var t;t=Mt(e);)e=t.find(-1,!0).line;return e}function Vt(e,t){var n=Ke(e,t),r=jt(n);return n==r?t:$e(r)}function Ut(e,t){if(t>e.lastLine())return t;var n,r=Ke(e,t);if(!qt(e,r))return t;for(;n=Pt(r);)r=n.find(1,!0).line;return $e(r)+1}function qt(e,t){var n=Et&&t.markedSpans;if(n)for(var r=void 0,i=0;it.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}var Kt=function(e,t,n){this.text=e,Ot(this,t),this.height=n?n(this):1};function Ht(e){e.parent=null,Nt(e)}Kt.prototype.lineNo=function(){return $e(this)},be(Kt);var Wt={},Yt={};function $t(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Yt:Wt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function Jt(e,t){var n=A("span",null,null,u?"padding-right: .1px":null),r={pre:A("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Zt,Ae(e.display.measure)&&(a=ce(o,e.doc.direction))&&(r.addToken=en(r.addToken,a)),r.map=[];var l=t!=e.display.externalMeasured&&$e(o);nn(o,r,pt(e,o,l)),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=M(o.styleClasses.bgClass,r.bgClass||"")),o.styleClasses.textClass&&(r.textClass=M(o.styleClasses.textClass,r.textClass||""))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Oe(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(r.content.className="cm-tab-wrap-hack")}return me(e,"renderLine",e,t.line,r.pre),r.pre.className&&(r.textClass=M(r.pre.className,r.textClass||"")),r}function Xt(e){var t=O("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function Zt(e,t,n,r,i,o,u){if(t){var s,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,r="",i=0;is&&f.from<=s);p++);if(f.to>=c)return e(n,r,i,o,a,l,u);e(n,r.slice(0,f.to-s),i,o,null,l,u),o=null,r=r.slice(f.to-s),s=f.to}}}function tn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function nn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,l,u,s,c,f,p,d=i.length,h=0,m=1,v="",g=0;;){if(g==h){u=s=c=l="",p=null,f=null,g=1/0;for(var y=[],b=void 0,T=0;Th||E.collapsed&&k.to==h&&k.from==h)){if(null!=k.to&&k.to!=h&&g>k.to&&(g=k.to,s=""),E.className&&(u+=" "+E.className),E.css&&(l=(l?l+";":"")+E.css),E.startStyle&&k.from==h&&(c+=" "+E.startStyle),E.endStyle&&k.to==g&&(b||(b=[])).push(E.endStyle,k.to),E.title&&((p||(p={})).title=E.title),E.attributes)for(var _ in E.attributes)(p||(p={}))[_]=E.attributes[_];E.collapsed&&(!f||Lt(f.marker,E)<0)&&(f=k)}else k.from>h&&g>k.from&&(g=k.from)}if(b)for(var w=0;w=d)break;for(var S=Math.min(d,g);;){if(v){var C=h+v.length;if(!f){var N=C>S?v.slice(0,S-h):v;t.addToken(t,N,a?a+u:u,c,h+N.length==g?s:"",l,p)}if(C>=S){v=v.slice(S-h),h=S;break}h=C,c=""}v=i.slice(o,o=n[m++]),a=$t(n[m++],t.cm.options)}}else for(var O=1;On)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function An(e,t,n,r){return In(e,Ln(e,t),n,r)}function Dn(e,t){if(t>=e.display.viewFrom&&t=n.lineN&&t2&&o.push((u.bottom+s.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=Fn(t.map,n,r),u=o.node,s=o.start,c=o.end,f=o.collapse;if(3==u.nodeType){for(var p=0;p<4;p++){for(;s&&ie(t.line.text.charAt(o.coverStart+s));)--s;for(;o.coverStart+c1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;s>0&&(f=r="right"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d["right"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&l<9&&!s&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+nr(e.display),top:h.top,bottom:h.bottom}:Pn}for(var m=i.top-t.rect.top,v=i.bottom-t.rect.top,g=(m+v)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=u-l)-1,t>=u&&(a="right")),null!=i){if(r=e[s+2],l==u&&n==(r.insertLeft?"left":"right")&&(a=n),"left"==n&&0==i)for(;s&&e[s-2]==e[s-3]&&e[s-1].insertLeft;)r=e[2+(s-=3)],a="left";if("right"==n&&i==u-l)for(;s=0&&(n=e[i]).left==n.right;i--);return n}function jn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=r.text.length?(u=r.text.length,s="before"):u<=0&&(u=0,s="after"),!l)return a("before"==s?u-1:u,"before"==s);function c(e,t,n){var r=l[t],i=1==r.level;return a(n?e-1:e,i!=n)}var f=ue(l,u,s),p=le,d=c(u,f,"before"==s);return null!=p&&(d.other=c(u,p,"before"!=s)),d}function Wn(e,t){var n=0;t=lt(e.doc,t),e.options.lineWrapping||(n=nr(e.display)*t.ch);var r=Ke(e.doc,t.line),i=Gt(r)+_n(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function Yn(e,t,n,r,i){var o=et(e,t,n);return o.xRel=i,r&&(o.outside=!0),o}function $n(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return Yn(r.first,0,null,!0,-1);var i=Je(r,n),o=r.first+r.size-1;if(i>o)return Yn(r.first+r.size-1,Ke(r,o).text.length,null,!0,1);t<0&&(t=0);for(var a=Ke(r,i);;){var l=er(e,a,i,t,n),u=Ft(a,l.ch+(l.xRel>0?1:0));if(!u)return l;var s=u.find(1);if(s.line==i)return s;a=Ke(r,i=s.line)}}function Jn(e,t,n,r){r-=Gn(t);var i=t.text.length,o=ae(function(t){return In(e,n,t-1).bottom<=r},i,0);return i=ae(function(t){return In(e,n,t).top>r},o,i),{begin:o,end:i}}function Xn(e,t,n,r){n||(n=Ln(e,t));var i=Qn(e,t,In(e,n,r),"line").top;return Jn(e,t,n,i)}function Zn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function er(e,t,n,r,i){i-=Gt(t);var o=Ln(e,t),a=Gn(t),l=0,u=t.text.length,s=!0,c=ce(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?function(e,t,n,r,i,o,a){var l=Jn(e,t,r,a),u=l.begin,s=l.end;/\s/.test(t.text.charAt(s-1))&&s--;for(var c=null,f=null,p=0;p=s||d.to<=u)){var h=1!=d.level,m=In(e,r,h?Math.min(s,d.to)-1:Math.max(u,d.from)).right,v=mv)&&(c=d,f=v)}}return c||(c=i[i.length-1]),c.froms&&(c={from:c.from,to:s,level:c.level}),c}:function(e,t,n,r,i,o,a){var l=ae(function(l){var u=i[l],s=1!=u.level;return Zn(Hn(e,et(n,s?u.to:u.from,s?"before":"after"),"line",t,r),o,a,!0)},0,i.length-1),u=i[l];if(l>0){var s=1!=u.level,c=Hn(e,et(n,s?u.from:u.to,s?"after":"before"),"line",t,r);Zn(c,o,a,!0)&&c.top>a&&(u=i[l-1])}return u})(e,t,n,o,c,r,i);s=1!=f.level,l=s?f.from:f.to-1,u=s?f.to:f.from-1}var p,d,h=null,m=null,v=ae(function(t){var n=In(e,o,t);return n.top+=a,n.bottom+=a,!!Zn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)},l,u),g=!1;if(m){var y=r-m.left=T.bottom}return v=oe(t.text,v,1),Yn(n,v,d,g,r-p)}function tr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Mn){Mn=O("pre");for(var t=0;t<49;++t)Mn.appendChild(document.createTextNode("x")),Mn.appendChild(O("br"));Mn.appendChild(document.createTextNode("x"))}N(e.measure,Mn);var n=Mn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),C(e.measure),n||1}function nr(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=O("span","xxxxxxxxxx"),n=O("pre",[t]);N(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function rr(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var l=e.display.gutterSpecs[a].className;n[l]=o.offsetLeft+o.clientLeft+i,r[l]=o.clientWidth}return{fixedPos:ir(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function ir(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function or(e){var t=tr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/nr(e.display)-3);return function(i){if(qt(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;rt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Et&&Vt(e.doc,t)i.viewFrom?fr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)fr(e);else if(t<=i.viewFrom){var o=pr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):fr(e)}else if(n>=i.viewTo){var a=pr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):fr(e)}else{var l=pr(e,t,t,-1),u=pr(e,n,n+r,1);l&&u?(i.view=i.view.slice(0,l.index).concat(on(e,l.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):fr(e)}var s=i.externalMeasured;s&&(n=i.lineN&&t=r.viewTo)){var o=r.view[ur(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==U(a,n)&&a.push(n)}}}function fr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function pr(e,t,n,r){var i,o=ur(e,t),a=e.display.view;if(!Et||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var l=e.display.viewFrom,u=0;u0){if(o==a.length-1)return null;i=l+a[o].size-t,o++}else i=l-t;t+=i,n+=i}for(;Vt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function dr(e){for(var t=e.display.view,n=0,r=0;r=e.display.viewTo||l.to().linet||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?"rtl":"ltr",o),i=!0)}i||r(t,n,"ltr")}(m,n||0,null==r?p:r,function(e,t,i,f){var v="ltr"==i,g=d(e,v?"left":"right"),y=d(t-1,v?"right":"left"),b=null==n&&0==e,T=null==r&&t==p,k=0==f,E=!m||f==m.length-1;if(y.top-g.top<=3){var _=(s?b:T)&&k,w=(s?T:b)&&E,x=_?l:(v?g:y).left,S=w?u:(v?y:g).right;c(x,g.top,S-x,g.bottom)}else{var C,N,O,A;v?(C=s&&b&&k?l:g.left,N=s?u:h(e,i,"before"),O=s?l:h(t,i,"after"),A=s&&T&&E?u:y.right):(C=s?h(e,i,"before"):l,N=!s&&b&&k?u:g.right,O=!s&&T&&E?l:y.left,A=s?h(t,i,"after"):u),c(C,g.top,N-C,g.bottom),g.bottom0?t.blinker=setInterval(function(){return t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Tr(e){e.state.focused||(e.display.input.focus(),Er(e))}function kr(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,_r(e))},100)}function Er(e,t){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(me(e,"focus",e,t),e.state.focused=!0,I(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),br(e))}function _r(e,t){e.state.delayingBlurEvent||(e.state.focused&&(me(e,"blur",e,t),e.state.focused=!1,S(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function wr(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r.005||p<-.005)&&(Ye(i.line,u),xr(i.line),i.rest))for(var d=0;de.display.sizerWidth){var h=Math.ceil(s/nr(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function xr(e){if(e.widgets)for(var t=0;t=a&&(o=Je(t,Gt(Ke(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function Cr(e,t){var n=e.display,r=tr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Nn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var l=e.doc.height+wn(n),u=t.topl-r;if(t.topi+o){var c=Math.min(t.top,(s?l:t.bottom)-o);c!=i&&(a.scrollTop=c)}var f=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft,p=Cn(e)-(e.options.fixedGutter?n.gutters.offsetWidth:0),d=t.right-t.left>p;return d&&(t.right=t.left+p),t.left<10?a.scrollLeft=0:t.leftp+f-3&&(a.scrollLeft=t.right+(d?0:10)-p),a}function Nr(e,t){null!=t&&(Dr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Or(e){Dr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Ar(e,t,n){null==t&&null==n||Dr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Dr(e){var t=e.curOp.scrollToPos;if(t){e.curOp.scrollToPos=null;var n=Wn(e,t.from),r=Wn(e,t.to);Lr(e,n,r,t.margin)}}function Lr(e,t,n,r){var i=Cr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Ar(e,i.scrollLeft,i.scrollTop)}function Ir(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||oi(e,{top:t}),Mr(e,t,!0),n&&oi(e),ei(e,100))}function Mr(e,t,n){t=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Pr(e,t,n,r){t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,ui(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Fr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+wn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+Sn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Rr=function(e,t,n){this.cm=n;var r=this.vert=O("div",[O("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=O("div",[O("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");r.tabIndex=i.tabIndex=-1,e(r),e(i),pe(r,"scroll",function(){r.clientHeight&&t(r.scrollTop,"vertical")}),pe(i,"scroll",function(){i.clientWidth&&t(i.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,a&&l<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Rr.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?r+"px":"0";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?r+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Rr.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Rr.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Rr.prototype.zeroWidthHack=function(){var e=y&&!d?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents="none",this.disableHoriz=new V,this.disableVert=new V},Rr.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents="auto",t.set(1e3,function r(){var i=e.getBoundingClientRect(),o="vert"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1);o!=e?e.style.pointerEvents="none":t.set(1e3,r)})},Rr.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var jr=function(){};function Vr(e,t){t||(t=Fr(e));var n=e.display.barWidth,r=e.display.barHeight;Ur(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&wr(e),Ur(e,Fr(e)),n=e.display.barWidth,r=e.display.barHeight}function Ur(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+"px",n.heightForcer.style.borderBottom=r.bottom+"px solid transparent",r.right&&r.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=r.bottom+"px",n.scrollbarFiller.style.width=r.right+"px"):n.scrollbarFiller.style.display="",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=r.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}jr.prototype.update=function(){return{bottom:0,right:0}},jr.prototype.setScrollLeft=function(){},jr.prototype.setScrollTop=function(){},jr.prototype.clear=function(){};var qr={native:Rr,null:jr};function Br(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&S(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new qr[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),pe(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){"horizontal"==n?Pr(e,t):Ir(e,t)},e),e.display.scrollbars.addClass&&I(e.display.wrapper,e.display.scrollbars.addClass)}var Gr=0;function Qr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Gr},t=e.curOp,an?an.ops.push(t):t.ownsGroup=an={ops:[t],delayedCallbacks:[]}}function zr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ni(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Hr(e){var t=e.cm,n=t.display;e.updatedDisplay&&wr(t),e.barMeasure=Fr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=An(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Sn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Cn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Wr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft1&&(a=!0)),null!=s.scrollLeft&&(Pr(e,s.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return i}(t,lt(r,e.scrollToPos.from),lt(r,e.scrollToPos.to),e.scrollToPos.margin);!function(e,t){if(!ve(e,"scrollCursorIntoView")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=O("div","​",null,"position: absolute;\n top: "+(t.top-n.viewOffset-_n(e.display))+"px;\n height: "+(t.bottom-t.top+Sn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,i)}var o=e.maybeHiddenMarkers,a=e.maybeUnhiddenMarkers;if(o)for(var l=0;l=e.display.viewTo)){var n=+new Date+e.options.workTime,r=dt(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(r.line>=e.display.viewFrom){var a=o.styles,l=o.text.length>e.options.maxHighlightLength?Be(t.mode,r.state):null,u=ft(e,o,r,!0);l&&(r.state=l),o.styles=u.styles;var s=o.styleClasses,c=u.classes;c?o.styleClasses=c:s&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||s!=c&&(!s||!c||s.bgClass!=c.bgClass||s.textClass!=c.textClass),p=0;!f&&pn)return ei(e,e.options.workDelay),!0}),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&$r(e,function(){for(var t=0;t=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==dr(e))return!1;si(e)&&(fr(e),t.dims=rr(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFroma&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),Et&&(o=Vt(e.doc,o),a=Ut(e.doc,a));var l=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;!function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=on(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=on(e,t,r.viewFrom).concat(r.view):r.viewFromn&&(r.view=r.view.slice(0,ur(e,n)))),r.viewTo=n}(e,o,a),n.viewOffset=Gt(Ke(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var s=dr(e);if(!l&&0==s&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=L();if(!t||!D(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&D(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return s>4&&(n.lineDiv.style.display="none"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function l(t){var n=t.nextSibling;return u&&y&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var s=r.view,c=r.viewFrom,f=0;f-1&&(d=!1),cn(e,p,c,n)),d&&(C(p.lineNumber),p.lineNumber.appendChild(document.createTextNode(Ze(e.options,c)))),a=p.node.nextSibling}else{var h=gn(e,p,c,n);o.insertBefore(h,a)}c+=p.size}for(;a;)a=l(a)}(e,n.updateLineNumbers,t.dims),s>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=L()&&(e.activeElt.focus(),e.anchorNode&&D(document.body,e.anchorNode)&&D(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),C(n.cursorDiv),C(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,l&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ei(e,400)),n.updateLineNumbers=null,!0}function ii(e,t){for(var n=t.viewport,r=!0;(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Cn(e)||(n&&null!=n.top&&(n={top:Math.min(e.doc.height+wn(e.display)-Nn(e),n.top)}),t.visible=Sr(e.display,e.doc,n),!(t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)))&&ri(e,t);r=!1){wr(e);var i=Fr(e);hr(e),Vr(e,i),li(e,i),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function oi(e,t){var n=new ni(e,t);if(ri(e,n)){wr(e),ii(e,n);var r=Fr(e);hr(e),Vr(e,r),li(e,r),n.finish()}}function ai(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px"}function li(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Sn(e)+"px"}function ui(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=ir(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+"px",a=0;al.clientWidth,c=l.scrollHeight>l.clientHeight;if(i&&s||o&&c){if(o&&y&&u)e:for(var p=t.target,d=a.view;p!=l;p=p.parentNode)for(var h=0;h=0&&tt(e,r.to())<=0)return n}return-1};var Ti=function(e,t){this.anchor=e,this.head=t};function ki(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort(function(e,t){return tt(e.from(),t.from())}),n=U(t,i);for(var o=1;o0:u>=0){var s=ot(l.from(),a.from()),c=it(l.to(),a.to()),f=l.empty()?a.from()==a.head:l.from()==l.head;o<=n&&--n,t.splice(--o,2,new Ti(f?c:s,f?s:c))}}return new bi(t,n)}function Ei(e,t){return new bi([new Ti(e,t||e)],0)}function _i(e){return e.text?et(e.from.line+e.text.length-1,Y(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function wi(e,t){if(tt(e,t.from)<0)return e;if(tt(e,t.to)<=0)return _i(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=_i(t).ch-t.to.ch),et(n,r)}function xi(e,t){for(var n=[],r=0;r1&&e.remove(l.line+1,h-1),e.insert(l.line+1,g)}un(e,"change",e,t)}function Di(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;al-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Fi(e.done),Y(e.done)):e.done.length&&!Y(e.done).ranges?Y(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Y(e.done)):void 0}(i,i.lastOp==r)))a=Y(o.changes),0==tt(t.from,t.to)&&0==tt(t.from,a.to)?a.to=_i(t):o.changes.push(Pi(e,t));else{var u=Y(i.done);for(u&&u.ranges||Vi(e.sel,i.done),o={changes:[Pi(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=l,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||me(e,"historyAdded")}function ji(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return"*"==i||"+"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,Y(i.done),t))?i.done[i.done.length-1]=t:Vi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Fi(i.undone)}function Vi(e,t){var n=Y(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Ui(e,t,n,r){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function qi(e){if(!e)return null;for(var t,n=0;n-1&&(Y(l)[f]=s[f],delete s[f])}}}return r}function Qi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=tt(t,i)<0;o!=tt(n,i)<0?(i=t,t=n):o!=tt(t,n)<0&&(t=n)}return new Ti(i,t)}return new Ti(n||t,t)}function zi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),$i(e,new bi([Qi(e.sel.primary(),t,n,i)],0),r)}function Ki(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:l.to>t.ch))){if(i&&(me(u,"beforeCursorEnter"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var s=u.find(r<0?1:-1),c=void 0;if((r<0?u.inclusiveRight:u.inclusiveLeft)&&(s=ro(e,s,-r,s&&s.line==t.line?o:null)),s&&s.line==t.line&&(c=tt(s,n))&&(r<0?c<0:c>0))return to(e,s,t,r,i)}var f=u.find(r<0?-1:1);return(r<0?u.inclusiveLeft:u.inclusiveRight)&&(f=ro(e,f,r,f.line==t.line?o:null)),f?to(e,f,t,r,i):null}}return t}function no(e,t,n,r,i){var o=r||1,a=to(e,t,n,o,i)||!i&&to(e,t,n,o,!0)||to(e,t,n,-o,i)||!i&&to(e,t,n,-o,!0);return a||(e.cantEdit=!0,et(e.first,0))}function ro(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?lt(e,et(t.line-1)):null:n>0&&t.ch==(r||Ke(e,t.line)).text.length?t.line0)){var c=[u,1],f=tt(s.from,l.from),p=tt(s.to,l.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:s.from,to:l.from}),(p>0||!a.inclusiveRight&&!p)&&c.push({from:l.to,to:s.to}),i.splice.apply(i,c),u+=c.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)lo(e,{from:r[i].from,to:r[i].to,text:i?[""]:t.text,origin:t.origin});else lo(e,t)}}function lo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=tt(t.from,t.to)){var n=xi(e,t);Ri(e,t,n,e.cm?e.cm.curOp.id:NaN),co(e,t,n,St(e,t));var r=[];Di(e,function(e,n){n||-1!=U(r,e.history)||(mo(e.history,t),r.push(e.history)),co(e,t,null,St(e,t))})}}function uo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,l="undo"==t?o.done:o.undone,u="undo"==t?o.undone:o.done,s=0;s=0;--d){var h=p(d);if(h)return h.v}}}}function so(e,t){if(0!=t&&(e.first+=t,e.sel=new bi($(e.sel.ranges,function(e){return new Ti(et(e.anchor.line+t,e.anchor.ch),et(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){sr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;re.lastLine())){if(t.from.lineo&&(t={from:t.from,to:et(o,Ke(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=He(e,t.from,t.to),n||(n=xi(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,l=!1,u=o.line;e.options.lineWrapping||(u=$e(jt(Ke(r,o.line))),r.iter(u,a.line+1,function(e){if(e==i.maxLine)return l=!0,!0})),r.sel.contains(t.from,t.to)>-1&&ge(e),Ai(r,t,n,or(e)),e.options.lineWrapping||(r.iter(u,o.line+t.text.length,function(e){var t=Qt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,l=!1)}),l&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontiern;r--){var i=Ke(e,r).stateAfter;if(i&&(!(i instanceof st)||r+i.lookAhead1||!(this.children[0]instanceof go))){var l=[];this.collapse(l),this.children=[new go(l)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var a=i.lines.length%25+25,l=a;l10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=A("span",[o.replacedWith],"CodeMirror-widget"),r.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Rt(e,t.line,t,n,o)||t.line!=n.line&&Rt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Et=!0}o.addToHistory&&Ri(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var l,u=t.line,s=e.cm;if(e.iter(u,n.line+1,function(e){s&&o.collapsed&&!s.options.lineWrapping&&jt(e)==s.display.maxLine&&(l=!0),o.collapsed&&u!=t.line&&Ye(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new _t(o,u==t.line?t.ch:null,u==n.line?n.ch:null)),++u}),o.collapsed&&e.iter(t.line,n.line+1,function(t){qt(e,t)&&Ye(t,0)}),o.clearOnEnter&&pe(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(kt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++ko,o.atomic=!0),s){if(l&&(s.curOp.updateMaxLine=!0),o.collapsed)sr(s,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)cr(s,c,"text");o.atomic&&Zi(s.doc),un(s,"markerAdded",s,o)}return o}Eo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Qr(e),ye(this,"clear")){var n=this.find();n&&un(this,"clear",n.from,n.to)}for(var r=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=s,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&sr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&Zi(e.doc)),e&&un(e,"markerCleared",e,this,r,i),t&&zr(e),this.parent&&this.parent.clear()}},Eo.prototype.find=function(e,t){var n,r;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;u--)ao(this,r[u]);l?Yi(this,l):this.cm&&Or(this.cm)}),undo:Zr(function(){uo(this,"undo")}),redo:Zr(function(){uo(this,"redo")}),undoSelection:Zr(function(){uo(this,"undo",!0)}),redoSelection:Zr(function(){uo(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=lt(this,e),t=lt(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,function(o){var a=o.markedSpans;if(a)for(var l=0;l=u.to||null==u.from&&i!=e.line||null!=u.from&&i==t.line&&u.from>=t.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i}),r},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;re)return t=e,!0;e-=o,++n}),lt(this,et(n,t))},indexFromPos:function(e){var t=(e=lt(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var c=e.dataTransfer.getData("Text");if(c){var f;if(t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections()),Ji(t.doc,Ei(n,n)),f)for(var p=0;p=0;t--)fo(e.doc,"",r[t].from,r[t].to,"+delete");Or(e)})}function Yo(e,t,n){var r=oe(e.text,t+n,n);return r<0||r>e.text.length?null:r}function $o(e,t,n){var r=Yo(e,t.ch,n);return null==r?null:new et(t.line,r,n<0?"after":"before")}function Jo(e,t,n,r,i){if(e){var o=ce(n,t.doc.direction);if(o){var a,l=i<0?Y(o):o[0],u=i<0==(1==l.level),s=u?"after":"before";if(l.level>0||"rtl"==t.doc.direction){var c=Ln(t,n);a=i<0?n.text.length-1:0;var f=In(t,c,a).top;a=ae(function(e){return In(t,c,e).top==f},i<0==(1==l.level)?l.from:l.to-1,a),"before"==s&&(a=Yo(n,a,1))}else a=i<0?l.to:l.from;return new et(r,a,s)}}return new et(r,i<0?n.text.length:0,i<0?"before":"after")}Uo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Uo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Uo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Uo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Uo.default=y?Uo.macDefault:Uo.pcDefault;var Xo={selectAll:io,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),G)},killLine:function(e){return Wo(e,function(t){if(t.empty()){var n=Ke(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line0)i=new et(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),et(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var a=Ke(e.doc,i.line-1).text;a&&(i=new et(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),et(i.line-1,a.length-1),i,"+transpose"))}n.push(new Ti(i,i))}e.setSelections(n)})},newlineAndIndent:function(e){return $r(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var r=0;r-1&&(tt((i=s.ranges[i]).from(),t)<0||t.xRel>0)&&(tt(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,s=Jr(e,function(t){u&&(i.scroller.draggable=!1),e.state.draggingText=!1,he(i.wrapper.ownerDocument,"mouseup",s),he(i.wrapper.ownerDocument,"mousemove",c),he(i.scroller,"dragstart",f),he(i.scroller,"drop",s),o||(Te(t),r.addNew||zi(e.doc,n,null,null,r.extend),u||a&&9==l?setTimeout(function(){i.wrapper.ownerDocument.body.focus(),i.input.focus()},20):i.input.focus())}),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};u&&(i.scroller.draggable=!0),e.state.draggingText=s,s.copy=!r.moveOnDrag,i.scroller.dragDrop&&i.scroller.dragDrop(),pe(i.wrapper.ownerDocument,"mouseup",s),pe(i.wrapper.ownerDocument,"mousemove",c),pe(i.scroller,"dragstart",f),pe(i.scroller,"drop",s),kr(e),setTimeout(function(){return i.input.focus()},20)}(e,r,t,o):function(e,t,n,r){var i=e.display,o=e.doc;Te(t);var a,l,u=o.sel,s=u.ranges;if(r.addNew&&!r.extend?(l=o.sel.contains(n),a=l>-1?s[l]:new Ti(n,n)):(a=o.sel.primary(),l=o.sel.primIndex),"rectangle"==r.unit)r.addNew||(a=new Ti(n,n)),n=lr(e,t,!0,!0),l=-1;else{var c=ha(e,n,r.unit);a=r.extend?Qi(a,c.anchor,c.head,r.extend):c}r.addNew?-1==l?(l=s.length,$i(o,ki(e,s.concat([a]),l),{scroll:!1,origin:"*mouse"})):s.length>1&&s[l].empty()&&"char"==r.unit&&!r.extend?($i(o,ki(e,s.slice(0,l).concat(s.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):Hi(o,l,a,Q):(l=0,$i(o,new bi([a],0),Q),u=o.sel);var f=n;function p(t){if(0!=tt(f,t))if(f=t,"rectangle"==r.unit){for(var i=[],s=e.options.tabSize,c=j(Ke(o,n.line).text,n.ch,s),p=j(Ke(o,t.line).text,t.ch,s),d=Math.min(c,p),h=Math.max(c,p),m=Math.min(n.line,t.line),v=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=v;m++){var g=Ke(o,m).text,y=K(g,d,s);d==h?i.push(new Ti(et(m,y),et(m,y))):g.length>y&&i.push(new Ti(et(m,y),et(m,K(g,h,s))))}i.length||i.push(new Ti(n,n)),$i(o,ki(e,u.ranges.slice(0,l).concat(i),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,T=a,k=ha(e,t,r.unit),E=T.anchor;tt(k.anchor,E)>0?(b=k.head,E=ot(T.from(),k.anchor)):(b=k.anchor,E=it(T.to(),k.head));var _=u.ranges.slice(0);_[l]=function(e,t){var n=t.anchor,r=t.head,i=Ke(e.doc,n.line);if(0==tt(n,r)&&n.sticky==r.sticky)return t;var o=ce(i);if(!o)return t;var a=ue(o,n.ch,n.sticky),l=o[a];if(l.from!=n.ch&&l.to!=n.ch)return t;var u,s=a+(l.from==n.ch==(1!=l.level)?0:1);if(0==s||s==o.length)return t;if(r.line!=n.line)u=(r.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=ue(o,r.ch,r.sticky),f=c-a||(r.ch-n.ch)*(1==l.level?-1:1);u=c==s-1||c==s?f<0:f>0}var p=o[s+(u?-1:0)],d=u==(1==p.level),h=d?p.from:p.to,m=d?"after":"before";return n.ch==h&&n.sticky==m?t:new Ti(new et(n.line,h,m),r)}(e,new Ti(lt(o,E),b)),$i(o,ki(e,_,l),Q)}}var d=i.wrapper.getBoundingClientRect(),h=0;function m(t){e.state.selectingText=!1,h=1/0,t&&(Te(t),i.input.focus()),he(i.wrapper.ownerDocument,"mousemove",v),he(i.wrapper.ownerDocument,"mouseup",g),o.history.lastSelOrigin=null}var v=Jr(e,function(t){0!==t.buttons&&xe(t)?function t(n){var a=++h,l=lr(e,n,!0,"rectangle"==r.unit);if(l)if(0!=tt(l,f)){e.curOp.focus=L(),p(l);var u=Sr(i,o);(l.line>=u.to||l.lined.bottom?20:0;s&&setTimeout(Jr(e,function(){h==a&&(i.scroller.scrollTop+=s,t(n))}),50)}}(t):m(t)}),g=Jr(e,m);e.state.selectingText=g,pe(i.wrapper.ownerDocument,"mousemove",v),pe(i.wrapper.ownerDocument,"mouseup",g)}(e,r,t,o)}(t,r,o,e):we(e)==n.scroller&&Te(e):2==i?(r&&zi(t.doc,r),setTimeout(function(){return n.input.focus()},20)):3==i&&(_?t.display.input.onContextMenu(e):kr(t)))}}function ha(e,t,n){if("char"==n)return new Ti(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Ti(et(t.line,0),lt(e.doc,et(t.line+1,0)));var r=n(e,t);return new Ti(r.from,r.to)}function ma(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(t){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&Te(t);var a=e.display,l=a.lineDiv.getBoundingClientRect();if(o>l.bottom||!ye(e,n))return Ee(t);o-=l.top-a.viewOffset;for(var u=0;u=i){var c=Je(e.doc,o),f=e.display.gutterSpecs[u];return me(e,n,e,c,f.className,t),Ee(t)}}}function va(e,t){return ma(e,t,"gutterClick",!0)}function ga(e,t){En(e.display,t)||function(e,t){return!!ye(e,"gutterContextMenu")&&ma(e,t,"gutterContextMenu",!1)}(e,t)||ve(e,t,"contextmenu")||_||e.display.input.onContextMenu(t)}function ya(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Un(e)}pa.prototype.compare=function(e,t,n){return this.time+400>e&&0==tt(t,this.pos)&&n==this.button};var ba={toString:function(){return"CodeMirror.Init"}},Ta={},ka={};function Ea(e,t,n){var r=n&&n!=ba;if(!t!=!r){var i=e.display.dragFunctions,o=t?pe:he;o(e.display.scroller,"dragstart",i.start),o(e.display.scroller,"dragenter",i.enter),o(e.display.scroller,"dragover",i.over),o(e.display.scroller,"dragleave",i.leave),o(e.display.scroller,"drop",i.drop)}}function _a(e){e.options.lineWrapping?(I(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(S(e.display.wrapper,"CodeMirror-wrap"),zt(e)),ar(e),sr(e),Un(e),setTimeout(function(){return Vr(e)},100)}function wa(e,t){var n=this;if(!(this instanceof wa))return new wa(e,t);this.options=t=t?R(t):{},R(Ta,t,!1);var r=t.value;"string"==typeof r?r=new No(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new wa.inputStyles[t.inputStyle](this),o=this.display=new di(e,r,i,t);for(var s in o.wrapper.CodeMirror=this,ya(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Br(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new V,keySeq:null,specialChars:null},t.autofocus&&!g&&o.input.focus(),a&&l<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(e){var t=e.display;pe(t.scroller,"mousedown",Jr(e,da)),pe(t.scroller,"dblclick",a&&l<11?Jr(e,function(t){if(!ve(e,t)){var n=lr(e,t);if(n&&!va(e,t)&&!En(e.display,t)){Te(t);var r=e.findWordAt(n);zi(e.doc,r.anchor,r.head)}}}):function(t){return ve(e,t)||Te(t)}),pe(t.scroller,"contextmenu",function(t){return ga(e,t)});var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),(r=t.activeTouch).end=+new Date)}function o(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}pe(t.scroller,"touchstart",function(i){if(!ve(e,i)&&!function(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}(i)&&!va(e,i)){t.input.ensurePolled(),clearTimeout(n);var o=+new Date;t.activeTouch={start:o,moved:!1,prev:o-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}}),pe(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),pe(t.scroller,"touchend",function(n){var r=t.activeTouch;if(r&&!En(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var a,l=e.coordsChar(t.activeTouch,"page");a=!r.prev||o(r,r.prev)?new Ti(l,l):!r.prev.prev||o(r,r.prev.prev)?e.findWordAt(l):new Ti(et(l.line,0),lt(e.doc,et(l.line+1,0))),e.setSelection(a.anchor,a.head),e.focus(),Te(n)}i()}),pe(t.scroller,"touchcancel",i),pe(t.scroller,"scroll",function(){t.scroller.clientHeight&&(Ir(e,t.scroller.scrollTop),Pr(e,t.scroller.scrollLeft,!0),me(e,"scroll",e))}),pe(t.scroller,"mousewheel",function(t){return yi(e,t)}),pe(t.scroller,"DOMMouseScroll",function(t){return yi(e,t)}),pe(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){ve(e,t)||_e(t)},over:function(t){ve(e,t)||(function(e,t){var n=lr(e,t);if(n){var r=document.createDocumentFragment();vr(e,n,r),e.display.dragCursor||(e.display.dragCursor=O("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),N(e.display.dragCursor,r)}}(e,t),_e(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Oo<100))_e(t);else if(!ve(e,t)&&!En(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!p)){var n=O("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:Jr(e,Ao),leave:function(t){ve(e,t)||Do(e)}};var u=t.input.getField();pe(u,"keyup",function(t){return ua.call(e,t)}),pe(u,"keydown",Jr(e,la)),pe(u,"keypress",Jr(e,sa)),pe(u,"focus",function(t){return Er(e,t)}),pe(u,"blur",function(t){return _r(e,t)})}(this),Mo(),Qr(this),this.curOp.forceUpdate=!0,Li(this,r),t.autofocus&&!g||this.hasFocus()?setTimeout(F(Er,this),20):_r(this),ka)ka.hasOwnProperty(s)&&ka[s](n,t[s],ba);si(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!r)return;n="prev"}}else s=0,n="not";"prev"==n?s=t>o.first?j(Ke(o,t-1).text,null,a):0:"add"==n?s=u+e.options.indentUnit:"subtract"==n?s=u-e.options.indentUnit:"number"==typeof n&&(s=u+n),s=Math.max(0,s);var f="",p=0;if(e.options.indentWithTabs)for(var d=Math.floor(s/a);d;--d)p+=a,f+="\t";if(pa,u=Le(t),s=null;if(l&&r.ranges.length>1)if(Ca&&Ca.text.join("\n")==t){if(r.ranges.length%Ca.text.length==0){s=[];for(var c=0;c=0;p--){var d=r.ranges[p],h=d.from(),m=d.to();d.empty()&&(n&&n>0?h=et(h.line,h.ch-n):e.state.overwrite&&!l?m=et(m.line,Math.min(Ke(o,m.line).text.length,m.ch+Y(u).length)):l&&Ca&&Ca.lineWise&&Ca.text.join("\n")==t&&(h=m=et(h.line,0)));var v={from:h,to:m,text:s?s[p%s.length]:u,origin:i||(l?"paste":e.state.cutIncoming>a?"cut":"+input")};ao(e.doc,v),un(e,"inputRead",e,v)}t&&!l&&Da(e,t),Or(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Aa(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||$r(t,function(){return Oa(t,n,0,null,"paste")}),!0}function Da(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var l=0;l-1){a=Sa(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ke(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Sa(e,i.head.line,"smart"));a&&un(e,"electricInput",e,i.head.line)}}}function La(e){for(var t=[],n=[],r=0;r=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=ue(i,n.ch,n.sticky),a=i[o];if("ltr"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from=a.from&&p>=c.begin)){var d=f?"before":"after";return new et(n.line,p,d)}}var h=function(e,t,r){for(var o=function(e,t){return t?new et(n.line,u(e,1),"before"):new et(n.line,e,"after")};e>=0&&e0==(1!=a.level),s=l?r.begin:u(r.end,-1);if(a.from<=s&&s0?c.end:u(c.begin,-1);return null==v||r>0&&v==t.text.length||!(m=h(r>0?0:i.length-1,r,s(v)))?null:m}(e.cm,l,t,n):$o(l,t,n))){if(r||((a=t.line+n)=e.first+e.size||(t=new et(a,t.ch,t.sticky),!(l=Ke(e,a)))))return!1;t=Jo(i,e.cm,l,t.line,n)}else t=o;return!0}if("char"==r)u();else if("column"==r)u(!0);else if("word"==r||"group"==r)for(var s=null,c="group"==r,f=e.cm&&e.cm.getHelper(t,"wordChars"),p=!0;!(n<0)||u(!p);p=!1){var d=l.text.charAt(t.ch)||"\n",h=te(d,f)?"w":c&&"\n"==d?"n":!c||/\s/.test(d)?null:"p";if(!c||p||h||(h="s"),s&&s!=h){n<0&&(n=1,u(),t.sticky="after");break}if(h&&(s=h),n>0&&!u(!p))break}var m=no(e,t,o,a,!0);return nt(o,m)&&(m.hitSide=!0),m}function Fa(e,t,n,r){var i,o,a=e.doc,l=t.left;if("page"==r){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),s=Math.max(u-.5*tr(e.display),3);i=(n>0?t.bottom:t.top)+n*s}else"line"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=$n(e,l,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var Ra=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new V,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function ja(e,t){var n=Dn(e,t.line);if(!n||n.hidden)return null;var r=Ke(e.doc,t.line),i=On(n,r,t.line),o=ce(r,e.doc.direction),a="left";if(o){var l=ue(o,t.ch);a=l%2?"right":"left"}var u=Fn(i.map,t.ch,a);return u.offset="right"==u.collapse?u.end:u.start,u}function Va(e,t){return t&&(e.bad=!0),e}function Ua(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Va(e.clipPos(et(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&ja(t,i)||{node:u[0].measure.map[2],offset:0},c=o.liner.firstLine()&&(a=et(a.line-1,Ke(r.doc,a.line-1).length)),l.ch==Ke(r.doc,l.line).text.length&&l.linei.viewTo-1)return!1;a.line==i.viewFrom||0==(e=ur(r,a.line))?(t=$e(i.view[0].line),n=i.view[0].node):(t=$e(i.view[e].line),n=i.view[e-1].node.nextSibling);var u,s,c=ur(r,l.line);if(c==i.view.length-1?(u=i.viewTo-1,s=i.lineDiv.lastChild):(u=$e(i.view[c+1].line)-1,s=i.view[c+1].node.previousSibling),!n)return!1;for(var f=r.doc.splitLines(function(e,t,n,r,i){var o="",a=!1,l=e.doc.lineSeparator(),u=!1;function s(){a&&(o+=l,u&&(o+=l),a=u=!1)}function c(e){e&&(s(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void c(n);var o,p=t.getAttribute("cm-marker");if(p){var d=e.findMarks(et(r,0),et(i+1,0),(v=+p,function(e){return e.id==v}));return void(d.length&&(o=d[0].find(0))&&c(He(e.doc,o.from,o.to).join(l)))}if("false"==t.getAttribute("contenteditable"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&s();for(var m=0;m1&&p.length>1;)if(Y(f)==Y(p))f.pop(),p.pop(),u--;else{if(f[0]!=p[0])break;f.shift(),p.shift(),t++}for(var d=0,h=0,m=f[0],v=p[0],g=Math.min(m.length,v.length);da.ch&&y.charCodeAt(y.length-h-1)==b.charCodeAt(b.length-h-1);)d--,h++;f[f.length-1]=y.slice(0,y.length-h).replace(/^\u200b+/,""),f[0]=f[0].slice(d).replace(/\u200b+$/,"");var k=et(t,d),E=et(u,p.length?Y(p).length-h:0);return f.length>1||f[0]||tt(k,E)?(fo(r.doc,f,k,E,"+input"),!0):void 0},Ra.prototype.ensurePolled=function(){this.forceCompositionEnd()},Ra.prototype.reset=function(){this.forceCompositionEnd()},Ra.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Ra.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Ra.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||$r(this.cm,function(){return sr(e.cm)})},Ra.prototype.setUneditable=function(e){e.contentEditable="false"},Ra.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||Jr(this.cm,Oa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Ra.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Ra.prototype.onContextMenu=function(){},Ra.prototype.resetPosition=function(){},Ra.prototype.needsContentAttribute=!0;var Ba=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new V,this.hasSelection=!1,this.composing=null};Ba.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!ve(r,e)){if(r.somethingSelected())Na({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=La(r);Na({lineWise:!0,text:t.text}),"cut"==e.type?r.setSelections(t.ranges,null,G):(n.prevInput="",i.value=t.text.join("\n"),P(i))}"cut"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width="0px"),pe(i,"input",function(){a&&l>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),pe(i,"paste",function(e){ve(r,e)||Aa(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())}),pe(i,"cut",o),pe(i,"copy",o),pe(e.scroller,"paste",function(t){if(!En(e,t)&&!ve(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}}),pe(e.lineSpace,"selectstart",function(t){En(e,t)||Te(t)}),pe(i,"compositionstart",function(){var e=r.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor("to"),{className:"CodeMirror-composing"})}}),pe(i,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},Ba.prototype.createField=function(e){this.wrapper=Ma(),this.textarea=this.wrapper.firstChild},Ba.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=mr(e);if(e.options.moveInputWithCursor){var i=Hn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Ba.prototype.showSelection=function(e){var t=this.cm,n=t.display;N(n.cursorDiv,e.cursors),N(n.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ba.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&P(this.textarea),a&&l>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",a&&l>=9&&(this.hasSelection=null))}},Ba.prototype.getField=function(){return this.textarea},Ba.prototype.supportsTouch=function(){return!1},Ba.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!g||L()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ba.prototype.blur=function(){this.textarea.blur()},Ba.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ba.prototype.receivedFocus=function(){this.slowPoll()},Ba.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Ba.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function n(){var r=t.poll();r||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))})},Ba.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Ie(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&l>=9&&this.hasSelection===i||y&&/[\uf700-\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var u=0,s=Math.min(r.length,i.length);u1e3||i.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Ba.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ba.prototype.onKeyPress=function(){a&&l>=9&&(this.hasSelection=null),this.fastPoll()},Ba.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=lr(n,e),s=r.scroller.scrollTop;if(o&&!f){var c=n.options.resetSelectionOnContextMenu;c&&-1==n.doc.sel.contains(o)&&Jr(n,$i)(n.doc,Ei(o),G);var p,d=i.style.cssText,h=t.wrapper.style.cssText,m=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-m.top-5)+"px; left: "+(e.clientX-m.left-5)+"px;\n z-index: 1000; background: "+(a?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",u&&(p=window.scrollY),r.input.focus(),u&&window.scrollTo(null,p),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=y,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&l>=9&&g(),_){_e(e);var v=function(){he(window,"mouseup",v),setTimeout(y,20)};pe(window,"mouseup",v)}else setTimeout(y,50)}function g(){if(null!=i.selectionStart){var e=n.somethingSelected(),o="​"+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"​",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function y(){if(t.contextMenuPending==y&&(t.contextMenuPending=!1,t.wrapper.style.cssText=h,i.style.cssText=d,a&&l<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=s),null!=i.selectionStart)){(!a||a&&l<9)&&g();var e=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput?Jr(n,io)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},Ba.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e},Ba.prototype.setUneditable=function(){},Ba.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=ba&&i(e,t,n)}:i)}e.defineOption=n,e.Init=ba,n("value","",function(e,t){return e.setValue(t)},!0),n("mode",null,function(e,t){e.doc.modeOption=t,Ci(e)},!0),n("indentUnit",2,Ci,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(e){Ni(e),Un(e),sr(e)},!0),n("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter(function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(et(r,o))}r++});for(var i=n.length-1;i>=0;i--)fo(e.doc,t,n[i],et(n[i].line,n[i].ch+t.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=ba&&e.refresh()}),n("specialCharPlaceholder",Xt,function(e){return e.refresh()},!0),n("electricChars",!0),n("inputStyle",g?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),n("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),n("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),n("rtlMoveVisually",!T),n("wholeLineUpdateBefore",!0),n("theme","default",function(e){ya(e),pi(e)},!0),n("keyMap","default",function(e,t,n){var r=Ho(t),i=n!=ba&&Ho(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,_a,!0),n("gutters",[],function(e,t){e.display.gutterSpecs=ci(t,e.options.lineNumbers),pi(e)},!0),n("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?ir(e.display)+"px":"0",e.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(e){return Vr(e)},!0),n("scrollbarStyle","native",function(e){Br(e),Vr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),n("lineNumbers",!1,function(e,t){e.display.gutterSpecs=ci(e.options.gutters,t),pi(e)},!0),n("firstLineNumber",1,pi,!0),n("lineNumberFormatter",function(e){return e},pi,!0),n("showCursorWhenSelecting",!1,hr,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(e,t){"nocursor"==t&&(_r(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),n("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),n("dragDrop",!0,Ea),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,hr,!0),n("singleCursorHeightPerLine",!0,hr,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Ni,!0),n("addModeClass",!1,Ni,!0),n("pollInterval",100),n("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),n("historyEventDelay",1250),n("viewportMargin",10,function(e){return e.refresh()},!0),n("maxHighlightLength",1e4,Ni,!0),n("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),n("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),n("autofocus",null),n("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),n("phrases",null)}(wa),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&"mode"!=e||(r[e]=n,t.hasOwnProperty(e)&&Jr(this,t[e])(this,n,i),me(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](Ho(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;nn&&(Sa(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Or(this));else{var o=i.from(),a=i.to(),l=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=l;u0&&Hi(this.doc,r,new Ti(o,s[r].to()),G)}}}),getTokenAt:function(e,t){return yt(this,e,t)},getLineTokens:function(e,t){return yt(this,et(e),t,!0)},getTokenTypeAt:function(e){e=lt(this.doc,e);var t,n=pt(this,Ke(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]o&&(e=o,i=!0),r=Ke(this.doc,e)}else r=e;return Qn(this,r,{top:0,left:0},t||"page",n||i).top+(i?this.doc.height-Gt(r):0)},defaultTextHeight:function(){return tr(this.display)},defaultCharWidth:function(){return nr(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,a,l,u=this.display,s=(e=Hn(this,lt(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),u.sizer.appendChild(t),"over"==r)s=e.top;else if("above"==r||"near"==r){var f=Math.max(u.wrapper.clientHeight,this.doc.height),p=Math.max(u.sizer.clientWidth,u.lineSpace.clientWidth);("above"==r||e.bottom+t.offsetHeight>f)&&e.top>t.offsetHeight?s=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=f&&(s=e.bottom),c+t.offsetWidth>p&&(c=p-t.offsetWidth)}t.style.top=s+"px",t.style.left=t.style.right="","right"==i?(c=u.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(u.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),n&&(o=this,a={left:c,top:s,right:c+t.offsetWidth,bottom:s+t.offsetHeight},null!=(l=Cr(o,a)).scrollTop&&Ir(o,l.scrollTop),null!=l.scrollLeft&&Pr(o,l.scrollLeft))},triggerOnKeyDown:Xr(la),triggerOnKeyPress:Xr(sa),triggerOnKeyUp:ua,triggerOnMouseDown:Xr(da),execCommand:function(e){if(Xo.hasOwnProperty(e))return Xo[e].call(null,this)},triggerElectric:Xr(function(e){Da(this,e)}),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=lt(this.doc,e),a=0;a0&&l(n.charAt(r-1));)--r;for(;i.5)&&ar(this),me(this,"refresh",this)}),swapDoc:Xr(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Li(this,e),Un(this),this.display.input.reset(),Ar(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,"swapDoc",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},be(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(wa);var Ga="iter insert remove copy getEditor constructor".split(" ");for(var Qa in No.prototype)No.prototype.hasOwnProperty(Qa)&&U(Ga,Qa)<0&&(wa.prototype[Qa]=function(e){return function(){return e.apply(this.doc,arguments)}}(No.prototype[Qa]));return be(No),wa.inputStyles={textarea:Ba,contenteditable:Ra},wa.defineMode=function(e){wa.defaults.mode||"null"==e||(wa.defaults.mode=e),function(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Fe[e]=t}.apply(this,arguments)},wa.defineMIME=function(e,t){Re[e]=t},wa.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),wa.defineMIME("text/plain","null"),wa.defineExtension=function(e,t){wa.prototype[e]=t},wa.defineDocExtension=function(e,t){No.prototype[e]=t},wa.fromTextArea=function(e,t){if((t=t?R(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=L();t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function r(){e.value=l.getValue()}var i;if(e.form&&(pe(e.form,"submit",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(t){t.save=r,t.getTextArea=function(){return e},t.toTextArea=function(){t.toTextArea=isNaN,r(),e.parentNode.removeChild(t.getWrapperElement()),e.style.display="",e.form&&(he(e.form,"submit",r),"function"==typeof e.form.submit&&(e.form.submit=i))}},e.style.display="none";var l=wa(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return l},function(e){e.off=he,e.on=pe,e.wheelEventPixels=gi,e.Doc=No,e.splitLines=Le,e.countColumn=j,e.findColumn=K,e.isWordChar=ee,e.Pass=B,e.signal=me,e.Line=Kt,e.changeEnd=_i,e.scrollbarModel=qr,e.Pos=et,e.cmpPos=tt,e.modes=Fe,e.mimeModes=Re,e.resolveMode=je,e.getMode=Ve,e.modeExtensions=Ue,e.extendMode=qe,e.copyState=Be,e.startState=Qe,e.innerMode=Ge,e.commands=Xo,e.keyMap=Uo,e.keyName=Ko,e.isModifierKey=Qo,e.lookupKey=Go,e.normalizeKeyMap=Bo,e.StringStream=ze,e.SharedTextMarker=wo,e.TextMarker=Eo,e.LineWidget=bo,e.e_preventDefault=Te,e.e_stopPropagation=ke,e.e_stop=_e,e.addClass=I,e.contains=D,e.rmClass=S,e.keyNames=Fo}(wa),wa.version="5.47.0",wa}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return u(e,[])};var r,i=(r=n(89))&&r.__esModule?r:{default:r};function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=10,l=2;function u(e,t){switch(o(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]);if(e){var r=function(e){var t=e[String(i.default)];if("function"==typeof t)return t;if("function"==typeof e.inspect)return e.inspect}(e);if(void 0!==r){var o=r.call(e);if(o!==e)return"string"==typeof o?o:u(o,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>l)return"[Array]";for(var n=Math.min(a,e.length),r=e.length-n,i=[],o=0;o1&&i.push("... ".concat(r," more items"));return"["+i.join(", ")+"]"}(e,n);return function(e,t){var n=Object.keys(e);if(0===n.length)return"{}";if(t.length>l)return"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var n=e.constructor.name;if("string"==typeof n)return n}return t}(e)+"]";return"{ "+n.map(function(n){var r=u(e[n],t);return n+": "+r}).join(", ")+" }"}(e,n)}return String(e)}(e,t);default:return String(e)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"validate",{enumerable:!0,get:function(){return r.validate}}),Object.defineProperty(t,"ValidationContext",{enumerable:!0,get:function(){return i.ValidationContext}}),Object.defineProperty(t,"specifiedRules",{enumerable:!0,get:function(){return o.specifiedRules}}),Object.defineProperty(t,"FieldsOnCorrectTypeRule",{enumerable:!0,get:function(){return a.FieldsOnCorrectType}}),Object.defineProperty(t,"FragmentsOnCompositeTypesRule",{enumerable:!0,get:function(){return l.FragmentsOnCompositeTypes}}),Object.defineProperty(t,"KnownArgumentNamesRule",{enumerable:!0,get:function(){return u.KnownArgumentNames}}),Object.defineProperty(t,"KnownDirectivesRule",{enumerable:!0,get:function(){return s.KnownDirectives}}),Object.defineProperty(t,"KnownFragmentNamesRule",{enumerable:!0,get:function(){return c.KnownFragmentNames}}),Object.defineProperty(t,"KnownTypeNamesRule",{enumerable:!0,get:function(){return f.KnownTypeNames}}),Object.defineProperty(t,"LoneAnonymousOperationRule",{enumerable:!0,get:function(){return p.LoneAnonymousOperation}}),Object.defineProperty(t,"NoFragmentCyclesRule",{enumerable:!0,get:function(){return d.NoFragmentCycles}}),Object.defineProperty(t,"NoUndefinedVariablesRule",{enumerable:!0,get:function(){return h.NoUndefinedVariables}}),Object.defineProperty(t,"NoUnusedFragmentsRule",{enumerable:!0,get:function(){return m.NoUnusedFragments}}),Object.defineProperty(t,"NoUnusedVariablesRule",{enumerable:!0,get:function(){return v.NoUnusedVariables}}),Object.defineProperty(t,"OverlappingFieldsCanBeMergedRule",{enumerable:!0,get:function(){return g.OverlappingFieldsCanBeMerged}}),Object.defineProperty(t,"PossibleFragmentSpreadsRule",{enumerable:!0,get:function(){return y.PossibleFragmentSpreads}}),Object.defineProperty(t,"ProvidedRequiredArgumentsRule",{enumerable:!0,get:function(){return b.ProvidedRequiredArguments}}),Object.defineProperty(t,"ScalarLeafsRule",{enumerable:!0,get:function(){return T.ScalarLeafs}}),Object.defineProperty(t,"SingleFieldSubscriptionsRule",{enumerable:!0,get:function(){return k.SingleFieldSubscriptions}}),Object.defineProperty(t,"UniqueArgumentNamesRule",{enumerable:!0,get:function(){return E.UniqueArgumentNames}}),Object.defineProperty(t,"UniqueDirectivesPerLocationRule",{enumerable:!0,get:function(){return _.UniqueDirectivesPerLocation}}),Object.defineProperty(t,"UniqueFragmentNamesRule",{enumerable:!0,get:function(){return w.UniqueFragmentNames}}),Object.defineProperty(t,"UniqueInputFieldNamesRule",{enumerable:!0,get:function(){return x.UniqueInputFieldNames}}),Object.defineProperty(t,"UniqueOperationNamesRule",{enumerable:!0,get:function(){return S.UniqueOperationNames}}),Object.defineProperty(t,"UniqueVariableNamesRule",{enumerable:!0,get:function(){return C.UniqueVariableNames}}),Object.defineProperty(t,"ValuesOfCorrectTypeRule",{enumerable:!0,get:function(){return N.ValuesOfCorrectType}}),Object.defineProperty(t,"VariablesAreInputTypesRule",{enumerable:!0,get:function(){return O.VariablesAreInputTypes}}),Object.defineProperty(t,"VariablesInAllowedPositionRule",{enumerable:!0,get:function(){return A.VariablesInAllowedPosition}});var r=n(50),i=n(71),o=n(95),a=n(104),l=n(101),u=n(113),s=n(111),c=n(68),f=n(100),p=n(98),d=n(107),h=n(109),m=n(69),v=n(110),g=n(117),y=n(106),b=n(115),T=n(103),k=n(99),E=n(114),_=n(112),w=n(105),x=n(118),S=n(97),C=n(108),N=n(70),O=n(102),A=n(116)},function(e,t,n){"use strict";n.r(t);var r=n(61);n.d(t,"graphql",function(){return r.graphql}),n.d(t,"graphqlSync",function(){return r.graphqlSync});var i=n(0);n.d(t,"GraphQLSchema",function(){return i.GraphQLSchema}),n.d(t,"GraphQLDirective",function(){return i.GraphQLDirective}),n.d(t,"GraphQLScalarType",function(){return i.GraphQLScalarType}),n.d(t,"GraphQLObjectType",function(){return i.GraphQLObjectType}),n.d(t,"GraphQLInterfaceType",function(){return i.GraphQLInterfaceType}),n.d(t,"GraphQLUnionType",function(){return i.GraphQLUnionType}),n.d(t,"GraphQLEnumType",function(){return i.GraphQLEnumType}),n.d(t,"GraphQLInputObjectType",function(){return i.GraphQLInputObjectType}),n.d(t,"GraphQLList",function(){return i.GraphQLList}),n.d(t,"GraphQLNonNull",function(){return i.GraphQLNonNull}),n.d(t,"specifiedScalarTypes",function(){return i.specifiedScalarTypes}),n.d(t,"GraphQLInt",function(){return i.GraphQLInt}),n.d(t,"GraphQLFloat",function(){return i.GraphQLFloat}),n.d(t,"GraphQLString",function(){return i.GraphQLString}),n.d(t,"GraphQLBoolean",function(){return i.GraphQLBoolean}),n.d(t,"GraphQLID",function(){return i.GraphQLID}),n.d(t,"specifiedDirectives",function(){return i.specifiedDirectives}),n.d(t,"GraphQLIncludeDirective",function(){return i.GraphQLIncludeDirective}),n.d(t,"GraphQLSkipDirective",function(){return i.GraphQLSkipDirective}),n.d(t,"GraphQLDeprecatedDirective",function(){return i.GraphQLDeprecatedDirective}),n.d(t,"TypeKind",function(){return i.TypeKind}),n.d(t,"DEFAULT_DEPRECATION_REASON",function(){return i.DEFAULT_DEPRECATION_REASON}),n.d(t,"introspectionTypes",function(){return i.introspectionTypes}),n.d(t,"__Schema",function(){return i.__Schema}),n.d(t,"__Directive",function(){return i.__Directive}),n.d(t,"__DirectiveLocation",function(){return i.__DirectiveLocation}),n.d(t,"__Type",function(){return i.__Type}),n.d(t,"__Field",function(){return i.__Field}),n.d(t,"__InputValue",function(){return i.__InputValue}),n.d(t,"__EnumValue",function(){return i.__EnumValue}),n.d(t,"__TypeKind",function(){return i.__TypeKind}),n.d(t,"SchemaMetaFieldDef",function(){return i.SchemaMetaFieldDef}),n.d(t,"TypeMetaFieldDef",function(){return i.TypeMetaFieldDef}),n.d(t,"TypeNameMetaFieldDef",function(){return i.TypeNameMetaFieldDef}),n.d(t,"isSchema",function(){return i.isSchema}),n.d(t,"isDirective",function(){return i.isDirective}),n.d(t,"isType",function(){return i.isType}),n.d(t,"isScalarType",function(){return i.isScalarType}),n.d(t,"isObjectType",function(){return i.isObjectType}),n.d(t,"isInterfaceType",function(){return i.isInterfaceType}),n.d(t,"isUnionType",function(){return i.isUnionType}),n.d(t,"isEnumType",function(){return i.isEnumType}),n.d(t,"isInputObjectType",function(){return i.isInputObjectType}),n.d(t,"isListType",function(){return i.isListType}),n.d(t,"isNonNullType",function(){return i.isNonNullType}),n.d(t,"isInputType",function(){return i.isInputType}),n.d(t,"isOutputType",function(){return i.isOutputType}),n.d(t,"isLeafType",function(){return i.isLeafType}),n.d(t,"isCompositeType",function(){return i.isCompositeType}),n.d(t,"isAbstractType",function(){return i.isAbstractType}),n.d(t,"isWrappingType",function(){return i.isWrappingType}),n.d(t,"isNullableType",function(){return i.isNullableType}),n.d(t,"isNamedType",function(){return i.isNamedType}),n.d(t,"isRequiredArgument",function(){return i.isRequiredArgument}),n.d(t,"isRequiredInputField",function(){return i.isRequiredInputField}),n.d(t,"isSpecifiedScalarType",function(){return i.isSpecifiedScalarType}),n.d(t,"isIntrospectionType",function(){return i.isIntrospectionType}),n.d(t,"isSpecifiedDirective",function(){return i.isSpecifiedDirective}),n.d(t,"assertSchema",function(){return i.assertSchema}),n.d(t,"assertDirective",function(){return i.assertDirective}),n.d(t,"assertType",function(){return i.assertType}),n.d(t,"assertScalarType",function(){return i.assertScalarType}),n.d(t,"assertObjectType",function(){return i.assertObjectType}),n.d(t,"assertInterfaceType",function(){return i.assertInterfaceType}),n.d(t,"assertUnionType",function(){return i.assertUnionType}),n.d(t,"assertEnumType",function(){return i.assertEnumType}),n.d(t,"assertInputObjectType",function(){return i.assertInputObjectType}),n.d(t,"assertListType",function(){return i.assertListType}),n.d(t,"assertNonNullType",function(){return i.assertNonNullType}),n.d(t,"assertInputType",function(){return i.assertInputType}),n.d(t,"assertOutputType",function(){return i.assertOutputType}),n.d(t,"assertLeafType",function(){return i.assertLeafType}),n.d(t,"assertCompositeType",function(){return i.assertCompositeType}),n.d(t,"assertAbstractType",function(){return i.assertAbstractType}),n.d(t,"assertWrappingType",function(){return i.assertWrappingType}),n.d(t,"assertNullableType",function(){return i.assertNullableType}),n.d(t,"assertNamedType",function(){return i.assertNamedType}),n.d(t,"getNullableType",function(){return i.getNullableType}),n.d(t,"getNamedType",function(){return i.getNamedType}),n.d(t,"validateSchema",function(){return i.validateSchema}),n.d(t,"assertValidSchema",function(){return i.assertValidSchema});var o=n(10);n.d(t,"Source",function(){return o.Source}),n.d(t,"getLocation",function(){return o.getLocation}),n.d(t,"createLexer",function(){return o.createLexer}),n.d(t,"TokenKind",function(){return o.TokenKind}),n.d(t,"parse",function(){return o.parse}),n.d(t,"parseValue",function(){return o.parseValue}),n.d(t,"parseType",function(){return o.parseType}),n.d(t,"print",function(){return o.print}),n.d(t,"visit",function(){return o.visit}),n.d(t,"visitInParallel",function(){return o.visitInParallel}),n.d(t,"visitWithTypeInfo",function(){return o.visitWithTypeInfo}),n.d(t,"getVisitFn",function(){return o.getVisitFn}),n.d(t,"BREAK",function(){return o.BREAK}),n.d(t,"Kind",function(){return o.Kind}),n.d(t,"DirectiveLocation",function(){return o.DirectiveLocation}),n.d(t,"isDefinitionNode",function(){return o.isDefinitionNode}),n.d(t,"isExecutableDefinitionNode",function(){return o.isExecutableDefinitionNode}),n.d(t,"isSelectionNode",function(){return o.isSelectionNode}),n.d(t,"isValueNode",function(){return o.isValueNode}),n.d(t,"isTypeNode",function(){return o.isTypeNode}),n.d(t,"isTypeSystemDefinitionNode",function(){return o.isTypeSystemDefinitionNode}),n.d(t,"isTypeDefinitionNode",function(){return o.isTypeDefinitionNode}),n.d(t,"isTypeSystemExtensionNode",function(){return o.isTypeSystemExtensionNode}),n.d(t,"isTypeExtensionNode",function(){return o.isTypeExtensionNode});var a=n(29);n.d(t,"execute",function(){return a.execute}),n.d(t,"defaultFieldResolver",function(){return a.defaultFieldResolver}),n.d(t,"defaultTypeResolver",function(){return a.defaultTypeResolver}),n.d(t,"responsePathAsArray",function(){return a.responsePathAsArray}),n.d(t,"getDirectiveValues",function(){return a.getDirectiveValues});var l=n(75);n.d(t,"subscribe",function(){return l.subscribe}),n.d(t,"createSourceEventStream",function(){return l.createSourceEventStream});var u=n(7);n.d(t,"validate",function(){return u.validate}),n.d(t,"ValidationContext",function(){return u.ValidationContext}),n.d(t,"specifiedRules",function(){return u.specifiedRules}),n.d(t,"FieldsOnCorrectTypeRule",function(){return u.FieldsOnCorrectTypeRule}),n.d(t,"FragmentsOnCompositeTypesRule",function(){return u.FragmentsOnCompositeTypesRule}),n.d(t,"KnownArgumentNamesRule",function(){return u.KnownArgumentNamesRule}),n.d(t,"KnownDirectivesRule",function(){return u.KnownDirectivesRule}),n.d(t,"KnownFragmentNamesRule",function(){return u.KnownFragmentNamesRule}),n.d(t,"KnownTypeNamesRule",function(){return u.KnownTypeNamesRule}),n.d(t,"LoneAnonymousOperationRule",function(){return u.LoneAnonymousOperationRule}),n.d(t,"NoFragmentCyclesRule",function(){return u.NoFragmentCyclesRule}),n.d(t,"NoUndefinedVariablesRule",function(){return u.NoUndefinedVariablesRule}),n.d(t,"NoUnusedFragmentsRule",function(){return u.NoUnusedFragmentsRule}),n.d(t,"NoUnusedVariablesRule",function(){return u.NoUnusedVariablesRule}),n.d(t,"OverlappingFieldsCanBeMergedRule",function(){return u.OverlappingFieldsCanBeMergedRule}),n.d(t,"PossibleFragmentSpreadsRule",function(){return u.PossibleFragmentSpreadsRule}),n.d(t,"ProvidedRequiredArgumentsRule",function(){return u.ProvidedRequiredArgumentsRule}),n.d(t,"ScalarLeafsRule",function(){return u.ScalarLeafsRule}),n.d(t,"SingleFieldSubscriptionsRule",function(){return u.SingleFieldSubscriptionsRule}),n.d(t,"UniqueArgumentNamesRule",function(){return u.UniqueArgumentNamesRule}),n.d(t,"UniqueDirectivesPerLocationRule",function(){return u.UniqueDirectivesPerLocationRule}),n.d(t,"UniqueFragmentNamesRule",function(){return u.UniqueFragmentNamesRule}),n.d(t,"UniqueInputFieldNamesRule",function(){return u.UniqueInputFieldNamesRule}),n.d(t,"UniqueOperationNamesRule",function(){return u.UniqueOperationNamesRule}),n.d(t,"UniqueVariableNamesRule",function(){return u.UniqueVariableNamesRule}),n.d(t,"ValuesOfCorrectTypeRule",function(){return u.ValuesOfCorrectTypeRule}),n.d(t,"VariablesAreInputTypesRule",function(){return u.VariablesAreInputTypesRule}),n.d(t,"VariablesInAllowedPositionRule",function(){return u.VariablesInAllowedPositionRule});var s=n(20);n.d(t,"GraphQLError",function(){return s.GraphQLError}),n.d(t,"syntaxError",function(){return s.syntaxError}),n.d(t,"locatedError",function(){return s.locatedError}),n.d(t,"printError",function(){return s.printError}),n.d(t,"formatError",function(){return s.formatError});var c=n(2);n.d(t,"getIntrospectionQuery",function(){return c.getIntrospectionQuery}),n.d(t,"introspectionQuery",function(){return c.introspectionQuery}),n.d(t,"getOperationAST",function(){return c.getOperationAST}),n.d(t,"getOperationRootType",function(){return c.getOperationRootType}),n.d(t,"introspectionFromSchema",function(){return c.introspectionFromSchema}),n.d(t,"buildClientSchema",function(){return c.buildClientSchema}),n.d(t,"buildASTSchema",function(){return c.buildASTSchema}),n.d(t,"buildSchema",function(){return c.buildSchema}),n.d(t,"getDescription",function(){return c.getDescription}),n.d(t,"extendSchema",function(){return c.extendSchema}),n.d(t,"lexicographicSortSchema",function(){return c.lexicographicSortSchema}),n.d(t,"printSchema",function(){return c.printSchema}),n.d(t,"printType",function(){return c.printType}),n.d(t,"printIntrospectionSchema",function(){return c.printIntrospectionSchema}),n.d(t,"typeFromAST",function(){return c.typeFromAST}),n.d(t,"valueFromAST",function(){return c.valueFromAST}),n.d(t,"valueFromASTUntyped",function(){return c.valueFromASTUntyped}),n.d(t,"astFromValue",function(){return c.astFromValue}),n.d(t,"TypeInfo",function(){return c.TypeInfo}),n.d(t,"coerceValue",function(){return c.coerceValue}),n.d(t,"isValidJSValue",function(){return c.isValidJSValue}),n.d(t,"isValidLiteralValue",function(){return c.isValidLiteralValue}),n.d(t,"concatAST",function(){return c.concatAST}),n.d(t,"separateOperations",function(){return c.separateOperations}),n.d(t,"stripIgnoredCharacters",function(){return c.stripIgnoredCharacters}),n.d(t,"isEqualType",function(){return c.isEqualType}),n.d(t,"isTypeSubTypeOf",function(){return c.isTypeSubTypeOf}),n.d(t,"doTypesOverlap",function(){return c.doTypesOverlap}),n.d(t,"assertValidName",function(){return c.assertValidName}),n.d(t,"isValidNameError",function(){return c.isValidNameError}),n.d(t,"BreakingChangeType",function(){return c.BreakingChangeType}),n.d(t,"DangerousChangeType",function(){return c.DangerousChangeType}),n.d(t,"findBreakingChanges",function(){return c.findBreakingChanges}),n.d(t,"findDangerousChanges",function(){return c.findDangerousChanges}),n.d(t,"findDeprecatedUsages",function(){return c.findDeprecatedUsages})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kind=void 0;var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"});t.Kind=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Source",{enumerable:!0,get:function(){return r.Source}}),Object.defineProperty(t,"getLocation",{enumerable:!0,get:function(){return i.getLocation}}),Object.defineProperty(t,"Kind",{enumerable:!0,get:function(){return o.Kind}}),Object.defineProperty(t,"createLexer",{enumerable:!0,get:function(){return a.createLexer}}),Object.defineProperty(t,"TokenKind",{enumerable:!0,get:function(){return a.TokenKind}}),Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return l.parse}}),Object.defineProperty(t,"parseValue",{enumerable:!0,get:function(){return l.parseValue}}),Object.defineProperty(t,"parseType",{enumerable:!0,get:function(){return l.parseType}}),Object.defineProperty(t,"print",{enumerable:!0,get:function(){return u.print}}),Object.defineProperty(t,"visit",{enumerable:!0,get:function(){return s.visit}}),Object.defineProperty(t,"visitInParallel",{enumerable:!0,get:function(){return s.visitInParallel}}),Object.defineProperty(t,"visitWithTypeInfo",{enumerable:!0,get:function(){return s.visitWithTypeInfo}}),Object.defineProperty(t,"getVisitFn",{enumerable:!0,get:function(){return s.getVisitFn}}),Object.defineProperty(t,"BREAK",{enumerable:!0,get:function(){return s.BREAK}}),Object.defineProperty(t,"isDefinitionNode",{enumerable:!0,get:function(){return c.isDefinitionNode}}),Object.defineProperty(t,"isExecutableDefinitionNode",{enumerable:!0,get:function(){return c.isExecutableDefinitionNode}}),Object.defineProperty(t,"isSelectionNode",{enumerable:!0,get:function(){return c.isSelectionNode}}),Object.defineProperty(t,"isValueNode",{enumerable:!0,get:function(){return c.isValueNode}}),Object.defineProperty(t,"isTypeNode",{enumerable:!0,get:function(){return c.isTypeNode}}),Object.defineProperty(t,"isTypeSystemDefinitionNode",{enumerable:!0,get:function(){return c.isTypeSystemDefinitionNode}}),Object.defineProperty(t,"isTypeDefinitionNode",{enumerable:!0,get:function(){return c.isTypeDefinitionNode}}),Object.defineProperty(t,"isTypeSystemExtensionNode",{enumerable:!0,get:function(){return c.isTypeSystemExtensionNode}}),Object.defineProperty(t,"isTypeExtensionNode",{enumerable:!0,get:function(){return c.isTypeExtensionNode}}),Object.defineProperty(t,"DirectiveLocation",{enumerable:!0,get:function(){return f.DirectiveLocation}});var r=n(65),i=n(64),o=n(9),a=n(49),l=n(35),u=n(18),s=n(22),c=n(27),f=n(32)},function(e,t,n){"use strict";e.exports=n(149)},function(e,t,n){e.exports=n(155)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDirective=h,t.assertDirective=function(e){return h(e)||(0,s.default)(0,"Expected ".concat((0,c.default)(e)," to be a GraphQL directive.")),e},t.isSpecifiedDirective=function(e){return h(e)&&b.some(function(t){var n=t.name;return n===e.name})},t.specifiedDirectives=t.GraphQLDeprecatedDirective=t.DEFAULT_DEPRECATION_REASON=t.GraphQLSkipDirective=t.GraphQLIncludeDirective=t.GraphQLDirective=void 0;var r=p(n(31)),i=n(3),o=n(17),a=p(n(47)),l=p(n(46)),u=p(n(62)),s=p(n(13)),c=p(n(6)),f=n(32);function p(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function h(e){return(0,u.default)(e,m)}var m=function(){function e(e){this.name=e.name,this.description=e.description,this.locations=e.locations,this.astNode=e.astNode,e.name||(0,s.default)(0,"Directive must be named."),Array.isArray(e.locations)||(0,s.default)(0,"@".concat(e.name," locations must be an Array."));var t=e.args||{};("object"!==d(t)||Array.isArray(t))&&(0,s.default)(0,"@".concat(e.name," args must be an object with argument names as keys.")),this.args=(0,r.default)(t).map(function(e){var t=e[0],n=e[1];return{name:t,description:void 0===n.description?null:n.description,type:n.type,defaultValue:n.defaultValue,astNode:n.astNode}})}var t=e.prototype;return t.toString=function(){return"@"+this.name},t.toConfig=function(){return{name:this.name,description:this.description,locations:this.locations,args:(0,i.argsToArgsConfig)(this.args),astNode:this.astNode}},e}();t.GraphQLDirective=m,(0,a.default)(m),(0,l.default)(m);var v=new m({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[f.DirectiveLocation.FIELD,f.DirectiveLocation.FRAGMENT_SPREAD,f.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:(0,i.GraphQLNonNull)(o.GraphQLBoolean),description:"Included when true."}}});t.GraphQLIncludeDirective=v;var g=new m({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[f.DirectiveLocation.FIELD,f.DirectiveLocation.FRAGMENT_SPREAD,f.DirectiveLocation.INLINE_FRAGMENT],args:{if:{type:(0,i.GraphQLNonNull)(o.GraphQLBoolean),description:"Skipped when true."}}});t.GraphQLSkipDirective=g;t.DEFAULT_DEPRECATION_REASON="No longer supported";var y=new m({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[f.DirectiveLocation.FIELD_DEFINITION,f.DirectiveLocation.ENUM_VALUE],args:{reason:{type:o.GraphQLString,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).",defaultValue:"No longer supported"}}});t.GraphQLDeprecatedDirective=y;var b=[v,g,y];t.specifiedDirectives=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIntrospectionType=function(e){return(0,l.isNamedType)(e)&&_.some(function(t){var n=t.name;return e.name===n})},t.introspectionTypes=t.TypeNameMetaFieldDef=t.TypeMetaFieldDef=t.SchemaMetaFieldDef=t.__TypeKind=t.TypeKind=t.__EnumValue=t.__InputValue=t.__Field=t.__Type=t.__DirectiveLocation=t.__Directive=t.__Schema=void 0;var r=c(n(14)),i=c(n(6)),o=n(63),a=n(18),l=n(3),u=n(17),s=n(32);function c(e){return e&&e.__esModule?e:{default:e}}var f=new l.GraphQLObjectType({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:function(){return{types:{description:"A list of all types supported by this server.",type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(h))),resolve:function(e){return(0,r.default)(e.getTypeMap())}},queryType:{description:"The type that query operations will be rooted at.",type:(0,l.GraphQLNonNull)(h),resolve:function(e){return e.getQueryType()}},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:h,resolve:function(e){return e.getMutationType()}},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:h,resolve:function(e){return e.getSubscriptionType()}},directives:{description:"A list of all directives supported by this server.",type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(p))),resolve:function(e){return e.getDirectives()}}}}});t.__Schema=f;var p=new l.GraphQLObjectType({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(u.GraphQLString),resolve:function(e){return e.name}},description:{type:u.GraphQLString,resolve:function(e){return e.description}},locations:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(d))),resolve:function(e){return e.locations}},args:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(v))),resolve:function(e){return e.args||[]}}}}});t.__Directive=p;var d=new l.GraphQLEnumType({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:s.DirectiveLocation.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:s.DirectiveLocation.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:s.DirectiveLocation.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:s.DirectiveLocation.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:s.DirectiveLocation.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:s.DirectiveLocation.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:s.DirectiveLocation.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:s.DirectiveLocation.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:s.DirectiveLocation.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:s.DirectiveLocation.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:s.DirectiveLocation.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:s.DirectiveLocation.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:s.DirectiveLocation.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:s.DirectiveLocation.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:s.DirectiveLocation.UNION,description:"Location adjacent to a union definition."},ENUM:{value:s.DirectiveLocation.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:s.DirectiveLocation.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:s.DirectiveLocation.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:s.DirectiveLocation.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}});t.__DirectiveLocation=d;var h=new l.GraphQLObjectType({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:function(){return{kind:{type:(0,l.GraphQLNonNull)(b),resolve:function(e){if((0,l.isScalarType)(e))return y.SCALAR;if((0,l.isObjectType)(e))return y.OBJECT;if((0,l.isInterfaceType)(e))return y.INTERFACE;if((0,l.isUnionType)(e))return y.UNION;if((0,l.isEnumType)(e))return y.ENUM;if((0,l.isInputObjectType)(e))return y.INPUT_OBJECT;if((0,l.isListType)(e))return y.LIST;if((0,l.isNonNullType)(e))return y.NON_NULL;throw new Error('Unexpected type: "'.concat((0,i.default)(e),'".'))}},name:{type:u.GraphQLString,resolve:function(e){return e.name}},description:{type:u.GraphQLString,resolve:function(e){return e.description}},fields:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(m)),args:{includeDeprecated:{type:u.GraphQLBoolean,defaultValue:!1}},resolve:function(e,t){var n=t.includeDeprecated;if((0,l.isObjectType)(e)||(0,l.isInterfaceType)(e)){var i=(0,r.default)(e.getFields());return n||(i=i.filter(function(e){return!e.deprecationReason})),i}return null}},interfaces:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(h)),resolve:function(e){if((0,l.isObjectType)(e))return e.getInterfaces()}},possibleTypes:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(h)),resolve:function(e,t,n,r){var i=r.schema;if((0,l.isAbstractType)(e))return i.getPossibleTypes(e)}},enumValues:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(g)),args:{includeDeprecated:{type:u.GraphQLBoolean,defaultValue:!1}},resolve:function(e,t){var n=t.includeDeprecated;if((0,l.isEnumType)(e)){var r=e.getValues();return n||(r=r.filter(function(e){return!e.deprecationReason})),r}}},inputFields:{type:(0,l.GraphQLList)((0,l.GraphQLNonNull)(v)),resolve:function(e){if((0,l.isInputObjectType)(e))return(0,r.default)(e.getFields())}},ofType:{type:h,resolve:function(e){return e.ofType}}}}});t.__Type=h;var m=new l.GraphQLObjectType({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(u.GraphQLString),resolve:function(e){return e.name}},description:{type:u.GraphQLString,resolve:function(e){return e.description}},args:{type:(0,l.GraphQLNonNull)((0,l.GraphQLList)((0,l.GraphQLNonNull)(v))),resolve:function(e){return e.args||[]}},type:{type:(0,l.GraphQLNonNull)(h),resolve:function(e){return e.type}},isDeprecated:{type:(0,l.GraphQLNonNull)(u.GraphQLBoolean),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:u.GraphQLString,resolve:function(e){return e.deprecationReason}}}}});t.__Field=m;var v=new l.GraphQLObjectType({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(u.GraphQLString),resolve:function(e){return e.name}},description:{type:u.GraphQLString,resolve:function(e){return e.description}},type:{type:(0,l.GraphQLNonNull)(h),resolve:function(e){return e.type}},defaultValue:{type:u.GraphQLString,description:"A GraphQL-formatted string representing the default value for this input value.",resolve:function(e){var t=(0,o.astFromValue)(e.defaultValue,e.type);return t?(0,a.print)(t):null}}}}});t.__InputValue=v;var g=new l.GraphQLObjectType({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:function(){return{name:{type:(0,l.GraphQLNonNull)(u.GraphQLString),resolve:function(e){return e.name}},description:{type:u.GraphQLString,resolve:function(e){return e.description}},isDeprecated:{type:(0,l.GraphQLNonNull)(u.GraphQLBoolean),resolve:function(e){return e.isDeprecated}},deprecationReason:{type:u.GraphQLString,resolve:function(e){return e.deprecationReason}}}}});t.__EnumValue=g;var y={SCALAR:"SCALAR",OBJECT:"OBJECT",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",INPUT_OBJECT:"INPUT_OBJECT",LIST:"LIST",NON_NULL:"NON_NULL"};t.TypeKind=y;var b=new l.GraphQLEnumType({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:y.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:y.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:y.INTERFACE,description:"Indicates this type is an interface. `fields` and `possibleTypes` are valid fields."},UNION:{value:y.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:y.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:y.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:y.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:y.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}});t.__TypeKind=b;var T={name:"__schema",type:(0,l.GraphQLNonNull)(f),description:"Access the current type schema of this server.",args:[],resolve:function(e,t,n,r){return r.schema}};t.SchemaMetaFieldDef=T;var k={name:"__type",type:h,description:"Request the type information of a single type.",args:[{name:"name",type:(0,l.GraphQLNonNull)(u.GraphQLString)}],resolve:function(e,t,n,r){var i=t.name;return r.schema.getType(i)}};t.TypeMetaFieldDef=k;var E={name:"__typename",type:(0,l.GraphQLNonNull)(u.GraphQLString),description:"The name of the current Object type at runtime.",args:[],resolve:function(e,t,n,r){return r.parentType.name}};t.TypeNameMetaFieldDef=E;var _=[f,p,d,h,m,v,g,b];t.introspectionTypes=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSpecifiedScalarType=function(e){return(0,a.isScalarType)(e)&&y.some(function(t){var n=t.name;return e.name===n})},t.specifiedScalarTypes=t.GraphQLID=t.GraphQLBoolean=t.GraphQLString=t.GraphQLFloat=t.GraphQLInt=void 0;var r=u(n(157)),i=u(n(158)),o=u(n(6)),a=n(3),l=n(9);function u(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var c=2147483647,f=-2147483648;var p=new a.GraphQLScalarType({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ",serialize:function(e){if("boolean"==typeof e)return e?1:0;var t=e;if("string"==typeof e&&""!==e&&(t=Number(e)),!(0,i.default)(t))throw new TypeError("Int cannot represent non-integer value: ".concat((0,o.default)(e)));if(t>c||tc||e=f)return t}}});t.GraphQLInt=p;var d=new a.GraphQLScalarType({name:"Float",description:"The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). ",serialize:function(e){if("boolean"==typeof e)return e?1:0;var t=e;if("string"==typeof e&&""!==e&&(t=Number(e)),!(0,r.default)(t))throw new TypeError("Float cannot represent non numeric value: ".concat((0,o.default)(e)));return t},parseValue:function(e){if(!(0,r.default)(e))throw new TypeError("Float cannot represent non numeric value: ".concat((0,o.default)(e)));return e},parseLiteral:function(e){return e.kind===l.Kind.FLOAT||e.kind===l.Kind.INT?parseFloat(e.value):void 0}});function h(e){if("object"===s(e)&&null!==e){if("function"==typeof e.valueOf){var t=e.valueOf();if("object"!==s(t))return t}if("function"==typeof e.toJSON)return e.toJSON()}return e}t.GraphQLFloat=d;var m=new a.GraphQLScalarType({name:"String",description:"The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.",serialize:function(e){var t=h(e);if("string"==typeof t)return t;if("boolean"==typeof t)return t?"true":"false";if((0,r.default)(t))return t.toString();throw new TypeError("String cannot represent value: ".concat((0,o.default)(e)))},parseValue:function(e){if("string"!=typeof e)throw new TypeError("String cannot represent a non string value: ".concat((0,o.default)(e)));return e},parseLiteral:function(e){return e.kind===l.Kind.STRING?e.value:void 0}});t.GraphQLString=m;var v=new a.GraphQLScalarType({name:"Boolean",description:"The `Boolean` scalar type represents `true` or `false`.",serialize:function(e){if("boolean"==typeof e)return e;if((0,r.default)(e))return 0!==e;throw new TypeError("Boolean cannot represent a non boolean value: ".concat((0,o.default)(e)))},parseValue:function(e){if("boolean"!=typeof e)throw new TypeError("Boolean cannot represent a non boolean value: ".concat((0,o.default)(e)));return e},parseLiteral:function(e){return e.kind===l.Kind.BOOLEAN?e.value:void 0}});t.GraphQLBoolean=v;var g=new a.GraphQLScalarType({name:"ID",description:'The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.',serialize:function(e){var t=h(e);if("string"==typeof t)return t;if((0,i.default)(t))return String(t);throw new TypeError("ID cannot represent value: ".concat((0,o.default)(e)))},parseValue:function(e){if("string"==typeof e)return e;if((0,i.default)(e))return e.toString();throw new TypeError("ID cannot represent value: ".concat((0,o.default)(e)))},parseLiteral:function(e){return e.kind===l.Kind.STRING||e.kind===l.Kind.INT?e.value:void 0}});t.GraphQLID=g;var y=[m,p,d,v,g];t.specifiedScalarTypes=y},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.print=function(e){return(0,r.visit)(e,{leave:o})};var r=n(22),i=n(34);var o={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return l(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=s("(",l(e.variableDefinitions,", "),")"),i=l(e.directives," "),o=e.selectionSet;return n||i||r||"query"!==t?l([t,l([n,r]),i,o]," "):o},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,i=e.directives;return t+": "+n+s(" = ",r)+s(" ",l(i," "))},SelectionSet:function(e){return u(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,i=e.directives,o=e.selectionSet;return l([s("",t,": ")+n+s("(",l(r,", "),")"),l(i," "),o]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+s(" ",l(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return l(["...",s("on ",t),l(n," "),r]," ")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,i=e.directives,o=e.selectionSet;return"fragment ".concat(t).concat(s("(",l(r,", "),")")," ")+"on ".concat(n," ").concat(s("",l(i," ")," "))+o},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?(0,i.printBlockString)(n,"description"===t?"":" "):JSON.stringify(n)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+l(e.values,", ")+"]"},ObjectValue:function(e){return"{"+l(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+s("(",l(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:function(e){var t=e.directives,n=e.operationTypes;return l(["schema",l(t," "),u(n)]," ")},OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:a(function(e){return l(["scalar",e.name,l(e.directives," ")]," ")}),ObjectTypeDefinition:a(function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return l(["type",t,s("implements ",l(n," & ")),l(r," "),u(i)]," ")}),FieldDefinition:a(function(e){var t=e.name,n=e.arguments,r=e.type,i=e.directives;return t+(p(n)?s("(\n",c(l(n,"\n")),"\n)"):s("(",l(n,", "),")"))+": "+r+s(" ",l(i," "))}),InputValueDefinition:a(function(e){var t=e.name,n=e.type,r=e.defaultValue,i=e.directives;return l([t+": "+n,s("= ",r),l(i," ")]," ")}),InterfaceTypeDefinition:a(function(e){var t=e.name,n=e.directives,r=e.fields;return l(["interface",t,l(n," "),u(r)]," ")}),UnionTypeDefinition:a(function(e){var t=e.name,n=e.directives,r=e.types;return l(["union",t,l(n," "),r&&0!==r.length?"= "+l(r," | "):""]," ")}),EnumTypeDefinition:a(function(e){var t=e.name,n=e.directives,r=e.values;return l(["enum",t,l(n," "),u(r)]," ")}),EnumValueDefinition:a(function(e){return l([e.name,l(e.directives," ")]," ")}),InputObjectTypeDefinition:a(function(e){var t=e.name,n=e.directives,r=e.fields;return l(["input",t,l(n," "),u(r)]," ")}),DirectiveDefinition:a(function(e){var t=e.name,n=e.arguments,r=e.locations;return"directive @"+t+(p(n)?s("(\n",c(l(n,"\n")),"\n)"):s("(",l(n,", "),")"))+" on "+l(r," | ")}),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return l(["extend schema",l(t," "),u(n)]," ")},ScalarTypeExtension:function(e){return l(["extend scalar",e.name,l(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return l(["extend type",t,s("implements ",l(n," & ")),l(r," "),u(i)]," ")},InterfaceTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return l(["extend interface",t,l(n," "),u(r)]," ")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return l(["extend union",t,l(n," "),r&&0!==r.length?"= "+l(r," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return l(["extend enum",t,l(n," "),u(r)]," ")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return l(["extend input",t,l(n," "),u(r)]," ")}};function a(e){return function(t){return l([t.description,e(t)],"\n")}}function l(e,t){return e?e.filter(function(e){return e}).join(t||""):""}function u(e){return e&&0!==e.length?"{\n"+c(l(e,"\n"))+"\n}":""}function s(e,t,n){return t?e+t+(n||""):""}function c(e){return e&&" "+e.replace(/\n/g,"\n ")}function f(e){return-1!==e.indexOf("\n")}function p(e){return e&&e.some(f)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typeFromAST=function e(t,n){var r;if(n.kind===o.Kind.LIST_TYPE)return(r=e(t,n.type))&&(0,a.GraphQLList)(r);if(n.kind===o.Kind.NON_NULL_TYPE)return(r=e(t,n.type))&&(0,a.GraphQLNonNull)(r);if(n.kind===o.Kind.NAMED_TYPE)return t.getType(n.name.value);throw new Error('Unexpected type node: "'.concat((0,i.default)(n),'".'))};var r,i=(r=n(6))&&r.__esModule?r:{default:r},o=n(9),a=n(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"GraphQLError",{enumerable:!0,get:function(){return r.GraphQLError}}),Object.defineProperty(t,"syntaxError",{enumerable:!0,get:function(){return i.syntaxError}}),Object.defineProperty(t,"locatedError",{enumerable:!0,get:function(){return o.locatedError}}),Object.defineProperty(t,"printError",{enumerable:!0,get:function(){return a.printError}}),Object.defineProperty(t,"formatError",{enumerable:!0,get:function(){return l.formatError}});var r=n(1),i=n(159),o=n(66),a=n(93),l=n(160)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return e.reduce(function(e,n){return e[t(n)]=n,e},Object.create(null))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.visit=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o,r=void 0,s=Array.isArray(e),c=[e],f=-1,p=[],d=void 0,h=void 0,m=void 0,v=[],g=[],y=e;do{var b=++f===c.length,T=b&&0!==p.length;if(b){if(h=0===g.length?void 0:v[v.length-1],d=m,m=g.pop(),T){if(s)d=d.slice();else{for(var k={},E=0,_=Object.keys(d);E<_.length;E++){var w=_[E];k[w]=d[w]}d=k}for(var x=0,S=0;S1&&r>1&&o[n-1]===a[r-2]&&o[n-2]===a[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+s))}return i[l][u]}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){for(var n=Object.create(null),i=t.length,o=e.length/2,a=0;a=0&&t%1==0}function u(e){return Object(e)===e&&(l(e)||a(e))}function s(e){var t=c(e);if(t)return t.call(e)}function c(e){if(null!=e){var t=i&&e[i]||e["@@iterator"];if("function"==typeof t)return t}}function f(e){if(null!=e){var t=s(e);if(t)return t;if(l(e))return new p(e)}}function p(e){this._o=e,this._i=0}function d(e,t,n){if(null!=e){if("function"==typeof e.forEach)return e.forEach(t,n);var r=0,i=s(e);if(i){for(var o;!(o=i.next()).done;)if(t.call(n,o.value,r++,e),r>9999999)throw new TypeError("Near-infinite iteration.")}else if(l(e))for(;r=this._o.length?(this._o=void 0,{value:void 0,done:!0}):{value:this._o[this._i++],done:!1}};var h=r&&r.asyncIterator,m=h||"@@asyncIterator";function v(e){return!!y(e)}function g(e){var t=y(e);if(t)return t.call(e)}function y(e){if(null!=e){var t=h&&e[h]||e["@@asyncIterator"];if("function"==typeof t)return t}}function b(e){if(null!=e){var t=g(e);if(t)return t;var n=f(e);if(n)return new T(n)}}function T(e){this._i=e}function k(e,t,n){var r=b(e);if(r){var i=0;return new Promise(function(o,a){!function l(){return r.next().then(function(r){return r.done?o():Promise.resolve(t.call(n,r.value,i++,e)).then(l).catch(a),null}).catch(a),null}()})}}T.prototype[m]=function(){return this},T.prototype.next=function(){var e=this._i.next();return Promise.resolve(e.value).then(function(t){return{value:t,done:e.done}})}},function(e,t,n){"use strict";function r(e){for(var t=null,n=1;n0&&o(t[0]);)t.shift();for(;t.length>0&&o(t[t.length-1]);)t.pop();return t.join("\n")},t.getBlockStringIndentation=r,t.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||"\t"===e[0],o='"'===e[e.length-1],a=!r||o||n,l="";!a||r&&i||(l+="\n"+t);l+=t?e.replace(/\n/g,"\n"+t):e,a&&(l+="\n");return'"""'+l.replace(/"""/g,'\\"""')+'"""'}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=function(e,t){var n="string"==typeof e?new o.Source(e):e;if(!(n instanceof o.Source))throw new TypeError("Must provide Source. Received: ".concat((0,r.default)(n)));return function(e){var t=e.token;return{kind:u.Kind.DOCUMENT,definitions:ne(e,l.TokenKind.SOF,p,l.TokenKind.EOF),loc:H(e,t)}}((0,l.createLexer)(n,t||{}))},t.parseValue=function(e,t){var n="string"==typeof e?new o.Source(e):e,r=(0,l.createLexer)(n,t||{});$(r,l.TokenKind.SOF);var i=x(r,!1);return $(r,l.TokenKind.EOF),i},t.parseType=function(e,t){var n="string"==typeof e?new o.Source(e):e,r=(0,l.createLexer)(n,t||{});$(r,l.TokenKind.SOF);var i=D(r);return $(r,l.TokenKind.EOF),i},t.parseConstValue=C,t.parseTypeReference=D,t.parseNamedType=L;var r=c(n(6)),i=c(n(46)),o=n(65),a=n(20),l=n(49),u=n(9),s=n(32);function c(e){return e&&e.__esModule?e:{default:e}}function f(e){var t=$(e,l.TokenKind.NAME);return{kind:u.Kind.NAME,value:t.value,loc:H(e,t)}}function p(e){if(Y(e,l.TokenKind.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":case"fragment":return d(e);case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return I(e);case"extend":return function(e){var t=e.lookahead();if(t.kind===l.TokenKind.NAME)switch(t.value){case"schema":return function(e){var t=e.token;X(e,"extend"),X(e,"schema");var n=O(e,!0),r=Y(e,l.TokenKind.BRACE_L)?ne(e,l.TokenKind.BRACE_L,F,l.TokenKind.BRACE_R):[];if(0===n.length&&0===r.length)throw ee(e);return{kind:u.Kind.SCHEMA_EXTENSION,directives:n,operationTypes:r,loc:H(e,t)}}(e);case"scalar":return function(e){var t=e.token;X(e,"extend"),X(e,"scalar");var n=f(e),r=O(e,!0);if(0===r.length)throw ee(e);return{kind:u.Kind.SCALAR_TYPE_EXTENSION,name:n,directives:r,loc:H(e,t)}}(e);case"type":return function(e){var t=e.token;X(e,"extend"),X(e,"type");var n=f(e),r=R(e),i=O(e,!0),o=j(e);if(0===r.length&&0===i.length&&0===o.length)throw ee(e);return{kind:u.Kind.OBJECT_TYPE_EXTENSION,name:n,interfaces:r,directives:i,fields:o,loc:H(e,t)}}(e);case"interface":return function(e){var t=e.token;X(e,"extend"),X(e,"interface");var n=f(e),r=O(e,!0),i=j(e);if(0===r.length&&0===i.length)throw ee(e);return{kind:u.Kind.INTERFACE_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:H(e,t)}}(e);case"union":return function(e){var t=e.token;X(e,"extend"),X(e,"union");var n=f(e),r=O(e,!0),i=B(e);if(0===r.length&&0===i.length)throw ee(e);return{kind:u.Kind.UNION_TYPE_EXTENSION,name:n,directives:r,types:i,loc:H(e,t)}}(e);case"enum":return function(e){var t=e.token;X(e,"extend"),X(e,"enum");var n=f(e),r=O(e,!0),i=G(e);if(0===r.length&&0===i.length)throw ee(e);return{kind:u.Kind.ENUM_TYPE_EXTENSION,name:n,directives:r,values:i,loc:H(e,t)}}(e);case"input":return function(e){var t=e.token;X(e,"extend"),X(e,"input");var n=f(e),r=O(e,!0),i=z(e);if(0===r.length&&0===i.length)throw ee(e);return{kind:u.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:n,directives:r,fields:i,loc:H(e,t)}}(e)}throw ee(e,t)}(e)}else{if(Y(e,l.TokenKind.BRACE_L))return d(e);if(M(e))return I(e)}throw ee(e)}function d(e){if(Y(e,l.TokenKind.NAME))switch(e.token.value){case"query":case"mutation":case"subscription":return h(e);case"fragment":return function(e){var t=e.token;if(X(e,"fragment"),e.options.experimentalFragmentVariables)return{kind:u.Kind.FRAGMENT_DEFINITION,name:w(e),variableDefinitions:v(e),typeCondition:(X(e,"on"),L(e)),directives:O(e,!1),selectionSet:b(e),loc:H(e,t)};return{kind:u.Kind.FRAGMENT_DEFINITION,name:w(e),typeCondition:(X(e,"on"),L(e)),directives:O(e,!1),selectionSet:b(e),loc:H(e,t)}}(e)}else if(Y(e,l.TokenKind.BRACE_L))return h(e);throw ee(e)}function h(e){var t=e.token;if(Y(e,l.TokenKind.BRACE_L))return{kind:u.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:b(e),loc:H(e,t)};var n,r=m(e);return Y(e,l.TokenKind.NAME)&&(n=f(e)),{kind:u.Kind.OPERATION_DEFINITION,operation:r,name:n,variableDefinitions:v(e),directives:O(e,!1),selectionSet:b(e),loc:H(e,t)}}function m(e){var t=$(e,l.TokenKind.NAME);switch(t.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw ee(e,t)}function v(e){return Y(e,l.TokenKind.PAREN_L)?ne(e,l.TokenKind.PAREN_L,g,l.TokenKind.PAREN_R):[]}function g(e){var t=e.token;return{kind:u.Kind.VARIABLE_DEFINITION,variable:y(e),type:($(e,l.TokenKind.COLON),D(e)),defaultValue:J(e,l.TokenKind.EQUALS)?x(e,!0):void 0,directives:O(e,!0),loc:H(e,t)}}function y(e){var t=e.token;return $(e,l.TokenKind.DOLLAR),{kind:u.Kind.VARIABLE,name:f(e),loc:H(e,t)}}function b(e){var t=e.token;return{kind:u.Kind.SELECTION_SET,selections:ne(e,l.TokenKind.BRACE_L,T,l.TokenKind.BRACE_R),loc:H(e,t)}}function T(e){return Y(e,l.TokenKind.SPREAD)?function(e){var t=e.token;$(e,l.TokenKind.SPREAD);var n=Z(e,"on");if(!n&&Y(e,l.TokenKind.NAME))return{kind:u.Kind.FRAGMENT_SPREAD,name:w(e),directives:O(e,!1),loc:H(e,t)};return{kind:u.Kind.INLINE_FRAGMENT,typeCondition:n?L(e):void 0,directives:O(e,!1),selectionSet:b(e),loc:H(e,t)}}(e):function(e){var t,n,r=e.token,i=f(e);J(e,l.TokenKind.COLON)?(t=i,n=f(e)):n=i;return{kind:u.Kind.FIELD,alias:t,name:n,arguments:k(e,!1),directives:O(e,!1),selectionSet:Y(e,l.TokenKind.BRACE_L)?b(e):void 0,loc:H(e,r)}}(e)}function k(e,t){var n=t?_:E;return Y(e,l.TokenKind.PAREN_L)?ne(e,l.TokenKind.PAREN_L,n,l.TokenKind.PAREN_R):[]}function E(e){var t=e.token,n=f(e);return $(e,l.TokenKind.COLON),{kind:u.Kind.ARGUMENT,name:n,value:x(e,!1),loc:H(e,t)}}function _(e){var t=e.token;return{kind:u.Kind.ARGUMENT,name:f(e),value:($(e,l.TokenKind.COLON),C(e)),loc:H(e,t)}}function w(e){if("on"===e.token.value)throw ee(e);return f(e)}function x(e,t){var n=e.token;switch(n.kind){case l.TokenKind.BRACKET_L:return function(e,t){var n=e.token,r=t?C:N;return{kind:u.Kind.LIST,values:te(e,l.TokenKind.BRACKET_L,r,l.TokenKind.BRACKET_R),loc:H(e,n)}}(e,t);case l.TokenKind.BRACE_L:return function(e,t){var n=e.token;return{kind:u.Kind.OBJECT,fields:te(e,l.TokenKind.BRACE_L,function(){return function(e,t){var n=e.token,r=f(e);return $(e,l.TokenKind.COLON),{kind:u.Kind.OBJECT_FIELD,name:r,value:x(e,t),loc:H(e,n)}}(e,t)},l.TokenKind.BRACE_R),loc:H(e,n)}}(e,t);case l.TokenKind.INT:return e.advance(),{kind:u.Kind.INT,value:n.value,loc:H(e,n)};case l.TokenKind.FLOAT:return e.advance(),{kind:u.Kind.FLOAT,value:n.value,loc:H(e,n)};case l.TokenKind.STRING:case l.TokenKind.BLOCK_STRING:return S(e);case l.TokenKind.NAME:return"true"===n.value||"false"===n.value?(e.advance(),{kind:u.Kind.BOOLEAN,value:"true"===n.value,loc:H(e,n)}):"null"===n.value?(e.advance(),{kind:u.Kind.NULL,loc:H(e,n)}):(e.advance(),{kind:u.Kind.ENUM,value:n.value,loc:H(e,n)});case l.TokenKind.DOLLAR:if(!t)return y(e)}throw ee(e)}function S(e){var t=e.token;return e.advance(),{kind:u.Kind.STRING,value:t.value,block:t.kind===l.TokenKind.BLOCK_STRING,loc:H(e,t)}}function C(e){return x(e,!0)}function N(e){return x(e,!1)}function O(e,t){for(var n=[];Y(e,l.TokenKind.AT);)n.push(A(e,t));return n}function A(e,t){var n=e.token;return $(e,l.TokenKind.AT),{kind:u.Kind.DIRECTIVE,name:f(e),arguments:k(e,t),loc:H(e,n)}}function D(e){var t,n=e.token;return J(e,l.TokenKind.BRACKET_L)?(t=D(e),$(e,l.TokenKind.BRACKET_R),t={kind:u.Kind.LIST_TYPE,type:t,loc:H(e,n)}):t=L(e),J(e,l.TokenKind.BANG)?{kind:u.Kind.NON_NULL_TYPE,type:t,loc:H(e,n)}:t}function L(e){var t=e.token;return{kind:u.Kind.NAMED_TYPE,name:f(e),loc:H(e,t)}}function I(e){var t=M(e)?e.lookahead():e.token;if(t.kind===l.TokenKind.NAME)switch(t.value){case"schema":return function(e){var t=e.token;X(e,"schema");var n=O(e,!0),r=ne(e,l.TokenKind.BRACE_L,F,l.TokenKind.BRACE_R);return{kind:u.Kind.SCHEMA_DEFINITION,directives:n,operationTypes:r,loc:H(e,t)}}(e);case"scalar":return function(e){var t=e.token,n=P(e);X(e,"scalar");var r=f(e),i=O(e,!0);return{kind:u.Kind.SCALAR_TYPE_DEFINITION,description:n,name:r,directives:i,loc:H(e,t)}}(e);case"type":return function(e){var t=e.token,n=P(e);X(e,"type");var r=f(e),i=R(e),o=O(e,!0),a=j(e);return{kind:u.Kind.OBJECT_TYPE_DEFINITION,description:n,name:r,interfaces:i,directives:o,fields:a,loc:H(e,t)}}(e);case"interface":return function(e){var t=e.token,n=P(e);X(e,"interface");var r=f(e),i=O(e,!0),o=j(e);return{kind:u.Kind.INTERFACE_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:H(e,t)}}(e);case"union":return function(e){var t=e.token,n=P(e);X(e,"union");var r=f(e),i=O(e,!0),o=B(e);return{kind:u.Kind.UNION_TYPE_DEFINITION,description:n,name:r,directives:i,types:o,loc:H(e,t)}}(e);case"enum":return function(e){var t=e.token,n=P(e);X(e,"enum");var r=f(e),i=O(e,!0),o=G(e);return{kind:u.Kind.ENUM_TYPE_DEFINITION,description:n,name:r,directives:i,values:o,loc:H(e,t)}}(e);case"input":return function(e){var t=e.token,n=P(e);X(e,"input");var r=f(e),i=O(e,!0),o=z(e);return{kind:u.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:n,name:r,directives:i,fields:o,loc:H(e,t)}}(e);case"directive":return function(e){var t=e.token,n=P(e);X(e,"directive"),$(e,l.TokenKind.AT);var r=f(e),i=U(e);X(e,"on");var o=function(e){J(e,l.TokenKind.PIPE);var t=[];do{t.push(K(e))}while(J(e,l.TokenKind.PIPE));return t}(e);return{kind:u.Kind.DIRECTIVE_DEFINITION,description:n,name:r,arguments:i,locations:o,loc:H(e,t)}}(e)}throw ee(e,t)}function M(e){return Y(e,l.TokenKind.STRING)||Y(e,l.TokenKind.BLOCK_STRING)}function P(e){if(M(e))return S(e)}function F(e){var t=e.token,n=m(e);$(e,l.TokenKind.COLON);var r=L(e);return{kind:u.Kind.OPERATION_TYPE_DEFINITION,operation:n,type:r,loc:H(e,t)}}function R(e){var t=[];if(Z(e,"implements")){J(e,l.TokenKind.AMP);do{t.push(L(e))}while(J(e,l.TokenKind.AMP)||e.options.allowLegacySDLImplementsInterfaces&&Y(e,l.TokenKind.NAME))}return t}function j(e){return e.options.allowLegacySDLEmptyFields&&Y(e,l.TokenKind.BRACE_L)&&e.lookahead().kind===l.TokenKind.BRACE_R?(e.advance(),e.advance(),[]):Y(e,l.TokenKind.BRACE_L)?ne(e,l.TokenKind.BRACE_L,V,l.TokenKind.BRACE_R):[]}function V(e){var t=e.token,n=P(e),r=f(e),i=U(e);$(e,l.TokenKind.COLON);var o=D(e),a=O(e,!0);return{kind:u.Kind.FIELD_DEFINITION,description:n,name:r,arguments:i,type:o,directives:a,loc:H(e,t)}}function U(e){return Y(e,l.TokenKind.PAREN_L)?ne(e,l.TokenKind.PAREN_L,q,l.TokenKind.PAREN_R):[]}function q(e){var t=e.token,n=P(e),r=f(e);$(e,l.TokenKind.COLON);var i,o=D(e);J(e,l.TokenKind.EQUALS)&&(i=C(e));var a=O(e,!0);return{kind:u.Kind.INPUT_VALUE_DEFINITION,description:n,name:r,type:o,defaultValue:i,directives:a,loc:H(e,t)}}function B(e){var t=[];if(J(e,l.TokenKind.EQUALS)){J(e,l.TokenKind.PIPE);do{t.push(L(e))}while(J(e,l.TokenKind.PIPE))}return t}function G(e){return Y(e,l.TokenKind.BRACE_L)?ne(e,l.TokenKind.BRACE_L,Q,l.TokenKind.BRACE_R):[]}function Q(e){var t=e.token,n=P(e),r=f(e),i=O(e,!0);return{kind:u.Kind.ENUM_VALUE_DEFINITION,description:n,name:r,directives:i,loc:H(e,t)}}function z(e){return Y(e,l.TokenKind.BRACE_L)?ne(e,l.TokenKind.BRACE_L,q,l.TokenKind.BRACE_R):[]}function K(e){var t=e.token,n=f(e);if(void 0!==s.DirectiveLocation[n.value])return n;throw ee(e,t)}function H(e,t){if(!e.options.noLocation)return new W(t,e.lastToken,e.source)}function W(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function Y(e,t){return e.token.kind===t}function $(e,t){var n=e.token;if(n.kind===t)return e.advance(),n;throw(0,a.syntaxError)(e.source,n.start,"Expected ".concat(t,", found ").concat((0,l.getTokenDesc)(n)))}function J(e,t){var n=e.token;if(n.kind===t)return e.advance(),n}function X(e,t){var n=e.token;if(n.kind===l.TokenKind.NAME&&n.value===t)return e.advance(),n;throw(0,a.syntaxError)(e.source,n.start,'Expected "'.concat(t,'", found ').concat((0,l.getTokenDesc)(n)))}function Z(e,t){var n=e.token;if(n.kind===l.TokenKind.NAME&&n.value===t)return e.advance(),n}function ee(e,t){var n=t||e.token;return(0,a.syntaxError)(e.source,n.start,"Unexpected ".concat((0,l.getTokenDesc)(n)))}function te(e,t,n,r){$(e,t);for(var i=[];!J(e,r);)i.push(n(e));return i}function ne(e,t,n,r){$(e,t);for(var i=[n(e)];!J(e,r);)i.push(n(e));return i}(0,i.default)(W,function(){return{start:this.start,end:this.end}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeInfo=void 0;var r,i=(r=n(24))&&r.__esModule?r:{default:r},o=n(9),a=n(3),l=n(16),u=n(19);var s=function(){function e(e,t,n){this._schema=e,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=t||c,n&&((0,a.isInputType)(n)&&this._inputTypeStack.push(n),(0,a.isCompositeType)(n)&&this._parentTypeStack.push(n),(0,a.isOutputType)(n)&&this._typeStack.push(n))}var t=e.prototype;return t.getType=function(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]},t.getParentType=function(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]},t.getInputType=function(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]},t.getParentInputType=function(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]},t.getFieldDef=function(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]},t.getDefaultValue=function(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]},t.getDirective=function(){return this._directive},t.getArgument=function(){return this._argument},t.getEnumValue=function(){return this._enumValue},t.enter=function(e){var t=this._schema;switch(e.kind){case o.Kind.SELECTION_SET:var n=(0,a.getNamedType)(this.getType());this._parentTypeStack.push((0,a.isCompositeType)(n)?n:void 0);break;case o.Kind.FIELD:var r,l,s=this.getParentType();s&&(r=this._getFieldDef(t,s,e))&&(l=r.type),this._fieldDefStack.push(r),this._typeStack.push((0,a.isOutputType)(l)?l:void 0);break;case o.Kind.DIRECTIVE:this._directive=t.getDirective(e.name.value);break;case o.Kind.OPERATION_DEFINITION:var c;"query"===e.operation?c=t.getQueryType():"mutation"===e.operation?c=t.getMutationType():"subscription"===e.operation&&(c=t.getSubscriptionType()),this._typeStack.push((0,a.isObjectType)(c)?c:void 0);break;case o.Kind.INLINE_FRAGMENT:case o.Kind.FRAGMENT_DEFINITION:var f=e.typeCondition,p=f?(0,u.typeFromAST)(t,f):(0,a.getNamedType)(this.getType());this._typeStack.push((0,a.isOutputType)(p)?p:void 0);break;case o.Kind.VARIABLE_DEFINITION:var d=(0,u.typeFromAST)(t,e.type);this._inputTypeStack.push((0,a.isInputType)(d)?d:void 0);break;case o.Kind.ARGUMENT:var h,m,v=this.getDirective()||this.getFieldDef();v&&(h=(0,i.default)(v.args,function(t){return t.name===e.name.value}))&&(m=h.type),this._argument=h,this._defaultValueStack.push(h?h.defaultValue:void 0),this._inputTypeStack.push((0,a.isInputType)(m)?m:void 0);break;case o.Kind.LIST:var g=(0,a.getNullableType)(this.getInputType()),y=(0,a.isListType)(g)?g.ofType:g;this._defaultValueStack.push(void 0),this._inputTypeStack.push((0,a.isInputType)(y)?y:void 0);break;case o.Kind.OBJECT_FIELD:var b,T,k=(0,a.getNamedType)(this.getInputType());(0,a.isInputObjectType)(k)&&(T=k.getFields()[e.name.value])&&(b=T.type),this._defaultValueStack.push(T?T.defaultValue:void 0),this._inputTypeStack.push((0,a.isInputType)(b)?b:void 0);break;case o.Kind.ENUM:var E,_=(0,a.getNamedType)(this.getInputType());(0,a.isEnumType)(_)&&(E=_.getValue(e.value)),this._enumValue=E}},t.leave=function(e){switch(e.kind){case o.Kind.SELECTION_SET:this._parentTypeStack.pop();break;case o.Kind.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case o.Kind.DIRECTIVE:this._directive=null;break;case o.Kind.OPERATION_DEFINITION:case o.Kind.INLINE_FRAGMENT:case o.Kind.FRAGMENT_DEFINITION:this._typeStack.pop();break;case o.Kind.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case o.Kind.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case o.Kind.LIST:case o.Kind.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case o.Kind.ENUM:this._enumValue=null}},e}();function c(e,t,n){var r=n.name.value;return r===l.SchemaMetaFieldDef.name&&e.getQueryType()===t?l.SchemaMetaFieldDef:r===l.TypeMetaFieldDef.name&&e.getQueryType()===t?l.TypeMetaFieldDef:r===l.TypeNameMetaFieldDef.name&&(0,a.isCompositeType)(t)?l.TypeNameMetaFieldDef:(0,a.isObjectType)(t)||(0,a.isInterfaceType)(t)?t.getFields()[r]:void 0}t.TypeInfo=s},function(e,t,n){!function(e){"use strict";var t,n,r=e.Pos;function i(e,t){for(var n=function(e){var t=e.flags;return null!=t?t:(e.ignoreCase?"i":"")+(e.global?"g":"")+(e.multiline?"m":"")}(e),r=n,i=0;i>1,l=r(e.slice(0,a)).length;if(l==n)return a;l>n?o=a:i=a+1}}function u(e,u,s,c){var f;this.atOccurrence=!1,this.doc=e,s=s?e.clipPos(s):r(0,0),this.pos={from:s,to:s},"object"==typeof c?f=c.caseFold:(f=c,c=null),"string"==typeof u?(null==f&&(f=!1),this.matches=function(i,o){return(i?function(e,i,o,a){if(!i.length)return null;var u=a?t:n,s=u(i).split(/\r|\n\r?/);e:for(var c=o.line,f=o.ch,p=e.firstLine()-1+s.length;c>=p;c--,f=-1){var d=e.getLine(c);f>-1&&(d=d.slice(0,f));var h=u(d);if(1==s.length){var m=h.lastIndexOf(s[0]);if(-1==m)continue e;return{from:r(c,l(d,h,m,u)),to:r(c,l(d,h,m+s[0].length,u))}}var v=s[s.length-1];if(h.slice(0,v.length)==v){for(var g=1,o=c-s.length+1;g=u;o--,l=-1){var s=e.getLine(o);l>-1&&(s=s.slice(0,l));var c=a(s,t);if(c)return{from:r(o,c.index),to:r(o,c.index+c[0].length),match:c}}}:o)(e,u,n)}:this.matches=function(t,n){return(t?function(e,t,n){t=i(t,"gm");for(var o,l=1,u=n.line,s=e.firstLine();u>=s;){for(var c=0;cs);c++){var f=e.getLine(u++);a=null==a?f:a+"\n"+f}l*=2,t.lastIndex=n.ch;var p=t.exec(a);if(p){var d=a.slice(0,p.index).split("\n"),h=p[0].split("\n"),m=n.line+d.length-1,v=d[d.length-1].length;return{from:r(m,v),to:r(m+h.length-1,1==h.length?v+h[0].length:h[h.length-1].length),match:p}}}})(e,u,n)})}String.prototype.normalize?(t=function(e){return e.normalize("NFD").toLowerCase()},n=function(e){return e.normalize("NFD")}):(t=function(e){return e.toLowerCase()},n=function(e){return e}),u.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(t){for(var n=this.matches(t,this.doc.clipPos(t?this.pos.from:this.pos.to));n&&0==e.cmpPos(n.from,n.to);)t?n.from.ch?n.from=r(n.from.line,n.from.ch-1):n=n.from.line==this.doc.firstLine()?null:this.matches(t,this.doc.clipPos(r(n.from.line-1))):n.to.ch0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})}(n(5))},function(e,t,n){!function(e){function t(t,n,r){var i,o=t.getWrapperElement();return(i=o.appendChild(document.createElement("div"))).className=r?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof n?i.innerHTML=n:i.appendChild(n),e.addClass(o,"dialog-opened"),i}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",function(r,i,o){o||(o={}),n(this,null);var a=t(this,r,o.bottom),l=!1,u=this;function s(t){if("string"==typeof t)f.value=t;else{if(l)return;l=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),u.focus(),o.onClose&&o.onClose(a)}}var c,f=a.getElementsByTagName("input")[0];return f?(f.focus(),o.value&&(f.value=o.value,!1!==o.selectValueOnOpen&&f.select()),o.onInput&&e.on(f,"input",function(e){o.onInput(e,f.value,s)}),o.onKeyUp&&e.on(f,"keyup",function(e){o.onKeyUp(e,f.value,s)}),e.on(f,"keydown",function(t){o&&o.onKeyDown&&o.onKeyDown(t,f.value,s)||((27==t.keyCode||!1!==o.closeOnEnter&&13==t.keyCode)&&(f.blur(),e.e_stop(t),s()),13==t.keyCode&&i(f.value,t))}),!1!==o.closeOnBlur&&e.on(f,"blur",s)):(c=a.getElementsByTagName("button")[0])&&(e.on(c,"click",function(){s(),u.focus()}),!1!==o.closeOnBlur&&e.on(c,"blur",s),c.focus()),s}),e.defineExtension("openConfirm",function(r,i,o){n(this,null);var a=t(this,r,o&&o.bottom),l=a.getElementsByTagName("button"),u=!1,s=this,c=1;function f(){u||(u=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),s.focus())}l[0].focus();for(var p=0;p=t.character)return n=l,i=r({},a),o=e.current(),"BREAK"});return{start:a.start,end:a.end,string:o||a.string,state:i||a.state,style:n||a.style}}function u(e,t){for(var n=e.split("\n"),r=(0,o.onlineParser)(),i=r.startState(),a="",l=new o.CharacterStream(""),u=0;u1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,i.default&&(e.prototype[i.default]=t)};var r,i=(r=n(89))&&r.__esModule?r:{default:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){"function"==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEqualType=function e(t,n){if(t===n)return!0;if((0,r.isNonNullType)(t)&&(0,r.isNonNullType)(n))return e(t.ofType,n.ofType);if((0,r.isListType)(t)&&(0,r.isListType)(n))return e(t.ofType,n.ofType);return!1},t.isTypeSubTypeOf=function e(t,n,i){if(n===i)return!0;if((0,r.isNonNullType)(i))return!!(0,r.isNonNullType)(n)&&e(t,n.ofType,i.ofType);if((0,r.isNonNullType)(n))return e(t,n.ofType,i);if((0,r.isListType)(i))return!!(0,r.isListType)(n)&&e(t,n.ofType,i.ofType);if((0,r.isListType)(n))return!1;if((0,r.isAbstractType)(i)&&(0,r.isObjectType)(n)&&t.isPossibleType(i,n))return!0;return!1},t.doTypesOverlap=function(e,t,n){if(t===n)return!0;if((0,r.isAbstractType)(t))return(0,r.isAbstractType)(n)?e.getPossibleTypes(t).some(function(t){return e.isPossibleType(n,t)}):e.isPossibleType(t,n);if((0,r.isAbstractType)(n))return e.isPossibleType(n,t);return!1};var r=n(3)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createLexer=function(e,t){var n=new c(s.SOF,0,0,0,0,null);return{source:e,options:t,lastToken:n,token:n,line:1,lineStart:0,advance:l,lookahead:u}},t.isPunctuatorToken=function(e){var t=e.kind;return t===s.BANG||t===s.DOLLAR||t===s.AMP||t===s.PAREN_L||t===s.PAREN_R||t===s.SPREAD||t===s.COLON||t===s.EQUALS||t===s.AT||t===s.BRACKET_L||t===s.BRACKET_R||t===s.BRACE_L||t===s.PIPE||t===s.BRACE_R},t.getTokenDesc=function(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'):e.kind},t.TokenKind=void 0;var r,i=(r=n(46))&&r.__esModule?r:{default:r},o=n(20),a=n(34);function l(){return this.lastToken=this.token,this.token=this.lookahead()}function u(){var e=this.token;if(e.kind!==s.EOF)do{e=e.next||(e.next=p(this,e))}while(e.kind===s.COMMENT);return e}var s=Object.freeze({SOF:"",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});function c(e,t,n,r,i,o,a){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=a,this.prev=o,this.next=null}function f(e){return isNaN(e)?s.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function p(e,t){var n=e.source,r=n.body,i=r.length,l=function(e,t,n){var r=e.length,i=t;for(;i=i)return new c(s.EOF,i,i,u,p,t);var m=r.charCodeAt(l);switch(m){case 33:return new c(s.BANG,l,l+1,u,p,t);case 35:return function(e,t,n,r,i){var o,a=e.body,l=t;do{o=a.charCodeAt(++l)}while(!isNaN(o)&&(o>31||9===o));return new c(s.COMMENT,t,l,n,r,i,a.slice(t+1,l))}(n,l,u,p,t);case 36:return new c(s.DOLLAR,l,l+1,u,p,t);case 38:return new c(s.AMP,l,l+1,u,p,t);case 40:return new c(s.PAREN_L,l,l+1,u,p,t);case 41:return new c(s.PAREN_R,l,l+1,u,p,t);case 46:if(46===r.charCodeAt(l+1)&&46===r.charCodeAt(l+2))return new c(s.SPREAD,l,l+3,u,p,t);break;case 58:return new c(s.COLON,l,l+1,u,p,t);case 61:return new c(s.EQUALS,l,l+1,u,p,t);case 64:return new c(s.AT,l,l+1,u,p,t);case 91:return new c(s.BRACKET_L,l,l+1,u,p,t);case 93:return new c(s.BRACKET_R,l,l+1,u,p,t);case 123:return new c(s.BRACE_L,l,l+1,u,p,t);case 124:return new c(s.PIPE,l,l+1,u,p,t);case 125:return new c(s.BRACE_R,l,l+1,u,p,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,r,i){var o=e.body,a=o.length,l=t+1,u=0;for(;l!==a&&!isNaN(u=o.charCodeAt(l))&&(95===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122);)++l;return new c(s.NAME,t,l,n,r,i,o.slice(t,l))}(n,l,u,p,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,r,i,a){var l=e.body,u=n,p=t,h=!1;45===u&&(u=l.charCodeAt(++p));if(48===u){if((u=l.charCodeAt(++p))>=48&&u<=57)throw(0,o.syntaxError)(e,p,"Invalid number, unexpected digit after 0: ".concat(f(u),"."))}else p=d(e,p,u),u=l.charCodeAt(p);46===u&&(h=!0,u=l.charCodeAt(++p),p=d(e,p,u),u=l.charCodeAt(p));69!==u&&101!==u||(h=!0,43!==(u=l.charCodeAt(++p))&&45!==u||(u=l.charCodeAt(++p)),p=d(e,p,u));return new c(h?s.FLOAT:s.INT,t,p,r,i,a,l.slice(t,p))}(n,l,m,u,p,t);case 34:return 34===r.charCodeAt(l+1)&&34===r.charCodeAt(l+2)?function(e,t,n,r,i,l){var u=e.body,p=t+3,d=p,h=0,m="";for(;p=48&&a<=57){do{a=r.charCodeAt(++i)}while(a>=48&&a<=57);return i}throw(0,o.syntaxError)(e,i,"Invalid number, expected digit but got: ".concat(f(a),"."))}function h(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}t.TokenKind=s,(0,i.default)(c,function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validate=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.specifiedRules,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new l.TypeInfo(e);t||(0,i.default)(0,"Must provide document"),(0,a.assertValidSchema)(e);var c=new s.ValidationContext(e,t,r),f=(0,o.visitInParallel)(n.map(function(e){return e(c)}));return(0,o.visit)(t,(0,o.visitWithTypeInfo)(r,f)),c.getErrors()},t.validateSDL=c,t.assertValidSDL=function(e){var t=c(e);if(0!==t.length)throw new Error(t.map(function(e){return e.message}).join("\n\n"))},t.assertValidSDLExtension=function(e,t){var n=c(e,t);if(0!==n.length)throw new Error(n.map(function(e){return e.message}).join("\n\n"))};var r,i=(r=n(13))&&r.__esModule?r:{default:r},o=n(22),a=n(44),l=n(36),u=n(95),s=n(71);function c(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u.specifiedSDLRules,r=new s.SDLValidationContext(e,t),i=n.map(function(e){return e(r)});return(0,o.visit)(e,(0,o.visitInParallel)(i)),r.getErrors()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e.map(function(e){return'"'.concat(e,'"')}))};var r,i=(r=n(67))&&r.__esModule?r:{default:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.execute=function(e,t,n,r,i,o,a,l){return 1===arguments.length?w(e.schema,e.document,e.rootValue,e.contextValue,e.variableValues,e.operationName,e.fieldResolver,e.typeResolver):w(e,t,n,r,i,o,a,l)},t.responsePathAsArray=x,t.addPath=S,t.assertValidExecutionArguments=C,t.buildExecutionContext=N,t.collectFields=A,t.buildResolveInfo=M,t.resolveFieldValueOrError=P,t.getFieldDef=H,t.defaultFieldResolver=t.defaultTypeResolver=void 0;var r=n(33),i=n(1),o=n(66),a=E(n(6)),l=E(n(13)),u=E(n(26)),s=E(n(92)),c=E(n(43)),f=E(n(168)),p=E(n(169)),d=E(n(170)),h=n(72),m=n(19),v=n(9),g=n(73),y=n(3),b=n(16),T=n(15),k=n(44);function E(e){return e&&e.__esModule?e:{default:e}}function _(e){return(_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function w(e,t,n,r,i,o,a,l){C(e,t,i);var u=N(e,t,n,r,i,o,a,l);if(Array.isArray(u))return{errors:u};var s=function(e,t,n){var r=(0,h.getOperationRootType)(e.schema,t),i=A(e,r,t.selectionSet,Object.create(null),Object.create(null)),o=void 0;try{var a="mutation"===t.operation?function(e,t,n,r,i){return(0,d.default)(Object.keys(i),function(o,a){var l=i[a],u=S(r,a),s=I(e,t,n,l,u);return void 0===s?o:(0,c.default)(s)?s.then(function(e){return o[a]=e,o}):(o[a]=s,o)},Object.create(null))}(e,r,n,o,i):O(e,r,n,o,i);return(0,c.default)(a)?a.then(void 0,function(t){return e.errors.push(t),Promise.resolve(null)}):a}catch(t){return e.errors.push(t),null}}(u,u.operation,n);return function e(t,n){if((0,c.default)(n))return n.then(function(n){return e(t,n)});return 0===t.errors.length?{data:n}:{errors:t.errors,data:n}}(u,s)}function x(e){for(var t=[],n=e;n;)t.push(n.key),n=n.prev;return t.reverse()}function S(e,t){return{prev:e,key:t}}function C(e,t,n){t||(0,l.default)(0,"Must provide document"),(0,k.assertValidSchema)(e),n&&"object"!==_(n)&&(0,l.default)(0,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function N(e,t,n,r,o,a,u,s){for(var c,f,p=[],d=!1,h=Object.create(null),m=0;m=0;i--)t(n[i])}function a(e,t){var n=e.filter(t);return 0===n.length?e:n}function l(e){return e.toLowerCase().replace(/\W/g,"")}function u(e,t){var n=function(e,t){var n=void 0,r=void 0,i=[],o=e.length,a=t.length;for(n=0;n<=o;n++)i[n]=[n];for(r=1;r<=a;r++)i[0][r]=r;for(n=1;n<=o;n++)for(r=1;r<=a;r++){var l=e[n-1]===t[r-1]?0:1;i[n][r]=Math.min(i[n-1][r]+1,i[n][r-1]+1,i[n-1][r-1]+l),n>1&&r>1&&e[n-1]===t[r-2]&&e[n-2]===t[r-1]&&(i[n][r]=Math.min(i[n][r],i[n-2][r-2]+l))}return i[o][a]}(t,e);return e.length>t.length&&(n-=e.length-t.length-1,n+=0===e.indexOf(t)?0:.5),n}},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.LANGUAGE=void 0,t.getDefinitionQueryResultForNamedType=function(t,n,r){var i,o,a;return regeneratorRuntime.async(function(l){for(;;)switch(l.prev=l.next){case 0:if(i=n.name.value,0!==(o=r.filter(function(e){var t=e.definition;return t.name&&t.name.value===i})).length){l.next=5;break}return e.stderr.write("Definition not found for GraphQL type "+i),l.abrupt("return",{queryRange:[],definitions:[]});case 5:return a=o.map(function(e){var t=e.filePath,n=e.content,r=e.definition;return f(t||"",n,r)}),l.abrupt("return",{definitions:a,queryRange:a.map(function(e){return u(t,n)})});case 7:case"end":return l.stop()}},null,this)},t.getDefinitionQueryResultForFragmentSpread=function(t,n,r){var i,o,a;return regeneratorRuntime.async(function(l){for(;;)switch(l.prev=l.next){case 0:if(i=n.name.value,0!==(o=r.filter(function(e){var t=e.definition;return t.name.value===i})).length){l.next=5;break}return e.stderr.write("Definition not found for GraphQL fragment "+i),l.abrupt("return",{queryRange:[],definitions:[]});case 5:return a=o.map(function(e){var t=e.filePath,n=e.content,r=e.definition;return c(t||"",n,r)}),l.abrupt("return",{definitions:a,queryRange:a.map(function(e){return u(t,n)})});case 7:case"end":return l.stop()}},null,this)},t.getDefinitionQueryResultForDefinitionNode=function(e,t,n){return{definitions:[c(e,t,n)],queryRange:n.name?[u(t,n.name)]:[]}};var r,i=n(56),o=n(138),a=(r=o)&&r.__esModule?r:{default:r};var l=t.LANGUAGE="GraphQL";function u(e,t){var n=t.loc;return(0,a.default)(n,"Expected ASTNode to have a location."),(0,i.locToRange)(e,n)}function s(e,t){var n=t.loc;return(0,a.default)(n,"Expected ASTNode to have a location."),(0,i.offsetToPosition)(e,n.start)}function c(e,t,n){var r=n.name;return(0,a.default)(r,"Expected ASTNode to have a Name."),{path:e,position:s(t,n),range:u(t,n),name:r.value||"",language:l,projectRoot:e}}function f(e,t,n){var r=n.name;return(0,a.default)(r,"Expected ASTNode to have a Name."),{path:e,position:s(t,n),range:u(t,n),name:r.value||"",language:l,projectRoot:e}}}).call(this,n(136))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(253);Object.defineProperty(t,"getASTNodeAtPosition",{enumerable:!0,get:function(){return r.getASTNodeAtPosition}}),Object.defineProperty(t,"pointToOffset",{enumerable:!0,get:function(){return r.pointToOffset}});var i=n(137);Object.defineProperty(t,"Position",{enumerable:!0,get:function(){return i.Position}}),Object.defineProperty(t,"Range",{enumerable:!0,get:function(){return i.Range}}),Object.defineProperty(t,"locToRange",{enumerable:!0,get:function(){return i.locToRange}}),Object.defineProperty(t,"offsetToPosition",{enumerable:!0,get:function(){return i.offsetToPosition}});var o=n(254);Object.defineProperty(t,"validateWithCustomRules",{enumerable:!0,get:function(){return o.validateWithCustomRules}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SEVERITY=void 0,t.getDiagnostics=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments[2],r=arguments[3],i=null;try{i=(0,a.parse)(e)}catch(t){var o=d(t.locations[0],e);return[{severity:s.ERROR,message:t.message,source:"GraphQL: Syntax",range:o}]}return c(i,t,n,r)},t.validateQuery=c,t.getRange=d;var r,i=n(138),o=(r=i)&&r.__esModule?r:{default:r},a=n(8),l=n(40),u=n(56);var s=t.SEVERITY={ERROR:1,WARNING:2,INFORMATION:3,HINT:4};function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments[2],r=arguments[3];if(!t)return[];var i=f((0,u.validateWithCustomRules)(t,e,n,r),function(e){return p(e,s.ERROR,"Validation")}),o=a.findDeprecatedUsages?f((0,a.findDeprecatedUsages)(t,e),function(e){return p(e,s.WARNING,"Deprecation")}):[];return i.concat(o)}function f(e,t){return Array.prototype.concat.apply([],e.map(t))}function p(e,t,n){return e.nodes?e.nodes.map(function(r){var i="Variable"!==r.kind&&r.name?r.name:r.variable?r.variable:r;(0,o.default)(e.locations,"GraphQL validation error requires locations.");var a=e.locations[0],l=function(e){var t=e.loc;return(0,o.default)(t,"Expected ASTNode to have a location."),t}(i),s=a.column+(l.end-l.start);return{source:"GraphQL: "+n,message:e.message,severity:t,range:new u.Range(new u.Position(a.line-1,a.column-1),new u.Position(a.line-1,s))}}):[]}function d(e,t){var n=(0,l.onlineParser)(),r=n.startState(),i=t.split("\n");(0,o.default)(i.length>=e.line,"Query text must have more lines than where the error happened");for(var a=null,s=0;s0)return{errors:d};try{p=(0,a.parse)(t)}catch(e){return{errors:[e]}}var h=(0,l.validate)(e,p);return h.length>0?{errors:h}:(0,u.execute)(e,p,n,r,i,s,c,f)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){return e instanceof t};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.astFromValue=function e(t,n){if((0,s.isNonNullType)(n)){var f=e(t,n.ofType);return f&&f.kind===u.Kind.NULL?null:f}if(null===t)return{kind:u.Kind.NULL};if((0,l.default)(t))return null;if((0,s.isListType)(n)){var h=n.ofType;if((0,r.isCollection)(t)){var m=[];return(0,r.forEach)(t,function(t){var n=e(t,h);n&&m.push(n)}),{kind:u.Kind.LIST,values:m}}return e(t,h)}if((0,s.isInputObjectType)(n)){if(null===t||"object"!==p(t))return null;var v=(0,i.default)(n.getFields()),g=[],y=!0,b=!1,T=void 0;try{for(var k,E=v[Symbol.iterator]();!(y=(k=E.next()).done);y=!0){var _=k.value,w=e(t[_.name],_.type);w&&g.push({kind:u.Kind.OBJECT_FIELD,name:{kind:u.Kind.NAME,value:_.name},value:w})}}catch(e){b=!0,T=e}finally{try{y||null==E.return||E.return()}finally{if(b)throw T}}return{kind:u.Kind.OBJECT,fields:g}}if((0,s.isLeafType)(n)){var x=n.serialize(t);if((0,a.default)(x))return null;if("boolean"==typeof x)return{kind:u.Kind.BOOLEAN,value:x};if("number"==typeof x){var S=String(x);return d.test(S)?{kind:u.Kind.INT,value:S}:{kind:u.Kind.FLOAT,value:S}}if("string"==typeof x)return(0,s.isEnumType)(n)?{kind:u.Kind.ENUM,value:x}:n===c.GraphQLID&&d.test(x)?{kind:u.Kind.INT,value:x}:{kind:u.Kind.STRING,value:x};throw new TypeError("Cannot convert value to AST: ".concat((0,o.default)(x)))}throw new Error('Unexpected input type: "'.concat((0,o.default)(n),'".'))};var r=n(33),i=f(n(14)),o=f(n(6)),a=f(n(92)),l=f(n(26)),u=n(9),s=n(3),c=n(17);function f(e){return e&&e.__esModule?e:{default:e}}function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var d=/^-?(?:0|[1-9][0-9]*)$/},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLocation=function(e,t){var n,r=/\r\n|[\n\r]/g,i=1,o=t+1;for(;(n=r.exec(e.body))&&n.index0||(0,r.default)(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||(0,r.default)(0,"column in locationOffset is 1-indexed and must be positive")};t.Source=a,(0,i.default)(a)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.locatedError=function(e,t,n){if(e&&Array.isArray(e.path))return e;return new r.GraphQLError(e&&e.message,e&&e.nodes||t,e&&e.source,e&&e.positions,n,e)};var r=n(1)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(0===e.length&&(0,i.default)(0),1===e.length)return e[0];if(2===e.length)return e[0]+" or "+e[1];var t=e.slice(0,o),n=t.pop();return t.join(", ")+", or "+n};var r,i=(r=n(13))&&r.__esModule?r:{default:r};var o=5},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unknownFragmentMessage=i,t.KnownFragmentNames=function(e){return{FragmentSpread:function(t){var n=t.name.value,o=e.getFragment(n);o||e.reportError(new r.GraphQLError(i(n),t.name))}}};var r=n(1);function i(e){return'Unknown fragment "'.concat(e,'".')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unusedFragMessage=i,t.NoUnusedFragments=function(e){var t=[],n=[];return{OperationDefinition:function(e){return t.push(e),!1},FragmentDefinition:function(e){return n.push(e),!1},Document:{leave:function(){for(var o=Object.create(null),a=0,l=t;a=0&&(n=this.attrs[t][1]),n},r.prototype.attrJoin=function(e,t){var n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+" "+t},e.exports=r},function(e,t,n){!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,r={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function i(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var l=e.getLineHandle(t.line),u=t.ch-1,s=o&&o.afterCursor;null==s&&(s=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var c=i(o),f=!s&&u>=0&&c.test(l.text.charAt(u))&&r[l.text.charAt(u)]||c.test(l.text.charAt(u+1))&&r[l.text.charAt(++u)];if(!f)return null;var p=">"==f.charAt(1)?1:-1;if(o&&o.strict&&p>0!=(u==t.ch))return null;var d=e.getTokenTypeAt(n(t.line,u+1)),h=a(e,n(t.line,u+(p>0?1:0)),p,d||null,o);return null==h?null:{from:n(t.line,u),to:h&&h.pos,match:h&&h.ch==f.charAt(0),forward:p>0}}function a(e,t,o,a,l){for(var u=l&&l.maxScanLineLength||1e4,s=l&&l.maxScanLines||1e3,c=[],f=i(l),p=o>0?Math.min(t.line+s,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-s),d=t.line;d!=p;d+=o){var h=e.getLine(d);if(h){var m=o>0?0:h.length-1,v=o>0?h.length:-1;if(!(h.length>u))for(d==t.line&&(m=t.ch-(o<0?1:0));m!=v;m+=o){var g=h.charAt(m);if(f.test(g)&&(void 0===a||e.getTokenTypeAt(n(d,m+1))==a)){var y=r[g];if(y&&">"==y.charAt(1)==o>0)c.push(g);else{if(!c.length)return{pos:n(d,m),ch:g};c.pop()}}}}}return d-o!=(o>0?e.lastLine():e.firstLine())&&null}function l(e,r,i){for(var a=e.state.matchBrackets.maxHighlightLineLength||1e3,l=[],u=e.listSelections(),s=0;s=u&&(o=i(a.indicatorOpen))}e.setGutterMarker(n,a.gutter,o),++l})}function a(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation(function(){o(e,t.from,t.to)}),n.from=t.from,n.to=t.to)}function l(e,n,i){var o=e.state.foldGutter;if(o){var a=o.options;if(i==a.gutter){var l=r(e,n);l?l.clear():e.foldCode(t(n,0),a.rangeFinder)}}}function u(e){var t=e.state.foldGutter;if(t){var n=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){a(e)},n.foldOnChangeTimeSpan||600)}}function s(e){var t=e.state.foldGutter;if(t){var n=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?a(e):e.operation(function(){n.fromt.to&&(o(e,t.to,n.to),t.to=n.to)})},n.updateViewportTimeSpan||400)}}function c(e,t){var n=e.state.foldGutter;if(n){var r=t.line;r>=n.from&&rt.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));if(/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"keyword"!=r.type||"import"!=r.string)return null;for(var i=n,o=Math.min(t.lastLine(),n+10);i<=o;++i){var a=t.getLine(i),l=a.indexOf(";");if(-1!=l)return{startCh:r.end,end:e.Pos(i,l)}}}var i,o=n.line,a=r(o);if(!a||r(o-1)||(i=r(o-2))&&i.end.line==o-1)return null;for(var l=a.end;;){var u=r(l.line+1);if(null==u)break;l=u.end}return{from:t.clipPos(e.Pos(o,a.startCh+1)),to:l}}),e.registerHelper("fold","include",function(t,n){function r(n){if(nt.lastLine())return null;var r=t.getTokenAt(e.Pos(n,1));return/\S/.test(r.string)||(r=t.getTokenAt(e.Pos(n,r.end+1))),"meta"==r.type&&"#include"==r.string.slice(0,8)?r.start+8:void 0}var i=n.line,o=r(i);if(null==o||null!=r(i-1))return null;for(var a=i;;){var l=r(a+1);if(null==l)break;++a}return{from:e.Pos(i,o+1),to:t.clipPos(e.Pos(a))}})}(n(5))},function(e,t,n){!function(e){"use strict";function t(e,t){var n=Number(t);return/^[-+]/.test(t)?e.getCursor().line+n:n-1}e.commands.jumpToLine=function(e){var n=e.getCursor();!function(e,t,n,r,i){e.openDialog?e.openDialog(t,i,{value:r,selectValueOnOpen:!0}):i(prompt(n,r))}(e,function(e){return e.phrase("Jump to line:")+' '+e.phrase("(Use line:column or scroll% syntax)")+""}(e),e.phrase("Jump to line:"),n.line+1+":"+n.ch,function(r){var i;if(r)if(i=/^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(r))e.setCursor(t(e,i[1]),Number(i[2]));else if(i=/^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(r)){var o=Math.round(e.lineCount()*Number(i[1])/100);/^[-+]/.test(i[1])&&(o=n.line+o+1),e.setCursor(o-1,n.ch)}else(i=/^\s*\:?\s*([\+\-]?\d+)\s*/.exec(r))&&e.setCursor(t(e,i[1]),n.ch)})},e.keyMap.default["Alt-G"]="jumpToLine"}(n(5),n(38))},function(e,t,n){!function(e){"use strict";var t=e.commands,n=e.Pos;function r(t,r){t.extendSelectionsBy(function(i){return t.display.shift||t.doc.extend||i.empty()?function(t,r,i){if(i<0&&0==r.ch)return t.clipPos(n(r.line-1));var o=t.getLine(r.line);if(i>0&&r.ch>=o.length)return t.clipPos(n(r.line+1,0));for(var a,l="start",u=r.ch,s=i<0?0:o.length,c=0;u!=s;u+=i,c++){var f=o.charAt(i<0?u-1:u),p="_"!=f&&e.isWordChar(f)?"w":"o";if("w"==p&&f.toUpperCase()==f&&(p="W"),"start"==l)"o"!=p&&(l="in",a=p);else if("in"==l&&a!=p){if("w"==a&&"W"==p&&i<0&&u--,"W"==a&&"w"==p&&i>0){a="w";continue}break}}return n(r.line,u)}(t.doc,i.head,r):r<0?i.from():i.to()})}function i(t,r){if(t.isReadOnly())return e.Pass;t.operation(function(){for(var e=t.listSelections().length,i=[],o=-1,a=0;a=n&&e.execCommand("goLineUp")}e.scrollTo(null,t.top-e.defaultTextHeight())},t.scrollLineDown=function(e){var t=e.getScrollInfo();if(!e.somethingSelected()){var n=e.lineAtHeight(t.top,"local")+1;e.getCursor().line<=n&&e.execCommand("goLineDown")}e.scrollTo(null,t.top+e.defaultTextHeight())},t.splitSelectionByLine=function(e){for(var t=e.listSelections(),r=[],i=0;io.line&&l==a.line&&0==a.ch||r.push({anchor:l==o.line?o:n(l,0),head:l==a.line?a:n(l)});e.setSelections(r,0)},t.singleSelectionTop=function(e){var t=e.listSelections()[0];e.setSelection(t.anchor,t.head,{scroll:!1})},t.selectLine=function(e){for(var t=e.listSelections(),r=[],i=0;i=0;l--){var u=r[i[l]];if(!(s&&e.cmpPos(u.head,s)>0)){var c=o(t,u.head);s=c.from,t.replaceRange(n(c.word),c.from,c.to)}}})}function f(t){var n=t.getCursor("from"),r=t.getCursor("to");if(0==e.cmpPos(n,r)){var i=o(t,n);if(!i.word)return;n=i.from,r=i.to}return{from:n,to:r,query:t.getRange(n,r),word:i}}function p(e,t){var r=f(e);if(r){var i=r.query,o=e.getSearchCursor(i,t?r.to:r.from);(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):(o=e.getSearchCursor(i,t?n(e.firstLine(),0):e.clipPos(n(e.lastLine()))),(t?o.findNext():o.findPrevious())?e.setSelection(o.from(),o.to()):r.word&&e.setSelection(r.from,r.to))}}t.selectScope=function(e){u(e)||e.execCommand("selectAll")},t.selectBetweenBrackets=function(t){if(!u(t))return e.Pass},t.goToBracket=function(t){t.extendSelectionsBy(function(r){var i=t.scanForBracket(r.head,1);if(i&&0!=e.cmpPos(i.pos,r.head))return i.pos;var o=t.scanForBracket(r.head,-1);return o&&n(o.pos.line,o.pos.ch+1)||r.head})},t.swapLineUp=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.firstLine()-1,a=[],l=0;lo?i.push(s,c):i.length&&(i[i.length-1]=c),o=c}t.operation(function(){for(var e=0;et.lastLine()?t.replaceRange("\n"+l,n(t.lastLine()),null,"+swapLine"):t.replaceRange(l+"\n",n(o,0),null,"+swapLine")}t.setSelections(a),t.scrollIntoView()})},t.swapLineDown=function(t){if(t.isReadOnly())return e.Pass;for(var r=t.listSelections(),i=[],o=t.lastLine()+1,a=r.length-1;a>=0;a--){var l=r[a],u=l.to().line+1,s=l.from().line;0!=l.to().ch||l.empty()||u--,u=0;e-=2){var r=i[e],o=i[e+1],a=t.getLine(r);r==t.lastLine()?t.replaceRange("",n(r-1),n(r),"+swapLine"):t.replaceRange("",n(r,0),n(r+1,0),"+swapLine"),t.replaceRange(a+"\n",n(o,0),null,"+swapLine")}t.scrollIntoView()})},t.toggleCommentIndented=function(e){e.toggleComment({indent:!0})},t.joinLines=function(e){for(var t=e.listSelections(),r=[],i=0;i=0;o--){var a=r[o].head,l=t.getRange({line:a.line,ch:0},a),u=e.countColumn(l,null,t.getOption("tabSize")),s=t.findPosH(a,-1,"char",!1);if(l&&!/\S/.test(l)&&u%i==0){var c=new n(a.line,e.findColumn(l,u-i,i));c.ch!=a.ch&&(s=c)}t.replaceRange("",s,a,"+delete")}})},t.delLineRight=function(e){e.operation(function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange("",t[r].anchor,n(t[r].to().line),"+delete");e.scrollIntoView()})},t.upcaseAtCursor=function(e){c(e,function(e){return e.toUpperCase()})},t.downcaseAtCursor=function(e){c(e,function(e){return e.toLowerCase()})},t.setSublimeMark=function(e){e.state.sublimeMark&&e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor())},t.selectToSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&e.setSelection(e.getCursor(),t)},t.deleteToSublimeMark=function(t){var n=t.state.sublimeMark&&t.state.sublimeMark.find();if(n){var r=t.getCursor(),i=n;if(e.cmpPos(r,i)>0){var o=i;i=r,r=o}t.state.sublimeKilled=t.getRange(r,i),t.replaceRange("",r,i)}},t.swapWithSublimeMark=function(e){var t=e.state.sublimeMark&&e.state.sublimeMark.find();t&&(e.state.sublimeMark.clear(),e.state.sublimeMark=e.setBookmark(e.getCursor()),e.setCursor(t))},t.sublimeYank=function(e){null!=e.state.sublimeKilled&&e.replaceSelection(e.state.sublimeKilled,null,"paste")},t.showInCenter=function(e){var t=e.cursorCoords(null,"local");e.scrollTo(null,(t.top+t.bottom)/2-e.getScrollInfo().clientHeight/2)},t.findUnder=function(e){p(e,!0)},t.findUnderPrevious=function(e){p(e,!1)},t.findAllUnder=function(e){var t=f(e);if(t){for(var n=e.getSearchCursor(t.query),r=[],i=-1;n.findNext();)r.push({anchor:n.from(),head:n.to()}),n.from().line<=t.from.line&&n.from().ch<=t.from.ch&&i++;e.setSelections(r,i)}};var d=e.keyMap;d.macSublime={"Cmd-Left":"goLineStartSmart","Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-Left":"goSubwordLeft","Ctrl-Right":"goSubwordRight","Ctrl-Alt-Up":"scrollLineUp","Ctrl-Alt-Down":"scrollLineDown","Cmd-L":"selectLine","Shift-Cmd-L":"splitSelectionByLine",Esc:"singleSelectionTop","Cmd-Enter":"insertLineAfter","Shift-Cmd-Enter":"insertLineBefore","Cmd-D":"selectNextOccurrence","Shift-Cmd-Space":"selectScope","Shift-Cmd-M":"selectBetweenBrackets","Cmd-M":"goToBracket","Cmd-Ctrl-Up":"swapLineUp","Cmd-Ctrl-Down":"swapLineDown","Cmd-/":"toggleCommentIndented","Cmd-J":"joinLines","Shift-Cmd-D":"duplicateLine",F5:"sortLines","Cmd-F5":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Cmd-F2":"toggleBookmark","Shift-Cmd-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Cmd-K Cmd-K":"delLineRight","Cmd-K Cmd-U":"upcaseAtCursor","Cmd-K Cmd-L":"downcaseAtCursor","Cmd-K Cmd-Space":"setSublimeMark","Cmd-K Cmd-A":"selectToSublimeMark","Cmd-K Cmd-W":"deleteToSublimeMark","Cmd-K Cmd-X":"swapWithSublimeMark","Cmd-K Cmd-Y":"sublimeYank","Cmd-K Cmd-C":"showInCenter","Cmd-K Cmd-G":"clearBookmarks","Cmd-K Cmd-Backspace":"delLineLeft","Cmd-K Cmd-0":"unfoldAll","Cmd-K Cmd-J":"unfoldAll","Ctrl-Shift-Up":"addCursorToPrevLine","Ctrl-Shift-Down":"addCursorToNextLine","Cmd-F3":"findUnder","Shift-Cmd-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Cmd-[":"fold","Shift-Cmd-]":"unfold","Cmd-I":"findIncremental","Shift-Cmd-I":"findIncrementalReverse","Cmd-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"macDefault"},e.normalizeKeyMap(d.macSublime),d.pcSublime={"Shift-Tab":"indentLess","Shift-Ctrl-K":"deleteLine","Alt-Q":"wrapLines","Ctrl-T":"transposeChars","Alt-Left":"goSubwordLeft","Alt-Right":"goSubwordRight","Ctrl-Up":"scrollLineUp","Ctrl-Down":"scrollLineDown","Ctrl-L":"selectLine","Shift-Ctrl-L":"splitSelectionByLine",Esc:"singleSelectionTop","Ctrl-Enter":"insertLineAfter","Shift-Ctrl-Enter":"insertLineBefore","Ctrl-D":"selectNextOccurrence","Shift-Ctrl-Space":"selectScope","Shift-Ctrl-M":"selectBetweenBrackets","Ctrl-M":"goToBracket","Shift-Ctrl-Up":"swapLineUp","Shift-Ctrl-Down":"swapLineDown","Ctrl-/":"toggleCommentIndented","Ctrl-J":"joinLines","Shift-Ctrl-D":"duplicateLine",F9:"sortLines","Ctrl-F9":"sortLinesInsensitive",F2:"nextBookmark","Shift-F2":"prevBookmark","Ctrl-F2":"toggleBookmark","Shift-Ctrl-F2":"clearBookmarks","Alt-F2":"selectBookmarks",Backspace:"smartBackspace","Ctrl-K Ctrl-K":"delLineRight","Ctrl-K Ctrl-U":"upcaseAtCursor","Ctrl-K Ctrl-L":"downcaseAtCursor","Ctrl-K Ctrl-Space":"setSublimeMark","Ctrl-K Ctrl-A":"selectToSublimeMark","Ctrl-K Ctrl-W":"deleteToSublimeMark","Ctrl-K Ctrl-X":"swapWithSublimeMark","Ctrl-K Ctrl-Y":"sublimeYank","Ctrl-K Ctrl-C":"showInCenter","Ctrl-K Ctrl-G":"clearBookmarks","Ctrl-K Ctrl-Backspace":"delLineLeft","Ctrl-K Ctrl-0":"unfoldAll","Ctrl-K Ctrl-J":"unfoldAll","Ctrl-Alt-Up":"addCursorToPrevLine","Ctrl-Alt-Down":"addCursorToNextLine","Ctrl-F3":"findUnder","Shift-Ctrl-F3":"findUnderPrevious","Alt-F3":"findAllUnder","Shift-Ctrl-[":"fold","Shift-Ctrl-]":"unfold","Ctrl-I":"findIncremental","Shift-Ctrl-I":"findIncrementalReverse","Ctrl-H":"replace",F3:"findNext","Shift-F3":"findPrev",fallthrough:"pcDefault"},e.normalizeKeyMap(d.pcSublime);var h=d.default==d.macDefault;d.sublime=h?d.macSublime:d.pcSublime}(n(5),n(37),n(80))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t1&&"_"===e[0]&&"_"===e[1]?new i.GraphQLError('Name "'.concat(e,'" must not begin with "__", which is reserved by ')+"GraphQL introspection.",t):a.test(e)?void 0:new i.GraphQLError('Names must match /^[_a-zA-Z][_a-zA-Z0-9]*$/ but "'.concat(e,'" does not.'),t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.specifiedSDLRules=t.specifiedRules=void 0;var r=n(96),i=n(97),o=n(98),a=n(99),l=n(100),u=n(101),s=n(102),c=n(103),f=n(104),p=n(105),d=n(68),h=n(69),m=n(106),v=n(107),g=n(108),y=n(109),b=n(110),T=n(111),k=n(112),E=n(113),_=n(114),w=n(70),x=n(115),S=n(116),C=n(117),N=n(118),O=n(161),A=n(162),D=n(163),L=n(164),I=n(165),M=n(166),P=n(167),F=[r.ExecutableDefinitions,i.UniqueOperationNames,o.LoneAnonymousOperation,a.SingleFieldSubscriptions,l.KnownTypeNames,u.FragmentsOnCompositeTypes,s.VariablesAreInputTypes,c.ScalarLeafs,f.FieldsOnCorrectType,p.UniqueFragmentNames,d.KnownFragmentNames,h.NoUnusedFragments,m.PossibleFragmentSpreads,v.NoFragmentCycles,g.UniqueVariableNames,y.NoUndefinedVariables,b.NoUnusedVariables,T.KnownDirectives,k.UniqueDirectivesPerLocation,E.KnownArgumentNames,_.UniqueArgumentNames,w.ValuesOfCorrectType,x.ProvidedRequiredArguments,S.VariablesInAllowedPosition,C.OverlappingFieldsCanBeMerged,N.UniqueInputFieldNames];t.specifiedRules=F;var R=[O.LoneSchemaDefinition,A.UniqueOperationTypes,D.UniqueTypeNames,L.UniqueEnumValueNames,I.UniqueFieldDefinitionNames,M.UniqueDirectiveNames,l.KnownTypeNames,T.KnownDirectives,k.UniqueDirectivesPerLocation,P.PossibleTypeExtensions,E.KnownArgumentNamesOnDirectives,_.UniqueArgumentNames,N.UniqueInputFieldNames,x.ProvidedRequiredArgumentsOnDirectives];t.specifiedSDLRules=R},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nonExecutableDefinitionMessage=a,t.ExecutableDefinitions=function(e){return{Document:function(t){var n=!0,l=!1,u=void 0;try{for(var s,c=t.definitions[Symbol.iterator]();!(n=(s=c.next()).done);n=!0){var f=s.value;(0,o.isExecutableDefinitionNode)(f)||e.reportError(new r.GraphQLError(a(f.kind===i.Kind.SCHEMA_DEFINITION||f.kind===i.Kind.SCHEMA_EXTENSION?"schema":f.name.value),f))}}catch(e){l=!0,u=e}finally{try{n||null==c.return||c.return()}finally{if(l)throw u}}return!1}}};var r=n(1),i=n(9),o=n(27);function a(e){return"The ".concat(e," definition is not executable.")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.duplicateOperationNameMessage=i,t.UniqueOperationNames=function(e){var t=Object.create(null);return{OperationDefinition:function(n){var o=n.name;return o&&(t[o.value]?e.reportError(new r.GraphQLError(i(o.value),[t[o.value],o])):t[o.value]=o),!1},FragmentDefinition:function(){return!1}}};var r=n(1);function i(e){return'There can be only one operation named "'.concat(e,'".')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.anonOperationNotAloneMessage=o,t.LoneAnonymousOperation=function(e){var t=0;return{Document:function(e){t=e.definitions.filter(function(e){return e.kind===i.Kind.OPERATION_DEFINITION}).length},OperationDefinition:function(n){!n.name&&t>1&&e.reportError(new r.GraphQLError("This anonymous operation must be the only defined operation.",n))}}};var r=n(1),i=n(9);function o(){return"This anonymous operation must be the only defined operation."}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.singleFieldOnlyMessage=i,t.SingleFieldSubscriptions=function(e){return{OperationDefinition:function(t){"subscription"===t.operation&&1!==t.selectionSet.selections.length&&e.reportError(new r.GraphQLError(i(t.name&&t.name.value),t.selectionSet.selections.slice(1)))}}};var r=n(1);function i(e){return(e?'Subscription "'.concat(e,'" '):"Anonymous Subscription ")+"must select only one top level field."}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.unknownTypeMessage=u,t.KnownTypeNames=function(e){var t=e.getSchema(),n=t?t.getTypeMap():Object.create(null),o=Object.create(null),l=!0,c=!1,f=void 0;try{for(var p,d=e.getDocument().definitions[Symbol.iterator]();!(l=(p=d.next()).done);l=!0){var h=p.value;(0,a.isTypeDefinitionNode)(h)&&(o[h.name.value]=!0)}}catch(e){c=!0,f=e}finally{try{l||null==d.return||d.return()}finally{if(c)throw f}}var m=Object.keys(n).concat(Object.keys(o));return{NamedType:function(t,l,c,f,p){var d,h=t.name.value;if(!n[h]&&!o[h]){var v=p[2]||c,g=(d=v,Boolean(d&&!Array.isArray(d)&&((0,a.isTypeSystemDefinitionNode)(d)||(0,a.isTypeSystemExtensionNode)(d))));if(g&&function(e){return-1!==s.indexOf(e)}(h))return;var y=(0,i.default)(h,g?s.concat(m):m);e.reportError(new r.GraphQLError(u(h,y),t))}}}};var r=n(1),i=l(n(28)),o=l(n(51)),a=n(27);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t){var n='Unknown type "'.concat(e,'".');return t.length&&(n+=" Did you mean ".concat((0,o.default)(t),"?")),n}var s=n(17).specifiedScalarTypes.map(function(e){return e.name})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.inlineFragmentOnNonCompositeErrorMessage=l,t.fragmentOnNonCompositeErrorMessage=u,t.FragmentsOnCompositeTypes=function(e){return{InlineFragment:function(t){var n=t.typeCondition;if(n){var u=(0,a.typeFromAST)(e.getSchema(),n);u&&!(0,o.isCompositeType)(u)&&e.reportError(new r.GraphQLError(l((0,i.print)(n)),n))}},FragmentDefinition:function(t){var n=(0,a.typeFromAST)(e.getSchema(),t.typeCondition);n&&!(0,o.isCompositeType)(n)&&e.reportError(new r.GraphQLError(u(t.name.value,(0,i.print)(t.typeCondition)),t.typeCondition))}}};var r=n(1),i=n(18),o=n(3),a=n(19);function l(e){return'Fragment cannot condition on non composite type "'.concat(e,'".')}function u(e,t){return'Fragment "'.concat(e,'" cannot condition on non composite ')+'type "'.concat(t,'".')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nonInputTypeOnVarMessage=l,t.VariablesAreInputTypes=function(e){return{VariableDefinition:function(t){var n=(0,a.typeFromAST)(e.getSchema(),t.type);if(n&&!(0,o.isInputType)(n)){var u=t.variable.name.value;e.reportError(new r.GraphQLError(l(u,(0,i.print)(t.type)),t.type))}}}};var r=n(1),i=n(18),o=n(3),a=n(19);function l(e,t){return'Variable "$'.concat(e,'" cannot be non-input type "').concat(t,'".')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.noSubselectionAllowedMessage=l,t.requiredSubselectionMessage=u,t.ScalarLeafs=function(e){return{Field:function(t){var n=e.getType(),r=t.selectionSet;n&&((0,a.isLeafType)((0,a.getNamedType)(n))?r&&e.reportError(new o.GraphQLError(l(t.name.value,(0,i.default)(n)),r)):r||e.reportError(new o.GraphQLError(u(t.name.value,(0,i.default)(n)),t)))}}};var r,i=(r=n(6))&&r.__esModule?r:{default:r},o=n(1),a=n(3);function l(e,t){return'Field "'.concat(e,'" must not have a selection since ')+'type "'.concat(t,'" has no subfields.')}function u(e,t){return'Field "'.concat(e,'" of type "').concat(t,'" must have a ')+'selection of subfields. Did you mean "'.concat(e,' { ... }"?')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.undefinedFieldMessage=u,t.FieldsOnCorrectType=function(e){return{Field:function(t){var n=e.getParentType();if(n){var o=e.getFieldDef();if(!o){var l=e.getSchema(),s=t.name.value,c=function(e,t,n){if((0,a.isAbstractType)(t)){var r=[],i=Object.create(null),o=!0,l=!1,u=void 0;try{for(var s,c=e.getPossibleTypes(t)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var f=s.value;if(f.getFields()[n]){r.push(f.name);var p=!0,d=!1,h=void 0;try{for(var m,v=f.getInterfaces()[Symbol.iterator]();!(p=(m=v.next()).done);p=!0){var g=m.value;g.getFields()[n]&&(i[g.name]=(i[g.name]||0)+1)}}catch(e){d=!0,h=e}finally{try{p||null==v.return||v.return()}finally{if(d)throw h}}}}}catch(e){l=!0,u=e}finally{try{o||null==c.return||c.return()}finally{if(l)throw u}}var y=Object.keys(i).sort(function(e,t){return i[t]-i[e]});return y.concat(r)}return[]}(l,n,s),f=0!==c.length?[]:function(e,t,n){if((0,a.isObjectType)(t)||(0,a.isInterfaceType)(t)){var r=Object.keys(t.getFields());return(0,i.default)(n,r)}return[]}(0,n,s);e.reportError(new r.GraphQLError(u(s,n.name,c,f),t))}}}}};var r=n(1),i=l(n(28)),o=l(n(51)),a=n(3);function l(e){return e&&e.__esModule?e:{default:e}}function u(e,t,n,r){var i='Cannot query field "'.concat(e,'" on type "').concat(t,'".');if(0!==n.length){var a=(0,o.default)(n);i+=" Did you mean to use an inline fragment on ".concat(a,"?")}else 0!==r.length&&(i+=" Did you mean ".concat((0,o.default)(r),"?"));return i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.duplicateFragmentNameMessage=i,t.UniqueFragmentNames=function(e){var t=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(n){var o=n.name.value;return t[o]?e.reportError(new r.GraphQLError(i(o),[t[o],n.name])):t[o]=n.name,!1}}};var r=n(1);function i(e){return'There can be only one fragment named "'.concat(e,'".')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typeIncompatibleSpreadMessage=s,t.typeIncompatibleAnonSpreadMessage=c,t.PossibleFragmentSpreads=function(e){return{InlineFragment:function(t){var n=e.getType(),r=e.getParentType();(0,u.isCompositeType)(n)&&(0,u.isCompositeType)(r)&&!(0,a.doTypesOverlap)(e.getSchema(),n,r)&&e.reportError(new o.GraphQLError(c((0,i.default)(r),(0,i.default)(n)),t))},FragmentSpread:function(t){var n=t.name.value,r=function(e,t){var n=e.getFragment(t);if(n){var r=(0,l.typeFromAST)(e.getSchema(),n.typeCondition);if((0,u.isCompositeType)(r))return r}}(e,n),c=e.getParentType();r&&c&&!(0,a.doTypesOverlap)(e.getSchema(),r,c)&&e.reportError(new o.GraphQLError(s(n,(0,i.default)(c),(0,i.default)(r)),t))}}};var r,i=(r=n(6))&&r.__esModule?r:{default:r},o=n(1),a=n(48),l=n(19),u=n(3);function s(e,t,n){return'Fragment "'.concat(e,'" cannot be spread here as objects of ')+'type "'.concat(t,'" can never be of type "').concat(n,'".')}function c(e,t){return"Fragment cannot be spread here as objects of "+'type "'.concat(e,'" can never be of type "').concat(t,'".')}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cycleErrorMessage=i,t.NoFragmentCycles=function(e){var t=Object.create(null),n=[],o=Object.create(null);return{OperationDefinition:function(){return!1},FragmentDefinition:function(a){return function a(l){if(t[l.name.value])return;var u=l.name.value;t[u]=!0;var s=e.getFragmentSpreads(l.selectionSet);if(0===s.length)return;o[u]=n.length;for(var c=0;c1)for(var h=0;h0)return[[t,e.map(function(e){var t=e[0];return t})],e.reduce(function(e,t){var n=t[1];return e.concat(n)},[n]),e.reduce(function(e,t){var n=t[2];return e.concat(n)},[r])]}(function(e,t,n,r,i,o,a,l){var u=[],s=g(e,t,i,o),c=s[0],f=s[1],p=g(e,t,a,l),v=p[0],y=p[1];if(m(e,u,t,n,r,c,v),0!==y.length)for(var b=Object.create(null),T=0;T0?function(){return n.map(function(e){return t.getNamedType(e)})}:[],o=r&&r.length>0?function(){return x(r,function(e){return t.buildField(e)})}:Object.create(null);return new v.GraphQLObjectType({name:e.name.value,description:C(e,this._options),interfaces:i,fields:o,astNode:e})},t._makeInterfaceDef=function(e){var t=this,n=e.fields,r=n&&n.length>0?function(){return x(n,function(e){return t.buildField(e)})}:Object.create(null);return new v.GraphQLInterfaceType({name:e.name.value,description:C(e,this._options),fields:r,astNode:e})},t._makeEnumDef=function(e){var t=this,n=e.values||[];return new v.GraphQLEnumType({name:e.name.value,description:C(e,this._options),values:x(n,function(e){return t.buildEnumValue(e)}),astNode:e})},t._makeUnionDef=function(e){var t=this,n=e.types,r=n&&n.length>0?function(){return n.map(function(e){return t.getNamedType(e)})}:[];return new v.GraphQLUnionType({name:e.name.value,description:C(e,this._options),types:r,astNode:e})},t._makeScalarDef=function(e){return new v.GraphQLScalarType({name:e.name.value,description:C(e,this._options),astNode:e,serialize:function(e){return e}})},t._makeInputObjectDef=function(e){var t=this,n=e.fields;return new v.GraphQLInputObjectType({name:e.name.value,description:C(e,this._options),fields:n?function(){return x(n,function(e){return t.buildInputField(e)})}:Object.create(null),astNode:e})},e}();function x(e,t){return(0,l.default)(e,function(e){return e.name.value},t)}function S(e){var t=(0,d.getDirectiveValues)(g.GraphQLDeprecatedDirective,e);return t&&t.reason}function C(e,t){if(e.description)return e.description.value;if(t&&t.commentDescriptions){var n=function(e){var t=e.loc;if(!t)return;var n=[],r=t.startToken.prev;for(;r&&r.kind===f.TokenKind.COMMENT&&r.next&&r.prev&&r.line+1===r.next.line&&r.line!==r.prev.line;){var i=String(r.value);n.push(i),r=r.prev}return n.reverse().join("\n")}(e);if(void 0!==n)return(0,c.dedentBlockStringValue)("\n"+n)}}t.ASTDefinitionBuilder=w},function(e,t,n){"use strict";e.exports=n(193)},function(e,t,n){"use strict";e.exports.encode=n(194),e.exports.decode=n(195),e.exports.format=n(196),e.exports.parse=n(197)},function(e,t){e.exports=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/},function(e,t){e.exports=/[\0-\x1F\x7F-\x9F]/},function(e,t){e.exports=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/},function(e,t,n){"use strict";var r="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",i="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",o=new RegExp("^(?:"+r+"|"+i+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)"),a=new RegExp("^(?:"+r+"|"+i+")");e.exports.HTML_TAG_RE=o,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,n){"use strict";e.exports.tokenize=function(e,t){var n,r,i,o,a=e.pos,l=e.src.charCodeAt(a);if(t)return!1;if(126!==l)return!1;if(i=(r=e.scanDelims(e.pos,!0)).length,o=String.fromCharCode(l),i<2)return!1;for(i%2&&(e.push("text","",0).content=o,i--),n=0;n=0;t--)95!==(n=l[t]).marker&&42!==n.marker||-1!==n.end&&(r=l[n.end],a=t>0&&l[t-1].end===n.end+1&&l[t-1].token===n.token-1&&l[n.end+1].token===r.token+1&&l[t-1].marker===n.marker,o=String.fromCharCode(n.marker),(i=e.tokens[n.token]).type=a?"strong_open":"em_open",i.tag=a?"strong":"em",i.nesting=1,i.markup=a?o+o:o,i.content="",(i=e.tokens[r.token]).type=a?"strong_close":"em_close",i.tag=a?"strong":"em",i.nesting=-1,i.markup=a?o+o:o,i.content="",a&&(e.tokens[l[t-1].token].content="",e.tokens[l[n.end+1].token].content="",t--))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){var o=n(5),l=void 0,u=void 0;o.on(t,"select",function(e,t){if(!l){var n=t.parentNode;(l=document.createElement("div")).className="CodeMirror-hint-information",n.appendChild(l),(u=document.createElement("div")).className="CodeMirror-hint-deprecation",n.appendChild(u);var o=void 0;n.addEventListener("DOMNodeRemoved",o=function(e){e.target===n&&(n.removeEventListener("DOMNodeRemoved",o),l=null,u=null,o=null)})}var s=e.description?a.render(e.description):"Self descriptive.",c=e.type?''+function e(t){if(t instanceof i.GraphQLNonNull)return e(t.ofType)+"!";if(t instanceof i.GraphQLList)return"["+e(t.ofType)+"]";return''+t.name+""}(e.type)+"":"";if(l.innerHTML='
'+("

"===s.slice(0,3)?"

"+c+s.slice(3):c+s)+"

",e.isDeprecated){var f=e.deprecationReason?a.render(e.deprecationReason):"";u.innerHTML='Deprecated'+f,u.style.display="block"}else u.style.display="none";r&&r(l)})};var r,i=n(8),o=n(76);var a=new((r=o)&&r.__esModule?r:{default:r}).default},function(e,t,n){!function(e){"use strict";var t="CodeMirror-hint",n="CodeMirror-hint-active";function r(e,t){this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length;var n=this;e.on("cursorActivity",this.activityFunc=function(){n.cursorActivity()})}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var r={hint:t};if(n)for(var i in n)r[i]=n[i];return e.showHint(r)},e.defineExtension("showHint",function(t){t=function(e,t,n){var r=e.options.hintOptions,i={};for(var o in c)i[o]=c[o];if(r)for(var o in r)void 0!==r[o]&&(i[o]=r[o]);if(n)for(var o in n)void 0!==n[o]&&(i[o]=n[o]);return i.hint.resolve&&(i.hint=i.hint.resolve(e,t)),i}(this,this.getCursor("start"),t);var n=this.listSelections();if(!(n.length>1)){if(this.somethingSelected()){if(!t.hint.supportsSelection)return;for(var i=0;if.clientHeight+1,M=u.getScrollInfo();if(L>0){var P=D.bottom-D.top,F=b.top-(b.bottom-D.top);if(F-P>0)f.style.top=(k=b.top-P-w)+"px",E=!1;else if(P>A){f.style.height=A-5+"px",f.style.top=(k=b.bottom-D.top-w)+"px";var R=u.getCursor();i.from.ch!=R.ch&&(b=u.cursorCoords(R),f.style.left=(T=b.left-_)+"px",D=f.getBoundingClientRect())}}var j,V=D.right-O;if(V>0&&(D.right-D.left>O&&(f.style.width=O-5+"px",V-=D.right-D.left-O),f.style.left=(T=b.left-V-_)+"px"),I)for(var U=f.firstChild;U;U=U.nextSibling)U.style.paddingRight=u.display.nativeBarWidth+"px";return u.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(n["Ctrl-P"]=function(){t.moveFocus(-1)},n["Ctrl-N"]=function(){t.moveFocus(1)});var r=e.options.customKeys,i=r?{}:n;function o(e,r){var o;o="string"!=typeof r?function(e){return r(e,t)}:n.hasOwnProperty(r)?n[r]:r,i[e]=o}if(r)for(var a in r)r.hasOwnProperty(a)&&o(a,r[a]);var l=e.options.extraKeys;if(l)for(var a in l)l.hasOwnProperty(a)&&o(a,l[a]);return i}(r,{moveFocus:function(e,t){o.changeActive(o.selectedHint+e,t)},setFocus:function(e){o.changeActive(e)},menuSize:function(){return o.screenAmount()},length:d.length,close:function(){r.close()},pick:function(){o.pick()},data:i})),r.options.closeOnUnfocus&&(u.on("blur",this.onBlur=function(){j=setTimeout(function(){r.close()},100)}),u.on("focus",this.onFocus=function(){clearTimeout(j)})),u.on("scroll",this.onScroll=function(){var e=u.getScrollInfo(),t=u.getWrapperElement().getBoundingClientRect(),n=k+M.top-e.top,i=n-(c.pageYOffset||(s.documentElement||s.body).scrollTop);if(E||(i+=f.offsetHeight),i<=t.top||i>=t.bottom)return r.close();f.style.top=n+"px",f.style.left=T+M.left-e.left+"px"}),e.on(f,"dblclick",function(e){var t=l(f,e.target||e.srcElement);t&&null!=t.hintId&&(o.changeActive(t.hintId),o.pick())}),e.on(f,"click",function(e){var t=l(f,e.target||e.srcElement);t&&null!=t.hintId&&(o.changeActive(t.hintId),r.options.completeOnSingleClick&&o.pick())}),e.on(f,"mousedown",function(){setTimeout(function(){u.focus()},20)}),e.signal(i,"select",d[this.selectedHint],f.childNodes[this.selectedHint]),!0}function s(e,t,n,r){if(e.async)e(t,r,n);else{var i=e(t,n);i&&i.then?i.then(r):r(i)}}r.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&e.signal(this.data,"close"),this.widget&&this.widget.close(),e.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var r=t.list[n];r.hint?r.hint(this.cm,t,r):this.cm.replaceRange(a(r),r.from||t.from,r.to||t.to,"complete"),e.signal(t,"pick",r),this.close()},cursorActivity:function(){this.debounce&&(o(this.debounce),this.debounce=0);var e=this.cm.getCursor(),t=this.cm.getLine(e.line);if(e.line!=this.startPos.line||t.length-e.ch!=this.startLen-this.startPos.ch||e.ch=this.data.list.length?t=r?this.data.list.length-1:0:t<0&&(t=r?0:this.data.list.length-1),this.selectedHint!=t){var i=this.hints.childNodes[this.selectedHint];i&&(i.className=i.className.replace(" "+n,"")),(i=this.hints.childNodes[this.selectedHint=t]).className+=" "+n,i.offsetTopthis.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=i.offsetTop+i.offsetHeight-this.hints.clientHeight+3),e.signal(this.data,"select",this.data.list[this.selectedHint],i)}},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}},e.registerHelper("hint","auto",{resolve:function(t,n){var r,i=t.getHelpers(n,"hint");if(i.length){var o=function(e,t,n){var r=function(e,t){if(!e.somethingSelected())return t;for(var n=[],r=0;r0?t(e):i(o+1)})}(0)};return o.async=!0,o.supportsSelection=!0,o}return(r=t.getHelper(t.getCursor(),"hintWords"))?function(t){return e.hint.fromList(t,{words:r})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper("hint","fromList",function(t,n){var r,i=t.getCursor(),o=t.getTokenAt(i),a=e.Pos(i.line,o.start),l=i;o.start,]/,closeOnUnfocus:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null};e.defineOption("hintOptions",null)}(n(5))},function(e,t,n){!function(e){var t={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=e.Pos;function r(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,function(t,n,a){a&&a!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),n&&(o(r(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(i))});var i={Backspace:function(t){var i=l(t);if(!i||t.getOption("disableInput"))return e.Pass;for(var o=r(i,"pairs"),a=t.listSelections(),s=0;s=0;s--){var f=a[s].head;t.replaceRange("",n(f.line,f.ch-1),n(f.line,f.ch+1),"+delete")}},Enter:function(t){var n=l(t),i=n&&r(n,"explode");if(!i||t.getOption("disableInput"))return e.Pass;for(var o=t.listSelections(),a=0;a1&&p.indexOf(i)>=0&&t.getRange(n(b.line,b.ch-2),b)==i+i){if(b.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(b.line,b.ch-2))))return e.Pass;g="addFour"}else if(d){var k=0==b.ch?" ":t.getRange(n(b.line,b.ch-1),b);if(e.isWordChar(T)||k==i||e.isWordChar(k))return e.Pass;g="both"}else{if(!m||!(0===T.length||/\s/.test(T)||f.indexOf(T)>-1))return e.Pass;g="both"}else g=d&&s(t,b)?"both":p.indexOf(i)>=0&&t.getRange(b,n(b.line,b.ch+3))==i+i+i?"skipThree":"skip";if(c){if(c!=g)return e.Pass}else c=g}var E=u%2?a.charAt(u-1):i,_=u%2?i:a.charAt(u+1);t.operation(function(){if("skip"==c)t.execCommand("goCharRight");else if("skipThree"==c)for(var r=0;r<3;r++)t.execCommand("goCharRight");else if("surround"==c){for(var i=t.getSelections(),r=0;r0,{anchor:new n(o.anchor.line,o.anchor.ch+(a?-1:1)),head:new n(o.head.line,o.head.ch+(a?1:-1))});t.setSelections(i)}else"both"==c?(t.replaceSelection(E+_,null),t.triggerElectric(E+_),t.execCommand("goCharLeft")):"addFour"==c&&(t.replaceSelection(E+E+E+E,"before"),t.execCommand("goCharRight"));var o,a})}(i,t)}}function l(e){var t=e.state.closeBrackets;if(!t||t.override)return t;var n=e.getModeAt(e.getCursor());return n.closeBrackets||t}function u(e,t){var r=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==r.length?r:null}function s(e,t){var r=e.getTokenAt(n(t.line,t.ch+1));return/\bstring/.test(r.type)&&r.start==t.ch&&(0==t.ch||!/\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+"`")}(n(5))},function(e,t,n){!function(e){"use strict";function t(){this.posFrom=this.posTo=this.lastQuery=this.query=null,this.overlay=null}function n(e){return e.state.search||(e.state.search=new t)}function r(e){return"string"==typeof e&&e==e.toLowerCase()}function i(e,t,n){return e.getSearchCursor(t,n,{caseFold:r(t),multiline:!0})}function o(e,t,n,r,i){e.openDialog?e.openDialog(t,i,{value:r,selectValueOnOpen:!0}):i(prompt(n,r))}function a(e){return e.replace(/\\(.)/g,function(e,t){return"n"==t?"\n":"r"==t?"\r":t})}function l(e){var t=e.match(/^\/(.*)\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],-1==t[2].indexOf("i")?"":"i")}catch(e){}else e=a(e);return("string"==typeof e?""==e:e.test(""))&&(e=/x^/),e}function u(e,t,n){t.queryText=n,t.query=l(n),e.removeOverlay(t.overlay,r(t.query)),t.overlay=function(e,t){return"string"==typeof e?e=new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),t?"gi":"g"):e.global||(e=new RegExp(e.source,e.ignoreCase?"gi":"g")),{token:function(t){e.lastIndex=t.pos;var n=e.exec(t.string);if(n&&n.index==t.pos)return t.pos+=n[0].length||1,"searching";n?t.pos=n.index:t.skipToEnd()}}}(t.query,r(t.query)),e.addOverlay(t.overlay),e.showMatchesOnScrollbar&&(t.annotate&&(t.annotate.clear(),t.annotate=null),t.annotate=e.showMatchesOnScrollbar(t.query,r(t.query)))}function s(t,r,i,a){var l=n(t);if(l.query)return c(t,r);var s=t.getSelection()||l.lastQuery;if(s instanceof RegExp&&"x^"==s.source&&(s=null),i&&t.openDialog){var d=null,h=function(n,r){e.e_stop(r),n&&(n!=l.queryText&&(u(t,l,n),l.posFrom=l.posTo=t.getCursor()),d&&(d.style.opacity=1),c(t,r.shiftKey,function(e,n){var r;n.line<3&&document.querySelector&&(r=t.display.wrapper.querySelector(".CodeMirror-dialog"))&&r.getBoundingClientRect().bottom-4>t.cursorCoords(n,"window").top&&((d=r).style.opacity=.4)}))};!function(e,t,n,r,i){e.openDialog(t,r,{value:n,selectValueOnOpen:!0,closeOnEnter:!1,onClose:function(){f(e)},onKeyDown:i})}(t,p(t),s,h,function(r,i){var o=e.keyName(r),a=t.getOption("extraKeys"),l=a&&a[o]||e.keyMap[t.getOption("keyMap")][o];"findNext"==l||"findPrev"==l||"findPersistentNext"==l||"findPersistentPrev"==l?(e.e_stop(r),u(t,n(t),i),t.execCommand(l)):"find"!=l&&"findPersistent"!=l||(e.e_stop(r),h(i,r))}),a&&s&&(u(t,l,s),c(t,r))}else o(t,p(t),"Search for:",s,function(e){e&&!l.query&&t.operation(function(){u(t,l,e),l.posFrom=l.posTo=t.getCursor(),c(t,r)})})}function c(t,r,o){t.operation(function(){var a=n(t),l=i(t,a.query,r?a.posFrom:a.posTo);(l.find(r)||(l=i(t,a.query,r?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0))).find(r))&&(t.setSelection(l.from(),l.to()),t.scrollIntoView({from:l.from(),to:l.to()},20),a.posFrom=l.from(),a.posTo=l.to(),o&&o(l.from(),l.to()))})}function f(e){e.operation(function(){var t=n(e);t.lastQuery=t.query,t.query&&(t.query=t.queryText=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))})}function p(e){return''+e.phrase("Search:")+' '+e.phrase("(Use /re/ syntax for regexp search)")+""}function d(e,t,n){e.operation(function(){for(var r=i(e,t);r.findNext();)if("string"!=typeof t){var o=e.getRange(r.from(),r.to()).match(t);r.replace(n.replace(/\$(\d)/g,function(e,t){return o[t]}))}else r.replace(n)})}function h(e,t){if(!e.getOption("readOnly")){var r=e.getSelection()||n(e).lastQuery,u=''+(t?e.phrase("Replace all:"):e.phrase("Replace:"))+"";o(e,u+function(e){return' '+e.phrase("(Use /re/ syntax for regexp search)")+""}(e),u,r,function(n){n&&(n=l(n),o(e,function(e){return''+e.phrase("With:")+' '}(e),e.phrase("Replace with:"),"",function(r){if(r=a(r),t)d(e,n,r);else{f(e);var o=i(e,n,e.getCursor("from")),l=function(){var t,a=o.from();!(t=o.findNext())&&(o=i(e,n),!(t=o.findNext())||a&&o.from().line==a.line&&o.from().ch==a.ch)||(e.setSelection(o.from(),o.to()),e.scrollIntoView({from:o.from(),to:o.to()}),function(e,t,n,r){e.openConfirm?e.openConfirm(t,r):confirm(n)&&r[0]()}(e,function(e){return''+e.phrase("Replace?")+" "}(e),e.phrase("Replace?"),[function(){u(t)},l,function(){d(e,n,r)}]))},u=function(e){o.replace("string"==typeof n?r:r.replace(/\$(\d)/g,function(t,n){return e[n]})),l()};l()}}))})}}e.commands.find=function(e){f(e),s(e)},e.commands.findPersistent=function(e){f(e),s(e,!1,!0)},e.commands.findPersistentNext=function(e){s(e,!1,!0,!0)},e.commands.findPersistentPrev=function(e){s(e,!0,!0,!0)},e.commands.findNext=s,e.commands.findPrev=function(e){s(e,!0)},e.commands.clearSearch=f,e.commands.replace=h,e.commands.replaceAll=function(e){h(e,!0)}}(n(5),n(37),n(38))},function(e,t,n){!function(e){"use strict";var t="CodeMirror-lint-markers";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function r(t,r,i){var o=function(t,n){var r=document.createElement("div");function i(t){if(!r.parentNode)return e.off(document,"mousemove",i);r.style.top=Math.max(0,t.clientY-r.offsetHeight-5)+"px",r.style.left=t.clientX+5+"px"}return r.className="CodeMirror-lint-tooltip",r.appendChild(n.cloneNode(!0)),document.body.appendChild(r),e.on(document,"mousemove",i),i(t),null!=r.style.opacity&&(r.style.opacity=1),r}(t,r);function a(){var t;e.off(i,"mouseout",a),o&&((t=o).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout(function(){n(t)},600)),o=null)}var l=setInterval(function(){if(o)for(var e=i;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){a();break}}if(!o)return clearInterval(l)},400);e.on(i,"mouseout",a)}function i(e,t,n){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var i=n.getBoundingClientRect(),o=(i.left+i.right)/2,a=(i.top+i.bottom)/2,u=e.findMarksAt(e.coordsChar({left:o,top:a},"client")),s=[],c=0;c1,r.options.tooltips))}}var v,g;i.onUpdateLinting&&i.onUpdateLinting(n,u,e)}function c(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout(function(){u(e)},t.options.delay||500))}e.defineOption("lint",!1,function(n,r,a){if(a&&a!=e.Init&&(o(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",c),e.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),r){for(var l=n.getOption("gutters"),s=!1,f=0;f1)for(var n=1;n=e.character:i.start.line<=e.line&&i.end.line>=e.line},this.start=t,this.end=n}return e.prototype.setStart=function(e,t){this.start=new o(e,t)},e.prototype.setEnd=function(e,t){this.end=new o(e,t)},e}(),o=t.Position=function(){function e(t,n){var i=this;r(this,e),this.lessThanOrEqualTo=function(e){return i.line + * @license MIT + */function i(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i=0;s--)if(c[s]!==f[s])return!1;for(s=c.length-1;s>=0;s--)if(l=c[s],!b(e[l],t[l],n,r))return!1;return!0}(e,t,n,r))}return n?e===t:e==t}function T(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function k(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function E(e,t,n,r){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),e&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,l=!e&&i&&!n;if((!e&&a.isError(i)&&o&&k(i,n)||l)&&g(i,n,"Got unwanted exception"+r),e&&i&&n&&!k(i,n)||!e&&i)throw i}p.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=m(v((t=this).actual),128)+" "+t.operator+" "+m(v(t.expected),128),this.generatedMessage=!0);var n=e.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,o=h(n),a=i.indexOf("\n"+o);if(a>=0){var l=i.indexOf("\n",a+1);i=i.substring(l+1)}this.stack=i}}},a.inherits(p.AssertionError,Error),p.fail=g,p.ok=y,p.equal=function(e,t,n){e!=t&&g(e,t,n,"==",p.equal)},p.notEqual=function(e,t,n){e==t&&g(e,t,n,"!=",p.notEqual)},p.deepEqual=function(e,t,n){b(e,t,!1)||g(e,t,n,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(e,t,n){b(e,t,!0)||g(e,t,n,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(e,t,n){b(e,t,!1)&&g(e,t,n,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&g(t,n,r,"notDeepStrictEqual",e)},p.strictEqual=function(e,t,n){e!==t&&g(e,t,n,"===",p.strictEqual)},p.notStrictEqual=function(e,t,n){e===t&&g(e,t,n,"!==",p.notStrictEqual)},p.throws=function(e,t,n){E(!0,e,t,n)},p.doesNotThrow=function(e,t,n){E(!1,e,t,n)},p.ifError=function(e){if(e)throw e},p.strict=r(function e(t,n){t||g(t,!0,n,"==",e)},p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var _=Object.keys||function(e){var t=[];for(var n in e)l.call(e,n)&&t.push(n);return t}}).call(this,n(42))},function(e,t,n){var r={".":30,"./":30,"./GraphQLLanguageService":86,"./GraphQLLanguageService.js":86,"./GraphQLLanguageService.js.flow":258,"./autocompleteUtils":54,"./autocompleteUtils.js":54,"./autocompleteUtils.js.flow":259,"./getAutocompleteSuggestions":39,"./getAutocompleteSuggestions.js":39,"./getAutocompleteSuggestions.js.flow":260,"./getDefinition":55,"./getDefinition.js":55,"./getDefinition.js.flow":261,"./getDiagnostics":57,"./getDiagnostics.js":57,"./getDiagnostics.js.flow":262,"./getHoverInformation":58,"./getHoverInformation.js":58,"./getHoverInformation.js.flow":263,"./getOutline":85,"./getOutline.js":85,"./getOutline.js.flow":264,"./index":30,"./index.js":30,"./index.js.flow":265};function i(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=139},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n={schema:e,type:null,parentType:null,inputType:null,directiveDef:null,fieldDef:null,argDef:null,argDefs:null,objectFieldDefs:null};return(0,l.default)(t,function(t){switch(t.kind){case"Query":case"ShortQuery":n.type=e.getQueryType();break;case"Mutation":n.type=e.getMutationType();break;case"Subscription":n.type=e.getSubscriptionType();break;case"InlineFragment":case"FragmentDefinition":t.type&&(n.type=e.getType(t.type));break;case"Field":case"AliasedField":n.fieldDef=n.type&&t.name?u(e,n.parentType,t.name):null,n.type=n.fieldDef&&n.fieldDef.type;break;case"SelectionSet":n.parentType=(0,i.getNamedType)(n.type);break;case"Directive":n.directiveDef=t.name&&e.getDirective(t.name);break;case"Arguments":var r="Field"===t.prevState.kind?n.fieldDef:"Directive"===t.prevState.kind?n.directiveDef:"AliasedField"===t.prevState.kind?t.prevState.name&&u(e,n.parentType,t.prevState.name):null;n.argDefs=r&&r.args;break;case"Argument":if(n.argDef=null,n.argDefs)for(var o=0;o=0;i--)t(n[i])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFieldReference=function(e){return{kind:"Field",schema:e.schema,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getDirectiveReference=function(e){return{kind:"Directive",schema:e.schema,directive:e.directiveDef}},t.getArgumentReference=function(e){return e.directiveDef?{kind:"Argument",schema:e.schema,argument:e.argDef,directive:e.directiveDef}:{kind:"Argument",schema:e.schema,argument:e.argDef,field:e.fieldDef,type:i(e.fieldDef)?null:e.parentType}},t.getEnumValueReference=function(e){return{kind:"EnumValue",value:e.enumValue,type:(0,r.getNamedType)(e.inputType)}},t.getTypeReference=function(e,t){return{kind:"Type",schema:e.schema,type:t||e.type}};var r=n(8);function i(e){return"__"===e.name.slice(0,2)}},function(e,t,n){"use strict";var r,i=n(5),o=(r=i)&&r.__esModule?r:{default:r};o.default.defineOption("info",!1,function(e,t,n){if(n&&n!==o.default.Init){var r=e.state.info.onMouseOver;o.default.off(e.getWrapperElement(),"mouseover",r),clearTimeout(e.state.info.hoverTimeout),delete e.state.info}if(t){var i=e.state.info=function(e){return{options:e instanceof Function?{render:e}:!0===e?{}:e}}(t);i.onMouseOver=function(e,t){var n=e.state.info,r=t.target||t.srcElement;if("SPAN"!==r.nodeName||void 0!==n.hoverTimeout)return;var i=r.getBoundingClientRect(),a=function(e){var t=e.state.info.options;return t&&t.hoverTime||500}(e);n.hoverTimeout=setTimeout(s,a);var l=function(){clearTimeout(n.hoverTimeout),n.hoverTimeout=setTimeout(s,a)},u=function t(){o.default.off(document,"mousemove",l),o.default.off(e.getWrapperElement(),"mouseout",t),clearTimeout(n.hoverTimeout),n.hoverTimeout=void 0},s=function(){o.default.off(document,"mousemove",l),o.default.off(e.getWrapperElement(),"mouseout",u),n.hoverTimeout=void 0,function(e,t){var n=e.coordsChar({left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}),r=e.state.info.options,i=r.render||e.getHelper(n,"info");if(i){var a=e.getTokenAt(n,!0);if(a){var l=i(a,r,e,n);l&&function(e,t,n){var r=document.createElement("div");r.className="CodeMirror-info",r.appendChild(n),document.body.appendChild(r);var i=r.getBoundingClientRect(),a=r.currentStyle||window.getComputedStyle(r),l=i.right-i.left+parseFloat(a.marginLeft)+parseFloat(a.marginRight),u=i.bottom-i.top+parseFloat(a.marginTop)+parseFloat(a.marginBottom),s=t.bottom;u>window.innerHeight-t.bottom-15&&t.top>window.innerHeight-t.bottom&&(s=t.top-u);s<0&&(s=t.bottom);var c=Math.max(0,window.innerWidth-l-15);c>t.left&&(c=t.left);r.style.opacity=1,r.style.top=s+"px",r.style.left=c+"px";var f=void 0,p=function(){clearTimeout(f)},d=function(){clearTimeout(f),f=setTimeout(h,200)},h=function(){o.default.off(r,"mouseover",p),o.default.off(r,"mouseout",d),o.default.off(e.getWrapperElement(),"mouseout",d),r.style.opacity?(r.style.opacity=0,setTimeout(function(){r.parentNode&&r.parentNode.removeChild(r)},600)):r.parentNode&&r.parentNode.removeChild(r)};o.default.on(r,"mouseover",p),o.default.on(r,"mouseout",d),o.default.on(e.getWrapperElement(),"mouseout",d)}(e,t,l)}}}(e,i)};o.default.on(document,"mousemove",l),o.default.on(e.getWrapperElement(),"mouseout",u)}.bind(null,e),o.default.on(e.getWrapperElement(),"mouseover",i.onMouseOver)}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=l;var r=a(n(11)),i=a(n(12)),o=n(8);function a(e){return e&&e.__esModule?e:{default:e}}function l(e){var t=e.field,n=t.type,i=t.defaultValue;return void 0!==i?r.default.createElement("span",null," = ",r.default.createElement("span",{className:"arg-default-value"},(0,o.print)((0,o.astFromValue)(i,n)))):null}l.propTypes={field:i.default.object.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=void 0;return function(){var r=this,i=arguments;clearTimeout(n),n=setTimeout(function(){n=null,t.apply(r,i)},e)}}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(o).concat([i]).join("\n")}var a;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i=0&&c.splice(t,1)}function v(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return g(t,e.attrs),h(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,i,o;if(t.transform&&e.css){if(!(o="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=o}if(t.singleton){var a=s++;n=u||(u=v(t)),r=k.bind(null,n,a,!1),i=k.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,i=n.sourceMap,o=void 0===t.convertToAbsoluteUrls&&i;(t.convertToAbsoluteUrls||o)&&(r=f(r));i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var a=new Blob([r],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(a),l&&URL.revokeObjectURL(l)}.bind(null,n,t),i=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return p(n,t),function(e){for(var r=[],i=0;i=0&&(t[decodeURIComponent(e.slice(0,n))]=decodeURIComponent(e.slice(n+1)))}),t.variables)try{t.variables=JSON.stringify(JSON.parse(t.variables),null,2)}catch(e){}return t}(window.location),n=o.useState(t.query),r=n[0],i=n[1],a=o.useState(null),f=a[0],p=a[1],d=o.useState(!0),h=d[0],m=d[1];function v(e){i(e),t.query=e,y()}function g(){m(!h)}function y(){var e="?"+Object.keys(t).filter(function(e){return Boolean(t[e])}).map(function(e){return encodeURIComponent(e)+"="+encodeURIComponent(t[e])}).join("&");history.replaceState(null,null,e)}return o.useEffect(function(){c({query:s.getIntrospectionQuery()}).then(function(e){p(s.buildClientSchema(e.data))})},[]),o.default.createElement("div",{className:"graphiql-container"},o.default.createElement(u.default,{schema:f,query:r,onEdit:v,onRunOperation:function(t){return e.handleRunQuery(t)},explorerIsOpen:h,onToggleExplorer:g}),o.default.createElement(l.default,{ref:function(t){return e=t},fetcher:c,schema:f,variables:t.variables,operationName:t.operationName,onEditVariables:function(e){t.variables=e,y()},onEditOperationName:function(e){t.operationName=e,y()},query:r,onEditQuery:v},o.default.createElement(l.default.Toolbar,null,o.default.createElement(l.default.Button,{onClick:function(){return e.handlePrettifyQuery()},label:"Prettify",title:"Prettify Query (Shift-Ctrl-P)"}),o.default.createElement(l.default.Button,{onClick:function(){return e.handleToggleHistory()},label:"History",title:"Show History"}),o.default.createElement(l.default.Button,{onClick:g,label:"Explorer",title:"Toggle Explorer"}))))},null),document.getElementById("graphiql"))},function(e,t,n){"use strict"; +/** @license React v16.8.6 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var r=n(59),i="function"==typeof Symbol&&Symbol.for,o=i?Symbol.for("react.element"):60103,a=i?Symbol.for("react.portal"):60106,l=i?Symbol.for("react.fragment"):60107,u=i?Symbol.for("react.strict_mode"):60108,s=i?Symbol.for("react.profiler"):60114,c=i?Symbol.for("react.provider"):60109,f=i?Symbol.for("react.context"):60110,p=i?Symbol.for("react.concurrent_mode"):60111,d=i?Symbol.for("react.forward_ref"):60112,h=i?Symbol.for("react.suspense"):60113,m=i?Symbol.for("react.memo"):60115,v=i?Symbol.for("react.lazy"):60116,g="function"==typeof Symbol&&Symbol.iterator;function y(e){for(var t=arguments.length-1,n="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=0;rL.length&&L.push(e)}function P(e,t,n){return null==e?0:function e(t,n,r,i){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var u=!1;if(null===t)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case o:case a:u=!0}}if(u)return r(i,t,""===n?"."+F(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;sthis.eventPool.length&&this.eventPool.push(e)}function fe(e){e.eventPool=[],e.getPooled=se,e.release=ce}i(ue.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:le,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=le,this._dispatchInstances=this._dispatchListeners=null}}),ue.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},ue.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,fe(n),n},fe(ue);var pe=ue.extend({data:null}),de=ue.extend({data:null}),he=[9,13,27,32],me=z&&"CompositionEvent"in window,ve=null;z&&"documentMode"in document&&(ve=document.documentMode);var ge=z&&"TextEvent"in window&&!ve,ye=z&&(!me||ve&&8=ve),be=String.fromCharCode(32),Te={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},ke=!1;function Ee(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function _e(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var we=!1;var xe={eventTypes:Te,extractEvents:function(e,t,n,r){var i=void 0,o=void 0;if(me)e:{switch(e){case"compositionstart":i=Te.compositionStart;break e;case"compositionend":i=Te.compositionEnd;break e;case"compositionupdate":i=Te.compositionUpdate;break e}i=void 0}else we?Ee(e,n)&&(i=Te.compositionEnd):"keydown"===e&&229===n.keyCode&&(i=Te.compositionStart);return i?(ye&&"ko"!==n.locale&&(we||i!==Te.compositionStart?i===Te.compositionEnd&&we&&(o=oe()):(re="value"in(ne=r)?ne.value:ne.textContent,we=!0)),i=pe.getPooled(i,t,n,r),o?i.data=o:null!==(o=_e(n))&&(i.data=o),Q(i),o=i):o=null,(e=ge?function(e,t){switch(e){case"compositionend":return _e(t);case"keypress":return 32!==t.which?null:(ke=!0,be);case"textInput":return(e=t.data)===be&&ke?null:e;default:return null}}(e,n):function(e,t){if(we)return"compositionend"===e||!me&&Ee(e,t)?(e=oe(),ie=re=ne=null,we=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1