static void Main(string[] args)
        {
            //var siteUrl = "http://portal";
            //var o365UserName = "******";
            //var o365UserPassword = "******";
            var siteUrl = AppSettings.IntranetUrl;
            var o365UserName = "******";
            var o365UserPassword = "";

            var consoleUtils = new ConsoleUtils();

            SecureString password = GetPassword();

            consoleUtils.WithO365Context(siteUrl, o365UserName, password, context =>
            {

                var options = new IntrStandardCSOMProvisionService.Options();

                options.DeploySite = AppSettings.ShouldDeploySiteFeatures;
                options.DeployRootWeb = AppSettings.ShouldDeployRootWeb;
                options.DeployHowTosWeb = false;

                (new IntrStandardCSOMProvisionService()).DeployIntranet(context, options);

                //// replace it with your M2 models
                //var siteModel = default(ModelNode);
                //var rotWebModel = default(ModelNode);

                //// create a provision service - CSOMProvisionService or StandardCSOMProvisionService
                //var provisionService = new CSOMProvisionService();

                //// little nice thing, tracing the progress
                //consoleUtils.TraceDeploymentProgress(provisionService);

                //// deploy!
                //provisionService.DeploySiteModel(context, siteModel);
                //provisionService.DeployWebModel(context, rotWebModel);
            });
        }
        static void Main(string[] args)
        {
            var siteUrl = "http://portal";
            var consoleUtils = new ConsoleUtils();

            consoleUtils.WithSSOMContext(siteUrl, (site, web) =>
            {
                // replace it with your M2 models
                var siteModel = default(ModelNode);
                var rotWebModel = default(ModelNode);

                // create a provision service - SSOMProvisionService or StandardSSOMProvisionService
                var provisionService = new SSOMProvisionService();

                // little nice thing, tracing the progress
                consoleUtils.TraceDeploymentProgress(provisionService);

                // deploy!
                provisionService.DeploySiteModel(site, siteModel);
                provisionService.DeployWebModel(web, rotWebModel);
            });
        }