<component id="2" name="Script Component" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script" localeId="1033" version="10" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="15"><arrayElement dataType="System.String"><![CDATA[ScriptMain.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' CozyRoc SQL Server Integration Services user script component
'
' Copyright (c) 2006-2010 CozyRoc LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel
Imports System.Drawing.Design
Imports System.Windows.Forms
Imports System.Windows.Forms.Design
Imports System.Text
Imports System.Collections
Imports System.Text.RegularExpressions
Imports Microsoft.VisualBasic

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"InputColumns", "MapVariable", "CaseSensitive"})> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    Private Const ColumnSeparator As String = "," + vbLf


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Dim colsCount As Integer = m_inputIndexes.Length

        For colIndex As Integer = 0 To colsCount - 1
            If Row.Buffer.IsNull(colIndex) Then
                Continue For
            End If

            Dim colValue As String = Row.Buffer.GetString(colIndex)

            For Each pair As DictionaryEntry In m_map
                If Me.CaseSensitive Then
                    colValue = colValue.Replace(CStr(pair.Key), CStr(pair.Value))
                Else
                    colValue = Strings.Replace( _
                        colValue, _
                        CStr(pair.Key), _
                        CStr(pair.Value), _
                        1, _
                        -1, _
                        CompareMethod.Text)
                End If
            Next

            Call Row.Buffer.SetString(colIndex, colValue)
        Next
    End Sub ' Input_ProcessInputRow


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PreExecute()
        Call MyBase.PreExecute()

        Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)

        ' Setup dynamic input columns indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIndexes = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            m_inputIndexes(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(colIndex).LineageID)
        Next

        ' Get map object.
        Dim vars As IDTSVariables100
        Call MyBase.VariableDispenser.LockOneForRead(Me.MapVariable, vars)
        Try
            m_map = CType(vars(Me.MapVariable).Value, IDictionary)
        Finally
            Call vars.Unlock()
        End Try
    End Sub ' PreExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        Try
            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)

            If Not input.IsAttached Then
                ' Avoid validation if there is no input attached.
                Return True
            End If

            If String.IsNullOrEmpty(Me.InputColumns) Then
                Throw New ApplicationException("Select input columns.")
            End If

            If String.IsNullOrEmpty(Me.MapVariable) Then
                Throw New ApplicationException("Select map object variable.")
            End If

            ' Setup input columns based on selection.
            Dim selectedCols() As String = CStr(Me.InputColumns).Split(
                New String() {ColumnSeparator},
                StringSplitOptions.None)
            Dim virtInput As IDTSVirtualInput100 = Input.GetVirtualInput()

            Call input.InputColumnCollection.RemoveAll()

            For Each col As String In selectedCols
                If Not String.IsNullOrEmpty(col) Then
                    Dim virtColumn As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(col)
                    Call virtInput.SetUsageType(virtColumn.LineageID, DTSUsageType.UT_READONLY)
                End If
            Next

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select input columns for map transform.")> _
    <InputVirtualColumn("", False)> _
    Public Property InputColumns() As String
        Get
            InputColumns = m_inputCols
        End Get
        Set(ByVal value As String)
            m_inputCols = value
        End Set
    End Property    ' InputColumns


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select variable containing mapping object.")> _
    <Variable()> _
    Public Property MapVariable() As String
        Get
            MapVariable = m_mapVar
        End Get
        Set(ByVal value As String)
            m_mapVar = value
        End Set
    End Property    ' MapVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify if replace is case-sensitive.")> _
    Public Property CaseSensitive() As Boolean
        Get
            CaseSensitive = m_caseSensitive
        End Get
        Set(ByVal value As Boolean)
            m_caseSensitive = value
        End Set
    End Property    ' CaseSensitive
#End Region ' Properties


#Region "Internals"



#End Region ' Internals


#Region "Attributes"
    Private m_inputCols As String
    Private m_mapVar As String

    Private m_inputIndexes() As Integer
    Private m_map As IDictionary
    Private m_caseSensitive As Boolean
