<component id="37" name="Date Format" componentClassID="{2E42D45B-F83C-400F-8D77-61DDE6A7DF29}" description="Executes a custom script." localeId="1033" usesDispositions="false" validateExternalMetadata="True" version="4" pipelineVersion="0" 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="41" name="SourceCode" dataType="System.String" state="cdata" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="18"><arrayElement dataType="System.String"><![CDATA[\my project\settings.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                        System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\assemblyinfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following 
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_734833735a85416a916be11bd46904d1.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_734833735a85416a916be11bd46904d1.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2013")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("9d8c397a-12c9-483c-ba91-5bb1b0578fe5")> 

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\bufferwrapper.vb]]></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)
        MyBase.New(Component, ObjectID, IsInput, Buffer)
    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[\my project\resources.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\componentwrapper.vb]]></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 Buffer As PipelineBuffer)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer))
        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[\my project\resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\main.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' COZYROC SQL Server Integration Services user script component
'
' Copyright (c) 2006-2013 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.Globalization
Imports System.Collections

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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"Columns", "InputCulture", "Options", "OutputCulture", "Format"})> _
<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_inputIdx.Length

        For colIndex As Integer = 0 To colsCount - 1
            Dim bufIndex As Integer = m_inputIdx(colIndex)

            If Row.Buffer.IsNull(bufIndex) Then
                Continue For
            End If

            Try
                Dim colValue As String = Row.Buffer.GetString(bufIndex)

                Dim dt As DateTime
                If DateTime.TryParse(colValue, m_inCulture, m_dts, dt) Then
                    Call Row.Buffer.SetString(bufIndex, dt.ToString(Me.Format, m_outCulture))
                Else
                    Call FireWarning_(String.Format("Failed to parse date: {0}",  colValue))
                End If
            Catch ex As Exception
                Call FireError_(ex.Message)
            End Try
        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_inputIdx = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            m_inputIdx(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(colIndex).LineageID)
        Next

        m_inCulture = CultureInfo.GetCultureInfo(m_icid)
        m_outCulture = CultureInfo.GetCultureInfo(m_ocid)

        ' Initialize parse options.
        m_dts = DateTimeStyles.None
        Dim optionsList() As String = CStr(Me.Options).Split( _
            New String() {ColumnSeparator}, _
            StringSplitOptions.None)
        For Each opt As String In optionsList
            m_dts = m_dts Or CType( _
                System.Enum.Parse(GetType(DateTimeStyles), opt), _
                DateTimeStyles)
        Next
    End Sub ' PreExecute


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

        Try
            If String.IsNullOrEmpty(Me.Columns) Then
                Throw New Exception("Select input columns.")
            End If

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

            ' Setup input columns based on selection.
            Dim selectedCols() As String = CStr(Me.Columns).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_READWRITE)
                End If
            Next

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

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of available cultures.
    Public Function GetCultures() As Object()
        Dim result As New ArrayList()

        Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
        For Each culture As CultureInfo In cultures
            Call result.Add(culture.DisplayName)
        Next

        GetCultures = result.ToArray()
    End Function    ' GetCultures


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function GetDateParseOptions() As Object()
        GetDateParseOptions = System.Enum.GetNames(GetType(DateTimeStyles))
    End Function    ' GetDateParseOptions


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Input")> _
    <Description("Select input columns you want to process.")> _
    <InputVirtualColumn("", False)> _
    Public Property Columns() As String
        Get
            Columns = m_inputCols
        End Get
        Set(ByVal value As String)
            m_inputCols = value
        End Set
    End Property    ' Columns


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Input")> _
    <Description("Select input date parse culture.")> _
    <List("GetCultures")> _
    Public Property InputCulture() As String
        Get
            InputCulture = CultureInfo.GetCultureInfo(m_icid).DisplayName
        End Get
        Set(ByVal value As String)
            m_icid = GetIdFromDisplayName_(value)
        End Set
    End Property    ' InputCulture


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Input")> _
    <Description("Specify date parse options.")> _
    <List("GetDateParseOptions", True, False)> _
    <DefaultValue("None")> _
    Public Property Options() As String
        Get
            Options = m_options
        End Get
        Set(ByVal value As String)
            m_options = value
        End Set
    End Property    ' Options


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Output")> _
    <Description("Select output date format culture.")> _
    <List("GetCultures")> _
    Public Property OutputCulture() As String
        Get
            OutputCulture = CultureInfo.GetCultureInfo(m_ocid).DisplayName
        End Get
        Set(ByVal value As String)
            m_ocid = GetIdFromDisplayName_(value)
        End Set
    End Property    ' OutputCulture


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Output")> _
    <Description("Specify output date format.")> _
    Public Property Format() As String
        Get
            Format = m_format
        End Get
        Set(ByVal value As String)
            m_format = value
        End Set
    End Property    ' Format
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Date Format", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireWarning_(ByVal message As String)
        Call MyBase.ComponentMetaData.FireWarning( _
            0, _
            "Date Format", _
            message, _
            String.Empty, _
            0)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetIdFromDisplayName_(ByVal displayName As String) As Integer
        Dim result As Integer = CultureInfo.CurrentCulture.LCID

        If Not String.IsNullOrEmpty(displayName) Then
            Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
            For Each culture As CultureInfo In cultures
                If culture.DisplayName.Equals(displayName) Then
                    ' Found culture.
                    result = culture.LCID
                    Exit For
                End If
            Next
        End If

        GetIdFromDisplayName_ = result
    End Function    ' GetIdFromDisplayName_
