<commit_before>function Get-TargetResource
{
    [CmdletBinding()]
    [OutputType([System.Collections.Hashtable])]
    param
    (
        [parameter(Mandatory = $true)]  [System.String]  $InstallerPath,
        [parameter(Mandatory = $true)]  [System.Boolean] $OnlineMode,
        [parameter(Mandatory = $false)] [System.String]  $SXSpath,
        [parameter(Mandatory = $false)] [System.String]  $SQLNCli,        
        [parameter(Mandatory = $false)] [System.String]  $PowerShell,        
        [parameter(Mandatory = $false)] [System.String]  $NETFX,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX,        
        [parameter(Mandatory = $false)] [System.String]  $Sync,        
        [parameter(Mandatory = $false)] [System.String]  $AppFabric,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX11,        
        [parameter(Mandatory = $false)] [System.String]  $MSIPCClient,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices,        
        [parameter(Mandatory = $false)] [System.String]  $KB2671763,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices56,
        [parameter(Mandatory = $false)] [System.String]  $MSVCRT11,
        [parameter(Mandatory = $false)] [System.String]  $MSVCRT14,
        [parameter(Mandatory = $false)] [System.String]  $KB3092423,
        [parameter(Mandatory = $false)] [System.String]  $ODBC,
        [parameter(Mandatory = $false)] [System.String]  $DotNetFx,
        [parameter(Mandatory = $false)] [ValidateSet("Present","Absent")] [System.String] $Ensure = "Present"
    )
    
    $returnValue = @{}
    Write-Verbose -Message "Detecting SharePoint version from binaries"
    $majorVersion = (Get-SPDSCAssemblyVersion -PathToAssembly $InstallerPath)
    if ($majorVersion -eq 15) {
        Write-Verbose -Message "Version: SharePoint 2013"
    }
    if ($majorVersion -eq 16) {
        Write-Verbose -Message "Version: SharePoint 2016"
    }

    Write-Verbose -Message "Getting installed windows features"
        
    if ($majorVersion -eq 15) {
        $WindowsFeatures = Get-WindowsFeature -Name Application-Server, AS-NET-Framework, AS-TCP-Port-Sharing, AS-Web-Support, AS-WAS-Support, AS-HTTP-Activation, AS-Named-Pipes, AS-TCP-Activation, Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Http-Redirect, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filtering, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Cert-Auth, Web-IP-Security, Web-Url-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45, Web-Asp-Net, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Scripting, Web-WMI, Web-Scripting-Tools, NET-Framework-Features, NET-Framework-Core, NET-Framework-45-ASPNET, NET-WCF-HTTP-Activation45, NET-WCF-Pipe-Activation45, NET-WCF-TCP-Activation45, Server-Media-Foundation, Windows-Identity-Foundation, PowerShell-V2, WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs, XPS-Viewer
    }
    if ($majorVersion -eq 16) {
        $osVersion = [System.Environment]::OSVersion.Version.Major
        if ($osVersion -eq 10) {
            # Server 2016
            $WindowsFeatures = Get-WindowsFeature -Name Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filering, Web-Basic-Auth, Web-Digest-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45Web-Asp-Net, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Scripting, Web-WMI, NET-Framework-Features, NET-HTTP-Activation, NET-Non-HTTP-Activ, NET-Framework-45-ASPNET, NET-WCF-Pipe-Activation45, Windows-Identity-Foundation, WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs, XPS-Viewer
        } else {
            # Server 2012 R2
            $WindowsFeatures = Get-WindowsFeature -Name Application-Server, AS-NET-Framework, AS-Web-Support, Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Http-Redirect, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filtering, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Cert-Auth, Web-IP-Security, Web-Url-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Mgmt-Console, Web-Lgcy-Scripting, Web-WMI, Web-Scripting-Tools, NET-Framework-Features, NET-Framework-Core, NET-HTTP-Activation, NET-Non-HTTP-Activ, NET-Framework-45-ASPNET, NET-WCF-HTTP-Activation45, Windows-Identity-Foundation, PowerShell-V2, WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs    
        }
        
    }
    
    foreach ($feature in $WindowsFeatures) {
        $returnValue.Add($feature.Name, $feature.Installed)
    }

    Write-Verbose -Message "Checking windows packages"
    $installedItems = Get-CimInstance -ClassName Win32_Product
    
    #Common prereqs
    $returnValue.Add("AppFabric 1.1 for Windows Server", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "AppFabric 1.1 for Windows Server"})))
    $returnValue.Add("Microsoft CCR and DSS Runtime 2008 R3", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft CCR and DSS Runtime 2008 R3"})))
    $returnValue.Add("Microsoft Identity Extensions", (@(Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse | Where-Object -FilterScript {$_.GetValue("DisplayName") -eq "Microsoft Identity Extensions" }).Count -gt 0))    
    $returnValue.Add("Microsoft Sync Framework Runtime v1.0 SP1 (x64)", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Sync Framework Runtime v1.0 SP1 (x64)"})))
    $returnValue.Add("WCF Data Services 5.6.0 Runtime", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "WCF Data Services 5.6.0 Runtime"})))

    #SP2013 prereqs
    if ($majorVersion -eq 15) {
        $returnValue.Add("Active Directory Rights Management Services Client 2.*", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -like "Active Directory Rights Management Services Client 2.*"})))
        $returnValue.Add("Microsoft SQL Server Native Client (2008 R2 or 2012)", ($null -ne ($installedItems | Where-Object -FilterScript { $_.Name -match "SQL Server (2008 R2|2012) Native Client" })))
        $returnValue.Add("WCF Data Services 5.0 (for OData v3) Primary Components", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "WCF Data Services 5.0 (for OData v3) Primary Components"})))
    }

    #SP2016 prereqs
    if ($majorVersion -eq 16) {
        $returnValue.Add("Active Directory Rights Management Services Client 2.1", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Active Directory Rights Management Services Client 2.1"})))
        $returnValue.Add("Microsoft SQL Server 2012 Native Client", ($null -ne ($installedItems | Where-Object -FilterScript {$null -ne $_.Name -and $_.Name.Trim() -eq "Microsoft SQL Server 2012 Native Client"})))    
        $returnValue.Add("Microsoft ODBC Driver 11 for SQL Server", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft ODBC Driver 11 for SQL Server"})))    
        $returnValue.Add("Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030"})))    
        $returnValue.Add("Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030"})))
        $returnValue.Add("Microsoft Visual C++ 2015 x64 Minimum Runtime - 14.0.23026", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2015 x64 Minimum Runtime - 14.0.23026"})))    
        $returnValue.Add("Microsoft Visual C++ 2015 x64 Additional Runtime - 14.0.23026", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2015 x64 Additional Runtime - 14.0.23026"})))            
    }
        
    $results = @{
        InstallerPath = $InstallerPath
        OnlineMode = $OnlineMode
        SQLNCli = $SQLNCli
        PowerShell = $PowerShell
        NETFX = $NETFX
        IDFX = $IDFX
        Sync = $Sync
        AppFabric = $AppFabric
        IDFX11 = $IDFX11
        MSIPCClient = $MSIPCClient
        WCFDataServices = $WCFDataServices
        KB2671763 = $KB2671763
        WCFDataServices56 = $WCFDataServices56
        MSVCRT11 = $MSVCRT11
        MSVCRT14 = $MSVCRT14
        KB3092423 = $KB3092423
        ODBC = $ODBC
        DotNet452 = $DotNet452
    }
    
    if (($returnValue.Values | Where-Object { $_ -eq $false }).Count -gt 0) {
        $results.Ensure = "Absent"
    } else {
        $results.Ensure = "Present"
    }
    
    return $results
}

