<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05" VSTAMajorVersion="15" VSTAMinorVersion="0" Language="VisualBasic">
  <ProjectItem Name="ScriptMain.vb" Encoding="UTF8">
<![CDATA[Option Explicit On

' Microsoft SQL Server Integration Services Script Task
'
' Copyright (c) 2008 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.Collections
Imports System.IO

Imports Microsoft.SqlServer.Dts.Runtime
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"FtpConnection", "RemoteFile", "CheckLocal", "LocalFile", "CheckSize", "CheckTime"})> _
<FilterProperties("GetProperties")> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
	Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

	Enum ScriptResults
		Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
		Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
	End Enum

    ' The execution engine calls this method when the task executes.
    ' To access the object model, use the Dts object. Connections, variables, events,
    ' and logging features are available as static members of the Dts class.
    ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
    ' 
    ' To open Code and Text Editor Help, press F1.
    ' To open Object Browser, press Ctrl+Alt+J.


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Sub Main()
        Dim result As Integer
        Dim connection As ISshClientConnection
        Dim ftpClient As IFtpClient
        Dim fireAgain As Boolean
        Dim remoteFile As IFileInfo()

        Try
            ' Get FTP client.
            ftpClient = GetFtpClient_(Dts.Connections(Me.FtpConnection).AcquireConnection(Nothing))

            remoteFile = ftpClient.GetListing(Me.RemoteFile, False, False)
            If FileExists_(remoteFile) Then
                Call Dts.Events.FireInformation( _
                    0, _
                    String.Empty, _
                    String.Format("'{0}' remote file found.", Me.RemoteFile), _
                    String.Empty, _
                    0, _
                    fireAgain)
                result = ScriptResults.Success
            Else
                Call Dts.Events.FireInformation( _
                    0, _
                    String.Empty, _
                    String.Format("'{0}' remote file not found.", Me.RemoteFile), _
                    String.Empty, _
                    0, _
                    fireAgain)
                result = ScriptResults.Failure
            End If
        Catch ex As Exception
            result = ScriptResults.Failure
            Call Dts.Events.FireError(0, String.Empty, ex.Message, String.Empty, 0)
        Finally
            If Not connection Is Nothing Then
                Call connection.Close()
            End If
        End Try

        Dts.TaskResult = result
    End Sub ' Main


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function GetProperties() As String()
        Dim result As New ArrayList()

        ' Include base settings.
        Call result.Add("FtpConnection")
        Call result.Add("RemoteFile")
        Call result.Add("CheckLocal")

        If Me.CheckLocal Then
            ' Include local file settings.
            Call result.Add("LocalFile")
            Call result.Add("CheckSize")
            Call result.Add("CheckTime")
        End If

        Return CType(result.ToArray(GetType(String)), String())
    End Function    ' GetProperties


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        If Len(Me.FtpConnection) = 0 Then
            errMessage = "Please specify connection."
        ElseIf Len(Me.RemoteFile) = 0 Then
            errMessage = "Please specify remote file to check."
        ElseIf Me.CheckLocal AndAlso Len(Me.LocalFile) = 0 Then
            errMessage = "Please specify local file."
        Else
            result = True
        End If

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Connection("FtpConnectionType")> _
    <Category("	Remote")> _
    <Description("Specifies connection to remote server.")> _
    Public Property FtpConnection() As String
        Get
            FtpConnection = m_ftpConnection
        End Get
        Set(ByVal value As String)
            m_ftpConnection = value
        End Set
    End Property    ' FtpConnection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <FtpRemoteBrowserDialog("FtpConnection", True)> _
    <Category("	Remote")> _
    <Description("Specifies remote file to check for existence.")> _
    Public Property RemoteFile() As String
        Get
            RemoteFile = m_remote
        End Get
        Set(ByVal value As String)
            m_remote = value
        End Set
    End Property    ' RemoteFile


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Local")> _
    <Description("Specifies to compare local file against remote file.")> _
    <RefreshProperties(RefreshProperties.All)> _
    Public Property CheckLocal() As Boolean
        Get
            CheckLocal = m_checkLocal
        End Get
        Set(ByVal value As Boolean)
            m_checkLocal = value
        End Set
    End Property    ' CheckLocal


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Connection("FileConnectionType")> _
    <Category("Local")> _
    <Description("Specifies local file to compare remote.")> _
    Public Property LocalFile() As String
        Get
            LocalFile = m_local
        End Get
        Set(ByVal value As String)
            m_local = value
        End Set
    End Property    ' LocalFile


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Local")> _
    <Description("Specifies to check file size.")> _
    Public Property CheckSize() As Boolean
        Get
            CheckSize = m_checkSize
        End Get
        Set(ByVal value As Boolean)
            m_checkSize = value
        End Set
    End Property    ' CheckSize


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Local")> _
    <Description("Specifies to check file time.")> _
    Public Property CheckTime() As Boolean
        Get
            CheckTime = m_checkTime
        End Get
        Set(ByVal value As Boolean)
            m_checkTime = value
        End Set
    End Property    ' CheckTime
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property FtpConnectionType() As String()
        Get
            FtpConnectionType = New String() {"SSH", "FTPS"}
        End Get
    End Property    ' FtpConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property FileConnectionType() As String
        Get
            FileConnectionType = "FILE"
        End Get
    End Property    ' FileConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get IFtpClient interface from specified SSIS connection.
    Private Function GetFtpClient_(ByVal connection As Object) As IFtpClient
        Dim result As IFtpClient

        If TypeOf connection Is ISshClientConnection Then
            result = CType((CType(connection, ISshClientConnection).Connect("sftp")), IFtpClient)
        ElseIf TypeOf connection Is IFtpsClientConnection Then
            result = CType(CType(connection, IFtpsClientConnection).Connect(), IFtpClient)
        Else
            Throw New Exception("Unhandled FTP connection type.")
        End If

        GetFtpClient_ = result
    End Function    ' GetFtpClient_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Validate specified connection is the expected type.
    Private Function ValidateConnection_( _
        ByVal managerName As String, _
        ByVal expectedType As String) As Boolean

        Dim result As Boolean
        Dim manager As ConnectionManager

        If Not String.IsNullOrEmpty(managerName) Then
            manager = Dts.Connections(managerName)
            If manager.CreationName = expectedType Then
                result = True
            Else
                ' Doesn't match expected type.
                Dts.Events.FireError( _
                    0, _
                    String.Empty, _
                    String.Format( _
                        "'{0}' connection is not '{1}' type.", _
                        managerName, _
                        expectedType), _
                    String.Empty, _
                    0)
            End If
        End If

        ValidateConnection_ = result
    End Function    ' ValidateConnection_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Retrieves file path from specified file connection manager.
    Private Function GetConnectionFile_(ByVal managerName As String) As String
        Dim result As String
        Dim manager As ConnectionManager
        Dim fileConnection As Object

        If ValidateConnection_(managerName, "FILE") Then
            manager = Dts.Connections(managerName)

            fileConnection = manager.AcquireConnection(Nothing)
            If Not fileConnection Is Nothing Then
                result = fileConnection.ToString()
            Else
                Dts.Events.FireError( _
                    0, _
                    String.Empty, _
                    String.Format("''{0}' connection file doesn't exist.", managerName), _
                    String.Empty, _
                    0)
            End If
        End If

        GetConnectionFile_ = result
    End Function    ' GetConnectionFile_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function FileExists_(ByVal remoteFiles As IFileInfo()) As Boolean
        Dim result As Boolean
        Dim remoteFile As IFileInfo
        Dim fileName As String
        Dim localFileInfo As FileInfo
        Dim remoteTime As Date
        Dim localTime As Date

        If remoteFiles.Length > 0 Then
            remoteFile = remoteFiles(0)
            fileName = remoteFile.FullName

            If fileName = Me.RemoteFile Then
                If Me.CheckLocal Then
                    ' Check additional properties against local file.
                    localFileInfo = New FileInfo(GetConnectionFile_(Me.LocalFile))

                    If Me.CheckSize Then
                        ' Check remote size against local.
                        result = (remoteFile.Size = localFileInfo.Length)
                    End If

                    If result AndAlso Me.CheckTime Then
                        ' Check remote modified time against local.
                        remoteTime = remoteFile.ModifiedTime

                        ' Get local modification time without milliseconds.
                        localTime = localFileInfo.LastWriteTime
                        localTime = localTime.AddTicks(-(localTime.Ticks Mod 10000000))

                        result = (remoteTime = localTime)
                    End If
                Else
                    ' File check is complete.
                    result = True
                End If
            End If
        End If

        FileExists_ = result
    End Function    ' FileExists_