#End Region ' Internals


#Region "Attributes"
    Private m_inputCols As String = String.Empty
    Private m_icid As Integer = CultureInfo.CurrentCulture.LCID
    Private m_options As String
    Private m_ocid As Integer = CultureInfo.CurrentCulture.LCID
    Private m_format As String
    Private m_inputIdx() As Integer
    Private m_inCulture As CultureInfo
    Private m_outCulture As CultureInfo
    Private m_dts As DateTimeStyles
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\scriptcomponent_734833735a85416a916be11bd46904d1.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_734833735a85416a916be11bd46904d1.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_734833735a85416a916be11bd46904d1.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{EFF50CEF-089C-4DE2-AF4C-7BBABC2C825F}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
  </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>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </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="{A860303F-1F3F-4691-B57E-529FC101A107}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{C1B21C64-9E6F-4923-A89D-9F958503C1CE}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_ScriptComponent</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement></arrayElements></property>
<property id="42" name="BinaryCode" dataType="System.String" state="cdata" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[\bin\scriptcomponent_734833735a85416a916be11bd46904d1.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
HgKAFQAABCpCcxcAAAooEQAACoAXAAAEKgAAAB4CKF0AAAoqGzABAD8AAAAeAAARfhYAAAQtMn4X
AAAEKBEAAAooXgAACn4WAAAELRxzNAAABoAWAAAE3hB+FwAABCgRAAAKKF8AAArcfhYAAAQqAAEM
AAACAB0ADCkAEAAAAAFCU0pCAQABAAAAAAAMAAAAdjIuMC41MDcyNwAAAAAFAGwAAAAoDQAAI34A
AJQNAABMEAAAI1N0cmluZ3MAAAAA4B0AAMAAAAAjVVMAoB4AABAAAAAjR1VJRAAAALAeAABUBgAA
I0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPoBMwAWAAABAAAARwAAAA0AAAAXAAAANQAAABgAAABq
AAAAAQAAAEoAAAAeAAAABgAAAA8AAAAVAAAACQAAAAEAAAAHAAAAAQAAAAIAAAADAAAAAgAAAAAA
DxABAAAAAAAKAKkBfwEKAN0BvwEGAO0B5gEKAEUCfwEGAMMC5gEKAEUDGwMOAJcDgAMSAOYDxQMW
ABcExQMOALIEgAMGAIgGcwYGAK0GcwYGAAUH9AYaAHgHYwcaAMUHrwcaAN4HrwcaAAsI8wcGADUI
IggKAHQITQgKAIwIEwAaAMEIpAgGAPYI1ggGABQJ5gEGADgJ5gEKAFEJEwAGAJUJdgkGAKkJ5gES
ALAJxQMGAL0J5gEeACAK9wkeAE8K9wkeAHoK9wkGALkK5gEGAMIK5gEGAOgK5gEKAAsLTQgGAEUL
5gEeAEsL9wkWAIwLxQMeALAL9wkeANcL9wkGAB0M5gEGADYM5gEKAEEMTQgeAFcM9wkeAGsM9wke
AK0M9wkeAPIM9wkGAB8NDA0GACkNcwYSAHENxQMOALoNmA0OANYNmA0aAO4NrwcOAAQOmA0aABIO
rwcaACcOrwcOADkOmA0GAGcOVQ4GAI4OfQ4GAKEOIggGAAoP1ggGACoP1ggGAEgPVQ4GAGUPdgkG
AHMPVQ4GAI4PVQ4GAKkPVQ4GAMIPVQ4GANsPVQ4GAPgPVQ4AAAAAAQAAAAAAAQABAAAAAAApADcA
BQABAAEAAAAAAHIANwAJAAEAAgAAARAAfQA3AA0AAQADAAUBAACHAAAADQAFAAgABQEAAJUAAAAN
AAUADwABAAAAsAC8AB0ABgARAAEAAAD0ALwAKQAGABYAAQAAAAIBvAANAAgAGgABAAAADgG8AA0A
CQAbAAEAAAAYAbwAIAAKABwAAAAAACMBLwENABQALwAAARAAdAG8ADkAFgAzADEACAIgADEAMQIt
ADEAUwI6ADEAeAJHACEAVAOQAAYAAgHHAAYADgHLAAEACAXcAAEACAXcAFGAGAXmAAEAOwbmAAEA
RwYDAQEATgbmAAEAWAYDAQEAXwbmAAEAaAYGAQEAlAYKAQEAoAYKAQEAvAYOAREAFQcWAREAHQcK
AREAkAc0AREAmAc4AQghAAAAAAYYuQETAAEAECEAAAAABhi5ARMAAQAYIQAAAAARGPQBFwABAEQh
AAAAABMI+wEbAAEAXCEAAAAAEwghAigAAQB0IQAAAAATCEoCNQABAIwhAAAAABMIaAJCAAEApCEA
AAAARgKuAmMAAQDAIQAAAABGArcCaAACANQhAAAAAIMAyAJsAAIA7CEAAAAARgLQAnEAAgAAIgAA
AAARANkCeAACABwiAAAAAAEA9wKAAAMAOCIAAAAABhi5ARMABABAIgAAAAADCAsDiwAEAHQiAAAA
AAYYuQETAAQAiCIAAAAABhi5Aa8ABACYIgAAAABGCkgEuQAIAKwiAAAAAEYKXwS5AAgAwCIAAAAA
hgB3BL4ACADYIgAAAACGAH8EvgAIAPAiAAAAAAYYuQETAAgAECMAAAAARgLGBM8ACABAIwAAAABG
A9sE1gAKAFQjAAAAAEYD7gTWAAsAWCMAAAAABhi5AeAADABoIwAAAAAGGLkB4AANAHgjAAAAAAYY
uQETAA4ArCMAAAAARgLuBNYADgB4JAAAAABGAigFEwAPAJAlAAAAAAYAMwXuAA8AeCYAAAAABgBH
BfQAEADEJgAAAAAGAFMF9AAQAOQmAAAAAAYIZwVxABAA/CYAAAAABghzBfkAEAAIJwAAAAAGCIUF
cQARACgnAAAAAAYIlgX5ABEAOCcAAAAABginBXEAEgBQJwAAAAAGCLMF+QASAFwnAAAAAAYIvwVx
ABMAfCcAAAAABgjRBfkAEwCMJwAAAAAGCOMFcQAUAKQnAAAAAAYI7gX5ABQAsCcAAAAAAQD5BfkA
FQDcJwAAAAABAAwG+QAWAPgnAAAAAAEAGQb+ABcAWCgAAAAAAxi5ARMAGABgKAAAAAAWCCkHGgEY
AJwoAAAAABYIPQcfARgAsCgAAAAAFghJByQBGAC4KAAAAAARGPQBFwAZAMwoAAAAAAYYuQETABkA
1CgAAAAAFgilBzsBGQAAAAEAtQIAAAEA7gIAAAEA7gIAAAEAJgQAAAIAMAQAAAMAOQQAAAQAQQQA
AAEA0wQAAAIAQQQAAAEAQQQAAAEABAUAAAEAJgQAAAEAJgQAAAEABAUAAAEAPAUAAAEAfwUAAAEA
fwUAAAEAfwUAAAEAfwUAAAEAfwUAAAEABAYAAAEABAYAAAEALwYAAAEAVQcJALkBEwB5ALkBRQGJ
ALkBVAERALkBEwCRALkBEwAkALkBEwAsALkBEwA0ALkBEwA8ALkBEwAkAAsDiwAsAAsDiwA0AAsD
iwA8AAsDiwCZALkBEwChALkBEwCpALkB+QCxAAUJ7QEZAK4CYwAZALcCaAApACYJ+gEZANACcQDB
AEIJCgIZALkBEwDJALkBGgJEAFQDkABMAKUHiwBMAGwJlwJMALkBEwDRALkBpAI5ALkBrwDhAHcE
vgDhAH8EvgDpALkBpAJRALkBEwBBADkKtALxAGYKuQL5AIcKvgIBAZAKaADZAJcK5gBZAJ0KHwFZ
ALAKaAA5AMwKxQJJANcKygJJAN4KzwIJAfgK1AIJAdAC4gJJAAEL6gLZAO0G8AIhARcL9gIRAScL
cQAhATMLFwBBACgFEwABAWgLCwMxAYILaABRAJ4LEQM5AcULFwMBAcwKaAAxAYcKHQNJAeoLaABB
AfgLJANZAA4MKgPZADAMMANZATsMOgNhAU0MQQPZAIUMVwMRAbkB+QABAZMMXAMxAaMMEwBpAdEM
YgN5AYcKaANxAeoLaABpAf8MbwOJAbkBEwBZAEcFkANZADYNcQCJAUYNmQOJAUoN9ABZAVINrwPx
AFsNuwPxAGUNxgPZAK4CzwOZAbkBEwChAbkB+QCpAbkB8AOxAbkB+QC5AbkBOwTBAbkB+QDJAbkB
+QC5AbkB+QDRAbkBwAQpAHAOUQVpALkBVwVxALkBEwDhAZYOdAXhAZwOdAXpAbkBEwDxAbkBfgX5
AbkBEwABArkB+QAJArkB+QARArkB+QAZArkB+QAhArkB+QApArkB+QAxArkB+QA5ArkB+QAOACgA
6QApAIMAzwEuADMD6AUuAEsDqQIuAFMDCAYuAAsB4gUuADsDCAYuAEMDRQYuACsDqQIuAAsDgwUu
ABMDjAUuABsDqwUuACMDuAUuAOsAqQJAABMASwFAACsAcgFDABsAWgFDABMASwFJAIMApwFjABsA
WgFjABMASwFpAIMA4AGAACsAcgGDAHsAcgGDABsAWgGDAHMAcgGJAIMAuwGgACsAcgGjAMMAIgKj
ABMASwHAACsAcgHDABMASwHDAOsAqQLgACsAcgHjAAsBqQIAASsAcgEAARMASwEDAQsBqQIJAcMC
fgQJAbsCzQQJAdMCxgQgASsAcgEgARMASwEpAcsCiQQpAcMCfgQpAbsCmgRAARMASwFAASsAcgFJ
AasCMQRJAbsCXQRJAbMCQgRJAcMCfgRgASsAcgFgARMASwFjAZMCcgFjAQsBqQJjAZsC4gNjAaMC
9gNpAbsC/ARpAcsCiQRpAcMCJAWAASsAcgGJAcMCJAWJAbsCMAWgASsAcgGpARMAawXAASsAcgHA
ARMASwHJARMAawXgASsAcgHpAQMDcgEAAhMASwEAAisAcgFAAwsBqQJgAwsBqQKTAZgBnQGiAfIB
9gEBAgYCFQIVAp0CrwKvAvIB8gH9AkYDdwOeA7YDBgIGAgYCBgIGAvIB1ANfBWYFeQUEAAEABgAF
AAcABgALAAgADAANAA0ADwAAAN0BTwAAAJYCVAAAAEUCWQAAAKICXgAAAF4DmAAAAIsEwgAAAJ4E
wgAAAMIGEgEAAMoGEgEAANcGEgEAAN8GEgEAAO0GEgEAAAUHKgEAAFsHLwEAAFUHQAECAAQAAwAC
AAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwACACIAEQABACMAEQABACUAEwACACQA
EwABACcAFQACACYAFQACACgAFwABACkAFwACACoAGQABACsAGQACADAAGwACADEAHQABADIAHQAC
ADUAHwB1AHUAiAB3AX4BhQGMAYQCiwIEgAAAAQAAAAAAAAAAAAAAAAC8AAAAAgAAAAAAAAAAAAAA
AQAKAAAAAAAIAAAAAAAAAAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0AagMAAAAACgAAAAAAAAAA
AAAApgCoAwAAAAAKAAAAAAAAAAAAAACmAPYDAAAAAAIAAAAAAAAAAAAAAAEA5gEAAAAACgAAAAAA
AAAAAAAApgDTCQAAAAAAAAAAAQAAAL4OAAAFAAQABgAEAAAAEAAMAOwCAAAQABkA7AIAAAAAGwDs
Ai0AEAItAJICAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlB
cHBsaWNhdGlvbgBTY3JpcHRDb21wb25lbnRfNzM0ODMzNzM1YTg1NDE2YTkxNmJlMTFiZDQ2OTA0
ZDEudmJwcm9qLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2Fm
ZU9iamVjdFByb3ZpZGVyYDEASW5wdXRCdWZmZXIAU2NyaXB0Q29tcG9uZW50XzczNDgzMzczNWE4
NTQxNmE5MTZiZTExYmQ0NjkwNGQxLnZicHJvagBVc2VyQ29tcG9uZW50AENvbm5lY3Rpb25zAFZh
cmlhYmxlcwBTY3JpcHRNYWluAE15UmVzb3VyY2VzAFNjcmlwdENvbXBvbmVudF83MzQ4MzM3MzVh
ODU0MTZhOTE2YmUxMWJkNDY5MDRkMS52YnByb2ouTXkuUmVzb3VyY2VzAE15U2V0dGluZ3MATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5j
dG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QA
LmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0
aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRl
cgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRp
b24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5n
AENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dl
dEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRl
eHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBDb3p5Um9jLlNTSVNQbHVzLjIwMDgAQ296
eVJvYy5TcWxTZXJ2ZXIuU1NJUwBTY3JpcHRCdWZmZXJQbHVzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIu
VHhTY3JpcHQATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUAU2NyaXB0Q29tcG9uZW50
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuUGlwZWxpbmVIb3N0AFBpcGVsaW5lQnVmZmVyAENvbXBvbmVu
dABPYmplY3RJRABJc0lucHV0AEJ1ZmZlcgBnZXRfU3RhdGljSW5wdXRDb2x1bW5zAGdldF9TdGF0
aWNPdXRwdXRDb2x1bW5zAE5leHRSb3cARW5kT2ZSb3dzZXQAU3RhdGljSW5wdXRDb2x1bW5zAFN0
YXRpY091dHB1dENvbHVtbnMAU2NyaXB0Q29tcG9uZW50UGx1cwBQcm9jZXNzSW5wdXQASW5wdXRJ
RABJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21w
b25lbnQAQ29sdW1uU2VwYXJhdG9yAFByZUV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBHZXRD
dWx0dXJlcwBHZXREYXRlUGFyc2VPcHRpb25zAGdldF9Db2x1bW5zAHNldF9Db2x1bW5zAHZhbHVl
AGdldF9JbnB1dEN1bHR1cmUAc2V0X0lucHV0Q3VsdHVyZQBnZXRfT3B0aW9ucwBzZXRfT3B0aW9u
cwBnZXRfT3V0cHV0Q3VsdHVyZQBzZXRfT3V0cHV0Q3VsdHVyZQBnZXRfRm9ybWF0AHNldF9Gb3Jt
YXQARmlyZUVycm9yXwBtZXNzYWdlAEZpcmVXYXJuaW5nXwBHZXRJZEZyb21EaXNwbGF5TmFtZV8A
ZGlzcGxheU5hbWUAbV9pbnB1dENvbHMAbV9pY2lkAG1fb3B0aW9ucwBtX29jaWQAbV9mb3JtYXQA
bV9pbnB1dElkeABTeXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBtX2luQ3VsdHVyZQBt
X291dEN1bHR1cmUARGF0ZVRpbWVTdHlsZXMAbV9kdHMAQ29sdW1ucwBJbnB1dEN1bHR1cmUAT3B0
aW9ucwBPdXRwdXRDdWx0dXJlAEZvcm1hdABTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdl
cgBfcmVzTWdyAF9yZXNDdWx0dXJlAGdldF9SZXNvdXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0
X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0uQ29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNl
dHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVjdABnZXRfVmFsdWUAU3lzdGVtLkNvbXBvbmVu
dE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0
ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9z
dGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGls
ZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0
ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3Rl
bS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUA
UnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3Rh
bmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5J
bnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJpYnV0ZQBTdHJpbmcAU2NyaXB0QnVmZmVyAENM
U0NvbXBsaWFudEF0dHJpYnV0ZQBNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABN
aWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRh
RGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU0lucHV0Q29sbGVjdGlvbjEwMABnZXRf
SW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABnZXRfSXRlbQBnZXRfSUQARW1wdHkAZ2V0X0N1
cnJlbnRDdWx0dXJlAGdldF9MQ0lEAERhdGVUaW1lAEV4Y2VwdGlvbgBnZXRfQnVmZmVyAElzTnVs
bABHZXRTdHJpbmcASUZvcm1hdFByb3ZpZGVyAFRyeVBhcnNlAFNldFN0cmluZwBQcm9qZWN0RGF0
YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQ2xlYXJQcm9qZWN0RXJyb3IASW50MzIASURU
U0lucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9D
b3VudABQaXBlbGluZUNvbXBvbmVudABnZXRfSG9zdENvbXBvbmVudABJRFRTQnVmZmVyTWFuYWdl
cjEwMABnZXRfQnVmZmVyTWFuYWdlcgBJRFRTSW5wdXRDb2x1bW4xMDAAZ2V0X0xpbmVhZ2VJRABG
aW5kQ29sdW1uQnlMaW5lYWdlSUQAR2V0Q3VsdHVyZUluZm8AU3RyaW5nU3BsaXRPcHRpb25zAFNw
bGl0AEVudW0AUGFyc2UAQ29udmVyc2lvbnMAVG9JbnRlZ2VyAElEVFNWaXJ0dWFsSW5wdXQxMDAA
SURUU1ZpcnR1YWxJbnB1dENvbHVtbjEwMABJc051bGxPckVtcHR5AEdldFZpcnR1YWxJbnB1dABS
ZW1vdmVBbGwASURUU1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X1ZpcnR1YWxJ
bnB1dENvbHVtbkNvbGxlY3Rpb24ARFRTVXNhZ2VUeXBlAFNldFVzYWdlVHlwZQBTeXN0ZW0uQ29s
bGVjdGlvbnMAQXJyYXlMaXN0AEN1bHR1cmVUeXBlcwBnZXRfRGlzcGxheU5hbWUAQWRkAFRvQXJy
YXkAR2V0TmFtZXMARmlyZUVycm9yAEZpcmVXYXJuaW5nAFNTSVNTY3JpcHRDb21wb25lbnRFbnRy
eVBvaW50QXR0cmlidXRlAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBWYWxpZGF0
ZVByb3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUARGVmYXVsdFZhbHVl
QXR0cmlidXRlAExpc3RBdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAQ2F0ZWdvcnlBdHRy
aWJ1dGUASW5wdXRWaXJ0dWFsQ29sdW1uQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2Vt
Ymx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1
Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF83MzQ4MzM3MzVhODU0MTZh
OTE2YmUxMWJkNDY5MDRkMS52YnByb2ouUmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJl
bGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAEFzc2VtYmx5
RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJp
YnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUA
QXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNz
ZW1ibHlUaXRsZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfNzM0ODMzNzM1YTg1NDE2YTkxNmJl
MTFiZDQ2OTA0ZDEudmJwcm9qLmRsbAAAAAtJAG4AcAB1AHQAADNGAGEAaQBsAGUAZAAgAHQAbwAg
AHAAYQByAHMAZQAgAGQAYQB0AGUAOgAgAHsAMAB9AAAFLAAKAAArUwBlAGwAZQBjAHQAIABpAG4A
cAB1AHQAIABjAG8AbAB1AG0AbgBzAC4AABdEAGEAdABlACAARgBvAHIAbQBhAHQAADFNAHkALgBS
AGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAAAAAW89PyHwb7kGeMM5R
vMYuRAAIt3pcVhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARII
BAAAEhEHBhUSGAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQg
ABIVAyAADgIeAAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoI
iYRdzYCAzJEJIAQBEiEIAhIlBCAAHQ4DIAACBCgAHQ4DBhIkAwYSKAYgAgEIEiUFIAEBEhwDBhIh
BSABARIhAgYOBCwACgAFIAECEA4EIAAdHAQgAQEOBCABCA4CBggDBh0IAwYSLQMGETEDKAAOAwYS
NQQAABI1BAAAEi0FAAEBEi0ECAASNQQIABItAwYSNAIGHAQAABI0BAgAEjQFIAEBEUEIAQABAAAA
AAAFIAIBDg4XAQAKTXlUZW1wbGF0ZQc4LjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAES
EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBsaWNhdGlvbgAAEwEADk15Lldl
YlNlcnZpY2VzAAAQAQALTXkuQ29tcHV0ZXIAAAwBAAdNeS5Vc2VyAAAEAAEcHAMHAQIDBwEIBgAB
EhURXQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp
Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE
aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAYHAhMAEwAEIAEB
AgUBAAAAAAQHAR0OBCAAEnkEIAASfQYgARKAgRwEIAASJQQgAQIIBCABDggNAAQCDhKAjRExEBGA
hQcgAg4OEoCNBSACAQgOBQACDg4cBgABARKAiQ0HBwgICA4RgIUSgIkIBSAAEoCZBSAAEoCdBSAA
EoChBiABEoClHAUgAggICAUAARItCAkgAh0OHQ4RgKkGAAIcEhUOBAABCBwQBwkIEoCBHQ4IDggd
DggdDgQAAQIOBSAAEoC1BSAAEoC9BiABEoC5HAcgAggIEYDBGAcLAgISgIEdDhKAtQ4SgLkSgIkd
DggdDggAAR0SLRGAyQQgAQgcEAcGHRItHRwSgMUSLQgdEi0GAAEdDhIVBAcBHRwKIAYBCA4ODggQ
AgggBQEIDg4OCAQgAQIODQcGCAgdEi0SLQgdEi0NAQAIVmFsaWRhdGUAAAUgAQEdDjoBAAUAAAAH
Q29sdW1ucwxJbnB1dEN1bHR1cmUHT3B0aW9ucw1PdXRwdXRDdWx0dXJlBkZvcm1hdAAACQEABE5v
bmUAAAYgAwEOAgIaAQATR2V0RGF0ZVBhcnNlT3B0aW9ucwEAAAAgAQAbU3BlY2lmeSBkYXRlIHBh
cnNlIG9wdGlvbnMuAAAKAQAFSW5wdXQAABABAAtHZXRDdWx0dXJlcwAAJQEAIFNlbGVjdCBpbnB1
dCBkYXRlIHBhcnNlIGN1bHR1cmUuAAAFIAIBDgIGAQAAAAAALgEAKVNlbGVjdCBpbnB1dCBjb2x1
bW5zIHlvdSB3YW50IHRvIHByb2Nlc3MuAAAnAQAiU2VsZWN0IG91dHB1dCBkYXRlIGZvcm1hdCBj
dWx0dXJlLgAACwEABk91dHB1dAAAIAEAG1NwZWNpZnkgb3V0cHV0IGRhdGUgZm9ybWF0LgAABSAA
EoDtByACAQ4SgO0GBwISNRI1BAcBEi0IAQACAAAAAAAEAAEBHAQHARI0BCABAQgIAQAIAAAAAAAe
AQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBDAEABzEuMC4wLjAAACkBACQ5ZDhjMzk3YS0x
MmM5LTQ4M2MtYmE5MS01YmIxYjA1NzhmZTUAAAUBAAEAAB8BABpDb3B5cmlnaHQgQCBNaWNyb3Nv
ZnQgMjAxMwAAPAEAN1NjcmlwdENvbXBvbmVudF83MzQ4MzM3MzVhODU0MTZhOTE2YmUxMWJkNDY5
MDRkMS52YnByb2oAAA4BAAlNaWNyb3NvZnQAAFxOAAAAAAAAAAAAAH5OAAAAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAABwTgAAAAAAAAAAAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwA
AAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAwAAACgAAIAO
AAAASAAAgBAAAABgAACAAAAAAAAAAAAAAAAAAAACAAIAAAB4AACAAwAAAJAAAIAAAAAAAAAAAAAA
AAAAAAEAAH8AAKgAAIAAAAAAAAAAAAAAAAAAAAEAAQAAAMAAAIAAAAAAAAAAAAAAAAAAAAEAAAAA
ANgAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAOgAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAPgAAAAAAAAA
AAAAAAAAAAAAAAEAAAAAAAgBAACAZQAA6AIAAAAAAAAAAAAAaGgAACgBAAAAAAAAAAAAAJBpAAAi
AAAAAAAAAAAAAAAYYQAAaAQAAAAAAAAAAAAAaAQ0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkA
TgBGAE8AAAAAAL0E7/4AAAEAAAABAAAAAAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAA
AAAAAABEAAAAAQBWAGEAcgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEA
dABpAG8AbgAAAAAAAACwBMgDAAABAFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAKQDAAAB
ADAAMAAwADAAMAA0AGIAMAAAADQACgABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAATQBpAGMA
cgBvAHMAbwBmAHQAAACYADgAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBj
AHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADMANAA4ADMAMwA3ADMANQBhADgANQA0ADEA
NgBhADkAMQA2AGIAZQAxADEAYgBkADQANgA5ADAANABkADEALgB2AGIAcAByAG8AagAAADAACAAB
AEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAAMQAuADAALgAwAC4AMAAAAJgAPAABAEkAbgB0AGUA
cgBuAGEAbABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADMANAA4
ADMAMwA3ADMANQBhADgANQA0ADEANgBhADkAMQA2AGIAZQAxADEAYgBkADQANgA5ADAANABkADEA
LgB2AGIAcAByAG8AagAuAGQAbABsAAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0
AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQAzAAAA
AACgADwAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBv
AG0AcABvAG4AZQBuAHQAXwA3ADMANAA4ADMAMwA3ADMANQBhADgANQA0ADEANgBhADkAMQA2AGIA
ZQAxADEAYgBkADQANgA5ADAANABkADEALgB2AGIAcAByAG8AagAuAGQAbABsAAAAkAA4AAEAUABy
AG8AZAB1AGMAdABOAGEAbQBlAAAAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADcA
MwA0ADgAMwAzADcAMwA1AGEAOAA1ADQAMQA2AGEAOQAxADYAYgBlADEAMQBiAGQANAA2ADkAMAA0
AGQAMQAuAHYAYgBwAHIAbwBqAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAA
MQAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAx
AC4AMAAuADAALgAwAAAAKAAAACAAAABAAAAAAQAEAAAAAACAAgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8A
AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAHd3d3d3d3d3d3d3d3d3cARERERERERERERERERERHAE////////////////
//RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//////
///////////0cAT/////////////////9HAE//////////////////RwBP/////////////////0
cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/////////
////////9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE
//////////////////RwBP/////////////////0cAT/////////////////9HAEiIiIiIiIiIiI
iIiIiIRwBEREREREREREREREREREcARMTExMTExMTExOzs5JdHAEzMzMzMzMzMzMzMzMzMQAAERE
RERERERERERERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAP/////////////////////AAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGA
AAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA
AAPAAAAH////////////////KAAAABAAAAAgAAAAAQAEAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA/wAA/wAAAP//AP8AAAD/AP8A
//8AAP///wAAAAAAAAAAAAd3d3d3d3d3REREREREREdP///////4R0////////hHT///////+EdP
///////4R0////////hHT///////+EdP///////4R0////////hHSIiIiIiIiEdMzMzMzMzMR8RE
RERERETAAAAAAAAAAAAAAAAAAAAAAP//AACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAQAA//8AAP//AAAAAAEAAgAgIBAAAQAEAOgCAAACABAQEAABAAQA
KAEAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwAAACQPgAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=]]></arrayElement></arrayElements></property>
<property id="49" name="UserComponentTypeName" dataType="System.String" state="default" isArray="false" description="" typeConverter="" UITypeEditor="" containsID="false" expressionType="None">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property>
<property id="377" name="VSTAProjectName" dataType="System.String" state="default" isArray="false" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None">ScriptComponent_734833735a85416a916be11bd46904d1</property>
<property id="378" name="ScriptLanguage" dataType="System.String" state="default" isArray="false" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" UITypeEditor="" containsID="false" expressionType="None">VisualBasic</property></properties>
<inputs>
<input id="39" name="Input" description="" hasSideEffects="true" dangling="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"></input>
</inputs>
<outputs>
<output id="40" name="Output" description="" exclusionGroup="0" synchronousInputId="39" deleteOutputOnPathDetached="false" hasSideEffects="false" dangling="false" isErrorOut="false" isSorted="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"><externalMetadataColumns isUsed="False" /></output>
</outputs>
</component>