function Set-TargetResource
{
    [CmdletBinding()]
    param
    (
        [parameter(Mandatory = $true)]  [System.String]  $InstallerPath,
        [parameter(Mandatory = $true)]  [System.Boolean] $OnlineMode,
        [parameter(Mandatory = $false)] [System.String]  $SXSpath,
        [parameter(Mandatory = $false)] [System.String]  $SQLNCli,        
        [parameter(Mandatory = $false)] [System.String]  $PowerShell,        
        [parameter(Mandatory = $false)] [System.String]  $NETFX,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX,        
        [parameter(Mandatory = $false)] [System.String]  $Sync,        
        [parameter(Mandatory = $false)] [System.String]  $AppFabric,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX11,        
        [parameter(Mandatory = $false)] [System.String]  $MSIPCClient,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices,        
        [parameter(Mandatory = $false)] [System.String]  $KB2671763,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices56,        
        [parameter(Mandatory = $false)] [System.String]  $MSVCRT11,<commit_msg>Added missing properties to the prereq get method<commit_after>function Get-TargetResource
{
    [CmdletBinding()]
    [OutputType([System.Collections.Hashtable])]
    param
    (
        [parameter(Mandatory = $true)]  [System.String]  $InstallerPath,
        [parameter(Mandatory = $true)]  [System.Boolean] $OnlineMode,
        [parameter(Mandatory = $false)] [System.String]  $SXSpath,
        [parameter(Mandatory = $false)] [System.String]  $SQLNCli,        
        [parameter(Mandatory = $false)] [System.String]  $PowerShell,        
        [parameter(Mandatory = $false)] [System.String]  $NETFX,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX,        
        [parameter(Mandatory = $false)] [System.String]  $Sync,        
        [parameter(Mandatory = $false)] [System.String]  $AppFabric,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX11,        
        [parameter(Mandatory = $false)] [System.String]  $MSIPCClient,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices,        
        [parameter(Mandatory = $false)] [System.String]  $KB2671763,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices56,
        [parameter(Mandatory = $false)] [System.String]  $MSVCRT11,
        [parameter(Mandatory = $false)] [System.String]  $MSVCRT14,
        [parameter(Mandatory = $false)] [System.String]  $KB3092423,
        [parameter(Mandatory = $false)] [System.String]  $ODBC,
        [parameter(Mandatory = $false)] [System.String]  $DotNetFx,
        [parameter(Mandatory = $false)] [ValidateSet("Present","Absent")] [System.String] $Ensure = "Present"
    )
    
    $returnValue = @{}
    Write-Verbose -Message "Detecting SharePoint version from binaries"
    $majorVersion = (Get-SPDSCAssemblyVersion -PathToAssembly $InstallerPath)
    if ($majorVersion -eq 15) {
        Write-Verbose -Message "Version: SharePoint 2013"
    }
    if ($majorVersion -eq 16) {
        Write-Verbose -Message "Version: SharePoint 2016"
    }

    Write-Verbose -Message "Getting installed windows features"
        
    if ($majorVersion -eq 15) {
        $WindowsFeatures = Get-WindowsFeature -Name Application-Server, AS-NET-Framework, AS-TCP-Port-Sharing, AS-Web-Support, AS-WAS-Support, AS-HTTP-Activation, AS-Named-Pipes, AS-TCP-Activation, Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Http-Redirect, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filtering, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Cert-Auth, Web-IP-Security, Web-Url-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45, Web-Asp-Net, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Scripting, Web-WMI, Web-Scripting-Tools, NET-Framework-Features, NET-Framework-Core, NET-Framework-45-ASPNET, NET-WCF-HTTP-Activation45, NET-WCF-Pipe-Activation45, NET-WCF-TCP-Activation45, Server-Media-Foundation, Windows-Identity-Foundation, PowerShell-V2, WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs, XPS-Viewer
    }
    if ($majorVersion -eq 16) {
        $osVersion = [System.Environment]::OSVersion.Version.Major
        if ($osVersion -eq 10) {
            # Server 2016
            $WindowsFeatures = Get-WindowsFeature -Name Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filering, Web-Basic-Auth, Web-Digest-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45Web-Asp-Net, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Scripting, Web-WMI, NET-Framework-Features, NET-HTTP-Activation, NET-Non-HTTP-Activ, NET-Framework-45-ASPNET, NET-WCF-Pipe-Activation45, Windows-Identity-Foundation, WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs, XPS-Viewer
        } else {
            # Server 2012 R2
            $WindowsFeatures = Get-WindowsFeature -Name Application-Server, AS-NET-Framework, AS-Web-Support, Web-Server, Web-WebServer, Web-Common-Http, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Http-Redirect, Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, Web-Security, Web-Filtering, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Cert-Auth, Web-IP-Security, Web-Url-Auth, Web-Windows-Auth, Web-App-Dev, Web-Net-Ext, Web-Net-Ext45, Web-Asp-Net45, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, Web-Lgcy-Mgmt-Console, Web-Lgcy-Scripting, Web-WMI, Web-Scripting-Tools, NET-Framework-Features, NET-Framework-Core, NET-HTTP-Activation, NET-Non-HTTP-Activ, NET-Framework-45-ASPNET, NET-WCF-HTTP-Activation45, Windows-Identity-Foundation, PowerShell-V2, WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs    
        }
        
    }
    
    foreach ($feature in $WindowsFeatures) {
        $returnValue.Add($feature.Name, $feature.Installed)
    }

    Write-Verbose -Message "Checking windows packages"
    $installedItems = Get-CimInstance -ClassName Win32_Product
    
    #Common prereqs
    $returnValue.Add("AppFabric 1.1 for Windows Server", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "AppFabric 1.1 for Windows Server"})))
    $returnValue.Add("Microsoft CCR and DSS Runtime 2008 R3", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft CCR and DSS Runtime 2008 R3"})))
    $returnValue.Add("Microsoft Identity Extensions", (@(Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse | Where-Object -FilterScript {$_.GetValue("DisplayName") -eq "Microsoft Identity Extensions" }).Count -gt 0))    
    $returnValue.Add("Microsoft Sync Framework Runtime v1.0 SP1 (x64)", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Sync Framework Runtime v1.0 SP1 (x64)"})))
    $returnValue.Add("WCF Data Services 5.6.0 Runtime", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "WCF Data Services 5.6.0 Runtime"})))

    #SP2013 prereqs
    if ($majorVersion -eq 15) {
        $returnValue.Add("Active Directory Rights Management Services Client 2.*", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -like "Active Directory Rights Management Services Client 2.*"})))
        $returnValue.Add("Microsoft SQL Server Native Client (2008 R2 or 2012)", ($null -ne ($installedItems | Where-Object -FilterScript { $_.Name -match "SQL Server (2008 R2|2012) Native Client" })))
        $returnValue.Add("WCF Data Services 5.0 (for OData v3) Primary Components", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "WCF Data Services 5.0 (for OData v3) Primary Components"})))
    }

    #SP2016 prereqs
    if ($majorVersion -eq 16) {
        $returnValue.Add("Active Directory Rights Management Services Client 2.1", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Active Directory Rights Management Services Client 2.1"})))
        $returnValue.Add("Microsoft SQL Server 2012 Native Client", ($null -ne ($installedItems | Where-Object -FilterScript {$null -ne $_.Name -and $_.Name.Trim() -eq "Microsoft SQL Server 2012 Native Client"})))    
        $returnValue.Add("Microsoft ODBC Driver 11 for SQL Server", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft ODBC Driver 11 for SQL Server"})))    
        $returnValue.Add("Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030"})))    
        $returnValue.Add("Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030"})))
        $returnValue.Add("Microsoft Visual C++ 2015 x64 Minimum Runtime - 14.0.23026", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2015 x64 Minimum Runtime - 14.0.23026"})))    
        $returnValue.Add("Microsoft Visual C++ 2015 x64 Additional Runtime - 14.0.23026", ($null -ne ($installedItems | Where-Object -FilterScript {$_.Name -eq "Microsoft Visual C++ 2015 x64 Additional Runtime - 14.0.23026"})))            
    }
        
    $results = @{
        InstallerPath = $InstallerPath
        OnlineMode = $OnlineMode
        SXSpath = $SXSpath
        SQLNCli = $SQLNCli
        PowerShell = $PowerShell
        NETFX = $NETFX
        IDFX = $IDFX
        Sync = $Sync
        AppFabric = $AppFabric
        IDFX11 = $IDFX11
        MSIPCClient = $MSIPCClient
        WCFDataServices = $WCFDataServices
        KB2671763 = $KB2671763
        WCFDataServices56 = $WCFDataServices56
        MSVCRT11 = $MSVCRT11
        MSVCRT14 = $MSVCRT14
        KB3092423 = $KB3092423
        ODBC = $ODBC
        DotNetFx = $DotNetFx
    }
    
    if (($returnValue.Values | Where-Object { $_ -eq $false }).Count -gt 0) {
        $results.Ensure = "Absent"
    } else {
        $results.Ensure = "Present"
    }
    
    return $results
}