#End Region ' Internals


#Region "Attributes"
    Private m_ftpConnection As String
    Private m_remote As String
    Private m_checkLocal As Boolean = False
    Private m_local As String
    Private m_checkSize As Boolean = True
    Private m_checkTime As Boolean = True
#End Region ' Attributes
End Class   ' ScriptMain]]></ProjectItem>
  <ProjectItem Name="Project" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
  <msb:PropertyGroup>
    <msb:CodeName>ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05</msb:CodeName>
    <msb:Language>msBuild</msb:Language>
    <msb:DisplayName>ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05</msb:DisplayName>
    <msb:ProjectId>{20C42525-6A95-4CB3-9787-307DD19B5006}</msb:ProjectId>
  </msb:PropertyGroup>
  <msb:ItemGroup>
    <msb:Project Include="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05.vbproj" />
    <msb:File Include="ScriptMain.vb" />
  </msb:ItemGroup>
</c:Project>]]></ProjectItem>
  <ProjectItem Name="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05.vbproj" Encoding="UTF16LE">
<![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{676E2A61-F3E5-4685-8234-4C6D95D8FB31}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05</RootNamespace>
    <AssemblyName>ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2017, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\140\SDK\Assemblies\CozyRoc.SSISPlus.2017.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=14.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, Version=14.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Data">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="ScriptTask" />
        <ProjectClient>
          <HostIdentifier>SSIS_ST140</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
</Project>]]></ProjectItem>
  <BinaryItem Name="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05.dll">TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEDADdjvloAAAAAAAAAAOAAIiALAVAAACYAAAAGAAAAAAAAekQA
