diff options
author | Bernard Normier <bernard@zeroc.com> | 2019-10-29 14:11:27 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2021-02-01 16:46:20 -0500 |
commit | 9f22d436c536c18df0e3c434162048490c80191f (patch) | |
tree | da5257cb9435bcdbe3614e4f758e36244cac5ed0 | |
parent | Fixed doxygen warnings and updated configs. (diff) | |
download | ice-9f22d436c536c18df0e3c434162048490c80191f.tar.bz2 ice-9f22d436c536c18df0e3c434162048490c80191f.tar.xz ice-9f22d436c536c18df0e3c434162048490c80191f.zip |
Remove IcePatch2 (#602)
Removed IcePatch2 and the corresponding distrib and patching features in IceGrid and IceGridGUI.
149 files changed, 9842 insertions, 11451 deletions
diff --git a/config/PropertyNames.xml b/config/PropertyNames.xml index d494f75490c..1a02d2e9ebf 100644 --- a/config/PropertyNames.xml +++ b/config/PropertyNames.xml @@ -548,20 +548,6 @@ generated from the section label. <property name="Registry.UserAccounts" /> </section> - <section name="IcePatch2"> - <property class="objectadapter" /> - <property name="Directory" /> - <property name="InstanceName" /> - </section> - - <section name="IcePatch2Client"> - <property name="ChunkSize" /> - <property name="Directory" /> - <property name="Proxy" /> - <property name="Remove" /> - <property name="Thorough" /> - </section> - <section name="IceSSL"> <property name="Alias" /> <property name="CAs"/> diff --git a/cpp/Makefile b/cpp/Makefile index efe16be9d3c..9148670ffba 100644 --- a/cpp/Makefile +++ b/cpp/Makefile @@ -13,7 +13,7 @@ include $(lang_srcdir)/config/Make.rules # that other projects might depend on so it's important to parse them first for the # generated headers variable to be defined when we load other projects. # -load_first = Ice IceSSL IceBox IcePatch2Lib Glacier2Lib IceGridLib IceStormLib +load_first = Ice IceSSL IceBox Glacier2Lib IceGridLib IceStormLib # # Create projects for all the Slice translators from src/slice2* and load source projects. diff --git a/cpp/config/Make.rules b/cpp/config/Make.rules index 8eab4fd7c07..9f6a066f92e 100644 --- a/cpp/config/Make.rules +++ b/cpp/config/Make.rules @@ -30,8 +30,7 @@ coreandstub_components = IceUtil \ Glacier2 \ IceStorm \ IceGrid \ - IceBox \ - IcePatch2 + IceBox # Add the Bluetooth transport if Bluetooth system libraries are available ifneq ($(IceBT_system_libs),) @@ -74,8 +73,7 @@ cpp11_projects = test/Common \ test/Glacier2/sessionHelper \ test/IceGrid/simple -cpp11_excludes = IcePatch2 \ - test/Ice/gc +cpp11_excludes = test/Ice/gc # # If building on a Linux multilib platform, we restrict what we build for diff --git a/cpp/doxygen/config-cpp11 b/cpp/doxygen/config-cpp11 index 7fa3d7a4c9d..da95d4ba625 100644 --- a/cpp/doxygen/config-cpp11 +++ b/cpp/doxygen/config-cpp11 @@ -933,7 +933,6 @@ EXCLUDE_PATTERNS = EXCLUDE_SYMBOLS = IceInternal \ IceUtilInternal \ Glacier2Internal \ - IcePatch2 \ std # The EXAMPLE_PATH tag can be used to specify one or more files or directories diff --git a/cpp/doxygen/config-cpp98 b/cpp/doxygen/config-cpp98 index 618a8114fa9..79169654b8d 100644 --- a/cpp/doxygen/config-cpp98 +++ b/cpp/doxygen/config-cpp98 @@ -932,8 +932,7 @@ EXCLUDE_PATTERNS = EXCLUDE_SYMBOLS = IceInternal \ IceUtilInternal \ - Glacier2Internal \ - IcePatch2 + Glacier2Internal # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include diff --git a/cpp/include/IcePatch2/ClientUtil.h b/cpp/include/IcePatch2/ClientUtil.h deleted file mode 100644 index c733e867d08..00000000000 --- a/cpp/include/IcePatch2/ClientUtil.h +++ /dev/null @@ -1,143 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#ifndef ICE_PATCH2_CLIENT_UTIL_H -#define ICE_PATCH2_CLIENT_UTIL_H - -#include <Ice/Ice.h> -#include <IceUtil/Thread.h> -#include <IcePatch2/FileServer.h> - -#include <stdio.h> - -namespace IcePatch2 -{ - -// -// The IcePatch2::PatcherFeedback class is implemented by IcePatch2 clients to -// allow the user to interact with the patching and report progress -// on the patching. -// -class ICEPATCH2_API PatcherFeedback : public IceUtil::Shared -{ -public: - - virtual ~PatcherFeedback(); - - // - // The summary file can't be loaded for the given reason. This - // should return true to accept doing a thorough patch, false - // otherwise. - // - virtual bool noFileSummary(const std::string& reason) = 0; - - // - // If no summary file is found and/or a thorough patch was - // specified, the following checksum methods are called to report - // the progression of the checksum computation for the local data - // directory. These methods should return false to interrupt the - // checksum, false otherwise. - // - virtual bool checksumStart() = 0; - virtual bool checksumProgress(const std::string&) = 0; - virtual bool checksumEnd() = 0; - - // - // These methods are called to report on the progression of the - // computation of the list of files to patch. This involves - // comparing the local checksums with the server checksums. These - // methods should return false to interrupt the computation, false - // otherwise. - // - virtual bool fileListStart() = 0; - virtual bool fileListProgress(Ice::Int) = 0; - virtual bool fileListEnd() = 0; - - // - // These methods are called to report on the progression of the - // file patching. Files to be updated are downloaded from the - // server, uncompressed and written to the local data directory. - // These methods should return false to interrupt the patching, - // false otherwise. - // - virtual bool patchStart(const std::string&, Ice::Long, Ice::Long, Ice::Long) = 0; - virtual bool patchProgress(Ice::Long, Ice::Long, Ice::Long, Ice::Long) = 0; - virtual bool patchEnd() = 0; -}; -typedef IceUtil::Handle<PatcherFeedback> PatcherFeedbackPtr; - -// -// IcePatch2 clients instantiate the IcePatch2::Patcher class to patch -// a given local data directory. -// -class ICEPATCH2_API Patcher : public IceUtil::Shared -{ -public: - - virtual ~Patcher(); - - // - // Prepare the patching. This involves creating the local checksum - // files if no summary file exists or if a thorough patch was - // specified. This method also computes the list of files to be - // patched. This should be called once before any call to patch(). - // - // Returns true if the patch preparation was successful, false if - // preparation failed (for example, because a thorough patch is - // necessary, but the user chose not to patch thorough), or raises - // std::string as an exception if there was an error. - // - virtual bool prepare() = 0; - - // - // Patch the files from the given path. - // - // Returns true if patching was successful, false if patching was - // aborted by the user, or raises std::string as an exception if - // there was an error. - // - virtual bool patch(const std::string&) = 0; - - // - // Finish the patching. This needs to be called once when the - // patching is finished to write the local checksum files to the - // disk. - // - virtual void finish() = 0; -}; -typedef IceUtil::Handle<Patcher> PatcherPtr; - -// -// IcePatch2 clients instantiate the IcePatch2::Patcher class -// using the patcher factory. -// -class ICEPATCH2_API PatcherFactory : public IceUtil::noncopyable -{ -public: - - // - // Create a patcher using configuration properties. The following - // properties are used to configure the patcher: - // - // - IcePatch2.InstanceName - // - IcePatch2.Endpoints - // - IcePatch2.Directory - // - IcePatch2.Thorough - // - IcePatch2.ChunkSize - // - IcePatch2.Remove - // - // See the Ice manual for more information on these properties. - // - static PatcherPtr create(const Ice::CommunicatorPtr&, const PatcherFeedbackPtr&); - - // - // Create a patcher with the given parameters. These parameters - // are equivalent to the configuration properties described above. - // - static PatcherPtr create(const FileServerPrx&, const PatcherFeedbackPtr&, const std::string&, bool, Ice::Int, Ice::Int); -}; - -} - -#endif diff --git a/cpp/include/IcePatch2/Config.h b/cpp/include/IcePatch2/Config.h deleted file mode 100644 index f123e2d246b..00000000000 --- a/cpp/include/IcePatch2/Config.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#ifndef ICE_PATCH2_CONFIG_H -#define ICE_PATCH2_CONFIG_H - -// -// Automatically link with IcePatch2[D|++11|++11D].lib -// - -#if !defined(ICE_BUILDING_ICE_PATCH2) && defined(ICEPATCH2_API_EXPORTS) -# define ICE_BUILDING_ICE_PATCH2 -#endif - -#if defined(_MSC_VER) && !defined(ICE_BUILDING_ICE_PATCH2) -# pragma comment(lib, ICE_LIBNAME("IcePatch2")) -#endif - -#endif diff --git a/cpp/include/IcePatch2/IcePatch2.h b/cpp/include/IcePatch2/IcePatch2.h deleted file mode 100644 index 1b19ebf0482..00000000000 --- a/cpp/include/IcePatch2/IcePatch2.h +++ /dev/null @@ -1,8 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IcePatch2/Config.h> -#include <IcePatch2/FileInfo.h> -#include <IcePatch2/FileServer.h> -#include <IcePatch2/ClientUtil.h> diff --git a/cpp/msbuild/ice.nuget.targets b/cpp/msbuild/ice.nuget.targets index 9c33a89783e..7fd6b65bfd6 100644 --- a/cpp/msbuild/ice.nuget.targets +++ b/cpp/msbuild/ice.nuget.targets @@ -31,7 +31,6 @@ $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icebridge.exe; $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icegridadmin.exe; $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icegriddb.exe; - $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icepatch2*.exe; $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\iceserviceinstall.exe; $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icestormadmin.exe; $(IceSrcRootDir)bin\$(Platform)\$(Configuration)\icestormdb.exe" diff --git a/cpp/msbuild/ice.test.sln b/cpp/msbuild/ice.test.sln index 78f55a78f22..eab2f85fdcf 100644 --- a/cpp/msbuild/ice.test.sln +++ b/cpp/msbuild/ice.test.sln @@ -977,18 +977,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testservice", "..\test\IceG {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "distribution", "distribution", "{90A744AB-1E4B-476D-B0A4-86F52C9D9E18}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client", "..\test\IceGrid\distribution\msbuild\client\client.vcxproj", "{DFDF7BA0-4F61-4060-B919-7C8B2D40172E}" - ProjectSection(ProjectDependencies) = postProject - {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "server", "..\test\IceGrid\distribution\msbuild\server\server.vcxproj", "{E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}" - ProjectSection(ProjectDependencies) = postProject - {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} - EndProjectSection -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "noRestartUpdate", "noRestartUpdate", "{77DE066E-2D87-458D-9DCE-D985FEE24B27}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client", "..\test\IceGrid\noRestartUpdate\msbuild\client\client.vcxproj", "{D7F18F42-AD57-4F5C-B66E-FA0061BEB54F}" @@ -3611,30 +3599,6 @@ Global {C3955110-CB5E-484A-938C-D7861E08D43B}.Release|Win32.Build.0 = Release|Win32 {C3955110-CB5E-484A-938C-D7861E08D43B}.Release|x64.ActiveCfg = Release|x64 {C3955110-CB5E-484A-938C-D7861E08D43B}.Release|x64.Build.0 = Release|x64 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Cpp11-Debug|Win32.ActiveCfg = Cpp11-Debug|Win32 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Cpp11-Debug|x64.ActiveCfg = Cpp11-Debug|x64 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Cpp11-Release|Win32.ActiveCfg = Cpp11-Release|Win32 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Cpp11-Release|x64.ActiveCfg = Cpp11-Release|x64 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Debug|Win32.ActiveCfg = Debug|Win32 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Debug|Win32.Build.0 = Debug|Win32 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Debug|x64.ActiveCfg = Debug|x64 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Debug|x64.Build.0 = Debug|x64 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Release|Win32.ActiveCfg = Release|Win32 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Release|Win32.Build.0 = Release|Win32 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Release|x64.ActiveCfg = Release|x64 - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E}.Release|x64.Build.0 = Release|x64 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Cpp11-Debug|Win32.ActiveCfg = Cpp11-Debug|Win32 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Cpp11-Debug|x64.ActiveCfg = Cpp11-Debug|x64 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Cpp11-Release|Win32.ActiveCfg = Cpp11-Release|Win32 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Cpp11-Release|x64.ActiveCfg = Cpp11-Release|x64 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Debug|Win32.ActiveCfg = Debug|Win32 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Debug|Win32.Build.0 = Debug|Win32 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Debug|x64.ActiveCfg = Debug|x64 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Debug|x64.Build.0 = Debug|x64 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Release|Win32.ActiveCfg = Release|Win32 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Release|Win32.Build.0 = Release|Win32 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Release|x64.ActiveCfg = Release|x64 - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}.Release|x64.Build.0 = Release|x64 {D7F18F42-AD57-4F5C-B66E-FA0061BEB54F}.Cpp11-Debug|Win32.ActiveCfg = Cpp11-Debug|Win32 {D7F18F42-AD57-4F5C-B66E-FA0061BEB54F}.Cpp11-Debug|x64.ActiveCfg = Cpp11-Debug|x64 {D7F18F42-AD57-4F5C-B66E-FA0061BEB54F}.Cpp11-Release|Win32.ActiveCfg = Cpp11-Release|Win32 @@ -4401,9 +4365,6 @@ Global {3DF7D787-3F9C-48E9-BECE-B9E7030E01A7} = {174862DA-77CE-4212-BA3B-20656831E05C} {727351F3-D1CC-42C5-9AA2-5840AD3F7A1A} = {174862DA-77CE-4212-BA3B-20656831E05C} {C3955110-CB5E-484A-938C-D7861E08D43B} = {174862DA-77CE-4212-BA3B-20656831E05C} - {90A744AB-1E4B-476D-B0A4-86F52C9D9E18} = {7E2B4300-8E60-46AB-8F27-61333D073280} - {DFDF7BA0-4F61-4060-B919-7C8B2D40172E} = {90A744AB-1E4B-476D-B0A4-86F52C9D9E18} - {E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C} = {90A744AB-1E4B-476D-B0A4-86F52C9D9E18} {77DE066E-2D87-458D-9DCE-D985FEE24B27} = {7E2B4300-8E60-46AB-8F27-61333D073280} {D7F18F42-AD57-4F5C-B66E-FA0061BEB54F} = {77DE066E-2D87-458D-9DCE-D985FEE24B27} {8680F272-78C1-41E2-AE78-10E37BFC6F53} = {77DE066E-2D87-458D-9DCE-D985FEE24B27} diff --git a/cpp/msbuild/ice.v100.sln b/cpp/msbuild/ice.v100.sln index 49dff95b550..d0700e89537 100644 --- a/cpp/msbuild/ice.v100.sln +++ b/cpp/msbuild/ice.v100.sln @@ -99,11 +99,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icelocatordiscovery", "..\s {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2", "..\src\IcePatch2Lib\msbuild\icepatch2.vcxproj", "{994ADD25-20A0-4715-A3EC-9F86AFD481D0}" - ProjectSection(ProjectDependencies) = postProject - {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slice2matlab", "..\src\slice2matlab\msbuild\slice2matlab.vcxproj", "{FBDCD48E-57DB-4CC1-A9D6-7D9F1C97D0E1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slice2swift", "..\src\slice2swift\msbuild\slice2swift.vcxproj", "{8D237BBB-506A-4CC1-8C81-BDC2787DA88B}" @@ -284,14 +279,6 @@ Global {5A8CEAB6-9F57-495C-B554-F93F842A0A28}.Release|Win32.Build.0 = Release|Win32 {5A8CEAB6-9F57-495C-B554-F93F842A0A28}.Release|x64.ActiveCfg = Release|x64 {5A8CEAB6-9F57-495C-B554-F93F842A0A28}.Release|x64.Build.0 = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.Build.0 = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.ActiveCfg = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.Build.0 = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.ActiveCfg = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.Build.0 = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.ActiveCfg = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.Build.0 = Release|x64 {FBDCD48E-57DB-4CC1-A9D6-7D9F1C97D0E1}.Debug|Win32.ActiveCfg = Debug|Win32 {FBDCD48E-57DB-4CC1-A9D6-7D9F1C97D0E1}.Debug|Win32.Build.0 = Debug|Win32 {FBDCD48E-57DB-4CC1-A9D6-7D9F1C97D0E1}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/cpp/msbuild/ice.v120.sln b/cpp/msbuild/ice.v120.sln index 58c72c41d09..99f9c65f7a0 100644 --- a/cpp/msbuild/ice.v120.sln +++ b/cpp/msbuild/ice.v120.sln @@ -71,11 +71,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestorm", "..\src\IceStorm {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2", "..\src\IcePatch2Lib\msbuild\icepatch2.vcxproj", "{994ADD25-20A0-4715-A3EC-9F86AFD481D0}" - ProjectSection(ProjectDependencies) = postProject - {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegrid", "..\src\IceGridLib\msbuild\icegrid\icegrid.vcxproj", "{18BF13D3-85D3-43A5-8C96-E52EB0672F72}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -108,21 +103,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceboxadmin", "..\src\IceBo {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2server", "..\src\IcePatch2\msbuild\icepatch2server\icepatch2server.vcxproj", "{7E1D6372-D417-4143-A7AF-BE3E77550238}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2client", "..\src\IcePatch2\msbuild\icepatch2client\icepatch2client.vcxproj", "{43D54B43-526E-40CE-9945-81420C54A415}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2calc", "..\src\IcePatch2\msbuild\icepatch2calc\icepatch2calc.vcxproj", "{8BCB4793-C004-459D-9605-272470D53A40}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceserviceinstall", "..\src\iceserviceinstall\msbuild\iceserviceinstall.vcxproj", "{0E22B627-F1A6-4771-89DE-9E45FD51F124}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -131,7 +111,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormdb", "..\src\IceStorm\msbuild\icestormdb\icestormdb.vcxproj", "{F0B74B00-F252-4D38-A352-ED379CB196E9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} @@ -158,7 +137,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormadmin", "..\src\Ice EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridadmin", "..\src\IceGrid\msbuild\icegridadmin\icegridadmin.vcxproj", "{1F4CA1BE-B405-400F-912E-F0CC7E369D59}" ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} {5A8CEAB6-9F57-495C-B554-F93F842A0A28} = {5A8CEAB6-9F57-495C-B554-F93F842A0A28} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {18BF13D3-85D3-43A5-8C96-E52EB0672F72} @@ -168,7 +146,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridnode", "..\src\IceGrid\msbuild\icegridnode\icegridnode.vcxproj", "{48EF9416-336F-4FA5-A376-FDFB7726ADBA}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} @@ -186,7 +163,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridregistry", "..\src\IceGrid\msbuild\icegridregistry\icegridregistry.vcxproj", "{64490115-464B-4DC3-B7C6-D0AF1B68B6F9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} @@ -355,14 +331,6 @@ Global {E6864F0D-B2ED-406A-B98C-F3668A680005}.Release|Win32.Build.0 = Release|Win32 {E6864F0D-B2ED-406A-B98C-F3668A680005}.Release|x64.ActiveCfg = Release|x64 {E6864F0D-B2ED-406A-B98C-F3668A680005}.Release|x64.Build.0 = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.Build.0 = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.ActiveCfg = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.Build.0 = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.ActiveCfg = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.Build.0 = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.ActiveCfg = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.Build.0 = Release|x64 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.ActiveCfg = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.Build.0 = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|x64.ActiveCfg = Debug|x64 @@ -411,30 +379,6 @@ Global {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|Win32.Build.0 = Release|Win32 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.ActiveCfg = Release|x64 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.Build.0 = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.Build.0 = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.ActiveCfg = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.Build.0 = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.ActiveCfg = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.Build.0 = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.ActiveCfg = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.Build.0 = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.ActiveCfg = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.Build.0 = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.ActiveCfg = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.Build.0 = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.ActiveCfg = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.Build.0 = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.ActiveCfg = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.Build.0 = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.ActiveCfg = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.Build.0 = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.ActiveCfg = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.Build.0 = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.ActiveCfg = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.Build.0 = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.ActiveCfg = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.Build.0 = Release|x64 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.ActiveCfg = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.Build.0 = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|x64.ActiveCfg = Debug|x64 diff --git a/cpp/msbuild/ice.v140.sln b/cpp/msbuild/ice.v140.sln index 74c2a8a5e39..5cee69dbc8c 100644 --- a/cpp/msbuild/ice.v140.sln +++ b/cpp/msbuild/ice.v140.sln @@ -86,11 +86,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestorm++11", "..\src\IceS {3AB9772C-6113-4F1C-90FB-5368E7486C11} = {3AB9772C-6113-4F1C-90FB-5368E7486C11} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2", "..\src\IcePatch2Lib\msbuild\icepatch2.vcxproj", "{994ADD25-20A0-4715-A3EC-9F86AFD481D0}" - ProjectSection(ProjectDependencies) = postProject - {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegrid", "..\src\IceGridLib\msbuild\icegrid\icegrid.vcxproj", "{18BF13D3-85D3-43A5-8C96-E52EB0672F72}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -149,21 +144,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceboxadmin", "..\src\IceBo {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2server", "..\src\IcePatch2\msbuild\icepatch2server\icepatch2server.vcxproj", "{7E1D6372-D417-4143-A7AF-BE3E77550238}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2client", "..\src\IcePatch2\msbuild\icepatch2client\icepatch2client.vcxproj", "{43D54B43-526E-40CE-9945-81420C54A415}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2calc", "..\src\IcePatch2\msbuild\icepatch2calc\icepatch2calc.vcxproj", "{8BCB4793-C004-459D-9605-272470D53A40}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceserviceinstall", "..\src\iceserviceinstall\msbuild\iceserviceinstall.vcxproj", "{0E22B627-F1A6-4771-89DE-9E45FD51F124}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -172,7 +152,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormdb", "..\src\IceStorm\msbuild\icestormdb\icestormdb.vcxproj", "{F0B74B00-F252-4D38-A352-ED379CB196E9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} @@ -199,7 +178,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormadmin", "..\src\Ice EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridadmin", "..\src\IceGrid\msbuild\icegridadmin\icegridadmin.vcxproj", "{1F4CA1BE-B405-400F-912E-F0CC7E369D59}" ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} {5A8CEAB6-9F57-495C-B554-F93F842A0A28} = {5A8CEAB6-9F57-495C-B554-F93F842A0A28} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {18BF13D3-85D3-43A5-8C96-E52EB0672F72} @@ -209,7 +187,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridnode", "..\src\IceGrid\msbuild\icegridnode\icegridnode.vcxproj", "{48EF9416-336F-4FA5-A376-FDFB7726ADBA}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} @@ -227,7 +204,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridregistry", "..\src\IceGrid\msbuild\icegridregistry\icegridregistry.vcxproj", "{64490115-464B-4DC3-B7C6-D0AF1B68B6F9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} @@ -433,14 +409,6 @@ Global {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|Win32.Build.0 = Release|Win32 {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|x64.ActiveCfg = Release|x64 {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|x64.Build.0 = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.Build.0 = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.ActiveCfg = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.Build.0 = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.ActiveCfg = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.Build.0 = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.ActiveCfg = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.Build.0 = Release|x64 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.ActiveCfg = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.Build.0 = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|x64.ActiveCfg = Debug|x64 @@ -529,30 +497,6 @@ Global {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|Win32.Build.0 = Release|Win32 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.ActiveCfg = Release|x64 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.Build.0 = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.Build.0 = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.ActiveCfg = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.Build.0 = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.ActiveCfg = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.Build.0 = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.ActiveCfg = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.Build.0 = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.ActiveCfg = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.Build.0 = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.ActiveCfg = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.Build.0 = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.ActiveCfg = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.Build.0 = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.ActiveCfg = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.Build.0 = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.ActiveCfg = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.Build.0 = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.ActiveCfg = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.Build.0 = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.ActiveCfg = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.Build.0 = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.ActiveCfg = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.Build.0 = Release|x64 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.ActiveCfg = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.Build.0 = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|x64.ActiveCfg = Debug|x64 @@ -727,7 +671,6 @@ Global {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {E6864F0D-B2ED-406A-B98C-F3668A680005} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {A28E5839-97F3-4874-BB77-E425787CF2ED} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {142A9562-8DEC-4B1B-9B15-2CAD8304447B} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} {519CB7EF-8E49-4BC1-B3DB-181BEF5AC3B3} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} @@ -739,9 +682,6 @@ Global {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {96161748-CE5E-4548-BC1D-AFD2F137A1DC} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} {1B745EA3-C97A-41BB-8E6F-64AAE992BE55} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {7E1D6372-D417-4143-A7AF-BE3E77550238} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {43D54B43-526E-40CE-9945-81420C54A415} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {8BCB4793-C004-459D-9605-272470D53A40} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {0E22B627-F1A6-4771-89DE-9E45FD51F124} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {F0B74B00-F252-4D38-A352-ED379CB196E9} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} diff --git a/cpp/msbuild/ice.v141.sln b/cpp/msbuild/ice.v141.sln index 01a72e57df5..3229c8abef5 100644 --- a/cpp/msbuild/ice.v141.sln +++ b/cpp/msbuild/ice.v141.sln @@ -86,11 +86,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestorm++11", "..\src\IceS {3AB9772C-6113-4F1C-90FB-5368E7486C11} = {3AB9772C-6113-4F1C-90FB-5368E7486C11} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2", "..\src\IcePatch2Lib\msbuild\icepatch2.vcxproj", "{994ADD25-20A0-4715-A3EC-9F86AFD481D0}" - ProjectSection(ProjectDependencies) = postProject - {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegrid", "..\src\IceGridLib\msbuild\icegrid\icegrid.vcxproj", "{18BF13D3-85D3-43A5-8C96-E52EB0672F72}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -149,21 +144,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceboxadmin", "..\src\IceBo {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2server", "..\src\IcePatch2\msbuild\icepatch2server\icepatch2server.vcxproj", "{7E1D6372-D417-4143-A7AF-BE3E77550238}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2client", "..\src\IcePatch2\msbuild\icepatch2client\icepatch2client.vcxproj", "{43D54B43-526E-40CE-9945-81420C54A415}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2calc", "..\src\IcePatch2\msbuild\icepatch2calc\icepatch2calc.vcxproj", "{8BCB4793-C004-459D-9605-272470D53A40}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceserviceinstall", "..\src\iceserviceinstall\msbuild\iceserviceinstall.vcxproj", "{0E22B627-F1A6-4771-89DE-9E45FD51F124}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -172,7 +152,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormdb", "..\src\IceStorm\msbuild\icestormdb\icestormdb.vcxproj", "{F0B74B00-F252-4D38-A352-ED379CB196E9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} @@ -199,7 +178,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormadmin", "..\src\Ice EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridadmin", "..\src\IceGrid\msbuild\icegridadmin\icegridadmin.vcxproj", "{1F4CA1BE-B405-400F-912E-F0CC7E369D59}" ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} {5A8CEAB6-9F57-495C-B554-F93F842A0A28} = {5A8CEAB6-9F57-495C-B554-F93F842A0A28} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {18BF13D3-85D3-43A5-8C96-E52EB0672F72} @@ -209,7 +187,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridnode", "..\src\IceGrid\msbuild\icegridnode\icegridnode.vcxproj", "{48EF9416-336F-4FA5-A376-FDFB7726ADBA}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} @@ -227,7 +204,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridregistry", "..\src\IceGrid\msbuild\icegridregistry\icegridregistry.vcxproj", "{64490115-464B-4DC3-B7C6-D0AF1B68B6F9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} @@ -433,14 +409,6 @@ Global {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|Win32.Build.0 = Release|Win32 {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|x64.ActiveCfg = Release|x64 {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|x64.Build.0 = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.Build.0 = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.ActiveCfg = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.Build.0 = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.ActiveCfg = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.Build.0 = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.ActiveCfg = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.Build.0 = Release|x64 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.ActiveCfg = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.Build.0 = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|x64.ActiveCfg = Debug|x64 @@ -529,30 +497,6 @@ Global {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|Win32.Build.0 = Release|Win32 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.ActiveCfg = Release|x64 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.Build.0 = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.Build.0 = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.ActiveCfg = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.Build.0 = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.ActiveCfg = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.Build.0 = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.ActiveCfg = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.Build.0 = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.ActiveCfg = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.Build.0 = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.ActiveCfg = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.Build.0 = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.ActiveCfg = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.Build.0 = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.ActiveCfg = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.Build.0 = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.ActiveCfg = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.Build.0 = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.ActiveCfg = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.Build.0 = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.ActiveCfg = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.Build.0 = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.ActiveCfg = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.Build.0 = Release|x64 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.ActiveCfg = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.Build.0 = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|x64.ActiveCfg = Debug|x64 @@ -727,7 +671,6 @@ Global {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {E6864F0D-B2ED-406A-B98C-F3668A680005} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {A28E5839-97F3-4874-BB77-E425787CF2ED} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {142A9562-8DEC-4B1B-9B15-2CAD8304447B} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} {519CB7EF-8E49-4BC1-B3DB-181BEF5AC3B3} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} @@ -739,9 +682,6 @@ Global {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {96161748-CE5E-4548-BC1D-AFD2F137A1DC} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} {1B745EA3-C97A-41BB-8E6F-64AAE992BE55} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {7E1D6372-D417-4143-A7AF-BE3E77550238} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {43D54B43-526E-40CE-9945-81420C54A415} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {8BCB4793-C004-459D-9605-272470D53A40} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {0E22B627-F1A6-4771-89DE-9E45FD51F124} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {F0B74B00-F252-4D38-A352-ED379CB196E9} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} diff --git a/cpp/msbuild/ice.v142.sln b/cpp/msbuild/ice.v142.sln index b1761934d3e..7dcbd880d1b 100644 --- a/cpp/msbuild/ice.v142.sln +++ b/cpp/msbuild/ice.v142.sln @@ -86,11 +86,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestorm++11", "..\src\IceS {3AB9772C-6113-4F1C-90FB-5368E7486C11} = {3AB9772C-6113-4F1C-90FB-5368E7486C11} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2", "..\src\IcePatch2Lib\msbuild\icepatch2.vcxproj", "{994ADD25-20A0-4715-A3EC-9F86AFD481D0}" - ProjectSection(ProjectDependencies) = postProject - {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegrid", "..\src\IceGridLib\msbuild\icegrid\icegrid.vcxproj", "{18BF13D3-85D3-43A5-8C96-E52EB0672F72}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -149,21 +144,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceboxadmin", "..\src\IceBo {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2server", "..\src\IcePatch2\msbuild\icepatch2server\icepatch2server.vcxproj", "{7E1D6372-D417-4143-A7AF-BE3E77550238}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2client", "..\src\IcePatch2\msbuild\icepatch2client\icepatch2client.vcxproj", "{43D54B43-526E-40CE-9945-81420C54A415}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icepatch2calc", "..\src\IcePatch2\msbuild\icepatch2calc\icepatch2calc.vcxproj", "{8BCB4793-C004-459D-9605-272470D53A40}" - ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iceserviceinstall", "..\src\iceserviceinstall\msbuild\iceserviceinstall.vcxproj", "{0E22B627-F1A6-4771-89DE-9E45FD51F124}" ProjectSection(ProjectDependencies) = postProject {6485EC94-6B47-428D-B42D-AAA11F08DB59} = {6485EC94-6B47-428D-B42D-AAA11F08DB59} @@ -172,7 +152,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormdb", "..\src\IceStorm\msbuild\icestormdb\icestormdb.vcxproj", "{F0B74B00-F252-4D38-A352-ED379CB196E9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} {588F90CA-62AC-4101-83FC-19AB9DB6B509} = {588F90CA-62AC-4101-83FC-19AB9DB6B509} @@ -199,7 +178,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icestormadmin", "..\src\Ice EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridadmin", "..\src\IceGrid\msbuild\icegridadmin\icegridadmin.vcxproj", "{1F4CA1BE-B405-400F-912E-F0CC7E369D59}" ProjectSection(ProjectDependencies) = postProject - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} {5A8CEAB6-9F57-495C-B554-F93F842A0A28} = {5A8CEAB6-9F57-495C-B554-F93F842A0A28} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {18BF13D3-85D3-43A5-8C96-E52EB0672F72} @@ -209,7 +187,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridnode", "..\src\IceGrid\msbuild\icegridnode\icegridnode.vcxproj", "{48EF9416-336F-4FA5-A376-FDFB7726ADBA}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} @@ -227,7 +204,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "icegridregistry", "..\src\IceGrid\msbuild\icegridregistry\icegridregistry.vcxproj", "{64490115-464B-4DC3-B7C6-D0AF1B68B6F9}" ProjectSection(ProjectDependencies) = postProject {E6864F0D-B2ED-406A-B98C-F3668A680005} = {E6864F0D-B2ED-406A-B98C-F3668A680005} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {994ADD25-20A0-4715-A3EC-9F86AFD481D0} {72FA68A9-49B6-4AB6-94AE-34BB03770A51} = {72FA68A9-49B6-4AB6-94AE-34BB03770A51} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} = {C7223CC8-0AAA-470B-ACB3-12B9DE75525C} @@ -431,14 +407,6 @@ Global {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|Win32.Build.0 = Release|Win32 {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|x64.ActiveCfg = Release|x64 {A28E5839-97F3-4874-BB77-E425787CF2ED}.Release|x64.Build.0 = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.ActiveCfg = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|Win32.Build.0 = Debug|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.ActiveCfg = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Debug|x64.Build.0 = Debug|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.ActiveCfg = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|Win32.Build.0 = Release|Win32 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.ActiveCfg = Release|x64 - {994ADD25-20A0-4715-A3EC-9F86AFD481D0}.Release|x64.Build.0 = Release|x64 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.ActiveCfg = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|Win32.Build.0 = Debug|Win32 {18BF13D3-85D3-43A5-8C96-E52EB0672F72}.Debug|x64.ActiveCfg = Debug|x64 @@ -527,30 +495,6 @@ Global {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|Win32.Build.0 = Release|Win32 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.ActiveCfg = Release|x64 {1B745EA3-C97A-41BB-8E6F-64AAE992BE55}.Release|x64.Build.0 = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.ActiveCfg = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|Win32.Build.0 = Debug|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.ActiveCfg = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Debug|x64.Build.0 = Debug|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.ActiveCfg = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|Win32.Build.0 = Release|Win32 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.ActiveCfg = Release|x64 - {7E1D6372-D417-4143-A7AF-BE3E77550238}.Release|x64.Build.0 = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.ActiveCfg = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|Win32.Build.0 = Debug|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.ActiveCfg = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Debug|x64.Build.0 = Debug|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.ActiveCfg = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|Win32.Build.0 = Release|Win32 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.ActiveCfg = Release|x64 - {43D54B43-526E-40CE-9945-81420C54A415}.Release|x64.Build.0 = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.ActiveCfg = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|Win32.Build.0 = Debug|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.ActiveCfg = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Debug|x64.Build.0 = Debug|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.ActiveCfg = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|Win32.Build.0 = Release|Win32 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.ActiveCfg = Release|x64 - {8BCB4793-C004-459D-9605-272470D53A40}.Release|x64.Build.0 = Release|x64 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.ActiveCfg = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|Win32.Build.0 = Debug|Win32 {0E22B627-F1A6-4771-89DE-9E45FD51F124}.Debug|x64.ActiveCfg = Debug|x64 @@ -717,7 +661,6 @@ Global {E8ACC848-F7DA-4B29-B52F-81D66E7D397E} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {E6864F0D-B2ED-406A-B98C-F3668A680005} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {A28E5839-97F3-4874-BB77-E425787CF2ED} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} - {994ADD25-20A0-4715-A3EC-9F86AFD481D0} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {18BF13D3-85D3-43A5-8C96-E52EB0672F72} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {142A9562-8DEC-4B1B-9B15-2CAD8304447B} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} {519CB7EF-8E49-4BC1-B3DB-181BEF5AC3B3} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} @@ -729,9 +672,6 @@ Global {81C8FC6A-CAC3-4B6D-AE4D-5DEAD29726C5} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {96161748-CE5E-4548-BC1D-AFD2F137A1DC} = {F48CC091-6F26-4EC8-A2FB-485975E7C908} {1B745EA3-C97A-41BB-8E6F-64AAE992BE55} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {7E1D6372-D417-4143-A7AF-BE3E77550238} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {43D54B43-526E-40CE-9945-81420C54A415} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} - {8BCB4793-C004-459D-9605-272470D53A40} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {0E22B627-F1A6-4771-89DE-9E45FD51F124} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {F0B74B00-F252-4D38-A352-ED379CB196E9} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} {9E13C4B5-5DA9-43C1-9304-AEAC035E854D} = {2DC2B270-B7AE-48CF-8FB0-41A55A9747E9} diff --git a/cpp/src/Ice/PropertyNames.cpp b/cpp/src/Ice/PropertyNames.cpp index da4d0af3534..d6e3b64678c 100644 --- a/cpp/src/Ice/PropertyNames.cpp +++ b/cpp/src/Ice/PropertyNames.cpp @@ -1,7 +1,7 @@ // // Copyright (c) ZeroC, Inc. All rights reserved. // -// Generated by makeprops.py from file ./config/PropertyNames.xml, Thu Jul 2 14:55:02 2020 +// Generated by makeprops.py from file ./config/PropertyNames.xml, Fri Jan 29 15:05:58 2021 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -1056,66 +1056,6 @@ const IceInternal::PropertyArray IceInternal::PropertyNames::IceGridProps(IceGridPropsData, sizeof(IceGridPropsData)/sizeof(IceGridPropsData[0])); -const IceInternal::Property IcePatch2PropsData[] = -{ - IceInternal::Property("IcePatch2.ACM.Timeout", false, 0), - IceInternal::Property("IcePatch2.ACM.Heartbeat", false, 0), - IceInternal::Property("IcePatch2.ACM.Close", false, 0), - IceInternal::Property("IcePatch2.ACM", false, 0), - IceInternal::Property("IcePatch2.AdapterId", false, 0), - IceInternal::Property("IcePatch2.Endpoints", false, 0), - IceInternal::Property("IcePatch2.Locator.EndpointSelection", false, 0), - IceInternal::Property("IcePatch2.Locator.ConnectionCached", false, 0), - IceInternal::Property("IcePatch2.Locator.PreferSecure", false, 0), - IceInternal::Property("IcePatch2.Locator.LocatorCacheTimeout", false, 0), - IceInternal::Property("IcePatch2.Locator.InvocationTimeout", false, 0), - IceInternal::Property("IcePatch2.Locator.Locator", false, 0), - IceInternal::Property("IcePatch2.Locator.Router", false, 0), - IceInternal::Property("IcePatch2.Locator.CollocationOptimized", false, 0), - IceInternal::Property("IcePatch2.Locator.Context.*", false, 0), - IceInternal::Property("IcePatch2.Locator", false, 0), - IceInternal::Property("IcePatch2.PublishedEndpoints", false, 0), - IceInternal::Property("IcePatch2.ReplicaGroupId", false, 0), - IceInternal::Property("IcePatch2.Router.EndpointSelection", false, 0), - IceInternal::Property("IcePatch2.Router.ConnectionCached", false, 0), - IceInternal::Property("IcePatch2.Router.PreferSecure", false, 0), - IceInternal::Property("IcePatch2.Router.LocatorCacheTimeout", false, 0), - IceInternal::Property("IcePatch2.Router.InvocationTimeout", false, 0), - IceInternal::Property("IcePatch2.Router.Locator", false, 0), - IceInternal::Property("IcePatch2.Router.Router", false, 0), - IceInternal::Property("IcePatch2.Router.CollocationOptimized", false, 0), - IceInternal::Property("IcePatch2.Router.Context.*", false, 0), - IceInternal::Property("IcePatch2.Router", false, 0), - IceInternal::Property("IcePatch2.ProxyOptions", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.Size", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.SizeMax", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.SizeWarn", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.StackSize", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.Serialize", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.ThreadIdleTime", false, 0), - IceInternal::Property("IcePatch2.ThreadPool.ThreadPriority", false, 0), - IceInternal::Property("IcePatch2.MessageSizeMax", false, 0), - IceInternal::Property("IcePatch2.Directory", false, 0), - IceInternal::Property("IcePatch2.InstanceName", false, 0), -}; - -const IceInternal::PropertyArray - IceInternal::PropertyNames::IcePatch2Props(IcePatch2PropsData, - sizeof(IcePatch2PropsData)/sizeof(IcePatch2PropsData[0])); - -const IceInternal::Property IcePatch2ClientPropsData[] = -{ - IceInternal::Property("IcePatch2Client.ChunkSize", false, 0), - IceInternal::Property("IcePatch2Client.Directory", false, 0), - IceInternal::Property("IcePatch2Client.Proxy", false, 0), - IceInternal::Property("IcePatch2Client.Remove", false, 0), - IceInternal::Property("IcePatch2Client.Thorough", false, 0), -}; - -const IceInternal::PropertyArray - IceInternal::PropertyNames::IcePatch2ClientProps(IcePatch2ClientPropsData, - sizeof(IcePatch2ClientPropsData)/sizeof(IcePatch2ClientPropsData[0])); - const IceInternal::Property IceSSLPropsData[] = { IceInternal::Property("IceSSL.Alias", false, 0), @@ -1393,8 +1333,6 @@ const IceInternal::PropertyArray IceInternal::PropertyNames::validProps[] = IceBridgeProps, IceGridAdminProps, IceGridProps, - IcePatch2Props, - IcePatch2ClientProps, IceSSLProps, IceStormAdminProps, IceBTProps, @@ -1415,8 +1353,6 @@ const char* IceInternal::PropertyNames::clPropNames[] = "IceBridge", "IceGridAdmin", "IceGrid", - "IcePatch2", - "IcePatch2Client", "IceSSL", "IceStormAdmin", "IceBT", diff --git a/cpp/src/Ice/PropertyNames.h b/cpp/src/Ice/PropertyNames.h index 8f65258d805..42bf1fce9bc 100644 --- a/cpp/src/Ice/PropertyNames.h +++ b/cpp/src/Ice/PropertyNames.h @@ -1,7 +1,7 @@ // // Copyright (c) ZeroC, Inc. All rights reserved. // -// Generated by makeprops.py from file ./config/PropertyNames.xml, Thu Jul 2 14:55:02 2020 +// Generated by makeprops.py from file ./config/PropertyNames.xml, Fri Jan 29 15:05:58 2021 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -60,8 +60,6 @@ public: static const PropertyArray IceBridgeProps; static const PropertyArray IceGridAdminProps; static const PropertyArray IceGridProps; - static const PropertyArray IcePatch2Props; - static const PropertyArray IcePatch2ClientProps; static const PropertyArray IceSSLProps; static const PropertyArray IceStormAdminProps; static const PropertyArray IceBTProps; diff --git a/cpp/src/IceGrid/Activator.cpp b/cpp/src/IceGrid/Activator.cpp index f6087267c81..23369aac08f 100644 --- a/cpp/src/IceGrid/Activator.cpp +++ b/cpp/src/IceGrid/Activator.cpp @@ -12,8 +12,6 @@ #include <IceGrid/Util.h> #include <IceGrid/ServerI.h> -#include <IcePatch2Lib/Util.h> - #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> @@ -375,7 +373,7 @@ Activator::activate(const string& name, throw invalid_argument("The server executable path is empty."); } - string pwd = IcePatch2Internal::simplify(pwdPath); + string pwd = simplify(pwdPath); #ifdef _WIN32 if(!IceUtilInternal::isAbsolutePath(path)) { diff --git a/cpp/src/IceGrid/AdminI.cpp b/cpp/src/IceGrid/AdminI.cpp index 061c5d131b7..3596852add6 100644 --- a/cpp/src/IceGrid/AdminI.cpp +++ b/cpp/src/IceGrid/AdminI.cpp @@ -100,50 +100,6 @@ private: string _node; }; -template<class AmdCB> -class AMDPatcherFeedbackAggregator : public PatcherFeedbackAggregator -{ -public: - - AMDPatcherFeedbackAggregator(const AmdCB& cb, - Ice::Identity id, - const TraceLevelsPtr& traceLevels, - const string& type, - const string& name, - int nodeCount) : - PatcherFeedbackAggregator(id, traceLevels, type, name, nodeCount), - _cb(cb) - { - } - -private: - - void - response() - { - _cb->ice_response(); - } - - void - exception(const Ice::Exception& ex) - { - _cb->ice_exception(ex); - } - - const AmdCB _cb; -}; - -template<typename AmdCB> PatcherFeedbackAggregatorPtr -static newPatcherFeedback(const AmdCB& cb, - Ice::Identity id, - const TraceLevelsPtr& traceLevels, - const string& type, - const string& name, - int nodeCount) -{ - return new AMDPatcherFeedbackAggregator<AmdCB>(cb, id, traceLevels, type, name, nodeCount); -} - } AdminI::AdminI(const DatabasePtr& database, const RegistryIPtr& registry, const AdminSessionIPtr& session) : @@ -227,64 +183,6 @@ AdminI::instantiateServer(const string& app, const string& node, const ServerIns _database->instantiateServer(app, node, desc, _session.get()); } -void -AdminI::patchApplication_async(const AMD_Admin_patchApplicationPtr& amdCB, - const string& name, - bool shutdown, - const Current& current) -{ - ApplicationHelper helper(current.adapter->getCommunicator(), _database->getApplicationInfo(name).descriptor); - DistributionDescriptor appDistrib; - vector<string> nodes; - helper.getDistributions(appDistrib, nodes); - - if(nodes.empty()) - { - amdCB->ice_response(); - return; - } - - Ice::Identity id; - id.category = current.id.category; - id.name = Ice::generateUUID(); - - PatcherFeedbackAggregatorPtr feedback = - newPatcherFeedback(amdCB, id, _traceLevels, "application", name, static_cast<int>(nodes.size())); - - for(vector<string>::const_iterator p = nodes.begin(); p != nodes.end(); ++p) - { - try - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << "started patching of application `" << name << "' on node `" << *p << "'"; - } - - NodeEntryPtr node = _database->getNode(*p); - Resolver resolve(node->getInfo(), _database->getCommunicator()); - DistributionDescriptor desc = resolve(appDistrib); - InternalDistributionDescriptorPtr intAppDistrib = new InternalDistributionDescriptor(desc.icepatch, - desc.directories); - node->getSession()->patch(feedback, name, "", intAppDistrib, shutdown); - } - catch(const NodeNotExistException&) - { - feedback->failed(*p, "node doesn't exist"); - } - catch(const NodeUnreachableException& e) - { - feedback->failed(*p, "node is unreachable: " + e.reason); - } - catch(const Ice::Exception& e) - { - ostringstream os; - os << e; - feedback->failed(*p, "node is unreachable:\n" + os.str()); - } - } -} - ApplicationInfo AdminI::getApplicationInfo(const string& name, const Current&) const { @@ -318,12 +216,6 @@ AdminI::getDefaultApplicationDescriptor(const Current& current) const warn << "default application descriptor:\nnode definitions are not allowed."; desc.nodes.clear(); } - if(!desc.distrib.icepatch.empty() || !desc.distrib.directories.empty()) - { - Ice::Warning warn(_traceLevels->logger); - warn << "default application descriptor:\ndistribution is not allowed."; - desc.distrib = DistributionDescriptor(); - } if(!desc.replicaGroups.empty()) { Ice::Warning warn(_traceLevels->logger); @@ -515,64 +407,6 @@ AdminI::stopServer_async(const AMD_Admin_stopServerPtr& amdCB, const string& id, } void -AdminI::patchServer_async(const AMD_Admin_patchServerPtr& amdCB, const string& id, bool shutdown, - const Current& current) -{ - ServerInfo info = _database->getServer(id)->getInfo(); - ApplicationInfo appInfo = _database->getApplicationInfo(info.application); - ApplicationHelper helper(current.adapter->getCommunicator(), appInfo.descriptor); - DistributionDescriptor appDistrib; - vector<string> nodes; - helper.getDistributions(appDistrib, nodes, id); - - if(appDistrib.icepatch.empty() && nodes.empty()) - { - amdCB->ice_response(); - return; - } - - assert(nodes.size() == 1); - - Ice::Identity identity; - identity.category = current.id.category; - identity.name = Ice::generateUUID(); - - PatcherFeedbackAggregatorPtr feedback = - newPatcherFeedback(amdCB, identity, _traceLevels, "server", id, static_cast<int>(nodes.size())); - - vector<string>::const_iterator p = nodes.begin(); - try - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << "started patching of server `" << id << "' on node `" << *p << "'"; - } - - NodeEntryPtr node = _database->getNode(*p); - Resolver resolve(node->getInfo(), _database->getCommunicator()); - DistributionDescriptor desc = resolve(appDistrib); - InternalDistributionDescriptorPtr intAppDistrib = new InternalDistributionDescriptor(desc.icepatch, - desc.directories); - node->getSession()->patch(feedback, info.application, id, intAppDistrib, shutdown); - } - catch(const NodeNotExistException&) - { - feedback->failed(*p, "node doesn't exist"); - } - catch(const NodeUnreachableException& e) - { - feedback->failed(*p, "node is unreachable: " + e.reason); - } - catch(const Ice::Exception& e) - { - ostringstream os; - os << e; - feedback->failed(*p, "node is unreachable:\n" + os.str()); - } -} - -void AdminI::sendSignal(const string& id, const string& signal, const Current&) { ServerProxyWrapper proxy(_database, id); diff --git a/cpp/src/IceGrid/AdminI.h b/cpp/src/IceGrid/AdminI.h index 4f37e4211de..6ae5e4cd74c 100644 --- a/cpp/src/IceGrid/AdminI.h +++ b/cpp/src/IceGrid/AdminI.h @@ -37,8 +37,6 @@ public: virtual void removeApplication(const std::string&, const Ice::Current&); virtual void instantiateServer(const std::string&, const std::string&, const ServerInstanceDescriptor&, const Ice::Current&); - virtual void patchApplication_async(const AMD_Admin_patchApplicationPtr&, const std::string&, bool, - const Ice::Current&); virtual ApplicationInfo getApplicationInfo(const ::std::string&, const Ice::Current&) const; virtual ApplicationDescriptor getDefaultApplicationDescriptor(const Ice::Current&) const; virtual Ice::StringSeq getAllApplicationNames(const Ice::Current&) const; @@ -50,7 +48,6 @@ public: virtual Ice::ObjectPrx getServerAdmin(const std::string&, const Ice::Current&) const; virtual void startServer_async(const AMD_Admin_startServerPtr&, const ::std::string&, const Ice::Current&); virtual void stopServer_async(const AMD_Admin_stopServerPtr&, const ::std::string&, const Ice::Current&); - virtual void patchServer_async(const AMD_Admin_patchServerPtr&, const ::std::string&, bool, const Ice::Current&); virtual void sendSignal(const ::std::string&, const ::std::string&, const Ice::Current&); virtual Ice::StringSeq getAllServerIds(const Ice::Current&) const; virtual void enableServer(const ::std::string&, bool, const Ice::Current&); diff --git a/cpp/src/IceGrid/DescriptorBuilder.cpp b/cpp/src/IceGrid/DescriptorBuilder.cpp index c6e2cbd4134..472af859692 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.cpp +++ b/cpp/src/IceGrid/DescriptorBuilder.cpp @@ -402,18 +402,6 @@ ApplicationDescriptorBuilder::addPropertySet(const string& id, const PropertySet } } -void -ApplicationDescriptorBuilder::addDistribution(const XmlAttributesHelper& attrs) -{ - _descriptor.distrib.icepatch = attrs("icepatch", "${application}.IcePatch2/server"); -} - -void -ApplicationDescriptorBuilder::addDistributionDirectory(const string& directory) -{ - _descriptor.distrib.directories.push_back(directory); -} - bool ApplicationDescriptorBuilder::isOverride(const string& name) { @@ -837,7 +825,6 @@ ServerDescriptorBuilder::init(const ServerDescriptorPtr& desc, const XmlAttribut _descriptor->deactivationTimeout = attrs("deactivation-timeout", ""); _descriptor->pwd = attrs("pwd", ""); _descriptor->activation = attrs("activation", "manual"); - _descriptor->applicationDistrib = attrs.asBool("application-distrib", true); _descriptor->allocatable = attrs.asBool("allocatable", false); _descriptor->user = attrs("user", ""); _descriptor->iceVersion = attrs("ice-version", ""); @@ -879,18 +866,6 @@ ServerDescriptorBuilder::addServiceInstance(const ServiceInstanceDescriptor& /*d assert(false); } -void -ServerDescriptorBuilder::addDistribution(const XmlAttributesHelper& attrs) -{ - _descriptor->distrib.icepatch = attrs("icepatch", "${application}.IcePatch2/server"); -} - -void -ServerDescriptorBuilder::addDistributionDirectory(const string& directory) -{ - _descriptor->distrib.directories.push_back(directory); -} - IceBoxDescriptorBuilder::IceBoxDescriptorBuilder(const Ice::CommunicatorPtr& communicator, const XmlAttributesHelper& attrs) : ServerDescriptorBuilder(communicator) diff --git a/cpp/src/IceGrid/DescriptorBuilder.h b/cpp/src/IceGrid/DescriptorBuilder.h index dfc1fa705db..f58cf8e7a0e 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.h +++ b/cpp/src/IceGrid/DescriptorBuilder.h @@ -115,9 +115,6 @@ public: void addServiceTemplate(const std::string&, const TemplateDescriptor&); void addPropertySet(const std::string&, const PropertySetDescriptor&); - void addDistribution(const XmlAttributesHelper&); - void addDistributionDirectory(const std::string&); - bool isOverride(const std::string&); const Ice::CommunicatorPtr& getCommunicator() const { return _communicator; } @@ -267,8 +264,6 @@ public: virtual void addEnv(const std::string&); virtual void addService(const ServiceDescriptorPtr&); virtual void addServiceInstance(const ServiceInstanceDescriptor&); - virtual void addDistribution(const XmlAttributesHelper&); - virtual void addDistributionDirectory(const std::string&); const ServerDescriptorPtr& getDescriptor() const { return _descriptor; } diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp index c62bf1e622a..58ec1da1ec9 100644 --- a/cpp/src/IceGrid/DescriptorHelper.cpp +++ b/cpp/src/IceGrid/DescriptorHelper.cpp @@ -565,15 +565,6 @@ Resolver::operator()(const Ice::StringSeq& values, const string& name) const return result; } -DistributionDescriptor -Resolver::operator()(const DistributionDescriptor& desc) const -{ - DistributionDescriptor result; - result.icepatch = operator()(desc.icepatch, "IcePatch2 server proxy"); - result.directories = operator()(desc.directories, "distribution source directory"); - return result; -} - PropertyDescriptorSeq Resolver::operator()(const PropertyDescriptorSeq& properties, const string& name) const { @@ -1019,8 +1010,6 @@ Resolver::getReserved() reserved["node.datadir"] = ""; reserved["node.data"] = ""; reserved["session.id"] = ""; - reserved["application.distrib"] = "${node.data}/distrib/${application}"; - reserved["server.distrib"] = "${node.data}/servers/${server}/distrib"; reserved["server"] = ""; reserved["server.data"] = "${node.data}/servers/${server}/data"; reserved["service"] = ""; @@ -1523,11 +1512,6 @@ ServerHelper::operator==(const CommunicatorHelper& h) const return false; } - if(_desc->distrib != helper->_desc->distrib) - { - return false; - } - if(_desc->allocatable != helper->_desc->allocatable) { return false; @@ -1624,10 +1608,6 @@ ServerHelper::printImpl(const Ice::CommunicatorPtr& communicator, Output& out, c { out << nl << "user = `" << _desc->user << "'"; } - if(!_desc->applicationDistrib) - { - out << nl << "application distribution = `false'"; - } if(!_desc->options.empty()) { out << nl << "options = `" << toString(_desc->options) << "'"; @@ -1636,17 +1616,6 @@ ServerHelper::printImpl(const Ice::CommunicatorPtr& communicator, Output& out, c { out << nl << "envs = `" << toString(_desc->envs) << "'"; } - if(!_desc->distrib.icepatch.empty()) - { - out << nl << "distribution"; - out << sb; - out << nl << "proxy = `" << _desc->distrib.icepatch << "'"; - if(!_desc->distrib.directories.empty()) - { - out << nl << "directories = `" << toString(_desc->distrib.directories) << "'"; - } - out << eb; - } CommunicatorHelper::print(communicator, out); } @@ -1662,7 +1631,6 @@ ServerHelper::instantiateImpl(const ServerDescriptorPtr& instance, instance->iceVersion = resolve(_desc->iceVersion, "ice version"); instance->pwd = resolve(_desc->pwd, "working directory path"); instance->activation = resolve(_desc->activation, "activation"); - instance->applicationDistrib = _desc->applicationDistrib; instance->allocatable = _desc->allocatable; instance->user = resolve(_desc->user, "user"); if(!instance->activation.empty() && @@ -1677,7 +1645,6 @@ ServerHelper::instantiateImpl(const ServerDescriptorPtr& instance, instance->deactivationTimeout = resolve.asInt(_desc->deactivationTimeout, "deactivation timeout"); instance->options = resolve(_desc->options, "option"); instance->envs = resolve(_desc->envs, "environment variable"); - instance->distrib = resolve(_desc->distrib); instance->propertySet.properties.insert(instance->propertySet.properties.end(), props.begin(), props.end()); } @@ -2444,52 +2411,6 @@ NodeHelper::getServerInfos(const string& app, const string& uuid, int revision, } bool -NodeHelper::hasDistributions(const string& server) const -{ - assert(_instantiated); - - // - // Get the server distributions to patch. - // - if(server.empty()) - { - for(ServerInstanceHelperDict::const_iterator p = _serverInstances.begin(); p != _serverInstances.end(); ++p) - { - if(!p->second.getServerInstance()->distrib.icepatch.empty()) - { - return true; - } - } - for(ServerInstanceHelperDict::const_iterator p = _servers.begin(); p != _servers.end(); ++p) - { - if(!p->second.getServerInstance()->distrib.icepatch.empty()) - { - return true; - } - } - } - else - { - ServerInstanceHelperDict::const_iterator p = _serverInstances.find(server); - if(p == _serverInstances.end()) - { - p = _servers.find(server); - if(p == _servers.end()) - { - return false; - } - } - - if(!p->second.getServerInstance()->distrib.icepatch.empty()) - { - return true; - } - } - - return false; -} - -bool NodeHelper::hasServers() const { return !_serverInstances.empty() || !_servers.empty(); @@ -2673,7 +2594,6 @@ ApplicationHelper::ApplicationHelper(const Ice::CommunicatorPtr& communicator, _instance.serverTemplates = _def.serverTemplates; _instance.serviceTemplates = _def.serviceTemplates; _instance.description = resolve(_def.description, "description"); - _instance.distrib = resolve(_def.distrib); _instance.propertySets = resolve(_def.propertySets); for(ReplicaGroupDescriptorSeq::iterator r = _def.replicaGroups.begin(); r != _def.replicaGroups.end(); ++r) @@ -2806,11 +2726,6 @@ ApplicationHelper::diff(const ApplicationHelper& helper) const updt.propertySets = getDictUpdatedElts(helper._def.propertySets, _def.propertySets); updt.removePropertySets = getDictRemovedElts(helper._def.propertySets, _def.propertySets); - if(_def.distrib != helper._def.distrib) - { - updt.distrib = new BoxedDistributionDescriptor(_def.distrib); - } - GetReplicaGroupId rk; ReplicaGroupEq req; updt.replicaGroups = getSeqUpdatedEltsWithEq(helper._def.replicaGroups, _def.replicaGroups, rk, req); @@ -2856,7 +2771,6 @@ ApplicationHelper::update(const ApplicationUpdateDescriptor& updt) const def.name = _def.name; def.description = updt.description ? updt.description->value : _def.description; - def.distrib = updt.distrib ? updt.distrib->value : _def.distrib; def.replicaGroups = updateSeqElts(_def.replicaGroups, updt.replicaGroups, updt.removeReplicaGroups, rg); def.variables = updateDictElts(_def.variables, updt.variables, updt.removeVariables); def.propertySets = updateDictElts(_def.propertySets, updt.propertySets, updt.removePropertySets); @@ -3007,32 +2921,6 @@ ApplicationHelper::getServerInfos(const string& uuid, int revision) const } void -ApplicationHelper::getDistributions(DistributionDescriptor& distribution, - vector<string>& nodes, - const string& server) const -{ - assert(!_instance.name.empty()); - - distribution = _instance.distrib; - for(NodeHelperDict::const_iterator n = _nodes.begin(); n != _nodes.end(); ++n) - { - if(n->second.hasDistributions(server)) - { - nodes.push_back(n->first); - if(!server.empty()) - { - break; - } - } - else if(!_instance.distrib.icepatch.empty() && - ((server.empty() && n->second.hasServers()) || n->second.hasServer(server))) - { - nodes.push_back(n->first); - } - } -} - -void ApplicationHelper::print(Output& out, const ApplicationInfo& info) const { assert(!_instance.name.empty()); @@ -3080,17 +2968,6 @@ ApplicationHelper::print(Output& out, const ApplicationInfo& info) const out << eb; } } - if(!_instance.distrib.icepatch.empty()) - { - out << nl << "distribution"; - out << sb; - out << nl << "proxy = `" << _instance.distrib.icepatch << "'"; - if(!_instance.distrib.directories.empty()) - { - out << nl << "directories = `" << toString(_instance.distrib.directories) << "'"; - } - out << eb; - } if(!_instance.replicaGroups.empty()) { out << nl << "replica groups"; @@ -3180,12 +3057,6 @@ ApplicationHelper::printDiff(Output& out, const ApplicationHelper& helper) const } } { - if(_def.distrib != helper._def.distrib) - { - out << nl << "distribution updated"; - } - } - { PropertySetDescriptorDict updt = getDictUpdatedElts(helper._def.propertySets, _def.propertySets); Ice::StringSeq removed = getDictRemovedElts(helper._def.propertySets, _def.propertySets); if(!updt.empty() || !removed.empty()) diff --git a/cpp/src/IceGrid/DescriptorHelper.h b/cpp/src/IceGrid/DescriptorHelper.h index a358870c98c..4fa15ef3a5c 100644 --- a/cpp/src/IceGrid/DescriptorHelper.h +++ b/cpp/src/IceGrid/DescriptorHelper.h @@ -25,7 +25,6 @@ public: std::string operator()(const std::string&, const std::string& = std::string(), bool = true) const; Ice::StringSeq operator()(const Ice::StringSeq&, const std::string&) const; - DistributionDescriptor operator()(const DistributionDescriptor&) const; PropertyDescriptorSeq operator()(const PropertyDescriptorSeq&, const std::string& = std::string("property")) const; PropertySetDescriptorDict operator()(const PropertySetDescriptorDict&) const; ObjectDescriptorSeq operator()(const ObjectDescriptorSeq&, const std::string&, const std::string&) const; @@ -285,7 +284,6 @@ public: const NodeDescriptor& getDefinition() const; const NodeDescriptor& getInstance() const; void getServerInfos(const std::string&, const std::string&, int, std::map<std::string, ServerInfo>&) const; - bool hasDistributions(const std::string&) const; bool hasServers() const; bool hasServer(const std::string&) const; void print(IceUtilInternal::Output&) const; @@ -319,7 +317,6 @@ public: void getReplicaGroups(std::set<std::string>&, std::set<std::string>&) const; const ApplicationDescriptor& getDefinition() const; const ApplicationDescriptor& getInstance() const; - void getDistributions(DistributionDescriptor&, std::vector<std::string>&,const std::string& = std::string()) const; void print(IceUtilInternal::Output&, const ApplicationInfo&) const; void printDiff(IceUtilInternal::Output&, const ApplicationHelper&) const; diff --git a/cpp/src/IceGrid/DescriptorParser.cpp b/cpp/src/IceGrid/DescriptorParser.cpp index e7467acda1a..b86f8cbb775 100644 --- a/cpp/src/IceGrid/DescriptorParser.cpp +++ b/cpp/src/IceGrid/DescriptorParser.cpp @@ -4,7 +4,6 @@ #include <Ice/Ice.h> #include <IceXML/Parser.h> -#include <IcePatch2Lib/Util.h> #include <IceGrid/Admin.h> #include <IceGrid/DescriptorParser.h> #include <IceGrid/DescriptorBuilder.h> @@ -70,7 +69,6 @@ private: bool _inAdapter; bool _inReplicaGroup; bool _inDbEnv; - bool _inDistrib; }; } @@ -407,24 +405,6 @@ DescriptorHandler::startElement(const string& name, const IceXML::Attributes& at } _currentCommunicator->addAllocatable(attributes); } - else if(name == "distrib") - { - if(!_currentApplication.get() || - ((_currentNode.get() || _currentTemplate.get()) && !_currentServer.get()) || - _currentServer.get() != _currentCommunicator) - { - error("the <distrib> element can only be a child of an <application>, <server> or <icebox> element"); - } - if(!_currentServer.get()) - { - _currentApplication->addDistribution(attributes); - } - else - { - _currentServer->addDistribution(attributes); - } - _inDistrib = true; - } else if(name == "dbenv") { if(!_currentCommunicator) @@ -450,7 +430,7 @@ DescriptorHandler::startElement(const string& name, const IceXML::Attributes& at } _currentCommunicator->addDbEnvProperty(attributes); } - else if(name == "description" || name == "option" || name == "env" || name == "directory") + else if(name == "description" || name == "option" || name == "env") { // // Nothing to do. @@ -648,21 +628,6 @@ DescriptorHandler::endElement(const string& name, int line, int column) } _currentServer->addEnv(elementValue()); } - else if(name == "directory") - { - if(!_inDistrib) - { - error("the <directory> element can only be a child of a <distrib> element"); - } - if(!_currentServer.get()) - { - _currentApplication->addDistributionDirectory(elementValue()); - } - else - { - _currentServer->addDistributionDirectory(elementValue()); - } - } else if(name == "adapter") { _inAdapter = false; @@ -676,10 +641,6 @@ DescriptorHandler::endElement(const string& name, int line, int column) { _inDbEnv = false; } - else if(name == "distrib") - { - _inDistrib = false; - } } catch(const exception& ex) { @@ -857,7 +818,7 @@ DescriptorParser::parseDescriptor(const string& descriptor, const Ice::CommunicatorPtr& communicator, const IceGrid::AdminPrx& admin) { - string filename = IcePatch2Internal::simplify(descriptor); + string filename = simplify(descriptor); DescriptorHandler handler(filename, communicator); handler.setAdmin(admin); handler.setVariables(variables, targets); @@ -868,7 +829,7 @@ DescriptorParser::parseDescriptor(const string& descriptor, ApplicationDescriptor DescriptorParser::parseDescriptor(const string& descriptor, const Ice::CommunicatorPtr& communicator) { - string filename = IcePatch2Internal::simplify(descriptor); + string filename = simplify(descriptor); DescriptorHandler handler(filename, communicator); IceXML::Parser::parse(filename, handler); return handler.getApplicationDescriptor(); diff --git a/cpp/src/IceGrid/Grammar.cpp b/cpp/src/IceGrid/Grammar.cpp index 93a23d12f24..2e3a629ac00 100644 --- a/cpp/src/IceGrid/Grammar.cpp +++ b/cpp/src/IceGrid/Grammar.cpp @@ -1,21 +1,24 @@ -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 2.3. */ -/* Bison implementation for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify +/* Skeleton implementation for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - + the Free Software Foundation; either version 2, or (at your option) + any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -26,7 +29,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -44,7 +47,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.7" +#define YYBISON_VERSION "2.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -52,17 +55,103 @@ /* Pure parsers. */ #define YYPURE 1 -/* Push parsers. */ -#define YYPUSH 0 +/* Using locations. */ +#define YYLSP_NEEDED 0 -/* Pull parsers. */ -#define YYPULL 1 + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + ICE_GRID_HELP = 258, + ICE_GRID_EXIT = 259, + ICE_GRID_APPLICATION = 260, + ICE_GRID_NODE = 261, + ICE_GRID_REGISTRY = 262, + ICE_GRID_SERVER = 263, + ICE_GRID_ADAPTER = 264, + ICE_GRID_PING = 265, + ICE_GRID_LOAD = 266, + ICE_GRID_SOCKETS = 267, + ICE_GRID_ADD = 268, + ICE_GRID_REMOVE = 269, + ICE_GRID_LIST = 270, + ICE_GRID_SHUTDOWN = 271, + ICE_GRID_STRING = 272, + ICE_GRID_START = 273, + ICE_GRID_STOP = 274, + ICE_GRID_SIGNAL = 275, + ICE_GRID_STDOUT = 276, + ICE_GRID_STDERR = 277, + ICE_GRID_DESCRIBE = 278, + ICE_GRID_PROPERTIES = 279, + ICE_GRID_PROPERTY = 280, + ICE_GRID_STATE = 281, + ICE_GRID_PID = 282, + ICE_GRID_ENDPOINTS = 283, + ICE_GRID_ACTIVATION = 284, + ICE_GRID_OBJECT = 285, + ICE_GRID_FIND = 286, + ICE_GRID_SHOW = 287, + ICE_GRID_COPYING = 288, + ICE_GRID_WARRANTY = 289, + ICE_GRID_DIFF = 290, + ICE_GRID_UPDATE = 291, + ICE_GRID_INSTANTIATE = 292, + ICE_GRID_TEMPLATE = 293, + ICE_GRID_SERVICE = 294, + ICE_GRID_ENABLE = 295, + ICE_GRID_DISABLE = 296 + }; +#endif +/* Tokens. */ +#define ICE_GRID_HELP 258 +#define ICE_GRID_EXIT 259 +#define ICE_GRID_APPLICATION 260 +#define ICE_GRID_NODE 261 +#define ICE_GRID_REGISTRY 262 +#define ICE_GRID_SERVER 263 +#define ICE_GRID_ADAPTER 264 +#define ICE_GRID_PING 265 +#define ICE_GRID_LOAD 266 +#define ICE_GRID_SOCKETS 267 +#define ICE_GRID_ADD 268 +#define ICE_GRID_REMOVE 269 +#define ICE_GRID_LIST 270 +#define ICE_GRID_SHUTDOWN 271 +#define ICE_GRID_STRING 272 +#define ICE_GRID_START 273 +#define ICE_GRID_STOP 274 +#define ICE_GRID_SIGNAL 275 +#define ICE_GRID_STDOUT 276 +#define ICE_GRID_STDERR 277 +#define ICE_GRID_DESCRIBE 278 +#define ICE_GRID_PROPERTIES 279 +#define ICE_GRID_PROPERTY 280 +#define ICE_GRID_STATE 281 +#define ICE_GRID_PID 282 +#define ICE_GRID_ENDPOINTS 283 +#define ICE_GRID_ACTIVATION 284 +#define ICE_GRID_OBJECT 285 +#define ICE_GRID_FIND 286 +#define ICE_GRID_SHOW 287 +#define ICE_GRID_COPYING 288 +#define ICE_GRID_WARRANTY 289 +#define ICE_GRID_DIFF 290 +#define ICE_GRID_UPDATE 291 +#define ICE_GRID_INSTANTIATE 292 +#define ICE_GRID_TEMPLATE 293 +#define ICE_GRID_SERVICE 294 +#define ICE_GRID_ENABLE 295 +#define ICE_GRID_DISABLE 296 /* Copy the first part of user declarations. */ -/* Line 371 of yacc.c */ #line 1 "src/IceGrid/Grammar.y" @@ -110,16 +199,11 @@ yyerror(const char* s) } -/* Line 371 of yacc.c */ -#line 112 "src/IceGrid/Grammar.cpp" -# ifndef YY_NULL -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULL nullptr -# else -# define YY_NULL 0 -# endif -# endif +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 +#endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE @@ -129,96 +213,25 @@ yyerror(const char* s) # define YYERROR_VERBOSE 0 #endif -/* In a future release of Bison, this section will be replaced - by #include "Grammar.hpp". */ -#ifndef YY_YY_SRC_ICEGRID_GRAMMAR_HPP_INCLUDED -# define YY_YY_SRC_ICEGRID_GRAMMAR_HPP_INCLUDED -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif -#if YYDEBUG -extern int yydebug; -#endif - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - ICE_GRID_HELP = 258, - ICE_GRID_EXIT = 259, - ICE_GRID_APPLICATION = 260, - ICE_GRID_NODE = 261, - ICE_GRID_REGISTRY = 262, - ICE_GRID_SERVER = 263, - ICE_GRID_ADAPTER = 264, - ICE_GRID_PING = 265, - ICE_GRID_LOAD = 266, - ICE_GRID_SOCKETS = 267, - ICE_GRID_ADD = 268, - ICE_GRID_REMOVE = 269, - ICE_GRID_LIST = 270, - ICE_GRID_SHUTDOWN = 271, - ICE_GRID_STRING = 272, - ICE_GRID_START = 273, - ICE_GRID_STOP = 274, - ICE_GRID_PATCH = 275, - ICE_GRID_SIGNAL = 276, - ICE_GRID_STDOUT = 277, - ICE_GRID_STDERR = 278, - ICE_GRID_DESCRIBE = 279, - ICE_GRID_PROPERTIES = 280, - ICE_GRID_PROPERTY = 281, - ICE_GRID_STATE = 282, - ICE_GRID_PID = 283, - ICE_GRID_ENDPOINTS = 284, - ICE_GRID_ACTIVATION = 285, - ICE_GRID_OBJECT = 286, - ICE_GRID_FIND = 287, - ICE_GRID_SHOW = 288, - ICE_GRID_COPYING = 289, - ICE_GRID_WARRANTY = 290, - ICE_GRID_DIFF = 291, - ICE_GRID_UPDATE = 292, - ICE_GRID_INSTANTIATE = 293, - ICE_GRID_TEMPLATE = 294, - ICE_GRID_SERVICE = 295, - ICE_GRID_ENABLE = 296, - ICE_GRID_DISABLE = 297 - }; +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 #endif - #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 #endif -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - -#endif /* !YY_YY_SRC_ICEGRID_GRAMMAR_HPP_INCLUDED */ /* Copy the second part of user declarations. */ -/* Line 390 of yacc.c */ -#line 219 "src/IceGrid/Grammar.cpp" + +/* Line 216 of yacc.c. */ +#line 235 "src/IceGrid/Grammar.cpp" #ifdef short # undef short @@ -271,36 +284,36 @@ typedef short int yytype_int16; # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ -# define YY_(Msgid) dgettext ("bison-runtime", Msgid) +# define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ -# define YY_(Msgid) Msgid +# define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(E) ((void) (E)) +# define YYUSE(e) ((void) (e)) #else -# define YYUSE(E) /* empty */ +# define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint -# define YYID(N) (N) +# define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int -YYID (int yyi) +YYID (int i) #else static int -YYID (yyi) - int yyi; +YYID (i) + int i; #endif { - return yyi; + return i; } #endif @@ -321,12 +334,11 @@ YYID (yyi) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ - /* Use EXIT_SUCCESS as a witness for stdlib.h. */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 +# ifndef _STDLIB_H +# define _STDLIB_H 1 # endif # endif # endif @@ -349,24 +361,24 @@ YYID (yyi) # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# if (defined __cplusplus && ! defined EXIT_SUCCESS \ +# if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# ifndef EXIT_SUCCESS -# define EXIT_SUCCESS 0 +# ifndef _STDLIB_H +# define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \ +# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif @@ -382,9 +394,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss_alloc; - YYSTYPE yyvs_alloc; -}; + yytype_int16 yyss; + YYSTYPE yyvs; + }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) @@ -395,19 +407,35 @@ union yyalloc ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) -# define YYCOPY_NEEDED 1 +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ +# define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ @@ -415,43 +443,23 @@ union yyalloc #endif -#if defined YYCOPY_NEEDED && YYCOPY_NEEDED -/* Copy COUNT objects from SRC to DST. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(Dst, Src, Count) \ - __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) -# else -# define YYCOPY(Dst, Src, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (Dst)[yyi] = (Src)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif -#endif /* !YYCOPY_NEEDED */ - /* YYFINAL -- State number of the termination state. */ #define YYFINAL 4 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 2612 +#define YYLAST 2468 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 44 +#define YYNTOKENS 43 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 7 /* YYNRULES -- Number of rules. */ -#define YYNRULES 172 +#define YYNRULES 167 /* YYNRULES -- Number of states. */ -#define YYNSTATES 367 +#define YYNSTATES 356 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 297 +#define YYMAXUTOK 296 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -464,7 +472,7 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 43, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 42, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -488,7 +496,7 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42 + 35, 36, 37, 38, 39, 40, 41 }; #if YYDEBUG @@ -498,7 +506,7 @@ static const yytype_uint16 yyprhs[] = { 0, 0, 3, 5, 6, 10, 13, 14, 17, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, - 75, 80, 85, 90, 96, 102, 108, 114, 119, 125, + 75, 80, 86, 92, 98, 104, 109, 115, 121, 126, 131, 136, 141, 146, 151, 156, 161, 166, 171, 176, 181, 186, 191, 196, 201, 206, 211, 216, 221, 226, 231, 236, 241, 246, 251, 256, 261, 266, 271, 276, @@ -507,117 +515,113 @@ static const yytype_uint16 yyprhs[] = 381, 386, 391, 396, 401, 406, 411, 416, 421, 426, 431, 436, 441, 446, 451, 456, 461, 466, 471, 476, 481, 486, 491, 496, 501, 506, 511, 516, 521, 526, - 531, 536, 541, 546, 551, 556, 560, 564, 568, 573, - 579, 585, 592, 597, 601, 605, 610, 614, 618, 621, - 623, 626, 629, 633, 637, 638, 640, 642, 644, 646, - 648, 650, 652, 654, 656, 658, 660, 662, 664, 666, - 668, 670, 672, 674, 676, 678, 680, 682, 684, 686, - 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, - 708, 710, 712 + 531, 536, 540, 544, 548, 553, 559, 565, 572, 577, + 581, 585, 590, 594, 598, 601, 603, 606, 609, 613, + 617, 618, 620, 622, 624, 626, 628, 630, 632, 634, + 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, + 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, + 676, 678, 680, 682, 684, 686, 688, 690 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { - 45, 0, -1, 46, -1, -1, 46, 47, 48, -1, - 47, 48, -1, -1, 3, 43, -1, 4, 43, -1, - 5, 13, 49, 43, -1, 5, 13, 3, 43, -1, - 5, 14, 49, 43, -1, 5, 14, 3, 43, -1, - 5, 36, 49, 43, -1, 5, 36, 3, 43, -1, - 5, 37, 49, 43, -1, 5, 37, 3, 43, -1, - 5, 24, 49, 43, -1, 5, 24, 3, 43, -1, - 5, 20, 49, 43, -1, 5, 20, 3, 43, -1, - 5, 15, 49, 43, -1, 5, 15, 3, 43, -1, - 8, 39, 24, 49, 43, -1, 8, 39, 24, 3, - 43, -1, 8, 39, 38, 49, 43, -1, 8, 39, - 38, 3, 43, -1, 8, 39, 3, 43, -1, 40, - 39, 24, 49, 43, -1, 40, 39, 24, 3, 43, - -1, 40, 39, 3, 43, -1, 6, 24, 49, 43, - -1, 6, 24, 3, 43, -1, 6, 10, 49, 43, - -1, 6, 10, 3, 43, -1, 6, 11, 49, 43, - -1, 6, 11, 3, 43, -1, 6, 12, 49, 43, - -1, 6, 12, 3, 43, -1, 6, 16, 49, 43, - -1, 6, 16, 3, 43, -1, 6, 15, 49, 43, - -1, 6, 15, 3, 43, -1, 6, 33, 49, 43, - -1, 6, 33, 3, 43, -1, 7, 24, 49, 43, - -1, 7, 24, 3, 43, -1, 7, 10, 49, 43, - -1, 7, 10, 3, 43, -1, 7, 16, 49, 43, - -1, 7, 16, 3, 43, -1, 7, 15, 49, 43, - -1, 7, 15, 3, 43, -1, 7, 33, 49, 43, - -1, 7, 33, 3, 43, -1, 8, 14, 49, 43, - -1, 8, 14, 3, 43, -1, 8, 24, 49, 43, - -1, 8, 24, 3, 43, -1, 8, 18, 49, 43, - -1, 8, 18, 3, 43, -1, 8, 19, 49, 43, - -1, 8, 19, 3, 43, -1, 8, 20, 49, 43, - -1, 8, 20, 3, 43, -1, 8, 21, 49, 43, - -1, 8, 21, 3, 43, -1, 8, 22, 49, 43, - -1, 8, 22, 3, 43, -1, 8, 23, 49, 43, - -1, 8, 23, 3, 43, -1, 8, 27, 49, 43, - -1, 8, 27, 3, 43, -1, 8, 28, 49, 43, - -1, 8, 28, 3, 43, -1, 8, 25, 49, 43, - -1, 8, 25, 3, 43, -1, 8, 26, 49, 43, - -1, 8, 26, 3, 43, -1, 8, 41, 49, 43, - -1, 8, 41, 3, 43, -1, 8, 42, 49, 43, - -1, 8, 42, 3, 43, -1, 8, 15, 49, 43, - -1, 8, 15, 3, 43, -1, 8, 33, 49, 43, - -1, 8, 33, 3, 43, -1, 40, 18, 49, 43, - -1, 40, 18, 3, 43, -1, 40, 19, 49, 43, - -1, 40, 19, 3, 43, -1, 40, 24, 49, 43, - -1, 40, 24, 3, 43, -1, 40, 25, 49, 43, - -1, 40, 25, 3, 43, -1, 40, 26, 49, 43, - -1, 40, 26, 3, 43, -1, 40, 15, 49, 43, - -1, 40, 15, 3, 43, -1, 9, 29, 49, 43, - -1, 9, 29, 3, 43, -1, 9, 14, 49, 43, - -1, 9, 14, 3, 43, -1, 9, 15, 49, 43, - -1, 9, 15, 3, 43, -1, 31, 13, 49, 43, - -1, 31, 13, 3, 43, -1, 31, 14, 49, 43, - -1, 31, 14, 3, 43, -1, 31, 32, 49, 43, - -1, 31, 32, 3, 43, -1, 31, 15, 49, 43, - -1, 31, 15, 3, 43, -1, 31, 24, 49, 43, - -1, 31, 24, 3, 43, -1, 33, 34, 43, -1, - 33, 35, 43, -1, 3, 50, 43, -1, 3, 50, - 50, 43, -1, 3, 50, 17, 49, 43, -1, 3, - 50, 50, 50, 43, -1, 3, 50, 50, 17, 49, - 43, -1, 3, 17, 49, 43, -1, 3, 1, 43, - -1, 50, 3, 43, -1, 50, 17, 1, 43, -1, - 50, 1, 43, -1, 17, 1, 43, -1, 1, 43, - -1, 43, -1, 17, 49, -1, 50, 49, -1, 17, - 3, 49, -1, 50, 3, 49, -1, -1, 4, -1, + 44, 0, -1, 45, -1, -1, 45, 46, 47, -1, + 46, 47, -1, -1, 3, 42, -1, 4, 42, -1, + 5, 13, 48, 42, -1, 5, 13, 3, 42, -1, + 5, 14, 48, 42, -1, 5, 14, 3, 42, -1, + 5, 35, 48, 42, -1, 5, 35, 3, 42, -1, + 5, 36, 48, 42, -1, 5, 36, 3, 42, -1, + 5, 23, 48, 42, -1, 5, 23, 3, 42, -1, + 5, 15, 48, 42, -1, 5, 15, 3, 42, -1, + 8, 38, 23, 48, 42, -1, 8, 38, 23, 3, + 42, -1, 8, 38, 37, 48, 42, -1, 8, 38, + 37, 3, 42, -1, 8, 38, 3, 42, -1, 39, + 38, 23, 48, 42, -1, 39, 38, 23, 3, 42, + -1, 39, 38, 3, 42, -1, 6, 23, 48, 42, + -1, 6, 23, 3, 42, -1, 6, 10, 48, 42, + -1, 6, 10, 3, 42, -1, 6, 11, 48, 42, + -1, 6, 11, 3, 42, -1, 6, 12, 48, 42, + -1, 6, 12, 3, 42, -1, 6, 16, 48, 42, + -1, 6, 16, 3, 42, -1, 6, 15, 48, 42, + -1, 6, 15, 3, 42, -1, 6, 32, 48, 42, + -1, 6, 32, 3, 42, -1, 7, 23, 48, 42, + -1, 7, 23, 3, 42, -1, 7, 10, 48, 42, + -1, 7, 10, 3, 42, -1, 7, 16, 48, 42, + -1, 7, 16, 3, 42, -1, 7, 15, 48, 42, + -1, 7, 15, 3, 42, -1, 7, 32, 48, 42, + -1, 7, 32, 3, 42, -1, 8, 14, 48, 42, + -1, 8, 14, 3, 42, -1, 8, 23, 48, 42, + -1, 8, 23, 3, 42, -1, 8, 18, 48, 42, + -1, 8, 18, 3, 42, -1, 8, 19, 48, 42, + -1, 8, 19, 3, 42, -1, 8, 20, 48, 42, + -1, 8, 20, 3, 42, -1, 8, 21, 48, 42, + -1, 8, 21, 3, 42, -1, 8, 22, 48, 42, + -1, 8, 22, 3, 42, -1, 8, 26, 48, 42, + -1, 8, 26, 3, 42, -1, 8, 27, 48, 42, + -1, 8, 27, 3, 42, -1, 8, 24, 48, 42, + -1, 8, 24, 3, 42, -1, 8, 25, 48, 42, + -1, 8, 25, 3, 42, -1, 8, 40, 48, 42, + -1, 8, 40, 3, 42, -1, 8, 41, 48, 42, + -1, 8, 41, 3, 42, -1, 8, 15, 48, 42, + -1, 8, 15, 3, 42, -1, 8, 32, 48, 42, + -1, 8, 32, 3, 42, -1, 39, 18, 48, 42, + -1, 39, 18, 3, 42, -1, 39, 19, 48, 42, + -1, 39, 19, 3, 42, -1, 39, 23, 48, 42, + -1, 39, 23, 3, 42, -1, 39, 24, 48, 42, + -1, 39, 24, 3, 42, -1, 39, 25, 48, 42, + -1, 39, 25, 3, 42, -1, 39, 15, 48, 42, + -1, 39, 15, 3, 42, -1, 9, 28, 48, 42, + -1, 9, 28, 3, 42, -1, 9, 14, 48, 42, + -1, 9, 14, 3, 42, -1, 9, 15, 48, 42, + -1, 9, 15, 3, 42, -1, 30, 13, 48, 42, + -1, 30, 13, 3, 42, -1, 30, 14, 48, 42, + -1, 30, 14, 3, 42, -1, 30, 31, 48, 42, + -1, 30, 31, 3, 42, -1, 30, 15, 48, 42, + -1, 30, 15, 3, 42, -1, 30, 23, 48, 42, + -1, 30, 23, 3, 42, -1, 32, 33, 42, -1, + 32, 34, 42, -1, 3, 49, 42, -1, 3, 49, + 49, 42, -1, 3, 49, 17, 48, 42, -1, 3, + 49, 49, 49, 42, -1, 3, 49, 49, 17, 48, + 42, -1, 3, 17, 48, 42, -1, 3, 1, 42, + -1, 49, 3, 42, -1, 49, 17, 1, 42, -1, + 49, 1, 42, -1, 17, 1, 42, -1, 1, 42, + -1, 42, -1, 17, 48, -1, 49, 48, -1, 17, + 3, 48, -1, 49, 3, 48, -1, -1, 4, -1, 5, -1, 6, -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, -1, 12, -1, 13, -1, 14, -1, 15, -1, 16, -1, 18, -1, 19, -1, 20, -1, - 21, -1, 24, -1, 27, -1, 28, -1, 25, -1, - 26, -1, 29, -1, 30, -1, 31, -1, 32, -1, + 23, -1, 26, -1, 27, -1, 24, -1, 25, -1, + 28, -1, 29, -1, 30, -1, 31, -1, 32, -1, 33, -1, 34, -1, 35, -1, 36, -1, 37, -1, - 38, -1, 39, -1, 40, -1, 41, -1, 42, -1, - 23, -1, 22, -1 + 38, -1, 39, -1, 40, -1, 41, -1, 22, -1, + 21, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 98, 98, 102, 109, 112, 119, 127, 131, 135, - 139, 143, 147, 151, 155, 159, 163, 167, 171, 175, - 179, 183, 187, 191, 195, 199, 203, 207, 211, 215, - 219, 223, 227, 231, 235, 239, 243, 247, 251, 255, - 259, 263, 267, 271, 275, 279, 283, 287, 291, 295, - 299, 303, 307, 311, 315, 319, 323, 327, 331, 335, - 339, 343, 347, 351, 355, 359, 363, 367, 371, 375, - 379, 383, 387, 391, 395, 399, 403, 407, 411, 415, - 419, 423, 427, 431, 435, 439, 443, 447, 451, 455, - 459, 463, 467, 471, 475, 479, 483, 487, 491, 495, - 499, 503, 507, 511, 515, 519, 523, 527, 531, 535, - 539, 543, 547, 551, 555, 559, 563, 567, 571, 582, - 586, 597, 608, 612, 616, 620, 626, 631, 636, 640, - 648, 653, 658, 664, 671, 679, 682, 685, 688, 691, - 694, 697, 700, 703, 706, 709, 712, 715, 718, 721, - 724, 727, 730, 733, 736, 739, 742, 745, 748, 751, - 754, 757, 760, 763, 766, 769, 772, 775, 778, 781, - 784, 787, 790 + 0, 100, 100, 104, 111, 114, 121, 129, 133, 137, + 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, + 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, + 221, 225, 229, 233, 237, 241, 245, 249, 253, 257, + 261, 265, 269, 273, 277, 281, 285, 289, 293, 297, + 301, 305, 309, 313, 317, 321, 325, 329, 333, 337, + 341, 345, 349, 353, 357, 361, 365, 369, 373, 377, + 381, 385, 389, 393, 397, 401, 405, 409, 413, 417, + 421, 425, 429, 433, 437, 441, 445, 449, 453, 457, + 461, 465, 469, 473, 477, 481, 485, 489, 493, 497, + 501, 505, 509, 513, 517, 521, 525, 529, 533, 537, + 541, 545, 549, 553, 557, 568, 572, 583, 594, 598, + 602, 606, 612, 617, 622, 626, 634, 639, 644, 650, + 657, 665, 668, 671, 674, 677, 680, 683, 686, 689, + 692, 695, 698, 701, 704, 707, 710, 713, 716, 719, + 722, 725, 728, 731, 734, 737, 740, 743, 746, 749, + 752, 755, 758, 761, 764, 767, 770, 773 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 0 +#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -627,15 +631,15 @@ static const char *const yytname[] = "ICE_GRID_SERVER", "ICE_GRID_ADAPTER", "ICE_GRID_PING", "ICE_GRID_LOAD", "ICE_GRID_SOCKETS", "ICE_GRID_ADD", "ICE_GRID_REMOVE", "ICE_GRID_LIST", "ICE_GRID_SHUTDOWN", "ICE_GRID_STRING", "ICE_GRID_START", - "ICE_GRID_STOP", "ICE_GRID_PATCH", "ICE_GRID_SIGNAL", "ICE_GRID_STDOUT", - "ICE_GRID_STDERR", "ICE_GRID_DESCRIBE", "ICE_GRID_PROPERTIES", - "ICE_GRID_PROPERTY", "ICE_GRID_STATE", "ICE_GRID_PID", - "ICE_GRID_ENDPOINTS", "ICE_GRID_ACTIVATION", "ICE_GRID_OBJECT", - "ICE_GRID_FIND", "ICE_GRID_SHOW", "ICE_GRID_COPYING", - "ICE_GRID_WARRANTY", "ICE_GRID_DIFF", "ICE_GRID_UPDATE", - "ICE_GRID_INSTANTIATE", "ICE_GRID_TEMPLATE", "ICE_GRID_SERVICE", - "ICE_GRID_ENABLE", "ICE_GRID_DISABLE", "';'", "$accept", "start", - "commands", "checkInterrupted", "command", "strings", "keyword", YY_NULL + "ICE_GRID_STOP", "ICE_GRID_SIGNAL", "ICE_GRID_STDOUT", "ICE_GRID_STDERR", + "ICE_GRID_DESCRIBE", "ICE_GRID_PROPERTIES", "ICE_GRID_PROPERTY", + "ICE_GRID_STATE", "ICE_GRID_PID", "ICE_GRID_ENDPOINTS", + "ICE_GRID_ACTIVATION", "ICE_GRID_OBJECT", "ICE_GRID_FIND", + "ICE_GRID_SHOW", "ICE_GRID_COPYING", "ICE_GRID_WARRANTY", + "ICE_GRID_DIFF", "ICE_GRID_UPDATE", "ICE_GRID_INSTANTIATE", + "ICE_GRID_TEMPLATE", "ICE_GRID_SERVICE", "ICE_GRID_ENABLE", + "ICE_GRID_DISABLE", "';'", "$accept", "start", "commands", + "checkInterrupted", "command", "strings", "keyword", 0 }; #endif @@ -648,31 +652,30 @@ static const yytype_uint16 yytoknum[] = 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 59 + 295, 296, 59 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 44, 45, 45, 46, 46, 47, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50 + 0, 43, 44, 44, 45, 45, 46, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, + 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -680,7 +683,7 @@ static const yytype_uint8 yyr2[] = { 0, 2, 1, 0, 3, 2, 0, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 5, 5, 5, 5, 4, 5, 5, + 4, 5, 5, 5, 5, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -689,604 +692,392 @@ static const yytype_uint8 yyr2[] = 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 3, 3, 3, 4, 5, - 5, 6, 4, 3, 3, 4, 3, 3, 2, 1, - 2, 2, 3, 3, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 4, 3, 3, 3, 4, 5, 5, 6, 4, 3, + 3, 4, 3, 3, 2, 1, 2, 2, 3, 3, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1 }; -/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE doesn't specify something else to do. Zero +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { - 6, 0, 6, 0, 1, 0, 0, 0, 135, 136, - 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, - 147, 0, 148, 149, 150, 151, 172, 171, 152, 155, - 156, 153, 154, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 129, 5, 0, - 4, 128, 0, 135, 136, 137, 138, 139, 140, 134, - 159, 161, 168, 7, 0, 8, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 134, 134, 0, - 134, 134, 134, 134, 134, 0, 134, 134, 134, 134, - 134, 0, 0, 134, 134, 134, 134, 134, 134, 0, - 0, 0, 0, 123, 134, 0, 134, 134, 117, 0, + 6, 0, 6, 0, 1, 0, 0, 0, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 0, 144, 145, 146, 167, 166, 147, 150, 151, + 148, 149, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 125, 5, 0, 4, + 124, 0, 131, 132, 133, 134, 135, 136, 130, 154, + 156, 163, 7, 0, 8, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 0, 130, 130, 130, + 130, 130, 0, 130, 130, 130, 130, 130, 0, 0, + 130, 130, 130, 130, 130, 130, 0, 0, 0, 0, + 119, 130, 0, 130, 130, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 134, 134, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 134, 126, 124, 0, 134, - 130, 122, 134, 131, 0, 134, 118, 0, 10, 9, - 12, 11, 22, 21, 20, 19, 18, 17, 14, 13, - 16, 15, 34, 33, 36, 35, 38, 37, 42, 41, - 40, 39, 32, 31, 44, 43, 48, 47, 52, 51, - 50, 49, 46, 45, 54, 53, 56, 55, 84, 83, - 60, 59, 62, 61, 64, 63, 66, 65, 68, 67, - 70, 69, 58, 57, 76, 75, 78, 77, 72, 71, - 74, 73, 86, 85, 27, 0, 0, 0, 0, 80, - 79, 82, 81, 102, 101, 104, 103, 100, 99, 106, - 105, 108, 107, 112, 111, 114, 113, 110, 109, 98, - 97, 88, 87, 90, 89, 92, 91, 94, 93, 96, - 95, 30, 0, 0, 125, 132, 133, 119, 0, 120, - 24, 23, 26, 25, 29, 28, 121 + 130, 130, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 111, 112, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 130, 122, + 120, 0, 130, 126, 118, 130, 127, 0, 130, 114, + 0, 10, 9, 12, 11, 20, 19, 18, 17, 14, + 13, 16, 15, 32, 31, 34, 33, 36, 35, 40, + 39, 38, 37, 30, 29, 42, 41, 46, 45, 50, + 49, 48, 47, 44, 43, 52, 51, 54, 53, 80, + 79, 58, 57, 60, 59, 62, 61, 64, 63, 66, + 65, 56, 55, 72, 71, 74, 73, 68, 67, 70, + 69, 82, 81, 25, 0, 0, 0, 0, 76, 75, + 78, 77, 98, 97, 100, 99, 96, 95, 102, 101, + 104, 103, 108, 107, 110, 109, 106, 105, 94, 93, + 84, 83, 86, 85, 88, 87, 90, 89, 92, 91, + 28, 0, 0, 121, 128, 129, 115, 0, 116, 22, + 21, 24, 23, 27, 26, 117 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { - -1, 1, 2, 3, 48, 125, 126 + -1, 1, 2, 3, 47, 122, 123 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -67 +#define YYPACT_NINF -66 static const yytype_int16 yypact[] = { - 39, 53, 56, 61, -67, 61, 20, 179, 69, 93, - 142, 2492, 123, 95, -67, -67, -67, -67, -67, -67, - -67, 117, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, 146, -67, 11, -67, -67, - -67, -67, -67, -67, 96, -67, -67, -67, -67, 122, - -67, -67, 76, -67, -67, -67, -67, -67, -67, 2459, - -67, -67, -67, -67, 219, -67, 260, 300, 340, 380, - 420, 460, 500, 540, 580, 620, 660, 700, 740, 780, - 820, 860, 900, 940, 980, 1020, 1060, 1100, 1140, 1180, - 1220, 1260, 1300, 1340, 1380, 1420, 1460, 1500, 1540, 102, - 1580, 1620, 1660, 1700, 1740, 84, 1780, 1820, 1860, 1900, - 1940, 85, 90, 1980, 2020, 2060, 2100, 2140, 2180, 30, - 91, 112, 135, -67, 2220, 120, 2260, 2459, -67, 2299, - 124, 125, 128, 129, 131, 134, 139, 2460, 2461, 2462, - 2463, 2466, 2467, 2468, 2469, 2470, 2471, 2472, 2474, 2475, - 2476, 2477, 2478, 2479, 2480, 2481, 2483, 2484, 2485, 2486, - 2487, 2488, 2489, 2490, 2491, 2493, 2494, 2495, 2496, 2497, - 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, - 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, - 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2340, 2380, 2525, - 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, -67, - 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, - -67, -67, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, - 2553, 2554, 2555, 2556, 2557, 2420, -67, -67, 2558, 2459, - -67, -67, 2459, -67, 2559, 2459, -67, 2560, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, 2561, 2562, 2563, 2564, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, - -67, -67, 2565, 2566, -67, -67, -67, -67, 2567, -67, - -67, -67, -67, -67, -67, -67, -67 + 31, 52, 54, 59, -66, 59, 19, 171, 64, 2345, + 2351, 100, 119, 103, -66, -66, -66, -66, -66, -66, + -66, 108, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, 135, -66, 10, -66, -66, -66, + -66, -66, -66, 89, -66, -66, -66, -66, 102, -66, + -66, 78, -66, -66, -66, -66, -66, -66, 2316, -66, + -66, -66, -66, 210, -66, 250, 289, 328, 367, 406, + 445, 484, 523, 562, 601, 640, 679, 718, 757, 796, + 835, 874, 913, 952, 991, 1030, 1069, 1108, 1147, 1186, + 1225, 1264, 1303, 1342, 1381, 1420, 99, 1459, 1498, 1537, + 1576, 1615, 79, 1654, 1693, 1732, 1771, 1810, 82, 86, + 1849, 1888, 1927, 1966, 2005, 2044, 34, 87, 88, 134, + -66, 2083, 105, 2122, 2316, -66, 2160, 110, 111, 112, + 113, 114, 120, 122, 123, 126, 127, 129, 2322, 2323, + 2327, 2328, 2329, 2330, 2331, 2333, 2334, 2335, 2336, 2337, + 2340, 2342, 2343, 2344, 2346, 2347, 2348, 2349, 2350, 2352, + 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, + 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, + 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, + 2200, 2239, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, + 2391, 2392, -66, 2393, 2394, 2395, 2396, 2397, 2398, 2399, + 2400, 2401, 2402, -66, -66, 2403, 2404, 2405, 2406, 2407, + 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2278, -66, + -66, 2416, 2316, -66, -66, 2316, -66, 2417, 2316, -66, + 2418, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, 2419, 2420, 2421, 2422, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, + -66, 2423, 2424, -66, -66, -66, -66, 2425, -66, -66, + -66, -66, -66, -66, -66, -66 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -67, -67, -67, 2609, 2607, -66, 52 + -66, -66, -66, 159, 2463, -65, 48 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which - number is the opposite. If YYTABLE_NINF, syntax error. */ + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -4 static const yytype_int16 yytable[] = { - 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, - 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, - 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, - 191, 193, 195, 234, 200, 202, 204, 206, 208, -3, - 211, 213, 215, 217, 219, 111, 112, 223, 225, 227, - 229, 231, 233, 4, 235, 49, -2, 49, 240, 64, - 243, 244, 6, 51, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 46, 47, 196, 66, 67, 68, 102, - 103, 113, 65, 69, 114, 115, 129, 70, 105, 123, - 116, 117, 118, 120, 104, 121, 197, 209, 220, 71, - 72, 316, 318, 221, 236, 119, 238, 85, 86, 122, - 198, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 73, 74, 75, 237, 98, 76, 77, 106, - 107, 108, 99, 241, 100, 101, 78, 248, 249, 353, - 109, 250, 251, 355, 252, 79, 356, 253, 110, 358, - 52, 247, 254, 53, 54, 55, 56, 57, 58, 14, - 15, 16, 17, 18, 19, 20, 59, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 60, 36, 61, 38, 39, 40, 41, 42, 43, 62, - 45, 46, 63, 53, 54, 55, 56, 57, 58, 14, - 15, 16, 17, 18, 19, 20, 127, 22, 23, 24, + 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, + 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, + 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, + 188, -3, 193, 195, 197, 199, 201, 227, 204, 206, + 208, 210, 212, 108, 109, 216, 218, 220, 222, 224, + 226, 48, 4, 48, -2, 63, 233, 228, 236, 237, + 6, 50, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 60, 36, 61, 38, 39, 40, 41, 42, 43, 62, - 45, 46, 128, 130, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 132, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 134, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 136, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 138, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 140, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 142, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 144, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 146, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 148, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 150, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 152, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 154, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 156, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 158, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 160, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 162, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 164, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 166, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 168, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 170, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 172, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 174, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 176, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 178, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 180, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 182, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 184, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 186, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 188, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 190, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 192, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 194, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 199, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 201, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 203, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 205, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 207, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 210, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 212, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 214, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 216, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 218, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 222, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 224, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 226, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 228, 53, 54, 55, 56, 57, 58, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 189, 117, 110, 118, 64, 111, 112, 102, + 78, 126, 113, 114, 115, 79, 80, 99, 100, 119, + 120, 202, 190, 81, 213, 305, 307, 116, 214, 229, + 230, 101, 82, 83, 84, 231, 191, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 234, 103, 104, + 105, 95, 241, 242, 243, 244, 245, 96, 106, 97, + 98, 5, 246, 342, 247, 248, 107, 344, 249, 250, + 345, 251, 51, 347, 240, 52, 53, 54, 55, 56, + 57, 14, 15, 16, 17, 18, 19, 20, 58, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 59, 35, 60, 37, 38, 39, 40, 41, 42, + 61, 44, 45, 62, 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 230, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 125, 127, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 232, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 129, 52, 53, 54, 55, 56, 57, 14, + 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 59, + 35, 60, 37, 38, 39, 40, 41, 42, 61, 44, + 45, 131, 52, 53, 54, 55, 56, 57, 14, 15, + 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 59, 35, + 60, 37, 38, 39, 40, 41, 42, 61, 44, 45, + 133, 52, 53, 54, 55, 56, 57, 14, 15, 16, + 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 59, 35, 60, + 37, 38, 39, 40, 41, 42, 61, 44, 45, 135, + 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, + 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 59, 35, 60, 37, + 38, 39, 40, 41, 42, 61, 44, 45, 137, 52, + 53, 54, 55, 56, 57, 14, 15, 16, 17, 18, + 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 59, 35, 60, 37, 38, + 39, 40, 41, 42, 61, 44, 45, 139, 52, 53, + 54, 55, 56, 57, 14, 15, 16, 17, 18, 19, + 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 59, 35, 60, 37, 38, 39, + 40, 41, 42, 61, 44, 45, 141, 52, 53, 54, + 55, 56, 57, 14, 15, 16, 17, 18, 19, 20, + 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 59, 35, 60, 37, 38, 39, 40, + 41, 42, 61, 44, 45, 143, 52, 53, 54, 55, + 56, 57, 14, 15, 16, 17, 18, 19, 20, 121, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 59, 35, 60, 37, 38, 39, 40, 41, + 42, 61, 44, 45, 145, 52, 53, 54, 55, 56, + 57, 14, 15, 16, 17, 18, 19, 20, 121, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 59, 35, 60, 37, 38, 39, 40, 41, 42, + 61, 44, 45, 147, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 239, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 149, 52, 53, 54, 55, 56, 57, 14, + 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 59, + 35, 60, 37, 38, 39, 40, 41, 42, 61, 44, + 45, 151, 52, 53, 54, 55, 56, 57, 14, 15, + 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 59, 35, + 60, 37, 38, 39, 40, 41, 42, 61, 44, 45, + 153, 52, 53, 54, 55, 56, 57, 14, 15, 16, + 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 59, 35, 60, + 37, 38, 39, 40, 41, 42, 61, 44, 45, 155, + 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, + 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 59, 35, 60, 37, + 38, 39, 40, 41, 42, 61, 44, 45, 157, 52, + 53, 54, 55, 56, 57, 14, 15, 16, 17, 18, + 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 59, 35, 60, 37, 38, + 39, 40, 41, 42, 61, 44, 45, 159, 52, 53, + 54, 55, 56, 57, 14, 15, 16, 17, 18, 19, + 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 59, 35, 60, 37, 38, 39, + 40, 41, 42, 61, 44, 45, 161, 52, 53, 54, + 55, 56, 57, 14, 15, 16, 17, 18, 19, 20, + 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 59, 35, 60, 37, 38, 39, 40, + 41, 42, 61, 44, 45, 163, 52, 53, 54, 55, + 56, 57, 14, 15, 16, 17, 18, 19, 20, 121, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 59, 35, 60, 37, 38, 39, 40, 41, + 42, 61, 44, 45, 165, 52, 53, 54, 55, 56, + 57, 14, 15, 16, 17, 18, 19, 20, 121, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 59, 35, 60, 37, 38, 39, 40, 41, 42, + 61, 44, 45, 167, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 242, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 169, 52, 53, 54, 55, 56, 57, 14, + 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 59, + 35, 60, 37, 38, 39, 40, 41, 42, 61, 44, + 45, 171, 52, 53, 54, 55, 56, 57, 14, 15, + 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 59, 35, + 60, 37, 38, 39, 40, 41, 42, 61, 44, 45, + 173, 52, 53, 54, 55, 56, 57, 14, 15, 16, + 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 59, 35, 60, + 37, 38, 39, 40, 41, 42, 61, 44, 45, 175, + 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, + 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 59, 35, 60, 37, + 38, 39, 40, 41, 42, 61, 44, 45, 177, 52, + 53, 54, 55, 56, 57, 14, 15, 16, 17, 18, + 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 59, 35, 60, 37, 38, + 39, 40, 41, 42, 61, 44, 45, 179, 52, 53, + 54, 55, 56, 57, 14, 15, 16, 17, 18, 19, + 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 59, 35, 60, 37, 38, 39, + 40, 41, 42, 61, 44, 45, 181, 52, 53, 54, + 55, 56, 57, 14, 15, 16, 17, 18, 19, 20, + 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 59, 35, 60, 37, 38, 39, 40, + 41, 42, 61, 44, 45, 183, 52, 53, 54, 55, + 56, 57, 14, 15, 16, 17, 18, 19, 20, 121, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 59, 35, 60, 37, 38, 39, 40, 41, + 42, 61, 44, 45, 185, 52, 53, 54, 55, 56, + 57, 14, 15, 16, 17, 18, 19, 20, 121, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 59, 35, 60, 37, 38, 39, 40, 41, 42, + 61, 44, 45, 187, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 53, 54, 55, 56, 57, 58, 14, - 15, 16, 17, 18, 19, 20, 245, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 60, 36, 61, 38, 39, 40, 41, 42, 43, 62, - 45, 46, 246, 315, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 192, 52, 53, 54, 55, 56, 57, 14, + 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 59, + 35, 60, 37, 38, 39, 40, 41, 42, 61, 44, + 45, 194, 52, 53, 54, 55, 56, 57, 14, 15, + 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 59, 35, + 60, 37, 38, 39, 40, 41, 42, 61, 44, 45, + 196, 52, 53, 54, 55, 56, 57, 14, 15, 16, + 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 59, 35, 60, + 37, 38, 39, 40, 41, 42, 61, 44, 45, 198, + 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, + 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 59, 35, 60, 37, + 38, 39, 40, 41, 42, 61, 44, 45, 200, 52, + 53, 54, 55, 56, 57, 14, 15, 16, 17, 18, + 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 59, 35, 60, 37, 38, + 39, 40, 41, 42, 61, 44, 45, 203, 52, 53, + 54, 55, 56, 57, 14, 15, 16, 17, 18, 19, + 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 59, 35, 60, 37, 38, 39, + 40, 41, 42, 61, 44, 45, 205, 52, 53, 54, + 55, 56, 57, 14, 15, 16, 17, 18, 19, 20, + 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 59, 35, 60, 37, 38, 39, 40, + 41, 42, 61, 44, 45, 207, 52, 53, 54, 55, + 56, 57, 14, 15, 16, 17, 18, 19, 20, 121, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 59, 35, 60, 37, 38, 39, 40, 41, + 42, 61, 44, 45, 209, 52, 53, 54, 55, 56, + 57, 14, 15, 16, 17, 18, 19, 20, 121, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 59, 35, 60, 37, 38, 39, 40, 41, 42, + 61, 44, 45, 211, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 317, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 215, 52, 53, 54, 55, 56, 57, 14, + 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 59, + 35, 60, 37, 38, 39, 40, 41, 42, 61, 44, + 45, 217, 52, 53, 54, 55, 56, 57, 14, 15, + 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 59, 35, + 60, 37, 38, 39, 40, 41, 42, 61, 44, 45, + 219, 52, 53, 54, 55, 56, 57, 14, 15, 16, + 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 59, 35, 60, + 37, 38, 39, 40, 41, 42, 61, 44, 45, 221, + 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, + 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 59, 35, 60, 37, + 38, 39, 40, 41, 42, 61, 44, 45, 223, 52, + 53, 54, 55, 56, 57, 14, 15, 16, 17, 18, + 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 59, 35, 60, 37, 38, + 39, 40, 41, 42, 61, 44, 45, 225, 52, 53, + 54, 55, 56, 57, 14, 15, 16, 17, 18, 19, + 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 59, 35, 60, 37, 38, 39, + 40, 41, 42, 61, 44, 45, 232, 52, 53, 54, + 55, 56, 57, 14, 15, 16, 17, 18, 19, 20, + 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 59, 35, 60, 37, 38, 39, 40, + 41, 42, 61, 44, 45, 235, 52, 53, 54, 55, + 56, 57, 14, 15, 16, 17, 18, 19, 20, 121, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 59, 35, 60, 37, 38, 39, 40, 41, + 42, 61, 44, 45, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 238, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 352, 53, 54, 55, 56, 57, 58, - 14, 15, 16, 17, 18, 19, 20, 124, 22, 23, + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 239, 304, 52, 53, 54, 55, 56, 57, + 14, 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, - 34, 60, 36, 61, 38, 39, 40, 41, 42, 43, - 62, 45, 46, 53, 54, 55, 56, 57, 58, 14, - 15, 16, 17, 18, 19, 20, 124, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 60, 36, 61, 38, 39, 40, 41, 42, 43, 62, - 45, 46, 80, 255, 256, 257, 258, 81, 82, 259, - 260, 261, 262, 263, 264, 265, 83, 266, 267, 268, - 269, 270, 271, 272, 273, 84, 274, 275, 276, 277, - 278, 279, 280, 281, 282, 0, 283, 284, 285, 286, - 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, - 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, - 307, 308, 309, 310, 311, 312, 313, 314, 319, 320, - 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, - 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, - 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 351, 354, 357, 359, 360, 361, 362, 363, 364, 365, - 366, 5, 50 + 59, 35, 60, 37, 38, 39, 40, 41, 42, 61, + 44, 45, 306, 52, 53, 54, 55, 56, 57, 14, + 15, 16, 17, 18, 19, 20, 121, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 59, + 35, 60, 37, 38, 39, 40, 41, 42, 61, 44, + 45, 341, 52, 53, 54, 55, 56, 57, 14, 15, + 16, 17, 18, 19, 20, 121, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 59, 35, + 60, 37, 38, 39, 40, 41, 42, 61, 44, 45, + 52, 53, 54, 55, 56, 57, 14, 15, 16, 17, + 18, 19, 20, 121, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 59, 35, 60, 37, + 38, 39, 40, 41, 42, 61, 44, 45, 65, 66, + 67, 71, 72, 73, 252, 253, 74, 75, 68, 254, + 255, 256, 257, 258, 76, 259, 260, 261, 262, 263, + 69, 70, 264, 77, 265, 266, 267, 0, 268, 269, + 270, 271, 272, 0, 273, 274, 275, 276, 277, 278, + 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, + 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, + 299, 300, 301, 302, 303, 308, 309, 310, 311, 312, + 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, + 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, + 333, 334, 335, 336, 337, 338, 339, 340, 343, 346, + 348, 349, 350, 351, 352, 353, 354, 355, 49 }; -#define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-67))) - -#define yytable_value_is_error(Yytable_value) \ - YYID (0) - static const yytype_int16 yycheck[] = { - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 3, 100, 101, 102, 103, 104, 0, - 106, 107, 108, 109, 110, 34, 35, 113, 114, 115, - 116, 117, 118, 0, 24, 3, 0, 5, 124, 7, - 126, 127, 1, 43, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 3, 13, 14, 15, 14, - 15, 15, 43, 20, 18, 19, 64, 24, 1, 43, - 24, 25, 26, 1, 29, 3, 24, 43, 43, 36, - 37, 197, 198, 43, 43, 39, 1, 14, 15, 17, - 38, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 10, 11, 12, 43, 33, 15, 16, 13, - 14, 15, 39, 43, 41, 42, 24, 43, 43, 235, - 24, 43, 43, 239, 43, 33, 242, 43, 32, 245, - 1, 129, 43, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 4, 5, 6, 7, 8, 9, 10, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 0, 97, 98, 99, 100, 101, 3, 103, 104, + 105, 106, 107, 33, 34, 110, 111, 112, 113, 114, + 115, 3, 0, 5, 0, 7, 121, 23, 123, 124, + 1, 42, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, + 41, 42, 3, 1, 15, 3, 42, 18, 19, 1, + 10, 63, 23, 24, 25, 15, 16, 14, 15, 17, + 42, 42, 23, 23, 42, 190, 191, 38, 42, 42, + 42, 28, 32, 14, 15, 1, 37, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 42, 13, 14, + 15, 32, 42, 42, 42, 42, 42, 38, 23, 40, + 41, 2, 42, 228, 42, 42, 31, 232, 42, 42, + 235, 42, 1, 238, 126, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, @@ -1294,27 +1085,194 @@ static const yytype_int16 yycheck[] = 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, + 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, + 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, + 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 4, 5, 6, 7, 8, 9, 10, + 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 3, 4, 5, 6, 7, 8, 9, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 3, 4, 5, 6, 7, 8, 9, + 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, @@ -1322,65 +1280,71 @@ static const yytype_int16 yycheck[] = 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 4, 5, 6, 7, 8, 9, 10, + 40, 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 10, 43, 43, 43, 43, 15, 16, 43, - 43, 43, 43, 43, 43, 43, 24, 43, 43, 43, - 43, 43, 43, 43, 43, 33, 43, 43, 43, 43, - 43, 43, 43, 43, 43, -1, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 2, 5 + 41, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 13, 14, + 15, 10, 11, 12, 42, 42, 15, 16, 23, 42, + 42, 42, 42, 42, 23, 42, 42, 42, 42, 42, + 35, 36, 42, 32, 42, 42, 42, -1, 42, 42, + 42, 42, 42, -1, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 5 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 45, 46, 47, 0, 47, 1, 3, 4, 5, + 0, 44, 45, 46, 0, 46, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 48, 50, - 48, 43, 1, 4, 5, 6, 7, 8, 9, 17, - 31, 33, 40, 43, 50, 43, 13, 14, 15, 20, - 24, 36, 37, 10, 11, 12, 15, 16, 24, 33, - 10, 15, 16, 24, 33, 14, 15, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 33, 39, - 41, 42, 14, 15, 29, 1, 13, 14, 15, 24, - 32, 34, 35, 15, 18, 19, 24, 25, 26, 39, - 1, 3, 17, 43, 17, 49, 50, 17, 43, 50, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 49, 3, 24, 38, 3, - 49, 3, 49, 3, 49, 3, 49, 3, 49, 43, - 3, 49, 3, 49, 3, 49, 3, 49, 3, 49, - 43, 43, 3, 49, 3, 49, 3, 49, 3, 49, - 3, 49, 3, 49, 3, 24, 43, 43, 1, 3, - 49, 43, 3, 49, 49, 17, 43, 50, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 3, 49, 3, 49, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 3, 49, 43, 49, 49, 43, 49, 43, - 43, 43, 43, 43, 43, 43, 43 + 36, 37, 38, 39, 40, 41, 42, 47, 49, 47, + 42, 1, 4, 5, 6, 7, 8, 9, 17, 30, + 32, 39, 42, 49, 42, 13, 14, 15, 23, 35, + 36, 10, 11, 12, 15, 16, 23, 32, 10, 15, + 16, 23, 32, 14, 15, 18, 19, 20, 21, 22, + 23, 24, 25, 26, 27, 32, 38, 40, 41, 14, + 15, 28, 1, 13, 14, 15, 23, 31, 33, 34, + 15, 18, 19, 23, 24, 25, 38, 1, 3, 17, + 42, 17, 48, 49, 17, 42, 49, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, + 23, 37, 3, 48, 3, 48, 3, 48, 3, 48, + 3, 48, 42, 3, 48, 3, 48, 3, 48, 3, + 48, 3, 48, 42, 42, 3, 48, 3, 48, 3, + 48, 3, 48, 3, 48, 3, 48, 3, 23, 42, + 42, 1, 3, 48, 42, 3, 48, 48, 17, 42, + 49, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 3, 48, 3, 48, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 3, 48, 42, 48, 48, 42, 48, 42, 42, + 42, 42, 42, 42, 42, 42 }; #define yyerrok (yyerrstatus = 0) @@ -1395,50 +1359,78 @@ static const yytype_uint8 yystos[] = /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ + Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY && yylen == 1) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ + YYPOPSTACK (1); \ + goto yybackup; \ + } \ + else \ + { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) -/* Error token number */ + #define YYTERROR 1 #define YYERRCODE 256 -/* This macro is provided for backward compatibility. */ +/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. + If N is 0, then set CURRENT to the empty location which ends + the previous symbol: RHS[0] (always defined). */ + +#define YYRHSLOC(Rhs, K) ((Rhs)[K]) +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + do \ + if (YYID (N)) \ + { \ + (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ + (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ + (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ + (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ + } \ + else \ + { \ + (Current).first_line = (Current).last_line = \ + YYRHSLOC (Rhs, 0).last_line; \ + (Current).first_column = (Current).last_column = \ + YYRHSLOC (Rhs, 0).last_column; \ + } \ + while (YYID (0)) +#endif + + +/* YY_LOCATION_PRINT -- Print the location on the stream. + This macro was not mandated originally: define only if we know + we won't break user code: when these are the locations we know. */ + #ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# define YY_LOCATION_PRINT(File, Loc) \ + fprintf (File, "%d.%d-%d.%d", \ + (Loc).first_line, (Loc).first_column, \ + (Loc).last_line, (Loc).last_column) +# else +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +# endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ + #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else @@ -1488,8 +1480,6 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) YYSTYPE const * const yyvaluep; #endif { - FILE *yyo = yyoutput; - YYUSE (yyo); if (!yyvaluep) return; # ifdef YYPRINT @@ -1501,7 +1491,7 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) switch (yytype) { default: - break; + break; } } @@ -1539,20 +1529,17 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) #else static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; +yy_stack_print (bottom, top) + yytype_int16 *bottom; + yytype_int16 *top; #endif { YYFPRINTF (stderr, "Stack now"); - for (; yybottom <= yytop; yybottom++) - { - int yybot = *yybottom; - YYFPRINTF (stderr, " %d", yybot); - } + for (; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } @@ -1586,11 +1573,11 @@ yy_reduce_print (yyvsp, yyrule) /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { - YYFPRINTF (stderr, " $%d = ", yyi + 1); + fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); - YYFPRINTF (stderr, "\n"); + fprintf (stderr, "\n"); } } @@ -1627,6 +1614,7 @@ int yydebug; # define YYMAXDEPTH 10000 #endif + #if YYERROR_VERBOSE @@ -1729,145 +1717,115 @@ yytnamerr (char *yyres, const char *yystr) } # endif -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, - yytype_int16 *yyssp, int yytoken) +/* Copy into YYRESULT an error message about the unexpected token + YYCHAR while in state YYSTATE. Return the number of bytes copied, + including the terminating null byte. If YYRESULT is null, do not + copy anything; just return the number of bytes that would be + copied. As a special case, return 0 if an ordinary "syntax error" + message will do. Return YYSIZE_MAXIMUM if overflow occurs during + size calculation. */ +static YYSIZE_T +yysyntax_error (char *yyresult, int yystate, int yychar) { - YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); - YYSIZE_T yysize = yysize0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULL; - /* Arguments of yyformat. */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Number of reported tokens (one for the "unexpected", one per - "expected"). */ - int yycount = 0; - - /* There are many possibilities here to consider: - - Assume YYFAIL is not used. It's too flawed to consider. See - <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html> - for details. YYERROR is fine as it does not invoke this - function. - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) - { - int yyn = yypact[*yyssp]; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - { - YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } - } - } - } + int yyn = yypact[yystate]; - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } + if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) + return 0; + else + { + int yytype = YYTRANSLATE (yychar); + YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); + YYSIZE_T yysize = yysize0; + YYSIZE_T yysize1; + int yysize_overflow = 0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + int yyx; + +# if 0 + /* This is so xgettext sees the translatable formats that are + constructed on the fly. */ + YY_("syntax error, unexpected %s"); + YY_("syntax error, unexpected %s, expecting %s"); + YY_("syntax error, unexpected %s, expecting %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s"); + YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); +# endif + char *yyfmt; + char const *yyf; + static char const yyunexpected[] = "syntax error, unexpected %s"; + static char const yyexpecting[] = ", expecting %s"; + static char const yyor[] = " or %s"; + char yyformat[sizeof yyunexpected + + sizeof yyexpecting - 1 + + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) + * (sizeof yyor - 1))]; + char const *yyprefix = yyexpecting; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 1; + + yyarg[0] = yytname[yytype]; + yyfmt = yystpcpy (yyformat, yyunexpected); + + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + yyformat[sizeof yyunexpected - 1] = '\0'; + break; + } + yyarg[yycount++] = yytname[yyx]; + yysize1 = yysize + yytnamerr (0, yytname[yyx]); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; + yyfmt = yystpcpy (yyfmt, yyprefix); + yyprefix = yyor; + } - { - YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } + yyf = YY_(yyformat); + yysize1 = yysize + yystrlen (yyf); + yysize_overflow |= (yysize1 < yysize); + yysize = yysize1; - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } + if (yysize_overflow) + return YYSIZE_MAXIMUM; - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - yyp++; - yyformat++; - } - } - return 0; + if (yyresult) + { + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + char *yyp = yyresult; + int yyi = 0; + while ((*yyp = *yyf) != '\0') + { + if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyf += 2; + } + else + { + yyp++; + yyf++; + } + } + } + return yysize; + } } #endif /* YYERROR_VERBOSE */ + /*-----------------------------------------------. | Release the memory associated to this symbol. | @@ -1896,9 +1854,28 @@ yydestruct (yymsg, yytype, yyvaluep) { default: - break; + break; } } + + +/* Prevent warnings from -Wmissing-prototypes. */ + +#ifdef YYPARSE_PARAM +#if defined __STDC__ || defined __cplusplus +int yyparse (void *YYPARSE_PARAM); +#else +int yyparse (); +#endif +#else /* ! YYPARSE_PARAM */ +#if defined __STDC__ || defined __cplusplus +int yyparse (void); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ + + @@ -1929,92 +1906,77 @@ yyparse () #endif #endif { -/* The lookahead symbol. */ + /* The look-ahead symbol. */ int yychar; +/* The semantic value of the look-ahead symbol. */ +YYSTYPE yylval; -#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ -/* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ - _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") -# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ - _Pragma ("GCC diagnostic pop") -#else -/* Default value used for initialization, for pacifying older GCCs - or non-GCC compilers. */ -static YYSTYPE yyval_default; -# define YY_INITIAL_VALUE(Value) = Value -#endif -#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN -# define YY_IGNORE_MAYBE_UNINITIALIZED_END -#endif -#ifndef YY_INITIAL_VALUE -# define YY_INITIAL_VALUE(Value) /* Nothing. */ +/* Number of syntax errors so far. */ +int yynerrs; + + int yystate; + int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Look-ahead token as an internal (translated) token number. */ + int yytoken = 0; +#if YYERROR_VERBOSE + /* Buffer for error messages, and its allocated size. */ + char yymsgbuf[128]; + char *yymsg = yymsgbuf; + YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. - /* Number of syntax errors so far. */ - int yynerrs; + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ - int yystate; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; + /* The state stack. */ + yytype_int16 yyssa[YYINITDEPTH]; + yytype_int16 *yyss = yyssa; + yytype_int16 *yyssp; - /* The stacks and their tools: - `yyss': related to states. - `yyvs': related to semantic values. + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp; - Refer to the stacks through separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss; - yytype_int16 *yyssp; - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; +#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - YYSIZE_T yystacksize; + YYSIZE_T yystacksize = YYINITDEPTH; - int yyn; - int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; - yyssp = yyss = yyssa; - yyvsp = yyvs = yyvsa; - yystacksize = YYINITDEPTH; - YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ + yychar = YYEMPTY; /* Cause a token to be read. */ + + /* Initialize stack pointers. + Waste one element of value and location stack + so that they stay on the same level as the state stack. + The wasted elements are never initialized. */ + + yyssp = yyss; + yyvsp = yyvs; + goto yysetstate; /*------------------------------------------------------------. @@ -2041,6 +2003,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; + /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might @@ -2048,6 +2011,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); yyss = yyss1; @@ -2070,8 +2034,9 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); @@ -2082,6 +2047,7 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; + YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); @@ -2091,9 +2057,6 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - if (yystate == YYFINAL) - YYACCEPT; - goto yybackup; /*-----------. @@ -2102,16 +2065,16 @@ YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); yybackup: /* Do appropriate processing given the current state. Read a - lookahead token if we need one and don't already have one. */ + look-ahead token if we need one and don't already have one. */ - /* First try to decide what to do without reference to lookahead token. */ + /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; - if (yypact_value_is_default (yyn)) + if (yyn == YYPACT_NINF) goto yydefault; - /* Not known => get a lookahead token if don't already have one. */ + /* Not known => get a look-ahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); @@ -2137,27 +2100,29 @@ yybackup: yyn = yytable[yyn]; if (yyn <= 0) { - if (yytable_value_is_error (yyn)) - goto yyerrlab; + if (yyn == 0 || yyn == YYTABLE_NINF) + goto yyerrlab; yyn = -yyn; goto yyreduce; } + if (yyn == YYFINAL) + YYACCEPT; + /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; - /* Shift the lookahead token. */ + /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - /* Discard the shifted token. */ - yychar = YYEMPTY; + /* Discard the shifted token unless it is eof. */ + if (yychar != YYEOF) + yychar = YYEMPTY; yystate = yyn; - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; - YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; @@ -2194,932 +2159,787 @@ yyreduce: switch (yyn) { case 2: -/* Line 1792 of yacc.c */ -#line 99 "src/IceGrid/Grammar.y" +#line 101 "src/IceGrid/Grammar.y" { -} +;} break; case 3: -/* Line 1792 of yacc.c */ -#line 102 "src/IceGrid/Grammar.y" +#line 104 "src/IceGrid/Grammar.y" { -} +;} break; case 4: -/* Line 1792 of yacc.c */ -#line 110 "src/IceGrid/Grammar.y" +#line 112 "src/IceGrid/Grammar.y" { -} +;} break; case 5: -/* Line 1792 of yacc.c */ -#line 113 "src/IceGrid/Grammar.y" +#line 115 "src/IceGrid/Grammar.y" { -} +;} break; case 6: -/* Line 1792 of yacc.c */ -#line 119 "src/IceGrid/Grammar.y" +#line 121 "src/IceGrid/Grammar.y" { parser->checkInterrupted(); -} +;} break; case 7: -/* Line 1792 of yacc.c */ -#line 128 "src/IceGrid/Grammar.y" +#line 130 "src/IceGrid/Grammar.y" { parser->usage(); -} +;} break; case 8: -/* Line 1792 of yacc.c */ -#line 132 "src/IceGrid/Grammar.y" +#line 134 "src/IceGrid/Grammar.y" { return 0; -} +;} break; case 9: -/* Line 1792 of yacc.c */ -#line 136 "src/IceGrid/Grammar.y" +#line 138 "src/IceGrid/Grammar.y" { parser->addApplication((yyvsp[(3) - (4)])); -} +;} break; case 10: -/* Line 1792 of yacc.c */ -#line 140 "src/IceGrid/Grammar.y" +#line 142 "src/IceGrid/Grammar.y" { parser->usage("application", "add"); -} +;} break; case 11: -/* Line 1792 of yacc.c */ -#line 144 "src/IceGrid/Grammar.y" +#line 146 "src/IceGrid/Grammar.y" { parser->removeApplication((yyvsp[(3) - (4)])); -} +;} break; case 12: -/* Line 1792 of yacc.c */ -#line 148 "src/IceGrid/Grammar.y" +#line 150 "src/IceGrid/Grammar.y" { parser->usage("application", "remove"); -} +;} break; case 13: -/* Line 1792 of yacc.c */ -#line 152 "src/IceGrid/Grammar.y" +#line 154 "src/IceGrid/Grammar.y" { parser->diffApplication((yyvsp[(3) - (4)])); -} +;} break; case 14: -/* Line 1792 of yacc.c */ -#line 156 "src/IceGrid/Grammar.y" +#line 158 "src/IceGrid/Grammar.y" { parser->usage("application", "diff"); -} +;} break; case 15: -/* Line 1792 of yacc.c */ -#line 160 "src/IceGrid/Grammar.y" +#line 162 "src/IceGrid/Grammar.y" { parser->updateApplication((yyvsp[(3) - (4)])); -} +;} break; case 16: -/* Line 1792 of yacc.c */ -#line 164 "src/IceGrid/Grammar.y" +#line 166 "src/IceGrid/Grammar.y" { parser->usage("application", "update"); -} +;} break; case 17: -/* Line 1792 of yacc.c */ -#line 168 "src/IceGrid/Grammar.y" +#line 170 "src/IceGrid/Grammar.y" { parser->describeApplication((yyvsp[(3) - (4)])); -} +;} break; case 18: -/* Line 1792 of yacc.c */ -#line 172 "src/IceGrid/Grammar.y" +#line 174 "src/IceGrid/Grammar.y" { parser->usage("application", "describe"); -} +;} break; case 19: -/* Line 1792 of yacc.c */ -#line 176 "src/IceGrid/Grammar.y" - { - parser->patchApplication((yyvsp[(3) - (4)])); -} - break; - - case 20: -/* Line 1792 of yacc.c */ -#line 180 "src/IceGrid/Grammar.y" - { - parser->usage("application", "patch"); -} - break; - - case 21: -/* Line 1792 of yacc.c */ -#line 184 "src/IceGrid/Grammar.y" +#line 178 "src/IceGrid/Grammar.y" { parser->listAllApplications((yyvsp[(3) - (4)])); -} +;} break; - case 22: -/* Line 1792 of yacc.c */ -#line 188 "src/IceGrid/Grammar.y" + case 20: +#line 182 "src/IceGrid/Grammar.y" { parser->usage("application", "list"); -} +;} break; - case 23: -/* Line 1792 of yacc.c */ -#line 192 "src/IceGrid/Grammar.y" + case 21: +#line 186 "src/IceGrid/Grammar.y" { parser->describeServerTemplate((yyvsp[(4) - (5)])); -} +;} break; - case 24: -/* Line 1792 of yacc.c */ -#line 196 "src/IceGrid/Grammar.y" + case 22: +#line 190 "src/IceGrid/Grammar.y" { parser->usage("server template", "describe"); -} +;} break; - case 25: -/* Line 1792 of yacc.c */ -#line 200 "src/IceGrid/Grammar.y" + case 23: +#line 194 "src/IceGrid/Grammar.y" { parser->instantiateServerTemplate((yyvsp[(4) - (5)])); -} +;} break; - case 26: -/* Line 1792 of yacc.c */ -#line 204 "src/IceGrid/Grammar.y" + case 24: +#line 198 "src/IceGrid/Grammar.y" { parser->usage("server template", "instantiate"); -} +;} break; - case 27: -/* Line 1792 of yacc.c */ -#line 208 "src/IceGrid/Grammar.y" + case 25: +#line 202 "src/IceGrid/Grammar.y" { parser->usage("server template"); -} +;} break; - case 28: -/* Line 1792 of yacc.c */ -#line 212 "src/IceGrid/Grammar.y" + case 26: +#line 206 "src/IceGrid/Grammar.y" { parser->describeServiceTemplate((yyvsp[(4) - (5)])); -} +;} break; - case 29: -/* Line 1792 of yacc.c */ -#line 216 "src/IceGrid/Grammar.y" + case 27: +#line 210 "src/IceGrid/Grammar.y" { parser->usage("service template", "describe"); -} +;} break; - case 30: -/* Line 1792 of yacc.c */ -#line 220 "src/IceGrid/Grammar.y" + case 28: +#line 214 "src/IceGrid/Grammar.y" { parser->usage("service template"); -} +;} break; - case 31: -/* Line 1792 of yacc.c */ -#line 224 "src/IceGrid/Grammar.y" + case 29: +#line 218 "src/IceGrid/Grammar.y" { parser->describeNode((yyvsp[(3) - (4)])); -} +;} break; - case 32: -/* Line 1792 of yacc.c */ -#line 228 "src/IceGrid/Grammar.y" + case 30: +#line 222 "src/IceGrid/Grammar.y" { parser->usage("node", "describe"); -} +;} break; - case 33: -/* Line 1792 of yacc.c */ -#line 232 "src/IceGrid/Grammar.y" + case 31: +#line 226 "src/IceGrid/Grammar.y" { parser->pingNode((yyvsp[(3) - (4)])); -} +;} break; - case 34: -/* Line 1792 of yacc.c */ -#line 236 "src/IceGrid/Grammar.y" + case 32: +#line 230 "src/IceGrid/Grammar.y" { parser->usage("node", "ping"); -} +;} break; - case 35: -/* Line 1792 of yacc.c */ -#line 240 "src/IceGrid/Grammar.y" + case 33: +#line 234 "src/IceGrid/Grammar.y" { parser->printLoadNode((yyvsp[(3) - (4)])); -} +;} break; - case 36: -/* Line 1792 of yacc.c */ -#line 244 "src/IceGrid/Grammar.y" + case 34: +#line 238 "src/IceGrid/Grammar.y" { parser->usage("node", "load"); -} +;} break; - case 37: -/* Line 1792 of yacc.c */ -#line 248 "src/IceGrid/Grammar.y" + case 35: +#line 242 "src/IceGrid/Grammar.y" { parser->printNodeProcessorSockets((yyvsp[(3) - (4)])); -} +;} break; - case 38: -/* Line 1792 of yacc.c */ -#line 252 "src/IceGrid/Grammar.y" + case 36: +#line 246 "src/IceGrid/Grammar.y" { parser->usage("node", "sockets"); -} +;} break; - case 39: -/* Line 1792 of yacc.c */ -#line 256 "src/IceGrid/Grammar.y" + case 37: +#line 250 "src/IceGrid/Grammar.y" { parser->shutdownNode((yyvsp[(3) - (4)])); -} +;} break; - case 40: -/* Line 1792 of yacc.c */ -#line 260 "src/IceGrid/Grammar.y" + case 38: +#line 254 "src/IceGrid/Grammar.y" { parser->usage("node", "shutdown"); -} +;} break; - case 41: -/* Line 1792 of yacc.c */ -#line 264 "src/IceGrid/Grammar.y" + case 39: +#line 258 "src/IceGrid/Grammar.y" { parser->listAllNodes((yyvsp[(3) - (4)])); -} +;} break; - case 42: -/* Line 1792 of yacc.c */ -#line 268 "src/IceGrid/Grammar.y" + case 40: +#line 262 "src/IceGrid/Grammar.y" { parser->usage("node", "list"); -} +;} break; - case 43: -/* Line 1792 of yacc.c */ -#line 272 "src/IceGrid/Grammar.y" + case 41: +#line 266 "src/IceGrid/Grammar.y" { parser->show("node", (yyvsp[(3) - (4)])); -} +;} break; - case 44: -/* Line 1792 of yacc.c */ -#line 276 "src/IceGrid/Grammar.y" + case 42: +#line 270 "src/IceGrid/Grammar.y" { parser->usage("node", "show"); -} +;} break; - case 45: -/* Line 1792 of yacc.c */ -#line 280 "src/IceGrid/Grammar.y" + case 43: +#line 274 "src/IceGrid/Grammar.y" { parser->describeRegistry((yyvsp[(3) - (4)])); -} +;} break; - case 46: -/* Line 1792 of yacc.c */ -#line 284 "src/IceGrid/Grammar.y" + case 44: +#line 278 "src/IceGrid/Grammar.y" { parser->usage("registry", "describe"); -} +;} break; - case 47: -/* Line 1792 of yacc.c */ -#line 288 "src/IceGrid/Grammar.y" + case 45: +#line 282 "src/IceGrid/Grammar.y" { parser->pingRegistry((yyvsp[(3) - (4)])); -} +;} break; - case 48: -/* Line 1792 of yacc.c */ -#line 292 "src/IceGrid/Grammar.y" + case 46: +#line 286 "src/IceGrid/Grammar.y" { parser->usage("registry", "ping"); -} +;} break; - case 49: -/* Line 1792 of yacc.c */ -#line 296 "src/IceGrid/Grammar.y" + case 47: +#line 290 "src/IceGrid/Grammar.y" { parser->shutdownRegistry((yyvsp[(3) - (4)])); -} +;} break; - case 50: -/* Line 1792 of yacc.c */ -#line 300 "src/IceGrid/Grammar.y" + case 48: +#line 294 "src/IceGrid/Grammar.y" { parser->usage("registry", "shutdown"); -} +;} break; - case 51: -/* Line 1792 of yacc.c */ -#line 304 "src/IceGrid/Grammar.y" + case 49: +#line 298 "src/IceGrid/Grammar.y" { parser->listAllRegistries((yyvsp[(3) - (4)])); -} +;} break; - case 52: -/* Line 1792 of yacc.c */ -#line 308 "src/IceGrid/Grammar.y" + case 50: +#line 302 "src/IceGrid/Grammar.y" { parser->usage("registry", "list"); -} +;} break; - case 53: -/* Line 1792 of yacc.c */ -#line 312 "src/IceGrid/Grammar.y" + case 51: +#line 306 "src/IceGrid/Grammar.y" { parser->show("registry", (yyvsp[(3) - (4)])); -} +;} break; - case 54: -/* Line 1792 of yacc.c */ -#line 316 "src/IceGrid/Grammar.y" + case 52: +#line 310 "src/IceGrid/Grammar.y" { parser->usage("registry", "show"); -} +;} break; - case 55: -/* Line 1792 of yacc.c */ -#line 320 "src/IceGrid/Grammar.y" + case 53: +#line 314 "src/IceGrid/Grammar.y" { parser->removeServer((yyvsp[(3) - (4)])); -} +;} break; - case 56: -/* Line 1792 of yacc.c */ -#line 324 "src/IceGrid/Grammar.y" + case 54: +#line 318 "src/IceGrid/Grammar.y" { parser->usage("server", "remove"); -} +;} break; - case 57: -/* Line 1792 of yacc.c */ -#line 328 "src/IceGrid/Grammar.y" + case 55: +#line 322 "src/IceGrid/Grammar.y" { parser->describeServer((yyvsp[(3) - (4)])); -} +;} break; - case 58: -/* Line 1792 of yacc.c */ -#line 332 "src/IceGrid/Grammar.y" + case 56: +#line 326 "src/IceGrid/Grammar.y" { parser->usage("server", "describe"); -} +;} break; - case 59: -/* Line 1792 of yacc.c */ -#line 336 "src/IceGrid/Grammar.y" + case 57: +#line 330 "src/IceGrid/Grammar.y" { parser->startServer((yyvsp[(3) - (4)])); -} +;} break; - case 60: -/* Line 1792 of yacc.c */ -#line 340 "src/IceGrid/Grammar.y" + case 58: +#line 334 "src/IceGrid/Grammar.y" { parser->usage("server", "start"); -} +;} break; - case 61: -/* Line 1792 of yacc.c */ -#line 344 "src/IceGrid/Grammar.y" + case 59: +#line 338 "src/IceGrid/Grammar.y" { parser->stopServer((yyvsp[(3) - (4)])); -} +;} break; - case 62: -/* Line 1792 of yacc.c */ -#line 348 "src/IceGrid/Grammar.y" + case 60: +#line 342 "src/IceGrid/Grammar.y" { parser->usage("server", "stop"); -} - break; - - case 63: -/* Line 1792 of yacc.c */ -#line 352 "src/IceGrid/Grammar.y" - { - parser->patchServer((yyvsp[(3) - (4)])); -} - break; - - case 64: -/* Line 1792 of yacc.c */ -#line 356 "src/IceGrid/Grammar.y" - { - parser->usage("server", "patch"); -} +;} break; - case 65: -/* Line 1792 of yacc.c */ -#line 360 "src/IceGrid/Grammar.y" + case 61: +#line 346 "src/IceGrid/Grammar.y" { parser->signalServer((yyvsp[(3) - (4)])); -} +;} break; - case 66: -/* Line 1792 of yacc.c */ -#line 364 "src/IceGrid/Grammar.y" + case 62: +#line 350 "src/IceGrid/Grammar.y" { parser->usage("server", "signal"); -} +;} break; - case 67: -/* Line 1792 of yacc.c */ -#line 368 "src/IceGrid/Grammar.y" + case 63: +#line 354 "src/IceGrid/Grammar.y" { parser->writeMessage((yyvsp[(3) - (4)]), 1); -} +;} break; - case 68: -/* Line 1792 of yacc.c */ -#line 372 "src/IceGrid/Grammar.y" + case 64: +#line 358 "src/IceGrid/Grammar.y" { parser->usage("server", "stdout"); -} +;} break; - case 69: -/* Line 1792 of yacc.c */ -#line 376 "src/IceGrid/Grammar.y" + case 65: +#line 362 "src/IceGrid/Grammar.y" { parser->writeMessage((yyvsp[(3) - (4)]), 2); -} +;} break; - case 70: -/* Line 1792 of yacc.c */ -#line 380 "src/IceGrid/Grammar.y" + case 66: +#line 366 "src/IceGrid/Grammar.y" { parser->usage("server", "stderr"); -} +;} break; - case 71: -/* Line 1792 of yacc.c */ -#line 384 "src/IceGrid/Grammar.y" + case 67: +#line 370 "src/IceGrid/Grammar.y" { parser->stateServer((yyvsp[(3) - (4)])); -} +;} break; - case 72: -/* Line 1792 of yacc.c */ -#line 388 "src/IceGrid/Grammar.y" + case 68: +#line 374 "src/IceGrid/Grammar.y" { parser->usage("server", "start"); -} +;} break; - case 73: -/* Line 1792 of yacc.c */ -#line 392 "src/IceGrid/Grammar.y" + case 69: +#line 378 "src/IceGrid/Grammar.y" { parser->pidServer((yyvsp[(3) - (4)])); -} +;} break; - case 74: -/* Line 1792 of yacc.c */ -#line 396 "src/IceGrid/Grammar.y" + case 70: +#line 382 "src/IceGrid/Grammar.y" { parser->usage("server", "pid"); -} +;} break; - case 75: -/* Line 1792 of yacc.c */ -#line 400 "src/IceGrid/Grammar.y" + case 71: +#line 386 "src/IceGrid/Grammar.y" { parser->propertiesServer((yyvsp[(3) - (4)]), false); -} +;} break; - case 76: -/* Line 1792 of yacc.c */ -#line 404 "src/IceGrid/Grammar.y" + case 72: +#line 390 "src/IceGrid/Grammar.y" { parser->usage("server", "properties"); -} +;} break; - case 77: -/* Line 1792 of yacc.c */ -#line 408 "src/IceGrid/Grammar.y" + case 73: +#line 394 "src/IceGrid/Grammar.y" { parser->propertiesServer((yyvsp[(3) - (4)]), true); -} +;} break; - case 78: -/* Line 1792 of yacc.c */ -#line 412 "src/IceGrid/Grammar.y" + case 74: +#line 398 "src/IceGrid/Grammar.y" { parser->usage("server", "property"); -} +;} break; - case 79: -/* Line 1792 of yacc.c */ -#line 416 "src/IceGrid/Grammar.y" + case 75: +#line 402 "src/IceGrid/Grammar.y" { parser->enableServer((yyvsp[(3) - (4)]), true); -} +;} break; - case 80: -/* Line 1792 of yacc.c */ -#line 420 "src/IceGrid/Grammar.y" + case 76: +#line 406 "src/IceGrid/Grammar.y" { parser->usage("server", "enable"); -} +;} break; - case 81: -/* Line 1792 of yacc.c */ -#line 424 "src/IceGrid/Grammar.y" + case 77: +#line 410 "src/IceGrid/Grammar.y" { parser->enableServer((yyvsp[(3) - (4)]), false); -} +;} break; - case 82: -/* Line 1792 of yacc.c */ -#line 428 "src/IceGrid/Grammar.y" + case 78: +#line 414 "src/IceGrid/Grammar.y" { parser->usage("server", "disable"); -} +;} break; - case 83: -/* Line 1792 of yacc.c */ -#line 432 "src/IceGrid/Grammar.y" + case 79: +#line 418 "src/IceGrid/Grammar.y" { parser->listAllServers((yyvsp[(3) - (4)])); -} +;} break; - case 84: -/* Line 1792 of yacc.c */ -#line 436 "src/IceGrid/Grammar.y" + case 80: +#line 422 "src/IceGrid/Grammar.y" { parser->usage("server", "list"); -} +;} break; - case 85: -/* Line 1792 of yacc.c */ -#line 440 "src/IceGrid/Grammar.y" + case 81: +#line 426 "src/IceGrid/Grammar.y" { parser->show("server", (yyvsp[(3) - (4)])); -} +;} break; - case 86: -/* Line 1792 of yacc.c */ -#line 444 "src/IceGrid/Grammar.y" + case 82: +#line 430 "src/IceGrid/Grammar.y" { parser->usage("server", "show"); -} +;} break; - case 87: -/* Line 1792 of yacc.c */ -#line 448 "src/IceGrid/Grammar.y" + case 83: +#line 434 "src/IceGrid/Grammar.y" { parser->startService((yyvsp[(3) - (4)])); -} +;} break; - case 88: -/* Line 1792 of yacc.c */ -#line 452 "src/IceGrid/Grammar.y" + case 84: +#line 438 "src/IceGrid/Grammar.y" { parser->usage("service", "start"); -} +;} break; - case 89: -/* Line 1792 of yacc.c */ -#line 456 "src/IceGrid/Grammar.y" + case 85: +#line 442 "src/IceGrid/Grammar.y" { parser->stopService((yyvsp[(3) - (4)])); -} +;} break; - case 90: -/* Line 1792 of yacc.c */ -#line 460 "src/IceGrid/Grammar.y" + case 86: +#line 446 "src/IceGrid/Grammar.y" { parser->usage("service", "stop"); -} +;} break; - case 91: -/* Line 1792 of yacc.c */ -#line 464 "src/IceGrid/Grammar.y" + case 87: +#line 450 "src/IceGrid/Grammar.y" { parser->describeService((yyvsp[(3) - (4)])); -} +;} break; - case 92: -/* Line 1792 of yacc.c */ -#line 468 "src/IceGrid/Grammar.y" + case 88: +#line 454 "src/IceGrid/Grammar.y" { parser->usage("service", "describe"); -} +;} break; - case 93: -/* Line 1792 of yacc.c */ -#line 472 "src/IceGrid/Grammar.y" + case 89: +#line 458 "src/IceGrid/Grammar.y" { parser->propertiesService((yyvsp[(3) - (4)]), false); -} +;} break; - case 94: -/* Line 1792 of yacc.c */ -#line 476 "src/IceGrid/Grammar.y" + case 90: +#line 462 "src/IceGrid/Grammar.y" { parser->usage("service", "properties"); -} +;} break; - case 95: -/* Line 1792 of yacc.c */ -#line 480 "src/IceGrid/Grammar.y" + case 91: +#line 466 "src/IceGrid/Grammar.y" { parser->propertiesService((yyvsp[(3) - (4)]), true); -} +;} break; - case 96: -/* Line 1792 of yacc.c */ -#line 484 "src/IceGrid/Grammar.y" + case 92: +#line 470 "src/IceGrid/Grammar.y" { parser->usage("service", "property"); -} +;} break; - case 97: -/* Line 1792 of yacc.c */ -#line 488 "src/IceGrid/Grammar.y" + case 93: +#line 474 "src/IceGrid/Grammar.y" { parser->listServices((yyvsp[(3) - (4)])); -} +;} break; - case 98: -/* Line 1792 of yacc.c */ -#line 492 "src/IceGrid/Grammar.y" + case 94: +#line 478 "src/IceGrid/Grammar.y" { parser->usage("service", "list"); -} +;} break; - case 99: -/* Line 1792 of yacc.c */ -#line 496 "src/IceGrid/Grammar.y" + case 95: +#line 482 "src/IceGrid/Grammar.y" { parser->endpointsAdapter((yyvsp[(3) - (4)])); -} +;} break; - case 100: -/* Line 1792 of yacc.c */ -#line 500 "src/IceGrid/Grammar.y" + case 96: +#line 486 "src/IceGrid/Grammar.y" { parser->usage("adapter", "endpoints"); -} +;} break; - case 101: -/* Line 1792 of yacc.c */ -#line 504 "src/IceGrid/Grammar.y" + case 97: +#line 490 "src/IceGrid/Grammar.y" { parser->removeAdapter((yyvsp[(3) - (4)])); -} +;} break; - case 102: -/* Line 1792 of yacc.c */ -#line 508 "src/IceGrid/Grammar.y" + case 98: +#line 494 "src/IceGrid/Grammar.y" { parser->usage("adapter", "remove"); -} +;} break; - case 103: -/* Line 1792 of yacc.c */ -#line 512 "src/IceGrid/Grammar.y" + case 99: +#line 498 "src/IceGrid/Grammar.y" { parser->listAllAdapters((yyvsp[(3) - (4)])); -} +;} break; - case 104: -/* Line 1792 of yacc.c */ -#line 516 "src/IceGrid/Grammar.y" + case 100: +#line 502 "src/IceGrid/Grammar.y" { parser->usage("adapter", "list"); -} +;} break; - case 105: -/* Line 1792 of yacc.c */ -#line 520 "src/IceGrid/Grammar.y" + case 101: +#line 506 "src/IceGrid/Grammar.y" { parser->addObject((yyvsp[(3) - (4)])); -} +;} break; - case 106: -/* Line 1792 of yacc.c */ -#line 524 "src/IceGrid/Grammar.y" + case 102: +#line 510 "src/IceGrid/Grammar.y" { parser->usage("object", "add"); -} +;} break; - case 107: -/* Line 1792 of yacc.c */ -#line 528 "src/IceGrid/Grammar.y" + case 103: +#line 514 "src/IceGrid/Grammar.y" { parser->removeObject((yyvsp[(3) - (4)])); -} +;} break; - case 108: -/* Line 1792 of yacc.c */ -#line 532 "src/IceGrid/Grammar.y" + case 104: +#line 518 "src/IceGrid/Grammar.y" { parser->usage("object", "remove"); -} +;} break; - case 109: -/* Line 1792 of yacc.c */ -#line 536 "src/IceGrid/Grammar.y" + case 105: +#line 522 "src/IceGrid/Grammar.y" { parser->findObject((yyvsp[(3) - (4)])); -} +;} break; - case 110: -/* Line 1792 of yacc.c */ -#line 540 "src/IceGrid/Grammar.y" + case 106: +#line 526 "src/IceGrid/Grammar.y" { parser->usage("object", "find"); -} +;} break; - case 111: -/* Line 1792 of yacc.c */ -#line 544 "src/IceGrid/Grammar.y" + case 107: +#line 530 "src/IceGrid/Grammar.y" { parser->listObject((yyvsp[(3) - (4)])); -} +;} break; - case 112: -/* Line 1792 of yacc.c */ -#line 548 "src/IceGrid/Grammar.y" + case 108: +#line 534 "src/IceGrid/Grammar.y" { parser->usage("object", "list"); -} +;} break; - case 113: -/* Line 1792 of yacc.c */ -#line 552 "src/IceGrid/Grammar.y" + case 109: +#line 538 "src/IceGrid/Grammar.y" { parser->describeObject((yyvsp[(3) - (4)])); -} +;} break; - case 114: -/* Line 1792 of yacc.c */ -#line 556 "src/IceGrid/Grammar.y" + case 110: +#line 542 "src/IceGrid/Grammar.y" { parser->usage("object", "describe"); -} +;} break; - case 115: -/* Line 1792 of yacc.c */ -#line 560 "src/IceGrid/Grammar.y" + case 111: +#line 546 "src/IceGrid/Grammar.y" { parser->showCopying(); -} +;} break; - case 116: -/* Line 1792 of yacc.c */ -#line 564 "src/IceGrid/Grammar.y" + case 112: +#line 550 "src/IceGrid/Grammar.y" { parser->showWarranty(); -} +;} break; - case 117: -/* Line 1792 of yacc.c */ -#line 568 "src/IceGrid/Grammar.y" + case 113: +#line 554 "src/IceGrid/Grammar.y" { parser->usage((yyvsp[(2) - (3)]).front()); -} +;} break; - case 118: -/* Line 1792 of yacc.c */ -#line 572 "src/IceGrid/Grammar.y" + case 114: +#line 558 "src/IceGrid/Grammar.y" { if(((yyvsp[(2) - (4)]).front() == "server" || (yyvsp[(2) - (4)]).front() == "service") && (yyvsp[(3) - (4)]).front() == "template") { @@ -3129,20 +2949,18 @@ yyreduce: { parser->usage((yyvsp[(2) - (4)]).front(), (yyvsp[(3) - (4)]).front()); } -} +;} break; - case 119: -/* Line 1792 of yacc.c */ -#line 583 "src/IceGrid/Grammar.y" + case 115: +#line 569 "src/IceGrid/Grammar.y" { parser->usage((yyvsp[(2) - (5)]).front(), (yyvsp[(3) - (5)]).front()); -} +;} break; - case 120: -/* Line 1792 of yacc.c */ -#line 587 "src/IceGrid/Grammar.y" + case 116: +#line 573 "src/IceGrid/Grammar.y" { if(((yyvsp[(2) - (5)]).front() == "server" || (yyvsp[(2) - (5)]).front() == "service") && (yyvsp[(3) - (5)]).front() == "template") { @@ -3152,12 +2970,11 @@ yyreduce: { parser->usage((yyvsp[(2) - (5)]).front(), (yyvsp[(3) - (5)]).front()); } -} +;} break; - case 121: -/* Line 1792 of yacc.c */ -#line 598 "src/IceGrid/Grammar.y" + case 117: +#line 584 "src/IceGrid/Grammar.y" { if(((yyvsp[(2) - (6)]).front() == "server" || (yyvsp[(2) - (6)]).front() == "service") && (yyvsp[(3) - (6)]).front() == "template") { @@ -3167,404 +2984,336 @@ yyreduce: { parser->usage((yyvsp[(2) - (6)]).front(), (yyvsp[(3) - (6)]).front()); } -} +;} break; - case 122: -/* Line 1792 of yacc.c */ -#line 609 "src/IceGrid/Grammar.y" + case 118: +#line 595 "src/IceGrid/Grammar.y" { parser->usage((yyvsp[(2) - (4)]).front()); -} +;} break; - case 123: -/* Line 1792 of yacc.c */ -#line 613 "src/IceGrid/Grammar.y" + case 119: +#line 599 "src/IceGrid/Grammar.y" { parser->usage(); -} +;} break; - case 124: -/* Line 1792 of yacc.c */ -#line 617 "src/IceGrid/Grammar.y" + case 120: +#line 603 "src/IceGrid/Grammar.y" { parser->usage((yyvsp[(1) - (3)]).front()); -} +;} break; - case 125: -/* Line 1792 of yacc.c */ -#line 621 "src/IceGrid/Grammar.y" + case 121: +#line 607 "src/IceGrid/Grammar.y" { (yyvsp[(1) - (4)]).push_back((yyvsp[(2) - (4)]).front()); parser->invalidCommand((yyvsp[(1) - (4)])); yyerrok; -} +;} break; - case 126: -/* Line 1792 of yacc.c */ -#line 627 "src/IceGrid/Grammar.y" + case 122: +#line 613 "src/IceGrid/Grammar.y" { parser->invalidCommand((yyvsp[(1) - (3)])); yyerrok; -} +;} break; - case 127: -/* Line 1792 of yacc.c */ -#line 632 "src/IceGrid/Grammar.y" + case 123: +#line 618 "src/IceGrid/Grammar.y" { parser->invalidCommand((yyvsp[(1) - (3)])); yyerrok; -} +;} break; - case 128: -/* Line 1792 of yacc.c */ -#line 637 "src/IceGrid/Grammar.y" + case 124: +#line 623 "src/IceGrid/Grammar.y" { yyerrok; -} +;} break; - case 129: -/* Line 1792 of yacc.c */ -#line 641 "src/IceGrid/Grammar.y" + case 125: +#line 627 "src/IceGrid/Grammar.y" { -} +;} break; - case 130: -/* Line 1792 of yacc.c */ -#line 649 "src/IceGrid/Grammar.y" + case 126: +#line 635 "src/IceGrid/Grammar.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval).push_front((yyvsp[(1) - (2)]).front()); -} +;} break; - case 131: -/* Line 1792 of yacc.c */ -#line 654 "src/IceGrid/Grammar.y" + case 127: +#line 640 "src/IceGrid/Grammar.y" { (yyval) = (yyvsp[(2) - (2)]); (yyval).push_front((yyvsp[(1) - (2)]).front()); -} +;} break; - case 132: -/* Line 1792 of yacc.c */ -#line 659 "src/IceGrid/Grammar.y" + case 128: +#line 645 "src/IceGrid/Grammar.y" { (yyval) = (yyvsp[(2) - (3)]); (yyval).push_front("help"); (yyval).push_front((yyvsp[(1) - (3)]).front()); -} +;} break; - case 133: -/* Line 1792 of yacc.c */ -#line 665 "src/IceGrid/Grammar.y" + case 129: +#line 651 "src/IceGrid/Grammar.y" { (yyval) = (yyvsp[(2) - (3)]); (yyval).push_front("help"); (yyval).push_front((yyvsp[(1) - (3)]).front()); -} +;} break; - case 134: -/* Line 1792 of yacc.c */ -#line 671 "src/IceGrid/Grammar.y" + case 130: +#line 657 "src/IceGrid/Grammar.y" { (yyval) = YYSTYPE(); -} +;} + break; + + case 131: +#line 666 "src/IceGrid/Grammar.y" + { +;} + break; + + case 132: +#line 669 "src/IceGrid/Grammar.y" + { +;} + break; + + case 133: +#line 672 "src/IceGrid/Grammar.y" + { +;} + break; + + case 134: +#line 675 "src/IceGrid/Grammar.y" + { +;} break; case 135: -/* Line 1792 of yacc.c */ -#line 680 "src/IceGrid/Grammar.y" +#line 678 "src/IceGrid/Grammar.y" { -} +;} break; case 136: -/* Line 1792 of yacc.c */ -#line 683 "src/IceGrid/Grammar.y" +#line 681 "src/IceGrid/Grammar.y" { -} +;} break; case 137: -/* Line 1792 of yacc.c */ -#line 686 "src/IceGrid/Grammar.y" +#line 684 "src/IceGrid/Grammar.y" { -} +;} break; case 138: -/* Line 1792 of yacc.c */ -#line 689 "src/IceGrid/Grammar.y" +#line 687 "src/IceGrid/Grammar.y" { -} +;} break; case 139: -/* Line 1792 of yacc.c */ -#line 692 "src/IceGrid/Grammar.y" +#line 690 "src/IceGrid/Grammar.y" { -} +;} break; case 140: -/* Line 1792 of yacc.c */ -#line 695 "src/IceGrid/Grammar.y" +#line 693 "src/IceGrid/Grammar.y" { -} +;} break; case 141: -/* Line 1792 of yacc.c */ -#line 698 "src/IceGrid/Grammar.y" +#line 696 "src/IceGrid/Grammar.y" { -} +;} break; case 142: -/* Line 1792 of yacc.c */ -#line 701 "src/IceGrid/Grammar.y" +#line 699 "src/IceGrid/Grammar.y" { -} +;} break; case 143: -/* Line 1792 of yacc.c */ -#line 704 "src/IceGrid/Grammar.y" +#line 702 "src/IceGrid/Grammar.y" { -} +;} break; case 144: -/* Line 1792 of yacc.c */ -#line 707 "src/IceGrid/Grammar.y" +#line 705 "src/IceGrid/Grammar.y" { -} +;} break; case 145: -/* Line 1792 of yacc.c */ -#line 710 "src/IceGrid/Grammar.y" +#line 708 "src/IceGrid/Grammar.y" { -} +;} break; case 146: -/* Line 1792 of yacc.c */ -#line 713 "src/IceGrid/Grammar.y" +#line 711 "src/IceGrid/Grammar.y" { -} +;} break; case 147: -/* Line 1792 of yacc.c */ -#line 716 "src/IceGrid/Grammar.y" +#line 714 "src/IceGrid/Grammar.y" { -} +;} break; case 148: -/* Line 1792 of yacc.c */ -#line 719 "src/IceGrid/Grammar.y" +#line 717 "src/IceGrid/Grammar.y" { -} +;} break; case 149: -/* Line 1792 of yacc.c */ -#line 722 "src/IceGrid/Grammar.y" +#line 720 "src/IceGrid/Grammar.y" { -} +;} break; case 150: -/* Line 1792 of yacc.c */ -#line 725 "src/IceGrid/Grammar.y" +#line 723 "src/IceGrid/Grammar.y" { -} +;} break; case 151: -/* Line 1792 of yacc.c */ -#line 728 "src/IceGrid/Grammar.y" +#line 726 "src/IceGrid/Grammar.y" { -} +;} break; case 152: -/* Line 1792 of yacc.c */ -#line 731 "src/IceGrid/Grammar.y" +#line 729 "src/IceGrid/Grammar.y" { -} +;} break; case 153: -/* Line 1792 of yacc.c */ -#line 734 "src/IceGrid/Grammar.y" +#line 732 "src/IceGrid/Grammar.y" { -} +;} break; case 154: -/* Line 1792 of yacc.c */ -#line 737 "src/IceGrid/Grammar.y" +#line 735 "src/IceGrid/Grammar.y" { -} +;} break; case 155: -/* Line 1792 of yacc.c */ -#line 740 "src/IceGrid/Grammar.y" +#line 738 "src/IceGrid/Grammar.y" { -} +;} break; case 156: -/* Line 1792 of yacc.c */ -#line 743 "src/IceGrid/Grammar.y" +#line 741 "src/IceGrid/Grammar.y" { -} +;} break; case 157: -/* Line 1792 of yacc.c */ -#line 746 "src/IceGrid/Grammar.y" +#line 744 "src/IceGrid/Grammar.y" { -} +;} break; case 158: -/* Line 1792 of yacc.c */ -#line 749 "src/IceGrid/Grammar.y" +#line 747 "src/IceGrid/Grammar.y" { -} +;} break; case 159: -/* Line 1792 of yacc.c */ -#line 752 "src/IceGrid/Grammar.y" +#line 750 "src/IceGrid/Grammar.y" { -} +;} break; case 160: -/* Line 1792 of yacc.c */ -#line 755 "src/IceGrid/Grammar.y" +#line 753 "src/IceGrid/Grammar.y" { -} +;} break; case 161: -/* Line 1792 of yacc.c */ -#line 758 "src/IceGrid/Grammar.y" +#line 756 "src/IceGrid/Grammar.y" { -} +;} break; case 162: -/* Line 1792 of yacc.c */ -#line 761 "src/IceGrid/Grammar.y" +#line 759 "src/IceGrid/Grammar.y" { -} +;} break; case 163: -/* Line 1792 of yacc.c */ -#line 764 "src/IceGrid/Grammar.y" +#line 762 "src/IceGrid/Grammar.y" { -} +;} break; case 164: -/* Line 1792 of yacc.c */ -#line 767 "src/IceGrid/Grammar.y" +#line 765 "src/IceGrid/Grammar.y" { -} +;} break; case 165: -/* Line 1792 of yacc.c */ -#line 770 "src/IceGrid/Grammar.y" +#line 768 "src/IceGrid/Grammar.y" { -} +;} break; case 166: -/* Line 1792 of yacc.c */ -#line 773 "src/IceGrid/Grammar.y" +#line 771 "src/IceGrid/Grammar.y" { -} +;} break; case 167: -/* Line 1792 of yacc.c */ -#line 776 "src/IceGrid/Grammar.y" - { -} - break; - - case 168: -/* Line 1792 of yacc.c */ -#line 779 "src/IceGrid/Grammar.y" - { -} - break; - - case 169: -/* Line 1792 of yacc.c */ -#line 782 "src/IceGrid/Grammar.y" - { -} - break; - - case 170: -/* Line 1792 of yacc.c */ -#line 785 "src/IceGrid/Grammar.y" - { -} - break; - - case 171: -/* Line 1792 of yacc.c */ -#line 788 "src/IceGrid/Grammar.y" - { -} - break; - - case 172: -/* Line 1792 of yacc.c */ -#line 791 "src/IceGrid/Grammar.y" +#line 774 "src/IceGrid/Grammar.y" { -} +;} break; -/* Line 1792 of yacc.c */ -#line 3552 "src/IceGrid/Grammar.cpp" +/* Line 1267 of yacc.c. */ +#line 3315 "src/IceGrid/Grammar.cpp" default: break; } - /* User semantic actions sometimes alter yychar, and that requires - that yytoken be updated with the new translation. We take the - approach of translating immediately before every use of yytoken. - One alternative is translating here after every semantic action, - but that translation would be missed if the semantic action invokes - YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or - if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an - incorrect destructor might then be invoked immediately. In the - case of YYERROR or YYBACKUP, subsequent parser actions might lead - to an incorrect destructor call or verbose syntax error message - before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); @@ -3573,6 +3322,7 @@ yyreduce: *++yyvsp = yyval; + /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -3592,10 +3342,6 @@ yyreduce: | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { @@ -3603,36 +3349,37 @@ yyerrlab: #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; + YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); + if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) + { + YYSIZE_T yyalloc = 2 * yysize; + if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) + yyalloc = YYSTACK_ALLOC_MAXIMUM; + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yyalloc); + if (yymsg) + yymsg_alloc = yyalloc; + else + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + } + } + + if (0 < yysize && yysize <= yymsg_alloc) + { + (void) yysyntax_error (yymsg, yystate, yychar); + yyerror (yymsg); + } + else + { + yyerror (YY_("syntax error")); + if (yysize != 0) + goto yyexhaustedlab; + } } -# undef YYSYNTAX_ERROR #endif } @@ -3640,7 +3387,7 @@ yyerrlab: if (yyerrstatus == 3) { - /* If just tried and failed to reuse lookahead token after an + /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) @@ -3657,7 +3404,7 @@ yyerrlab: } } - /* Else will try to reuse lookahead token after shifting the error + /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; @@ -3691,7 +3438,7 @@ yyerrlab1: for (;;) { yyn = yypact[yystate]; - if (!yypact_value_is_default (yyn)) + if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) @@ -3714,9 +3461,10 @@ yyerrlab1: YY_STACK_PRINT (yyss, yyssp); } - YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + if (yyn == YYFINAL) + YYACCEPT; + *++yyvsp = yylval; - YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ @@ -3740,7 +3488,7 @@ yyabortlab: yyresult = 1; goto yyreturn; -#if !defined yyoverflow || YYERROR_VERBOSE +#ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -3751,14 +3499,9 @@ yyexhaustedlab: #endif yyreturn: - if (yychar != YYEMPTY) - { - /* Make sure we have latest lookahead translation. See comments at - user semantic actions for why this is necessary. */ - yytoken = YYTRANSLATE (yychar); - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - } + if (yychar != YYEOF && yychar != YYEMPTY) + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); @@ -3782,3 +3525,4 @@ yyreturn: } + diff --git a/cpp/src/IceGrid/Grammar.h b/cpp/src/IceGrid/Grammar.h index 9a3871b803c..fb0c3c72213 100644 --- a/cpp/src/IceGrid/Grammar.h +++ b/cpp/src/IceGrid/Grammar.h @@ -1,21 +1,24 @@ -/* A Bison parser, made by GNU Bison 2.7. */ +/* A Bison parser, made by GNU Bison 2.3. */ -/* Bison interface for Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. - - This program is free software: you can redistribute it and/or modify +/* Skeleton interface for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - + the Free Software Foundation; either version 2, or (at your option) + any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -26,20 +29,10 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ -#ifndef YY_YY_SRC_ICEGRID_GRAMMAR_HPP_INCLUDED -# define YY_YY_SRC_ICEGRID_GRAMMAR_HPP_INCLUDED -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif -#if YYDEBUG -extern int yydebug; -#endif - /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE @@ -63,53 +56,80 @@ extern int yydebug; ICE_GRID_STRING = 272, ICE_GRID_START = 273, ICE_GRID_STOP = 274, - ICE_GRID_PATCH = 275, - ICE_GRID_SIGNAL = 276, - ICE_GRID_STDOUT = 277, - ICE_GRID_STDERR = 278, - ICE_GRID_DESCRIBE = 279, - ICE_GRID_PROPERTIES = 280, - ICE_GRID_PROPERTY = 281, - ICE_GRID_STATE = 282, - ICE_GRID_PID = 283, - ICE_GRID_ENDPOINTS = 284, - ICE_GRID_ACTIVATION = 285, - ICE_GRID_OBJECT = 286, - ICE_GRID_FIND = 287, - ICE_GRID_SHOW = 288, - ICE_GRID_COPYING = 289, - ICE_GRID_WARRANTY = 290, - ICE_GRID_DIFF = 291, - ICE_GRID_UPDATE = 292, - ICE_GRID_INSTANTIATE = 293, - ICE_GRID_TEMPLATE = 294, - ICE_GRID_SERVICE = 295, - ICE_GRID_ENABLE = 296, - ICE_GRID_DISABLE = 297 + ICE_GRID_SIGNAL = 275, + ICE_GRID_STDOUT = 276, + ICE_GRID_STDERR = 277, + ICE_GRID_DESCRIBE = 278, + ICE_GRID_PROPERTIES = 279, + ICE_GRID_PROPERTY = 280, + ICE_GRID_STATE = 281, + ICE_GRID_PID = 282, + ICE_GRID_ENDPOINTS = 283, + ICE_GRID_ACTIVATION = 284, + ICE_GRID_OBJECT = 285, + ICE_GRID_FIND = 286, + ICE_GRID_SHOW = 287, + ICE_GRID_COPYING = 288, + ICE_GRID_WARRANTY = 289, + ICE_GRID_DIFF = 290, + ICE_GRID_UPDATE = 291, + ICE_GRID_INSTANTIATE = 292, + ICE_GRID_TEMPLATE = 293, + ICE_GRID_SERVICE = 294, + ICE_GRID_ENABLE = 295, + ICE_GRID_DISABLE = 296 }; #endif +/* Tokens. */ +#define ICE_GRID_HELP 258 +#define ICE_GRID_EXIT 259 +#define ICE_GRID_APPLICATION 260 +#define ICE_GRID_NODE 261 +#define ICE_GRID_REGISTRY 262 +#define ICE_GRID_SERVER 263 +#define ICE_GRID_ADAPTER 264 +#define ICE_GRID_PING 265 +#define ICE_GRID_LOAD 266 +#define ICE_GRID_SOCKETS 267 +#define ICE_GRID_ADD 268 +#define ICE_GRID_REMOVE 269 +#define ICE_GRID_LIST 270 +#define ICE_GRID_SHUTDOWN 271 +#define ICE_GRID_STRING 272 +#define ICE_GRID_START 273 +#define ICE_GRID_STOP 274 +#define ICE_GRID_SIGNAL 275 +#define ICE_GRID_STDOUT 276 +#define ICE_GRID_STDERR 277 +#define ICE_GRID_DESCRIBE 278 +#define ICE_GRID_PROPERTIES 279 +#define ICE_GRID_PROPERTY 280 +#define ICE_GRID_STATE 281 +#define ICE_GRID_PID 282 +#define ICE_GRID_ENDPOINTS 283 +#define ICE_GRID_ACTIVATION 284 +#define ICE_GRID_OBJECT 285 +#define ICE_GRID_FIND 286 +#define ICE_GRID_SHOW 287 +#define ICE_GRID_COPYING 288 +#define ICE_GRID_WARRANTY 289 +#define ICE_GRID_DIFF 290 +#define ICE_GRID_UPDATE 291 +#define ICE_GRID_INSTANTIATE 292 +#define ICE_GRID_TEMPLATE 293 +#define ICE_GRID_SERVICE 294 +#define ICE_GRID_ENABLE 295 +#define ICE_GRID_DISABLE 296 + + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 #endif -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ -#endif /* !YY_YY_SRC_ICEGRID_GRAMMAR_HPP_INCLUDED */ diff --git a/cpp/src/IceGrid/Grammar.y b/cpp/src/IceGrid/Grammar.y index ce7a88bca7f..4f9b20078e4 100644 --- a/cpp/src/IceGrid/Grammar.y +++ b/cpp/src/IceGrid/Grammar.y @@ -69,7 +69,6 @@ yyerror(const char* s) %token ICE_GRID_STRING %token ICE_GRID_START %token ICE_GRID_STOP -%token ICE_GRID_PATCH %token ICE_GRID_SIGNAL %token ICE_GRID_STDOUT %token ICE_GRID_STDERR @@ -175,14 +174,6 @@ command { parser->usage("application", "describe"); } -| ICE_GRID_APPLICATION ICE_GRID_PATCH strings ';' -{ - parser->patchApplication($3); -} -| ICE_GRID_APPLICATION ICE_GRID_PATCH ICE_GRID_HELP ';' -{ - parser->usage("application", "patch"); -} | ICE_GRID_APPLICATION ICE_GRID_LIST strings ';' { parser->listAllApplications($3); @@ -351,14 +342,6 @@ command { parser->usage("server", "stop"); } -| ICE_GRID_SERVER ICE_GRID_PATCH strings ';' -{ - parser->patchServer($3); -} -| ICE_GRID_SERVER ICE_GRID_PATCH ICE_GRID_HELP ';' -{ - parser->usage("server", "patch"); -} | ICE_GRID_SERVER ICE_GRID_SIGNAL strings ';' { parser->signalServer($3); @@ -724,9 +707,6 @@ keyword | ICE_GRID_STOP { } -| ICE_GRID_PATCH -{ -} | ICE_GRID_SIGNAL { } diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp index 389f2fc8516..7d404da3fe5 100644 --- a/cpp/src/IceGrid/IceGridNode.cpp +++ b/cpp/src/IceGrid/IceGridNode.cpp @@ -19,7 +19,6 @@ #include <IceGrid/TraceLevels.h> #include <IceGrid/DescriptorParser.h> #include <IceGrid/Util.h> -#include <IcePatch2Lib/Util.h> #ifdef _WIN32 # include <direct.h> @@ -361,9 +360,8 @@ NodeService::startImpl(int argc, char* argv[], int& status) dataPath += "/"; } - IcePatch2Internal::createDirectory(dataPath + "servers"); - IcePatch2Internal::createDirectory(dataPath + "tmp"); - IcePatch2Internal::createDirectory(dataPath + "distrib"); + createDirectory(dataPath + "servers"); + createDirectory(dataPath + "tmp"); #ifdef _WIN32 // @@ -376,7 +374,6 @@ NodeService::startImpl(int argc, char* argv[], int& status) { setNoIndexingAttribute(dataPath + "servers"); setNoIndexingAttribute(dataPath + "tmp"); - setNoIndexingAttribute(dataPath + "distrib"); } catch(const FileException& ex) { diff --git a/cpp/src/IceGrid/Internal.ice b/cpp/src/IceGrid/Internal.ice index efa026034d3..dabf62015e4 100644 --- a/cpp/src/IceGrid/Internal.ice +++ b/cpp/src/IceGrid/Internal.ice @@ -42,6 +42,8 @@ class InternalAdapterDescriptor } sequence<InternalAdapterDescriptor> InternalAdapterDescriptorSeq; +// This class is no longer used. We keep it only for interop with IceGrid 3.7. +// class InternalDistributionDescriptor { /** The proxy of the IcePatch2 server. */ @@ -88,10 +90,10 @@ class InternalServerDescriptor /** The server deactivation timeout. */ string deactivationTimeout; - /** Specifies if the server depends on the application distrib. */ - bool applicationDistrib; + // Not used, always false. Kept only for interop with IceGrid 3.7. + bool applicationDistrib = false; - /** The distribution descriptor of this server. */ + // Not used, always nil. Kept only for interop with IceGrid 3.7. InternalDistributionDescriptor distrib; /** Specifies if a process object is registered. */ @@ -329,23 +331,6 @@ interface ReplicaObserver void replicaRemoved(InternalRegistry* replica); } -interface PatcherFeedback -{ - /** - * - * The patch completed successfully. - * - **/ - void finished(); - - /** - * - * The patch on the given node failed for the given reason. - * - **/ - void failed(string reason); -} - interface Node extends FileReader, ReplicaObserver { /** @@ -396,20 +381,6 @@ interface Node extends FileReader, ReplicaObserver /** * - * Patch application and server distributions. If some servers - * using a distribution directory to patch are active, this method - * will raise a PatchException unless shutdown is set to true. In - * which case the servers will be shutdown. - * - **/ - ["amd"] idempotent void patch(PatcherFeedback* feedback, - string application, - string server, - InternalDistributionDescriptor appDistrib, - bool shutdown); - - /** - * * Establish a session to the given replica, this method only * returns once the registration was attempted (unlike * replicaAdded below). diff --git a/cpp/src/IceGrid/Makefile.mk b/cpp/src/IceGrid/Makefile.mk index 6a173c0031f..1beaaeb8849 100644 --- a/cpp/src/IceGrid/Makefile.mk +++ b/cpp/src/IceGrid/Makefile.mk @@ -66,15 +66,15 @@ $(project)_targetdir := $(bindir) icegridnode_sources := $(addprefix $(currentdir)/,$(local_node_srcs) $(local_registry_srcs) IceGridNode.cpp) \ $(slicedir)/IceLocatorDiscovery/IceLocatorDiscovery.ice -icegridnode_dependencies := IceBox IceStormService IceStorm IceXML IceSSL IcePatch2 IceDB +icegridnode_dependencies := IceBox IceStormService IceStorm IceXML IceSSL IceDB icegridnode_cppflags := $(if $(lmdb_includedir),-I$(lmdb_includedir)) icegridregistry_sources := $(addprefix $(currentdir)/,$(local_registry_srcs) IceGridRegistry.cpp) \ $(slicedir)/IceLocatorDiscovery/IceLocatorDiscovery.ice -icegridregistry_dependencies := IceBox IceStormService IceStorm IceXML IceSSL IcePatch2 IceDB $(local_dependencies) +icegridregistry_dependencies := IceBox IceStormService IceStorm IceXML IceSSL IceDB $(local_dependencies) icegridregistry_cppflags := $(if $(lmdb_includedir),-I$(lmdb_includedir)) -icegridadmin_dependencies := IcePatch2 IceBox IceXML IceLocatorDiscovery +icegridadmin_dependencies := IceBox IceXML IceLocatorDiscovery icegridadmin_sources := $(addprefix $(currentdir)/,$(local_admin_srcs)) projects += $(project) diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp index 1407c998f1c..b727edb4966 100644 --- a/cpp/src/IceGrid/NodeCache.cpp +++ b/cpp/src/IceGrid/NodeCache.cpp @@ -923,13 +923,7 @@ NodeEntry::getInternalServerDescriptor(const ServerInfo& info) const server->activation = info.descriptor->activation; server->activationTimeout = info.descriptor->activationTimeout; server->deactivationTimeout = info.descriptor->deactivationTimeout; - server->applicationDistrib = info.descriptor->applicationDistrib; server->services = Ice::StringSeq(); - if(!info.descriptor->distrib.icepatch.empty()) - { - server->distrib = new InternalDistributionDescriptor(info.descriptor->distrib.icepatch, - info.descriptor->distrib.directories); - } server->options = info.descriptor->options; server->envs = info.descriptor->envs; diff --git a/cpp/src/IceGrid/NodeI.cpp b/cpp/src/IceGrid/NodeI.cpp index 8017fa3bdd4..d098d71e83f 100644 --- a/cpp/src/IceGrid/NodeI.cpp +++ b/cpp/src/IceGrid/NodeI.cpp @@ -5,8 +5,6 @@ #include <IceUtil/Timer.h> #include <IceUtil/FileUtil.h> #include <Ice/Ice.h> -#include <IcePatch2Lib/Util.h> -#include <IcePatch2/ClientUtil.h> #include <IceGrid/NodeI.h> #include <IceGrid/Activator.h> #include <IceGrid/ServerI.h> @@ -16,174 +14,11 @@ #include <IceGrid/NodeSessionManager.h> using namespace std; -using namespace IcePatch2; -using namespace IcePatch2Internal; using namespace IceGrid; namespace { -class LogPatcherFeedback : public IcePatch2::PatcherFeedback -{ -public: - - LogPatcherFeedback(const TraceLevelsPtr& traceLevels, const string& dest) : - _traceLevels(traceLevels), - _startedPatch(false), - _lastProgress(0), - _dest(dest) - { - } - - void - setPatchingPath(const string& path) - { - _path = path; - _startedPatch = false; - _lastProgress = 0; - } - - virtual bool - noFileSummary(const string& reason) - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": can't load summary file (will perform a thorough patch):\n" << reason; - } - return true; - } - - virtual bool - checksumStart() - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": started checksum calculation"; - } - return true; - } - - virtual bool - checksumProgress(const string& path) - { - if(_traceLevels->patch > 2) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": calculating checksum for " << getBasename(path); - } - return true; - } - - virtual bool - checksumEnd() - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": finished checksum calculation"; - } - return true; - } - - virtual bool - fileListStart() - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": getting list of file to patch"; - } - return true; - } - - virtual bool - fileListProgress(Ice::Int /*percent*/) - { - return true; - } - - virtual bool - fileListEnd() - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": getting list of file to patch completed"; - } - return true; - } - - virtual bool - patchStart(const string& /*path*/, Ice::Long /*size*/, Ice::Long totalProgress, Ice::Long totalSize) - { - if(_traceLevels->patch > 1 && totalSize > (1024 * 1024)) - { - int progress = static_cast<int>(static_cast<double>(totalProgress) / totalSize * 100.0); - progress /= 5; - progress *= 5; - if(progress != _lastProgress) - { - _lastProgress = progress; - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": downloaded " << progress << "% (" << totalProgress << '/' << totalSize << ')'; - if(!_path.empty()) - { - out << " of " << _path; - } - } - } - else if(_traceLevels->patch > 0) - { - if(!_startedPatch) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - int roundedSize = static_cast<int>(static_cast<double>(totalSize) / 1024); - if(roundedSize == 0 && totalSize > 0) - { - roundedSize = 1; - } - out << _dest << ": downloading " << (_path.empty() ? string("") : (_path + " ")) << roundedSize - << "KB "; - _startedPatch = true; - } - } - - return true; - } - - virtual bool - patchProgress(Ice::Long /*progress*/, Ice::Long /*size*/, Ice::Long /*totalProgress*/, Ice::Long /*totalSize*/) - { - return true; - } - - virtual bool - patchEnd() - { - return true; - } - - void - finishPatch() - { - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << _dest << ": downloading completed"; - } - } - -private: - - const TraceLevelsPtr _traceLevels; - bool _startedPatch; - int _lastProgress; - string _path; - string _dest; -}; - class NodeUp : public NodeI::Update { public: @@ -468,202 +303,6 @@ NodeI::destroyServerWithoutRestart_async(const AMD_Node_destroyServerWithoutRest } void -NodeI::patch_async(const AMD_Node_patchPtr& amdCB, - const PatcherFeedbackPrx& feedback, - const string& application, - const string& server, - const InternalDistributionDescriptorPtr& appDistrib, - bool shutdown, - const Ice::Current&) -{ - amdCB->ice_response(); - - { - Lock sync(*this); - while(_patchInProgress.find(application) != _patchInProgress.end()) - { - wait(); - } - _patchInProgress.insert(application); - } - - set<ServerIPtr> servers; - bool patchApplication = !appDistrib->icepatch.empty(); - if(server.empty()) - { - // - // Patch all the servers from the application. - // - servers = getApplicationServers(application); - } - else - { - ServerIPtr svr; - try - { - svr = ServerIPtr::dynamicCast(_adapter->find(createServerIdentity(server))); - } - catch(const Ice::ObjectAdapterDeactivatedException&) - { - } - - if(svr) - { - if(appDistrib->icepatch.empty() || !svr->dependsOnApplicationDistrib()) - { - // - // Don't patch the application if the server doesn't - // depend on it. - // - patchApplication = false; - servers.insert(svr); - } - else - { - // - // If the server to patch depends on the application, - // we need to shutdown all the application servers - // that depend on the application. - // - servers = getApplicationServers(application); - } - } - } - - for(set<ServerIPtr>::iterator s = servers.begin(); s != servers.end();) - { - if(!appDistrib->icepatch.empty() && (*s)->dependsOnApplicationDistrib()) - { - ++s; - } - else if((*s)->getDistribution() && (server.empty() || server == (*s)->getId())) - { - ++s; - } - else - { - // - // Exclude servers which don't depend on the application distribution - // or don't have a distribution. - // - servers.erase(s++); - } - } - - string failure; - if(!servers.empty()) - { - try - { - vector<string> running; - for(set<ServerIPtr>::iterator s = servers.begin(); s != servers.end();) - { - try - { - if(!(*s)->startPatch(shutdown)) - { - running.push_back((*s)->getId()); - servers.erase(s++); - } - else - { - ++s; - } - } - catch(const Ice::ObjectNotExistException&) - { - servers.erase(s++); - } - } - - if(!running.empty()) - { - if(running.size() == 1) - { - throw runtime_error("server `" + toString(running) + "' is active"); - } - else - { - throw runtime_error("servers `" + toString(running, ", ") + "' are active"); - } - } - - for(set<ServerIPtr>::iterator s = servers.begin(); s != servers.end(); ++s) - { - (*s)->waitForPatch(); - } - - // - // Patch the application. - // - FileServerPrx icepatch; - if(patchApplication) - { - assert(!appDistrib->icepatch.empty()); - icepatch = FileServerPrx::checkedCast(_communicator->stringToProxy(appDistrib->icepatch)); - if(!icepatch) - { - throw runtime_error("proxy `" + appDistrib->icepatch + "' is not a file server."); - } - patch(icepatch, "distrib/" + application, appDistrib->directories); - } - - // - // Patch the server(s). - // - for(set<ServerIPtr>::iterator s = servers.begin(); s != servers.end(); ++s) - { - InternalDistributionDescriptorPtr dist = (*s)->getDistribution(); - if(dist && (server.empty() || (*s)->getId() == server)) - { - icepatch = FileServerPrx::checkedCast(_communicator->stringToProxy(dist->icepatch)); - if(!icepatch) - { - throw runtime_error("proxy `" + dist->icepatch + "' is not a file server."); - } - patch(icepatch, "servers/" + (*s)->getId() + "/distrib", dist->directories); - - if(!server.empty()) - { - break; // No need to continue. - } - } - } - } - catch(const exception& ex) - { - failure = ex.what(); - } - - for(set<ServerIPtr>::const_iterator s = servers.begin(); s != servers.end(); ++s) - { - (*s)->finishPatch(); - } - } - - { - Lock sync(*this); - _patchInProgress.erase(application); - notifyAll(); - } - - try - { - if(failure.empty()) - { - feedback->finished(); - } - else - { - feedback->failed(failure); - } - } - catch(const Ice::LocalException&) - { - } -} - -void NodeI::registerWithReplica(const InternalRegistryPrx& replica, const Ice::Current&) { _sessions.create(replica); @@ -1054,20 +693,6 @@ NodeI::removeServer(const ServerIPtr& server, const std::string& application) if(p->second.empty()) { _serversByApplication.erase(p); - - string appDir = _dataDir + "/distrib/" + application; - if(IceUtilInternal::directoryExists(appDir)) - { - try - { - IcePatch2Internal::removeRecursive(appDir); - } - catch(const exception& ex) - { - Ice::Warning out(_traceLevels->logger); - out << "removing application directory `" << appDir << "' failed:\n" << ex.what(); - } - } } } } @@ -1203,7 +828,6 @@ NodeI::canRemoveServerDirectory(const string& name) set<string> contents(c.begin(), c.end()); contents.erase("dbs"); contents.erase("config"); - contents.erase("distrib"); contents.erase("revision"); contents.erase("data"); Ice::StringSeq serviceDataDirs; @@ -1276,44 +900,6 @@ NodeI::canRemoveServerDirectory(const string& name) return true; } -void -NodeI::patch(const FileServerPrx& icepatch, const string& dest, const vector<string>& directories) -{ - IcePatch2::PatcherFeedbackPtr feedback = new LogPatcherFeedback(_traceLevels, dest); - IcePatch2Internal::createDirectory(_dataDir + "/" + dest); - PatcherPtr patcher = PatcherFactory::create(icepatch, feedback, _dataDir + "/" + dest, false, 100, 1); - bool aborted = !patcher->prepare(); - if(!aborted) - { - if(directories.empty()) - { - aborted = !patcher->patch(""); - dynamic_cast<LogPatcherFeedback*>(feedback.get())->finishPatch(); - } - else - { - for(vector<string>::const_iterator p = directories.begin(); p != directories.end(); ++p) - { - dynamic_cast<LogPatcherFeedback*>(feedback.get())->setPatchingPath(*p); - if(!patcher->patch(*p)) - { - aborted = true; - break; - } - dynamic_cast<LogPatcherFeedback*>(feedback.get())->finishPatch(); - } - } - } - if(!aborted) - { - patcher->finish(); - } - - // - // Update the files owner/group - // -} - set<ServerIPtr> NodeI::getApplicationServers(const string& application) const { diff --git a/cpp/src/IceGrid/NodeI.h b/cpp/src/IceGrid/NodeI.h index 5d3afb7f270..f01eda09c38 100644 --- a/cpp/src/IceGrid/NodeI.h +++ b/cpp/src/IceGrid/NodeI.h @@ -6,7 +6,6 @@ #define ICE_GRID_NODE_I_H #include <IceUtil/Timer.h> -#include <IcePatch2/FileServer.h> #include <IceGrid/Internal.h> #include <IceGrid/PlatformInfo.h> #include <IceGrid/UserAccountMapper.h> @@ -85,9 +84,6 @@ public: const std::string&, const Ice::Current&); - virtual void patch_async(const AMD_Node_patchPtr&, const PatcherFeedbackPrx&, const std::string&, - const std::string&, const InternalDistributionDescriptorPtr&, bool, const Ice::Current&); - virtual void registerWithReplica(const InternalRegistryPrx&, const Ice::Current&); virtual void replicaInit(const InternalRegistryPrxSeq&, const Ice::Current&); @@ -143,7 +139,6 @@ public: private: std::vector<ServerCommandPtr> checkConsistencyNoSync(const Ice::StringSeq&); - void patch(const IcePatch2::FileServerPrx&, const std::string&, const std::vector<std::string>&); std::set<ServerIPtr> getApplicationServers(const std::string&) const; std::string getFilePath(const std::string&) const; @@ -187,7 +182,6 @@ private: IceUtil::Mutex _serversLock; std::map<std::string, std::set<ServerIPtr> > _serversByApplication; - std::set<std::string> _patchInProgress; }; typedef IceUtil::Handle<NodeI> NodeIPtr; diff --git a/cpp/src/IceGrid/NodeSessionI.cpp b/cpp/src/IceGrid/NodeSessionI.cpp index 5f0a9d62b03..72e57e02a8c 100644 --- a/cpp/src/IceGrid/NodeSessionI.cpp +++ b/cpp/src/IceGrid/NodeSessionI.cpp @@ -11,121 +11,6 @@ using namespace std; using namespace IceGrid; -namespace IceGrid -{ - -class PatcherFeedbackI : public PatcherFeedback -{ -public: - - PatcherFeedbackI(const string& node, - const NodeSessionIPtr& session, - const Ice::Identity id, - const PatcherFeedbackAggregatorPtr& aggregator) : - _node(node), - _session(session), - _id(id), - _aggregator(aggregator) - { - } - - void finished(const Ice::Current&) - { - _aggregator->finished(_node); - _session->removeFeedback(this, _id); - } - - virtual void failed(const string& reason, const Ice::Current& = Ice::Current()) - { - _aggregator->failed(_node, reason); - _session->removeFeedback(this, _id); - } - -private: - - const std::string _node; - const NodeSessionIPtr _session; - const Ice::Identity _id; - const PatcherFeedbackAggregatorPtr _aggregator; -}; - -}; - -PatcherFeedbackAggregator::PatcherFeedbackAggregator(Ice::Identity id, - const TraceLevelsPtr& traceLevels, - const string& type, - const string& name, - int nodeCount) : - _id(id), - _traceLevels(traceLevels), - _type(type), - _name(name), - _count(nodeCount) -{ -} - -PatcherFeedbackAggregator::~PatcherFeedbackAggregator() -{ -} - -void -PatcherFeedbackAggregator::finished(const string& node) -{ - Lock sync(*this); - if(_successes.find(node) != _successes.end() || _failures.find(node) != _failures.end()) - { - return; - } - - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << "finished patching of " << _type << " `" << _name << "' on node `" << node << "'"; - } - - _successes.insert(node); - checkIfDone(); -} - -void -PatcherFeedbackAggregator::failed(const string& node, const string& failure) -{ - Lock sync(*this); - if(_successes.find(node) != _successes.end() || _failures.find(node) != _failures.end()) - { - return; - } - - if(_traceLevels->patch > 0) - { - Ice::Trace out(_traceLevels->logger, _traceLevels->patchCat); - out << "patching of " << _type << " `" << _name << "' on node `" << node <<"' failed:\n" << failure; - } - - _failures.insert(node); - _reasons.push_back("patch on node `" + node + "' failed:\n" + failure); - checkIfDone(); -} - -void -PatcherFeedbackAggregator::checkIfDone() -{ - if(static_cast<int>(_successes.size() + _failures.size()) == _count) - { - if(!_failures.empty()) - { - sort(_reasons.begin(), _reasons.end()); - PatchException ex; - ex.reasons = _reasons; - exception(ex); - } - else - { - response(); - } - } -} - NodeSessionI::NodeSessionI(const DatabasePtr& database, const NodePrx& node, const InternalNodeInfoPtr& info, @@ -291,38 +176,6 @@ NodeSessionI::shutdown() destroyImpl(true); } -void -NodeSessionI::patch(const PatcherFeedbackAggregatorPtr& aggregator, - const string& application, - const string& server, - const InternalDistributionDescriptorPtr& dist, - bool shutdown) -{ - Ice::Identity id; - id.category = _database->getInstanceName(); - id.name = Ice::generateUUID(); - - PatcherFeedbackPtr obj = new PatcherFeedbackI(_info->name, this, id, aggregator); - try - { - PatcherFeedbackPrx feedback = PatcherFeedbackPrx::uncheckedCast(_database->getInternalAdapter()->add(obj, id)); - _node->patch(feedback, application, server, dist, shutdown); - - Lock sync(*this); - if(_destroy) - { - throw NodeUnreachableException(_info->name, "node is down"); - } - _feedbacks.insert(obj); - } - catch(const Ice::LocalException& ex) - { - ostringstream os; - os << "node unreachable:\n" << ex; - obj->failed(os.str()); - } -} - const NodePrx& NodeSessionI::getNode() const { @@ -400,17 +253,6 @@ NodeSessionI::destroyImpl(bool shutdown) // _database->getNode(_info->name)->setSession(0); - // - // Clean up the patcher feedback servants (this will call back - // removeFeedback so we need to use a temporary set). - // - set<PatcherFeedbackPtr> feedbacks; - _feedbacks.swap(feedbacks); - for(set<PatcherFeedbackPtr>::const_iterator p = feedbacks.begin(); p != feedbacks.end(); ++p) - { - (*p)->failed("node is down"); - } - if(!shutdown) { try @@ -422,19 +264,3 @@ NodeSessionI::destroyImpl(bool shutdown) } } } - -void -NodeSessionI::removeFeedback(const PatcherFeedbackPtr& feedback, const Ice::Identity& id) -{ - try - { - _database->getInternalAdapter()->remove(id); - } - catch(const Ice::LocalException&) - { - } - { - Lock sync(*this); - _feedbacks.erase(feedback); - } -} diff --git a/cpp/src/IceGrid/NodeSessionI.h b/cpp/src/IceGrid/NodeSessionI.h index 637f0ceac2f..b3ee36155b5 100644 --- a/cpp/src/IceGrid/NodeSessionI.h +++ b/cpp/src/IceGrid/NodeSessionI.h @@ -17,36 +17,6 @@ typedef IceUtil::Handle<Database> DatabasePtr; class TraceLevels; typedef IceUtil::Handle<TraceLevels> TraceLevelsPtr; -class PatcherFeedbackAggregator : public IceUtil::Mutex, public IceUtil::Shared -{ -public: - - PatcherFeedbackAggregator(Ice::Identity, const TraceLevelsPtr&, const std::string&, const std::string&, int); - virtual ~PatcherFeedbackAggregator(); - - void finished(const std::string&); - void failed(const std::string&, const std::string&); - -protected: - - virtual void exception(const Ice::Exception&) = 0; - virtual void response() = 0; - -private: - - void checkIfDone(); - - const Ice::Identity _id; - const TraceLevelsPtr _traceLevels; - const std::string _type; - const std::string _name; - const int _count; - std::set<std::string> _successes; - std::set<std::string> _failures; - Ice::StringSeq _reasons; -}; -typedef IceUtil::Handle<PatcherFeedbackAggregator> PatcherFeedbackAggregatorPtr; - class NodeSessionI : public NodeSession, public IceUtil::Mutex { public: @@ -65,8 +35,6 @@ public: virtual IceUtil::Time timestamp() const; virtual void shutdown(); - void patch(const PatcherFeedbackAggregatorPtr&, const std::string&, const std::string&, - const InternalDistributionDescriptorPtr&, bool); const NodePrx& getNode() const; const InternalNodeInfoPtr& getInfo() const; @@ -74,7 +42,6 @@ public: NodeSessionPrx getProxy() const; bool isDestroyed() const; - void removeFeedback(const PatcherFeedbackPtr&, const Ice::Identity&); private: @@ -91,7 +58,6 @@ private: IceUtil::Time _timestamp; LoadInfo _load; bool _destroy; - std::set<PatcherFeedbackPtr> _feedbacks; }; typedef IceUtil::Handle<NodeSessionI> NodeSessionIPtr; diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp index edcf11e4c69..736bd3ed421 100644 --- a/cpp/src/IceGrid/Parser.cpp +++ b/cpp/src/IceGrid/Parser.cpp @@ -36,7 +36,7 @@ namespace const char* _commandsHelp[][3] = { { "application", "add", -"application add [-n | --no-patch] DESC [TARGET ... ] [NAME=VALUE ... ]\n" +"application add DESC [TARGET ... ] [NAME=VALUE ... ]\n" " Add application described in DESC. If specified\n" " the optional targets TARGET will be deployed.\n" }, @@ -59,12 +59,6 @@ const char* _commandsHelp[][3] = { " --no-restart is specified, the update will fail if\n" " it is necessary to stop some servers.\n" }, -{ "application", "patch", -"application patch [-f | --force] NAME\n" -" Patch the given application data. If -f or --force is\n" -" specified, the servers depending on the data to patch\n" -" will be stopped if necessary.\n" -}, { "application", "list", "application list List all deployed applications.\n" }, @@ -154,9 +148,6 @@ const char* _commandsHelp[][3] = { { "server", "stop", "server stop ID Stop server ID.\n" }, -{ "server", "patch", -"server patch ID Patch server ID.\n" -}, { "server", "signal", "server signal ID SIGNAL Send SIGNAL (e.g. SIGTERM or 15) to server ID.\n" }, @@ -507,7 +498,6 @@ Parser::addApplication(const list<string>& origArgs) copyArgs.push_front("icegridadmin"); IceUtilInternal::Options opts; - opts.addOpt("n", "no-patch"); vector<string> args; try { @@ -555,21 +545,6 @@ Parser::addApplication(const list<string>& origArgs) // ApplicationDescriptor app = DescriptorParser::parseDescriptor(desc, targets, vars, _communicator, _admin); _admin->addApplication(app); - - if(!opts.isSet("no-patch")) - { - // - // Patch the application. - // - try - { - _admin->patchApplication(app.name, true); - } - catch(const PatchException& ex) - { - warning(patchFailed(ex.reasons)); - } - } } catch(const Ice::Exception& ex) { @@ -815,47 +790,6 @@ Parser::updateApplication(const list<string>& origArgs) } void -Parser::patchApplication(const list<string>& origArgs) -{ - list<string> copyArgs = origArgs; - copyArgs.push_front("icegridadmin"); - - IceUtilInternal::Options opts; - opts.addOpt("f", "force"); - vector<string> args; - try - { - for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p) - { - args.push_back(*p); - } - args = opts.parse(args); - } - catch(const IceUtilInternal::BadOptException& e) - { - error(e.reason); - return; - } - - if(args.size() != 1) - { - invalidCommand("application patch", "requires exactly one argument"); - return; - } - - try - { - vector<string>::const_iterator p = args.begin(); - string name = *p++; - _admin->patchApplication(name, opts.isSet("force")); - } - catch(const Ice::Exception& ex) - { - exception(ex); - } -} - -void Parser::listAllApplications(const list<string>& args) { if(!args.empty()) @@ -1378,45 +1312,6 @@ Parser::stopServer(const list<string>& args) } void -Parser::patchServer(const list<string>& origArgs) -{ - list<string> copyArgs = origArgs; - copyArgs.push_front("icegridadmin"); - - IceUtilInternal::Options opts; - opts.addOpt("f", "force"); - vector<string> args; - try - { - for(list<string>::const_iterator p = copyArgs.begin(); p != copyArgs.end(); ++p) - { - args.push_back(*p); - } - args = opts.parse(args); - } - catch(const IceUtilInternal::BadOptException& e) - { - error(e.reason); - return; - } - - if(args.size() != 1) - { - invalidCommand("server patch", "requires exactly one argument"); - return; - } - - try - { - _admin->patchServer(args.front(), opts.isSet("force")); - } - catch(const Ice::Exception& ex) - { - exception(ex); - } -} - -void Parser::signalServer(const list<string>& args) { if(args.size() != 2) @@ -2722,53 +2617,6 @@ Parser::invalidCommand(const list<string>& s) } } -string -Parser::patchFailed(const Ice::StringSeq& reasons) -{ - if(reasons.size() == 1) - { - ostringstream s; - s << "the patch failed:\n" << reasons[0]; - return s.str(); - } - else - { - ostringstream os; - IceUtilInternal::Output out(os); - out.setIndent(2); - out << "the patch failed on some nodes:\n"; - for(Ice::StringSeq::const_iterator p = reasons.begin(); p != reasons.end(); ++p) - { - string reason = *p; - string::size_type beg = 0; - string::size_type end = reason.find_first_of("\n"); - if(end == string::npos) - { - end = reason.size(); - } - out << "- " << reason.substr(beg, end - beg); - out.inc(); - while(end < reason.size()) - { - beg = end + 1; - end = reason.find_first_of("\n", beg); - if(end == string::npos) - { - end = reason.size(); - } - out.newline(); - out << reason.substr(beg, end - beg); - } - out.dec(); - if(p + 1 != reasons.end()) - { - out.newline(); - } - } - return os.str(); - } -} - void Parser::error(const char* s) { @@ -2912,10 +2760,6 @@ Parser::exception(const Ice::Exception& pex) s << ex << ":\n" << ex.reason; error(s.str()); } - catch(const PatchException& ex) - { - error(patchFailed(ex.reasons)); - } catch(const BadSignalException& ex) { ostringstream s; diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h index 1197b4f55a6..b28492f08e2 100644 --- a/cpp/src/IceGrid/Parser.h +++ b/cpp/src/IceGrid/Parser.h @@ -66,7 +66,6 @@ public: void describeApplication(const std::list<std::string>&); void diffApplication(const std::list<std::string>&); void updateApplication(const std::list<std::string>&); - void patchApplication(const std::list<std::string>&); void listAllApplications(const std::list<std::string>&); void describeServerTemplate(const std::list<std::string>&); @@ -88,7 +87,6 @@ public: void removeServer(const std::list<std::string>&); void startServer(const std::list<std::string>&); void stopServer(const std::list<std::string>&); - void patchServer(const std::list<std::string>&); void signalServer(const std::list<std::string>&); void writeMessage(const std::list<std::string>&, int fd); void describeServer(const std::list<std::string>&); @@ -136,7 +134,6 @@ public: void invalidCommand(const std::list<std::string>&); - std::string patchFailed(const Ice::StringSeq&); void error(const char*); void error(const std::string&); diff --git a/cpp/src/IceGrid/Scanner.cpp b/cpp/src/IceGrid/Scanner.cpp index d4bc68b5140..2c831ddb927 100644 --- a/cpp/src/IceGrid/Scanner.cpp +++ b/cpp/src/IceGrid/Scanner.cpp @@ -10,7 +10,7 @@ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 37 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif @@ -48,6 +48,7 @@ typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; +typedef uint64_t flex_uint64_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; @@ -55,6 +56,7 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -85,8 +87,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -334,7 +334,7 @@ void yyfree (void * ); /* Begin user sect3 */ -#define yywrap() 1 +#define yywrap(n) 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; @@ -360,7 +360,7 @@ static void yy_fatal_error (yyconst char msg[] ); */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + yyleng = (yy_size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; @@ -526,7 +526,7 @@ std::string parseSingleQuotedString(); } #define YY_USER_INIT initScanner(); -#line 534 "src/IceGrid/Scanner.cpp" +#line 529 "src/IceGrid/Scanner.cpp" #define INITIAL 0 @@ -615,7 +615,7 @@ static int input (void ); /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -626,7 +626,7 @@ static int input (void ); if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + yy_size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -708,10 +708,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 81 "src/IceGrid/Scanner.l" +#line 76 "src/IceGrid/Scanner.l" -#line 719 "src/IceGrid/Scanner.cpp" +#line 714 "src/IceGrid/Scanner.cpp" if ( !(yy_init) ) { @@ -796,7 +796,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 83 "src/IceGrid/Scanner.l" +#line 78 "src/IceGrid/Scanner.l" { // C++-style comment int c; @@ -809,7 +809,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 93 "src/IceGrid/Scanner.l" +#line 88 "src/IceGrid/Scanner.l" { // C-style comment while(true) @@ -838,7 +838,7 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 118 "src/IceGrid/Scanner.l" +#line 113 "src/IceGrid/Scanner.l" { size_t len = strlen(yytext); for(size_t i = 0; i < len; ++i) @@ -853,14 +853,14 @@ YY_RULE_SETUP case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 129 "src/IceGrid/Scanner.l" +#line 124 "src/IceGrid/Scanner.l" { return ';'; } YY_BREAK case 5: YY_RULE_SETUP -#line 133 "src/IceGrid/Scanner.l" +#line 128 "src/IceGrid/Scanner.l" { // "..."-type strings string s = parseDoubleQuotedString(); @@ -871,7 +871,7 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 141 "src/IceGrid/Scanner.l" +#line 136 "src/IceGrid/Scanner.l" { // '...'-type strings string s; @@ -899,7 +899,7 @@ YY_RULE_SETUP YY_BREAK case 7: YY_RULE_SETUP -#line 166 "src/IceGrid/Scanner.l" +#line 161 "src/IceGrid/Scanner.l" { // Simple strings string s; @@ -938,10 +938,10 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP -#line 202 "src/IceGrid/Scanner.l" +#line 197 "src/IceGrid/Scanner.l" ECHO; YY_BREAK -#line 949 "src/IceGrid/Scanner.cpp" +#line 944 "src/IceGrid/Scanner.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1134,7 +1134,7 @@ static int yy_get_next_buffer (void) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); @@ -1267,7 +1267,7 @@ static int yy_get_next_buffer (void) yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 18); - return yy_is_jam ? 0 : yy_current_state; + return yy_is_jam ? 0 : yy_current_state; } static void yyunput (int c, register char * yy_bp ) @@ -1355,7 +1355,7 @@ static int yy_get_next_buffer (void) case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) - return EOF; + return 0; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -1695,8 +1695,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ @@ -1704,8 +1704,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len { YY_BUFFER_STATE b; char *buf; - yy_size_t n; - int i; + yy_size_t n, i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; @@ -1935,7 +1934,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 202 "src/IceGrid/Scanner.l" +#line 197 "src/IceGrid/Scanner.l" @@ -1965,7 +1964,6 @@ initScanner() keywordMap["pid"] = ICE_GRID_PID; keywordMap["endpoints"] = ICE_GRID_ENDPOINTS; keywordMap["start"] = ICE_GRID_START; - keywordMap["patch"] = ICE_GRID_PATCH; keywordMap["stop"] = ICE_GRID_STOP; keywordMap["signal"] = ICE_GRID_SIGNAL; keywordMap["stdout"] = ICE_GRID_STDOUT; diff --git a/cpp/src/IceGrid/Scanner.l b/cpp/src/IceGrid/Scanner.l index 1de7e5def65..c3287b086e0 100644 --- a/cpp/src/IceGrid/Scanner.l +++ b/cpp/src/IceGrid/Scanner.l @@ -222,7 +222,6 @@ initScanner() keywordMap["pid"] = ICE_GRID_PID; keywordMap["endpoints"] = ICE_GRID_ENDPOINTS; keywordMap["start"] = ICE_GRID_START; - keywordMap["patch"] = ICE_GRID_PATCH; keywordMap["stop"] = ICE_GRID_STOP; keywordMap["signal"] = ICE_GRID_SIGNAL; keywordMap["stdout"] = ICE_GRID_STDOUT; diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp index 2f70ba75c07..8a2f6b36380 100644 --- a/cpp/src/IceGrid/ServerI.cpp +++ b/cpp/src/IceGrid/ServerI.cpp @@ -12,8 +12,6 @@ #include <IceGrid/Util.h> #include <IceGrid/ServerAdapterI.h> #include <IceGrid/DescriptorHelper.h> - -#include <IcePatch2Lib/Util.h> #include <IceUtil/FileUtil.h> #include <sys/types.h> @@ -120,7 +118,6 @@ descriptorUpdated(const InternalServerDescriptorPtr& lhs, const InternalServerDe lhs->activation != rhs->activation || lhs->activationTimeout != rhs->activationTimeout || lhs->deactivationTimeout != rhs->deactivationTimeout || - lhs->applicationDistrib != rhs->applicationDistrib || lhs->processRegistered != rhs->processRegistered || lhs->options != rhs->options || lhs->envs != rhs->envs || @@ -129,19 +126,6 @@ descriptorUpdated(const InternalServerDescriptorPtr& lhs, const InternalServerDe return true; } - if((!lhs->distrib && rhs->distrib) || (lhs->distrib && !rhs->distrib)) - { - return true; - } - else if(lhs->distrib && rhs->distrib) - { - if(lhs->distrib->icepatch != rhs->distrib->icepatch || - lhs->distrib->directories != rhs->distrib->directories) - { - return true; - } - } - if(lhs->adapters.size() != rhs->adapters.size()) { return true; @@ -633,57 +617,6 @@ DestroyCommand::clearDir() const return _clearDir; } -PatchCommand::PatchCommand(const ServerIPtr& server) : - ServerCommand(server), - _notified(false), - _destroyed(false) -{ -} - -bool -PatchCommand::canExecute(ServerI::InternalServerState state) -{ - return state == ServerI::Inactive; -} - -ServerI::InternalServerState -PatchCommand::nextState() -{ - return ServerI::Patching; -} - -void -PatchCommand::execute() -{ - Lock sync(*this); - _notified = true; - notifyAll(); -} - -bool -PatchCommand::waitForPatch() -{ - Lock sync(*this); - while(!_notified && !_destroyed) - { - wait(); - } - return _destroyed; -} - -void -PatchCommand::destroyed() -{ - Lock sync(*this); - _destroyed = true; - notifyAll(); -} - -void -PatchCommand::finished() -{ -} - StartCommand::StartCommand(const ServerIPtr& server, const IceUtil::TimerPtr& timer, int timeout) : TimedServerCommand(server, timer, timeout) { @@ -751,7 +684,7 @@ StopCommand::StopCommand(const ServerIPtr& server, const IceUtil::TimerPtr& time bool StopCommand::isStopped(ServerI::InternalServerState state) { - return state == ServerI::Inactive || state == ServerI::Patching || state == ServerI::Loading || + return state == ServerI::Inactive || state == ServerI::Loading || state >= ServerI::Destroying; } @@ -1100,20 +1033,6 @@ ServerI::getId() const return _id; } -InternalDistributionDescriptorPtr -ServerI::getDistribution() const -{ - Lock sync(*this); - return _desc ? _desc->distrib : InternalDistributionDescriptorPtr(); -} - -bool -ServerI::dependsOnApplicationDistrib() const -{ - Lock sync(*this); - return _desc ? _desc->applicationDistrib : false; -} - void ServerI::start(ServerActivation activation, const AMD_Server_startPtr& amdCB) { @@ -1406,72 +1325,6 @@ ServerI::destroy(const AMD_Node_destroyServerPtr& amdCB, const string& uuid, int return nextCommand(); } -bool -ServerI::startPatch(bool shutdown) -{ - ServerCommandPtr command; - { - Lock sync(*this); - checkDestroyed(); - if(!StopCommand::isStopped(_state)) - { - if(!shutdown) - { - return false; - } - else if(!_stop) - { - _stop = new StopCommand(this, _node->getTimer(), _deactivationTimeout); - } - } - if(!_patch) - { - _patch = new PatchCommand(this); - } - command = nextCommand(); - } - if(command) - { - command->execute(); - } - return true; -} - -bool -ServerI::waitForPatch() -{ - PatchCommandPtr patch; - { - Lock sync(*this); - if(!_patch) - { - return true; - } - patch = _patch; - } - return patch->waitForPatch(); -} - -void -ServerI::finishPatch() -{ -#ifndef _WIN32 - { - Lock sync(*this); - try - { - chownRecursive(_serverDir + "/distrib", _uid, _gid); - } - catch(const exception& ex) - { - Ice::Warning out(_node->getTraceLevels()->logger); - out << ex.what(); - } - } -#endif - setState(ServerI::Inactive); -} - void ServerI::adapterActivated(const string& id) { @@ -1869,7 +1722,7 @@ ServerI::destroy() { try { - IcePatch2Internal::removeRecursive(_serverDir); + removeRecursive(_serverDir); } catch(const exception& ex) { @@ -2000,7 +1853,6 @@ ServerI::shutdown() assert(!_destroy); assert(!_stop); assert(!_load); - assert(!_patch); assert(!_start); _timerTask = 0; } @@ -2029,7 +1881,7 @@ ServerI::update() // try { - IcePatch2Internal::removeRecursive(_serverDir); + removeRecursive(_serverDir); } catch(const exception&) { @@ -2235,7 +2087,7 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) // for(Ice::StringSeq::const_iterator p = _desc->logs.begin(); p != _desc->logs.end(); ++p) { - string path = IcePatch2Internal::simplify(*p); + string path = simplify(*p); if(IceUtilInternal::isAbsolutePath(path)) { _logs.push_back(path); @@ -2270,11 +2122,10 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) // // Create or update the server directories exists. // - IcePatch2Internal::createDirectory(_serverDir); - IcePatch2Internal::createDirectory(_serverDir + "/config"); - IcePatch2Internal::createDirectory(_serverDir + "/dbs"); - IcePatch2Internal::createDirectory(_serverDir + "/distrib"); - IcePatch2Internal::createDirectory(_serverDir + "/data"); + createDirectory(_serverDir); + createDirectory(_serverDir + "/config"); + createDirectory(_serverDir + "/dbs"); + createDirectory(_serverDir + "/data"); // // Create the configuration files, remove the old ones. @@ -2314,7 +2165,7 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) // // Remove old configuration files. // - Ice::StringSeq files = IcePatch2Internal::readDirectory(_serverDir + "/config"); + Ice::StringSeq files = readDirectory(_serverDir + "/config"); Ice::StringSeq toDel; set_difference(files.begin(), files.end(), knownFiles.begin(), knownFiles.end(), back_inserter(toDel)); for(Ice::StringSeq::const_iterator q = toDel.begin(); q != toDel.end(); ++q) @@ -2323,7 +2174,7 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) { try { - IcePatch2Internal::remove(_serverDir + "/config/" + *q); + remove(_serverDir + "/config/" + *q); } catch(const exception& ex) { @@ -2343,14 +2194,14 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) for(Ice::StringSeq::const_iterator q = _desc->services->begin(); q != _desc->services->end(); ++q) { knownDirs.push_back("data_" + *q); - IcePatch2Internal::createDirectory(_serverDir + "/data_" + *q); + createDirectory(_serverDir + "/data_" + *q); } sort(knownDirs.begin(), knownDirs.end()); // // Remove old directories // - Ice::StringSeq dirs = IcePatch2Internal::readDirectory(_serverDir); + Ice::StringSeq dirs = readDirectory(_serverDir); Ice::StringSeq svcDirs; for(Ice::StringSeq::const_iterator p = dirs.begin(); p != dirs.end(); ++p) { @@ -2365,7 +2216,7 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) { try { - IcePatch2Internal::removeRecursive(_serverDir + "/" + *p); + removeRecursive(_serverDir + "/" + *p); } catch(const exception& ex) { @@ -2386,7 +2237,7 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) knownDbEnvs.push_back((*q)->name); string dbEnvHome = _serverDir + "/dbs/" + (*q)->name; - IcePatch2Internal::createDirectory(dbEnvHome); + createDirectory(dbEnvHome); if(!(*q)->properties.empty()) { @@ -2419,14 +2270,14 @@ ServerI::updateImpl(const InternalServerDescriptorPtr& descriptor) // // Remove old database environments. // - Ice::StringSeq dbEnvs = IcePatch2Internal::readDirectory(_serverDir + "/dbs"); + Ice::StringSeq dbEnvs = readDirectory(_serverDir + "/dbs"); Ice::StringSeq toDel; set_difference(dbEnvs.begin(), dbEnvs.end(), knownDbEnvs.begin(), knownDbEnvs.end(), back_inserter(toDel)); for(Ice::StringSeq::const_iterator p = toDel.begin(); p != toDel.end(); ++p) { try { - IcePatch2Internal::removeRecursive(_serverDir + "/dbs/" + *p); + removeRecursive(_serverDir + "/dbs/" + *p); } catch(const exception& ex) { @@ -2764,10 +2615,6 @@ ServerI::nextCommand() { command = _load; } - else if(_patch && _patch->canExecute(_state)) - { - command = _patch; - } else if(_start && _start->canExecute(_state)) { command = _start; @@ -2789,9 +2636,6 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) { case Inactive: break; - case Patching: - assert(_patch && _patch->canExecute(_state)); - break; case Loading: assert(_load && _load->canExecute(_state)); break; @@ -2838,10 +2682,6 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) { _load = 0; } - if(previous == Patching) - { - _patch = 0; - } if(_stop) { _stop->finished(); @@ -2871,11 +2711,6 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) break; case Destroying: loadFailure = _destroy->loadFailure(); - if(_patch) - { - _patch->destroyed(); - _patch = 0; - } if(_load) { _load->failed(DeploymentException("The server is being destroyed.")); @@ -3005,7 +2840,7 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) } else if(_state == ServerI::Inactive) { - if(_node->getTraceLevels()->server > 2 || (previous != ServerI::Loading && previous != ServerI::Patching)) + if(_node->getTraceLevels()->server > 2 || (previous != ServerI::Loading)) { out << "changed server `" << _id << "' state to `Inactive'"; } @@ -3044,10 +2879,6 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) { out << "changed server `" << _id << "' state to `Loading'"; } - else if(_state == ServerI::Patching) - { - out << "changed server `" << _id << "' state to `Patching'"; - } } if(!reason.empty()) { @@ -3063,7 +2894,6 @@ ServerI::toServerState(InternalServerState st) const { case ServerI::Inactive: case ServerI::Activating: - case ServerI::Patching: case ServerI::Loading: return IceGrid::Inactive; case ServerI::WaitForActivation: @@ -3150,7 +2980,7 @@ ServerI::getFilePath(const string& filename) const } else if(!filename.empty() && filename[0] == '#') { - string path = IcePatch2Internal::simplify(filename.substr(1)); + string path = simplify(filename.substr(1)); if(!IceUtilInternal::isAbsolutePath(path)) { path = _node->getPlatformInfo().getCwd() + "/" + path; diff --git a/cpp/src/IceGrid/ServerI.h b/cpp/src/IceGrid/ServerI.h index 80c9fe9271a..a41fc9efd0d 100644 --- a/cpp/src/IceGrid/ServerI.h +++ b/cpp/src/IceGrid/ServerI.h @@ -30,8 +30,6 @@ class StopCommand; typedef IceUtil::Handle<StopCommand> StopCommandPtr; class StartCommand; typedef IceUtil::Handle<StartCommand> StartCommandPtr; -class PatchCommand; -typedef IceUtil::Handle<PatchCommand> PatchCommandPtr; class LoadCommand; typedef IceUtil::Handle<LoadCommand> LoadCommandPtr; @@ -46,7 +44,6 @@ public: enum InternalServerState { Loading, - Patching, Inactive, Activating, WaitForActivation, @@ -92,17 +89,12 @@ public: bool isAdapterActivatable(const std::string&) const; const std::string& getId() const; - InternalDistributionDescriptorPtr getDistribution() const; - bool dependsOnApplicationDistrib() const; void start(ServerActivation, const AMD_Server_startPtr& = AMD_Server_startPtr()); ServerCommandPtr load(const AMD_Node_loadServerPtr&, const InternalServerDescriptorPtr&, const std::string&, bool); bool checkUpdate(const InternalServerDescriptorPtr&, bool, const Ice::Current&); void checkRemove(bool, const Ice::Current&); ServerCommandPtr destroy(const AMD_Node_destroyServerPtr&, const std::string&, int, const std::string&, bool); - bool startPatch(bool); - bool waitForPatch(); - void finishPatch(); void adapterActivated(const std::string&); void adapterDeactivated(const std::string&); @@ -179,7 +171,6 @@ private: DestroyCommandPtr _destroy; StopCommandPtr _stop; LoadCommandPtr _load; - PatchCommandPtr _patch; StartCommandPtr _start; int _pid; @@ -285,26 +276,6 @@ private: std::vector<AMD_Server_startPtr> _startCB; }; -class PatchCommand : public ServerCommand, public IceUtil::Monitor<IceUtil::Mutex> -{ -public: - - PatchCommand(const ServerIPtr&); - - bool canExecute(ServerI::InternalServerState); - ServerI::InternalServerState nextState(); - void execute(); - - bool waitForPatch(); - void destroyed(); - void finished(); - -private: - - bool _notified; - bool _destroyed; -}; - class LoadCommand : public ServerCommand { public: diff --git a/cpp/src/IceGrid/TraceLevels.cpp b/cpp/src/IceGrid/TraceLevels.cpp index 4d776d822f1..530661196ac 100644 --- a/cpp/src/IceGrid/TraceLevels.cpp +++ b/cpp/src/IceGrid/TraceLevels.cpp @@ -26,8 +26,6 @@ TraceLevels::TraceLevels(const Ice::CommunicatorPtr& communicator, const string& objectCat("Object"), activator(0), activatorCat("Activator"), - patch(0), - patchCat("Patch"), locator(0), locatorCat("Locator"), session(0), @@ -47,7 +45,6 @@ TraceLevels::TraceLevels(const Ice::CommunicatorPtr& communicator, const string& const_cast<int&>(adapter) = properties->getPropertyAsInt(keyBase + adapterCat); const_cast<int&>(object) = properties->getPropertyAsInt(keyBase + objectCat); const_cast<int&>(activator) = properties->getPropertyAsInt(keyBase + activatorCat); - const_cast<int&>(patch) = properties->getPropertyAsInt(keyBase + patchCat); const_cast<int&>(locator) = properties->getPropertyAsInt(keyBase + locatorCat); const_cast<int&>(session) = properties->getPropertyAsInt(keyBase + sessionCat); const_cast<int&>(discovery) = properties->getPropertyAsInt(keyBase + discoveryCat); diff --git a/cpp/src/IceGrid/TraceLevels.h b/cpp/src/IceGrid/TraceLevels.h index 43a2bbf66c5..11e5a852355 100644 --- a/cpp/src/IceGrid/TraceLevels.h +++ b/cpp/src/IceGrid/TraceLevels.h @@ -43,9 +43,6 @@ public: const int activator; const char* activatorCat; - const int patch; - const char* patchCat; - const int locator; const char* locatorCat; diff --git a/cpp/src/IceGrid/Util.cpp b/cpp/src/IceGrid/Util.cpp index b77215d8de9..f9dfe622877 100644 --- a/cpp/src/IceGrid/Util.cpp +++ b/cpp/src/IceGrid/Util.cpp @@ -7,10 +7,52 @@ #include <IceGrid/Admin.h> #include <IceGrid/Internal.h> +#include <IceUtil/FileUtil.h> +#ifdef _WIN32 +# include <direct.h> +# include <io.h> +#else +# include <unistd.h> +# include <dirent.h> +#endif + using namespace std; using namespace Ice; using namespace IceGrid; +namespace +{ + +bool +isRoot(const string& pa) +{ + string path = simplify(pa); +#ifdef _WIN32 + return path == "/" || path.size() == 3 && IceUtilInternal::isAlpha(path[0]) && path[1] == ':' && + path[2] == '/'; +#else + return path == "/"; +#endif +} + +string +getDirname(const string& pa) +{ + const string path = simplify(pa); + + string::size_type pos = path.rfind('/'); + if(pos == string::npos) + { + return string(); + } + else + { + return path.substr(0, pos); + } +} + +} + string IceGrid::toString(const vector<string>& v, const string& sep) { @@ -324,3 +366,273 @@ IceGrid::getMMVersion(const string& o) return ver; } + +string +IceGrid::simplify(const string& path) +{ + string result = path; + + string::size_type pos; + +#ifdef _WIN32 + pos = 0; + if(result.find("\\\\") == 0) + { + pos = 2; + } + + for(; pos < result.size(); ++pos) + { + if(result[pos] == '\\') + { + result[pos] = '/'; + } + } +#endif + + pos = 0; + while((pos = result.find("//", pos)) != string::npos) + { + result.erase(pos, 1); + } + + pos = 0; + while((pos = result.find("/./", pos)) != string::npos) + { + result.erase(pos, 2); + } + + while(result.substr(0, 4) == "/../") + { + result.erase(0, 3); + } + + if(result.substr(0, 2) == "./") + { + result.erase(0, 2); + } + + if(result == "/." || + (result.size() == 4 && IceUtilInternal::isAlpha(result[0]) && result[1] == ':' && + result[2] == '/' && result[3] == '.')) + { + return result.substr(0, result.size() - 1); + } + + if(result.size() >= 2 && result.substr(result.size() - 2, 2) == "/.") + { + result.erase(result.size() - 2, 2); + } + + if(result == "/" || (result.size() == 3 && IceUtilInternal::isAlpha(result[0]) && result[1] == ':' && + result[2] == '/')) + { + return result; + } + + if(result.size() >= 1 && result[result.size() - 1] == '/') + { + result.erase(result.size() - 1); + } + + if(result == "/..") + { + result = "/"; + } + + return result; +} + +void +IceGrid::remove(const string& pa) +{ + const string path = simplify(pa); + + IceUtilInternal::structstat buf; + if(IceUtilInternal::stat(path, &buf) == -1) + { + throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + + if(S_ISDIR(buf.st_mode)) + { + if(IceUtilInternal::rmdir(path) == -1) + { + if(errno == EACCES) + { + assert(false); + } + throw runtime_error("cannot remove directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + } + else + { + if(IceUtilInternal::remove(path) == -1) + { + throw runtime_error("cannot remove file `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + } +} + +void +IceGrid::removeRecursive(const string& pa) +{ + const string path = simplify(pa); + + IceUtilInternal::structstat buf; + if(IceUtilInternal::stat(path, &buf) == -1) + { + throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + + if(S_ISDIR(buf.st_mode)) + { + StringSeq paths = readDirectory(path); + for(StringSeq::const_iterator p = paths.begin(); p != paths.end(); ++p) + { + removeRecursive(path + '/' + *p); + } + + if(!isRoot(path)) + { + if(IceUtilInternal::rmdir(path) == -1) + { + throw runtime_error("cannot remove directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + } + } + else + { + if(IceUtilInternal::remove(path) == -1) + { + throw runtime_error("cannot remove file `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + } +} + +StringSeq +IceGrid::readDirectory(const string& pa) +{ + const string path = simplify(pa); + +#ifdef _WIN32 + + // + // IceGrid doesn't support to use string converters, so don't need to use + // any string converter in stringToWstring or wstringToString conversions. + // + StringSeq result; + const wstring fs = IceUtil::stringToWstring(simplify(path + "/*")); + + struct _wfinddata_t data; + intptr_t h = _wfindfirst(fs.c_str(), &data); + if(h == -1) + { + throw runtime_error("cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + + while(true) + { + string name = wstringToString(data.name); + assert(!name.empty()); + + if(name != ".." && name != ".") + { + result.push_back(name); + } + + if(_wfindnext(h, &data) == -1) + { + if(errno == ENOENT) + { + break; + } + string reason = "cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString(); + _findclose(h); + throw runtime_error(reason); + } + } + + _findclose(h); + + sort(result.begin(), result.end()); + return result; + +#else + + struct dirent **namelist; + int n = scandir(path.c_str(), &namelist, 0, alphasort); + + if(n < 0) + { + throw runtime_error("cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + + StringSeq result; + assert(n >= 2); + result.reserve(static_cast<size_t>(n - 2)); + + for(int i = 0; i < n; ++i) + { + string name = namelist[i]->d_name; + assert(!name.empty()); + + free(namelist[i]); + + if(name != ".." && name != ".") + { + result.push_back(name); + } + } + + free(namelist); + return result; + +#endif +} + +void +IceGrid::createDirectory(const string& pa) +{ + const string path = simplify(pa); + + if(IceUtilInternal::mkdir(path, 0777) == -1) + { + if(errno != EEXIST) + { + throw runtime_error("cannot create directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + } +} + +void +IceGrid::createDirectoryRecursive(const string& pa) +{ + const string path = simplify(pa); + + string dir = getDirname(path); + if(!dir.empty()) + { + createDirectoryRecursive(dir); + } + + if(!isRoot(path + "/")) + { + IceUtilInternal::structstat buf; + if(IceUtilInternal::stat(path, &buf) != -1) + { + if(S_ISDIR(buf.st_mode)) + { + return; + } + } + + if(IceUtilInternal::mkdir(path, 0777) == -1) + { + if(errno != EEXIST) + { + throw runtime_error("cannot create directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); + } + } + } +} diff --git a/cpp/src/IceGrid/Util.h b/cpp/src/IceGrid/Util.h index 8091e0738e7..6f5312102c4 100644 --- a/cpp/src/IceGrid/Util.h +++ b/cpp/src/IceGrid/Util.h @@ -38,6 +38,13 @@ void setupThreadPool(const Ice::PropertiesPtr&, const std::string&, int, int = 0 int getMMVersion(const std::string&); +std::string simplify(const std::string&); +void remove(const std::string&); +void removeRecursive(const std::string&); +Ice::StringSeq readDirectory(const std::string&); +void createDirectory(const std::string&); +void createDirectoryRecursive(const std::string&); + template<class Function> struct ForEachCommunicator : std::unary_function<CommunicatorDescriptorPtr&, void> { diff --git a/cpp/src/IcePatch2/Calc.cpp b/cpp/src/IcePatch2/Calc.cpp deleted file mode 100644 index 358f8631d6e..00000000000 --- a/cpp/src/IcePatch2/Calc.cpp +++ /dev/null @@ -1,315 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IceUtil/Options.h> -#include <IceUtil/StringUtil.h> -#include <IceUtil/FileUtil.h> -#include <Ice/ConsoleUtil.h> -#include <IcePatch2Lib/Util.h> -#include <iterator> - -using namespace std; -using namespace Ice; -using namespace IceInternal; -using namespace IcePatch2; -using namespace IcePatch2Internal; - -struct FileInfoPathLess: public binary_function<const LargeFileInfo&, const LargeFileInfo&, bool> -{ - bool - operator()(const LargeFileInfo& lhs, const LargeFileInfo& rhs) - { - return lhs.path < rhs.path; - } -}; - -struct IFileInfoPathEqual: public binary_function<const LargeFileInfo&, const LargeFileInfo&, bool> -{ - bool - operator()(const LargeFileInfo& lhs, const LargeFileInfo& rhs) - { - if(lhs.path.size() != rhs.path.size()) - { - return false; - } - - for(string::size_type i = 0; i < lhs.path.size(); ++i) - { - if(::tolower(static_cast<unsigned char>(lhs.path[i])) != ::tolower(static_cast<unsigned char>(rhs.path[i]))) - { - return false; - } - } - - return true; - } -}; - -struct IFileInfoPathLess: public binary_function<const LargeFileInfo&, const LargeFileInfo&, bool> -{ - bool - operator()(const LargeFileInfo& lhs, const LargeFileInfo& rhs) - { - for(string::size_type i = 0; i < lhs.path.size() && i < rhs.path.size(); ++i) - { - if(::tolower(static_cast<unsigned char>(lhs.path[i])) < ::tolower(static_cast<unsigned char>(rhs.path[i]))) - { - return true; - } - else if(::tolower(static_cast<unsigned char>(lhs.path[i])) > - ::tolower(static_cast<unsigned char>(rhs.path[i]))) - { - return false; - } - } - return lhs.path.size() < rhs.path.size(); - } -}; - -class CalcCB : public GetFileInfoSeqCB -{ -public: - - virtual bool - remove(const string& path) - { - consoleOut << "removing: " << path << endl; - return true; - } - - virtual bool - checksum(const string& path) - { - consoleOut << "checksum: " << path << endl; - return true; - } - - virtual bool - compress(const string& path) - { - consoleOut << "compress: " << path << endl; - return true; - } -}; - -void -usage(const string& appName) -{ - consoleErr << "Usage: " << appName << " [options] DIR [FILES...]\n"; - consoleErr << - "Options:\n" - "-h, --help Show this message.\n" - "-v, --version Display the Ice version.\n" - "-z, --compress Always compress files.\n" - "-Z, --no-compress Never compress files.\n" - "-i, --case-insensitive Files must not differ in case only.\n" - "-V, --verbose Verbose mode.\n" - ; -} - -#ifdef _WIN32 - -int -wmain(int argc, wchar_t* argv[]) - -#else - -int -main(int argc, char* argv[]) - -#endif -{ - Ice::StringSeq originalArgs = Ice::argsToStringSeq(argc, argv); - assert(originalArgs.size() > 0); - const string appName = originalArgs[0]; - string dataDir; - StringSeq fileSeq; - int compress = 1; - bool verbose; - bool caseInsensitive; - - IceUtilInternal::Options opts; - opts.addOpt("h", "help"); - opts.addOpt("v", "version"); - opts.addOpt("z", "compress"); - opts.addOpt("Z", "no-compress"); - opts.addOpt("V", "verbose"); - opts.addOpt("i", "case-insensitive"); - - vector<string> args; - try - { - args = opts.parse(originalArgs); - } - catch(const IceUtilInternal::BadOptException& e) - { - consoleErr << e.reason << endl; - usage(appName); - return EXIT_FAILURE; - } - - if(opts.isSet("help")) - { - usage(appName); - return EXIT_SUCCESS; - } - if(opts.isSet("version")) - { - consoleOut << ICE_STRING_VERSION << endl; - return EXIT_SUCCESS; - } - bool doCompress = opts.isSet("compress"); - bool dontCompress = opts.isSet("no-compress"); - if(doCompress && dontCompress) - { - consoleErr << appName << ": only one of -z and -Z are mutually exclusive" << endl; - usage(appName); - return EXIT_FAILURE; - } - if(doCompress) - { - compress = 2; - } - else if(dontCompress) - { - compress = 0; - } - verbose = opts.isSet("verbose"); - caseInsensitive = opts.isSet("case-insensitive"); - - if(args.empty()) - { - consoleErr << appName << ": no data directory specified" << endl; - usage(appName); - return EXIT_FAILURE; - } - dataDir = simplify(args[0]); - - for(vector<string>::size_type i = 1; i < args.size(); ++i) - { - fileSeq.push_back(simplify(args[i])); - } - - try - { - string absDataDir = dataDir; - - string cwd; - if(IceUtilInternal::getcwd(cwd) != 0) - { - throw runtime_error("cannot get the current directory:\n" + IceUtilInternal::lastErrorToString()); - } - - if(!IceUtilInternal::isAbsolutePath(absDataDir)) - { - absDataDir = simplify(cwd + '/' + absDataDir); - } - - for(StringSeq::iterator p = fileSeq.begin(); p != fileSeq.end(); ++p) - { - if(!IceUtilInternal::isAbsolutePath(*p)) - { - *p = cwd + '/' + *p; - } - } - - // - // We must call simplify() here: under Cygwin, any path starting with - // a double slash simply doesn't work. But, if dataDir is "/", we end - // up with paths that start with "//" unless we call simplify(). - // - string absDataDirWithSlash = simplify(absDataDir + '/'); - - for(StringSeq::iterator p = fileSeq.begin(); p != fileSeq.end(); ++p) - { - if(p->compare(0, absDataDirWithSlash.size(), absDataDirWithSlash) != 0) - { - throw runtime_error("`" + *p + "' is not a path in `" + dataDir + "'"); - } - - p->erase(0, absDataDirWithSlash.size()); - } - - LargeFileInfoSeq infoSeq; - - if(fileSeq.empty()) - { - CalcCB calcCB; - if(!getFileInfoSeq(absDataDir, compress, verbose ? &calcCB : 0, infoSeq)) - { - return EXIT_FAILURE; - } - } - else - { - loadFileInfoSeq(absDataDir, infoSeq); - - for(StringSeq::iterator p = fileSeq.begin(); p != fileSeq.end(); ++p) - { - LargeFileInfoSeq partialInfoSeq; - - CalcCB calcCB; - if(!getFileInfoSeqSubDir(absDataDir, *p, compress, verbose ? &calcCB : 0, partialInfoSeq)) - { - return EXIT_FAILURE; - } - - LargeFileInfoSeq newInfoSeq; - newInfoSeq.reserve(infoSeq.size()); - - set_difference(infoSeq.begin(), - infoSeq.end(), - partialInfoSeq.begin(), - partialInfoSeq.end(), - back_inserter(newInfoSeq), - FileInfoPathLess()); - - infoSeq.swap(newInfoSeq); - - newInfoSeq.clear(); - newInfoSeq.reserve(infoSeq.size() + partialInfoSeq.size()); - - set_union(infoSeq.begin(), - infoSeq.end(), - partialInfoSeq.begin(), - partialInfoSeq.end(), - back_inserter(newInfoSeq), - FileInfoPathLess()); - - infoSeq.swap(newInfoSeq); - } - } - - if(caseInsensitive) - { - LargeFileInfoSeq newInfoSeq = infoSeq; - sort(newInfoSeq.begin(), newInfoSeq.end(), IFileInfoPathLess()); - string reason; - LargeFileInfoSeq::iterator p = newInfoSeq.begin(); - while((p = adjacent_find(p, newInfoSeq.end(), IFileInfoPathEqual())) != newInfoSeq.end()) - { - do - { - reason += '\n' + dataDir + '/' + p->path; - ++p; - } - while(p < newInfoSeq.end() && IFileInfoPathEqual()(*(p - 1), *p)); - } - - if(!reason.empty()) - { - throw runtime_error("duplicate files:" + reason); - } - } - - saveFileInfoSeq(absDataDir, infoSeq); - } - catch(const exception& ex) - { - consoleErr << appName << ": " << ex.what() << endl; - return EXIT_FAILURE; - } - - return EXIT_SUCCESS; -} diff --git a/cpp/src/IcePatch2/Client.cpp b/cpp/src/IcePatch2/Client.cpp deleted file mode 100644 index dc9b1cbc838..00000000000 --- a/cpp/src/IcePatch2/Client.cpp +++ /dev/null @@ -1,383 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IceUtil/Options.h> -#include <IceUtil/StringUtil.h> -#include <Ice/Ice.h> -#include <Ice/ConsoleUtil.h> -#include <IcePatch2Lib/Util.h> -#include <IcePatch2/ClientUtil.h> - -#ifdef _WIN32 -# include <conio.h> -#else -# include <fcntl.h> -# include <termios.h> -#endif - -using namespace std; -using namespace IceInternal; - -class TextPatcherFeedback : public IcePatch2::PatcherFeedback -{ -public: - - TextPatcherFeedback() : - _pressAnyKeyMessage(false) - { -#ifndef _WIN32 - tcgetattr(0, &_savedTerm); - _savedFlags = fcntl(0, F_GETFL); - _block = true; -#endif - } - - virtual ~TextPatcherFeedback() - { -#ifndef _WIN32 - tcsetattr(0, TCSANOW, &_savedTerm); - fcntl(0, F_SETFL, _savedFlags); -#endif - } - - virtual bool - noFileSummary(const string& reason) - { - consoleOut << "Cannot load file summary:\n" << reason << endl; - string answer; - do - { - consoleOut << "Do a thorough patch? (yes/no)" << endl; - cin >> answer; - answer = IceUtilInternal::toLower(answer); - if(answer == "no") - { - return false; - } - } - while(answer != "yes"); - return true; - } - - virtual bool - checksumStart() - { - if(!_pressAnyKeyMessage) - { - consoleOut << "[Press any key to abort]" << endl; - _pressAnyKeyMessage = true; - } - - return !keyPressed(); - } - - virtual bool - checksumProgress(const string& path) - { - consoleOut << "Calculating checksum for " << IcePatch2Internal::getBasename(path) << endl; - return !keyPressed(); - } - - virtual bool - checksumEnd() - { - return !keyPressed(); - } - - virtual bool - fileListStart() - { - if(!_pressAnyKeyMessage) - { - consoleOut << "[Press any key to abort]" << endl; - _pressAnyKeyMessage = true; - } - - _lastProgress = "0%"; - consoleOut << "Getting list of files to patch: " << _lastProgress << flush; - return !keyPressed(); - } - - virtual bool - fileListProgress(Ice::Int percent) - { - for(unsigned int i = 0; i < _lastProgress.size(); ++i) - { - consoleOut << '\b'; - } - ostringstream s; - s << percent << '%'; - _lastProgress = s.str(); - consoleOut << _lastProgress << flush; - return !keyPressed(); - } - - virtual bool - fileListEnd() - { - consoleOut << endl; - return !keyPressed(); - } - - virtual bool - patchStart(const string& path, Ice::Long size, Ice::Long totalProgress, Ice::Long totalSize) - { - if(!_pressAnyKeyMessage) - { - consoleOut << "[Press any key to abort]" << endl; - _pressAnyKeyMessage = true; - } - - ostringstream s; - s << "0/" << size << " (" << totalProgress << '/' << totalSize << ')'; - _lastProgress = s.str(); - consoleOut << IcePatch2Internal::getBasename(path) << ' ' << _lastProgress << flush; - return !keyPressed(); - } - - virtual bool - patchProgress(Ice::Long progress, Ice::Long size, Ice::Long totalProgress, Ice::Long totalSize) - { - for(unsigned int i = 0; i < _lastProgress.size(); ++i) - { - consoleOut << '\b'; - } - ostringstream s; - s << progress << '/' << size << " (" << totalProgress << '/' << totalSize << ')'; - _lastProgress = s.str(); - consoleOut << _lastProgress << flush; - return !keyPressed(); - } - - virtual bool - patchEnd() - { - consoleOut << endl; - return !keyPressed(); - } - -private: - -#ifdef _WIN32 - - bool - keyPressed() - { - bool pressed = false; - while(_kbhit()) - { - pressed = true; - _getch(); - } - if(pressed) - { - pressed = confirmAbort(); - } - return pressed; - } - -#else - - bool - keyPressed() - { - if(_block) - { - termios term; - memcpy(&term, &_savedTerm, sizeof(termios)); - term.c_lflag &= static_cast<tcflag_t>(~(ECHO | ICANON)); - term.c_cc[VTIME] = 0; - term.c_cc[VMIN] = 1; - tcsetattr(0, TCSANOW, &term); - - int flags = _savedFlags; - flags |= O_NONBLOCK; - fcntl(0, F_SETFL, flags); - - _block = false; - } - - bool pressed = false; - char c; - while(read(0, &c, 1) > 0) - { - pressed = true; - } - if(pressed) - { - pressed = confirmAbort(); - } - return pressed; - } - - termios _savedTerm; - int _savedFlags; - bool _block; - -#endif - - bool - confirmAbort() - { -#ifndef _WIN32 - if(!_block) - { - tcsetattr(0, TCSANOW, &_savedTerm); - fcntl(0, F_SETFL, _savedFlags); - _block = true; - } -#endif - string answer; - do - { - consoleOut << "\nConfirm abort? (Y/N)" << endl; - cin >> answer; - answer = IceUtilInternal::toLower(answer); - if(answer == "n") - { - return false; - } - } - while(answer != "y"); - return true; - } - - string _lastProgress; - bool _pressAnyKeyMessage; -}; - -int run(const Ice::StringSeq&); - -Ice::CommunicatorPtr communicator; - -void -destroyCommunicator(int) -{ - communicator->destroy(); -} - -int -#ifdef _WIN32 -wmain(int argc, wchar_t* argv[]) -#else -main(int argc, char* argv[]) -#endif -{ - int status = 0; - - try - { - Ice::CtrlCHandler ctrlCHandler; - Ice::CommunicatorHolder ich(argc, argv); - communicator = ich.communicator(); - - ctrlCHandler.setCallback(&destroyCommunicator); - - status = run(Ice::argsToStringSeq(argc, argv)); - } - catch(const std::exception& ex) - { - consoleErr << ex.what() << endl; - status = 1; - } - - return status; -} - -void -usage(const string& appName) -{ - string options = - "Options:\n" - "-h, --help Show this message.\n" - "-v, --version Display the Ice version.\n" - "-t, --thorough Recalculate all checksums."; - - consoleErr << "Usage: " << appName << " [options] [DIR]" << endl; - consoleErr << options << endl; -} - -int -run(const Ice::StringSeq& args) -{ - Ice::PropertiesPtr properties = communicator->getProperties(); - - IceUtilInternal::Options opts; - opts.addOpt("h", "help"); - opts.addOpt("v", "version"); - opts.addOpt("t", "thorough"); - - vector<string> props; - try - { - props = opts.parse(args); - } - catch(const IceUtilInternal::BadOptException& e) - { - consoleErr << e.reason << endl; - usage(args[0]); - return 1; - } - - if(opts.isSet("help")) - { - usage(args[0]); - return 0; - } - if(opts.isSet("version")) - { - consoleOut << ICE_STRING_VERSION << endl; - return 0; - } - if(opts.isSet("thorough")) - { - properties->setProperty("IcePatch2Client.Thorough", "1"); - } - - if(props.size() > 1) - { - consoleErr << args[0] << ": too many arguments" << endl; - usage(args[0]); - return 1; - } - if(props.size() == 1) - { - properties->setProperty("IcePatch2Client.Directory", IcePatch2Internal::simplify(props[0])); - } - - bool aborted = false; - - try - { - IcePatch2::PatcherFeedbackPtr feedback = new TextPatcherFeedback; - IcePatch2::PatcherPtr patcher = IcePatch2::PatcherFactory::create(communicator, feedback); - - aborted = !patcher->prepare(); - - if(!aborted) - { - aborted = !patcher->patch(""); - } - - if(!aborted) - { - patcher->finish(); - } - } - catch(const exception& ex) - { - consoleErr << args[0] << ": " << ex.what() << endl; - return 1; - } - - if(aborted) - { - consoleOut << "\n[Aborted]" << endl; - return 1; - } - else - { - return 0; - } -} diff --git a/cpp/src/IcePatch2/FileServerI.cpp b/cpp/src/IcePatch2/FileServerI.cpp deleted file mode 100644 index c1f57236027..00000000000 --- a/cpp/src/IcePatch2/FileServerI.cpp +++ /dev/null @@ -1,193 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IceUtil/DisableWarnings.h> -#include <IceUtil/FileUtil.h> -#include <IceUtil/StringUtil.h> -#include <IcePatch2/FileServerI.h> - -#ifdef _WIN32 -# include <io.h> -#else -# include <unistd.h> -#endif - -using namespace std; -using namespace Ice; -using namespace IcePatch2; -using namespace IcePatch2Internal; - -IcePatch2::FileServerI::FileServerI(const std::string& dataDir, const LargeFileInfoSeq& infoSeq) : - _dataDir(dataDir), _tree0(FileTree0()) -{ - FileTree0& tree0 = const_cast<FileTree0&>(_tree0); - getFileTree0(infoSeq, tree0); -} - -FileInfoSeq -IcePatch2::FileServerI::getFileInfoSeq(Int node0, const Current& c) const -{ - LargeFileInfoSeq largeFiles = getLargeFileInfoSeq(node0, c); - FileInfoSeq files; - files.resize(largeFiles.size()); - transform(largeFiles.begin(), largeFiles.end(), files.begin(), toFileInfo); - return files; -} - -LargeFileInfoSeq -IcePatch2::FileServerI::getLargeFileInfoSeq(Int node0, const Current&) const -{ - if(node0 < 0 || node0 > 255) - { - throw PartitionOutOfRangeException(); - } - - return _tree0.nodes[static_cast<size_t>(node0)].files; -} - -ByteSeqSeq -IcePatch2::FileServerI::getChecksumSeq(const Current&) const -{ - ByteSeqSeq checksums(256); - - for(size_t node0 = 0; node0 < 256; ++node0) - { - checksums[node0] = _tree0.nodes[node0].checksum; - } - - return checksums; -} - -ByteSeq -IcePatch2::FileServerI::getChecksum(const Current&) const -{ - return _tree0.checksum; -} - -void -IcePatch2::FileServerI::getFileCompressed_async(const AMD_FileServer_getFileCompressedPtr& cb, - const string& pa, Int pos, Int num, const Current&) const -{ - try - { - vector<Byte> buffer; - getFileCompressedInternal(pa, pos, num, buffer, false); - if(buffer.empty()) - { - cb->ice_response(make_pair<const Byte*, const Byte*>(0, 0)); - } - else - { - cb->ice_response(make_pair<const Byte*, const Byte*>(&buffer[0], &buffer[0] + buffer.size())); - } - } - catch(const std::exception& ex) - { - cb->ice_exception(ex); - } -} - -void -IcePatch2::FileServerI::getLargeFileCompressed_async(const AMD_FileServer_getLargeFileCompressedPtr& cb, - const string& pa, Long pos, Int num, const Current&) const -{ - try - { - vector<Byte> buffer; - getFileCompressedInternal(pa, pos, num, buffer, true); - if(buffer.empty()) - { - cb->ice_response(make_pair<const Byte*, const Byte*>(0, 0)); - } - else - { - cb->ice_response(make_pair<const Byte*, const Byte*>(&buffer[0], &buffer[0] + buffer.size())); - } - - } - catch(const std::exception& ex) - { - cb->ice_exception(ex); - } -} - -void -IcePatch2::FileServerI::getFileCompressedInternal(const std::string& pa, Ice::Long pos, Ice::Int num, - vector<Byte>& buffer, bool largeFile) const -{ - if(IceUtilInternal::isAbsolutePath(pa)) - { - throw FileAccessException(string("illegal absolute path `") + pa + "'"); - } - - string path = simplify(pa); - - if(path == ".." || - path.find("/../") != string::npos || - (path.size() >= 3 && (path.substr(0, 3) == "../" || path.substr(path.size() - 3, 3) == "/.."))) - { - throw FileAccessException(string("illegal `..' component in path `") + path + "'"); - } - - if(num <= 0 || pos < 0) - { - return; - } - - string absolutePath = _dataDir + '/' + path + ".bz2"; - int fd = IceUtilInternal::open(absolutePath, O_RDONLY|O_BINARY); - if(fd == -1) - { - throw FileAccessException(string("cannot open `") + path + "' for reading: " + - IceUtilInternal::errorToString(errno)); - } - - if(!largeFile) - { - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(absolutePath, &buf) == -1) - { - throw FileAccessException(string("cannot stat `") + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - - if(buf.st_size > 0x7FFFFFFF) - { - ostringstream os; - os << "cannot encode size `" << buf.st_size << "' for file `" << path << "' as Ice::Int" << endl; - throw FileAccessException(os.str()); - } - } - - if( -#if defined(_MSC_VER) - _lseek(fd, static_cast<off_t>(pos), SEEK_SET) -#else - lseek(fd, static_cast<off_t>(pos), SEEK_SET) -#endif - != static_cast<off_t>(pos)) - { - IceUtilInternal::close(fd); - - ostringstream posStr; - posStr << pos; - - throw FileAccessException("cannot seek position " + posStr.str() + " in file `" + path + "': " + - IceUtilInternal::errorToString(errno)); - } - - buffer.resize(static_cast<size_t>(num)); -#ifdef _WIN32 - int r; - if((r = _read(fd, &buffer[0], static_cast<unsigned int>(num))) == -1) -#else - ssize_t r; - if((r = read(fd, &buffer[0], static_cast<size_t>(num))) == -1) -#endif - { - IceUtilInternal::close(fd); - throw FileAccessException("cannot read `" + path + "': " + IceUtilInternal::errorToString(errno)); - } - - IceUtilInternal::close(fd); -} diff --git a/cpp/src/IcePatch2/FileServerI.h b/cpp/src/IcePatch2/FileServerI.h deleted file mode 100644 index 311b72535a9..00000000000 --- a/cpp/src/IcePatch2/FileServerI.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#ifndef ICE_PATCH2_FILE_SERVER_I_H -#define ICE_PATCH2_FILE_SERVER_I_H - -#include <IcePatch2Lib/Util.h> -#include <IcePatch2/FileServer.h> - -namespace IcePatch2 -{ - -class FileServerI : public FileServer -{ -public: - - FileServerI(const std::string&, const LargeFileInfoSeq&); - - FileInfoSeq getFileInfoSeq(Ice::Int, const Ice::Current&) const; - - LargeFileInfoSeq - getLargeFileInfoSeq(Ice::Int, const Ice::Current&) const; - - ByteSeqSeq getChecksumSeq(const Ice::Current&) const; - - Ice::ByteSeq getChecksum(const Ice::Current&) const; - - void getFileCompressed_async(const AMD_FileServer_getFileCompressedPtr&, - const std::string&, - Ice::Int, - Ice::Int, - const Ice::Current&) const; - - void getLargeFileCompressed_async(const AMD_FileServer_getLargeFileCompressedPtr&, - const std::string&, - Ice::Long, - Ice::Int, - const Ice::Current&) const; - -private: - - void - getFileCompressedInternal(const std::string&, - Ice::Long, - Ice::Int, - std::vector<Ice::Byte>&, - bool) const; - - const std::string _dataDir; - const IcePatch2Internal::FileTree0 _tree0; -}; - -} - -#endif diff --git a/cpp/src/IcePatch2/IcePatch2Calc.rc b/cpp/src/IcePatch2/IcePatch2Calc.rc deleted file mode 100644 index 638dfd6522a..00000000000 --- a/cpp/src/IcePatch2/IcePatch2Calc.rc +++ /dev/null @@ -1,33 +0,0 @@ -#include<IceUtil/ResourceConfig.h> - -#define ICE_INTERNALNAME "icepatch2calc\0" -#define ICE_ORIGINALFILENAME "icepatch2calc.exe\0" - -VS_VERSION_INFO VERSIONINFO -FILEVERSION ICE_VERSION -PRODUCTVERSION ICE_VERSION -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -FILEOS VOS_NT_WINDOWS32 -FILETYPE VFT_APP -FILESUBTYPE VFT2_UNKNOWN -FILEFLAGS VER_DEBUG -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", ICE_COMPANY_NAME - VALUE "FileDescription", "IcePatch2 Calc\0" - VALUE "FileVersion", ICE_STRING_VERSION - VALUE "InternalName", ICE_INTERNALNAME - VALUE "LegalCopyright", ICE_COPYRIGHT - VALUE "OriginalFilename", ICE_ORIGINALFILENAME - VALUE "ProductName", ICE_PRODUCT_NAME - VALUE "ProductVersion", ICE_STRING_VERSION - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/cpp/src/IcePatch2/IcePatch2Client.rc b/cpp/src/IcePatch2/IcePatch2Client.rc deleted file mode 100644 index a75a27dac0d..00000000000 --- a/cpp/src/IcePatch2/IcePatch2Client.rc +++ /dev/null @@ -1,33 +0,0 @@ -#include<IceUtil/ResourceConfig.h> - -#define ICE_INTERNALNAME "icepatch2client\0" -#define ICE_ORIGINALFILENAME "icepatch2client.exe\0" - -VS_VERSION_INFO VERSIONINFO -FILEVERSION ICE_VERSION -PRODUCTVERSION ICE_VERSION -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -FILEOS VOS_NT_WINDOWS32 -FILETYPE VFT_APP -FILESUBTYPE VFT2_UNKNOWN -FILEFLAGS VER_DEBUG -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", ICE_COMPANY_NAME - VALUE "FileDescription", "IcePatch2 Client\0" - VALUE "FileVersion", ICE_STRING_VERSION - VALUE "InternalName", ICE_INTERNALNAME - VALUE "LegalCopyright", ICE_COPYRIGHT - VALUE "OriginalFilename", ICE_ORIGINALFILENAME - VALUE "ProductName", ICE_PRODUCT_NAME - VALUE "ProductVersion", ICE_STRING_VERSION - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/cpp/src/IcePatch2/IcePatch2Server.rc b/cpp/src/IcePatch2/IcePatch2Server.rc deleted file mode 100644 index 4af7f9949fe..00000000000 --- a/cpp/src/IcePatch2/IcePatch2Server.rc +++ /dev/null @@ -1,33 +0,0 @@ -#include<IceUtil/ResourceConfig.h> - -#define ICE_INTERNALNAME "icepatch2server\0" -#define ICE_ORIGINALFILENAME "icepatch2server.exe\0" - -VS_VERSION_INFO VERSIONINFO -FILEVERSION ICE_VERSION -PRODUCTVERSION ICE_VERSION -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -FILEOS VOS_NT_WINDOWS32 -FILETYPE VFT_APP -FILESUBTYPE VFT2_UNKNOWN -FILEFLAGS VER_DEBUG -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", ICE_COMPANY_NAME - VALUE "FileDescription", "IcePatch2 Server\0" - VALUE "FileVersion", ICE_STRING_VERSION - VALUE "InternalName", ICE_INTERNALNAME - VALUE "LegalCopyright", ICE_COPYRIGHT - VALUE "OriginalFilename", ICE_ORIGINALFILENAME - VALUE "ProductName", ICE_PRODUCT_NAME - VALUE "ProductVersion", ICE_STRING_VERSION - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/cpp/src/IcePatch2/Makefile.mk b/cpp/src/IcePatch2/Makefile.mk deleted file mode 100644 index 64a7baa4814..00000000000 --- a/cpp/src/IcePatch2/Makefile.mk +++ /dev/null @@ -1,13 +0,0 @@ -# -# Copyright (c) ZeroC, Inc. All rights reserved. -# - -$(project)_programs := icepatch2server icepatch2client icepatch2calc -$(project)_dependencies := IcePatch2 Ice -$(project)_targetdir := $(bindir) - -icepatch2server_sources := $(addprefix $(currentdir)/,FileServerI.cpp Server.cpp) -icepatch2client_sources := $(addprefix $(currentdir)/,Client.cpp) -icepatch2calc_sources := $(addprefix $(currentdir)/,Calc.cpp) - -projects += $(project) diff --git a/cpp/src/IcePatch2/Server.cpp b/cpp/src/IcePatch2/Server.cpp deleted file mode 100644 index 90bfd079d3a..00000000000 --- a/cpp/src/IcePatch2/Server.cpp +++ /dev/null @@ -1,203 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IceUtil/Options.h> -#include <IceUtil/StringUtil.h> -#include <IceUtil/FileUtil.h> -#include <IceUtil/DisableWarnings.h> -#include <Ice/Service.h> -#include <IcePatch2/FileServerI.h> -#include <IcePatch2Lib/Util.h> - -using namespace std; -using namespace Ice; -using namespace IcePatch2; -using namespace IcePatch2Internal; - -namespace IcePatch2 -{ - -class PatcherService : public Service -{ -public: - - PatcherService(); - -protected: - - virtual bool start(int, char*[], int&); - virtual bool stop(); - -private: - - void usage(const std::string&); -}; - -}; - -IcePatch2::PatcherService::PatcherService() -{ -} - -bool -IcePatch2::PatcherService::start(int argc, char* argv[], int& status) -{ - PropertiesPtr properties = communicator()->getProperties(); - - IceUtilInternal::Options opts; - opts.addOpt("h", "help"); - opts.addOpt("v", "version"); - - vector<string> args; - try - { - args = opts.parse(argc, const_cast<const char**>(argv)); - } - catch(const IceUtilInternal::BadOptException& e) - { - error(e.reason); - usage(argv[0]); - return false; - } - - if(opts.isSet("help")) - { - usage(argv[0]); - status = EXIT_SUCCESS; - return false; - } - if(opts.isSet("version")) - { - print(ICE_STRING_VERSION); - status = EXIT_SUCCESS; - return false; - } - - if(args.size() > 1) - { - error("too many arguments"); - usage(argv[0]); - return false; - } - if(args.size() == 1) - { - properties->setProperty("IcePatch2.Directory", simplify(args[0])); - } - - string dataDir = properties->getPropertyWithDefault("IcePatch2.Directory", "."); - if(dataDir.empty()) - { - error("no data directory specified"); - usage(argv[0]); - return false; - } - - LargeFileInfoSeq infoSeq; - - try - { - if(!IceUtilInternal::isAbsolutePath(dataDir)) - { - string cwd; - if(IceUtilInternal::getcwd(cwd) != 0) - { - throw runtime_error("cannot get the current directory:\n" + IceUtilInternal::lastErrorToString()); - } - - dataDir = cwd + '/' + dataDir; - } - - loadFileInfoSeq(dataDir, infoSeq); - } - catch(const exception& ex) - { - error(ex.what()); - return false; - } - - const string endpointsProperty = "IcePatch2.Endpoints"; - string endpoints = properties->getProperty(endpointsProperty); - if(endpoints.empty()) - { - error("property `" + endpointsProperty + "' is not set"); - return false; - } - ObjectAdapterPtr adapter = communicator()->createObjectAdapter("IcePatch2"); - - const string instanceNameProperty = "IcePatch2.InstanceName"; - string instanceName = properties->getPropertyWithDefault(instanceNameProperty, "IcePatch2"); - - Identity id; - id.category = instanceName; - id.name = "server"; - adapter->add(new FileServerI(dataDir, infoSeq), id); - - adapter->activate(); - - return true; -} - -bool -IcePatch2::PatcherService::stop() -{ - return true; -} - -void -IcePatch2::PatcherService::usage(const string& appName) -{ - string options = - "Options:\n" - "-h, --help Show this message.\n" - "-v, --version Display the Ice version."; -#ifndef _WIN32 - options.append( - "\n" - "\n" - "--daemon Run as a daemon.\n" - "--pidfile FILE Write process ID into FILE.\n" - "--noclose Do not close open file descriptors." - - // --nochdir is intentionally not shown here. (See the comment in main().) - ); -#endif - print("Usage: " + appName + " [options] [DIR]\n" + options); -} - -#ifdef _WIN32 - -int -wmain(int argc, wchar_t* argv[]) -{ - IcePatch2::PatcherService svc; - int status = EXIT_FAILURE; - status = svc.main(argc, argv); - return status; -} - -#else - -int -main(int argc, char* argv[]) -{ - IcePatch2::PatcherService svc; - int status = EXIT_FAILURE; - // - // For UNIX, force --nochdir option, so the service isn't started - // with / as the working directory. That way, if the data - // directory is specified as a relative path, we don't - // misinterpret that path. - // - StringSeq args; - args.push_back(argv[0]); - args.push_back("--nochdir"); - for(int i = 1; i < argc; ++i) - { - args.push_back(argv[i]); - } - status = svc.main(args); - return status; -} - -#endif diff --git a/cpp/src/IcePatch2/msbuild/icepatch2calc/icepatch2calc.vcxproj b/cpp/src/IcePatch2/msbuild/icepatch2calc/icepatch2calc.vcxproj deleted file mode 100644 index feb497ee082..00000000000 --- a/cpp/src/IcePatch2/msbuild/icepatch2calc/icepatch2calc.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{8BCB4793-C004-459D-9605-272470D53A40}</ProjectGuid> - <RootNamespace>IcePatch2</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\msbuild\ice.cpp98.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ItemGroup> - <ResourceCompile Include="..\..\IcePatch2Calc.rc" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\Calc.cpp" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\..\msbuild\ice.sign.targets" /> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2/msbuild/icepatch2calc/icepatch2calc.vcxproj.filters b/cpp/src/IcePatch2/msbuild/icepatch2calc/icepatch2calc.vcxproj.filters deleted file mode 100644 index 9995b384935..00000000000 --- a/cpp/src/IcePatch2/msbuild/icepatch2calc/icepatch2calc.vcxproj.filters +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{6eed4189-6d50-466e-9d1d-d6ba2a3fd2ed}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{6e753bfa-cd5e-49a9-9143-2dd791c88516}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{e749ed03-defe-4090-a3fb-b3f4de854404}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\..\IcePatch2Calc.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\Calc.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2/msbuild/icepatch2client/icepatch2client.vcxproj b/cpp/src/IcePatch2/msbuild/icepatch2client/icepatch2client.vcxproj deleted file mode 100644 index 4dfc75def82..00000000000 --- a/cpp/src/IcePatch2/msbuild/icepatch2client/icepatch2client.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{43D54B43-526E-40CE-9945-81420C54A415}</ProjectGuid> - <RootNamespace>IcePatch2</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\msbuild\ice.cpp98.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ItemGroup> - <ClCompile Include="..\..\Client.cpp" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\..\IcePatch2Client.rc" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\..\msbuild\ice.sign.targets" /> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2/msbuild/icepatch2client/icepatch2client.vcxproj.filters b/cpp/src/IcePatch2/msbuild/icepatch2client/icepatch2client.vcxproj.filters deleted file mode 100644 index 50a3936b676..00000000000 --- a/cpp/src/IcePatch2/msbuild/icepatch2client/icepatch2client.vcxproj.filters +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{35e45c3f-0eec-4503-983e-2e847cd0c42e}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{ca886c48-a75b-42a4-a79a-b2d4bf6d92fe}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{eda84da9-e268-4a3e-9119-b80594167786}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\Client.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\..\IcePatch2Client.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2/msbuild/icepatch2server/icepatch2server.vcxproj b/cpp/src/IcePatch2/msbuild/icepatch2server/icepatch2server.vcxproj deleted file mode 100644 index 4928da444f4..00000000000 --- a/cpp/src/IcePatch2/msbuild/icepatch2server/icepatch2server.vcxproj +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{7E1D6372-D417-4143-A7AF-BE3E77550238}</ProjectGuid> - <RootNamespace>IcePatch2</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\msbuild\ice.cpp98.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ItemGroup> - <ResourceCompile Include="..\..\IcePatch2Server.rc" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\FileServerI.cpp" /> - <ClCompile Include="..\..\Server.cpp" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\FileServerI.h" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\..\msbuild\ice.sign.targets" /> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2/msbuild/icepatch2server/icepatch2server.vcxproj.filters b/cpp/src/IcePatch2/msbuild/icepatch2server/icepatch2server.vcxproj.filters deleted file mode 100644 index 3d2a1ac3b26..00000000000 --- a/cpp/src/IcePatch2/msbuild/icepatch2server/icepatch2server.vcxproj.filters +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Resource Files"> - <UniqueIdentifier>{4d4a9ba4-db41-42cc-b76e-a4f382f1276b}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{69865254-0ecb-45a0-ad7e-aca377451e22}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{131c5406-544b-4219-91b7-323ab3dd7866}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\..\IcePatch2Server.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\FileServerI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\Server.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\FileServerI.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2Lib/ClientUtil.cpp b/cpp/src/IcePatch2Lib/ClientUtil.cpp deleted file mode 100644 index 134fd1c2888..00000000000 --- a/cpp/src/IcePatch2Lib/ClientUtil.cpp +++ /dev/null @@ -1,991 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IceUtil/StringUtil.h> -#include <IceUtil/FileUtil.h> -#include <IcePatch2/ClientUtil.h> -#include <IcePatch2Lib/Util.h> -#include <list> -#include <iterator> - -using namespace std; -using namespace Ice; -using namespace IceUtil; -using namespace IcePatch2; -using namespace IcePatch2Internal; - -IcePatch2::Patcher::~Patcher() -{ - // Out of line to avoid weak vtable -} - -IcePatch2::PatcherFeedback::~PatcherFeedback() -{ - // Out of line to avoid weak vtable -} - -namespace -{ - -class Decompressor : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex> -{ -public: - - Decompressor(const string&); - virtual ~Decompressor(); - - void destroy(); - void add(const LargeFileInfo&); - void exception() const; - void log(FILE* fp); - virtual void run(); - -private: - - const string _dataDir; - - string _exception; - list<LargeFileInfo> _files; - LargeFileInfoSeq _filesDone; - bool _destroy; -}; -typedef IceUtil::Handle<Decompressor> DecompressorPtr; - -class PatcherI : public Patcher -{ -public: - - PatcherI(const Ice::CommunicatorPtr&, const PatcherFeedbackPtr&); - PatcherI(const FileServerPrx&, const PatcherFeedbackPtr&, const std::string&, bool, Ice::Int, Ice::Int); - virtual ~PatcherI(); - - virtual bool prepare(); - virtual bool patch(const std::string&); - virtual void finish(); - -private: - - void init(const FileServerPrx&); - bool removeFiles(const LargeFileInfoSeq&); - bool updateFiles(const LargeFileInfoSeq&); - bool updateFilesInternal(const LargeFileInfoSeq&, const DecompressorPtr&); - bool updateFlags(const LargeFileInfoSeq&); - - const PatcherFeedbackPtr _feedback; - const std::string _dataDir; - const bool _thorough; - const Ice::Int _chunkSize; - const Ice::Int _remove; - const FileServerPrx _serverCompress; - const FileServerPrx _serverNoCompress; - - LargeFileInfoSeq _localFiles; - LargeFileInfoSeq _updateFiles; - LargeFileInfoSeq _updateFlags; - LargeFileInfoSeq _removeFiles; - - FILE* _log; - bool _useSmallFileAPI; -}; - -Decompressor::Decompressor(const string& dataDir) : - _dataDir(dataDir), - _destroy(false) -{ -} - -Decompressor::~Decompressor() -{ - assert(_destroy); -} - -void -Decompressor::destroy() -{ - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); - _destroy = true; - notify(); -} - -void -Decompressor::add(const LargeFileInfo& info) -{ - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); - if(!_exception.empty()) - { - throw runtime_error(_exception); - } - _files.push_back(info); - notify(); -} - -void -Decompressor::exception() const -{ - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); - if(!_exception.empty()) - { - throw runtime_error(_exception); - } -} - -void -Decompressor::log(FILE* fp) -{ - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); - - for(LargeFileInfoSeq::const_iterator p = _filesDone.begin(); p != _filesDone.end(); ++p) - { - if(fputc('+', fp) == EOF || !writeFileInfo(fp, *p)) - { - throw runtime_error("error writing log file:\n" + IceUtilInternal::lastErrorToString()); - } - } - - _filesDone.clear(); -} - -void -Decompressor::run() -{ - LargeFileInfo info; - - while(true) - { - { - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); - - if(!info.path.empty()) - { - _filesDone.push_back(info); - } - - while(!_destroy && _files.empty()) - { - wait(); - } - - if(!_files.empty()) - { - info = _files.front(); - _files.pop_front(); - } - else - { - return; - } - } - - try - { - decompressFile(_dataDir + '/' + info.path); - setFileFlags(_dataDir + '/' + info.path, info); - remove(_dataDir + '/' + info.path + ".bz2"); - } - catch(const std::exception& ex) - { - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); - _destroy = true; - _exception = ex.what(); - return; - } - } -} - -PatcherI::PatcherI(const CommunicatorPtr& communicator, const PatcherFeedbackPtr& feedback) : - _feedback(feedback), - _dataDir(communicator->getProperties()->getPropertyWithDefault("IcePatch2Client.Directory", ".")), - _thorough(communicator->getProperties()->getPropertyAsIntWithDefault("IcePatch2Client.Thorough", 0) > 0), - _chunkSize(communicator->getProperties()->getPropertyAsIntWithDefault("IcePatch2Client.ChunkSize", 100)), - _remove(communicator->getProperties()->getPropertyAsIntWithDefault("IcePatch2Client.Remove", 1)), - _log(0), - _useSmallFileAPI(false) -{ - const char* clientProxyProperty = "IcePatch2Client.Proxy"; - string clientProxy = communicator->getProperties()->getProperty(clientProxyProperty); - if(clientProxy.empty()) - { - throw runtime_error("property `IcePatch2Client.Proxy' is not set"); - } - - FileServerPrx server = FileServerPrx::checkedCast(communicator->stringToProxy(clientProxy)); - if(!server) - { - throw runtime_error("proxy `" + clientProxy + "' is not a file server."); - } - - init(server); -} - -PatcherI::PatcherI(const FileServerPrx& server, - const PatcherFeedbackPtr& feedback, - const string& dataDir, - bool thorough, - Ice::Int chunkSize, - Ice::Int remove) : - _feedback(feedback), - _dataDir(dataDir), - _thorough(thorough), - _chunkSize(chunkSize), - _remove(remove), - _useSmallFileAPI(false) -{ - init(server); -} - -PatcherI::~PatcherI() -{ - if(_log != 0) - { - fclose(_log); - _log = 0; - } -} - -class PatcherGetFileInfoSeqCB : public GetFileInfoSeqCB -{ -public: - - PatcherGetFileInfoSeqCB(const PatcherFeedbackPtr& feedback) : - _feedback(feedback) - { - } - - virtual bool - remove(const string&) - { - return true; - } - - virtual bool - checksum(const string& path) - { - return _feedback->checksumProgress(path); - } - - virtual bool compress(const string&) - { - assert(false); // Nothing must get compressed when we are patching. - return true; - } - -private: - - const PatcherFeedbackPtr _feedback; -}; - -bool -PatcherI::prepare() -{ - _localFiles.clear(); - - bool thorough = _thorough; - - if(!thorough) - { - try - { - loadFileInfoSeq(_dataDir, _localFiles); - } - catch(const exception& ex) - { - thorough = _feedback->noFileSummary(ex.what()); - if(!thorough) - { - return false; - } - } - } - - if(thorough) - { - if(!_feedback->checksumStart()) - { - return false; - } - - PatcherGetFileInfoSeqCB cb(_feedback); - if(!getFileInfoSeq(_dataDir, 0, &cb, _localFiles)) - { - return false; - } - - if(!_feedback->checksumEnd()) - { - return false; - } - - saveFileInfoSeq(_dataDir, _localFiles); - } - - FileTree0 tree0; - getFileTree0(_localFiles, tree0); - - if(tree0.checksum != _serverCompress->getChecksum()) - { - if(!_feedback->fileListStart()) - { - return false; - } - - ByteSeqSeq checksumSeq = _serverCompress->getChecksumSeq(); - if(checksumSeq.size() != 256) - { - throw runtime_error("server returned illegal value"); - } - - while(true) - { - AsyncResultPtr curCB; - AsyncResultPtr nxtCB; - try - { - for(size_t node0 = 0; node0 < 256; ++node0) - { - if(tree0.nodes[node0].checksum != checksumSeq[node0]) - { - if(!curCB) - { - assert(!nxtCB); - curCB = _useSmallFileAPI ? _serverCompress->begin_getFileInfoSeq(static_cast<Int>(node0)) : - _serverCompress->begin_getLargeFileInfoSeq(static_cast<Int>(node0)); - } - else - { - assert(nxtCB); - swap(nxtCB, curCB); - } - - size_t node0Nxt = node0; - - do - { - ++node0Nxt; - } - while(node0Nxt < 256 && tree0.nodes[node0Nxt].checksum == checksumSeq[node0Nxt]); - - if(node0Nxt < 256) - { - nxtCB = _useSmallFileAPI ? - _serverCompress->begin_getFileInfoSeq(static_cast<Int>(node0Nxt)) : - _serverCompress->begin_getLargeFileInfoSeq(static_cast<Int>(node0Nxt)); - } - - LargeFileInfoSeq files; - if(_useSmallFileAPI) - { - FileInfoSeq smallFiles = _serverCompress->end_getFileInfoSeq(curCB); - files.resize(smallFiles.size()); - transform(smallFiles.begin(), smallFiles.end(), files.begin(), toLargeFileInfo); - } - else - { - files = _serverCompress->end_getLargeFileInfoSeq(curCB); - } - - sort(files.begin(), files.end(), FileInfoLess()); - files.erase(unique(files.begin(), files.end(), FileInfoEqual()), files.end()); - - // - // Compute the set of files which were removed. - // - set_difference(tree0.nodes[node0].files.begin(), - tree0.nodes[node0].files.end(), - files.begin(), - files.end(), - back_inserter(_removeFiles), - FileInfoWithoutFlagsLess()); // NOTE: We ignore the flags here. - - // - // Compute the set of files which were updated (either the file contents, flags or both). - // - LargeFileInfoSeq updatedFiles; - updatedFiles.reserve(files.size()); - - set_difference(files.begin(), - files.end(), - tree0.nodes[node0].files.begin(), - tree0.nodes[node0].files.end(), - back_inserter(updatedFiles), - FileInfoLess()); - - // - // Compute the set of files whose contents was updated. - // - LargeFileInfoSeq contentsUpdatedFiles; - contentsUpdatedFiles.reserve(files.size()); - - set_difference(files.begin(), - files.end(), - tree0.nodes[node0].files.begin(), - tree0.nodes[node0].files.end(), - back_inserter(contentsUpdatedFiles), - FileInfoWithoutFlagsLess()); // NOTE: We ignore the flags here. - copy(contentsUpdatedFiles.begin(), contentsUpdatedFiles.end(), back_inserter(_updateFiles)); - - // - // Compute the set of files whose flags were updated. - // - set_difference(updatedFiles.begin(), - updatedFiles.end(), - contentsUpdatedFiles.begin(), - contentsUpdatedFiles.end(), - back_inserter(_updateFlags), - FileInfoLess()); - } - - if(!_feedback->fileListProgress(static_cast<Int>(node0 + 1) * 100 / 256)) - { - return false; - } - } - } - catch(const Ice::OperationNotExistException&) - { - if(!_useSmallFileAPI) - { - _useSmallFileAPI = true; - continue; - } - throw; - } - break; - } - - if(!_feedback->fileListEnd()) - { - return false; - } - } - - sort(_removeFiles.begin(), _removeFiles.end(), FileInfoLess()); - sort(_updateFiles.begin(), _updateFiles.end(), FileInfoLess()); - sort(_updateFlags.begin(), _updateFlags.end(), FileInfoLess()); - - string pathLog = simplify(_dataDir + '/' + logFile); - _log = IceUtilInternal::fopen(pathLog, "w"); - if(!_log) - { - throw runtime_error("cannot open `" + pathLog + "' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - - return true; -} - -bool -PatcherI::patch(const string& d) -{ - string dir = simplify(d); - - if(dir.empty() || dir == ".") - { - if(!_removeFiles.empty()) - { - if(!removeFiles(_removeFiles)) - { - return false; - } - } - - if(!_updateFiles.empty()) - { - if(!updateFiles(_updateFiles)) - { - return false; - } - } - - if(!_updateFlags.empty()) - { - if(!updateFlags(_updateFlags)) - { - return false; - } - } - - return true; - } - else - { - string dirWithSlash = simplify(dir + '/'); - - LargeFileInfoSeq remove; - for(LargeFileInfoSeq::const_iterator p = _removeFiles.begin(); p != _removeFiles.end(); ++p) - { - if(p->path == dir) - { - remove.push_back(*p); - } - else if(p->path.compare(0, dirWithSlash.size(), dirWithSlash) == 0) - { - remove.push_back(*p); - } - } - - LargeFileInfoSeq update; - for(LargeFileInfoSeq::const_iterator p = _updateFiles.begin(); p != _updateFiles.end(); ++p) - { - if(p->path == dir) - { - update.push_back(*p); - } - else if(p->path.compare(0, dirWithSlash.size(), dirWithSlash) == 0) - { - update.push_back(*p); - } - } - - LargeFileInfoSeq updateFlag; - for(LargeFileInfoSeq::const_iterator p = _updateFlags.begin(); p != _updateFlags.end(); ++p) - { - if(p->path == dir) - { - updateFlag.push_back(*p); - } - else if(p->path.compare(0, dirWithSlash.size(), dirWithSlash) == 0) - { - updateFlag.push_back(*p); - } - } - - if(!remove.empty()) - { - if(!removeFiles(remove)) - { - return false; - } - } - - if(!update.empty()) - { - if(!updateFiles(update)) - { - return false; - } - } - - if(!updateFlag.empty()) - { - if(!updateFlags(updateFlag)) - { - return false; - } - } - - return true; - } -} - -void -PatcherI::finish() -{ - if(_log != 0) - { - fclose(_log); - _log = 0; - } - - saveFileInfoSeq(_dataDir, _localFiles); -} - -void -PatcherI::init(const FileServerPrx& server) -{ - if(_dataDir.empty()) - { - throw runtime_error("no data directory specified"); - } - - Ice::CommunicatorPtr communicator = server->ice_getCommunicator(); - - const_cast<string&>(_dataDir) = simplify(_dataDir); - - // - // Make sure that _chunkSize doesn't exceed MessageSizeMax, otherwise - // it won't work at all. - // - int sizeMax = communicator->getProperties()->getPropertyAsIntWithDefault("Ice.MessageSizeMax", 1024); - if(_chunkSize < 1) - { - const_cast<Int&>(_chunkSize) = 1; - } - else if(_chunkSize > sizeMax) - { - const_cast<Int&>(_chunkSize) = sizeMax; - } - if(_chunkSize == sizeMax) - { - const_cast<Int&>(_chunkSize) = _chunkSize * 1024 - 512; // Leave some headroom for protocol header. - } - else - { - const_cast<Int&>(_chunkSize) *= 1024; - } - - if(!IceUtilInternal::isAbsolutePath(_dataDir)) - { - string cwd; - if(IceUtilInternal::getcwd(cwd) != 0) - { - throw runtime_error("cannot get the current directory:\n" + IceUtilInternal::lastErrorToString()); - } - const_cast<string&>(_dataDir) = simplify(cwd + '/' + _dataDir); - } - - const_cast<FileServerPrx&>(_serverCompress) = FileServerPrx::uncheckedCast(server->ice_compress(true)); - const_cast<FileServerPrx&>(_serverNoCompress) = FileServerPrx::uncheckedCast(server->ice_compress(false)); -} - -bool -PatcherI::removeFiles(const LargeFileInfoSeq& files) -{ - if(_remove < 1) - { - return true; - } - - for(LargeFileInfoSeq::const_reverse_iterator p = files.rbegin(); p != files.rend(); ++p) - { - try - { - remove(_dataDir + '/' + p->path); - if(fputc('-', _log) == EOF || ! writeFileInfo(_log, *p)) - { - throw runtime_error("error writing log file:\n" + IceUtilInternal::lastErrorToString()); - } - } - catch(...) - { - if(_remove < 2) // We ignore errors if IcePatch2Client.Remove >= 2. - { - throw; - } - } - } - - LargeFileInfoSeq newLocalFiles; - newLocalFiles.reserve(_localFiles.size()); - - set_difference(_localFiles.begin(), - _localFiles.end(), - files.begin(), - files.end(), - back_inserter(newLocalFiles), - FileInfoLess()); - - _localFiles.swap(newLocalFiles); - - LargeFileInfoSeq newRemoveFiles; - - set_difference(_removeFiles.begin(), - _removeFiles.end(), - files.begin(), - files.end(), - back_inserter(newRemoveFiles), - FileInfoLess()); - - _removeFiles.swap(newRemoveFiles); - - return true; -} - -bool -PatcherI::updateFiles(const LargeFileInfoSeq& files) -{ - DecompressorPtr decompressor = new Decompressor(_dataDir); -#if defined(__hppa) - // - // The thread stack size is only 64KB only HP-UX and that's not - // enough for this thread. - // - decompressor->start(256 * 1024); // 256KB -#else - decompressor->start(); -#endif - bool result; - - try - { - result = updateFilesInternal(files, decompressor); - } - catch(...) - { - decompressor->destroy(); - decompressor->getThreadControl().join(); - decompressor->log(_log); - throw; - } - - decompressor->destroy(); - decompressor->getThreadControl().join(); - decompressor->log(_log); - decompressor->exception(); - - return result; -} - -bool -PatcherI::updateFilesInternal(const LargeFileInfoSeq& files, const DecompressorPtr& decompressor) -{ - Long total = 0; - Long updated = 0; - - for(LargeFileInfoSeq::const_iterator p = files.begin(); p != files.end(); ++p) - { - if(p->size > 0) // Regular, non-empty file? - { - total += p->size; - } - } - - AsyncResultPtr curCB; - AsyncResultPtr nxtCB; - - for(LargeFileInfoSeq::const_iterator p = files.begin(); p != files.end(); ++p) - { - if(p->size < 0) // Directory? - { - createDirectoryRecursive(_dataDir + '/' + p->path); - if(fputc('+', _log) == EOF || !writeFileInfo(_log, *p)) - { - throw runtime_error("error writing log file:\n" + IceUtilInternal::lastErrorToString()); - } - } - else // Regular file. - { - if(!_feedback->patchStart(p->path, p->size, updated, total)) - { - return false; - } - - if(p->size == 0) - { - string path = simplify(_dataDir + '/' + p->path); - FILE* fp = IceUtilInternal::fopen(path, "wb"); - if(fp == 0) - { - throw runtime_error("cannot open `" + path +"' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - fclose(fp); - } - else - { - string pathBZ2 = simplify(_dataDir + '/' + p->path + ".bz2"); - - string dir = getDirname(pathBZ2); - if(!dir.empty()) - { - createDirectoryRecursive(dir); - } - - try - { - removeRecursive(pathBZ2); - } - catch(...) - { - } - - FILE* fileBZ2 = IceUtilInternal::fopen(pathBZ2, "wb"); - if(fileBZ2 == 0) - { - throw runtime_error("cannot open `" + pathBZ2 + "' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - - try - { - Ice::Long pos = 0; - - while(pos < p->size) - { - if(!curCB) - { - assert(!nxtCB); - curCB = _useSmallFileAPI ? - _serverNoCompress->begin_getFileCompressed(p->path, static_cast<Ice::Int>(pos), _chunkSize) : - _serverNoCompress->begin_getLargeFileCompressed(p->path, pos, _chunkSize); - } - else - { - assert(nxtCB); - swap(nxtCB, curCB); - } - - if(pos + _chunkSize < p->size) - { - nxtCB = _useSmallFileAPI ? - _serverNoCompress->begin_getFileCompressed(p->path, static_cast<Ice::Int>(pos + _chunkSize), _chunkSize) : - _serverNoCompress->begin_getLargeFileCompressed(p->path, pos + _chunkSize, _chunkSize); - } - else - { - LargeFileInfoSeq::const_iterator q = p + 1; - - while(q != files.end() && q->size <= 0) - { - ++q; - } - - if(q != files.end()) - { - nxtCB = _useSmallFileAPI ? - _serverNoCompress->begin_getFileCompressed(q->path, 0, _chunkSize) : - _serverNoCompress->begin_getLargeFileCompressed(q->path, 0, _chunkSize); - } - } - - ByteSeq bytes; - - try - { - bytes = _useSmallFileAPI ? _serverNoCompress->end_getFileCompressed(curCB) : - _serverNoCompress->end_getLargeFileCompressed(curCB); - } - catch(const FileAccessException& ex) - { - throw runtime_error("error from IcePatch2 server for `" + p->path + "': " + ex.reason); - } - - if(bytes.empty()) - { - throw runtime_error("size mismatch for `" + p->path + "'"); - } - - if(fwrite(reinterpret_cast<char*>(&bytes[0]), bytes.size(), 1, fileBZ2) != 1) - { - throw runtime_error(": cannot write `" + pathBZ2 + "':\n" + IceUtilInternal::lastErrorToString()); - } - - // 'bytes' is always returned with size '_chunkSize'. When a file is smaller than '_chunkSize' - // or we are reading the last chunk of a file, 'bytes' will be larger than necessary. In this - // case we calculate the current position and updated size based on the known file size. - size_t size = (static_cast<size_t>(pos) + bytes.size()) > static_cast<size_t>(p->size) ? - static_cast<size_t>(p->size - pos) : bytes.size(); - - pos += size; - updated += size; - - if(!_feedback->patchProgress(pos, p->size, updated, total)) - { - fclose(fileBZ2); - return false; - } - } - } - catch(...) - { - fclose(fileBZ2); - throw; - } - - fclose(fileBZ2); - - decompressor->log(_log); - decompressor->add(*p); - } - - if(!_feedback->patchEnd()) - { - return false; - } - } - } - - LargeFileInfoSeq newLocalFiles; - newLocalFiles.reserve(_localFiles.size()); - - set_union(_localFiles.begin(), - _localFiles.end(), - files.begin(), - files.end(), - back_inserter(newLocalFiles), - FileInfoLess()); - - _localFiles.swap(newLocalFiles); - - LargeFileInfoSeq newUpdateFiles; - - set_difference(_updateFiles.begin(), - _updateFiles.end(), - files.begin(), - files.end(), - back_inserter(newUpdateFiles), - FileInfoLess()); - - _updateFiles.swap(newUpdateFiles); - - return true; -} - -bool -PatcherI::updateFlags(const LargeFileInfoSeq& files) -{ - for(LargeFileInfoSeq::const_iterator p = files.begin(); p != files.end(); ++p) - { - if(p->size >= 0) // Regular file? - { - setFileFlags(_dataDir + '/' + p->path, *p); - } - } - - // - // Remove the old files whose flags were updated from the set of - // local files. - // - LargeFileInfoSeq localFiles; - localFiles.reserve(_localFiles.size()); - set_difference(_localFiles.begin(), - _localFiles.end(), - files.begin(), - files.end(), - back_inserter(localFiles), - FileInfoWithoutFlagsLess()); // NOTE: We ignore the flags. - - // - // Add the new files to the set of local file. - // - _localFiles.clear(); - set_union(localFiles.begin(), - localFiles.end(), - files.begin(), - files.end(), - back_inserter(_localFiles), - FileInfoLess()); - - LargeFileInfoSeq newUpdateFlags; - - set_difference(_updateFlags.begin(), - _updateFlags.end(), - files.begin(), - files.end(), - back_inserter(newUpdateFlags), - FileInfoLess()); - - _updateFlags.swap(newUpdateFlags); - - return true; -} - -} - -PatcherPtr -PatcherFactory::create(const Ice::CommunicatorPtr& communicator, const PatcherFeedbackPtr& feedback) -{ - return new PatcherI(communicator, feedback); -} - -// -// Create a patcher with the given parameters. These parameters -// are equivalent to the configuration properties described above. -// -PatcherPtr -PatcherFactory::create(const FileServerPrx& server, - const PatcherFeedbackPtr& feedback, - const string& dataDir, - bool thorough, - Ice::Int chunkSize, - Ice::Int remove) -{ - return new PatcherI(server, feedback, dataDir, thorough, chunkSize, remove); -} diff --git a/cpp/src/IcePatch2Lib/IcePatch2.rc b/cpp/src/IcePatch2Lib/IcePatch2.rc deleted file mode 100644 index 763fa2dd0b5..00000000000 --- a/cpp/src/IcePatch2Lib/IcePatch2.rc +++ /dev/null @@ -1,33 +0,0 @@ -#include<IceUtil/ResourceConfig.h> - -#define ICE_INTERNALNAME ICE_LIBNAME("icepatch2") "\0" -#define ICE_ORIGINALFILENAME ICE_LIBNAME("icepatch2") ".dll\0" - -VS_VERSION_INFO VERSIONINFO -FILEVERSION ICE_VERSION -PRODUCTVERSION ICE_VERSION -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -FILEOS VOS_NT_WINDOWS32 -FILETYPE VFT_DLL -FILESUBTYPE VFT2_UNKNOWN -FILEFLAGS VER_DEBUG -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", ICE_COMPANY_NAME - VALUE "FileDescription", "IcePatch2 Client Library\0" - VALUE "FileVersion", ICE_STRING_VERSION - VALUE "InternalName", ICE_INTERNALNAME - VALUE "LegalCopyright", ICE_COPYRIGHT - VALUE "OriginalFilename", ICE_ORIGINALFILENAME - VALUE "ProductName", ICE_PRODUCT_NAME - VALUE "ProductVersion", ICE_STRING_VERSION - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/cpp/src/IcePatch2Lib/Makefile.mk b/cpp/src/IcePatch2Lib/Makefile.mk deleted file mode 100644 index 5f2fb0e7448..00000000000 --- a/cpp/src/IcePatch2Lib/Makefile.mk +++ /dev/null @@ -1,13 +0,0 @@ -# -# Copyright (c) ZeroC, Inc. All rights reserved. -# - -$(project)_libraries := IcePatch2 - -IcePatch2_targetdir := $(libdir) -IcePatch2_dependencies := Ice -IcePatch2_libs := bz2 -IcePatch2_sliceflags := --include-dir IcePatch2 -IcePatch2_cppflags := $(nodeprecatedwarnings-cppflags) - -projects += $(project) diff --git a/cpp/src/IcePatch2Lib/Util.cpp b/cpp/src/IcePatch2Lib/Util.cpp deleted file mode 100644 index 6080dd44558..00000000000 --- a/cpp/src/IcePatch2Lib/Util.cpp +++ /dev/null @@ -1,1240 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -// -// We need to include io.h first to get the proper signature for -// _wfindfirst -// -#ifdef _WIN32 -# include <io.h> -#endif - -#include <IceUtil/IceUtil.h> -#include <IceUtil/StringUtil.h> -#include <IceUtil/FileUtil.h> -#include <Ice/SHA1.h> -#include <IceUtil/Exception.h> -#include <IcePatch2Lib/Util.h> -#include <IcePatch2/FileServer.h> -#include <bzlib.h> -#include <iomanip> - -#ifdef _WIN32 -# include <direct.h> -#else -# include <unistd.h> -# include <dirent.h> -#endif - -#include <iterator> - -// Ignore macOS OpenSSL deprecation warnings -#ifdef __APPLE__ -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif - -const char* IcePatch2Internal::checksumFile = "IcePatch2.sum"; -const char* IcePatch2Internal::logFile = "IcePatch2.log"; - -using namespace std; -using namespace Ice; -using namespace IcePatch2; -using namespace IcePatch2Internal; - -FileInfo -IcePatch2Internal::toFileInfo(const LargeFileInfo& largeInfo) -{ - if(largeInfo.size > 0x7FFFFFFF) - { - ostringstream os; - os << "cannot encode size `" << largeInfo.size << "' for file `" << largeInfo.path << "' as Ice::Int" << endl; - throw FileSizeRangeException(os.str()); - } - - FileInfo info; - info.path = largeInfo.path; - info.checksum = largeInfo.checksum; - info.size = static_cast<Ice::Int>(largeInfo.size), - info.executable = largeInfo.executable; - - return info; -} - -LargeFileInfo -IcePatch2Internal::toLargeFileInfo(const FileInfo& info) -{ - LargeFileInfo largeInfo; - largeInfo.path = info.path; - largeInfo.checksum = info.checksum; - largeInfo.size = info.size; - largeInfo.executable = info.executable; - return largeInfo; -} - -bool -IcePatch2Internal::writeFileInfo(FILE* fp, const LargeFileInfo& info) -{ - int rc = fprintf(fp, "%s\t%s\t" ICE_INT64_FORMAT "\t%d\n", - escapeString(info.path, "", IceUtilInternal::Compat).c_str(), - bytesToString(info.checksum).c_str(), - info.size, - static_cast<int>(info.executable)); - return rc > 0; -} - -bool -IcePatch2Internal::readFileInfo(FILE* fp, LargeFileInfo& info) -{ - string data; - char buf[BUFSIZ]; - while(fgets(buf, static_cast<int>(sizeof(buf)), fp) != 0) - { - data += buf; - - size_t len = strlen(buf); - if(buf[len - 1] == '\n') - { - break; - } - } - if(data.empty()) - { - return false; - } - - istringstream is(data); - - string s; - getline(is, s, '\t'); - try - { - info.path = IceUtilInternal::unescapeString(s, 0, s.size(), ""); - } - catch(const IceUtil::IllegalArgumentException& ex) - { - throw invalid_argument(ex.reason()); - } - - getline(is, s, '\t'); - info.checksum = stringToBytes(s); - - is >> info.size; - is >> info.executable; - - return true; -} - -string -IcePatch2Internal::bytesToString(const ByteSeq& bytes) -{ -/* - ostringstream s; - - for(ByteSeq::const_iterator p = bytes.begin(); p != bytes.end(); ++p) - { - s << setw(2) << setfill('0') << hex << static_cast<int>(*p); - } - - return s.str(); -*/ - - static const char* toHex = "0123456789abcdef"; - - string s; - s.resize(bytes.size() * 2); - - for(unsigned int i = 0; i < bytes.size(); ++i) - { - s[i * 2] = toHex[(bytes[i] >> 4) & 0xf]; - s[i * 2 + 1] = toHex[bytes[i] & 0xf]; - } - - return s; -} - -ByteSeq -IcePatch2Internal::stringToBytes(const string& str) -{ - ByteSeq bytes; - bytes.reserve((str.size() + 1) / 2); - - for(size_t i = 0; i + 1 < str.size(); i += 2) - { -/* - istringstream is(str.substr(i, 2)); - int byte; - is >> hex >> byte; -*/ - - int byte = 0; - - for(size_t j = 0; j < 2; ++j) - { - char c = str[i + j]; - - if(c >= '0' && c <= '9') - { - byte |= c - '0'; - } - else if(c >= 'a' && c <= 'f') - { - byte |= 10 + c - 'a'; - } - else if(c >= 'A' && c <= 'F') - { - byte |= 10 + c - 'A'; - } - - if(j == 0) - { - byte <<= 4; - } - } - - bytes.push_back(static_cast<Byte>(byte)); - } - - return bytes; -} - -string -IcePatch2Internal::simplify(const string& path) -{ - string result = path; - - string::size_type pos; - -#ifdef _WIN32 - pos = 0; - if(result.find("\\\\") == 0) - { - pos = 2; - } - - for(; pos < result.size(); ++pos) - { - if(result[pos] == '\\') - { - result[pos] = '/'; - } - } -#endif - - pos = 0; - while((pos = result.find("//", pos)) != string::npos) - { - result.erase(pos, 1); - } - - pos = 0; - while((pos = result.find("/./", pos)) != string::npos) - { - result.erase(pos, 2); - } - - while(result.substr(0, 4) == "/../") - { - result.erase(0, 3); - } - - if(result.substr(0, 2) == "./") - { - result.erase(0, 2); - } - - if(result == "/." || - (result.size() == 4 && IceUtilInternal::isAlpha(result[0]) && result[1] == ':' && - result[2] == '/' && result[3] == '.')) - { - return result.substr(0, result.size() - 1); - } - - if(result.size() >= 2 && result.substr(result.size() - 2, 2) == "/.") - { - result.erase(result.size() - 2, 2); - } - - if(result == "/" || (result.size() == 3 && IceUtilInternal::isAlpha(result[0]) && result[1] == ':' && - result[2] == '/')) - { - return result; - } - - if(result.size() >= 1 && result[result.size() - 1] == '/') - { - result.erase(result.size() - 1); - } - - if(result == "/..") - { - result = "/"; - } - - return result; -} - -bool -IcePatch2Internal::isRoot(const string& pa) -{ - string path = simplify(pa); -#ifdef _WIN32 - return path == "/" || path.size() == 3 && IceUtilInternal::isAlpha(path[0]) && path[1] == ':' && - path[2] == '/'; -#else - return path == "/"; -#endif -} - -string -IcePatch2Internal::getSuffix(const string& pa) -{ - const string path = simplify(pa); - - string::size_type dotPos = path.rfind('.'); - string::size_type slashPos = path.rfind('/'); - - if(dotPos == string::npos || (slashPos != string::npos && slashPos > dotPos)) - { - return string(); - } - - return path.substr(dotPos + 1); -} - -string -IcePatch2Internal::getWithoutSuffix(const string& pa) -{ - const string path = simplify(pa); - - string::size_type dotPos = path.rfind('.'); - string::size_type slashPos = path.rfind('/'); - - if(dotPos == string::npos || (slashPos != string::npos && slashPos > dotPos)) - { - return path; - } - - return path.substr(0, dotPos); -} - -bool -IcePatch2Internal::ignoreSuffix(const string& path) -{ - string suffix = getSuffix(path); - return suffix == "md5" // For legacy IcePatch. - || suffix == "tot" // For legacy IcePatch. - || suffix == "bz2" - || suffix == "bz2temp"; -} - -string -IcePatch2Internal::getBasename(const string& pa) -{ - const string path = simplify(pa); - - string::size_type pos = path.rfind('/'); - if(pos == string::npos) - { - return path; - } - else - { - return path.substr(pos + 1); - } -} - -string -IcePatch2Internal::getDirname(const string& pa) -{ - const string path = simplify(pa); - - string::size_type pos = path.rfind('/'); - if(pos == string::npos) - { - return string(); - } - else - { - return path.substr(0, pos); - } -} - -void -IcePatch2Internal::rename(const string& fromPa, const string& toPa) -{ - - const string fromPath = simplify(fromPa); - const string toPath = simplify(toPa); - - IceUtilInternal::remove(toPath); // We ignore errors, as the file we are renaming to might not exist. - if(IceUtilInternal::rename(fromPath, toPath) == -1) - { - throw runtime_error("cannot rename `" + fromPath + "' to `" + toPath + "': " + IceUtilInternal::lastErrorToString()); - } -} - -void -IcePatch2Internal::remove(const string& pa) -{ - const string path = simplify(pa); - - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(path, &buf) == -1) - { - throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - - if(S_ISDIR(buf.st_mode)) - { - if(IceUtilInternal::rmdir(path) == -1) - { - if(errno == EACCES) - { - assert(false); - } - throw runtime_error("cannot remove directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } - else - { - if(IceUtilInternal::remove(path) == -1) - { - throw runtime_error("cannot remove file `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } -} - -void -IcePatch2Internal::removeRecursive(const string& pa) -{ - const string path = simplify(pa); - - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(path, &buf) == -1) - { - throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - - if(S_ISDIR(buf.st_mode)) - { - StringSeq paths = readDirectory(path); - for(StringSeq::const_iterator p = paths.begin(); p != paths.end(); ++p) - { - removeRecursive(path + '/' + *p); - } - - if(!isRoot(path)) - { - if(IceUtilInternal::rmdir(path) == -1) - { - throw runtime_error("cannot remove directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } - } - else - { - if(IceUtilInternal::remove(path) == -1) - { - throw runtime_error("cannot remove file `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } -} - -StringSeq -IcePatch2Internal::readDirectory(const string& pa) -{ - const string path = simplify(pa); - -#ifdef _WIN32 - - // - // IcePatch2 doesn't support to use string converters, so don't need to use - // any string converter in stringToWstring or wstringToString conversions. - // - StringSeq result; - const wstring fs = IceUtil::stringToWstring(simplify(path + "/*")); - - struct _wfinddata_t data; - intptr_t h = _wfindfirst(fs.c_str(), &data); - if(h == -1) - { - throw runtime_error("cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - - while(true) - { - string name = wstringToString(data.name); - assert(!name.empty()); - - if(name != ".." && name != ".") - { - result.push_back(name); - } - - if(_wfindnext(h, &data) == -1) - { - if(errno == ENOENT) - { - break; - } - string reason = "cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString(); - _findclose(h); - throw runtime_error(reason); - } - } - - _findclose(h); - - sort(result.begin(), result.end()); - return result; - -#else - - struct dirent **namelist; - int n = scandir(path.c_str(), &namelist, 0, alphasort); - - if(n < 0) - { - throw runtime_error("cannot read directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - - StringSeq result; - assert(n >= 2); - result.reserve(static_cast<size_t>(n - 2)); - - for(int i = 0; i < n; ++i) - { - string name = namelist[i]->d_name; - assert(!name.empty()); - - free(namelist[i]); - - if(name != ".." && name != ".") - { - result.push_back(name); - } - } - - free(namelist); - return result; - -#endif -} - -void -IcePatch2Internal::createDirectory(const string& pa) -{ - const string path = simplify(pa); - - if(IceUtilInternal::mkdir(path, 0777) == -1) - { - if(errno != EEXIST) - { - throw runtime_error("cannot create directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } -} - -void -IcePatch2Internal::createDirectoryRecursive(const string& pa) -{ - const string path = simplify(pa); - - string dir = getDirname(path); - if(!dir.empty()) - { - createDirectoryRecursive(dir); - } - - if(!isRoot(path + "/")) - { - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(path, &buf) != -1) - { - if(S_ISDIR(buf.st_mode)) - { - return; - } - } - - if(IceUtilInternal::mkdir(path, 0777) == -1) - { - if(errno != EEXIST) - { - throw runtime_error("cannot create directory `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } - } -} - -void -IcePatch2Internal::compressBytesToFile(const string& pa, const ByteSeq& bytes, Int pos) -{ - const string path = simplify(pa); - - FILE* stdioFile = IceUtilInternal::fopen(path, "wb"); - if(!stdioFile) - { - throw runtime_error("cannot open `" + path + "' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - - int bzError; - BZFILE* bzFile = BZ2_bzWriteOpen(&bzError, stdioFile, 5, 0, 0); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzWriteOpen failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - fclose(stdioFile); - throw runtime_error(reason); - } - - BZ2_bzWrite(&bzError, bzFile, const_cast<Byte*>(&bytes[static_cast<size_t>(pos)]), - static_cast<int>(bytes.size()) - pos); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzWrite failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - BZ2_bzWriteClose(&bzError, bzFile, 0, 0, 0); - fclose(stdioFile); - throw runtime_error(reason); - } - - BZ2_bzWriteClose(&bzError, bzFile, 0, 0, 0); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzWriteClose failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - fclose(stdioFile); - throw runtime_error(reason); - } - - fclose(stdioFile); -} - -void -IcePatch2Internal::decompressFile(const string& pa) -{ - const string path = simplify(pa); - const string pathBZ2 = path + ".bz2"; - - FILE* fp = 0; - FILE* stdioFileBZ2 = 0; - int bzError; - BZFILE* bzFile = 0; - - try - { - fp = IceUtilInternal::fopen(path, "wb"); - if(!fp) - { - throw runtime_error("cannot open `" + path + "' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - - stdioFileBZ2 = IceUtilInternal::fopen(pathBZ2, "rb"); - if(!stdioFileBZ2) - { - throw runtime_error("cannot open `" + pathBZ2 + "' for reading:\n" + IceUtilInternal::lastErrorToString()); - } - - bzFile = BZ2_bzReadOpen(&bzError, stdioFileBZ2, 0, 0, 0, 0); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzReadOpen failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - throw runtime_error(reason); - } - - const Int numBZ2 = 64 * 1024; - Byte bytesBZ2[numBZ2]; - - while(bzError != BZ_STREAM_END) - { - int sz = BZ2_bzRead(&bzError, bzFile, bytesBZ2, numBZ2); - if(bzError != BZ_OK && bzError != BZ_STREAM_END) - { - string reason = "BZ2_bzRead failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - throw runtime_error(reason); - } - - if(sz > 0) - { - long pos = ftell(stdioFileBZ2); - if(pos == -1) - { - throw runtime_error("cannot get read position for `" + pathBZ2 + "':\n" + IceUtilInternal::lastErrorToString()); - } - - if(fwrite(bytesBZ2, static_cast<size_t>(sz), 1, fp) != 1) - { - throw runtime_error("cannot write to `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } - } - - BZ2_bzReadClose(&bzError, bzFile); - bzFile = 0; - if(bzError != BZ_OK) - { - string reason = "BZ2_bzReadClose failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - throw runtime_error(reason); - } - } - catch(...) - { - if(bzFile != 0) - { - BZ2_bzReadClose(&bzError, bzFile); - } - if(stdioFileBZ2 != 0) - { - fclose(stdioFileBZ2); - } - if(fp != 0) - { - fclose(fp); - } - throw; - } - - fclose(stdioFileBZ2); - fclose(fp); -} - -#ifndef _WIN32 -void -IcePatch2Internal::setFileFlags(const string& pa, const LargeFileInfo& info) -{ - const string path = simplify(pa); - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(path, &buf) == -1) - { - throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - chmod(path.c_str(), info.executable ? buf.st_mode | S_IXUSR : buf.st_mode & ~S_IXUSR); -} -#else // Windows doesn't support the executable flag -void -IcePatch2Internal::setFileFlags(const string&, const LargeFileInfo&) -{ -} -#endif - -namespace -{ - -static bool -getFileInfoSeqInternal(const string& basePath, const string& relPath, int compress, GetFileInfoSeqCB* cb, - LargeFileInfoSeq& infoSeq) -{ - if(relPath == checksumFile || relPath == logFile) - { - return true; - } - - const string path = simplify(basePath + '/' + relPath); - - if(ignoreSuffix(path)) - { - const string pathWithoutSuffix = getWithoutSuffix(path); - - if(ignoreSuffix(pathWithoutSuffix)) - { - if(cb && !cb->remove(relPath)) - { - return false; - } - - remove(path); // Removing file with suffix for another file that already has a suffix. - } - else - { - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(getWithoutSuffix(path), &buf) == -1) - { - if(errno == ENOENT) - { - if(cb && !cb->remove(relPath)) - { - return false; - } - - remove(path); // Removing orphaned file. - } - else - { - throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } - else if(buf.st_size == 0) - { - if(cb && !cb->remove(relPath)) - { - return false; - } - - remove(path); // Removing file with suffix for empty file. - } - } - } - else - { - - IceUtilInternal::structstat buf; - if(IceUtilInternal::stat(path, &buf) == -1) - { - throw runtime_error("cannot stat `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - - if(S_ISDIR(buf.st_mode)) - { - LargeFileInfo info; - info.path = relPath; - info.size = -1; - info.executable = false; - - ByteSeq bytes(relPath.size()); - copy(relPath.begin(), relPath.end(), bytes.begin()); - - ByteSeq bytesSHA(20); - if(!bytes.empty()) - { - IceInternal::sha1(reinterpret_cast<unsigned char*>(&bytes[0]), bytes.size(), bytesSHA); - } - else - { - fill(bytesSHA.begin(), bytesSHA.end(), Byte(0)); - } - info.checksum.swap(bytesSHA); - - infoSeq.push_back(info); - - StringSeq content = readDirectory(path); - for(StringSeq::const_iterator p = content.begin(); p != content.end() ; ++p) - { - if(!getFileInfoSeqInternal(basePath, simplify(relPath + '/' + *p), compress, cb, infoSeq)) - { - return false; - } - } - } - else if(S_ISREG(buf.st_mode)) - { - LargeFileInfo info; - info.path = relPath; - info.size = 0; -#ifdef _WIN32 - info.executable = false; // Windows doesn't support the executable flag -#else - info.executable = buf.st_mode & S_IXUSR; -#endif - - IceUtilInternal::structstat bufBZ2; - const string pathBZ2 = path + ".bz2"; - bool doCompress = false; - if(buf.st_size != 0 && compress > 0) - { - // - // compress == 0: Never compress. - // compress == 1: Compress if necessary. - // compress >= 2: Always compress. - // - if(compress >= 2 || IceUtilInternal::stat(pathBZ2, &bufBZ2) == -1 || buf.st_mtime >= bufBZ2.st_mtime) - { - if(cb && !cb->compress(relPath)) - { - return false; - } - - doCompress = true; - } - else - { - info.size = bufBZ2.st_size; - } - } - - if(cb && !cb->checksum(relPath)) - { - return false; - } - - ByteSeq bytesSHA; - - if(relPath.size() == 0 && buf.st_size == 0) - { - bytesSHA.resize(20); - fill(bytesSHA.begin(), bytesSHA.end(), Byte(0)); - } - else - { - IceInternal::SHA1 hasher; - if(relPath.size() != 0) - { - hasher.update(reinterpret_cast<const IceUtil::Byte*>(relPath.c_str()), relPath.size()); - } - - if(buf.st_size != 0) - { - int fd = IceUtilInternal::open(path.c_str(), O_BINARY|O_RDONLY); - if(fd == -1) - { - throw runtime_error("cannot open `" + path + "' for reading:\n" + IceUtilInternal::lastErrorToString()); - } - - const string pathBZ2Temp = path + ".bz2temp"; - FILE* stdioFile = 0; - int bzError = 0; - BZFILE* bzFile = 0; - if(doCompress) - { - stdioFile = IceUtilInternal::fopen(simplify(pathBZ2Temp), "wb"); - if(!stdioFile) - { - IceUtilInternal::close(fd); - throw runtime_error("cannot open `" + pathBZ2Temp + "' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - - bzFile = BZ2_bzWriteOpen(&bzError, stdioFile, 5, 0, 0); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzWriteOpen failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - fclose(stdioFile); - IceUtilInternal::close(fd); - throw runtime_error(reason); - } - } - - size_t bytesLeft = static_cast<size_t>(buf.st_size); - while(bytesLeft > 0) - { - ByteSeq bytes(min(bytesLeft, static_cast<size_t>(1024 * 1024))); - if( -#if defined(_MSC_VER) - _read(fd, &bytes[0], static_cast<unsigned int>(bytes.size())) -#else - read(fd, &bytes[0], static_cast<unsigned int>(bytes.size())) -#endif - == -1) - { - if(doCompress) - { - fclose(stdioFile); - } - - IceUtilInternal::close(fd); - throw runtime_error("cannot read from `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - bytesLeft -= static_cast<unsigned int>(bytes.size()); - if(doCompress) - { - BZ2_bzWrite(&bzError, bzFile, const_cast<Byte*>(&bytes[0]), static_cast<int>(bytes.size())); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzWrite failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - BZ2_bzWriteClose(&bzError, bzFile, 0, 0, 0); - fclose(stdioFile); - IceUtilInternal::close(fd); - throw runtime_error(reason); - } - } - - hasher.update(reinterpret_cast<IceUtil::Byte*>(&bytes[0]), bytes.size()); - } - - IceUtilInternal::close(fd); - - if(doCompress) - { - BZ2_bzWriteClose(&bzError, bzFile, 0, 0, 0); - if(bzError != BZ_OK) - { - string reason = "BZ2_bzWriteClose failed"; - if(bzError == BZ_IO_ERROR) - { - reason += ": " + IceUtilInternal::lastErrorToString(); - } - fclose(stdioFile); - throw runtime_error(reason); - } - - fclose(stdioFile); - - rename(pathBZ2Temp, pathBZ2); - - if(IceUtilInternal::stat(pathBZ2, &bufBZ2) == -1) - { - throw runtime_error("cannot stat `" + pathBZ2 + "':\n" + IceUtilInternal::lastErrorToString()); - } - - info.size = bufBZ2.st_size; - } - } - hasher.finalize(bytesSHA); - } - - info.checksum.swap(bytesSHA); - - infoSeq.push_back(info); - } - } - - return true; -} - -} - -IcePatch2Internal::GetFileInfoSeqCB::~GetFileInfoSeqCB() -{ - // Out of line to avoid weak vtable -} - -bool -IcePatch2Internal::getFileInfoSeq(const string& basePath, int compress, GetFileInfoSeqCB* cb, - LargeFileInfoSeq& infoSeq) -{ - return getFileInfoSeqSubDir(basePath, ".", compress, cb, infoSeq); -} - -bool -IcePatch2Internal::getFileInfoSeqSubDir(const string& basePa, const string& relPa, int compress, GetFileInfoSeqCB* cb, - LargeFileInfoSeq& infoSeq) -{ - const string basePath = simplify(basePa); - const string relPath = simplify(relPa); - - if(!getFileInfoSeqInternal(basePath, relPath, compress, cb, infoSeq)) - { - return false; - } - - sort(infoSeq.begin(), infoSeq.end(), FileInfoLess()); - infoSeq.erase(unique(infoSeq.begin(), infoSeq.end(), FileInfoEqual()), infoSeq.end()); - - return true; -} - -void -IcePatch2Internal::saveFileInfoSeq(const string& pa, const LargeFileInfoSeq& infoSeq) -{ - { - const string path = simplify(pa + '/' + checksumFile); - FILE* fp = IceUtilInternal::fopen(path, "w"); - if(!fp) - { - throw runtime_error("cannot open `" + path + "' for writing:\n" + IceUtilInternal::lastErrorToString()); - } - try - { - for(LargeFileInfoSeq::const_iterator p = infoSeq.begin(); p != infoSeq.end(); ++p) - { - if(!writeFileInfo(fp, *p)) - { - throw runtime_error("error writing `" + path + "':\n" + IceUtilInternal::lastErrorToString()); - } - } - } - catch(...) - { - fclose(fp); - throw; - } - fclose(fp); - } - - { - const string pathLog = simplify(pa + '/' + logFile); - - try - { - remove(pathLog); - } - catch(...) - { - } - } -} - -void -IcePatch2Internal::loadFileInfoSeq(const string& pa, LargeFileInfoSeq& infoSeq) -{ - { - const string path = simplify(pa + '/' + checksumFile); - - FILE* fp = IceUtilInternal::fopen(path, "r"); - if(!fp) - { - throw runtime_error("cannot open `" + path + "' for reading:\n" + IceUtilInternal::lastErrorToString()); - } - - while(true) - { - LargeFileInfo info; - if(readFileInfo(fp, info)) - { - infoSeq.push_back(info); - } - else - { - break; - } - } - fclose(fp); - - sort(infoSeq.begin(), infoSeq.end(), FileInfoLess()); - infoSeq.erase(unique(infoSeq.begin(), infoSeq.end(), FileInfoEqual()), infoSeq.end()); - } - - { - const string pathLog = simplify(pa + '/' + logFile); - - FILE* fp = IceUtilInternal::fopen(pathLog, "r"); - if(fp != 0) - { - LargeFileInfoSeq remove; - LargeFileInfoSeq update; - - while(true) - { - int c = fgetc(fp); - if(c == EOF) - { - break; - } - - LargeFileInfo info; - if(!readFileInfo(fp, info)) - { - break; - } - - if(c == '-') - { - remove.push_back(info); - } - else if(c == '+') - { - update.push_back(info); - } - } - fclose(fp); - - sort(remove.begin(), remove.end(), FileInfoLess()); - remove.erase(unique(remove.begin(), remove.end(), FileInfoEqual()), remove.end()); - - sort(update.begin(), update.end(), FileInfoLess()); - update.erase(unique(update.begin(), update.end(), FileInfoEqual()), update.end()); - - LargeFileInfoSeq newInfoSeq; - newInfoSeq.reserve(infoSeq.size()); - - set_difference(infoSeq.begin(), - infoSeq.end(), - remove.begin(), - remove.end(), - back_inserter(newInfoSeq), - FileInfoLess()); - - infoSeq.swap(newInfoSeq); - - newInfoSeq.clear(); - newInfoSeq.reserve(infoSeq.size()); - - set_union(infoSeq.begin(), - infoSeq.end(), - update.begin(), - update.end(), - back_inserter(newInfoSeq), - FileInfoLess()); - - infoSeq.swap(newInfoSeq); - - saveFileInfoSeq(pa, infoSeq); - } - } -} - -void -IcePatch2Internal::getFileTree0(const LargeFileInfoSeq& infoSeq, FileTree0& tree0) -{ - tree0.nodes.resize(256); - tree0.checksum.resize(20); - - ByteSeq allChecksums0; - allChecksums0.resize(256 * 20); - ByteSeq::iterator c0 = allChecksums0.begin(); - - for(int i = 0; i < 256; ++i, c0 += 20) - { - FileTree1& tree1 = tree0.nodes[static_cast<size_t>(i)]; - - tree1.files.clear(); - tree1.checksum.resize(20); - - for(LargeFileInfoSeq::const_iterator p = infoSeq.begin(); p != infoSeq.end(); ++p) - { - if(i == static_cast<int>(p->checksum[0])) - { - tree1.files.push_back(*p); - } - } - - ByteSeq allChecksums1; - allChecksums1.resize(tree1.files.size() * 21); // 20 bytes for the checksum + 1 byte for the flag - ByteSeq::iterator c1 = allChecksums1.begin(); - - for(LargeFileInfoSeq::const_iterator p = tree1.files.begin(); p != tree1.files.end(); ++p, c1 += 21) - { - copy(p->checksum.begin(), p->checksum.end(), c1); - *(c1 + 20) = p->executable; - } - - if(!allChecksums1.empty()) - { - IceInternal::sha1(reinterpret_cast<unsigned char*>(&allChecksums1[0]), allChecksums1.size(), tree1.checksum); - } - else - { - fill(tree1.checksum.begin(), tree1.checksum.end(), Byte(0)); - } - - copy(tree1.checksum.begin(), tree1.checksum.end(), c0); - } - - if(!allChecksums0.empty()) - { - IceInternal::sha1(reinterpret_cast<unsigned char*>(&allChecksums0[0]), allChecksums0.size(), tree0.checksum); - } - else - { - fill(tree0.checksum.begin(), tree0.checksum.end(), Byte(0)); - } -} diff --git a/cpp/src/IcePatch2Lib/Util.h b/cpp/src/IcePatch2Lib/Util.h deleted file mode 100644 index 380510a36c2..00000000000 --- a/cpp/src/IcePatch2Lib/Util.h +++ /dev/null @@ -1,194 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#ifndef ICE_PATCH2_UTIL_H -#define ICE_PATCH2_UTIL_H - -#include <Ice/Ice.h> -#include <IcePatch2/FileInfo.h> -#include <stdio.h> - -namespace IcePatch2Internal -{ - -ICEPATCH2_API extern const char* checksumFile; -ICEPATCH2_API extern const char* logFile; - -ICEPATCH2_API std::string lastError(); - -ICEPATCH2_API std::string bytesToString(const Ice::ByteSeq&); -ICEPATCH2_API Ice::ByteSeq stringToBytes(const std::string&); - -ICEPATCH2_API std::string simplify(const std::string&); - -ICEPATCH2_API bool isRoot(const std::string&); - -ICEPATCH2_API std::string getSuffix(const std::string&); -ICEPATCH2_API std::string getWithoutSuffix(const std::string&); -ICEPATCH2_API bool ignoreSuffix(const std::string&); - -ICEPATCH2_API std::string getBasename(const std::string&); -ICEPATCH2_API std::string getDirname(const std::string&); - -ICEPATCH2_API void rename(const std::string&, const std::string&); - -ICEPATCH2_API void remove(const std::string&); -ICEPATCH2_API void removeRecursive(const std::string&); - -ICEPATCH2_API Ice::StringSeq readDirectory(const std::string&); - -ICEPATCH2_API void createDirectory(const std::string&); -ICEPATCH2_API void createDirectoryRecursive(const std::string&); - -ICEPATCH2_API void compressBytesToFile(const std::string&, const Ice::ByteSeq&, Ice::Int); -ICEPATCH2_API void decompressFile(const std::string&); - -ICEPATCH2_API void setFileFlags(const std::string&, const IcePatch2::LargeFileInfo&); - -struct FileInfoEqual : public std::binary_function<const IcePatch2::LargeFileInfo&, const IcePatch2::LargeFileInfo&, bool> -{ - bool - operator()(const IcePatch2::LargeFileInfo& lhs, const IcePatch2::LargeFileInfo& rhs) - { - if(lhs.path != rhs.path) - { - return false; - } - - // - // For the size portion of the comparison, we only distinquish - // between file (size >= 0) and directory (size == -1). We do - // not take the actual size into account, as it might be set - // to 0 if no compressed file is available. - // - Ice::Long lsz = lhs.size > 0 ? 0 : lhs.size; - Ice::Long rsz = rhs.size > 0 ? 0 : rhs.size; - if(lsz != rsz) - { - return false; - } - - if(lhs.executable != rhs.executable) - { - return false; - } - - return lhs.checksum == rhs.checksum; - } -}; - -struct FileInfoWithoutFlagsLess : public std::binary_function<const IcePatch2::LargeFileInfo&, const IcePatch2::LargeFileInfo&, bool> -{ - bool - operator()(const IcePatch2::LargeFileInfo& lhs, const IcePatch2::LargeFileInfo& rhs) - { - return compareWithoutFlags(lhs, rhs) < 0; - } - - int - compareWithoutFlags(const IcePatch2::LargeFileInfo& lhs, const IcePatch2::LargeFileInfo& rhs) - { - if(lhs.path < rhs.path) - { - return -1; - } - else if(rhs.path < lhs.path) - { - return 1; - } - - // - // For the size portion of the comparison, we only distinquish - // between file (size >= 0) and directory (size == -1). We do - // not take the actual size into account, as it might be set - // to 0 if no compressed file is available. - // - Ice::Long lsz = lhs.size > 0 ? 0 : lhs.size; - Ice::Long rsz = rhs.size > 0 ? 0 : rhs.size; - if(lsz < rsz) - { - return -1; - } - else if(rsz < lsz) - { - return 1; - } - - if(lhs.checksum < rhs.checksum) - { - return -1; - } - else if(rhs.checksum < lhs.checksum) - { - return 1; - } - - return 0; - } -}; - -struct FileInfoLess : public FileInfoWithoutFlagsLess -{ - bool - operator()(const IcePatch2::LargeFileInfo& lhs, const IcePatch2::LargeFileInfo& rhs) - { - int rc = compareWithoutFlags(lhs, rhs); - if(rc < 0) - { - return true; - } - else if(rc > 0) - { - return false; - } - - return lhs.executable < rhs.executable; - } -}; - -class ICEPATCH2_API GetFileInfoSeqCB -{ -public: - - virtual ~GetFileInfoSeqCB(); - - virtual bool remove(const std::string&) = 0; - virtual bool checksum(const std::string&) = 0; - virtual bool compress(const std::string&) = 0; -}; - -ICEPATCH2_API bool getFileInfoSeq(const std::string&, int, GetFileInfoSeqCB*, IcePatch2::LargeFileInfoSeq&); - -ICEPATCH2_API bool getFileInfoSeqSubDir(const std::string&, const std::string&, int, GetFileInfoSeqCB*, IcePatch2::LargeFileInfoSeq&); - -ICEPATCH2_API void saveFileInfoSeq(const std::string&, const IcePatch2::LargeFileInfoSeq&); - -ICEPATCH2_API void loadFileInfoSeq(const std::string&, IcePatch2::LargeFileInfoSeq&); - -ICEPATCH2_API bool readFileInfo(FILE*, IcePatch2::LargeFileInfo&); - -ICEPATCH2_API IcePatch2::FileInfo toFileInfo(const IcePatch2::LargeFileInfo&); -ICEPATCH2_API IcePatch2::LargeFileInfo toLargeFileInfo(const IcePatch2::FileInfo&); - -ICEPATCH2_API bool writeFileInfo(FILE*, const IcePatch2::LargeFileInfo&); - -struct FileTree1 -{ - IcePatch2::LargeFileInfoSeq files; - Ice::ByteSeq checksum; -}; - -typedef std::vector<FileTree1> FileTree1Seq; - -struct FileTree0 -{ - FileTree1Seq nodes; - Ice::ByteSeq checksum; -}; - -ICEPATCH2_API void getFileTree0(const IcePatch2::LargeFileInfoSeq&, FileTree0&); - -} - -#endif diff --git a/cpp/src/IcePatch2Lib/msbuild/icepatch2.vcxproj b/cpp/src/IcePatch2Lib/msbuild/icepatch2.vcxproj deleted file mode 100644 index 757260eb7ea..00000000000 --- a/cpp/src/IcePatch2Lib/msbuild/icepatch2.vcxproj +++ /dev/null @@ -1,236 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" /> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{994ADD25-20A0-4715-A3EC-9F86AFD481D0}</ProjectGuid> - <RootNamespace>IcePatch2</RootNamespace> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup> - <DefaultPlatformToolset Condition="'$(VisualStudioVersion)' == '10.0' And '$(DefaultPlatformToolset)' == ''">v100</DefaultPlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <Import Project="$(MSBuildThisFileDirectory)\..\..\..\msbuild\ice.cpp98.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PreprocessorDefinitions>ICEPATCH2_API_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <PreprocessorDefinitions>ICEPATCH2_API_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <PreprocessorDefinitions>ICEPATCH2_API_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <PreprocessorDefinitions>ICEPATCH2_API_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Label="IceBuilder"> - <SliceCompile> - <HeaderOutputDir>$(IceSrcRootDir)\include\generated\cpp98\$(Platform)\$(Configuration)\IcePatch2\</HeaderOutputDir> - <BaseDirectoryForGeneratedInclude>IcePatch2</BaseDirectoryForGeneratedInclude> - </SliceCompile> - </ItemDefinitionGroup> - <ItemGroup> - <SliceCompile Include="..\..\..\..\slice\IcePatch2\FileInfo.ice" /> - <SliceCompile Include="..\..\..\..\slice\IcePatch2\FileServer.ice" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\ClientUtil.cpp" /> - <ClCompile Include="..\Util.cpp" /> - <ClCompile Include="Win32\Debug\FileInfo.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Debug\FileServer.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Release\FileInfo.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Release\FileServer.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Debug\FileInfo.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Debug\FileServer.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Release\FileInfo.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Release\FileServer.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Debug\IcePatch2\FileInfo.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Debug\IcePatch2\FileServer.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Release\IcePatch2\FileInfo.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Release\IcePatch2\FileServer.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Debug\IcePatch2\FileInfo.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Debug\IcePatch2\FileServer.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Release\IcePatch2\FileInfo.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileInfo.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Release\IcePatch2\FileServer.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\..\..\slice\IcePatch2\FileServer.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="..\..\..\include\IcePatch2\ClientUtil.h" /> - <ClInclude Include="..\..\..\include\IcePatch2\Config.h" /> - <ClInclude Include="..\..\..\include\IcePatch2\IcePatch2.h" /> - <ClInclude Include="..\Util.h" /> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\IcePatch2.rc" /> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="..\..\..\msbuild\packages\bzip2.v100.1.0.6.10\build\native\bzip2.v100.targets" Condition="Exists('..\..\..\msbuild\packages\bzip2.v100.1.0.6.10\build\native\bzip2.v100.targets')" /> - <Import Project="..\..\..\msbuild\packages\bzip2.v120.1.0.6.10\build\native\bzip2.v120.targets" Condition="Exists('..\..\..\msbuild\packages\bzip2.v120.1.0.6.10\build\native\bzip2.v120.targets')" /> - <Import Project="..\..\..\msbuild\packages\bzip2.v140.1.0.6.10\build\native\bzip2.v140.targets" Condition="Exists('..\..\..\msbuild\packages\bzip2.v140.1.0.6.10\build\native\bzip2.v140.targets')" /> - <Import Project="..\..\..\msbuild\packages\bzip2.v141.1.0.6.10\build\native\bzip2.v141.targets" Condition="Exists('..\..\..\msbuild\packages\bzip2.v141.1.0.6.10\build\native\bzip2.v141.targets')" /> - <Import Project="..\..\..\msbuild\packages\bzip2.v142.1.0.6.10\build\native\bzip2.v142.targets" Condition="Exists('..\..\..\msbuild\packages\bzip2.v142.1.0.6.10\build\native\bzip2.v142.targets')" /> - <Import Project="..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets" Condition="Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" /> - </ImportGroup> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\msbuild\ice.sign.targets" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\..\..\msbuild\packages\bzip2.v100.1.0.6.10\build\native\bzip2.v100.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\bzip2.v100.1.0.6.10\build\native\bzip2.v100.targets'))" /> - <Error Condition="!Exists('..\..\..\msbuild\packages\bzip2.v120.1.0.6.10\build\native\bzip2.v120.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\bzip2.v120.1.0.6.10\build\native\bzip2.v120.targets'))" /> - <Error Condition="!Exists('..\..\..\msbuild\packages\bzip2.v140.1.0.6.10\build\native\bzip2.v140.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\bzip2.v140.1.0.6.10\build\native\bzip2.v140.targets'))" /> - <Error Condition="!Exists('..\..\..\msbuild\packages\bzip2.v141.1.0.6.10\build\native\bzip2.v141.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\bzip2.v141.1.0.6.10\build\native\bzip2.v141.targets'))" /> - <Error Condition="!Exists('..\..\..\msbuild\packages\bzip2.v142.1.0.6.10\build\native\bzip2.v142.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\bzip2.v142.1.0.6.10\build\native\bzip2.v142.targets'))" /> - <Error Condition="!Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props'))" /> - <Error Condition="!Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets'))" /> - </Target> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2Lib/msbuild/icepatch2.vcxproj.filters b/cpp/src/IcePatch2Lib/msbuild/icepatch2.vcxproj.filters deleted file mode 100644 index 64702f77cf6..00000000000 --- a/cpp/src/IcePatch2Lib/msbuild/icepatch2.vcxproj.filters +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{d2712066-1923-447a-ad64-c80f747fb1ea}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{af5258c0-2b8d-40ab-be90-0b7b080169c2}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - <Filter Include="Slice Files"> - <UniqueIdentifier>{f59eb29a-8e4d-4f96-956f-912bb71723f5}</UniqueIdentifier> - <Extensions>ice</Extensions> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{efca70d0-5c94-455a-b115-a1627cd37f1f}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Source Files\Win32"> - <UniqueIdentifier>{b2de4f44-f7bf-4d2b-8b1f-7a7eb14023b8}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Debug"> - <UniqueIdentifier>{53019a64-4101-485f-9cbc-06003a1dbf05}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32"> - <UniqueIdentifier>{9e5ee2e4-9fa9-4c5c-a39f-e25b5abadf9b}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Debug"> - <UniqueIdentifier>{c6d023b5-a4f9-4400-acf3-492ab13e1559}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64"> - <UniqueIdentifier>{c290a809-84db-4a63-b1ab-d797afc58dbe}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Debug"> - <UniqueIdentifier>{28be0f87-bd50-4e44-b1ba-0e1ae0fca153}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64"> - <UniqueIdentifier>{69f748d0-0821-4b05-8824-22b83945880a}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Debug"> - <UniqueIdentifier>{859e3a89-2f71-4335-806c-3c306d75b0c8}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Release"> - <UniqueIdentifier>{46937cff-2db3-4117-8063-dbe9fd345624}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Release"> - <UniqueIdentifier>{d98eb1b4-139b-4c19-b728-3eb412a4b718}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Release"> - <UniqueIdentifier>{f630f65f-1553-46f9-b40b-c7a0731de52a}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Release"> - <UniqueIdentifier>{6a79f0b3-e47f-4f69-9431-d0d1fe23696e}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\ClientUtil.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\Util.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="Win32\Debug\FileInfo.cpp"> - <Filter>Source Files\Win32\Debug</Filter> - </ClCompile> - <ClCompile Include="Win32\Debug\FileServer.cpp"> - <Filter>Source Files\Win32\Debug</Filter> - </ClCompile> - <ClCompile Include="x64\Debug\FileInfo.cpp"> - <Filter>Source Files\x64\Debug</Filter> - </ClCompile> - <ClCompile Include="x64\Debug\FileServer.cpp"> - <Filter>Source Files\x64\Debug</Filter> - </ClCompile> - <ClCompile Include="Win32\Release\FileInfo.cpp"> - <Filter>Source Files\Win32\Release</Filter> - </ClCompile> - <ClCompile Include="Win32\Release\FileServer.cpp"> - <Filter>Source Files\Win32\Release</Filter> - </ClCompile> - <ClCompile Include="x64\Release\FileInfo.cpp"> - <Filter>Source Files\x64\Release</Filter> - </ClCompile> - <ClCompile Include="x64\Release\FileServer.cpp"> - <Filter>Source Files\x64\Release</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\Util.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Debug\IcePatch2\FileInfo.h"> - <Filter>Header Files\Win32\Debug</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Debug\IcePatch2\FileServer.h"> - <Filter>Header Files\Win32\Debug</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Debug\IcePatch2\FileInfo.h"> - <Filter>Header Files\x64\Debug</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Debug\IcePatch2\FileServer.h"> - <Filter>Header Files\x64\Debug</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Release\IcePatch2\FileInfo.h"> - <Filter>Header Files\Win32\Release</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\Win32\Release\IcePatch2\FileServer.h"> - <Filter>Header Files\Win32\Release</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Release\IcePatch2\FileInfo.h"> - <Filter>Header Files\x64\Release</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\generated\cpp98\x64\Release\IcePatch2\FileServer.h"> - <Filter>Header Files\x64\Release</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\IcePatch2\IcePatch2.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\IcePatch2\Config.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="..\..\..\include\IcePatch2\ClientUtil.h"> - <Filter>Header Files</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="..\IcePatch2.rc"> - <Filter>Resource Files</Filter> - </ResourceCompile> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <ItemGroup> - <SliceCompile Include="..\..\..\..\slice\IcePatch2\FileInfo.ice"> - <Filter>Slice Files</Filter> - </SliceCompile> - <SliceCompile Include="..\..\..\..\slice\IcePatch2\FileServer.ice"> - <Filter>Slice Files</Filter> - </SliceCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/cpp/src/IcePatch2Lib/msbuild/packages.config b/cpp/src/IcePatch2Lib/msbuild/packages.config deleted file mode 100644 index c9b966edf28..00000000000 --- a/cpp/src/IcePatch2Lib/msbuild/packages.config +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="bzip2.v100" version="1.0.6.10" targetFramework="native" /> - <package id="bzip2.v120" version="1.0.6.10" targetFramework="native" /> - <package id="bzip2.v140" version="1.0.6.10" targetFramework="native" /> - <package id="bzip2.v141" version="1.0.6.10" targetFramework="native" /> - <package id="bzip2.v142" version="1.0.6.10" targetFramework="native" /> - <package id="zeroc.icebuilder.msbuild" version="5.0.6" targetFramework="native" /> -</packages>
\ No newline at end of file diff --git a/cpp/src/IceStorm/Makefile.mk b/cpp/src/IceStorm/Makefile.mk index 801093880b1..3604e7ffcdb 100644 --- a/cpp/src/IceStorm/Makefile.mk +++ b/cpp/src/IceStorm/Makefile.mk @@ -43,7 +43,7 @@ icestormadmin_sources := $(addprefix $(currentdir)/,Admin.cpp \ IceStormInternal.ice) icestormdb_targetdir := $(bindir) -icestormdb_dependencies := IcePatch2 IceDB +icestormdb_dependencies := IceDB icestormdb_cppflags := $(if $(lmdb_includedir),-I$(lmdb_includedir)) icestormdb_sources := $(addprefix $(currentdir)/,IceStormDB.cpp DBTypes.ice) diff --git a/cpp/test/IceGrid/admin/test.py b/cpp/test/IceGrid/admin/test.py index 593b2a8e934..5e96d6787d3 100644 --- a/cpp/test/IceGrid/admin/test.py +++ b/cpp/test/IceGrid/admin/test.py @@ -78,8 +78,6 @@ class IceGridAdminTestCase(IceGridTestCase): expect(admin, '>>> ') admin.sendline(current, 'application update application.xml server.dir=%s' % serverDir) expect(admin, '>>> ') - admin.sendline(current, 'application patch Test') - expect(admin, '>>> ') admin.sendline(current, 'server list') expect(admin, 'server') expect(admin, '>>> ') @@ -99,8 +97,6 @@ class IceGridAdminTestCase(IceGridTestCase): admin.sendline(current, 'server property server Ice.Admin.ServerId') expect(admin, "^server") expect(admin, '>>> ') - admin.sendline(current, 'server patch server') - expect(admin, '>>> ') admin.sendline(current, 'server disable server') expect(admin, '>>> ') admin.sendline(current, 'server enable server') diff --git a/cpp/test/IceGrid/deployer/AllTests.cpp b/cpp/test/IceGrid/deployer/AllTests.cpp index b4ba1780519..31123448eaf 100644 --- a/cpp/test/IceGrid/deployer/AllTests.cpp +++ b/cpp/test/IceGrid/deployer/AllTests.cpp @@ -711,7 +711,6 @@ allTests(Test::TestHelper* helper) ServerDescriptorPtr server = ServerDescriptorPtr::dynamicCast(templ.descriptor); server->id = "test"; server->exe = "${test.dir}/server"; - server->applicationDistrib = false; server->allocatable = false; ApplicationDescriptor desc; desc.name = "App"; diff --git a/cpp/test/IceGrid/distribution/AllTests.cpp b/cpp/test/IceGrid/distribution/AllTests.cpp deleted file mode 100644 index 7aede6e5ba2..00000000000 --- a/cpp/test/IceGrid/distribution/AllTests.cpp +++ /dev/null @@ -1,330 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <IceUtil/Thread.h> -#include <Ice/Ice.h> -#include <IceGrid/IceGrid.h> -#include <TestHelper.h> -#include <Test.h> - -#include <iterator> - -using namespace std; -using namespace Test; -using namespace IceGrid; - -void -allTests(Test::TestHelper* helper) -{ - Ice::CommunicatorPtr communicator = helper->communicator(); - IceGrid::RegistryPrx registry = IceGrid::RegistryPrx::checkedCast( - communicator->stringToProxy(communicator->getDefaultLocator()->ice_getIdentity().category + "/Registry")); - test(registry); - AdminSessionPrx session = registry->createAdminSession("foo", "bar"); - - session->ice_getConnection()->setACM(registry->getACMTimeout(), - IceUtil::None, - Ice::ICE_ENUM(ACMHeartbeat, HeartbeatAlways)); - - AdminPrx admin = session->getAdmin(); - test(admin); - - cout << "testing distributions... " << flush; - { - admin->startServer("Test.IcePatch2"); - admin->startServer("IcePatch2-Direct"); - - TestIntfPrx test; - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-all")); - test(test->getServerFile("rootfile") == ""); - - try - { - admin->patchServer("server-all", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - test(test->getServerFile("rootfile") == "rootfile"); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == "dummy-file3"); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-all-direct")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == ""); - test(test->getServerFile("dir1/file2") == ""); - test(test->getServerFile("dir2/file3") == ""); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - - try - { - admin->patchServer("server-all-direct", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - test(test->getServerFile("rootfile") == "rootfile"); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == "dummy-file3"); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - - try - { - admin->patchApplication("Test", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-dir1")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == ""); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - - admin->stopServer("Test.IcePatch2"); - admin->stopServer("IcePatch2-Direct"); - } - cout << "ok" << endl; - - cout << "testing distributions after update... " << flush; - { - ApplicationUpdateDescriptor update; - update.name = "Test"; - update.variables["icepatch.directory"] = "${test.dir}/data/updated"; - admin->updateApplication(update); - - admin->startServer("Test.IcePatch2"); - admin->startServer("IcePatch2-Direct"); - - TestIntfPrx test; - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-all")); - test(test->getServerFile("rootfile") == "rootfile"); - - try - { - admin->patchServer("server-all", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - test(test->getServerFile("rootfile") == "rootfile-updated!"); - test(test->getServerFile("dir1/file1") == ""); - test(test->getServerFile("dir1/file2") == "dummy-file2-updated!"); - test(test->getServerFile("dir2/file3") == "dummy-file3"); - test(test->getServerFile("dir2/file4") == "dummy-file4"); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - test(test->getApplicationFile("dir2/file4") == "dummy-file4"); - - try - { - admin->patchServer("server-all-direct", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-all-direct")); - - test(test->getServerFile("rootfile") == "rootfile-updated!"); - test(test->getServerFile("dir1/file1") == ""); - test(test->getServerFile("dir1/file2") == "dummy-file2-updated!"); - test(test->getServerFile("dir2/file3") == "dummy-file3"); - test(test->getServerFile("dir2/file4") == "dummy-file4"); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - test(test->getApplicationFile("dir2/file4") == "dummy-file4"); - - try - { - admin->patchApplication("Test", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-dir1")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == ""); - test(test->getServerFile("dir1/file2") == "dummy-file2-updated!"); - test(test->getServerFile("dir2/file3") == ""); - test(test->getServerFile("dir2/file4") == ""); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - test(test->getApplicationFile("dir2/file4") == "dummy-file4"); - - admin->stopServer("Test.IcePatch2"); - admin->stopServer("IcePatch2-Direct"); - } - cout << "ok" << endl; - - cout << "testing application distrib configuration... " << flush; - try - { - ApplicationDescriptor app = admin->getApplicationInfo("Test").descriptor; - admin->removeApplication("Test"); - - app.variables["icepatch.directory"] = "${test.dir}/data/original"; - test(app.nodes["localnode"].servers[2]->id == "server-dir1"); - app.nodes["localnode"].servers[2]->applicationDistrib = false; - - admin->addApplication(app); - admin->startServer("Test.IcePatch2"); - - try - { - admin->patchServer("server-dir1", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - TestIntfPrx test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-dir1")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == ""); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == ""); - - admin->removeApplication("Test"); - - admin->addApplication(app); - admin->startServer("Test.IcePatch2"); - admin->startServer("IcePatch2-Direct"); - - try - { - admin->patchApplication("Test", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-dir1")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == ""); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == "dummy-file3"); - - admin->removeApplication("Test"); - - app.distrib.icepatch = ""; - - admin->addApplication(app); - admin->startServer("Test.IcePatch2"); - admin->startServer("IcePatch2-Direct"); - - try - { - admin->patchServer("server-dir1", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-dir1")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == ""); - - test(test->getApplicationFile("rootfile") == ""); - test(test->getApplicationFile("dir1/file1") == ""); - test(test->getApplicationFile("dir1/file2") == ""); - test(test->getApplicationFile("dir2/file3") == ""); - - test = TestIntfPrx::uncheckedCast(communicator->stringToProxy("server-all")); - - test(test->getServerFile("rootfile") == ""); - test(test->getServerFile("dir1/file1") == ""); - test(test->getServerFile("dir1/file2") == ""); - test(test->getServerFile("dir2/file3") == ""); - - try - { - admin->patchApplication("Test", true); - } - catch(const PatchException& ex) - { - copy(ex.reasons.begin(), ex.reasons.end(), ostream_iterator<string>(cerr, "\n")); - test(false); - } - - test(test->getServerFile("rootfile") == "rootfile"); - test(test->getServerFile("dir1/file1") == "dummy-file1"); - test(test->getServerFile("dir1/file2") == "dummy-file2"); - test(test->getServerFile("dir2/file3") == "dummy-file3"); - } - catch(const DeploymentException& ex) - { - cerr << ex << ":\n" << ex.reason << endl; - test(false); - } - cout << "ok" << endl; - - session->destroy(); -} diff --git a/cpp/test/IceGrid/distribution/Client.cpp b/cpp/test/IceGrid/distribution/Client.cpp deleted file mode 100644 index 0d88f5c27be..00000000000 --- a/cpp/test/IceGrid/distribution/Client.cpp +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <Ice/Ice.h> -#include <TestHelper.h> -#include <Test.h> - -using namespace std; - -class Client : public Test::TestHelper -{ -public: - - void run(int, char**); -}; - -void -Client::run(int argc, char** argv) -{ - Ice::CommunicatorHolder communicator = initialize(argc, argv); - communicator->getProperties()->parseCommandLineOptions("", Ice::argsToStringSeq(argc, argv)); - void allTests(Test::TestHelper*); - allTests(this); -} - -DEFINE_TEST(Client) diff --git a/cpp/test/IceGrid/distribution/Makefile.mk b/cpp/test/IceGrid/distribution/Makefile.mk deleted file mode 100644 index 351ed573e7e..00000000000 --- a/cpp/test/IceGrid/distribution/Makefile.mk +++ /dev/null @@ -1,7 +0,0 @@ -# -# Copyright (c) ZeroC, Inc. All rights reserved. -# - -$(test)_client_dependencies = IceGrid Glacier2 - -tests += $(test) diff --git a/cpp/test/IceGrid/distribution/Server.cpp b/cpp/test/IceGrid/distribution/Server.cpp deleted file mode 100644 index b1335eb7399..00000000000 --- a/cpp/test/IceGrid/distribution/Server.cpp +++ /dev/null @@ -1,38 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <Ice/Ice.h> -#include <TestI.h> -#include <TestHelper.h> - -using namespace std; - -class Server : public Test::TestHelper -{ -public: - - void run(int, char**); -}; - -void -Server::run(int argc, char** argv) -{ - Ice::CommunicatorHolder communicator = initialize(argc, argv); - Ice::PropertiesPtr properties = communicator->getProperties(); - string name = properties->getProperty("Ice.ProgramName"); - Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("Server"); - Ice::ObjectPtr object = new TestI(properties); - adapter->add(object, Ice::stringToIdentity(name)); - - try - { - adapter->activate(); - } - catch(const Ice::ObjectAdapterDeactivatedException&) - { - } - communicator->waitForShutdown(); -} - -DEFINE_TEST(Server) diff --git a/cpp/test/IceGrid/distribution/Test.ice b/cpp/test/IceGrid/distribution/Test.ice deleted file mode 100644 index 51ea654edc3..00000000000 --- a/cpp/test/IceGrid/distribution/Test.ice +++ /dev/null @@ -1,16 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#pragma once - -module Test -{ - -interface TestIntf -{ - string getServerFile(string path); - string getApplicationFile(string path); -} - -} diff --git a/cpp/test/IceGrid/distribution/TestI.cpp b/cpp/test/IceGrid/distribution/TestI.cpp deleted file mode 100644 index bd591ac5046..00000000000 --- a/cpp/test/IceGrid/distribution/TestI.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#include <Ice/Ice.h> -#include <TestI.h> - -#include <fstream> - -using namespace std; - -TestI::TestI(const Ice::PropertiesPtr& properties) : - _properties(properties) -{ -} - -string -TestI::getServerFile(const string& path, const Ice::Current&) -{ - string file = _properties->getProperty("ServerDistrib") + "/" + path; - ifstream is(file.c_str()); - string content; - if(is.good()) - { - is >> content; - } - return content; -} - -string -TestI::getApplicationFile(const string& path, const Ice::Current&) -{ - string file = _properties->getProperty("ApplicationDistrib") + "/" + path; - ifstream is(file.c_str()); - string content; - if(is.good()) - { - is >> content; - } - return content; -} diff --git a/cpp/test/IceGrid/distribution/TestI.h b/cpp/test/IceGrid/distribution/TestI.h deleted file mode 100644 index 2eedcb913b5..00000000000 --- a/cpp/test/IceGrid/distribution/TestI.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#ifndef TEST_I_H -#define TEST_I_H - -#include <Test.h> - -class TestI : public ::Test::TestIntf -{ -public: - - TestI(const Ice::PropertiesPtr&); - - virtual std::string getServerFile(const std::string&, const Ice::Current&); - virtual std::string getApplicationFile(const std::string&, const Ice::Current&); - -private: - - Ice::PropertiesPtr _properties; -}; - -#endif diff --git a/cpp/test/IceGrid/distribution/application.xml b/cpp/test/IceGrid/distribution/application.xml deleted file mode 100644 index 3424f98b642..00000000000 --- a/cpp/test/IceGrid/distribution/application.xml +++ /dev/null @@ -1,76 +0,0 @@ -<icegrid> - - <application name="Test"> - <variable name="icepatch.directory" value="${test.dir}/data/original"/> - - <server-template id="IcePatch2"> - - <parameter name="instance-name" default="${application}.IcePatch2"/> - <parameter name="endpoints" default="default"/> - <parameter name="directory"/> - - <server id="${instance-name}" - exe="${icepatch2server.exe}" - application-distrib="false" activation="manual"> - <adapter name="IcePatch2" endpoints="${endpoints}"> - <object identity="${instance-name}/server" type="::IcePatch2::FileServer"/> - </adapter> - <properties> - <property name="IcePatch2.InstanceName" value="${instance-name}"/> - <property name="IcePatch2.Directory" value="${directory}"/> - </properties> - </server> - - </server-template> - - <distrib> - <directory>dir2</directory> - </distrib> - - <node name="localnode"> - - <server-instance template="IcePatch2" directory="${icepatch.directory}"/> - <server-instance template="IcePatch2" - directory="${icepatch.directory}" - instance-name="IcePatch2-Direct" - endpoints="default -p 12001"/> - - <server id="server-all" exe="${server.dir}/server" activation="on-demand"> - <adapter name="Server" endpoints="default"> - <object identity="${server}"/> - </adapter> - <distrib/> - <properties> - <property name="ApplicationDistrib" value="${application.distrib}"/> - <property name="ServerDistrib" value="${server.distrib}"/> - </properties> - </server> - - <server id="server-all-direct" exe="${server.dir}/server" activation="on-demand"> - <adapter name="Server" endpoints="default"> - <object identity="${server}"/> - </adapter> - <distrib icepatch="IcePatch2-Direct/server:default -p 12001"/> - <properties> - <property name="ApplicationDistrib" value="${application.distrib}"/> - <property name="ServerDistrib" value="${server.distrib}"/> - </properties> - </server> - - <server id="server-dir1" exe="${server.dir}/server" activation="on-demand"> - <adapter name="Server" endpoints="default"> - <object identity="${server}"/> - </adapter> - <distrib> - <directory>dir1</directory> - </distrib> - <properties> - <property name="ApplicationDistrib" value="${application.distrib}"/> - <property name="ServerDistrib" value="${server.distrib}"/> - </properties> - </server> - - </node> - </application> - -</icegrid> diff --git a/cpp/test/IceGrid/distribution/msbuild/client/client.vcxproj b/cpp/test/IceGrid/distribution/msbuild/client/client.vcxproj deleted file mode 100644 index 2db3e24dbc0..00000000000 --- a/cpp/test/IceGrid/distribution/msbuild/client/client.vcxproj +++ /dev/null @@ -1,311 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Cpp11-Debug|Win32"> - <Configuration>Cpp11-Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Cpp11-Debug|x64"> - <Configuration>Cpp11-Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Cpp11-Release|Win32"> - <Configuration>Cpp11-Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Cpp11-Release|x64"> - <Configuration>Cpp11-Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{DFDF7BA0-4F61-4060-B919-7C8B2D40172E}</ProjectGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\..\msbuild\ice.test.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <ItemDefinitionGroup Label="IceBuilder"> - <SliceCompile /> - </ItemDefinitionGroup> - <ItemGroup> - <SliceCompile Include="..\..\Test.ice" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\AllTests.cpp" /> - <ClCompile Include="..\..\Client.cpp" /> - <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Cpp11-Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="Win32\Cpp11-Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="Win32\Cpp11-Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="Win32\Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="Win32\Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Cpp11-Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Cpp11-Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets'))" /> - </Target> -</Project>
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/msbuild/client/client.vcxproj.filters b/cpp/test/IceGrid/distribution/msbuild/client/client.vcxproj.filters deleted file mode 100644 index ec895771f10..00000000000 --- a/cpp/test/IceGrid/distribution/msbuild/client/client.vcxproj.filters +++ /dev/null @@ -1,141 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\..\AllTests.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\Client.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> - <Filter>Source Files\x64\Cpp11-Debug</Filter> - </ClCompile> - <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> - <Filter>Source Files\Win32\Cpp11-Debug</Filter> - </ClCompile> - <ClCompile Include="x64\Debug\Test.cpp"> - <Filter>Source Files\x64\Debug</Filter> - </ClCompile> - <ClCompile Include="Win32\Debug\Test.cpp"> - <Filter>Source Files\Win32\Debug</Filter> - </ClCompile> - <ClCompile Include="x64\Release\Test.cpp"> - <Filter>Source Files\x64\Release</Filter> - </ClCompile> - <ClCompile Include="Win32\Release\Test.cpp"> - <Filter>Source Files\Win32\Release</Filter> - </ClCompile> - <ClCompile Include="x64\Cpp11-Release\Test.cpp"> - <Filter>Source Files\x64\Cpp11-Release</Filter> - </ClCompile> - <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> - <Filter>Source Files\Win32\Cpp11-Release</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{6e16cb97-1652-4903-b3d0-5d8ae995bf72}</UniqueIdentifier> - </Filter> - <Filter Include="Slice Files"> - <UniqueIdentifier>{d9d11d9a-6df7-49ae-9243-da834907fadb}</UniqueIdentifier> - <Extensions>ice</Extensions> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{cba3fb94-85cd-4320-a022-79e03dc78eed}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64"> - <UniqueIdentifier>{b0c6d481-e295-412d-ab5d-e77d4e0239c1}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Cpp11-Debug"> - <UniqueIdentifier>{7a939a79-7044-4da3-8089-6ad014d7df11}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64"> - <UniqueIdentifier>{7afc95df-a2cf-4992-a2e8-e574e678dd00}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Cpp11-Debug"> - <UniqueIdentifier>{7369b844-8333-4dd4-be5b-54b392c95804}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32"> - <UniqueIdentifier>{3db9237f-43da-4e7b-91e6-fca122d2eaa8}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Cpp11-Debug"> - <UniqueIdentifier>{4b088de8-7c80-46ae-8caf-90833c5c194b}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32"> - <UniqueIdentifier>{f005857f-8f03-4ede-bc86-1cfcc98acbce}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Cpp11-Debug"> - <UniqueIdentifier>{a107f57a-91e8-48b6-bb10-520074ae2a47}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Debug"> - <UniqueIdentifier>{2216c67b-27c6-4c7e-8bc0-51f6cdc9b1c0}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Debug"> - <UniqueIdentifier>{6d280dea-88db-498e-9006-1c6984230743}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Debug"> - <UniqueIdentifier>{7511c258-4199-4a69-9adb-37011a9f03da}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Debug"> - <UniqueIdentifier>{4539c5c5-e592-41bc-9212-227408721de4}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Release"> - <UniqueIdentifier>{29578af8-cf93-45cc-b4b3-b3aa31ce3ae1}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Release"> - <UniqueIdentifier>{a0a8ee67-36c6-498b-a67e-84e2755305df}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Release"> - <UniqueIdentifier>{98ac640a-57fd-4ca2-a17b-1e5ef9cca9b3}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Release"> - <UniqueIdentifier>{f02d91fc-59bb-452d-87e9-b6f20ac64a84}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Cpp11-Release"> - <UniqueIdentifier>{47c8bdf0-aa47-4350-b24f-b75bd43e84e8}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Cpp11-Release"> - <UniqueIdentifier>{b7f04836-f33d-4085-84cf-10a6728c80fb}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Cpp11-Release"> - <UniqueIdentifier>{b685497f-5dda-4866-abab-aa1e913ae9bb}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Cpp11-Release"> - <UniqueIdentifier>{4a079582-c420-41d5-86ab-cf35fef86293}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClInclude Include="x64\Cpp11-Debug\Test.h"> - <Filter>Header Files\x64\Cpp11-Debug</Filter> - </ClInclude> - <ClInclude Include="Win32\Cpp11-Debug\Test.h"> - <Filter>Header Files\Win32\Cpp11-Debug</Filter> - </ClInclude> - <ClInclude Include="x64\Debug\Test.h"> - <Filter>Header Files\x64\Debug</Filter> - </ClInclude> - <ClInclude Include="Win32\Debug\Test.h"> - <Filter>Header Files\Win32\Debug</Filter> - </ClInclude> - <ClInclude Include="x64\Release\Test.h"> - <Filter>Header Files\x64\Release</Filter> - </ClInclude> - <ClInclude Include="Win32\Release\Test.h"> - <Filter>Header Files\Win32\Release</Filter> - </ClInclude> - <ClInclude Include="x64\Cpp11-Release\Test.h"> - <Filter>Header Files\x64\Cpp11-Release</Filter> - </ClInclude> - <ClInclude Include="Win32\Cpp11-Release\Test.h"> - <Filter>Header Files\Win32\Cpp11-Release</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <ItemGroup> - <SliceCompile Include="..\..\Test.ice"> - <Filter>Slice Files</Filter> - </SliceCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/msbuild/client/packages.config b/cpp/test/IceGrid/distribution/msbuild/client/packages.config deleted file mode 100644 index 1ab4167f703..00000000000 --- a/cpp/test/IceGrid/distribution/msbuild/client/packages.config +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="zeroc.ice.v120" version="3.7.5" targetFramework="native" /> - <package id="zeroc.ice.v140" version="3.7.5" targetFramework="native" /> - <package id="zeroc.ice.v141" version="3.7.5" targetFramework="native" /> - <package id="zeroc.ice.v142" version="3.7.5" targetFramework="native" /> - <package id="zeroc.icebuilder.msbuild" version="5.0.6" targetFramework="native" /> -</packages>
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/msbuild/server/packages.config b/cpp/test/IceGrid/distribution/msbuild/server/packages.config deleted file mode 100644 index 1ab4167f703..00000000000 --- a/cpp/test/IceGrid/distribution/msbuild/server/packages.config +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="zeroc.ice.v120" version="3.7.5" targetFramework="native" /> - <package id="zeroc.ice.v140" version="3.7.5" targetFramework="native" /> - <package id="zeroc.ice.v141" version="3.7.5" targetFramework="native" /> - <package id="zeroc.ice.v142" version="3.7.5" targetFramework="native" /> - <package id="zeroc.icebuilder.msbuild" version="5.0.6" targetFramework="native" /> -</packages>
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/msbuild/server/server.vcxproj b/cpp/test/IceGrid/distribution/msbuild/server/server.vcxproj deleted file mode 100644 index 2411f3fd2e1..00000000000 --- a/cpp/test/IceGrid/distribution/msbuild/server/server.vcxproj +++ /dev/null @@ -1,352 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props') and '$(ICE_BIN_DIST)' == 'all'" /> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Cpp11-Debug|Win32"> - <Configuration>Cpp11-Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Cpp11-Debug|x64"> - <Configuration>Cpp11-Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Cpp11-Release|Win32"> - <Configuration>Cpp11-Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Cpp11-Release|x64"> - <Configuration>Cpp11-Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{E4DC9D1E-8282-491F-A1FA-AF497EB1FF9C}</ProjectGuid> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\..\msbuild\ice.test.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets') and '$(ICE_BIN_DIST)' == 'all'" /> - <Import Project="..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets" Condition="Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'"> - <ClCompile> - <AdditionalIncludeDirectories>..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Label="IceBuilder"> - <SliceCompile /> - </ItemDefinitionGroup> - <ItemGroup> - <SliceCompile Include="..\..\Test.ice" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\..\Server.cpp" /> - <ClCompile Include="..\..\TestI.cpp" /> - <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="Win32\Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Cpp11-Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Debug\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - <ClCompile Include="x64\Release\Test.cpp"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\TestI.h" /> - <ClInclude Include="Win32\Cpp11-Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="Win32\Cpp11-Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="Win32\Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="Win32\Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Cpp11-Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Cpp11-Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Debug\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - <ClInclude Include="x64\Release\Test.h"> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> - <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> - <SliceCompileSource>..\..\Test.ice</SliceCompileSource> - </ClInclude> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v140.3.7.5\build\native\zeroc.ice.v140.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v120.3.7.5\build\native\zeroc.ice.v120.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v141.3.7.5\build\native\zeroc.ice.v141.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets') and '$(ICE_BIN_DIST)' == 'all'" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.ice.v142.3.7.5\build\native\zeroc.ice.v142.targets'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props'))" /> - <Error Condition="!Exists('..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets'))" /> - </Target> -</Project>
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/msbuild/server/server.vcxproj.filters b/cpp/test/IceGrid/distribution/msbuild/server/server.vcxproj.filters deleted file mode 100644 index 0c3c78224ef..00000000000 --- a/cpp/test/IceGrid/distribution/msbuild/server/server.vcxproj.filters +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <ClCompile Include="..\..\Server.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\..\TestI.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> - <Filter>Source Files\x64\Cpp11-Debug</Filter> - </ClCompile> - <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> - <Filter>Source Files\Win32\Cpp11-Debug</Filter> - </ClCompile> - <ClCompile Include="x64\Debug\Test.cpp"> - <Filter>Source Files\x64\Debug</Filter> - </ClCompile> - <ClCompile Include="Win32\Debug\Test.cpp"> - <Filter>Source Files\Win32\Debug</Filter> - </ClCompile> - <ClCompile Include="x64\Release\Test.cpp"> - <Filter>Source Files\x64\Release</Filter> - </ClCompile> - <ClCompile Include="Win32\Release\Test.cpp"> - <Filter>Source Files\Win32\Release</Filter> - </ClCompile> - <ClCompile Include="x64\Cpp11-Release\Test.cpp"> - <Filter>Source Files\x64\Cpp11-Release</Filter> - </ClCompile> - <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> - <Filter>Source Files\Win32\Cpp11-Release</Filter> - </ClCompile> - </ItemGroup> - <ItemGroup> - <Filter Include="Header Files"> - <UniqueIdentifier>{8098d582-8e25-4c1e-9501-a5bb3d3278b3}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files"> - <UniqueIdentifier>{b0604b47-7033-4e8e-97e6-7e4849b391cc}</UniqueIdentifier> - </Filter> - <Filter Include="Slice Files"> - <UniqueIdentifier>{db2c21e8-2cba-461b-880b-d2958e44683d}</UniqueIdentifier> - <Extensions>ice</Extensions> - </Filter> - <Filter Include="Source Files\x64"> - <UniqueIdentifier>{3074b3c3-68b0-4699-a0a6-32fd96ed05ca}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Cpp11-Debug"> - <UniqueIdentifier>{a378b026-caac-43eb-bc33-c695163b0ee9}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64"> - <UniqueIdentifier>{1d935fd7-2e87-45a9-a220-b96134b7dc40}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Cpp11-Debug"> - <UniqueIdentifier>{e7e260d3-cca1-436f-b143-1a6410c6cd7a}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32"> - <UniqueIdentifier>{95c0c4f1-5e9c-4cdb-b788-df86e237c3c4}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Cpp11-Debug"> - <UniqueIdentifier>{0b2d273a-0d81-4b7b-9e58-69605f2d4bb4}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32"> - <UniqueIdentifier>{4fcc6ea4-70f2-4ea6-863e-f0776b02741a}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Cpp11-Debug"> - <UniqueIdentifier>{d17a27cf-a349-4e0c-9f5c-1e1949514498}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Debug"> - <UniqueIdentifier>{f85eab1b-13d6-4678-8121-67b982793dce}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Debug"> - <UniqueIdentifier>{918048bf-3624-49e7-99b7-442168757d9c}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Debug"> - <UniqueIdentifier>{29110458-ba5e-4956-b3f6-ce29065704c6}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Debug"> - <UniqueIdentifier>{b204c759-f009-4dd3-a49e-5063756f738c}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Release"> - <UniqueIdentifier>{dcc9ca45-326e-4514-8433-da2da6dafe5c}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Release"> - <UniqueIdentifier>{fd105938-b254-4b52-8566-48cb79ca2b03}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Release"> - <UniqueIdentifier>{1ae2fa45-d2c3-4302-80f2-48f3d44f5683}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Release"> - <UniqueIdentifier>{4fccb7ad-b255-4d93-9473-5cedbaa238d6}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\x64\Cpp11-Release"> - <UniqueIdentifier>{39771b60-5385-42a0-83e1-624286f8e1ab}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\x64\Cpp11-Release"> - <UniqueIdentifier>{85af3060-7792-4818-8d65-b4f973a2bbf8}</UniqueIdentifier> - </Filter> - <Filter Include="Source Files\Win32\Cpp11-Release"> - <UniqueIdentifier>{da3beafe-1a9f-4667-858a-9189d3010132}</UniqueIdentifier> - </Filter> - <Filter Include="Header Files\Win32\Cpp11-Release"> - <UniqueIdentifier>{99b19e01-6c5a-41cc-ab29-2e28bd751b22}</UniqueIdentifier> - </Filter> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\..\TestI.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="x64\Cpp11-Debug\Test.h"> - <Filter>Header Files\x64\Cpp11-Debug</Filter> - </ClInclude> - <ClInclude Include="Win32\Cpp11-Debug\Test.h"> - <Filter>Header Files\Win32\Cpp11-Debug</Filter> - </ClInclude> - <ClInclude Include="x64\Debug\Test.h"> - <Filter>Header Files\x64\Debug</Filter> - </ClInclude> - <ClInclude Include="Win32\Debug\Test.h"> - <Filter>Header Files\Win32\Debug</Filter> - </ClInclude> - <ClInclude Include="x64\Release\Test.h"> - <Filter>Header Files\x64\Release</Filter> - </ClInclude> - <ClInclude Include="Win32\Release\Test.h"> - <Filter>Header Files\Win32\Release</Filter> - </ClInclude> - <ClInclude Include="x64\Cpp11-Release\Test.h"> - <Filter>Header Files\x64\Cpp11-Release</Filter> - </ClInclude> - <ClInclude Include="Win32\Cpp11-Release\Test.h"> - <Filter>Header Files\Win32\Cpp11-Release</Filter> - </ClInclude> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <ItemGroup> - <SliceCompile Include="..\..\Test.ice"> - <Filter>Slice Files</Filter> - </SliceCompile> - </ItemGroup> -</Project>
\ No newline at end of file diff --git a/cpp/test/IceGrid/distribution/test.py b/cpp/test/IceGrid/distribution/test.py deleted file mode 100644 index 80130d90a25..00000000000 --- a/cpp/test/IceGrid/distribution/test.py +++ /dev/null @@ -1,41 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Copyright (c) ZeroC, Inc. All rights reserved. -# - -class IceGridDistributionTestCase(IceGridTestCase): - - def setupClientSide(self, current): - IceGridTestCase.setupClientSide(self, current) - - datadir = os.path.join(current.testsuite.getPath(), "data") - - files = [ - [ "original/rootfile", "rootfile" ], - [ "original/dir1/file1", "dummy-file1"], - [ "original/dir1/file2", "dummy-file2"], - [ "original/dir2/file3", "dummy-file3"], - [ "updated/rootfile", "rootfile-updated!" ], - [ "updated/dir1/file2", "dummy-file2-updated!"], - [ "updated/dir2/file3", "dummy-file3"], - [ "updated/dir2/file4", "dummy-file4"], - ] - - current.write("creating IcePatch2 data directory... ") - current.mkdirs(datadir) - - for [file, content] in files: - file = os.path.join(datadir, file) - if not os.path.exists(os.path.dirname(file)): - os.makedirs(os.path.dirname(file)) - f = open(file, 'w') - f.write(content) - f.close() - - IcePatch2Calc(args=[os.path.join(datadir, "original")]).run(current) - IcePatch2Calc(args=[os.path.join(datadir, "updated")]).run(current) - - current.writeln("ok") - -if isinstance(platform, Windows) or os.getuid() != 0: - TestSuite(__file__, [ IceGridDistributionTestCase() ], runOnMainThread=True, multihost=False) diff --git a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp index c2833be8d75..101e9dc6b27 100644 --- a/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp +++ b/cpp/test/IceGrid/noRestartUpdate/AllTests.cpp @@ -180,7 +180,6 @@ allTests(Test::TestHelper* helper) server->id = "Server"; server->exe = properties->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; server->activation = "on-demand"; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); @@ -227,7 +226,6 @@ allTests(Test::TestHelper* helper) server->id = "${name}"; server->exe = "${server.dir}/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; server->activation = "on-demand"; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); @@ -544,7 +542,6 @@ allTests(Test::TestHelper* helper) icebox->id = "IceBox"; icebox->exe = properties->getProperty("IceBoxExe"); icebox->activation = "on-demand"; - icebox->applicationDistrib = false; icebox->allocatable = false; addProperty(icebox, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); icebox->services.resize(3); diff --git a/cpp/test/IceGrid/replication/AllTests.cpp b/cpp/test/IceGrid/replication/AllTests.cpp index 96ecf08aa20..48617b06114 100644 --- a/cpp/test/IceGrid/replication/AllTests.cpp +++ b/cpp/test/IceGrid/replication/AllTests.cpp @@ -957,7 +957,6 @@ allTests(Test::TestHelper* helper) server->id = "Server"; server->exe = comm->getProperties()->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); server->activation = "on-demand"; @@ -1193,7 +1192,6 @@ allTests(Test::TestHelper* helper) server->id = "Server"; server->exe = comm->getProperties()->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); server->activation = "on-demand"; @@ -1333,7 +1331,6 @@ allTests(Test::TestHelper* helper) server->id = "Server"; server->exe = comm->getProperties()->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); server->activation = "on-demand"; @@ -1389,7 +1386,6 @@ allTests(Test::TestHelper* helper) server->id = "Server1"; server->exe = comm->getProperties()->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); server->activation = "on-demand"; diff --git a/cpp/test/IceGrid/session/AllTests.cpp b/cpp/test/IceGrid/session/AllTests.cpp index de1ba3c2267..53de990eaa9 100644 --- a/cpp/test/IceGrid/session/AllTests.cpp +++ b/cpp/test/IceGrid/session/AllTests.cpp @@ -1808,7 +1808,6 @@ allTests(Test::TestHelper* helper) server->exe = properties->getProperty("IceGridNodeExe"); server->options.push_back("--nowarn"); server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "IceGrid.Node.Name", "node-1"); addProperty(server, "IceGrid.Node.Data", properties->getProperty("TestDir") + "/db/node-1"); @@ -1860,7 +1859,6 @@ allTests(Test::TestHelper* helper) server->exe = properties->getProperty("ServerDir") + "/server"; server->pwd = properties->getProperty("TestDir"); - server->applicationDistrib = false; server->allocatable = false; AdapterDescriptor adapter; adapter.name = "Server"; diff --git a/cpp/test/IceGrid/update/AllTests.cpp b/cpp/test/IceGrid/update/AllTests.cpp index 9b4b5ce1eea..9896684cc3f 100644 --- a/cpp/test/IceGrid/update/AllTests.cpp +++ b/cpp/test/IceGrid/update/AllTests.cpp @@ -94,7 +94,6 @@ allTests(Test::TestHelper* helper) server->id = "Server"; server->exe = properties->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); AdapterDescriptor adapter; @@ -161,7 +160,6 @@ allTests(Test::TestHelper* helper) server->id = "${name}"; server->exe = "${test.dir}/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); adapter = AdapterDescriptor(); @@ -552,7 +550,6 @@ allTests(Test::TestHelper* helper) server->id = "IceBox"; server->exe = properties->getProperty("IceBoxExe"); - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); server->services.resize(3); @@ -718,7 +715,6 @@ allTests(Test::TestHelper* helper) server->id = "${name}"; server->exe = "server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "ApplicationVar", "${appvar}"); @@ -893,7 +889,6 @@ allTests(Test::TestHelper* helper) server->id = "${name}"; server->exe = "server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; server->propertySet.references.push_back("ApplicationPropertySet"); server->propertySet.references.push_back("NodePropertySet"); @@ -1099,7 +1094,6 @@ allTests(Test::TestHelper* helper) server->id = "node-${index}"; server->exe = properties->getProperty("IceGridNodeExe"); server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; server->options.push_back("--nowarn"); @@ -1162,7 +1156,6 @@ allTests(Test::TestHelper* helper) server->id = "Server"; server->exe = properties->getProperty("ServerDir") + "/server"; server->pwd = "."; - server->applicationDistrib = false; server->allocatable = false; addProperty(server, "Ice.Admin.Endpoints", "tcp -h 127.0.0.1"); AdapterDescriptor adapter; diff --git a/csharp/.gitignore b/csharp/.gitignore index 6ec4ee0ab5d..9e0133ffbf3 100644 --- a/csharp/.gitignore +++ b/csharp/.gitignore @@ -6,7 +6,6 @@ IceBox.XML IceDiscovery.XML IceGrid.XML IceLocatorDiscovery.XML -IcePatch2.XML IceSSL.XML IceStorm.XML test/**/netstandard2.0/netcoreapp2.0 diff --git a/csharp/msbuild/ice.net45.sln b/csharp/msbuild/ice.net45.sln index 9f7ee760e72..1e5417ac42b 100644 --- a/csharp/msbuild/ice.net45.sln +++ b/csharp/msbuild/ice.net45.sln @@ -37,11 +37,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "icelocatordiscovery", "..\s {7CB4715E-DD8B-48F8-B478-27B8BD4008C7} = {7CB4715E-DD8B-48F8-B478-27B8BD4008C7} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "icepatch2", "..\src\IcePatch2\msbuild\net45\icepatch2.csproj", "{6479EE9D-5730-44BC-B564-97211E1B54C5}" - ProjectSection(ProjectDependencies) = postProject - {7CB4715E-DD8B-48F8-B478-27B8BD4008C7} = {7CB4715E-DD8B-48F8-B478-27B8BD4008C7} - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "icessl", "..\src\IceSSL\msbuild\net45\icessl.csproj", "{B763DADE-440B-46BC-9CC0-BF0CF9D43182}" ProjectSection(ProjectDependencies) = postProject {7CB4715E-DD8B-48F8-B478-27B8BD4008C7} = {7CB4715E-DD8B-48F8-B478-27B8BD4008C7} @@ -116,14 +111,6 @@ Global {8D8AA726-3A35-407B-BD38-BEA828EEE727}.Release|Any CPU.Build.0 = Release|Any CPU {8D8AA726-3A35-407B-BD38-BEA828EEE727}.Release-Managed|Any CPU.ActiveCfg = Release|Any CPU {8D8AA726-3A35-407B-BD38-BEA828EEE727}.Release-Managed|Any CPU.Build.0 = Release|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Debug-Managed|Any CPU.ActiveCfg = Debug|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Debug-Managed|Any CPU.Build.0 = Debug|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Release|Any CPU.Build.0 = Release|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Release-Managed|Any CPU.ActiveCfg = Release|Any CPU - {6479EE9D-5730-44BC-B564-97211E1B54C5}.Release-Managed|Any CPU.Build.0 = Release|Any CPU {B763DADE-440B-46BC-9CC0-BF0CF9D43182}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B763DADE-440B-46BC-9CC0-BF0CF9D43182}.Debug|Any CPU.Build.0 = Debug|Any CPU {B763DADE-440B-46BC-9CC0-BF0CF9D43182}.Debug-Managed|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/csharp/src/Ice/PropertyNames.cs b/csharp/src/Ice/PropertyNames.cs index d8926852333..d56ee2fbcfd 100644 --- a/csharp/src/Ice/PropertyNames.cs +++ b/csharp/src/Ice/PropertyNames.cs @@ -1,7 +1,7 @@ // // Copyright (c) ZeroC, Inc. All rights reserved. // -// Generated by makeprops.py from file ./config/PropertyNames.xml, Thu Jul 2 14:55:02 2020 +// Generated by makeprops.py from file ./config/PropertyNames.xml, Fri Jan 29 15:05:58 2021 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -1031,60 +1031,6 @@ namespace IceInternal null }; - public static Property[] IcePatch2Props = - { - new Property(@"^IcePatch2\.ACM\.Timeout$", false, null), - new Property(@"^IcePatch2\.ACM\.Heartbeat$", false, null), - new Property(@"^IcePatch2\.ACM\.Close$", false, null), - new Property(@"^IcePatch2\.ACM$", false, null), - new Property(@"^IcePatch2\.AdapterId$", false, null), - new Property(@"^IcePatch2\.Endpoints$", false, null), - new Property(@"^IcePatch2\.Locator\.EndpointSelection$", false, null), - new Property(@"^IcePatch2\.Locator\.ConnectionCached$", false, null), - new Property(@"^IcePatch2\.Locator\.PreferSecure$", false, null), - new Property(@"^IcePatch2\.Locator\.LocatorCacheTimeout$", false, null), - new Property(@"^IcePatch2\.Locator\.InvocationTimeout$", false, null), - new Property(@"^IcePatch2\.Locator\.Locator$", false, null), - new Property(@"^IcePatch2\.Locator\.Router$", false, null), - new Property(@"^IcePatch2\.Locator\.CollocationOptimized$", false, null), - new Property(@"^IcePatch2\.Locator\.Context\.[^\s]+$", false, null), - new Property(@"^IcePatch2\.Locator$", false, null), - new Property(@"^IcePatch2\.PublishedEndpoints$", false, null), - new Property(@"^IcePatch2\.ReplicaGroupId$", false, null), - new Property(@"^IcePatch2\.Router\.EndpointSelection$", false, null), - new Property(@"^IcePatch2\.Router\.ConnectionCached$", false, null), - new Property(@"^IcePatch2\.Router\.PreferSecure$", false, null), - new Property(@"^IcePatch2\.Router\.LocatorCacheTimeout$", false, null), - new Property(@"^IcePatch2\.Router\.InvocationTimeout$", false, null), - new Property(@"^IcePatch2\.Router\.Locator$", false, null), - new Property(@"^IcePatch2\.Router\.Router$", false, null), - new Property(@"^IcePatch2\.Router\.CollocationOptimized$", false, null), - new Property(@"^IcePatch2\.Router\.Context\.[^\s]+$", false, null), - new Property(@"^IcePatch2\.Router$", false, null), - new Property(@"^IcePatch2\.ProxyOptions$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.Size$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.SizeMax$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.SizeWarn$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.StackSize$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.Serialize$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.ThreadIdleTime$", false, null), - new Property(@"^IcePatch2\.ThreadPool\.ThreadPriority$", false, null), - new Property(@"^IcePatch2\.MessageSizeMax$", false, null), - new Property(@"^IcePatch2\.Directory$", false, null), - new Property(@"^IcePatch2\.InstanceName$", false, null), - null - }; - - public static Property[] IcePatch2ClientProps = - { - new Property(@"^IcePatch2Client\.ChunkSize$", false, null), - new Property(@"^IcePatch2Client\.Directory$", false, null), - new Property(@"^IcePatch2Client\.Proxy$", false, null), - new Property(@"^IcePatch2Client\.Remove$", false, null), - new Property(@"^IcePatch2Client\.Thorough$", false, null), - null - }; - public static Property[] IceSSLProps = { new Property(@"^IceSSL\.Alias$", false, null), @@ -1344,8 +1290,6 @@ namespace IceInternal IceBridgeProps, IceGridAdminProps, IceGridProps, - IcePatch2Props, - IcePatch2ClientProps, IceSSLProps, IceStormAdminProps, IceBTProps, @@ -1366,8 +1310,6 @@ namespace IceInternal "IceBridge", "IceGridAdmin", "IceGrid", - "IcePatch2", - "IcePatch2Client", "IceSSL", "IceStormAdmin", "IceBT", diff --git a/csharp/src/IcePatch2/AssemblyInfo.cs b/csharp/src/IcePatch2/AssemblyInfo.cs deleted file mode 100644 index a0d30967b4e..00000000000 --- a/csharp/src/IcePatch2/AssemblyInfo.cs +++ /dev/null @@ -1,21 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -using System; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -[assembly: CLSCompliant(true)] - -[assembly: AssemblyTitle("IcePatch2 .NET Client Library")] -[assembly: AssemblyDescription("IcePatch2 .NET Client Library")] -[assembly: AssemblyCompany("ZeroC, Inc.")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("Ice")] -[assembly: AssemblyCopyright("© ZeroC, Inc.")] -[assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("3.7.5.0")] - -[assembly: ComVisible(false)] diff --git a/csharp/src/IcePatch2/msbuild/icepatch2.csproj b/csharp/src/IcePatch2/msbuild/icepatch2.csproj deleted file mode 100644 index 89820f5a93e..00000000000 --- a/csharp/src/IcePatch2/msbuild/icepatch2.csproj +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0" DefaultTargets="Build"> - <Import Project="..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')"/> - <PropertyGroup Label="Globals"> - <NuGetPackageImportStamp> - </NuGetPackageImportStamp> - </PropertyGroup> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')"/> - <PropertyGroup> - <ProjectGuid>{6479EE9D-5730-44BC-B564-97211E1B54C5}</ProjectGuid> - <OutputType>Library</OutputType> - <AssemblyName>IcePatch2</AssemblyName> - <DocumentationFile>..\..\..\Assemblies\IcePatch2.XML</DocumentationFile> - <NoWarn>1591;618</NoWarn> - </PropertyGroup> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\msbuild\ice.common.props"/> - <ItemGroup> - <Reference Include="System"/> - <Reference Include="System.Core"/> - <Reference Include="Microsoft.CSharp"/> - </ItemGroup> - <ItemGroup> - <Folder Include="Properties\"/> - </ItemGroup> - <ItemGroup> - <Compile Include="..\AssemblyInfo.cs"> - <Link>AssemblyInfo.cs</Link> - </Compile> - <Compile Include="generated\FileInfo.cs"/> - <Compile Include="generated\FileServer.cs"/> - </ItemGroup> - <ItemGroup> - <SliceCompile Include="..\..\..\..\slice\IcePatch2\FileInfo.ice"> - <Link>FileInfo.ice</Link> - </SliceCompile> - <SliceCompile Include="..\..\..\..\slice\IcePatch2\FileServer.ice"> - <Link>FileServer.ice</Link> - </SliceCompile> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\..\Ice\msbuild\ice.csproj"> - <Project>{7cb4715e-dd8b-48f8-b478-27b8bd4008c7}</Project> - <Name>ice</Name> - <Private>False</Private> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="packages.config"/> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\msbuild\ice.sign.targets"/> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props'))"/> - <Error Condition="!Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets'))"/> - </Target> - <Import Project="..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets" Condition="Exists('..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')"/> -</Project> diff --git a/csharp/src/IcePatch2/msbuild/net45/icepatch2.csproj b/csharp/src/IcePatch2/msbuild/net45/icepatch2.csproj deleted file mode 100644 index 96b24118477..00000000000 --- a/csharp/src/IcePatch2/msbuild/net45/icepatch2.csproj +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="14.0"> - <Import Project="..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props" Condition="Exists('..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')"/> - <PropertyGroup Label="Globals"> - <NuGetPackageImportStamp> - </NuGetPackageImportStamp> - </PropertyGroup> - <Import Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"/> - <PropertyGroup> - <ProjectGuid>{6479EE9D-5730-44BC-B564-97211E1B54C5}</ProjectGuid> - <OutputType>Library</OutputType> - <AssemblyName>IcePatch2</AssemblyName> - <DocumentationFile>..\..\..\..\lib\net45\IcePatch2.XML</DocumentationFile> - <OutputPath>..\..\..\..\lib\net45\</OutputPath> - <NoWarn>1591;618</NoWarn> - <TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion> - </PropertyGroup> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\..\msbuild\ice.common.props"/> - <ItemGroup> - <Reference Include="System"/> - <Reference Include="System.Core"/> - <Reference Include="Microsoft.CSharp"/> - </ItemGroup> - <ItemGroup> - <Folder Include="Properties\"/> - </ItemGroup> - <ItemGroup> - <Compile Include="..\..\AssemblyInfo.cs"> - <Link>AssemblyInfo.cs</Link> - </Compile> - <Compile Include="generated\FileInfo.cs"/> - <Compile Include="generated\FileServer.cs"/> - </ItemGroup> - <ItemGroup> - <SliceCompile Include="..\..\..\..\..\slice\IcePatch2\FileInfo.ice"> - <Link>FileInfo.ice</Link> - </SliceCompile> - <SliceCompile Include="..\..\..\..\..\slice\IcePatch2\FileServer.ice"> - <Link>FileServer.ice</Link> - </SliceCompile> - <None Include="packages.config"/> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\..\..\Ice\msbuild\net45\ice.csproj"> - <Project>{7cb4715e-dd8b-48f8-b478-27b8bd4008c7}</Project> - <Name>ice</Name> - <Private>False</Private> - </ProjectReference> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/> - <Import Project="$(MSBuildThisFileDirectory)..\..\..\..\msbuild\ice.sign.targets"/> - <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> - <PropertyGroup> - <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> - </PropertyGroup> - <Error Condition="!Exists('..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.props'))"/> - <Error Condition="!Exists('..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets'))"/> - </Target> - <Import Project="..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets" Condition="Exists('..\..\..\..\msbuild\packages\zeroc.icebuilder.msbuild.5.0.6\build\zeroc.icebuilder.msbuild.targets')"/> -</Project> diff --git a/csharp/src/IcePatch2/msbuild/net45/packages.config b/csharp/src/IcePatch2/msbuild/net45/packages.config deleted file mode 100644 index 3494416e546..00000000000 --- a/csharp/src/IcePatch2/msbuild/net45/packages.config +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="zeroc.icebuilder.msbuild" version="5.0.6" targetFramework="net451" /> -</packages>
\ No newline at end of file diff --git a/csharp/src/IcePatch2/msbuild/packages.config b/csharp/src/IcePatch2/msbuild/packages.config deleted file mode 100644 index 3494416e546..00000000000 --- a/csharp/src/IcePatch2/msbuild/packages.config +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="zeroc.icebuilder.msbuild" version="5.0.6" targetFramework="net451" /> -</packages>
\ No newline at end of file diff --git a/java-compat/README.md b/java-compat/README.md index 23fbc88a466..3ca5bf1b8c2 100644 --- a/java-compat/README.md +++ b/java-compat/README.md @@ -3,16 +3,20 @@ This page describes how to build and install Ice for Java from source. If you prefer, you can also download a [binary distribution][1]. -* [Build Requirements](#build-requirements) - * [Operating Systems](#operating-systems) - * [Slice to Java Compiler](#slice-to-java-compiler) - * [Java Version](#java-version) - * [Gradle](#gradle) - * [Bzip2 Compression](#bzip2-compression) -* [Building Ice for Java Compat](#building-ice-for-java-compat-1) -* [Installing Ice for Java Compat](#installing-ice-for-java-compat) -* [Running the Java Compat Tests](#running-the-java-compat-tests) -* [Building the Ice for Android Tests](#building-the-ice-for-android-tests) +- [Building Ice for Java Compat](#building-ice-for-java-compat) + - [Build Requirements](#build-requirements) + - [Operating Systems](#operating-systems) + - [Slice to Java Compiler](#slice-to-java-compiler) + - [Java Version](#java-version) + - [Gradle](#gradle) + - [Bzip2 Compression](#bzip2-compression) + - [Building Ice for Java](#building-ice-for-java) + - [Installing Ice for Java](#installing-ice-for-java) + - [Running the Java Tests](#running-the-java-tests) + - [Building the Ice for Android Tests](#building-the-ice-for-android-tests) + - [Build Requirements](#build-requirements-1) + - [Building the Android Test Controller](#building-the-android-test-controller) + - [Running the Android Tests](#running-the-android-tests) ## Build Requirements @@ -131,7 +135,6 @@ icebt-compat-3.7.5.jar icediscovery-compat-3.7.5.jar icegrid-compat-3.7.5.jar icelocatordiscovery-compat-3.7.5.jar -icepatch2-compat-3.7.5.jar icestorm-compat-3.7.5.jar ``` diff --git a/java-compat/build.gradle b/java-compat/build.gradle index dd00173142b..7f61747b4e4 100644 --- a/java-compat/build.gradle +++ b/java-compat/build.gradle @@ -65,6 +65,5 @@ if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java') dist.dependsOn(project(":icebox-compat").assemble) dist.dependsOn(project(":icediscovery-compat").assemble) dist.dependsOn(project(":icelocatordiscovery-compat").assemble) - dist.dependsOn(project(":icepatch2-compat").assemble) dist.dependsOn(project(":icestorm-compat").assemble) } diff --git a/java-compat/settings.gradle b/java-compat/settings.gradle index 990ab42ce42..ac1f159dedc 100644 --- a/java-compat/settings.gradle +++ b/java-compat/settings.gradle @@ -16,8 +16,6 @@ if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java') project(':icebox-compat').projectDir = new File('src/IceBox') include ':glacier2-compat' project(':glacier2-compat').projectDir = new File('src/Glacier2') - include ':icepatch2-compat' - project(':icepatch2-compat').projectDir = new File('src/IcePatch2') include ':icestorm-compat' project(':icestorm-compat').projectDir = new File('src/IceStorm') include ':icegrid-compat' diff --git a/java-compat/src/Ice/src/main/java/IceInternal/PropertyNames.java b/java-compat/src/Ice/src/main/java/IceInternal/PropertyNames.java index b974493637b..ccdecc39504 100644 --- a/java-compat/src/Ice/src/main/java/IceInternal/PropertyNames.java +++ b/java-compat/src/Ice/src/main/java/IceInternal/PropertyNames.java @@ -1,7 +1,7 @@ // // Copyright (c) ZeroC, Inc. All rights reserved. // -// Generated by makeprops.py from file ./config/PropertyNames.xml, Thu Jul 2 14:55:02 2020 +// Generated by makeprops.py from file ./config/PropertyNames.xml, Fri Jan 29 15:05:58 2021 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -1031,60 +1031,6 @@ public final class PropertyNames null }; - public static final Property IcePatch2Props[] = - { - new Property("IcePatch2\\.ACM\\.Timeout", false, null), - new Property("IcePatch2\\.ACM\\.Heartbeat", false, null), - new Property("IcePatch2\\.ACM\\.Close", false, null), - new Property("IcePatch2\\.ACM", false, null), - new Property("IcePatch2\\.AdapterId", false, null), - new Property("IcePatch2\\.Endpoints", false, null), - new Property("IcePatch2\\.Locator\\.EndpointSelection", false, null), - new Property("IcePatch2\\.Locator\\.ConnectionCached", false, null), - new Property("IcePatch2\\.Locator\\.PreferSecure", false, null), - new Property("IcePatch2\\.Locator\\.LocatorCacheTimeout", false, null), - new Property("IcePatch2\\.Locator\\.InvocationTimeout", false, null), - new Property("IcePatch2\\.Locator\\.Locator", false, null), - new Property("IcePatch2\\.Locator\\.Router", false, null), - new Property("IcePatch2\\.Locator\\.CollocationOptimized", false, null), - new Property("IcePatch2\\.Locator\\.Context\\.[^\\s]+", false, null), - new Property("IcePatch2\\.Locator", false, null), - new Property("IcePatch2\\.PublishedEndpoints", false, null), - new Property("IcePatch2\\.ReplicaGroupId", false, null), - new Property("IcePatch2\\.Router\\.EndpointSelection", false, null), - new Property("IcePatch2\\.Router\\.ConnectionCached", false, null), - new Property("IcePatch2\\.Router\\.PreferSecure", false, null), - new Property("IcePatch2\\.Router\\.LocatorCacheTimeout", false, null), - new Property("IcePatch2\\.Router\\.InvocationTimeout", false, null), - new Property("IcePatch2\\.Router\\.Locator", false, null), - new Property("IcePatch2\\.Router\\.Router", false, null), - new Property("IcePatch2\\.Router\\.CollocationOptimized", false, null), - new Property("IcePatch2\\.Router\\.Context\\.[^\\s]+", false, null), - new Property("IcePatch2\\.Router", false, null), - new Property("IcePatch2\\.ProxyOptions", false, null), - new Property("IcePatch2\\.ThreadPool\\.Size", false, null), - new Property("IcePatch2\\.ThreadPool\\.SizeMax", false, null), - new Property("IcePatch2\\.ThreadPool\\.SizeWarn", false, null), - new Property("IcePatch2\\.ThreadPool\\.StackSize", false, null), - new Property("IcePatch2\\.ThreadPool\\.Serialize", false, null), - new Property("IcePatch2\\.ThreadPool\\.ThreadIdleTime", false, null), - new Property("IcePatch2\\.ThreadPool\\.ThreadPriority", false, null), - new Property("IcePatch2\\.MessageSizeMax", false, null), - new Property("IcePatch2\\.Directory", false, null), - new Property("IcePatch2\\.InstanceName", false, null), - null - }; - - public static final Property IcePatch2ClientProps[] = - { - new Property("IcePatch2Client\\.ChunkSize", false, null), - new Property("IcePatch2Client\\.Directory", false, null), - new Property("IcePatch2Client\\.Proxy", false, null), - new Property("IcePatch2Client\\.Remove", false, null), - new Property("IcePatch2Client\\.Thorough", false, null), - null - }; - public static final Property IceSSLProps[] = { new Property("IceSSL\\.Alias", false, null), @@ -1344,8 +1290,6 @@ public final class PropertyNames IceBridgeProps, IceGridAdminProps, IceGridProps, - IcePatch2Props, - IcePatch2ClientProps, IceSSLProps, IceStormAdminProps, IceBTProps, @@ -1366,8 +1310,6 @@ public final class PropertyNames "IceBridge", "IceGridAdmin", "IceGrid", - "IcePatch2", - "IcePatch2Client", "IceSSL", "IceStormAdmin", "IceBT", diff --git a/java-compat/src/IcePatch2/build.gradle b/java-compat/src/IcePatch2/build.gradle deleted file mode 100644 index 974c52424ff..00000000000 --- a/java-compat/src/IcePatch2/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -project.ext.displayName = "IcePatch2 Compat" -project.ext.description = "File distribution and patching for Ice" - -slice { - java { - args = "--tie --checksum IcePatch2.SliceChecksums" - files = fileTree(dir: "$project.ext.topSrcDir/slice/IcePatch2", includes:['*.ice'], excludes:["*F.ice"]) - } -} - -dependencies { - implementation project(':ice-compat') -} - -apply from: "$project.ext.topSrcDir/java/gradle/library.gradle" diff --git a/java/README.md b/java/README.md index 0056a49ca08..ac9865a7a76 100644 --- a/java/README.md +++ b/java/README.md @@ -3,20 +3,24 @@ This page describes how to build and install Ice for Java from source. If you prefer, you can also download a [binary distribution][1]. -* [Build Requirements](#build-requirements) - * [Operating Systems](#operating-systems) - * [Slice to Java Compiler](#slice-to-java-compiler) - * [Java Version](#java-version) - * [Gradle](#gradle) - * [Bzip2 Compression](#bzip2-compression) - * [JGoodies](#jgoodies) - * [ProGuard](#proguard) - * [Java Application Bundler](#java-application-bundler) -* [Building Ice for Java](#building-ice-for-java-1) -* [Installing Ice for Java](#installing-ice-for-java) -* [Running the Java Tests](#running-the-java-tests) -* [Building the Ice for Android Tests](#building-the-ice-for-android-tests) -* [IceGrid GUI Tool](#icegrid-gui-tool) +- [Building Ice for Java](#building-ice-for-java) + - [Build Requirements](#build-requirements) + - [Operating Systems](#operating-systems) + - [Slice to Java Compiler](#slice-to-java-compiler) + - [Java Version](#java-version) + - [Gradle](#gradle) + - [Bzip2 Compression](#bzip2-compression) + - [JGoodies](#jgoodies) + - [ProGuard](#proguard) + - [Java Application Bundler](#java-application-bundler) + - [Building Ice for Java](#building-ice-for-java-1) + - [Installing Ice for Java](#installing-ice-for-java) + - [Running the Java Tests](#running-the-java-tests) + - [Building the Ice for Android Tests](#building-the-ice-for-android-tests) + - [Android Build Requirements](#android-build-requirements) + - [Building the Android Test Controller](#building-the-android-test-controller) + - [Running the Android Test Suite](#running-the-android-test-suite) + - [IceGrid GUI Tool](#icegrid-gui-tool) ## Build Requirements @@ -176,7 +180,6 @@ icediscovery-3.7.5.jar icegrid-3.7.5.jar icegridgui.jar icelocatordiscovery-3.7.5.jar -icepatch2-3.7.5.jar icessl-3.7.5.jar icestorm-3.7.5.jar ``` diff --git a/java/build.gradle b/java/build.gradle index f62f76c0cc2..db65571403d 100644 --- a/java/build.gradle +++ b/java/build.gradle @@ -62,7 +62,6 @@ if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java') ":icebox", ":icebt", ":icegrid", - ":icepatch2", ":icessl", ":icestorm" ] @@ -107,7 +106,6 @@ if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java') dist.dependsOn(project(":icebt").assemble) dist.dependsOn(project(":icediscovery").assemble) dist.dependsOn(project(":icelocatordiscovery").assemble) - dist.dependsOn(project(":icepatch2").assemble) dist.dependsOn(project(":icestorm").assemble) dist.dependsOn(project(":IceGridGUI").assemble) } diff --git a/java/settings.gradle b/java/settings.gradle index b5c45c7b2ad..f7ecda52820 100644 --- a/java/settings.gradle +++ b/java/settings.gradle @@ -18,8 +18,6 @@ if(!System.env.ICE_BIN_DIST?.split(" ").find{ it == 'all' || it.contains('java') project(':icebox').projectDir = new File('src/IceBox') include ':glacier2' project(':glacier2').projectDir = new File('src/Glacier2') - include ':icepatch2' - project(':icepatch2').projectDir = new File('src/IcePatch2') include ':icestorm' project(':icestorm').projectDir = new File('src/IceStorm') include ':icegrid' diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java b/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java index 6677d92cadc..cd52c3e604f 100644 --- a/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java +++ b/java/src/Ice/src/main/java/com/zeroc/Ice/Util.java @@ -780,7 +780,6 @@ public final class Util "::IceGrid::", "::IceLocatorDiscovery::", "::IceMX::", - "::IcePatch2::", "::IceStorm::" }; } diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java index 3ba05d0bde6..878ba11d9dd 100644 --- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java +++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/PropertyNames.java @@ -1,7 +1,7 @@ // // Copyright (c) ZeroC, Inc. All rights reserved. // -// Generated by makeprops.py from file ./config/PropertyNames.xml, Thu Jul 2 14:55:02 2020 +// Generated by makeprops.py from file ./config/PropertyNames.xml, Fri Jan 29 15:05:58 2021 // IMPORTANT: Do not edit this file -- any edits made here will be lost! @@ -1031,60 +1031,6 @@ public final class PropertyNames null }; - public static final Property IcePatch2Props[] = - { - new Property("IcePatch2\\.ACM\\.Timeout", false, null), - new Property("IcePatch2\\.ACM\\.Heartbeat", false, null), - new Property("IcePatch2\\.ACM\\.Close", false, null), - new Property("IcePatch2\\.ACM", false, null), - new Property("IcePatch2\\.AdapterId", false, null), - new Property("IcePatch2\\.Endpoints", false, null), - new Property("IcePatch2\\.Locator\\.EndpointSelection", false, null), - new Property("IcePatch2\\.Locator\\.ConnectionCached", false, null), - new Property("IcePatch2\\.Locator\\.PreferSecure", false, null), - new Property("IcePatch2\\.Locator\\.LocatorCacheTimeout", false, null), - new Property("IcePatch2\\.Locator\\.InvocationTimeout", false, null), - new Property("IcePatch2\\.Locator\\.Locator", false, null), - new Property("IcePatch2\\.Locator\\.Router", false, null), - new Property("IcePatch2\\.Locator\\.CollocationOptimized", false, null), - new Property("IcePatch2\\.Locator\\.Context\\.[^\\s]+", false, null), - new Property("IcePatch2\\.Locator", false, null), - new Property("IcePatch2\\.PublishedEndpoints", false, null), - new Property("IcePatch2\\.ReplicaGroupId", false, null), - new Property("IcePatch2\\.Router\\.EndpointSelection", false, null), - new Property("IcePatch2\\.Router\\.ConnectionCached", false, null), - new Property("IcePatch2\\.Router\\.PreferSecure", false, null), - new Property("IcePatch2\\.Router\\.LocatorCacheTimeout", false, null), - new Property("IcePatch2\\.Router\\.InvocationTimeout", false, null), - new Property("IcePatch2\\.Router\\.Locator", false, null), - new Property("IcePatch2\\.Router\\.Router", false, null), - new Property("IcePatch2\\.Router\\.CollocationOptimized", false, null), - new Property("IcePatch2\\.Router\\.Context\\.[^\\s]+", false, null), - new Property("IcePatch2\\.Router", false, null), - new Property("IcePatch2\\.ProxyOptions", false, null), - new Property("IcePatch2\\.ThreadPool\\.Size", false, null), - new Property("IcePatch2\\.ThreadPool\\.SizeMax", false, null), - new Property("IcePatch2\\.ThreadPool\\.SizeWarn", false, null), - new Property("IcePatch2\\.ThreadPool\\.StackSize", false, null), - new Property("IcePatch2\\.ThreadPool\\.Serialize", false, null), - new Property("IcePatch2\\.ThreadPool\\.ThreadIdleTime", false, null), - new Property("IcePatch2\\.ThreadPool\\.ThreadPriority", false, null), - new Property("IcePatch2\\.MessageSizeMax", false, null), - new Property("IcePatch2\\.Directory", false, null), - new Property("IcePatch2\\.InstanceName", false, null), - null - }; - - public static final Property IcePatch2ClientProps[] = - { - new Property("IcePatch2Client\\.ChunkSize", false, null), - new Property("IcePatch2Client\\.Directory", false, null), - new Property("IcePatch2Client\\.Proxy", false, null), - new Property("IcePatch2Client\\.Remove", false, null), - new Property("IcePatch2Client\\.Thorough", false, null), - null - }; - public static final Property IceSSLProps[] = { new Property("IceSSL\\.Alias", false, null), @@ -1344,8 +1290,6 @@ public final class PropertyNames IceBridgeProps, IceGridAdminProps, IceGridProps, - IcePatch2Props, - IcePatch2ClientProps, IceSSLProps, IceStormAdminProps, IceBTProps, @@ -1366,8 +1310,6 @@ public final class PropertyNames "IceBridge", "IceGridAdmin", "IceGrid", - "IcePatch2", - "IcePatch2Client", "IceSSL", "IceStormAdmin", "IceBT", diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ApplicationEditor.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ApplicationEditor.java index 3a36fd71e73..ffcf470757b 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ApplicationEditor.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ApplicationEditor.java @@ -88,22 +88,6 @@ class ApplicationEditor extends Editor // Variables // _variables = new SimpleMapField(this, false, "Name", "Value"); - - // - // Distrib - // - _distrib = new JComboBox(new Object[]{NO_DISTRIB, DEFAULT_DISTRIB}); - _distrib.setEditable(true); - _distrib.setToolTipText("The proxy to the IcePatch2 server holding your files"); - - JTextField distribTextField = (JTextField)_distrib.getEditor().getEditorComponent(); - distribTextField.getDocument().addDocumentListener(_updateListener); - - _distribDirs.getDocument().addDocumentListener(_updateListener); - _distribDirs.setToolTipText( - "<html>Include only these directories when patching.<br>" - + "Use whitespace as separator; use double-quotes around directories containing whitespaces</html>"); - } @Override @@ -134,15 +118,6 @@ class ApplicationEditor extends Editor builder.add(scrollPane, cc.xywh(builder.getColumn(), builder.getRow(), 3, 7)); builder.nextRow(6); builder.nextLine(); - - JComponent c = builder.appendSeparator("Distribution"); - c.setToolTipText("Files shared by all servers in your application"); - builder.append("IcePatch2 Proxy"); - builder.append(_distrib, 3); - builder.nextLine(); - builder.append("Directories"); - builder.append(_distribDirs, 3); - builder.nextLine(); } @Override @@ -164,16 +139,6 @@ class ApplicationEditor extends Editor descriptor.name = _name.getText().trim(); descriptor.variables = _variables.get(); descriptor.description = _description.getText(); - - if(_distrib.getSelectedItem() == NO_DISTRIB) - { - descriptor.distrib.icepatch = ""; - } - else - { - descriptor.distrib.icepatch = _distrib.getSelectedItem().toString().trim(); - } - descriptor.distrib.directories = _distribDirs.getList(); } @Override @@ -202,23 +167,6 @@ class ApplicationEditor extends Editor _variables.set(descriptor.variables, resolver, isEditable); - _distrib.setEnabled(true); - _distrib.setEditable(true); - String icepatch = Utils.substitute(descriptor.distrib.icepatch, resolver); - if(icepatch.equals("")) - { - _distrib.setSelectedItem(NO_DISTRIB); - } - else - { - _distrib.setSelectedItem(icepatch); - } - _distrib.setEnabled(isEditable); - _distrib.setEditable(isEditable); - - _distribDirs.setList(descriptor.distrib.directories, resolver); - _distribDirs.setEditable(isEditable); - _applyButton.setEnabled(false); _discardButton.setEnabled(false); detectUpdates(true); @@ -237,19 +185,7 @@ class ApplicationEditor extends Editor } } - static private final Object NO_DISTRIB = new Object() - { - @Override - public String toString() - { - return "None selected"; - } - }; - static private final String DEFAULT_DISTRIB = "${application}.IcePatch2/server"; - private JTextField _name = new JTextField(20); private JTextArea _description = new JTextArea(3, 20); private SimpleMapField _variables; - private JComboBox _distrib; - private ListTextField _distribDirs = new ListTextField(20); } diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PlainServer.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PlainServer.java index 0a9aa8446c0..f157682454e 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PlainServer.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/PlainServer.java @@ -27,8 +27,6 @@ class PlainServer extends Communicator implements Server copy.propertySet = PropertySet.copyDescriptor(copy.propertySet); - copy.distrib = copy.distrib.clone(); - if(copy instanceof IceBoxDescriptor) { IceBoxDescriptor ib = (IceBoxDescriptor)copy; @@ -52,9 +50,6 @@ class PlainServer extends Communicator implements Server into.activation = from.activation; into.activationTimeout = from.activationTimeout; into.deactivationTimeout = from.deactivationTimeout; - into.applicationDistrib = from.applicationDistrib; - into.distrib.icepatch = from.distrib.icepatch; - into.distrib.directories = from.distrib.directories; } static public ServerDescriptor newServerDescriptor() @@ -74,8 +69,6 @@ class PlainServer extends Communicator implements Server "manual", "", "", - true, - new DistributionDescriptor("", new java.util.LinkedList<String>()), false, // Allocatable ""); } @@ -97,8 +90,6 @@ class PlainServer extends Communicator implements Server "manual", "", "", - true, - new DistributionDescriptor("", new java.util.LinkedList<String>()), false, // Allocatable "", new java.util.LinkedList<ServiceInstanceDescriptor>() @@ -239,7 +230,6 @@ class PlainServer extends Communicator implements Server public Object saveDescriptor() { ServerDescriptor clone = _descriptor.clone(); - clone.distrib = clone.distrib.clone(); return clone; } @@ -289,10 +279,6 @@ class PlainServer extends Communicator implements Server { attributes.add(createAttribute("activation-timeout", descriptor.activationTimeout)); } - if(!descriptor.applicationDistrib) - { - attributes.add(createAttribute("application-distrib", "false")); - } if(descriptor.deactivationTimeout.length() > 0) { attributes.add(createAttribute("deactivation-timeout", descriptor.deactivationTimeout)); @@ -350,7 +336,6 @@ class PlainServer extends Communicator implements Server writePropertySet(writer, "", "", _descriptor.propertySet, _descriptor.adapters, _descriptor.logs); writeLogs(writer, _descriptor.logs, _descriptor.propertySet.properties); - writeDistribution(writer, _descriptor.distrib); _adapters.write(writer, _descriptor.propertySet.properties); _services.write(writer); @@ -370,7 +355,6 @@ class PlainServer extends Communicator implements Server writePropertySet(writer, _descriptor.propertySet, _descriptor.adapters, _descriptor.logs); writeLogs(writer, _descriptor.logs, _descriptor.propertySet.properties); - writeDistribution(writer, _descriptor.distrib); _adapters.write(writer, _descriptor.propertySet.properties); _dbEnvs.write(writer); diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/Root.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/Root.java index 5e08f5d8776..ef0bf55510d 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/Root.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/Root.java @@ -74,7 +74,6 @@ public class Root extends ListTreeNode _origVariables = _descriptor.variables; _origDescription = _descriptor.description; - _origDistrib = _descriptor.distrib.clone(); _propertySets = new PropertySets(this, _descriptor.propertySets); _replicaGroups = new ReplicaGroups(this, _descriptor.replicaGroups); @@ -114,7 +113,6 @@ public class Root extends ListTreeNode copy.nodes = Nodes.copyDescriptors(copy.nodes); - copy.distrib = copy.distrib.clone(); return copy; } @@ -837,14 +835,6 @@ public class Root extends ListTreeNode } } update.removeVariables = removeVariables.toArray(new String[0]); - - // - // Diff distribution - // - if(!_descriptor.distrib.equals(_origDistrib)) - { - update.distrib = new com.zeroc.IceGrid.BoxedDistributionDescriptor(_descriptor.distrib); - } } else { @@ -916,7 +906,6 @@ public class Root extends ListTreeNode _editable.commit(); _origVariables = _descriptor.variables; _origDescription = _descriptor.description; - _origDistrib = _descriptor.distrib.clone(); _nodes.commit(); _propertySets.commit(); @@ -1018,15 +1007,6 @@ public class Root extends ListTreeNode _descriptor.variables.putAll(desc.variables); // - // Distrib - // - if(desc.distrib != null) - { - _descriptor.distrib = desc.distrib.value; - _origDistrib = _descriptor.distrib.clone(); - } - - // // Property Sets // for(String id : desc.removePropertySets) @@ -1211,7 +1191,6 @@ public class Root extends ListTreeNode ApplicationDescriptor saveDescriptor() { ApplicationDescriptor clone = _descriptor.clone(); - clone.distrib = clone.distrib.clone(); return clone; } @@ -1219,8 +1198,6 @@ public class Root extends ListTreeNode { _descriptor.name = clone.name; _descriptor.variables = clone.variables; - _descriptor.distrib.icepatch = clone.distrib.icepatch; - _descriptor.distrib.directories = clone.distrib.directories; _descriptor.description = clone.description; } @@ -1240,7 +1217,6 @@ public class Root extends ListTreeNode writer.writeElement("description", _descriptor.description); } writeVariables(writer, _descriptor.variables); - writeDistribution(writer, _descriptor.distrib); _serviceTemplates.write(writer); _serverTemplates.write(writer); @@ -1457,7 +1433,6 @@ public class Root extends ListTreeNode // private java.util.Map<String, String> _origVariables; private String _origDescription; - private DistributionDescriptor _origDistrib; // // When this application (and children) is being updated, we diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerSubEditor.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerSubEditor.java index 5cdcce37c51..39ba458a22e 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerSubEditor.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerSubEditor.java @@ -90,31 +90,6 @@ class ServerSubEditor extends CommunicatorSubEditor "<html>Check this box to ensure that the well-known objects<br>" + "of this server can only be allocated by one session at a time.</html>"); _allocatable = new JCheckBox(allocatable); - - Action appDistrib = new AbstractAction("Depends on the application distribution") - { - @Override - public void actionPerformed(ActionEvent e) - { - _mainEditor.updated(); - } - }; - appDistrib.putValue(Action.SHORT_DESCRIPTION, - "<html>Check this box if this server needs to be restarted<br>" - + "each time the distribution for your application is refreshed.</html>"); - - _applicationDistrib = new JCheckBox(appDistrib); - - _distrib = new JComboBox(new Object[]{NO_DISTRIB, DEFAULT_DISTRIB}); - _distrib.setToolTipText("The proxy to the IcePatch2 server holding your files"); - - JTextField distribTextField = (JTextField)_distrib.getEditor().getEditorComponent(); - distribTextField.getDocument().addDocumentListener(_mainEditor.getUpdateListener()); - - _distribDirs.getDocument().addDocumentListener(_mainEditor.getUpdateListener()); - _distribDirs.setToolTipText( - "<html>Include only these directories when patching.<br>" - + "Use whitespace as separator; use double-quotes around directories containing whitespaces</html>"); } ServerDescriptor getServerDescriptor() @@ -175,18 +150,6 @@ class ServerSubEditor extends CommunicatorSubEditor builder.nextLine(); builder.append("", _allocatable); builder.nextLine(); - - JComponent c = builder.appendSeparator("Distribution"); - c.setToolTipText("Files specific to this server"); - - builder.append("", _applicationDistrib); - builder.nextLine(); - builder.append("IcePatch2 Proxy"); - builder.append(_distrib, 3); - builder.nextLine(); - builder.append("Directories"); - builder.append(_distribDirs, 3); - builder.nextLine(); } void writeDescriptor() @@ -212,18 +175,6 @@ class ServerSubEditor extends CommunicatorSubEditor descriptor.allocatable = _allocatable.isSelected(); - descriptor.applicationDistrib = _applicationDistrib.isSelected(); - - if(_distrib.getSelectedItem() == NO_DISTRIB) - { - descriptor.distrib.icepatch = ""; - } - else - { - descriptor.distrib.icepatch = _distrib.getSelectedItem().toString().trim(); - } - descriptor.distrib.directories = _distribDirs.getList(); - super.writeDescriptor(descriptor); } @@ -321,26 +272,6 @@ class ServerSubEditor extends CommunicatorSubEditor _allocatable.setSelected(descriptor.allocatable); _allocatable.setEnabled(isEditable); - _applicationDistrib.setSelected(descriptor.applicationDistrib); - _applicationDistrib.setEnabled(isEditable); - - _distrib.setEnabled(true); - _distrib.setEditable(true); - String icepatch = Utils.substitute(descriptor.distrib.icepatch, detailResolver); - if(icepatch.equals("")) - { - _distrib.setSelectedItem(NO_DISTRIB); - } - else - { - _distrib.setSelectedItem(icepatch); - } - _distrib.setEnabled(isEditable); - _distrib.setEditable(isEditable); - - _distribDirs.setList(descriptor.distrib.directories, detailResolver); - _distribDirs.setEditable(isEditable); - show(descriptor, isEditable); } @@ -349,17 +280,6 @@ class ServerSubEditor extends CommunicatorSubEditor static private final String ON_DEMAND = "on-demand"; static private final String SESSION = "session"; - static private final Object NO_DISTRIB = new Object() - { - @Override - public String toString() - { - return "None selected"; - } - }; - - static private final String DEFAULT_DISTRIB = "${application}.IcePatch2/server"; - private JTextField _id = new JTextField(20); private JTextField _exe = new JTextField(20); private JTextField _iceVersion = new JTextField(20); @@ -372,7 +292,4 @@ class ServerSubEditor extends CommunicatorSubEditor private JTextField _activationTimeout = new JTextField(20); private JTextField _deactivationTimeout = new JTextField(20); private JCheckBox _allocatable; - private JCheckBox _applicationDistrib; - private JComboBox _distrib; - private ListTextField _distribDirs = new ListTextField(20); } diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerTemplate.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerTemplate.java index feac5a1dad2..21780277fe6 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerTemplate.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/ServerTemplate.java @@ -256,7 +256,6 @@ class ServerTemplate extends Communicator writePropertySet(writer, "", "", descriptor.propertySet, descriptor.adapters, descriptor.logs); writeLogs(writer, descriptor.logs, descriptor.propertySet.properties); - writeDistribution(writer, descriptor.distrib); _adapters.write(writer, descriptor.propertySet.properties); _services.write(writer); @@ -277,7 +276,6 @@ class ServerTemplate extends Communicator writePropertySet(writer, descriptor.propertySet, descriptor.adapters, descriptor.logs); writeLogs(writer, descriptor.logs, descriptor.propertySet.properties); - writeDistribution(writer, descriptor.distrib); _adapters.write(writer, descriptor.propertySet.properties); _dbEnvs.write(writer); diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java index 40bcebcaf34..6f45c45d2d7 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Application/TreeNode.java @@ -225,30 +225,6 @@ public abstract class TreeNode extends TreeNodeBase return null; } - static void writeDistribution(XMLWriter writer, DistributionDescriptor descriptor) - throws java.io.IOException - { - if(descriptor.icepatch.length() > 0) - { - java.util.List<String[]> attributes = new java.util.LinkedList<>(); - attributes.add(createAttribute("icepatch", descriptor.icepatch)); - - if(descriptor.directories.isEmpty()) - { - writer.writeElement("distrib", attributes); - } - else - { - writer.writeStartTag("distrib", attributes); - for(String p : descriptor.directories) - { - writer.writeElement("directory", p); - } - writer.writeEndTag("distrib"); - } - } - } - static void writeObjects(String elt, XMLWriter writer, java.util.List<ObjectDescriptor> objects, java.util.List<PropertyDescriptor> properties) throws java.io.IOException diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java index 22a8f990268..f87a848ae85 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/Coordinator.java @@ -402,7 +402,6 @@ public class Coordinator _appMenu = new JMenu("Application"); _appMenu.setEnabled(false); toolsMenu.add(_appMenu); - _appMenu.add(_patchApplication); _appMenu.add(_showApplicationDetails); _appMenu.add(_showLiveDeploymentFilters); _appMenu.addSeparator(); @@ -461,8 +460,6 @@ public class Coordinator _serverMenu.add(_liveActionsForMenu.get(com.zeroc.IceGridGUI.LiveDeployment.TreeNode.ENABLE)); _serverMenu.add(_liveActionsForMenu.get(com.zeroc.IceGridGUI.LiveDeployment.TreeNode.DISABLE)); _serverMenu.addSeparator(); - _serverMenu.add(_liveActionsForMenu.get(com.zeroc.IceGridGUI.LiveDeployment.TreeNode.PATCH_SERVER)); - _serverMenu.addSeparator(); _serverMenu.add(_liveActionsForMenu.get(com.zeroc.IceGridGUI.LiveDeployment.TreeNode.WRITE_MESSAGE)); _serverMenu.add(_liveActionsForMenu.get(com.zeroc.IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_ICE_LOG)); _serverMenu.add(_liveActionsForMenu.get(com.zeroc.IceGridGUI.LiveDeployment.TreeNode.RETRIEVE_STDOUT)); @@ -1226,7 +1223,6 @@ public class Coordinator _logout.setEnabled(false); _showLiveDeploymentFilters.setEnabled(false); _openApplicationFromRegistry.setEnabled(false); - _patchApplication.setEnabled(false); _showApplicationDetails.setEnabled(false); _removeApplicationFromRegistry.setEnabled(false); _appMenu.setEnabled(false); @@ -1702,7 +1698,6 @@ public class Coordinator _logout.setEnabled(true); _showLiveDeploymentFilters.setEnabled(true); _openApplicationFromRegistry.setEnabled(true); - _patchApplication.setEnabled(true); _showApplicationDetails.setEnabled(true); _removeApplicationFromRegistry.setEnabled(true); _appMenu.setEnabled(true); @@ -2937,38 +2932,6 @@ public class Coordinator } }; - _patchApplication = new AbstractAction("Patch Distribution") - { - @Override - public void actionPerformed(ActionEvent e) - { - Object[] applicationNames = _liveDeploymentRoot.getPatchableApplicationNames(); - - if(applicationNames.length == 0) - { - JOptionPane.showMessageDialog( - _mainFrame, - "No application in this IceGrid registry can be patched", - "No application", - JOptionPane.INFORMATION_MESSAGE); - } - else - { - String appName = (String)JOptionPane.showInputDialog( - _mainFrame, "Which application do you want to patch?", - "Patch application", - JOptionPane.QUESTION_MESSAGE, null, - applicationNames, applicationNames[0]); - - if(appName != null) - { - _liveDeploymentRoot.patch(appName); - } - } - } - }; - _patchApplication.setEnabled(false); - _showApplicationDetails = new AbstractAction("Show details") { @Override @@ -3167,8 +3130,6 @@ public class Coordinator new java.util.HashMap<String, TemplateDescriptor>(), new java.util.HashMap<String, TemplateDescriptor>(), new java.util.HashMap<String, NodeDescriptor>(), - new DistributionDescriptor( - "", new java.util.LinkedList<String>()), "", new java.util.HashMap<String, PropertySetDescriptor>()); com.zeroc.IceGridGUI.Application.Root root = new com.zeroc.IceGridGUI.Application.Root(this, desc); @@ -3832,7 +3793,6 @@ public class Coordinator private Action _forward; private Action _helpContents; private Action _about; - private Action _patchApplication; private Action _showApplicationDetails; private Action _removeApplicationFromRegistry; diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveActions.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveActions.java index 5ab1f3e133e..5b8d4b353bb 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveActions.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveActions.java @@ -176,15 +176,6 @@ public class LiveActions } }; - _array[TreeNode.PATCH_SERVER] = new AbstractAction("Patch Distribution") - { - @Override - public void actionPerformed(ActionEvent e) - { - _target.patchServer(); - } - }; - _array[TreeNode.ADD_OBJECT] = new AbstractAction("Add Well-known Object") { @Override diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/RegistryEditor.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/RegistryEditor.java index ab5657e81ee..c26e0c41039 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/RegistryEditor.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/RegistryEditor.java @@ -61,20 +61,6 @@ class RegistryEditor extends CommunicatorEditor } }; - final Action patch = new AbstractAction("Patch distribution") - { - @Override - public void actionPerformed(ActionEvent e) - { - int selectedRow = _applications.getSelectedRow(); - if(selectedRow != -1) - { - String appName = (String)_applications.getValueAt(selectedRow, 0); - ((Root)_target).patch(appName); - } - } - }; - Action removeApplication = new AbstractAction("Remove from registry") { @Override @@ -109,8 +95,6 @@ class RegistryEditor extends CommunicatorEditor appPopup.add(openDefinition); appPopup.add(showDetails); appPopup.addSeparator(); - appPopup.add(patch); - appPopup.addSeparator(); appPopup.add(removeApplication); _applications.addMouseListener(new MouseAdapter() @@ -148,7 +132,6 @@ class RegistryEditor extends CommunicatorEditor { String appName = (String)_applications.getValueAt(selectedRow, 0); ApplicationDescriptor desc = ((Root)_target).getApplicationDescriptor(appName); - patch.setEnabled(desc != null && desc.distrib.icepatch.length() > 0); appPopup.show(_applications, e.getX(), e.getY()); } } diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java index d413c4d4169..6a9ce88e726 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Root.java @@ -239,21 +239,6 @@ public class Root extends Communicator return _infoMap.keySet().toArray(); } - public Object[] getPatchableApplicationNames() - { - java.util.List<String> result = new java.util.ArrayList<>(); - - for(java.util.Map.Entry<String, ApplicationInfo> p : _infoMap.entrySet()) - { - ApplicationInfo app = p.getValue(); - if(app.descriptor.distrib.icepatch.length() > 0) - { - result.add(p.getKey()); - } - } - return result.toArray(); - } - public java.util.SortedMap<String, String> getApplicationMap() { java.util.SortedMap<String, String> r = new java.util.TreeMap<>(); @@ -337,39 +322,6 @@ public class Root extends Communicator _editor = null; } - public void patch(final String applicationName) - { - int shutdown = JOptionPane.showConfirmDialog( - _coordinator.getMainFrame(), - "You are about to install or refresh your application distribution.\n" - + " Do you want shut down all servers affected by this update?", - "Patch Confirmation", - JOptionPane.YES_NO_CANCEL_OPTION); - - if(shutdown == JOptionPane.CANCEL_OPTION) - { - return; - } - - final String prefix = "Patching application '" + applicationName + "'..."; - final String errorTitle = "Failed to patch '" + applicationName; - - _coordinator.getStatusBar().setText(prefix); - try - { - final AdminPrx admin = _coordinator.getAdmin(); - admin.patchApplicationAsync(applicationName, shutdown == JOptionPane.YES_OPTION).whenComplete( - (result, ex) -> - { - amiComplete(prefix, errorTitle, ex); - }); - } - catch(com.zeroc.Ice.LocalException ex) - { - failure(prefix, errorTitle, ex.toString()); - } - } - public void showApplicationDetails(String appName) { ApplicationInfo app = _infoMap.get(appName); @@ -449,10 +401,6 @@ public class Root extends Communicator { appDesc.description = update.descriptor.description.value; } - if(update.descriptor.distrib != null) - { - appDesc.distrib = update.descriptor.distrib.value; - } appDesc.variables.keySet().removeAll(java.util.Arrays.asList(update.descriptor.removeVariables)); appDesc.variables.putAll(update.descriptor.variables); diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Server.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Server.java index 0bc9900152c..6b8e4d46f13 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Server.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/Server.java @@ -42,8 +42,6 @@ public class Server extends Communicator actions[RETRIEVE_STDERR] = true; actions[RETRIEVE_LOG_FILE] = _serverDescriptor.logs.length > 0; - actions[PATCH_SERVER] = !_serverDescriptor.distrib.icepatch.equals(""); - if(_state != ServerState.Inactive) { Node node = (Node)_parent; @@ -252,45 +250,6 @@ public class Server extends Communicator } } - @Override - public void patchServer() - { - String message = _serverDescriptor.applicationDistrib ? - "You are about to install or refresh your" - + " server distribution and your application distribution onto this node.\n" - + "Do you want shut down all servers affected by this update?" : - "You are about to install or refresh the distribution for this server.\n" - + "Do you want to shut down the server for this update?"; - - int shutdown = JOptionPane.showConfirmDialog( - getCoordinator().getMainFrame(), - message, - "Patch Confirmation", - JOptionPane.YES_NO_CANCEL_OPTION); - - if(shutdown == JOptionPane.CANCEL_OPTION) - { - return; - } - - final String prefix = "Patching server '" + _id + "'..."; - final String errorTitle = "Failed to patch " + _id; - - getCoordinator().getStatusBar().setText(prefix); - try - { - final AdminPrx admin = getCoordinator().getAdmin(); - admin.patchServerAsync(_id, shutdown == JOptionPane.YES_OPTION).whenComplete((result, ex) -> - { - amiComplete(prefix, errorTitle, ex); - }); - } - catch(com.zeroc.Ice.LocalException ex) - { - failure(prefix, errorTitle, ex.toString()); - } - } - private void enableServer(boolean enable) { final String prefix = (enable ? "Enabling" : "Disabling") + " server '" + _id + "'..."; @@ -335,8 +294,6 @@ public class Server extends Communicator _popup.add(la.get(ENABLE)); _popup.add(la.get(DISABLE)); _popup.addSeparator(); - _popup.add(la.get(PATCH_SERVER)); - _popup.addSeparator(); _popup.add(la.get(WRITE_MESSAGE)); _popup.add(la.get(RETRIEVE_ICE_LOG)); _popup.add(la.get(RETRIEVE_STDOUT)); diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/ServerEditor.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/ServerEditor.java index e94b5623391..fdb2da812dc 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/ServerEditor.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/ServerEditor.java @@ -57,9 +57,6 @@ class ServerEditor extends CommunicatorEditor _user.setEditable(false); _allocatable.setEnabled(false); - _applicationDistrib.setEnabled(false); - _icepatch.setEditable(false); - _directories.setEditable(false); Action gotoApplication = new AbstractAction("", Utils.getIcon("/icons/16x16/goto.png")) { @@ -145,21 +142,6 @@ class ServerEditor extends CommunicatorEditor _deactivationTimeout.setText(resolver.substitute(descriptor.deactivationTimeout)); _allocatable.setSelected(descriptor.allocatable); - - _applicationDistrib.setSelected(descriptor.applicationDistrib); - _icepatch.setText(resolver.substitute(resolver.substitute(descriptor.distrib.icepatch))); - - r = Utils.stringify(descriptor.distrib.directories, stringifier, ", "); - _directories.setText(r.returnValue); - - String toolTip = "<html>Include only these directories"; - - if(r.toolTip != null) - { - toolTip += ":<br>" + r.toolTip; - } - toolTip += "</html>"; - _directories.setToolTipText(toolTip); } @Override @@ -227,18 +209,6 @@ class ServerEditor extends CommunicatorEditor builder.nextLine(); builder.append("", _allocatable); builder.nextLine(); - - JComponent c = builder.appendSeparator("Distribution"); - c.setToolTipText("Files specific to this server"); - - builder.append("", _applicationDistrib); - builder.nextLine(); - builder.append("IcePatch2 Proxy"); - builder.append(_icepatch, 3); - builder.nextLine(); - builder.append("Directories"); - builder.append(_directories, 3); - builder.nextLine(); } @Override @@ -289,10 +259,6 @@ class ServerEditor extends CommunicatorEditor private TableField _envs = new TableField("Name", "Value"); private JTextField _options = new JTextField(20); - private JCheckBox _applicationDistrib = new JCheckBox("Depends on the application distribution"); - - private JTextField _icepatch = new JTextField(20); - private JTextField _directories = new JTextField(20); private JToolBar _toolBar; } diff --git a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TreeNode.java b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TreeNode.java index f3ab3420331..4c16ddc358c 100644 --- a/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TreeNode.java +++ b/java/src/IceGridGUI/src/main/java/com/zeroc/IceGridGUI/LiveDeployment/TreeNode.java @@ -50,19 +50,17 @@ public abstract class TreeNode extends TreeNodeBase public static final int SHUTDOWN_NODE = 16; public static final int SHUTDOWN_REGISTRY = 17; - public static final int PATCH_SERVER = 18; + public static final int ADD_OBJECT = 18; - public static final int ADD_OBJECT = 19; + public static final int OPEN_DEFINITION = 19; - public static final int OPEN_DEFINITION = 20; + public static final int ENABLE_METRICS_VIEW = 20; + public static final int DISABLE_METRICS_VIEW = 21; - public static final int ENABLE_METRICS_VIEW = 21; - public static final int DISABLE_METRICS_VIEW = 22; + public static final int START_ALL_SERVERS = 22; + public static final int STOP_ALL_SERVERS = 23; - public static final int START_ALL_SERVERS = 23; - public static final int STOP_ALL_SERVERS = 24; - - public static final int ACTION_COUNT = 25; + public static final int ACTION_COUNT = 24; public boolean[] getAvailableActions() { @@ -113,10 +111,6 @@ public abstract class TreeNode extends TreeNodeBase { assert false; } - public void patchServer() - { - assert false; - } public void addObject() { assert false; @@ -188,21 +182,6 @@ public abstract class TreeNode extends TreeNodeBase { amiFailure(prefix, title, "This application was not registered with the IceGrid Registry"); } - else if(e instanceof com.zeroc.IceGrid.PatchException) - { - com.zeroc.IceGrid.PatchException pe = (com.zeroc.IceGrid.PatchException)e; - - String message = ""; - for(String s : pe.reasons) - { - if(message.length() > 0) - { - message += "\n"; - } - message += s; - } - amiFailure(prefix, title, message); - } else if(e instanceof com.zeroc.IceGrid.NodeNotExistException) { com.zeroc.IceGrid.NodeNotExistException nnee = (com.zeroc.IceGrid.NodeNotExistException)e; diff --git a/java/src/IcePatch2/build.gradle b/java/src/IcePatch2/build.gradle deleted file mode 100644 index 692f8793286..00000000000 --- a/java/src/IcePatch2/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -project.ext.displayName = "IcePatch2" -project.ext.moduleName = "com.zeroc.icepatch2" -project.ext.description = "File distribution and patching for Ice" - -slice { - java { - args = "--checksum com.zeroc.IcePatch2.SliceChecksums" - files = fileTree(dir: "$project.ext.topSrcDir/slice/IcePatch2", includes:['*.ice'], excludes:["*F.ice"]) - } -} - -dependencies { - implementation project(':ice') -} - -apply from: "$project.ext.topSrcDir/java/gradle/library.gradle" diff --git a/java/src/IcePatch2/src/main/java/com/zeroc/IcePatch2/package-info.java b/java/src/IcePatch2/src/main/java/com/zeroc/IcePatch2/package-info.java deleted file mode 100644 index 88bccd377bd..00000000000 --- a/java/src/IcePatch2/src/main/java/com/zeroc/IcePatch2/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -/** - * APIs for clients of the IcePatch2 file patching service. - **/ -package com.zeroc.IcePatch2; diff --git a/java/src/IcePatch2/src/main/java/module-info.java b/java/src/IcePatch2/src/main/java/module-info.java deleted file mode 100644 index 23cb28da5ff..00000000000 --- a/java/src/IcePatch2/src/main/java/module-info.java +++ /dev/null @@ -1,9 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -module com.zeroc.icepatch2 { - exports com.zeroc.IcePatch2; - - requires transitive com.zeroc.ice; -} diff --git a/js/package-lock.json b/js/package-lock.json index bbce3ad2247..8670085e879 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -1,8 +1,7726 @@ { "name": "ice", "version": "3.7.5", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "ice", + "version": "3.7.5", + "license": "GPL-2.0", + "devDependencies": { + "@babel/cli": "^7.12.10", + "@babel/core": "^7.12.10", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/preset-env": "^7.12.11", + "babel-plugin-rewrite-require": "^1.14.5", + "core-js": "^3.8.2", + "core-js-bundle": "^3.8.2", + "del": "^6.0.0", + "esprima": "^4.0.1", + "gulp": "^4.0.2", + "gulp-babel": "^8.0.0", + "gulp-concat": "^2.6.1", + "gulp-ext-replace": "^0.3.0", + "gulp-gzip": "^1.4.2", + "gulp-ice-builder": "^3.0.4", + "gulp-newer": "^1.4.0", + "gulp-rename": "^2.0.0", + "gulp-sourcemaps": "^3.0.0", + "gulp-terser": "^2.0.1", + "gulp-typescript": "^5.0.1", + "gulp-uglifyes": "^0.2.1", + "hogan.js": "^3.0.2", + "http-proxy": "^1.18.1", + "jshint": "^2.12.0", + "plugin-error": "^1.0.1", + "pump": "^3.0.0", + "regenerator-runtime": "^0.13.7", + "rollup": "^2.36.1", + "source-map": "^0.7.3", + "through2": "^4.0.2", + "typescript": "^4.1.3", + "typescript-formatter": "^7.2.2", + "vinyl": "^2.2.1", + "vinyl-paths": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.12.10.tgz", + "integrity": "sha512-+y4ZnePpvWs1fc/LhZRTHkTesbXkyBYuOB+5CyodZqrEuETXi3zOVfpAQIdgC3lXbHLTDG9dQosxR9BhvLKDLQ==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.0.0", + "lodash": "^4.17.19", + "make-dir": "^2.1.0", + "slash": "^2.0.0", + "source-map": "^0.5.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", + "chokidar": "^3.4.0" + } + }, + "node_modules/@babel/cli/node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "optional": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "node_modules/@babel/cli/node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "optional": true + }, + "node_modules/@babel/cli/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "dependencies": { + "fill-range": "^7.0.1" + } + }, + "node_modules/@babel/cli/node_modules/chokidar": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.0.tgz", + "integrity": "sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q==", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "node_modules/@babel/cli/node_modules/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, + "optional": true, + "dependencies": { + "to-regex-range": "^5.0.1" + } + }, + "node_modules/@babel/cli/node_modules/fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true + }, + "node_modules/@babel/cli/node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^4.0.1" + } + }, + "node_modules/@babel/cli/node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^2.0.0" + } + }, + "node_modules/@babel/cli/node_modules/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, + "optional": true + }, + "node_modules/@babel/cli/node_modules/readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "optional": true, + "dependencies": { + "picomatch": "^2.2.1" + } + }, + "node_modules/@babel/cli/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/cli/node_modules/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, + "optional": true, + "dependencies": { + "is-number": "^7.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", + "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", + "dev": true + }, + "node_modules/@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/core/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/core/node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/core/node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", + "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", + "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", + "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.12.5", + "@babel/helper-validator-option": "^7.12.1", + "browserslist": "^4.14.5", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + } + }, + "node_modules/@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", + "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", + "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.10" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.11" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/helper-replace-supers/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/helper-replace-supers/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.12.1" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", + "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.11.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", + "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "dev": true + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", + "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", + "dev": true + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "node_modules/@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.7.tgz", + "integrity": "sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", + "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", + "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", + "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", + "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", + "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", + "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", + "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", + "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", + "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", + "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", + "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", + "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", + "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", + "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.12.7", + "@babel/helper-compilation-targets": "^7.12.5", + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-option": "^7.12.11", + "@babel/plugin-proposal-async-generator-functions": "^7.12.1", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-dynamic-import": "^7.12.1", + "@babel/plugin-proposal-export-namespace-from": "^7.12.1", + "@babel/plugin-proposal-json-strings": "^7.12.1", + "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-numeric-separator": "^7.12.7", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.12.1", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-async-to-generator": "^7.12.1", + "@babel/plugin-transform-block-scoped-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.11", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-computed-properties": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-dotall-regex": "^7.12.1", + "@babel/plugin-transform-duplicate-keys": "^7.12.1", + "@babel/plugin-transform-exponentiation-operator": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-function-name": "^7.12.1", + "@babel/plugin-transform-literals": "^7.12.1", + "@babel/plugin-transform-member-expression-literals": "^7.12.1", + "@babel/plugin-transform-modules-amd": "^7.12.1", + "@babel/plugin-transform-modules-commonjs": "^7.12.1", + "@babel/plugin-transform-modules-systemjs": "^7.12.1", + "@babel/plugin-transform-modules-umd": "^7.12.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", + "@babel/plugin-transform-new-target": "^7.12.1", + "@babel/plugin-transform-object-super": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-property-literals": "^7.12.1", + "@babel/plugin-transform-regenerator": "^7.12.1", + "@babel/plugin-transform-reserved-words": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/plugin-transform-sticky-regex": "^7.12.7", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/plugin-transform-typeof-symbol": "^7.12.10", + "@babel/plugin-transform-unicode-escapes": "^7.12.1", + "@babel/plugin-transform-unicode-regex": "^7.12.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.12.11", + "core-js-compat": "^3.8.0", + "semver": "^5.5.0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/preset-env/node_modules/@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", + "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "node_modules/@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "node_modules/@babel/traverse": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.9.tgz", + "integrity": "sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.7.tgz", + "integrity": "sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + } + }, + "node_modules/@gulp-sourcemaps/identity-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-2.0.1.tgz", + "integrity": "sha512-Tb+nSISZku+eQ4X1lAkevcQa+jknn/OVUgZ3XCxEKIsLsqYuPoJwJOPQeaOk75X3WPftb29GWY1eqE7GLsXb1Q==", + "dev": true, + "dependencies": { + "acorn": "^6.4.1", + "normalize-path": "^3.0.0", + "postcss": "^7.0.16", + "source-map": "^0.6.0", + "through2": "^3.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@gulp-sourcemaps/identity-map/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/@gulp-sourcemaps/map-sources": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz", + "integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=", + "dev": true, + "dependencies": { + "normalize-path": "^2.0.1", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/@gulp-sourcemaps/map-sources/node_modules/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, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@gulp-sourcemaps/map-sources/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.tgz", + "integrity": "sha512-+nb9vWloHNNMFHjGofEam3wopE3m1yuambrrd/fnPc+lFOMB9ROTqQlche9ByFWNkdNqfSgR/kkQtQ8DzEWt2w==", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "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" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", + "dev": true, + "dependencies": { + "ansi-wrap": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "dev": true, + "dependencies": { + "ansi-wrap": "0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/anymatch/node_modules/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, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "dev": true, + "dependencies": { + "buffer-equal": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "dev": true, + "dependencies": { + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "dev": true, + "dependencies": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", + "dev": true, + "dependencies": { + "is-number": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", + "dev": true, + "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-sort/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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 + }, + "node_modules/async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "dev": true, + "dependencies": { + "async-done": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-rewrite-require": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/babel-plugin-rewrite-require/-/babel-plugin-rewrite-require-1.14.5.tgz", + "integrity": "sha1-NsoZACsUW74X+mmLaKiD4414ttk=", + "dev": true + }, + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "dev": true, + "dependencies": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/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, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/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 + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001173", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", + "integrity": "sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "dependencies": { + "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" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/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, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/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, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", + "dev": true, + "dependencies": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "engines": { + "node": ">=0.2.5" + } + }, + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", + "dev": true + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "dev": true, + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commandpost": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/commandpost/-/commandpost-1.4.0.tgz", + "integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==", + "dev": true + }, + "node_modules/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 + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/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, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/concat-with-sourcemaps/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/copy-props": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.4.tgz", + "integrity": "sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A==", + "dev": true, + "dependencies": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, + "node_modules/core-js": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz", + "integrity": "sha512-FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-js-bundle": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.8.2.tgz", + "integrity": "sha512-pTwrW41+ISaAY9JbJISKdTpOCZ+vMdM9ygd6hG9yolYwbOLb8UqTLsZwpRH9/Nv14pdKgMtJXd7Tn3xDsuhRBA==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/core-js-compat": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz", + "integrity": "sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.0", + "semver": "7.0.0" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/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 + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css/node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/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 + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/debug-fabulous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz", + "integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==", + "dev": true, + "dependencies": { + "debug": "3.X", + "memoizee": "0.4.X", + "object-assign": "4.X" + } + }, + "node_modules/debug-fabulous/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/debug-fabulous/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "dev": true, + "dependencies": { + "kind-of": "^5.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-compare/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/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, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/del/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", + "dev": true + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "node_modules/editorconfig": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", + "dev": true, + "dependencies": { + "commander": "^2.19.0", + "lru-cache": "^4.1.5", + "semver": "^5.6.0", + "sigmund": "^1.0.1" + } + }, + "node_modules/editorconfig/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.634", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz", + "integrity": "sha512-QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "dependencies": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/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, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "dependencies": { + "type": "^2.0.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.0.0.tgz", + "integrity": "sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/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, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/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, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fast-glob": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", + "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.0", + "merge2": "^1.3.0", + "micromatch": "^4.0.2", + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-glob/node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/fastq": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", + "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fined": { + "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, + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/follow-redirects": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/fs-mkdirp-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/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 + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", + "bundleDependencies": [ + "abbrev", + "ansi-regex", + "aproba", + "are-we-there-yet", + "balanced-match", + "brace-expansion", + "chownr", + "code-point-at", + "concat-map", + "console-control-strings", + "core-util-is", + "debug", + "deep-extend", + "delegates", + "detect-libc", + "fs-minipass", + "fs.realpath", + "gauge", + "glob", + "has-unicode", + "iconv-lite", + "ignore-walk", + "inflight", + "inherits", + "is-fullwidth-code-point", + "isarray", + "minimatch", + "minimist", + "minipass", + "minizlib", + "mkdirp", + "ms", + "needle", + "node-pre-gyp", + "nopt", + "npm-bundled", + "npm-normalize-package-bin", + "npm-packlist", + "npmlog", + "number-is-nan", + "object-assign", + "once", + "os-homedir", + "os-tmpdir", + "osenv", + "path-is-absolute", + "process-nextick-args", + "rc", + "readable-stream", + "rimraf", + "safe-buffer", + "safer-buffer", + "sax", + "semver", + "set-blocking", + "signal-exit", + "string-width", + "string_decoder", + "strip-ansi", + "strip-json-comments", + "tar", + "util-deprecate", + "wide-align", + "wrappy", + "yallist" + ], + "dev": true, + "optional": true, + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + } + }, + "node_modules/fsevents/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/are-we-there-yet": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/fsevents/node_modules/balanced-match": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/fsevents/node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/debug": { + "version": "3.2.6", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/fsevents/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/detect-libc": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/fs-minipass": { + "version": "1.2.7", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/fsevents/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/gauge": { + "version": "2.7.4", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "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" + } + }, + "node_modules/fsevents/node_modules/glob": { + "version": "7.1.6", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "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" + } + }, + "node_modules/fsevents/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/iconv-lite": { + "version": "0.4.24", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "node_modules/fsevents/node_modules/ignore-walk": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/fsevents/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "number-is-nan": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/minimatch": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + } + }, + "node_modules/fsevents/node_modules/minimist": { + "version": "1.2.5", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/minizlib": { + "version": "1.3.3", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/fsevents/node_modules/mkdirp": { + "version": "0.5.3", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "minimist": "^1.2.5" + } + }, + "node_modules/fsevents/node_modules/ms": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/needle": { + "version": "2.3.3", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node_modules/fsevents/node_modules/node-pre-gyp": { + "version": "0.14.0", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "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.4.2" + } + }, + "node_modules/fsevents/node_modules/nopt": { + "version": "4.0.3", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "node_modules/fsevents/node_modules/npm-bundled": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/npm-packlist": { + "version": "1.4.8", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/fsevents/node_modules/npmlog": { + "version": "4.1.2", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/fsevents/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/fsevents/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/osenv": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/fsevents/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/process-nextick-args": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "node_modules/fsevents/node_modules/readable-stream": { + "version": "2.3.7", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "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" + } + }, + "node_modules/fsevents/node_modules/rimraf": { + "version": "2.7.1", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "glob": "^7.1.3" + } + }, + "node_modules/fsevents/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/sax": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/fsevents/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "node_modules/fsevents/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + } + }, + "node_modules/fsevents/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/tar": { + "version": "4.4.13", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "node_modules/fsevents/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/wide-align": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/fsevents/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/fsevents/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/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 + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/glob-watcher": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.3.tgz", + "integrity": "sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg==", + "dev": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "dependencies": { + "sparkles": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "dev": true, + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-babel": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/gulp-babel/-/gulp-babel-8.0.0.tgz", + "integrity": "sha512-oomaIqDXxFkg7lbpBou/gnUkX51/Y/M2ZfSjL2hdqXTAlSWZcgZtd2o0cOH0r/eE8LWD0+Q/PsLsr2DKOoqToQ==", + "dev": true, + "dependencies": { + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/gulp-babel/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", + "dev": true, + "dependencies": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulp-concat/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-ext-replace": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/gulp-ext-replace/-/gulp-ext-replace-0.3.0.tgz", + "integrity": "sha1-/1xc/LklUNqpIyqPPrNe9Ty18mA=", + "dev": true, + "dependencies": { + "through2": "~2.0.1" + } + }, + "node_modules/gulp-ext-replace/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-gzip": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/gulp-gzip/-/gulp-gzip-1.4.2.tgz", + "integrity": "sha512-ZIxfkUwk2XmZPTT9pPHrHUQlZMyp9nPhg2sfoeN27mBGpi7OaHnOD+WCN41NXjfJQ69lV1nQ9LLm1hYxx4h3UQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "bytes": "^3.0.0", + "fancy-log": "^1.3.2", + "plugin-error": "^1.0.0", + "stream-to-array": "^2.3.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/gulp-gzip/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-ice-builder": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/gulp-ice-builder/-/gulp-ice-builder-3.0.4.tgz", + "integrity": "sha512-pu1932i5Sw1Vt8Fk4rXMUZrho1OcCEW9WDG0uhj/vf/y3jYmBFz0NNcTpyjV5CZ3DHOba4KfSdM+NrtMXzUYBA==", + "dev": true, + "dependencies": { + "fancy-log": "^1.3.3", + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "rollup": "^2.7.6", + "semver": "^7.3.2", + "stream-combiner": "^0.2.2", + "through2": "^3.0.0", + "typescript": "^3.8.3", + "typescript-formatter": "^7.2.2", + "vinyl": "^2.2.0" + } + }, + "node_modules/gulp-ice-builder/node_modules/semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gulp-ice-builder/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/gulp-ice-builder/node_modules/typescript": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", + "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/gulp-newer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-newer/-/gulp-newer-1.4.0.tgz", + "integrity": "sha512-h79fGO55S/P9eAADbLAP9aTtVYpLSR1ONj08VPaSdVVNVYhTS8p1CO1TW7kEMu+hC+sytmCqcUr5LesvZEtDoQ==", + "dev": true, + "dependencies": { + "glob": "^7.0.3", + "kew": "^0.7.0", + "plugin-error": "^0.1.2" + } + }, + "node_modules/gulp-newer/node_modules/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, + "dependencies": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-newer/node_modules/arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-newer/node_modules/array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-newer/node_modules/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, + "dependencies": { + "kind-of": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-newer/node_modules/kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-newer/node_modules/plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-rename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", + "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/gulp-sourcemaps": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-3.0.0.tgz", + "integrity": "sha512-RqvUckJkuYqy4VaIH60RMal4ZtG0IbQ6PXMNkNsshEGJ9cldUPRb/YCgboYae+CLAs1HQNb4ADTKCx65HInquQ==", + "dev": true, + "dependencies": { + "@gulp-sourcemaps/identity-map": "^2.0.1", + "@gulp-sourcemaps/map-sources": "^1.0.0", + "acorn": "^6.4.1", + "convert-source-map": "^1.0.0", + "css": "^3.0.0", + "debug-fabulous": "^1.0.0", + "detect-newline": "^2.0.0", + "graceful-fs": "^4.0.0", + "source-map": "^0.6.0", + "strip-bom-string": "^1.0.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gulp-sourcemaps/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gulp-sourcemaps/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp-terser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/gulp-terser/-/gulp-terser-2.0.1.tgz", + "integrity": "sha512-XCrnCXP8ovNpgLK9McJIXlgm0j3W2TsiWu7K9y3m+Sn5XZgUzi6U8MPHtS3NdLMic9poCj695N0ARJ2B6atypw==", + "dev": true, + "dependencies": { + "plugin-error": "^1.0.1", + "terser": "5.4.0", + "through2": "^4.0.2", + "vinyl-sourcemaps-apply": "^0.2.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gulp-typescript": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp-typescript/-/gulp-typescript-5.0.1.tgz", + "integrity": "sha512-YuMMlylyJtUSHG1/wuSVTrZp60k1dMEFKYOvDf7OvbAJWrDtxxD4oZon4ancdWwzjj30ztiidhe4VXJniF0pIQ==", + "dev": true, + "dependencies": { + "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.3" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/gulp-typescript/node_modules/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, + "engines": { + "node": ">=6" + } + }, + "node_modules/gulp-typescript/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/gulp-uglifyes": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/gulp-uglifyes/-/gulp-uglifyes-0.2.1.tgz", + "integrity": "sha512-N2A47hGX4pK463/3E/tFuMCnTDHw2vXjHNBM6LCWmdFkJ50LF1vqCYi+71AtvT0DZxpEZN1EUMPbhOAwy/ohKw==", + "dev": true, + "dependencies": { + "plugin-error": "^1.0.1", + "through2": "^2.0.3", + "uglify-es": "^3.3.7" + } + }, + "node_modules/gulp-uglifyes/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/gulp/node_modules/gulp-cli": { + "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, + "dependencies": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "dependencies": { + "glogg": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=", + "dev": true, + "dependencies": { + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "bin": { + "hulk": "bin/hulk" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "dependencies": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "node_modules/htmlparser2/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "node_modules/htmlparser2/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/htmlparser2/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/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, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/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, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-descriptor/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jshint": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.12.0.tgz", + "integrity": "sha512-TwuuaUDmra0JMkuqvqy+WGo2xGHSNjv1BA1nTIgtH2K5z1jHuAEeAgp7laaR+hLRmajRjcrM71+vByBDanCyYA==", + "dev": true, + "dependencies": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.19", + "minimatch": "~3.0.2", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x" + }, + "bin": { + "jshint": "bin/jshint" + } + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "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 + }, + "node_modules/json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=", + "dev": true + }, + "node_modules/kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "dev": true, + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "dependencies": { + "invert-kv": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "dev": true, + "dependencies": { + "flush-write-stream": "^1.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "dev": true, + "dependencies": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/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, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "dependencies": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/memoizee": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz", + "integrity": "sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.45", + "es6-weak-map": "^2.0.2", + "event-emitter": "^0.3.5", + "is-promise": "^2.1", + "lru-queue": "0.1", + "next-tick": "1", + "timers-ext": "^0.1.5" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/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, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/mute-stdout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", + "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "dev": true, + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "node_modules/node-releases": { + "version": "1.1.69", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", + "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==", + "dev": true + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/normalize-package-data": { + "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, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/now-and-later": { + "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, + "dependencies": { + "once": "^1.3.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/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, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "dependencies": { + "lcid": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", + "dev": true, + "dependencies": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss/node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/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, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "dependencies": { + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/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, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/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, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/remove-bom-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "dev": true, + "dependencies": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remove-bom-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/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 + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/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, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "dev": true, + "dependencies": { + "value-or-function": "^3.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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 + }, + "node_modules/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, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup": { + "version": "2.36.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.36.1.tgz", + "integrity": "sha512-eAfqho8dyzuVvrGqpR0ITgEdq0zG2QJeWYh+HeuTbpcaXk8vNFc48B7bJa1xYosTCKx0CuW+447oQOW8HgBIZQ==", + "dev": true, + "dependencies": { + "fsevents": "~2.1.2" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/rollup/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "node_modules/run-parallel": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", + "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", + "dev": true + }, + "node_modules/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 + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "dev": true, + "dependencies": { + "sver-compat": "^1.5.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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 + }, + "node_modules/set-value": { + "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, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/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, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/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, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/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, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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 + }, + "node_modules/sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/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, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/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, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "dev": true, + "dependencies": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "node_modules/stream-exhaust": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", + "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", + "dev": true + }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "node_modules/stream-to-array": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", + "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", + "dev": true, + "dependencies": { + "any-promise": "^1.1.0" + } + }, + "node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true, + "bin": { + "strip-json-comments": "cli.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "dev": true, + "dependencies": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/terser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.4.0.tgz", + "integrity": "sha512-3dZunFLbCJis9TAF2VnX+VrQLctRUmt1p3W2kCsJuZE4ZgWqh//+1MZ62EanewrqKoUf4zIaDGZAvml4UDc0OQ==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/through2-filter": { + "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, + "dependencies": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "node_modules/through2-filter/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "dev": true, + "dependencies": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "dev": true, + "dependencies": { + "through2": "^2.0.3" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/to-through/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/typescript": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz", + "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/typescript-formatter": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/typescript-formatter/-/typescript-formatter-7.2.2.tgz", + "integrity": "sha512-V7vfI9XArVhriOTYHPzMU2WUnm5IMdu9X/CPxs8mIMGxmTBFpDABlbkBka64PZJ9/xgQeRpK8KzzAG4MPzxBDQ==", + "dev": true, + "dependencies": { + "commandpost": "^1.0.0", + "editorconfig": "^0.15.0" + }, + "bin": { + "tsfmt": "bin/tsfmt" + }, + "engines": { + "node": ">= 4.2.0" + } + }, + "node_modules/uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "dependencies": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uglify-es/node_modules/commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "node_modules/uglify-es/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/undertaker": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.2.1.tgz", + "integrity": "sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/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, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/union-value": { + "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, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-stream": { + "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, + "dependencies": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "node_modules/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, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/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, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "dev": true, + "dependencies": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/vinyl-paths": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl-paths/-/vinyl-paths-3.0.1.tgz", + "integrity": "sha512-fpjimhur1emSbJSvy5dJjDklCFEh2LvQRSHPzMQlYFjPrdFMHAyzSe1fiLzykoqg9X2tqH8evhsOUDNT55a0sw==", + "dev": true, + "dependencies": { + "through2": "^3.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vinyl-paths/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "dev": true, + "dependencies": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-sourcemap/node_modules/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, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "dev": true, + "dependencies": { + "source-map": "^0.5.1" + } + }, + "node_modules/vinyl-sourcemaps-apply/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "node_modules/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, + "dependencies": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "node_modules/yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "dependencies": { + "camelcase": "^3.0.0" + } + } + }, "dependencies": { "@babel/cli": { "version": "7.12.10", @@ -3570,24 +11288,24 @@ "dev": true, "optional": true }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "1.1.1", "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" + "safe-buffer": "~5.1.0" } }, - "string_decoder": { - "version": "1.1.1", + "string-width": { + "version": "1.0.2", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -5981,6 +13699,15 @@ "any-promise": "^1.1.0" } }, + "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": { + "safe-buffer": "~5.1.0" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -5992,15 +13719,6 @@ "strip-ansi": "^3.0.0" } }, - "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": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", diff --git a/js/src/Ice/PropertyNames.js b/js/src/Ice/PropertyNames.js index 79e02bcad47..2f393fa4389 100644 --- a/js/src/Ice/PropertyNames.js +++ b/js/src/Ice/PropertyNames.js @@ -1,7 +1,7 @@ // // Copyright (c) ZeroC, Inc. All rights reserved. // -// Generated by makeprops.py from file ./config/PropertyNames.xml, Thu Jul 2 14:55:02 2020 +// Generated by makeprops.py from file ./config/PropertyNames.xml, Fri Jan 29 15:05:58 2021 // IMPORTANT: Do not edit this file -- any edits made here will be lost! diff --git a/man/man1/icepatch2calc.1 b/man/man1/icepatch2calc.1 deleted file mode 100644 index 518e4c57cb0..00000000000 --- a/man/man1/icepatch2calc.1 +++ /dev/null @@ -1,65 +0,0 @@ -.TH icepatch2calc 1 - -.SH NAME - -icepatch2calc - IcePatch2 tool to compress files and calculate checksums. - -.SH SYNOPSIS - -icepatch2calc [options] data_dir [file...] - -.SH DESCRIPTION - -IcePatch2 tool to compress files and calculate checksums. Full documentation -for icepatch2calc is available online at: -.br -https://doc.zeroc.com/ice/3.7/ice-services/icepatch2/using-icepatch2calc - -.SH OPTIONS - -.TP -.BR \-h ", " \-\-help\fR -.br -Displays a help message. - -.TP -.BR \-v ", " \-\-version\fR -Displays the Ice version. - -.TP -.BR \-z ", " \-\-compress\fR -.br -Normally, icepatch2calc scans the data directory and compresses a file only -if no compressed version exists, or if the compressed version of a file has a -modification time that predates that of the uncompressed version. If you -specify -z, the tool re-scans and recompresses the entire data directory, -regardless of the time stamps on files. This option is useful if you suspect -that time stamps in the data directory may be incorrect. - -.TP -.BR \-Z ", " \-\-no-compress\fR -.br -This option allows you to create a client-side checksum file. Do not use this -option when creating the checksum file for the server — the option is for -creating a client-side IcePatch2.sum file for updates of software on -distribution media. - -.TP -.BR \-i ", " \-\-case\-insensitive\fR -.br -This option disallows file names that differ only in case. (An error message -will be printed if icepatch2calc encounters any files that differ in case -only.) This is particularly useful for Unix servers with Windows clients, -since Windows folds the case of file names, and therefore such files would -override each other on the Windows client. - -.TP -.BR \-V ", " \-\-verbose\fR -.br -This option prints a progress message for each file that is compressed and for -each checksum that is computed. - -.SH SEE ALSO - -.BR icepatch2client (1), -.BR icepatch2server (1) diff --git a/man/man1/icepatch2client.1 b/man/man1/icepatch2client.1 deleted file mode 100644 index 6961bf8bed3..00000000000 --- a/man/man1/icepatch2client.1 +++ /dev/null @@ -1,39 +0,0 @@ -.mso www.tmac - -.TH icepatch2client 1 - -.SH NAME - -icepatch2client - The IcePatch2 client. - -.SH SYNOPSIS - -icepatch2client --IcePatch2Client.Proxy="IcePatch2Server/server:tcp -h somehost.com -p 10000" - -.SH DESCRIPTION - -The IcePatch2 client. Full documentation for icepatch2client is available -online at: -.br -https://doc.zeroc.com/ice/3.7/ice-services/icepatch2/running-the-icepatch2-client - -.SH OPTIONS - -.TP -.BR \-h ", " \-\-help\fR -.br -Displays help message. - -.TP -.BR \-v ", " \-\-version\fR -Displays the Ice version. - -.TP -.BR \-t ", " \-\-thorough\fR -.br -Do a thorough patch, recomputing all checksums. - -.SH SEE ALSO - -.BR icepatch2calc (1), -.BR icepatch2server (1) diff --git a/man/man1/icepatch2server.1 b/man/man1/icepatch2server.1 deleted file mode 100644 index 31c5a98b9b0..00000000000 --- a/man/man1/icepatch2server.1 +++ /dev/null @@ -1,52 +0,0 @@ -.TH icepatch2server 1 - -.SH NAME - -icepatch2server - The IcePatch2 server. - -.SH SYNOPSIS - -icepatch2server <data directory> - -.SH DESCRIPTION - -The IcePatch2 server. Full documentation for icepatch2server is available -online at: -.br -https://doc.zeroc.com/ice/3.7/ice-services/icepatch2/running-the-icepatch2-server - -.SH OPTIONS - -.TP -.BR \-h ", " \-\-help\fR -.br -Displays a help message. - -.TP -.BR \-v ", " \-\-version\fR -Displays the Ice version. - -.TP -.BR \-\-daemon\fR -.br -Run as a daemon. - -.TP -.BR \-\-pidfile " " FILE -.br -Write process ID into FILE. - -.TP -.BR \-\-noclose\fR -.br -Do not close open file descriptors. - -.TP -.BR \-\-nochdir\fR -.br -Do not change the current working directory. - -.SH SEE ALSO - -.BR icepatch2calc (1), -.BR icepatch2client (1) diff --git a/matlab/lib/+Ice/Properties.m b/matlab/lib/+Ice/Properties.m index 63e8d1983d6..1c47b7ad0a1 100644 --- a/matlab/lib/+Ice/Properties.m +++ b/matlab/lib/+Ice/Properties.m @@ -179,8 +179,7 @@ classdef Properties < IceInternal.WrapperObject % parseIceCommandLineOptions - Convert a sequence of command-line % options into properties. All options that begin with one of the % following prefixes are converted into properties: "--Ice", - % "--IceBox", "--IceGrid", "--IcePatch2", "--IceSSL", - % "--IceStorm", "--Freeze", and "--Glacier2". + % "--IceBox", "--IceGrid", "--IceSSL", "--IceStorm", and "--Glacier2". % % Parameters: % options (cell array of char) - The command-line options. diff --git a/php/Makefile b/php/Makefile index 7dc73064a5a..768564ea4ee 100644 --- a/php/Makefile +++ b/php/Makefile @@ -39,7 +39,7 @@ $(call make-projects,$(projects)) install:: | $(DESTDIR)$(install_phpdir) $(E) "Installing generated code" - $(Q)$(INSTALL) -m 644 lib/Glacier2.php lib/IceBox.php lib/IceGrid.php lib/IcePatch2.php lib/IceStorm.php $(DESTDIR)$(install_phpdir) + $(Q)$(INSTALL) -m 644 lib/Glacier2.php lib/IceBox.php lib/IceGrid.php lib/IceStorm.php $(DESTDIR)$(install_phpdir) ifeq ($(USE_NAMESPACES),no) $(Q)$(INSTALL) -m 644 lib/Ice_no_ns.php $(DESTDIR)$(install_phpdir)/Ice.php else @@ -50,7 +50,6 @@ $(eval $(call make-php-package,$(slicedir),lib,Ice)) $(eval $(call make-php-package,$(slicedir),lib,Glacier2)) $(eval $(call make-php-package,$(slicedir),lib,IceBox)) $(eval $(call make-php-package,$(slicedir),lib,IceGrid)) -$(eval $(call make-php-package,$(slicedir),lib,IcePatch2)) $(eval $(call make-php-package,$(slicedir),lib,IceStorm)) endif diff --git a/php/lib/.gitignore b/php/lib/.gitignore index 337b0d0e758..8168fe9c48c 100644 --- a/php/lib/.gitignore +++ b/php/lib/.gitignore @@ -2,5 +2,4 @@ Glacier2 Ice IceBox IceGrid -IcePatch2 IceStorm diff --git a/php/lib/IcePatch2.php b/php/lib/IcePatch2.php deleted file mode 100644 index 21bdf82b8a9..00000000000 --- a/php/lib/IcePatch2.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -require_once 'IcePatch2/FileServer.php'; -?> diff --git a/python/msbuild/ice.proj b/python/msbuild/ice.proj index 00c7f6abf5a..afc65552588 100644 --- a/python/msbuild/ice.proj +++ b/python/msbuild/ice.proj @@ -43,7 +43,6 @@ ..\..\slice\Ice\Metrics.ice; ..\..\slice\IceBox\*.ice; ..\..\slice\IceGrid\*.ice; - ..\..\slice\IcePatch2\*.ice; ..\..\slice\IceStorm\*.ice"/> <PythonGenerated Include="$(MSBuildThisFileDirectory)\..\python\**\*_ice.py"/> </ItemGroup> diff --git a/python/python/.gitignore b/python/python/.gitignore index 685ea725586..295eb6cbc8b 100644 --- a/python/python/.gitignore +++ b/python/python/.gitignore @@ -1,7 +1,6 @@ IceBox/* IceGrid/* IceMX/* -IcePatch2/* IceStorm/* *_ice.py IcePy.* diff --git a/python/python/Makefile b/python/python/Makefile index f5bb725a3af..9e76dd6e240 100644 --- a/python/python/Makefile +++ b/python/python/Makefile @@ -20,7 +20,6 @@ $(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,Glacier2,--n $(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceBox)) $(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceMX)) $(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceGrid)) -$(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IcePatch2)) $(eval $(call make-python-package,$(slicedir),$(lang_srcdir)/python,IceStorm)) # Generate these two files individually without the --no-package option to ensure the diff --git a/ruby/Makefile b/ruby/Makefile index 4928a911139..a3e947be0d5 100644 --- a/ruby/Makefile +++ b/ruby/Makefile @@ -39,7 +39,6 @@ $(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,Ice)) $(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,Glacier2)) $(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IceBox)) $(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IceGrid)) -$(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IcePatch2)) $(eval $(call make-ruby-package,$(slicedir),$(lang_srcdir)/ruby,IceStorm)) endif diff --git a/ruby/ruby/.gitignore b/ruby/ruby/.gitignore index f37e839191a..ab9104ba3fd 100644 --- a/ruby/ruby/.gitignore +++ b/ruby/ruby/.gitignore @@ -2,6 +2,5 @@ Glacier2/* Ice/* IceBox/* IceGrid/* -IcePatch2/* IceStorm/* IceRuby.* diff --git a/ruby/ruby/IcePatch2.rb b/ruby/ruby/IcePatch2.rb deleted file mode 100644 index b1c372c9589..00000000000 --- a/ruby/ruby/IcePatch2.rb +++ /dev/null @@ -1,5 +0,0 @@ -# -# Copyright (c) ZeroC, Inc. All rights reserved. -# - -require 'IcePatch2/FileServer' diff --git a/scripts/Component.py b/scripts/Component.py index da3b891fe56..b5bf846c65c 100644 --- a/scripts/Component.py +++ b/scripts/Component.py @@ -233,7 +233,6 @@ component = Ice() from Glacier2Util import * from IceBoxUtil import * from IceBridgeUtil import * -from IcePatch2Util import * from IceGridUtil import * from IceStormUtil import * diff --git a/scripts/IceGridUtil.py b/scripts/IceGridUtil.py index 29306f361bd..19423ad322b 100644 --- a/scripts/IceGridUtil.py +++ b/scripts/IceGridUtil.py @@ -6,7 +6,6 @@ import sys, os from Util import * from IceBoxUtil import * from Glacier2Util import * -from IcePatch2Util import * class IceGridProcess: @@ -241,7 +240,6 @@ class IceGridTestCase(TestCase): "icebox.exe" : IceBox().getCommandLine(current), "icegridnode.exe" : IceGridNode().getCommandLine(current), "glacier2router.exe" : Glacier2Router().getCommandLine(current), - "icepatch2server.exe" : IcePatch2Server().getCommandLine(current), "icegridregistry.exe" : IceGridRegistryMaster().getCommandLine(current), "properties-override" : self.icegridnode[0].getPropertiesOverride(current), } @@ -259,7 +257,7 @@ class IceGridTestCase(TestCase): application = self.application if isinstance(self.mapping, CSharpMapping) and current.config.dotnetcore: application = application.replace(".xml", ".netcoreapp.xml") - self.runadmin(current, "application add -n {0} {1} {2}".format(application, varStr, targets)) + self.runadmin(current, "application add {0} {1} {2}".format(application, varStr, targets)) def teardownClientSide(self, current, success): if self.application: diff --git a/scripts/IcePatch2Util.py b/scripts/IcePatch2Util.py deleted file mode 100644 index 6b12ecccc76..00000000000 --- a/scripts/IcePatch2Util.py +++ /dev/null @@ -1,29 +0,0 @@ -# -# Copyright (c) ZeroC, Inc. All rights reserved. -# - -from Util import * - -class IcePatch2Calc(ProcessFromBinDir, ProcessIsReleaseOnly, Process): - - def __init__(self, *args, **kargs): - Process.__init__(self, exe="icepatch2calc", mapping=Mapping.getByName("cpp"), *args, **kargs) - - def getExe(self, current): - return self.exe + "_32" if current.config.buildPlatform == "ppc" else self.exe - -class IcePatch2Client(ProcessFromBinDir, ProcessIsReleaseOnly, Process): - - def __init__(self, *args, **kargs): - Process.__init__(self, exe="icepatch2client", mapping=Mapping.getByName("cpp"), *args, **kargs) - - def getExe(self, current): - return self.exe + "_32" if current.config.buildPlatform == "ppc" else self.exe - -class IcePatch2Server(ProcessFromBinDir, ProcessIsReleaseOnly, Process): - - def __init__(self, *args, **kargs): - Process.__init__(self, exe="icepatch2server", mapping=Mapping.getByName("cpp"), *args, **kargs) - - def getExe(self, current): - return self.exe + "_32" if current.config.buildPlatform == "ppc" else self.exe diff --git a/slice/Ice/Properties.ice b/slice/Ice/Properties.ice index 609f143bdd8..fead2153777 100644 --- a/slice/Ice/Properties.ice +++ b/slice/Ice/Properties.ice @@ -207,7 +207,7 @@ local interface Properties * Convert a sequence of command-line options into properties. * All options that begin with one of the following prefixes * are converted into properties: <code>--Ice</code>, <code>--IceBox</code>, <code>--IceGrid</code>, - * <code>--IcePatch2</code>, <code>--IceSSL</code>, <code>--IceStorm</code>, <code>--Freeze</code>, and <code>--Glacier2</code>. + * <code>--IceSSL</code>, <code>--IceStorm</code>, and <code>--Glacier2</code>. * * @param options The command-line options. * diff --git a/slice/IceGrid/Admin.ice b/slice/IceGrid/Admin.ice index 7c89636e338..01aa14cc802 100644 --- a/slice/IceGrid/Admin.ice +++ b/slice/IceGrid/Admin.ice @@ -556,24 +556,6 @@ interface Admin /** * - * Patch the given application data. - * - * @param name The application name. - * - * @param shutdown If true, the servers depending on the data to - * patch will be shut down if necessary. - * - * @throws ApplicationNotExistException Raised if the application - * doesn't exist. - * - * @throws PatchException Raised if the patch failed. - * - **/ - ["amd"] void patchApplication(string name, bool shutdown) - throws ApplicationNotExistException, PatchException; - - /** - * * Get an application descriptor. * * @param name The application name. @@ -787,30 +769,6 @@ interface Admin /** * - * Patch a server. - * - * @param id The server id. - * - * @param shutdown If true, servers depending on the data to patch - * will be shut down if necessary. - * - * @throws ServerNotExistException Raised if the server doesn't - * exist. - * - * @throws NodeUnreachableException Raised if the node could not be - * reached. - * - * @throws DeploymentException Raised if the server couldn't be - * deployed on the node. - * - * @throws PatchException Raised if the patch failed. - * - **/ - ["amd"] void patchServer(string id, bool shutdown) - throws ServerNotExistException, NodeUnreachableException, DeploymentException, PatchException; - - /** - * * Send signal to a server. * * @param id The server id. diff --git a/slice/IceGrid/Descriptor.ice b/slice/IceGrid/Descriptor.ice index 2a0a9677acf..29d7e9699ca 100644 --- a/slice/IceGrid/Descriptor.ice +++ b/slice/IceGrid/Descriptor.ice @@ -313,22 +313,6 @@ class CommunicatorDescriptor /** * - * A distribution descriptor defines an IcePatch2 server and the - * directories to retrieve from the patch server. - * - **/ -["cpp:comparable"] -struct DistributionDescriptor -{ - /** The proxy of the IcePatch2 server. */ - string icepatch; - - /** The source directories. */ - ["java:type:java.util.LinkedList<String>"] Ice::StringSeq directories; -} - -/** - * * An Ice server descriptor. * **/ @@ -406,21 +390,6 @@ class ServerDescriptor extends CommunicatorDescriptor /** * - * Specifies if the server depends on the application - * distribution. - * - **/ - bool applicationDistrib; - - /** - * - * The distribution descriptor. - * - **/ - DistributionDescriptor distrib; - - /** - * * Specifies if the server is allocatable. * **/ @@ -838,13 +807,6 @@ struct ApplicationDescriptor /** * - * The application distribution. - * - **/ - DistributionDescriptor distrib; - - /** - * * The description of this application. * **/ @@ -966,17 +928,6 @@ struct NodeUpdateDescriptor /** * - * A "boxed" distribution descriptor. - * - **/ -class BoxedDistributionDescriptor -{ - /** The value of the boxed distribution descriptor. */ - DistributionDescriptor value; -} - -/** - * * An application update descriptor to describe the updates to apply * to a deployed application. * @@ -1000,13 +951,6 @@ struct ApplicationUpdateDescriptor /** * - * The updated distribution application descriptor. - * - **/ - BoxedDistributionDescriptor distrib; - - /** - * * The variables to update. * **/ diff --git a/slice/IceGrid/Exception.ice b/slice/IceGrid/Exception.ice index bf0c1958896..1f112d66a3f 100644 --- a/slice/IceGrid/Exception.ice +++ b/slice/IceGrid/Exception.ice @@ -281,21 +281,6 @@ exception BadSignalException /** * - * This exception is raised if a patch failed. - * - **/ -exception PatchException -{ - /** - * - * The reasons why the patch failed. - * - **/ - Ice::StringSeq reasons; -} - -/** - * * This exception is raised if a registry lock wasn't * acquired or is already held by a session. * diff --git a/slice/IcePatch2/FileInfo.ice b/slice/IcePatch2/FileInfo.ice deleted file mode 100644 index 8bc62fb7923..00000000000 --- a/slice/IcePatch2/FileInfo.ice +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#pragma once - -[["cpp:dll-export:ICEPATCH2_API"]] -[["cpp:doxygen:include:IcePatch2/IcePatch2.h"]] -[["cpp:header-ext:h"]] -[["cpp:include:IcePatch2/Config.h"]] - -[["ice-prefix"]] - -[["js:module:ice"]] - -[["objc:header-dir:objc"]] - -[["python:pkgdir:IcePatch2"]] - -#include <Ice/BuiltinSequences.ice> - -#ifndef __SLICE2JAVA_COMPAT__ -[["java:package:com.zeroc"]] -#endif - -["objc:prefix:ICEPATCH2"] -module IcePatch2 -{ - -/** - * - * Basic information about a single file. - * - **/ -struct FileInfo -{ - /** The pathname. **/ - string path; - - /** The SHA-1 checksum of the file. **/ - Ice::ByteSeq checksum; - - /** The size of the compressed file in number of bytes. **/ - int size; - - /** The executable flag. */ - bool executable; -} - -/** - * - * A sequence with information about many files. - * - **/ -sequence<FileInfo> FileInfoSeq; - -/** - * - * Basic information about a single file. - * - **/ -struct LargeFileInfo -{ - /** The pathname. **/ - string path; - - /** The SHA-1 checksum of the file. **/ - Ice::ByteSeq checksum; - - /** The size of the compressed file in number of bytes. **/ - long size; - - /** The executable flag. */ - bool executable; -} - -/** - * - * A sequence with information about many files. - * - **/ -sequence<LargeFileInfo> LargeFileInfoSeq; - -} diff --git a/slice/IcePatch2/FileServer.ice b/slice/IcePatch2/FileServer.ice deleted file mode 100644 index 536fe1c3b70..00000000000 --- a/slice/IcePatch2/FileServer.ice +++ /dev/null @@ -1,190 +0,0 @@ -// -// Copyright (c) ZeroC, Inc. All rights reserved. -// - -#pragma once - -[["cpp:dll-export:ICEPATCH2_API"]] -[["cpp:doxygen:include:IcePatch2/IcePatch2.h"]] -[["cpp:header-ext:h"]] -[["cpp:include:IcePatch2/Config.h"]] - -[["ice-prefix"]] - -[["js:module:ice"]] - -[["objc:header-dir:objc"]] - -[["python:pkgdir:IcePatch2"]] - -#include <IcePatch2/FileInfo.ice> - -#ifndef __SLICE2JAVA_COMPAT__ -[["java:package:com.zeroc"]] -#endif - -/** - * - * IcePatch can be used to update file hierarchies in a simple and - * efficient manner. Checksums ensure file integrity, and data is - * compressed before downloading. - * - **/ -["objc:prefix:ICEPATCH2"] -module IcePatch2 -{ - -/** - * - * A sequence of byte sequences. Each element is the checksum for a - * partition. - * - **/ -sequence<Ice::ByteSeq> ByteSeqSeq; - -/** - * - * A <code>partition</code> argument was not in the range 0-255. - * - **/ -exception PartitionOutOfRangeException -{ -} - -/** - * - * This exception is raised if a file's contents cannot be read. - * - **/ -exception FileAccessException -{ - /** - * - * An explanation of the reason for the failure. - * - **/ - string reason; -} - -/** - * - * This exception is raised if an operation tries to use a file whose size is - * larger than 2.1 GB. Use the "large" versions of the operations instead. - * - **/ -exception FileSizeRangeException extends FileAccessException -{ -} - -/** - * - * The interface that provides access to files. - * - **/ -interface FileServer -{ - /** - * - * Return file information for the specified partition. - * - * <p class="Deprecated"> This operation is deprecated and only present for - * compatibility with old Ice clients (older than version 3.6). - * - * @param partition The partition number in the range 0-255. - * - * @return A sequence containing information about the files in the - * specified partition. - * - * @throws PartitionOutOfRangeException If the partition number is out of range. - * @throws FileSizeRangeException If a file is larger than 2.1GB. - **/ - ["deprecate:getFileInfoSeq() is deprecated, use getLargeFileInfoSeq() instead.", - "nonmutating", "cpp:const"] idempotent FileInfoSeq getFileInfoSeq(int partition) - throws PartitionOutOfRangeException, FileSizeRangeException; - - /** - * - * Returns file information for the specified partition. - * - * @param partition The partition number in the range 0-255. - * - * @return A sequence containing information about the files in the - * specified partition. - * - * @throws PartitionOutOfRangeException If the partition number is out of range. - **/ - ["nonmutating", "cpp:const"] idempotent LargeFileInfoSeq getLargeFileInfoSeq(int partition) - throws PartitionOutOfRangeException; - - /** - * - * Return the checksums for all partitions. - * - * @return A sequence containing 256 checksums. Partitions with a - * checksum that differs from the previous checksum for the same - * partition contain updated files. Partitions with a checksum - * that is identical to the previous checksum do not contain - * updated files. - * - **/ - ["nonmutating", "cpp:const"] idempotent ByteSeqSeq getChecksumSeq(); - - /** - * - * Return the master checksum for all partitions. If this checksum is the same - * as for a previous run, the entire file set is up-to-date. - * - * @return The master checksum for the file set. - * - **/ - ["nonmutating", "cpp:const"] idempotent Ice::ByteSeq getChecksum(); - - /** - * - * Read the specified file. This operation may only return fewer bytes than requested - * in case there was an end-of-file condition. - * - * <p class="Deprecated"> This operation is deprecated and only present for - * compatibility with old Ice clients (older than version 3.6). - * - * @param path The pathname (relative to the data directory) for - * the file to be read. - * - * @param pos The file offset at which to begin reading. - * - * @param num The number of bytes to be read. - * - * @return A sequence containing the compressed file contents. - * - * @throws FileAccessException If an error occurred while trying to read the file. - * @throws FileSizeRangeException If a file is larger than 2.1GB. - * - **/ - ["deprecate:getFileCompressed() is deprecated, use getLargeFileCompressed() instead.", - "amd", "nonmutating", "cpp:const", "cpp:array"] - idempotent Ice::ByteSeq getFileCompressed(string path, int pos, int num) - throws FileAccessException, FileSizeRangeException; - - /** - * - * Read the specified file. This operation may only return fewer bytes than requested - * in case there was an end-of-file condition. - * - * @param path The pathname (relative to the data directory) for - * the file to be read. - * - * @param pos The file offset at which to begin reading. - * - * @param num The number of bytes to be read. - * - * @return A sequence containing the compressed file contents. - * - * @throws FileAccessException If an error occurred while trying to read the file. - * - **/ - ["amd", "nonmutating", "cpp:const", "cpp:array"] - idempotent Ice::ByteSeq getLargeFileCompressed(string path, long pos, int num) - throws FileAccessException; -} - -} |