function Set-TargetResource
{
    [CmdletBinding()]
    param
    (
        [parameter(Mandatory = $true)]  [System.String]  $InstallerPath,
        [parameter(Mandatory = $true)]  [System.Boolean] $OnlineMode,
        [parameter(Mandatory = $false)] [System.String]  $SXSpath,
        [parameter(Mandatory = $false)] [System.String]  $SQLNCli,        
        [parameter(Mandatory = $false)] [System.String]  $PowerShell,        
        [parameter(Mandatory = $false)] [System.String]  $NETFX,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX,        
        [parameter(Mandatory = $false)] [System.String]  $Sync,        
        [parameter(Mandatory = $false)] [System.String]  $AppFabric,        
        [parameter(Mandatory = $false)] [System.String]  $IDFX11,        
        [parameter(Mandatory = $false)] [System.String]  $MSIPCClient,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices,        
        [parameter(Mandatory = $false)] [System.String]  $KB2671763,        
        [parameter(Mandatory = $false)] [System.String]  $WCFDataServices56,        
        [parameter(Mandatory = $false)] [System.String]  $MSVCRT11,
{'fraction_non_alphanumeric': 0.14016571772439013, 'fraction_numerical': 0.03138452992639911, 'mean_word_length': 3.297592997811816, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5835340', 'n_tokens_mistral': 7446, 'n_tokens_neox': 6810, 'n_words': 1550}