<component id="2" name="Dynamics CRM Team Members" componentClassID="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}" description="Executes a custom script." localeId="1033" version="7" 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="30"><arrayElement dataType="System.String"><![CDATA[scriptcomponent_78df5b73d2cd4966acb399b320668d2d.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">
  <!-- 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>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_78df5b73d2cd4966acb399b320668d2d.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_78df5b73d2cd4966acb399b320668d2d.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{E7A3B73A-9670-4BD1-9226-268E27C30E8A}</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,42353,42354,42355</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,42353,42354,42355</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.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\CozyRoc.SSISPlus.2012.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.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_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=11.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="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebugb0bac1b5-7e43-4ab1-949d-d7d270663c04/d930ace8-48e3-4139-8a4d-11a58012e83c&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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_78df5b73d2cd4966acb399b320668d2d.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_78df5b73d2cd4966acb399b320668d2d.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2014")> 
<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("005521a3-60fc-4de0-8ab4-9b94f9b99936")> 

' 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[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

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManager
        End Get
    End Property

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[main.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-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.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service
Imports CRM3 = CozyRoc.Dynamics.Crm3.Service


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ValidateProperties("Validate")> _
<ColumnMappings()> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim teamId As Guid = New Guid(Row.Buffer(m_tiIndex).ToString())
            Dim memberId As Guid = New Guid(Row.Buffer(m_miIndex).ToString())

            If Not m_service2011 Is Nothing Then
                ' CRM 2011
                Dim req As New CRM2011.OrganizationRequest
                req.RequestName = m_requestName
                req("TeamId") = teamId
                req("MemberIds") = New Guid() {memberId}

                ' Execute action.
                Call m_service2011.Execute(req)
            ElseIf Not m_service4 Is Nothing Then
                ' CRM 4.0

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.Add
                        Dim addReq As New CRM4.AddMembersTeamRequest
                        addReq.TeamId = teamId
                        addReq.MemberIds = New Guid() {memberId}
                        Call m_service4.Execute(addReq)

                    Case ActionTypes.Remove
                        Dim removeReq As New CRM4.RemoveMembersTeamRequest
                        removeReq.TeamId = teamId
                        removeReq.MemberIds = New Guid() {memberId}
                        Call m_service4.Execute(removeReq)

                    Case Else
                        Throw New ApplicationException("Unhandled action type.")
                End Select
            Else
                ' CRM 3.0

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.Add
                        Dim addReq As New CRM3.AddMembersTeamRequest
                        addReq.TeamId = teamId
                        addReq.MemberIds = New Guid() {memberId}
                        Call m_service3.Execute(addReq)

                    Case ActionTypes.Remove
                        Dim removeReq As New CRM3.RemoveMembersTeamRequest
                        removeReq.TeamId = teamId
                        removeReq.MemberIds = New Guid() {memberId}
                        Call m_service3.Execute(removeReq)

                    Case Else
                        Throw New ApplicationException("Unhandled action type.")
                End Select
            End If
        Catch ex As SoapException
            Call FireError_(ex.Detail.InnerXml)
        Catch ex As Exception
            Call FireError_(ex.Message)
        End Try
    End Sub ' Input_ProcessInputRow


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

        ' Setup CRM service.
        m_connection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            ICrmConnection)
        Call m_connection.Connect()

        Dim service As Object = m_connection.GetService(0)   ' 0 - CRM Service
        m_service2011 = TryCast(service, CRM2011.OrganizationServiceClient)
        If m_service2011 Is Nothing Then
            m_service4 = TryCast(service, CRM4.CrmService)
            If m_service4 Is Nothing Then
                m_service3 = TryCast(service, CRM3.CrmService)
                If m_service3 Is Nothing Then
                    Throw New Exception("Unhandled service object.")
                End If
            End If
        End If

        ' Setup request for CRM 2011.
        Select Case Me.Action
            Case ActionTypes.Add
                m_requestName = "AddMembersTeam"

            Case ActionTypes.Remove
                m_requestName = "RemoveMembersTeam"

            Case Else
                Throw New ApplicationException("Unhandled action type.")
        End Select

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100

        ' Get input column indexes.
        inputCol = GetInputColumn_("TeamId")
        m_tiIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)

        inputCol = GetInputColumn_("MemberId")
        m_miIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_tiIndex = -1
        m_miIndex = -1
    End Sub ' PostExecute


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

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New Exception("Select Dynamics CRM Connection.")
            End If

            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            If input.IsAttached AndAlso input.InputColumnCollection.Count < 2 Then
                Throw New Exception("Map input columns.")
            End If

            ' Store connection information in the runtime connection collection, too.
            ' Cannot directly use RuntimeConnectionCollection in the property get/set
            ' because of issues with multi-threading.
            Me.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManagerID = Me.CrmConnection

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

        Validate = result
    End Function    'Validate


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

        If MyBase.ComponentMetaData.InputCollection.Count = 0 Then
            ' At least one input must exist.
            Throw New Exception("No inputs.")
        End If

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

        ' Cleanup.
        input.ExternalMetadataColumnCollection.IsUsed = True
        Call input.InputColumnCollection.RemoveAll()
        Call input.ExternalMetadataColumnCollection.RemoveAll()

        Dim column As IDTSExternalMetadataColumn100

        ' Setup team id column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "TeamId"
        column.DataType = DataType.DT_GUID

        ' Setup member id column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "MemberId"
        column.DataType = DataType.DT_GUID
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM Connection Manager.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_crmConnection
        End Get
        Set(ByVal value As String)
            m_crmConnection = value
        End Set
    End Property    ' CrmConnection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select action.")> _
    <DefaultValue(ActionTypes.Add)> _
    Public Property Action() As ActionTypes
        Get
            Action = m_action
        End Get
        Set(ByVal value As ActionTypes)
            m_action = value
        End Set
    End Property    ' Action
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Dynamics CRM Team Members", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetInputColumn_(ByVal externalName As String) As IDTSInputColumn100
        Dim result As IDTSInputColumn100 = Nothing
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim extColumn As IDTSExternalMetadataColumn100 = input.ExternalMetadataColumnCollection(externalName)

        ' Find input column for specified external column.
        For Each inputCol As IDTSInputColumn100 In input.InputColumnCollection
            If inputCol.ExternalMetadataColumnID = extColumn.ID Then
                ' Found input column.
                result = inputCol
                Exit For
            End If
        Next

        If result Is Nothing Then
            Throw New Exception("Input column not found.")
        End If

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