AAAgAAAAYAAAAAAAEAAgAAAAAgAABAAAAAAAAAAGAAAAAAAAAACgAAAAAgAAAAAAAAMAYIUAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAChEAABPAAAAAGAAADADAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAgCQAAAAgAAAAJgAAAAIA
AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAADADAAAAYAAAAAQAAAAoAAAAAAAAAAAAAAAAAABAAABA
LnJlbG9jAAAMAAAAAIAAAAACAAAALAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABc
RAAAAAAAAEgAAAACAAUAOCYAAPAdAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKBcAAAoqHgIoGAAACiqmcxkAAAqAAQAABHMaAAAKgAIA
AARzGwAACoADAAAEcxwAAAqABAAABCoufgEAAARvHQAACioufgIAAARvHgAACioufgMAAARvHwAA
CioufgQAAARvIAAACipyAighAAAKAhZ9BwAABAIXfQkAAAQCF30KAAAEKgAbMAcA7gAAAAEAABEC
AigiAAAKbyMAAAoCKAwAAAZvJAAAChRvJQAACigmAAAKKBoAAAYCKA4AAAYWFm8nAAAKDQIJKB0A
AAYsMgIoIgAACm8oAAAKFn4pAAAKcgEAAHACKA4AAAYoKgAACn4pAAAKFhICbysAAAoWCiswAigi
AAAKbygAAAoWfikAAApyMwAAcAIoDgAABigqAAAKfikAAAoWEgJvKwAAChcK3j8lKCwAAAoTBBcK
AigiAAAKbygAAAoWfikAAAoRBG8tAAAKfikAAAoWby4AAAomKC8AAAreCgcsBgdvMAAACtwCKCIA
AAoGbzEAAAoqAAABHAAAAAAAAKKiADUdAAABAgAAANfXAAoAAAAAEzACAGwAAAACAAARczIAAAoK
BnJtAABwbzMAAAomBnKJAABwbzMAAAomBnKfAABwbzMAAAomAigQAAAGLCQGcrUAAHBvMwAACiYG
cskAAHBvMwAACiYGct0AAHBvMwAACiYG0C4AAAEoNAAACm81AAAKdAUAABsqEzACAFAAAAADAAAR
AigMAAAGKDYAAAotCQNy8QAAcFErNgIoDgAABig2AAAKLQkDcicBAHBRKyACKBAAAAYsFgIoEgAA
Big2AAAKLQkDcnEBAHBRKwIXCwcKBioTMAEACQAAAAQAABECewUAAAQKBioiAgN9BQAABCoAABMw
AQAJAAAABAAAEQJ7BgAABAoGKiICA30GAAAEKgAAEzABAAkAAAAFAAARAnsHAAAECgYqIgIDfQcA
AAQqAAATMAEACQAAAAQAABECewgAAAQKBioiAgN9CAAABCoAABMwAQAJAAAABQAAEQJ7CQAABAoG
KiICA30JAAAEKgAAEzABAAkAAAAFAAARAnsKAAAECgYqIgIDfQoAAAQqAAATMAQAGQAAAAYAABEY
jS4AAAElFnKnAQBwoiUXcq8BAHCiCgYqAAAAEzABAAgAAAAEAAARcrkBAHAKBioTMAIASgAAAAcA
ABEDdRsAAAEsGAN0GwAAAXLDAQBwbzcAAAp0HwAAAQsrJgN1MwAAASwTA3QzAAABbzgAAAp0HwAA
AQsrC3LNAQBwczkAAAp6BwoGKgAAEzAGAFgAAAADAAARAyg6AAAKLUwCKCIAAApvIwAACgNvJAAA
Cm87AAAKBBYoPAAACi0EFwsrKQIoIgAACm8oAAAKFn4pAAAKcgsCAHADBCg9AAAKfikAAAoWby4A
AAomBwoGKhMwBgBjAAAACAAAEQIDcrkBAHAoGwAABixRAigiAAAKbyMAAAoDbyQAAAoUbyUAAAoo
JgAACgwILAkIbz4AAAoLKygCKCIAAApvKAAAChZ+KQAACnJTAgBwAygqAAAKfikAAAoWby4AAAom
BwoGKgATMAUAmAAAAAkAABEDjmkWPosAAAADFpoMCG8/AAAKAigOAAAGFig8AAAKLXMCKBAAAAYs
aQICKBIAAAYoHAAABnNAAAAKDQIoFAAABiwPCG9BAAAKCW9CAAAK/gELByw/AigWAAAGLDcIb0MA
AAoJb0QAAAoTBBIEFmoSBChFAAAKIICWmABqXdooRgAAChMEEQQoRwAAChb+AQsrAhcLBwoGKjYC
AygmAAAKKEgAAAoqHgIoSQAACiou0AYAAAIoNAAACioeAig+AAAKKgAAEzABABQAAAAKAAARAowG
AAAbLQgoAQAAKworAgIKBioiA/4VBgAAGyoeAihLAAAKKgAAABMwAgAoAAAACwAAEQJ7TAAACm9N
AAAKCgaMCQAAGy0SKAIAACsKAntMAAAKBm9OAAAKBipKAihLAAAKAnNPAAAKfUwAAAoqAEJTSkIB
AAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAOgJAAAjfgAAVAoAAHALAAAjU3RyaW5ncwAA
AADEFQAAoAIAACNVUwBkGAAAEAAAACNHVUlEAAAAdBgAAHwFAAAjQmxvYgAAAAAAAAACAAABVx2i
CQkOAAAA+gEzABYAAAEAAAA2AAAACAAAAA4AAAAmAAAADwAAAE8AAAACAAAAPQAAAAsAAAADAAAA
DQAAABMAAAAJAAAAAQAAAAYAAAADAAAAAwAAAAIAAAAAANoGAQAAAAAABgDkBNkJBgBOBdkJBgB1
AxoJDwD5CQAABgAGBMYFCgBeA4oICgArA8QGCgCJA8QGDgAMA2kJDgDOCC0JBgAfBBoJDgC2A7IJ
DgDOAz0BBgDkChMHDgC6CGkJDgA3BD0BBgDbAhMHBgCiA5MJDgABAIgGCgBJAyMHEgDMBDQKEgCy
BDQKEgB7BDQKFgAaBSwGBgAEBRMHFgDwAiwGEgC/B4AAEgD/B4AABgD1BxMHBgAXC3gKEgAMC4AA
BgAACHYABgA7AhMHBgAaBxMHEgBSBDQKCgA8BcQGCgBmBMQGEgDmAzQKCgAICsQGCgCXBMQGFgCy
BiwGGgCPCn4CGgB4CH4CBgCbCtkJFgCiCCwGBgDwBRMHDgAoAbIJBgCiARMHBgBcCxMHDgBWCj0B
EgDUB4AADgCqCrIJBgAJCHYABgADCRMHAAAAAG0AAAAAAAEAAQAAAAAAWwcrCyUAAQABAAAAAADM
CCsLKQABAAIAAAEQAOsKKws5AAEAAwABAAAAQAcrAGkABQAIAAUBAABbCQAAOQALAB4ABQEAABAA
AAA5AAsAJQACAQAAxAoAAIkADAAnADEAQQi9ATEAGAjFATEALAjNATEAWgjVAQEArweaAAEAQAOa
AAEAcwbdAQEAgAaaAAEAugXdAQEAcgLdASEAIQtyAQYG3wDgAVaAtArjAVaA6ALjAVAgAAAAAAYY
DQkGAAEAWCAAAAAABhgNCQYAAQBgIAAAAAARGBMJwQABAIogAAAAABMIvwjnAQEAliAAAAAAEwhL
B+wBAQCiIAAAAAATCLYI8QEBAK4gAAAAABMISwn2AQEAuiAAAAAABhgNCQYAAQDYIAAAAAAGAEYH
BgABAPAhAAAAAAYAGgr7AQEAaCIAAAAABgAiAwACAQDEIgAAAAAGCIsHtAACANkiAAAAAAYInQcQ
AAIA5CIAAAAABgjGAbQAAwD5IgAAAAAGCNUBEAADAAQjAAAAAAYIVQYGAgQAGSMAAAAABghkBikA
BAAkIwAAAAAGCOQBtAAFADkjAAAAAAYI8gEQAAUARCMAAAAABgieBQYCBgBZIwAAAAAGCKwFKQAG
AGQjAAAAAAYIVgIGAgcAeSMAAAAABghkAikABwCEIwAAAAABCMIC+wEIAKwjAAAAAAEIqwK0AAgA
wCMAAAAAAQAaAQoCCAAYJAAAAAABAPoAEAIJAHwkAAAAAAEA5wAWAgsA7CQAAAAAAQAOARsCDACQ
JQAAAADGAnEKSgENAJ4lAAAAAMYCfwFPAQ4ApiUAAAAAgwDYAiICDgCyJQAAAADGAu4FtAAOALwl
AAAAABEAzAAnAg4A3CUAAAAAAQC4AC8CDwDlJQAAAAAGGA0JBgAQAPAlAAAAAAMIZgFdABAAJCYA
AAAABhgNCQYAEAAAAAEAlwEAAAEAjwUAAAEAjwUAAAEAjwUAAAEAjwUAAAEAjwUAAAEAjwUAAAEA
6gcAAAEAHgIAAAIAngIAAAEAHgIAAAEAKAoAAAEAFggAAAEAdgEAAAEAdgEJAA0JAQARAA0JBgAZ
AA0JCgApAA0JEAAxAA0JFQBBAA0JGwBZAA0JBgBhAA0JBgBpAA0JBgCBAA0JIQCRAA0JKQChAA0J
EACpAA0JLgCxAA0JEAC5AA0JEADBAA0JBgDJAA0JKQAZAQ0JEAAhAQ0JEAApAQ0JEAAxAQ0JNABB
AQ0JOgBJAA0JBgBRAA0JBgAMAA0JBgAUAA0JBgAcAA0JBgAkAA0JBgAMAGYBXQAUAGYBXQAcAGYB
XQAkAGYBXQDRAA0JBgDRALwKbgBJAYsKdABRAQoHegBZAXkHgQBhAYAFhgD5APcFiwBJAdIKlABx
AWoLmgBxAd0KnQBpAWkHowB5AfMIrgDpAIsBtABpAdcIuAB5AeEIwQDZABwDBgBJAf0KAQDxAA0J
BgDxAFMBygCJALQBzwDxAFoL1wCRAR8H5wDZAPUKAAGZAfUKBQHpAA0JEABxAWILCQFZAQ0CtACh
AeAFDgFxAd0KFQFxAO4FtADhAAACtAABAQ0JEADhAJUFLwEBAQIGLwHhACoCMwGpAUQCMwEJAV4K
LwEJAWgKOQEJAeACQAFxAHEKSgFxAH8BTwGxAVcBWwFxAA0JBgA8ACELcgFEAGwFXQBEAHYFiQFE
AA0JBgAIADQAswEIADgAuAEpAGMAzgMuAAsAXQIuABMAZgIuABsAhQIuACMAjgJAADsAuAFAADMA
2AJDACsA4QJDADMA2AJJAGMA3wNjACsA4QJjADMA2AJpAGMA8wOAADsAuAGDAEMAuAGDAEsAuAGD
ACsA4QKJAGMAAASgADsAuAGjAGsA+gKjAHMARQOjAHsAWAOjAIMAuAGjAIsAZgOpAJMAFASpAJsA
KwSpAKMAOATAADsAuAHDADMA2ALDAFMAbAPJAKsAZATJAJsAKwTJAKMAeATgADsAuAHjADMA2ALj
AFsAZgPpAJsAqwTpAKMAtgTpALMA2AIJAZMA8AQJAZsAqwQJAaMACAUpAZsAqwQpAaMANQVJAZsA
qwRJAaMAWAXAAzMA2ALAAzsAuAHgAzMA2ALgAzsAuAEABDMA2AIABDsAuAEgBDMA2AIgBDsAuAFA
BDsAuAFgBDsAuAGABDsAuAGABDMA2AKgBDsAuAHABDsAuAHABDMA2AJiAMUA4gDsAPAA9AD5ABwB
IgFTAWYBBAABAAUABQAHAA0AAADOCDcCAABdBzwCAAC6CEECAABdCUYCAAChB0sCAADZAUsCAABo
Bk8CAAD2AUsCAACwBU8CAABoAk8CAADGAlMCAACvAksCAABqAVgCAgAEAAMAAgAFAAUAAgAGAAcA
AgAHAAkAAgAMAAsAAQANAAsAAgAOAA0AAQAPAA0AAgAQAA8AAQARAA8AAgASABEAAQATABEAAgAU
ABMAAQAVABMAAgAWABUAAQAXABUAAgAYABcAAgAZABkAAgAlABsAQQBIAE8AVgDfAFgBawF6AYEB
BIAAAAAAAAAAAAAAAAAAAAAAKwAAAAQAAAAAAAAAAAAAAI8BNAEAAAAABAAAAAAAAAAAAAAAjwET
BwAAAAAKAAAAAAAAAAAAAACYAT0BAAAAAAEAAAAAAAAAAAAAAKEBVwAAAAAADgAAAAAAAAAAAAAA
qgENBgAAAAAOAAAAAAAAAAAAAACqAZcAAAAAAAYABAAHAAQACAAFAAAAEAAOALYAAAAQAEUAtgAA
AAAARwC2AJUAYQGVAIQBAAAAQ29udGV4dFZhbHVlYDEAVGhyZWFkU2FmZU9iamVjdFByb3ZpZGVy
YDEAU2NyaXB0VGFza19mNDcyNTg3NDVmYjg0YjJmYjg2ZTZiNmQ5MGI4ZWQwNQBDb3p5Um9jLlNT
SVNQbHVzLjIwMTcAPE1vZHVsZT4AU3lzdGVtLklPAENvenlSb2MuU3FsU2VydmVyLlNTSVMATWlj
cm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAFQARGlzcG9zZV9fSW5zdGFuY2VfXwBDcmVhdGVf
X0luc3RhbmNlX18AdmFsdWVfXwBHZXRDb25uZWN0aW9uRmlsZV8AVmFsaWRhdGVDb25uZWN0aW9u
XwBGaWxlRXhpc3RzXwBHZXRGdHBDbGllbnRfAFByb2plY3REYXRhAG1zY29ybGliAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYwBBZGQAQ3JlYXRlSW5zdGFuY2UAZ2V0X0dldEluc3RhbmNlAGluc3RhbmNl
AEdldEhhc2hDb2RlAGdldF9NZXNzYWdlAGVyck1lc3NhZ2UAUnVudGltZVR5cGVIYW5kbGUAR2V0
VHlwZUZyb21IYW5kbGUAZ2V0X1JlbW90ZUZpbGUAc2V0X1JlbW90ZUZpbGUAZ2V0X0xvY2FsRmls
ZQBzZXRfTG9jYWxGaWxlAGdldF9GdWxsTmFtZQBnZXRfQ3JlYXRpb25OYW1lAG1hbmFnZXJOYW1l
AGdldF9Nb2RpZmllZFRpbWUARGF0ZVRpbWUAZ2V0X0xhc3RXcml0ZVRpbWUAZ2V0X0NoZWNrVGlt
ZQBzZXRfQ2hlY2tUaW1lAG1fY2hlY2tUaW1lAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRp
bWUAZXhwZWN0ZWRUeXBlAGdldF9GaWxlQ29ubmVjdGlvblR5cGUAZ2V0X0Z0cENvbm5lY3Rpb25U
eXBlAEdldFR5cGUAQ29tcGFyZQBGYWlsdXJlAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBB
cHBsaWNhdGlvbkJhc2UAQ2xvc2UAVmFsaWRhdGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAbV9yZW1v
dGUASGVscEtleXdvcmRBdHRyaWJ1dGUAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBEZWJ1Z2dhYmxl
QXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBDb21WaXNpYmxlQXR0cmlidXRlAFN0
YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAEZ0cFJlbW90ZUJy
b3dzZXJEaWFsb2dBdHRyaWJ1dGUAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAERlYnVnZ2VySGlk
ZGVuQXR0cmlidXRlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAENvbm5lY3Rpb25BdHRyaWJ1
dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAFJlZnJl
c2hQcm9wZXJ0aWVzQXR0cmlidXRlAEZpbHRlclByb3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3Bl
cnRpZXNBdHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBDTFNDb21wbGlh
bnRBdHRyaWJ1dGUAU1NJU1NjcmlwdFRhc2tFbnRyeVBvaW50QXR0cmlidXRlAENhdGVnb3J5QXR0
cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUA
R2V0T2JqZWN0VmFsdWUAdmFsdWUAZ2V0X1NpemUAZ2V0X0NoZWNrU2l6ZQBzZXRfQ2hlY2tTaXpl
AG1fY2hlY2tTaXplAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAQ29tcGFyZVN0cmluZwBUb1N0
cmluZwBHZXRMaXN0aW5nAGdldF9MZW5ndGgATWljcm9zb2Z0LlNxbFNlcnZlci5TY3JpcHRUYXNr
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlRhc2tzLlNjcmlwdFRhc2sAZ2V0X0NoZWNrTG9jYWwA
c2V0X0NoZWNrTG9jYWwAbV9jaGVja0xvY2FsAG1fbG9jYWwATWljcm9zb2Z0LlZpc3VhbEJhc2lj
Lk15U2VydmljZXMuSW50ZXJuYWwAU2NyaXB0T2JqZWN0TW9kZWwAU3lzdGVtLkNvbXBvbmVudE1v
ZGVsAFNjcmlwdFRhc2tfZjQ3MjU4NzQ1ZmI4NGIyZmI4NmU2YjZkOTBiOGVkMDUuZGxsAGdldF9J
dGVtAFN5c3RlbQBFbnVtAExlbgBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWduAFNjcmlwdE1h
aW4AZ2V0X0FwcGxpY2F0aW9uAE15QXBwbGljYXRpb24ARmlyZUluZm9ybWF0aW9uAEFjcXVpcmVD
b25uZWN0aW9uAGdldF9GdHBDb25uZWN0aW9uAHNldF9GdHBDb25uZWN0aW9uAG1fZnRwQ29ubmVj
dGlvbgBJU3NoQ2xpZW50Q29ubmVjdGlvbgBJRnRwc0NsaWVudENvbm5lY3Rpb24AY29ubmVjdGlv
bgBFeGNlcHRpb24ASUZpbGVJbmZvAEZpbGVTeXN0ZW1JbmZvAG1fQXBwT2JqZWN0UHJvdmlkZXIA
bV9Vc2VyT2JqZWN0UHJvdmlkZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAG1fTXlXZWJTZXJ2
aWNlc09iamVjdFByb3ZpZGVyAENvbm5lY3Rpb25NYW5hZ2VyAFN5c3RlbS5Db2RlRG9tLkNvbXBp
bGVyAEV2ZW50c09iamVjdFdyYXBwZXIAZ2V0X1VzZXIAZ2V0X0NvbXB1dGVyAE15Q29tcHV0ZXIA
RmlyZUVycm9yAENsZWFyUHJvamVjdEVycm9yAFNldFByb2plY3RFcnJvcgBBY3RpdmF0b3IALmN0
b3IALmNjdG9yAFN5c3RlbS5EaWFnbm9zdGljcwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNl
cwBnZXRfV2ViU2VydmljZXMATXlXZWJTZXJ2aWNlcwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBw
bGljYXRpb25TZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2
aWNlcwBEZWJ1Z2dpbmdNb2RlcwBSZWZyZXNoUHJvcGVydGllcwBHZXRQcm9wZXJ0aWVzAHJlbW90
ZUZpbGVzAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBTdHJpbmdzAGdldF9UaWNr
cwBBZGRUaWNrcwBFcXVhbHMAU3lzdGVtLkNvbGxlY3Rpb25zAGdldF9Db25uZWN0aW9ucwBSdW50
aW1lSGVscGVycwBPcGVyYXRvcnMAU3VjY2VzcwBnZXRfRHRzAFNjcmlwdFJlc3VsdHMAZ2V0X0V2
ZW50cwBGb3JtYXQAT2JqZWN0AE15UHJvamVjdABDb25uZWN0AHNldF9UYXNrUmVzdWx0AElGdHBD
bGllbnQAQXJyYXlMaXN0AG1fQ29udGV4dABTY3JpcHRUYXNrX2Y0NzI1ODc0NWZiODRiMmZiODZl
NmI2ZDkwYjhlZDA1Lk15AFRvQXJyYXkASXNOdWxsT3JFbXB0eQAAMScAewAwAH0AJwAgAHIAZQBt
AG8AdABlACAAZgBpAGwAZQAgAGYAbwB1AG4AZAAuAAE5JwB7ADAAfQAnACAAcgBlAG0AbwB0AGUA
IABmAGkAbABlACAAbgBvAHQAIABmAG8AdQBuAGQALgABG0YAdABwAEMAbwBuAG4AZQBjAHQAaQBv
AG4AABVSAGUAbQBvAHQAZQBGAGkAbABlAAAVQwBoAGUAYwBrAEwAbwBjAGEAbAAAE0wAbwBjAGEA
bABGAGkAbABlAAATQwBoAGUAYwBrAFMAaQB6AGUAABNDAGgAZQBjAGsAVABpAG0AZQAANVAAbABl
AGEAcwBlACAAcwBwAGUAYwBpAGYAeQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4ALgAASVAAbABlAGEA
cwBlACAAcwBwAGUAYwBpAGYAeQAgAHIAZQBtAG8AdABlACAAZgBpAGwAZQAgAHQAbwAgAGMAaABl
AGMAawAuAAA1UABsAGUAYQBzAGUAIABzAHAAZQBjAGkAZgB5ACAAbABvAGMAYQBsACAAZgBpAGwA
ZQAuAAAHUwBTAEgAAAlGAFQAUABTAAAJRgBJAEwARQAACXMAZgB0AHAAAD1VAG4AaABhAG4AZABs
AGUAZAAgAEYAVABQACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAHQAeQBwAGUALgAARycAewAwAH0A
JwAgAGMAbwBuAG4AZQBjAHQAaQBvAG4AIABpAHMAIABuAG8AdAAgACcAewAxAH0AJwAgAHQAeQBw
AGUALgABSycAJwB7ADAAfQAnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAGYAaQBsAGUAIABkAG8A
ZQBzAG4AJwB0ACAAZQB4AGkAcwB0AC4AAQDBulmpthv7QqYfvLEhUG8KAAQgAQEIAyAAAQUgAQER
EQQgAQEOBSACAQ4OBSABAREdByAEAQ4ODg4EIAEBAgUgAQEdDgUgAgEOAgYgAQERgJ0GFRIcARIM
BhUSHAESCAYVEhwBEj0GFRIcARIYBCAAEwALBwUIEm0CHRJxEnUFIAASgKUFIAASgKkGIAESgK0c
BCABHBwEAAEcHAggAx0ScQ4CAgUgABKAtQIGDgUAAg4OHAogBgEIDg4OCBACBQABARJ1AyAADggg
BQIIDg4OCAMAAAEEBwESeQQgAQgcBwABEkURgMEHIAESgMUSRQIdDgQHAgICBAABCA4DBwEOAwcB
AgQHAR0OBgcCEn0SfQQgARwOAyAAHAQAAQIOBgADCA4OAgYAAw4OHBwFBwMODhwMBwUCAhJxEoCB
EYCFAyAACgUgABGAhQYgARGAhQoJAAIIEYCFEYCFBCABAhwDIAAIBAcBHgACHgAFEAEAHgAECgEe
AAQHARMABhUSHAETAAcGFRJNARMABhUSTQETAAITAAQKARMABSABARMACLd6XFYZNOCJCLA/X38R
1Qo6CBbPSQu4DDTqCImEXc2AgMyRBAAAAAAEAQAAAAcGFRIcARIMBwYVEhwBEggHBhUSHAESPQcG
FRIcARIYAgYCAgYIAwYRIAQAABIMBAAAEggEAAASPQQAABIYBCAAHQ4FIAECEA4DIAACBSABEn0c
BSACAg4OBCABDg4GIAECHRJxBCAAEkUHEAEBHgAeAAcwAQEBEB4ABAgAEgwECAASCAQIABI9BAgA
EhgDKAAOAygAAgQoAB0OBCgAEwAIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJv
d3MBCAEAAgAAAAAASQEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC41AQBUDhRGcmFtZXdvcmtE
aXNwbGF5TmFtZRIuTkVUIEZyYW1ld29yayA0LjUIAQABAAAAAAAYAQAKTXlUZW1wbGF0ZQgxMS4w
LjAuMAAASgEABgAAAA1GdHBDb25uZWN0aW9uClJlbW90ZUZpbGUKQ2hlY2tMb2NhbAlMb2NhbEZp
bGUJQ2hlY2tTaXplCUNoZWNrVGltZQAAEgEADUdldFByb3BlcnRpZXMAAA0BAAhWYWxpZGF0ZQAA
BQEAAAAAYQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJv
dG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAQAQALTXkuQ29t
cHV0ZXIAABMBAA5NeS5BcHBsaWNhdGlvbgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNl
cwAAFgEAEUZ0cENvbm5lY3Rpb25UeXBlAAAMAQAHCVJlbW90ZQAAKwEAJlNwZWNpZmllcyBjb25u
ZWN0aW9uIHRvIHJlbW90ZSBzZXJ2ZXIuAAATAQANRnRwQ29ubmVjdGlvbgEAADIBAC1TcGVjaWZp
ZXMgcmVtb3RlIGZpbGUgdG8gY2hlY2sgZm9yIGV4aXN0ZW5jZS4AAAoBAAVMb2NhbAAAOQEANFNw
ZWNpZmllcyB0byBjb21wYXJlIGxvY2FsIGZpbGUgYWdhaW5zdCByZW1vdGUgZmlsZS4AABcBABJG
aWxlQ29ubmVjdGlvblR5cGUAACwBACdTcGVjaWZpZXMgbG9jYWwgZmlsZSB0byBjb21wYXJlIHJl
bW90ZS4AACIBAB1TcGVjaWZpZXMgdG8gY2hlY2sgZmlsZSBzaXplLgAAIgEAHVNwZWNpZmllcyB0
byBjaGVjayBmaWxlIHRpbWUuAAAAUEQAAAAAAAAAAAAAakQAAAAgAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAFxEAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACAAEAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAA
GAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADU
AgAAAAAAAAAAAADUAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAA
AQAAAAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQBy
AEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAE
NAIAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAEAIAAAEAMAAwADAAMAAwADQAYgAw
AAAALAACAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkA
bABlAFYAZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACAADAAAQBJAG4AdABlAHIAbgBh
AGwATgBhAG0AZQAAAFMAYwByAGkAcAB0AFQAYQBzAGsAXwBmADQANwAyADUAOAA3ADQANQBmAGIA
OAA0AGIAMgBmAGIAOAA2AGUANgBiADYAZAA5ADAAYgA4AGUAZAAwADUALgBkAGwAbAAAACgAAgAB
AEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACIADAAAQBPAHIAaQBnAGkAbgBhAGwA
RgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfAGYANAA3ADIANQA4ADcANAA1
AGYAYgA4ADQAYgAyAGYAYgA4ADYAZQA2AGIANgBkADkAMABiADgAZQBkADAANQAuAGQAbABsAAAA
NAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMAAuADAALgAwAC4AMAAAADgACAAB
AEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAwAC4AMAAuADAALgAwAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAHw0AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==</BinaryItem>
</ScriptProject>