#End Region ' Attributes
End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_033230de85cd492c8cc6eb7e598516f5.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{1C062D90-A5E6-4EA4-A32A-9EAC17C8C284}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</RootNamespace>
    <AssemblyName>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2016, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies\CozyRoc.SSISPlus.2016.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_13.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Data">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Drawing">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.VisualBasic">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_SC120" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC130</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:CodeName>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>ScriptComponent_033230de85cd492c8cc6eb7e598516f5</msb:DisplayName>
		<msb:ProjectId>{C0B73F20-2E72-43A9-86FE-FB2E7374D723}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_033230de85cd492c8cc6eb7e598516f5.vbproj"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:Folder Include="My Project\"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_033230de85cd492c8cc6eb7e598516f5.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
KwoCe1QAAAoGb1YAAAoGKkoCKE0AAAoCc1cAAAp9VAAACioAQlNKQgEAAQAAAAAADAAAAHY0LjAu
MzAzMTkAAAAABQBsAAAASAoAACN+AAC0CgAADA0AACNTdHJpbmdzAAAAAMAXAAB4AAAAI1VTADgY
AAAQAAAAI0dVSUQAAABIGAAAmAQAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ4AAAD6ATMAFgAAAQAA
AD8AAAALAAAADwAAACUAAAAVAAAAVwAAAAEAAAA1AAAABwAAAAQAAAAKAAAADQAAAAgAAAABAAAA
CAAAAAIAAAADAAAAAgAAAAAAVQYBAAAAAAAGAOoEOAoGAEcFOAoGALYDeQkPAFgKAAAGADkEzQUK
AJ8DYAgKAHUDNQYKANwDNQYOAFwDyAkOAPcIjAkGAFIEeQkOAAkEEQoOACEENgIGAIALmgYOAM0I
yAkOAIYENgIGAFcDmgYGAPUD8gkOAA8BCwYKAIoDoQYSANIEcQoSALYEcQoWACAFGQMGAAoFmgYG
AOEMGgsGAEwJGgsGAO0MGgsaAO4AoAgeAN0AeAgaAPsAoAgaAD0AoAgGAEEHmgYKAKEENQYSAGoE
cQoSAMoDcQoSAFsLywEWANMLGQMiACYIGQMWAE0HGQMSAGwLywEGADIJGgsOAA4LEQoGAP0FmgYO
AKIKNgIOAGoCNgIaAAEAoAgaAJgAoAgGADkBmgYaAFcAoAgiAKMLGQMaAK8AoAgaACoAoAgeAMQA
eAgeABoAeAgGADYHmgYGADkLmgYaAHQAoAgaADoDoAgOACECEQoWADUIGQMGAEwLOAoGAOsCmgYG
AGIJmgYAAAAAhgEAAAAAAQABAAAAAADZBqUMJQABAAEAAAAAAPUIpQwpAAEAAgAAARAAhwulDDkA
AQADAAEAAAC+Bj8BHAAFAAgAAQAAAEIIPwGRAAsAEgABAAAAtQs/AaEACwAXAAEAAAAtCz8BOQAN
ABsAAQAAAGcKPwE5AA4AHAAFAQAAugkAADkADwAdAAUBAAAeAQAAOQAPACQAMQDkB8wBMQC7B9QB
MQDPB9wBMQD9B+QBUYAiCewBAQCxCuwBAQCyB+wBAQCTCu8BAQBlB/MBAQC9BfcBBgAtC/oBBgBn
Cv4BAQDDCwICAQDDCwICIQB9DIYBUCAAAAAABhhsCQYAAQBYIAAAAAAGGGwJBgABAGAgAAAAABEY
cgk6AQEAiiAAAAAAEwjoCAcCAQCWIAAAAAATCMkGDAIBAKIgAAAAABMIyQgRAgEAriAAAAAAEwiq
CRYCAQC6IAAAAAAGGGwJBgABAMQgAAAAAMYChwwbAgEAmCEAAAAAxgJlBQYAAgBwIgAAAAAGAGwD
IQICAHQjAAAAAAYIvQo2AQMAiSMAAAAABgjOChAAAwCUIwAAAAAGCMsCNgEEAKkjAAAAAAYI2wIQ
AAQAtCMAAAAABgiZBZcABQDJIwAAAAAGCKsFKQAFANIjAAAAAAYYbAlGAQYA4SMAAAAAxgrfCicC
CwDhIwAAAADGCvYKJwILAOwjAAAAAIYAnQyXAAsABCQAAAAAhgCRC5cACwAZJAAAAAAGGGwJBgAL
ADkkAAAAAMYCZwwsAgsAaSQAAAAARgNhDBsCDwB8JAAAAABGA4cMGwIQAH4kAAAAAAYYbAk4AhEA
jSQAAAAABhhsCTgCEgCcJAAAAADGAqoKWgETAKokAAAAAMYCqALDABQAsiQAAAAAgwBUAz8CFAC+
JAAAAADGAucFNgEUAMgkAAAAABEA+AFEAhQA6CQAAAAAAQDkAUwCFQDxJAAAAAAGGGwJBgAWAPwk
AAAAAAMIjwJWABYAMCUAAAAABhhsCQYAFgAAAAEAoQwAAAEAwAIAAAEAkwUAAAEAkwUAAAEAkwUA
AAEA6wsAAAIAugEAAAMAWQwAAAQARwgAAAUAWwcAAAEAwwEAAAIADwMAAAMARwgAAAQAWwcAAAEA
RwgAAAEAoQwAAAEA6wsAAAEA6wsAAAEASwcAAAEAnwIAAAEAnwIJAGwJAQARAGwJBgAZAGwJCgAp
AGwJEAAxAGwJFQBBAGwJGwBZAGwJBgBhAGwJBgBpAGwJBgCBAGwJIQCRAGwJKQChAGwJEACpAGwJ
LgCxAGwJEAC5AGwJBgDBAGwJKQAJAWwJEAARAWwJNAAZAWwJBgBJAGwJBgBRAGwJBgAMAGwJBgAU
AGwJBgAcAGwJBgAkAGwJBgAMAI8CVgAUAI8CVgAcAI8CVgAkAI8CVgAhARsIZwAxAYoGbQAxAfAF
cgDJAD4JdwBJAfULfADZANkMfABRAecFgADZAHAFfABZAXgChQBhAXgCiwBJAXQMlwAxAfoFmwAp
AWUFBgApAQsCqwBxASIHsQB5AZEGtwDhAOcGvQCJAQEMwwBBAeMLxwCRAU4IzQDhABsIwwCJAZEG
0wChAZYBwwCZAaQB2gApAdII4ACpAUwC5gDpAJEG7gCxAXAFfADpAAQGBgDhAFsClwBZAf0MBwG5
AWwJEABZAZ0LDAHhAEkMFgGJAUsGBgDxAAEHGwHJAZEGIQH5AJYBwwDxAEcDJwHZARIJLwEBAbQC
NgHZAQAJOgEhAWwJRgHhAZ0MlwDhAZELlwBBAWwJBgDhAI8BwwBxAGwJBgDpAYQFVQFxAKoKWgFx
AKgCwwCJAP0CXwFxAOcFNgH5AYACbwE0AH0MhgE8AHAFVgA8AHoFnQE8AGwJBgAOABQAxwEpAGMA
wAMuAAsAegIuABMAgwIuABsAogIuACMAqwJAADsA8wJAADMA+AJDACsABwNDADMA+AJJAGMA0QNj
ACsABwNjADMA+AJpAGMA5QOAADsA8wKDAEMA8wKDAEsA8wKDACsABwOJAGMA8gOgADsA8wKjAGsA
IAOjAHMAUAOjAHsA8wKjAIMAAQOpAIsABgSpAJMAMwTAADsA8wLDAIMAAQPJAIsAOgTJAJsA8wLg
ADsA8wLjAIMAAQPpAIsAagRDATMA+AJDAVMAXgNjATMA+AJjAVsAAQNgA4MAAQOAA4MAAQOgAzMA
+AKgAzsA8wLAAzMA+ALAAzsA8wLgAzMA+ALgAzsA8wIABDMA+AIABDsA8wIgBDsA8wJABDsA8wJg
BDsA8wJgBDMA+AKABDsA8wKgBDsA8wKgBDMA+AJbAKEA9QA+AUIBZwF6AQQAAQAFAAUABgAIAAsA
CgAAAPcIVAIAANsGWQIAAM0IXgIAALwJYwIAAOkKaAIAAN8CaAIAAK8FbAIAAOMKcAIAAPoKcAIA
AJMCdQICAAQAAwACAAUABQACAAYABwACAAcACQACAAwACwABAA0ACwACAA4ADQABAA8ADQACABAA
DwABABEADwACABMAEQACABQAEwACACQAFQA6AEEASABPAGwBfwGOAZUBBIAAAAAAAAAAAAAAAAAA
AAAAPwEAAAQAAAAAAAAAAAAAAKMBLQIAAAAABAAAAAAAAAAAAAAAowGaBgAAAAAKAAAAAAAAAAAA
AACsATYCAAAAAAEAAAAAAAAAAAAAALUBcAEAAAAADQAAAAAAAAAAAAAAvgELDAAAAAANAAAAAAAA
AAAAAAC+AY4HAAAAAA0AAAAAAAAAAAAAAL4BawcAAAAADQAAAAAAAAAAAAAAvgEoDAAAAAAKAAQA
CwAEAAAAEAAWAOIBAAAQAEMA4gEAAAAARQDiAacAdQGnAJgBAAAAAABJRFRTQ29tcG9uZW50TWV0
YURhdGExMDAASURUU1ZhcmlhYmxlMTAwAElEVFNJbnB1dENvbHVtbjEwMABJRFRTVmlydHVhbElu
cHV0Q29sdW1uMTAwAElEVFNJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAASURUU1ZpcnR1YWxJbnB1
dENvbHVtbkNvbGxlY3Rpb24xMDAASURUU0lucHV0Q29sbGVjdGlvbjEwMABJRFRTQnVmZmVyTWFu
YWdlcjEwMABJRFRTVmFyaWFibGVEaXNwZW5zZXIxMDAASURUU1ZhcmlhYmxlczEwMABJRFRTSW5w
dXQxMDAASURUU1ZpcnR1YWxJbnB1dDEwMABDb250ZXh0VmFsdWVgMQBUaHJlYWRTYWZlT2JqZWN0
UHJvdmlkZXJgMQBJbnQzMgBTY3JpcHRDb21wb25lbnRfMDMzMjMwZGU4NWNkNDkyYzhjYzZlYjdl
NTk4NTE2ZjUAQ296eVJvYy5TU0lTUGx1cy4yMDE2ADxNb2R1bGU+AGdldF9JRABnZXRfTGluZWFn
ZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABPYmplY3RJRABJbnB1dElEAENvenlSb2MuU3FsU2Vy
dmVyLlNTSVMAVABEaXNwb3NlX19JbnN0YW5jZV9fAENyZWF0ZV9fSW5zdGFuY2VfXwBnZXRfQ29t
cG9uZW50TWV0YURhdGEAUHJvamVjdERhdGEAbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2lj
AExvY2tPbmVGb3JSZWFkAGdldF9Jc0F0dGFjaGVkAENvbXBhcmVNZXRob2QAUmVwbGFjZQBDcmVh
dGVJbnN0YW5jZQBnZXRfR2V0SW5zdGFuY2UAaW5zdGFuY2UAR2V0SGFzaENvZGUAZ2V0X01lc3Nh
Z2UAZXJyTWVzc2FnZQBnZXRfTWFwVmFyaWFibGUAc2V0X01hcFZhcmlhYmxlAFJ1bnRpbWVUeXBl
SGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAElucHV0TmFtZQBNaWNyb3NvZnQuU3FsU2VydmVyLkR0
cy5QaXBlbGluZQBEVFNVc2FnZVR5cGUAU2V0VXNhZ2VUeXBlAEdldFR5cGUAQXBwbGljYXRpb25C
YXNlAFZhbGlkYXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAEhlbHBLZXl3b3JkQXR0cmlidXRlAEdl
bmVyYXRlZENvZGVBdHRyaWJ1dGUARGVidWdnYWJsZUF0dHJpYnV0ZQBWYXJpYWJsZUF0dHJpYnV0
ZQBFZGl0b3JCcm93c2FibGVBdHRyaWJ1dGUAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTdGFuZGFyZE1v
ZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBUYXJnZXRGcmFtZXdvcmtBdHRy
aWJ1dGUARGVidWdnZXJIaWRkZW5BdHRyaWJ1dGUASW5wdXRWaXJ0dWFsQ29sdW1uQXR0cmlidXRl
AE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAFZhbGlkYXRl
UHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBDb21waWxhdGlvblJl
bGF4YXRpb25zQXR0cmlidXRlAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0Q29tcG9u
ZW50RW50cnlQb2ludEF0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBQcmVF
eGVjdXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAR2V0T2JqZWN0VmFsdWUAdmFsdWUAZ2V0X0Nhc2VT
ZW5zaXRpdmUAc2V0X0Nhc2VTZW5zaXRpdmUAbV9jYXNlU2Vuc2l0aXZlAFN5c3RlbS5SdW50aW1l
LlZlcnNpb25pbmcAVG9TdHJpbmcAR2V0U3RyaW5nAFNldFN0cmluZwBVbmxvY2sATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAU3lzdGVtLkNvbXBvbmVudE1vZGVsAFJl
bW92ZUFsbABTY3JpcHRDb21wb25lbnRfMDMzMjMwZGU4NWNkNDkyYzhjYzZlYjdlNTk4NTE2ZjUu
ZGxsAElzTnVsbABnZXRfSXRlbQBTeXN0ZW0AU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBT
Y3JpcHRNYWluAGdldF9BcHBsaWNhdGlvbgBNeUFwcGxpY2F0aW9uAGdldF9JbnB1dENvbHVtbkNv
bGxlY3Rpb24AZ2V0X1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24AZ2V0X0lucHV0Q29sbGVj
dGlvbgBBcHBsaWNhdGlvbkV4Y2VwdGlvbgBvAE91dHB1dE5hbWVNYXAAT3V0cHV0TWFwAG1fbWFw
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUnVudGltZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5E
VFNQaXBlbGluZVdyYXAAbV9tYXBWYXIAbV9BcHBPYmplY3RQcm92aWRlcgBtX1VzZXJPYmplY3RQ
cm92aWRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJv
dmlkZXIAZ2V0X0J1ZmZlcgBQaXBlbGluZUJ1ZmZlcgBTY3JpcHRCdWZmZXIASW5wdXRCdWZmZXIA
Z2V0X0J1ZmZlck1hbmFnZXIAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIATWljcm9zb2Z0LlNxbFNl
cnZlci5EdHMuUnVudGltZS5XcmFwcGVyAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5l
LldyYXBwZXIAZ2V0X1VzZXIAZ2V0X1ZhcmlhYmxlRGlzcGVuc2VyAGdldF9Db21wdXRlcgBNeUNv
bXB1dGVyAENsZWFyUHJvamVjdEVycm9yAFNldFByb2plY3RFcnJvcgBDb2x1bW5TZXBhcmF0b3IA
SUVudW1lcmF0b3IAR2V0RW51bWVyYXRvcgBJRGljdGlvbmFyeUVudW1lcmF0b3IAQWN0aXZhdG9y
AC5jdG9yAC5jY3RvcgBTeXN0ZW0uRGlhZ25vc3RpY3MATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRl
dmljZXMAZ2V0X1dlYlNlcnZpY2VzAE15V2ViU2VydmljZXMATWljcm9zb2Z0LlZpc3VhbEJhc2lj
LkFwcGxpY2F0aW9uU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAE1pY3Jv
c29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVy
U2VydmljZXMARGVidWdnaW5nTW9kZXMAVmFyaWFibGVzAENvenlSb2MuU3FsU2VydmVyLlNTSVMu
QXR0cmlidXRlcwBtX2lucHV0SW5kZXhlcwBTdHJpbmdzAEVxdWFscwBtX2lucHV0Q29scwBnZXRf
SW5wdXRDb2x1bW5zAHNldF9JbnB1dENvbHVtbnMAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBnZXRf
U3RhdGljT3V0cHV0Q29sdW1ucwBDb252ZXJzaW9ucwBTeXN0ZW0uQ29sbGVjdGlvbnMAQ29ubmVj
dGlvbnMAU3RyaW5nU3BsaXRPcHRpb25zAFJ1bnRpbWVIZWxwZXJzAFNjcmlwdEJ1ZmZlclBsdXMA
U2NyaXB0Q29tcG9uZW50UGx1cwBPYmplY3QATXlQcm9qZWN0AEVuZE9mUm93c2V0AFNwbGl0AFBp
cGVsaW5lQ29tcG9uZW50AFVzZXJDb21wb25lbnQAUGFyZW50Q29tcG9uZW50AFNjcmlwdENvbXBv
bmVudABnZXRfSG9zdENvbXBvbmVudABnZXRfQ3VycmVudABnZXRfQ291bnQATWljcm9zb2Z0LlNx
bFNlcnZlci5UeFNjcmlwdABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9zdABHZXRWaXJ0
dWFsSW5wdXQASXNJbnB1dABJbnB1dF9Qcm9jZXNzSW5wdXQATW92ZU5leHQAbV9Db250ZXh0AElu
cHV0X1Byb2Nlc3NJbnB1dFJvdwBOZXh0Um93AFNjcmlwdENvbXBvbmVudF8wMzMyMzBkZTg1Y2Q0
OTJjOGNjNmViN2U1OTg1MTZmNS5NeQBnZXRfS2V5AElEaWN0aW9uYXJ5AERpY3Rpb25hcnlFbnRy
eQBJc051bGxPckVtcHR5AAAAK1MAZQBsAGUAYwB0ACAAaQBuAHAAdQB0ACAAYwBvAGwAdQBtAG4A
cwAuAAA3UwBlAGwAZQBjAHQAIABtAGEAcAAgAG8AYgBqAGUAYwB0ACAAdgBhAHIAaQBhAGIAbABl
AC4AAAUsAAoAAAtJAG4AcAB1AHQAAAAmF7HtjiOdR7fc/jzTCs/jAAQgAQEIAyAAAQUgAQEREQQg
AQEOBSACAQ4OBSABAREdByAEAQ4ODg4EIAEBAgUgAQEdDgUgAgEOAgYVEiwBEgwGFRIsARIIBhUS
LAESPQYVEiwBEigEIAATAAsHBggIDhJpEW0RbQUgABKAmQQgAQIIBCABDggEIAASaQMgABwEAAEO
HAUgAg4ODgsABg4ODg4ICBGAtQMgAAIFIAIBCA4JBwUScQgSdQgIBSAAEoC5BSAAEoC9BSABEnEc
BSAAEoDFAyAACAUgABKAyQUgABKAzQYgARKA0RwFIAIICAgFIAASgNUHIAIBDhASdQYgARKA2RwR
BwkCAhJxEnkdDggOEn0SgIEEAAECDgkgAh0OHQ4RgOEEIAASeQUgABKA5QUgARJ9HAcgAggIEYDp
BgABARKAgQMgAA4DAAABAwcBDgMHAQIOIAUBEoCVCAISgJkSgJ0EAAEcHAQgAQIcBwABEkURgPkE
BwEeAAIeAAUQAQAeAAQKAR4ABAcBEwAGFRIsARMABwYVEk0BEwAGFRJNARMAAhMABAoBEwAFIAEB
EwAIt3pcVhk04IkIsD9ffxHVCjoIFs9JC7gMNOoIiYRdzYCAzJEELAAKAAcGFRIsARIMBwYVEiwB
EggHBhUSLAESPQcGFRIsARIoAgYOAwYdCAMGEmUCBgIDBhIgAwYSJAQGEoCVBAAAEgwEAAASCAQA
ABI9BAAAEigFIAEBEhgFIAECEA4EIAAdDgsgBAEIDhKAmRKAnQYgAQESgJUEIAASRQcQAQEeAB4A
BzABAQEQHgAECAASDAQIABIIBAgAEj0ECAASKAMoAA4DKAACBCgAHQ4EKAATAAgBAAgAAAAAAB4B
AAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwEIAQACAAAAAABHAQAaLk5FVEZyYW1ld29yayxW
ZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQEAQAA
AAgBAAEAAAAAAAUBAAAAABgBAApNeVRlbXBsYXRlCDExLjAuMC4wAAAvAQADAAAADElucHV0Q29s
dW1ucwtNYXBWYXJpYWJsZQ1DYXNlU2Vuc2l0aXZlAAANAQAIVmFsaWRhdGUAAGEBADRTeXN0ZW0u
V2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5z
dGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAAEAEAC015LkNvbXB1dGVyAAATAQAOTXkuQXBw
bGljYXRpb24AAAwBAAdNeS5Vc2VyAAATAQAOTXkuV2ViU2VydmljZXMAACwBACdTZWxlY3QgaW5w
dXQgY29sdW1ucyBmb3IgbWFwIHRyYW5zZm9ybS4AAAYBAAAAAAAvAQAqU2VsZWN0IHZhcmlhYmxl
IGNvbnRhaW5pbmcgbWFwcGluZyBvYmplY3QuAAAqAQAlU3BlY2lmeSBpZiByZXBsYWNlIGlzIGNh
c2Utc2Vuc2l0aXZlLgAAAAAATEIAAAAAAAAAAAAAZkIAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AFhCAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACAAEAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAA
ABgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAA
7AIAAAAAAAAAAAAA7AI0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4A
AAEAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEA
cgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACw
BEwCAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAACgCAAABADAAMAAwADAAMAA0AGIA
MAAAACwAAgABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAAAgAAAAMAAIAAEARgBp
AGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAwAC4AMAAuADAALgAwAAAAigA1AAEASQBuAHQAZQByAG4A
YQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADAAMwAzADIAMwAw
AGQAZQA4ADUAYwBkADQAOQAyAGMAOABjAGMANgBlAGIANwBlADUAOQA4ADUAMQA2AGYANQAuAGQA
bABsAAAAAAAoAAIAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAAAgAAAAkgA1AAEATwBy
AGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUA
bgB0AF8AMAAzADMAMgAzADAAZABlADgANQBjAGQANAA5ADIAYwA4AGMAYwA2AGUAYgA3AGUANQA5
ADgANQAxADYAZgA1AC4AZABsAGwAAAAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8A
bgAAADAALgAwAC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBu
AAAAMAAuADAALgAwAC4AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwAAAB4MgAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></arrayElement></arrayElements></property><property id="5" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_033230de85cd492c8cc6eb7e598516f5</property><property id="6" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property><property id="12" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</property></properties><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns /></input></inputs><outputs><output id="16" name="Output" synchronousInputId="15"><externalMetadataColumns /></output></outputs></component>