#Region "Attributes"
    Enum ActionTypes
        Add
        Remove
    End Enum    ' ActionTypes

    Private m_crmConnection As String
    Private m_action As ActionTypes

    Private m_connection As ICrmConnection
    Private m_service2011 As CRM2011.OrganizationServiceClient
    Private m_service4 As CRM4.CrmService
    Private m_service3 As CRM3.CrmService
    Private m_requestName As String
    Private m_tiIndex As Integer
    Private m_miIndex As Integer
#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[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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[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:Language>msBuild</msb:Language>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{CAA64024-0471-4372-90CD-746521B202C1}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_78df5b73d2cd4966acb399b320668d2d</msb:DisplayName>
		<msb:CodeName>scriptcomponent_78df5b73d2cd4966acb399b320668d2d</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:Project Include="scriptcomponent_78df5b73d2cd4966acb399b320668d2d.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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></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_78df5b73d2cd4966acb399b320668d2d.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
IwAACm8kAAAKFow7AAABbyUAAAoMCG9YAAAKA29hAAAKCghvUwAACm9iAAAKEwUrIhEFb2MAAAp0
DQAAARMEEQRvZAAACgZvZQAACjMFEQQN3iERBW9mAAAKLdXeFhEFdUMAAAEsDBEFdUMAAAFvZwAA
CtwJLQtyywEAcHNJAAAKegkLByoAAAEQAAACACYAPGIAFgAAAAAeAigXAAAKKhMwAgAtAAAAGgAA
EX4WAAAELSBy+wEAcNANAAACKBQAAApvbgAACnNvAAAKCweAFgAABH4WAAAEKgAAABMwAQAGAAAA
GwAAEX4XAAAEKgAAHgKAFwAABCpCcxcAAAooEQAACoAZAAAEKgAAAB4CKHAAAAoqGzABAD8AAAAc
AAARfhgAAAQtMn4ZAAAEKBEAAAoocQAACn4YAAAELRxzLwAABoAYAAAE3hB+GQAABCgRAAAKKHIA
AArcfhgAAAQqAAEQAAACAB0ADCkAEAAAAAC0AAAAzsrvvgEAAACRAAAAbFN5c3RlbS5SZXNvdXJj
ZXMuUmVzb3VyY2VSZWFkZXIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1
dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OSNTeXN0ZW0uUmVzb3VyY2VzLlJ1
bnRpbWVSZXNvdXJjZVNldAIAAAAAAAAAAAAAAFBBRFBBRFC0AAAAQlNKQgEAAQAAAAAADAAAAHY0
LjAuMzAzMTkAAAAABQBsAAAA4A0AACN+AABMDgAArBIAACNTdHJpbmdzAAAAAPggAAAwAgAAI1VT
ACgjAAAQAAAAI0dVSUQAAAA4IwAAvAUAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ8AAAD6JTMAFgAA
AQAAAFcAAAAOAAAAGQAAADAAAAAXAAAAfgAAAAIAAABAAAAAHAAAAAcAAAAOAAAAEQAAAAkAAAAB
AAAADAAAAAEAAAADAAAAAwAAAAIAAAAAAG0SAQAAAAAACgC1AYsBCgDpAcsBBgD5AfIBCgBRAosB
BgDPAvIBCgBRAycDDgCjA4wDEgDyA9EDFgAjBNEDEgAyBNEDDgDWBIwDGgCRBWkFHgCuBoUGDgD3
BowDIgBRByQHIgCWB3kHIgCWB6wHBgAQCPIBBgA5CCgIBgBmCFEIJgDNCLgIJgAaCQQJJgAzCQQJ
JgBgCUgJBgCKCXcJCgDJCaIJCgDhCRMAJgAWCvkJBgBLCisKBgBpCvIBBgCNCvIBCgCmChMABgDq
CssKBgD+CvIBEgAFC9EDBgASC/IBHgAoC4UGHgBXC4UGHgCCC4UGHgCfC4UGHgDiC4UGBgARDPIB
IgAWDCQHIgAqDHkHIgBADHkHIgAqDKwHIgBADKwHKgCLDG0MBgCZDPIBIgDHDCQHLgARDPIBIgD9
DHkHIgAGDXkHBgAODfIBIgD9DKwHIgAGDawHCgAjDaIJMgBKDT8NBgCtDfIBFgCzDdEDHgDXDYUG
HgBFDoUGHgCeDoUGHgC8DoUGGgArD2kFBgBkD1EPBgCwD/IBEgDED9EDDgANEOsPDgAlEOsPDgBB
EOsPJgBVEAQJJgBqEAQJBgCSEIAQBgC5EKgQBgDMEHcJBgA1ESsKBgBVESsKBgCNEXMRBgCmEYAQ
BgDDEcsKBgDREYAQBgDsEYAQBgAHEoAQBgAgEoAQBgA5EoAQBgBWEoAQAAAAAAEAAAAAAAEAAQAA
AAAAKQA3AAUAAQABAAAAAAByADcACQABAAIAAAEQAH0ANwANAAEAAwAFAQAAhwAAAA0ABQAIAAUB
AACVAAAADQAFAA8AAQAAALAAvAAdAAYAEQABAAAA9AC8AC0ABgAWAAEAAAACAbwADQAIABoAAQAA
AA4BvAANAAkAHAABAAAAGAG8ACAACgAdAAIBAAAjAQAASQATACoAAAAAAC8BOwENABYAKgAAARAA
gAG8AFUAGAAuADEAFAIgADEAPQItADEAXwI6ADEAhAJHACEAYAOQAAYAAgHJAAYADgHNAAEANgXh
AAEANgXhAAEA3gYRAQEA7gYUAQEABgcYAQEAawccAQEAoQcgAQEAygckAQEA1QcRAQEA4wcoAQEA
7QcoAQYGFQgoAVaAHQgUAVaAIQgUAREASQg+AREAcghCAREA5QhgAREA7QhkAVAgAAAAAAYYxQET
AAEAWCAAAAAABhjFARMAAQBgIAAAAAARGAACFwABAIwgAAAAABMIBwIbAAEApCAAAAAAEwgtAigA
AQC8IAAAAAATCFYCNQABANQgAAAAABMIdAJCAAEA7CAAAAAARgK6AmMAAQAIIQAAAABGAsMCaAAC
ABwhAAAAAIMA1AJsAAIANCEAAAAARgLcAnEAAgBIIQAAAAARAOUCeAACAGQhAAAAAAEAAwOAAAMA
gCEAAAAABhjFARMABACIIQAAAAADCBcDiwAEALwhAAAAAAYYxQETAAQA0CEAAAAABhjFAa8ABADg
IQAAAABGCmwEuwAJAPQhAAAAAEYKgwS7AAkACCIAAAAAhgCbBMAACQAgIgAAAACGAKMEwAAJADgi
AAAAAAYYxQETAAkAWCIAAAAARgLqBNEACQCIIgAAAABGAwkF2wANAJwiAAAAAEYDHAXbAA4AoCIA
AAAABhjFAeUADwCwIgAAAAAGCKoF6wAQANwiAAAAAAYYxQHlABAA7CIAAAAABhjFARMAEQD0IgAA
AABGAhwF2wARAFQlAAAAAEYCygUTABIAlCYAAAAARgLVBRMAEgC4JgAAAAAGAOEF9QASAGQnAAAA
AEYC9QUTABMADCgAAAAABgiqBXEAEwAkKAAAAAAGCAoG+wATADAoAAAAAAYIIgYAARQASCgAAAAA
BggtBgUBFABUKAAAAAABCDgGuwAVAHQoAAAAAAEATgb7ABUAoCgAAAAAAQDBBgsBFgBIKQAAAAAD
GMUBEwAXAFApAAAAABYIfghGARcAjCkAAAAAFgiSCEsBFwCgKQAAAAAWCJ4IUAEXAKgpAAAAABEY
AAIXABgAvCkAAAAABhjFARMAGADEKQAAAAAWCPoIZwEYAAAAAQDBAgAAAQD6AgAAAQD6AgAAAQBA
BAAAAgBKBAAAAwBTBAAABABbBAAABQBiBAAAAQD3BAAAAgD/BAAAAwBbBAAABABiBAAAAQBbBAAA
AQAyBQAAAQBABAAAAQBABAAAAQAyBQAAAQDqBQAAAQAcBgAAAQAcBgAAAQBZBgAAAQDRBgAAAQCq
CAkAxQETALEAxQFxAcEAxQGAAREAxQETAMkAxQETACQAxQETACwAxQETADQAxQETADwAxQETACQA
FwOLACwAFwOLADQAFwOLADwAFwOLANEAxQETANkAxQETAOEAxQH7AOkAWgoVAhkAugJjABkAwwJo
ACkAewoiAhkA3AJxAPkAlwoyAhkAxQETAAEBxQFCAkQAYAOQAEwA+giLAEwAwQq/AkwAxQETAAkB
xQHOAjkAxQGvABkBmwTAABkBowTAACEBxQHOAlkAxQETAEEAQQveAikBbgvkAjEBjwvqAjkBmAto
ACkBwgvxAkEBjwv3AkkB+wvrADkAowwDA0kAjwsIA1EBxQH7AFkBxQETAFkBrgz7AFkBvgwNA3kA
3AwTA2EBxQETAGEB5AwcA2EB7wwjA4EA3AwrA2kBxQETAGkB5AwcA2kB7wwjA7EBxQH7AHEBxQET
AHEB5AwcA3EB7wwjA4kA3Aw0A3kBxQETAHkB5AwcA3kB7wwjA8kBLw09A4EBUg1EA9EBXQ1xAMkB
ag0XAIkBfA1xAEEAygUTAGEAiA1zA3EAmg0TAHEAog0IA4kBxQH7AFkAxQ14A+EB7A1+AzkBowxo
AGkA/g1oAOkBDA6EA0EA1QUTAHEAIg4TABEBKA6VAzkBNg7AADkBYg6aA/EBfA5oAEkBhg77AFkA
9QUTADEBfA5oADkB5A6rAwECCQ/OAvEBFA8TAAECFA8TAAECHg+xA/kBIg/7APkBNA+3AxEBQQ8R
ASkBRw/TAwECjwveA/EBcA/lAxECfg/rA2kAig9oAPkBmAtoABECpw/AABkCvA8TACECxQETACkC
xQETADECxQH7ADkCxQH7AEECxQH7AEkCxQFTBCkAmxB1BJkAxQF7BKkAxQETAFkCwRCYBFkCxxCY
BGECxQETAGkCxQFTBHECxQETAHkCxQH7AIECxQH7AIkCxQH7AJECxQH7AJkCxQH7AKECxQH7AKkC
xQH7ALECxQH7ALkCxQH7AAgAUAA0AQgAVAA5ASkAgwDjAS4A4wOsBS4AswPKBC4AuwMSBS4A2wNv
BS4A6wPTAi4AowOiBC4AqwOrBC4A8wNvBS4AwwMfBS4A6wDTAi4ACwFJBS4AywPTAi4A0wNPBUAA
EwB3AUAAKwA5AUMAEwB3AUMAGwCGAUkAgwDPAWMAGwCGAWMAEwB3AWkAgwAIAoAAKwA5AYMAcwA5
AYMAewA5AYMAGwCGAYkAgwD0AaAAKwA5AaMAwwBKAqMAEwB3AcAAKwA5AcMA6wDTAsMAEwB3AeAA
KwA5AeMACwHTAgABKwA5AQABEwB3AQMBCwHTAiABEwB3ASABKwA5ASkBWwMPBCkBYwMmBEABKwA5
AUABEwB3AUkBYwNhBEkBawNYBGABEwB3AWABKwA5AWMBCwHTAmMBQwM5AWMBSwM5AWMBUwMBBIAB
KwA5AYkBEwCPBKABKwA5AakBEwCPBMABEwB3AcABKwA5AckBmwM5AeABKwA5AQACEwB3AQACKwA5
AUADCwHTAoADCwHTArsBwAHFAcoBGgIeAikCLgI9Aj0CxQLZAtkCGgIaAv4CSgOKA6ADvgMuAscD
zAMaAu8DgwSKBJ0EBAABAAYABQAHAAYACQAIAAsACQANAAwADgAOAAAA6QFPAAAAogJUAAAAUQJZ
AAAArgJeAAAAagOYAAAArwTEAAAAwgTEAAAAvAXwAAAAvAUrAQAA9wcvAQAA/gfEAAAAOQhWAQAA
sAhbAQAAqghsAQIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAIAEwAPAAIAGwAR
AAIAIwATAAEAJAATAAIAJQAVAAEAJgAVAAIAJwAXAAIAKwAZAAIALAAbAAEALQAbAAIAMAAdAHUA
dQCIAJ8BpgGtAbQBrAKzAgSAAAABAAAAAAAAAAAAAAAAALwAAAAEAAAAAAAAAAAAAAABAAoAAAAA
AAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAAAAAAnQB2AwAAAAALAAAAAAAAAAAAAACmALQD
AAAAAAsAAAAAAAAAAAAAAKYAAgQAAAAACwAAAAAAAAAAAAAApgBGBQAAAAALAAAAAAAAAAAAAACm
AGEGAAAAAAEAAAAAAAAAAAAAAJ0AEwcAAAAABAAAAAAAAAAAAAAAAQDyAQAAAAAEAAAAAAAAAAAA
AAAKAFkMAAAAAAIAAAAAAAAAAAAAAAEACgAAAAAABAAAAAAAAAAAAAAAAQA/DQAAAAAAAAAAAQAA
AOkQAAAFAAQABgAEAAwACwAAABAADAD4AgAAEAAZAPgCAAAAABsA+AItADgCLQC6AgAAADxNb2R1
bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNjcmlwdENv
bXBvbmVudF83OGRmNWI3M2QyY2Q0OTY2YWNiMzk5YjMyMDY2OGQyZC52YnByb2ouTXkATXlDb21w
dXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJ
bnB1dEJ1ZmZlcgBTY3JpcHRDb21wb25lbnRfNzhkZjViNzNkMmNkNDk2NmFjYjM5OWIzMjA2Njhk
MmQudmJwcm9qAFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNjcmlwdE1haW4A
QWN0aW9uVHlwZXMATXlSZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50Xzc4ZGY1YjczZDJjZDQ5NjZh
Y2IzOTliMzIwNjY4ZDJkLnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBNaWNyb3NvZnQu
VmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IA
Z2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9B
cHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9X
ZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJT
ZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRl
X19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFu
Y2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVl
YDEAbV9Db250ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxMgBDb3p5Um9jLlNx
bFNlcnZlci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlw
dABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9z
b2Z0LlNxbFNlcnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABD
b21wb25lbnQAT2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1
dENvbHVtbnMAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0
aWNJbnB1dENvbHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3JpcHRDb21wb25lbnRQbHVzAFBy
b2Nlc3NJbnB1dABJbnB1dElEAElucHV0TmFtZQBJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJv
Y2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNS
dW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIASURUU0Nv
bm5lY3Rpb25NYW5hZ2VyMTAwAGdldF9Dcm1Db25uZWN0aW9uAENybUNvbm5lY3Rpb24AUHJlRXhl
Y3V0ZQBQb3N0RXhlY3V0ZQBWYWxpZGF0ZQBlcnJNZXNzYWdlAFJlaW5pdGlhbGl6ZU1ldGFEYXRh
AHNldF9Dcm1Db25uZWN0aW9uAHZhbHVlAGdldF9BY3Rpb24Ac2V0X0FjdGlvbgBnZXRfQ3JtQ29u
bmVjdGlvblR5cGUARmlyZUVycm9yXwBtZXNzYWdlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlw
ZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIASURUU0lu
cHV0Q29sdW1uMTAwAEdldElucHV0Q29sdW1uXwBleHRlcm5hbE5hbWUAbV9jcm1Db25uZWN0aW9u
AG1fYWN0aW9uAElDcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBDb3p5Um9jLkR5bmFtaWNzAENv
enlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAE9yZ2FuaXphdGlvblNl
cnZpY2VDbGllbnQAbV9zZXJ2aWNlMjAxMQBDb3p5Um9jLkR5bmFtaWNzLkNybS5TZXJ2aWNlAENy
bVNlcnZpY2UAbV9zZXJ2aWNlNABDb3p5Um9jLkR5bmFtaWNzLkNybTMuU2VydmljZQBtX3NlcnZp
Y2UzAG1fcmVxdWVzdE5hbWUAbV90aUluZGV4AG1fbWlJbmRleABBY3Rpb24AQ3JtQ29ubmVjdGlv
blR5cGUARW51bQB2YWx1ZV9fAEFkZABSZW1vdmUAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1h
bmFnZXIAX3Jlc01ncgBTeXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVy
ZQBnZXRfUmVzb3VyY2VNYW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1
cmUAU3lzdGVtLkNvbmZpZ3VyYXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBt
X1N5bmNPYmplY3QAZ2V0X1ZhbHVlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0b3JCcm93c2Fi
bGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIA
R2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdnZXJIaWRkZW5B
dHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3RhbmRhcmRN
b2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNvbXBvbmVudE1v
ZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5Db21waWxlclNl
cnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBlSGFuZGxlAEdl
dFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3VwQ29sbGVjdGlv
bkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENvbVZp
c2libGVBdHRyaWJ1dGUAU3RyaW5nAFNjcmlwdEJ1ZmZlcgBDTFNDb21wbGlhbnRBdHRyaWJ1dGUA
SURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9Db21wb25lbnRNZXRhRGF0YQBJRFRTSW5wdXRD
b2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rpb24ASURUU0lucHV0MTAwAGdldF9JdGVtAGdl
dF9JRABJRFRTUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uMTAwAGdldF9SdW50aW1lQ29ubmVj
dGlvbkNvbGxlY3Rpb24ASURUU1J1bnRpbWVDb25uZWN0aW9uMTAwAGdldF9Db25uZWN0aW9uTWFu
YWdlcgBHdWlkAE9yZ2FuaXphdGlvblJlcXVlc3QAQWRkTWVtYmVyc1RlYW1SZXF1ZXN0AFJlbW92
ZU1lbWJlcnNUZWFtUmVxdWVzdABTeXN0ZW0uV2ViLlNlcnZpY2VzAFN5c3RlbS5XZWIuU2Vydmlj
ZXMuUHJvdG9jb2xzAFNvYXBFeGNlcHRpb24ARXhjZXB0aW9uAGdldF9CdWZmZXIAc2V0X1JlcXVl
c3ROYW1lAHNldF9JdGVtAE9yZ2FuaXphdGlvblJlc3BvbnNlAEV4ZWN1dGUAc2V0X1RlYW1JZABz
ZXRfTWVtYmVySWRzAFJlc3BvbnNlAFJlcXVlc3QAQXBwbGljYXRpb25FeGNlcHRpb24AUHJvamVj
dERhdGEAU2V0UHJvamVjdEVycm9yAFN5c3RlbS5YbWwAWG1sTm9kZQBnZXRfRGV0YWlsAGdldF9J
bm5lclhtbABDbGVhclByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBBY3F1aXJlQ29ubmVjdGlvbgBD
b25uZWN0AEdldFNlcnZpY2UASW50MzIAUGlwZWxpbmVDb21wb25lbnQAZ2V0X0hvc3RDb21wb25l
bnQASURUU0J1ZmZlck1hbmFnZXIxMDAAZ2V0X0J1ZmZlck1hbmFnZXIAZ2V0X0xpbmVhZ2VJRABG
aW5kQ29sdW1uQnlMaW5lYWdlSUQAQ2xvc2UASXNOdWxsT3JFbXB0eQBnZXRfSXNBdHRhY2hlZABJ
RFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbHVtbkNvbGxlY3Rpb24AZ2V0
X0NvdW50AHNldF9Db25uZWN0aW9uTWFuYWdlcklEAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1u
MTAwAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVjdGlvbjEwMABnZXRfRXh0ZXJuYWxN
ZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24Ac2V0X0lzVXNlZABSZW1vdmVBbGwATmV3AHNldF9OYW1l
AERhdGFUeXBlAHNldF9EYXRhVHlwZQBFbXB0eQBGaXJlRXJyb3IAU3lzdGVtLkNvbGxlY3Rpb25z
AElFbnVtZXJhdG9yAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAZ2V0X0V4dGVybmFsTWV0YWRh
dGFDb2x1bW5JRABNb3ZlTmV4dABJRGlzcG9zYWJsZQBEaXNwb3NlAFNTSVNTY3JpcHRDb21wb25l
bnRFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBD
b2x1bW5NYXBwaW5nc0F0dHJpYnV0ZQBWYWxpZGF0ZVByb3BlcnRpZXNBdHRyaWJ1dGUAQ29ubmVj
dGlvbkF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBEZWZhdWx0VmFsdWVBdHRyaWJ1dGUA
U3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcA
TW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0Q29t
cG9uZW50Xzc4ZGY1YjczZDJjZDQ5NjZhY2IzOTliMzIwNjY4ZDJkLnZicHJvai5SZXNvdXJjZXMu
cmVzb3VyY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGli
aWxpdHlBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtB
dHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2Vt
Ymx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5
UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlw
dGlvbkF0dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF83OGRm
NWI3M2QyY2Q0OTY2YWNiMzk5YjMyMDY2OGQyZC52YnByb2ouZGxsAAAAAAALSQBuAHAAdQB0AAAb
QwByAG0AQwBvAG4AbgBlAGMAdABpAG8AbgAADVQAZQBhAG0ASQBkAAATTQBlAG0AYgBlAHIASQBk
AHMAAC1VAG4AaABhAG4AZABsAGUAZAAgAGEAYwB0AGkAbwBuACAAdAB5AHAAZQAuAAAzVQBuAGgA
YQBuAGQAbABlAGQAIABzAGUAcgB2AGkAYwBlACAAbwBiAGoAZQBjAHQALgAAHUEAZABkAE0AZQBt
AGIAZQByAHMAVABlAGEAbQAAI1IAZQBtAG8AdgBlAE0AZQBtAGIAZQByAHMAVABlAGEAbQAAEU0A
ZQBtAGIAZQByAEkAZAAAP1MAZQBsAGUAYwB0ACAARAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABD
AG8AbgBuAGUAYwB0AGkAbwBuAC4AACVNAGEAcAAgAGkAbgBwAHUAdAAgAGMAbwBsAHUAbQBuAHMA
LgAAFU4AbwAgAGkAbgBwAHUAdABzAC4AABlEAFkATgBBAE0ASQBDAFMALQBDAFIATQABM0QAeQBu
AGEAbQBpAGMAcwAgAEMAUgBNACAAVABlAGEAbQAgAE0AZQBtAGIAZQByAHMAAC9JAG4AcAB1AHQA
IABjAG8AbAB1AG0AbgAgAG4AbwB0ACAAZgBvAHUAbgBkAC4AADFNAHkALgBSAGUAcwBvAHUAcgBj
AGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAAAAAMAcMiJB9fk6fqPW4p2oLzwAIt3pcVhk0
4IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAES
EQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQ
AQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJELIAUB
EiEIAhIlEikEIAAdDgMgAAIEKAAdDgMGEiQDBhIoCSAEAQgOEiUSKQUgAQESHAMGEiEFIAEBEiEE
IAASMQQoABIxBSABAhAOBCABAQ4EIAARMAUgAQERMAUgARI1DgIGDgMGETADBhI5AwYSPQMGEkED
BhJFAgYIAygADgQoABEwBAAAAAAEAQAAAAMGEk0DBhJRBAAAEk0EAAASUQUAAQESUQQIABJNBAgA
ElEDBhI4AgYcBAAAEjgECAASOAUgAQERXQgBAAEAAAAAAAUgAgEODhgBAApNeVRlbXBsYXRlCDEw
LjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQT
AQAOTXkuQXBwbGljYXRpb24AABABAAtNeS5Db21wdXRlcgAAEwEADk15LldlYlNlcnZpY2VzAAAM
AQAHTXkuVXNlcgAABAABHBwDBwECAwcBCAYAARIVEXkEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4A
ByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQ
cm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAG
FRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAAAAQHAR0OBSAAEoCVBSAAEoCZBiAB
EoCdHAUgABKAoQYgARKApRwEBwESMQQgABIlBCABHAgFIAIBDhwIIAESgMkSgK0GIAEBEYDNByAB
AR0RgM0IIAESgNESgNUIIAESgN0SgOEGAAEBEoDFBSAAEoDpKAcNEYCpEYCpEoCtEoCxEoC1EoC5
EoC9EoDBEoDFHRGAqREwEYCpETAEIAEcHAUgABKA8QUgABKA9QUgAggICAoHBBKAnRI1HBEwBAAB
Ag4FIAASgPkKBwQCAhKAnRKAxQUgABKBAQUgABKA/QYgAQERgQUIBwISgP0SgJ0EBwERMAYHAh0O
HQ4KIAYBCA4ODggQAgYgARKA/RwFIAASgQkDIAAcEQcGEoD9EjUSgJ0SNRI1EoEJDQEACFZhbGlk
YXRlAAAWAQARQ3JtQ29ubmVjdGlvblR5cGUAACwBACdTZWxlY3QgRHluYW1pY3MgQ1JNIENvbm5l
Y3Rpb24gTWFuYWdlci4AAAQgAQEICAEAAAAAAAAAEwEADlNlbGVjdCBhY3Rpb24uAAAFIAASgSkH
IAIBDhKBKQYHAhJNEk0EBwESUQgBAAIAAAAAAAQAAQEcBAcBEjgIAQAIAAAAAAAeAQABAFQCFldy
YXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRG
cmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkBACQwMDU1
MjFhMy02MGZjLTRkZTAtOGFiNC05Yjk0ZjliOTk5MzYAAAUBAAEAAB8BABpDb3B5cmlnaHQgQCBN
aWNyb3NvZnQgMjAxNAAAPAEAN1NjcmlwdENvbXBvbmVudF83OGRmNWI3M2QyY2Q0OTY2YWNiMzk5
YjMyMDY2OGQyZC52YnByb2oAAA4BAAlNaWNyb3NvZnQAAAD0UwAAAAAAAAAAAAAOVAAAACAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAFQAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAA
AAAA/yUAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAAAAAA
AAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAAaAQAAAAAAAAA
AAAAaAQ0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAABAAAA
AAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABl
AEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBMgDAAABAFMA
dAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAKQDAAABADAAMAAwADAAMAA0AGIAMAAAADQACgAB
AEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAATQBpAGMAcgBvAHMAbwBmAHQAAACYADgAAQBGAGkA
bABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBu
AHQAXwA3ADgAZABmADUAYgA3ADMAZAAyAGMAZAA0ADkANgA2AGEAYwBiADMAOQA5AGIAMwAyADAA
NgA2ADgAZAAyAGQALgB2AGIAcAByAG8AagAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAA
AAAAMQAuADAALgAwAC4AMAAAAJgAPAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBjAHIA
aQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADgAZABmADUAYgA3ADMAZAAyAGMAZAA0ADkANgA2
AGEAYwBiADMAOQA5AGIAMwAyADAANgA2ADgAZAAyAGQALgB2AGIAcAByAG8AagAuAGQAbABsAAAA
XAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABA
ACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQA0AAAAAACgADwAAQBPAHIAaQBnAGkAbgBhAGwA
RgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADgAZABm
ADUAYgA3ADMAZAAyAGMAZAA0ADkANgA2AGEAYwBiADMAOQA5AGIAMwAyADAANgA2ADgAZAAyAGQA
LgB2AGIAcAByAG8AagAuAGQAbABsAAAAkAA4AAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABT
AGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADcAOABkAGYANQBiADcAMwBkADIAYwBkADQA
OQA2ADYAYQBjAGIAMwA5ADkAYgAzADIAMAA2ADYAOABkADIAZAAuAHYAYgBwAHIAbwBqAAAANAAI
AAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAABAEEA
cwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAACA0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="11" 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_78df5b73d2cd4966acb399b320668d2d</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="14" name="CrmConnection" connectionManagerID="{54D62F74-4F64-4C8D-B624-C50015E4BAEB}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="18" name="TeamId" dataType="guid" /><externalMetadataColumn id="19" name="MemberId" dataType="guid" /></externalMetadataColumns></input></inputs></component>