<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05" VSTAMajorVersion="3" 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:Language>msBuild</msb:Language>
		<msb:CodeName>ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05</msb:CodeName>
		<msb:DisplayName>ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05</msb:DisplayName>
		<msb:ProjectId>{B5801FFC-6740-4A55-BF8E-115A7FD2C0AB}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<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.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\CozyRoc.SSISPlus.2014.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=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, Version=12.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_ST120</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
</Project>]]></ProjectItem>
  <BinaryItem Name="ScriptTask_f47258745fb84b2fb86e6b6d90b8ed05.dll">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
AQsrJgN1IgAAASwTA3QiAAABbzMAAAp0CAAAAQsrC3LNAQBwczQAAAp6BwoGKgAAEzAGAFsAAAAY
AAARAyg1AAAKLU8Cbx8AAApvIAAACgNvIQAACgoGbzYAAAoEFig3AAAKFjMEFwsrKQJvHwAACm8k
AAAKFn4lAAAKcgsCAHADBCg4AAAKfiUAAAoWbyoAAAomBwwIKgATMAYAZQAAABkAABECA3K5AQBw
byQAAAYsUwJvHwAACm8gAAAKA28hAAAKDAgUbyIAAAooEQAACgoGLAkGbxUAAAoNKygCbx8AAApv
JAAAChZ+JQAACnJTAgBwAygmAAAKfiUAAAoWbyoAAAomCQsHKgAAABMwBAClAAAAGgAAEQOOtxY+
lwAAAAMWmhMEEQRvOQAACgsHAm8XAAAGFig3AAAKFjN6Am8ZAAAGLG8CAm8bAAAGbyUAAAZzOgAA
CgwCbx0AAAYsEREEbzsAAAoIbzwAAAr+ARMGEQYsQwJvHwAABiw7EQRvPQAAChMFCG8+AAAKDRID
FmoSAyg/AAAKIICWmABqXdooQAAACg0RBQkoQQAAChb+ARMGKwMXEwYRBgoGKgAAAEJTSkIBAAEA
AAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAPAJAAAjfgAAXAoAABwMAAAjU3RyaW5ncwAAAAB4
FgAAoAIAACNVUwAYGQAAEAAAACNHVUlEAAAAKBkAAJwFAAAjQmxvYgAAAAAAAAACAAABVx2iCQkO
AAAA+iUzABYAAAEAAAA0AAAACAAAAA4AAAAmAAAADwAAAE4AAAACAAAAPAAAABoAAAADAAAADQAA
ABMAAAAKAAAAAQAAAAYAAAADAAAAAwAAAAIAAAAAAOoLAQAAAAAACgATAekACgBHASkBBgBXAVAB
CgCvAekABgAtAlABCgCvAoUCDgAcA/MCEgBzBFwEEgDXBFwEBgCmBVABFgDZBcMFFgDyBcMFFgAf
BgcGBgBJBjYGCgCIBmEGCgCgBhMAFgDVBrgGBgAKB+oGBgAoB1ABBgBMB1ABCgBlBxMABgCzB5QH
EgDHB1wEBgDcB1ABDgDmB/MCGgA/CB8IGgBbCB8IDgCTCPMCBgCyCFABCgDWCGEGBgBCCS8JBgBQ
CVABCgBeCRMAEgByCVwECgCnCWEGBgDJCb8JBgDSCVABBgANCr8JBgBJClABDgBfCvMCEgCjCoEK
EgC/CoEKEgDZCoEKFgDxCsMFFgAGC8MFEgAYC4EKEgA4C4EKFgBMC8MFFgBnC8MFBgB5C+oGBgCZ
C+oGBgDRC7cLAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAABmADcACQABAAIAAAEQAHEA
NwANAAEAAwAFAQAAewAAAA0ABQAIAAUBAACJAAAADQAFAA8AAQAAAKQArwAdAAYAEQACAQAA2wAA
ACkADAAnADEAcgEgADEAmwEtADEAvQE6ADEA4gFHACEAvgKQAAEA+QTgAAEACQXgAAEAEgXjAAEA
HwXgAAEAJwXjAAEAMwXjAAYGqwXzAFaAswX2AFaAuwX2AFAgAAAAAAYYIwETAAEAWCAAAAAABhgj
ARMAAQBgIAAAAAARGF4BFwABAIwgAAAAABMIZQEbAAEApCAAAAAAEwiLASgAAQC8IAAAAAATCLQB
NQABANQgAAAAABMI0gFCAAEA7CAAAAAARgIYAmMAAQAIIQAAAABGAiECaAACABwhAAAAAIMAMgJs
AAIANCEAAAAARgI6AnEAAgBIIQAAAAARAEMCeAACAGQhAAAAAAEAYQKAAAMAgCEAAAAABhgjARMA
BACIIQAAAAADCHUCiwAEALwhAAAAAAYYIwETAAQA0CEAAAAABhgjARMABADwIQAAAAAGADgDEwAE
AAwjAAAAAAYAPQOmAAQAhCMAAAAABgBLA6sABADkIwAAAAAGCF8DcQAFAPwjAAAAAAYIcQOxAAUA
CCQAAAAABgiJA3EABgAgJAAAAAAGCJgDsQAGACwkAAAAAAYIpwO2AAcARCQAAAAABgi2A7oABwBQ
JAAAAAAGCMUDcQAIAGgkAAAAAAYI0wOxAAgAdCQAAAAABgjhA7YACQCMJAAAAAAGCO8DugAJAJgk
AAAAAAYI/QO2AAoAsCQAAAAABggLBLoACgC8JAAAAAABCBkEpgALAOQkAAAAAAEILwRxAAsA+CQA
AAAAAQB+BMgACwBQJQAAAAABAJcEzgAMALglAAAAAAEAxATUAA4ALCYAAAAAAQDhBNkADwAAAAEA
HwIAAAEAWAIAAAEAWAIAAAEAVAMAAAEAgwMAAAEAgwMAAAEAgwMAAAEAgwMAAAEAgwMAAAEAgwMA
AAEAjAQAAAEAqwQAAAIAtwQAAAEAqwQAAAEA7QQJACMBEwBZACMBBAFpACMBEwERACMBEwBxACMB
EwAkACMBEwAsACMBEwA0ACMBEwA8ACMBEwAkAHUCiwAsAHUCiwA0AHUCiwA8AHUCiwB5ACMBEwCB
ACMBEwCJACMBsQCRABkHqAEZABgCYwAZACECaAApADoHtQEZADoCcQChAFYHxQEZACMBEwCpACMB
1QFEAL4CkABMAIAHiwBMAIoHUgJMACMBEwCxACMBugA5ACMBEwA5APgHZwLJAEsIbALRAG0IcQLZ
AHYIdwJBAIgIfALJAKcIhQLpALkI4ADpAL8IigLhAMYIkALxAOIImwLBAPIIcQDhAP4IoQLxAAgJ
FwC5ABoJEwDJACAJqgL5ACMBEwD5AEwJvQL5AFYJwgIJAWYJ1AK5AGoJ5QIRAWoJ6gLBACMBsQDp
AIgJ9QLZAJYJcQAZAbEJ+gLpAL8IAQNJANsJcQAhASMBsQBJAOgJFwMhAfEJFwNJAPwJGwMxARwK
GwMpAS4KFwMpATgKIQMpAUEKKAM5ASMBugBBASMBEwBJASMBsQBRASMBsQBZASMBZANhASMBsQBp
ASMBsQBxASMBIwR5ASMBsQCBASMBowSRASMBqgKZASMBEwChASMBsQAIADQA+gAIADgA/wApAIMA
YgEuAGMCKQUuAGsCMgUuAHMCUQVAABMACgFAACsA/wBDABsAGQFDABMACgFJAIMAgAFjABMACgFj
ABsAGQFpAIMAcwGAACsA/wCDAHsA/wCDABsAGQGDAHMA/wCJAIMAlAGgACsA/wCjAMMA3QGjABMA
CgHAACsA/wDDABMACgHDAOsAYQLJADsCYATJAEMCFgTJAFMCjATgACsA/wDjACsCUQPjABsC/wDj
ADMCagPjACMCQwPjABMCYQLpAEMCFgTpADsC4wPpAEsCKQQAARMACgEAASsA/wAJATsCqgQJAUMC
2AMJAVsCCgEgARMACgEgASsA/wApATsC5AQpAUMC2AMpAVMCEQVAARMACgFAASsA/wBJATsCtQNJ
AUMC2ANgASsA/wBgARMACgFpATsCPQRpAUMC2AOAASsA/wCgASsA/wDAARMACgHAASsA/wDgASsA
/wAAAisA/wAAAhMACgFOAVMBWAFdAa0BsQG8AcEB0AHQAVgCrwLNAtkCwQHBAa0BwQGtAa0B3gLB
Ae4CCAMPAzIDBAABAAYABQAHAAYAAABHAU8AAAAAAlQAAACvAVkAAAAMAl4AAADIApgAAAA/BeYA
AABNBeYAAABYBeoAAABjBeYAAABtBeoAAAB3BeoAAACBBe4AAACTBeYAAgAEAAMAAgAFAAUAAgAG
AAcAAgAHAAkAAgAPAAsAAgAVAA0AAQAWAA0AAgAXAA8AAQAYAA8AAgAZABEAAQAaABEAAgAbABMA
AQAcABMAAQAeABUAAgAdABUAAQAgABcAAgAfABcAAgAhABkAAgAiABsAdQB1AIgAMgE5AUABRwE/
AkYCygIEgAAAAAAAAAAAAAAAAAAAAACvAAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAA
AAAKABMAAAAAAAwAAAAAAAAAAAAAAJ0A1AIAAAAAAQAAAAAAAAAAAAAAvwBGBAAAAAAEAAAAAAAA
AAAAAAABAFABAAAAAAwAAAAAAAAAAAAAAJ0AAAgAAAAABQAEAAYABAAIAAcAAAAQAAwAVgIAABAA
GQBWAgAAAAAbAFYCLQDLAS0ATQIAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrX2Y0NzI1ODc0NWZiODRiMmZiODZlNmI2ZDkw
YjhlZDA1Lk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9i
amVjdFByb3ZpZGVyYDEAU2NyaXB0TWFpbgBTY3JpcHRUYXNrX2Y0NzI1ODc0NWZiODRiMmZiODZl
NmI2ZDkwYjhlZDA1AFNjcmlwdFJlc3VsdHMATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkFwcGxpY2F0
aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5E
ZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRlcgBtX0NvbXB1
dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJvdmlkZXIAVXNl
cgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMAbV9NeVdlYlNl
cnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1YWxzAG8AR2V0
SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2VfXwBUAGluc3Rh
bmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29mdC5WaXN1YWxC
YXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4dABHZXRJbnN0
YW5jZQBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZlci5E
dHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBHZXRQ
cm9wZXJ0aWVzAFZhbGlkYXRlAGVyck1lc3NhZ2UAZ2V0X0Z0cENvbm5lY3Rpb24Ac2V0X0Z0cENv
bm5lY3Rpb24AdmFsdWUAZ2V0X1JlbW90ZUZpbGUAc2V0X1JlbW90ZUZpbGUAZ2V0X0NoZWNrTG9j
YWwAc2V0X0NoZWNrTG9jYWwAZ2V0X0xvY2FsRmlsZQBzZXRfTG9jYWxGaWxlAGdldF9DaGVja1Np
emUAc2V0X0NoZWNrU2l6ZQBnZXRfQ2hlY2tUaW1lAHNldF9DaGVja1RpbWUAZ2V0X0Z0cENvbm5l
Y3Rpb25UeXBlAGdldF9GaWxlQ29ubmVjdGlvblR5cGUAQ296eVJvYy5TU0lTUGx1cy4yMDE0AENv
enlSb2MuU3FsU2VydmVyLlNTSVMASUZ0cENsaWVudABHZXRGdHBDbGllbnRfAGNvbm5lY3Rpb24A
VmFsaWRhdGVDb25uZWN0aW9uXwBtYW5hZ2VyTmFtZQBleHBlY3RlZFR5cGUAR2V0Q29ubmVjdGlv
bkZpbGVfAElGaWxlSW5mbwBGaWxlRXhpc3RzXwByZW1vdGVGaWxlcwBtX2Z0cENvbm5lY3Rpb24A
bV9yZW1vdGUAbV9jaGVja0xvY2FsAG1fbG9jYWwAbV9jaGVja1NpemUAbV9jaGVja1RpbWUARnRw
Q29ubmVjdGlvbgBSZW1vdGVGaWxlAENoZWNrTG9jYWwATG9jYWxGaWxlAENoZWNrU2l6ZQBDaGVj
a1RpbWUARnRwQ29ubmVjdGlvblR5cGUARmlsZUNvbm5lY3Rpb25UeXBlAEVudW0AdmFsdWVfXwBT
dWNjZXNzAEZhaWx1cmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJp
YnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0
ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0
ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0
dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVz
aWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMA
UnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZy
b21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmli
dXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZpY2VzAENv
bVZpc2libGVBdHRyaWJ1dGUASVNzaENsaWVudENvbm5lY3Rpb24ARXhjZXB0aW9uAFNjcmlwdE9i
amVjdE1vZGVsAGdldF9EdHMATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRTAE1pY3Jvc29m
dC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAQ29ubmVjdGlvbnMAZ2V0X0Nvbm5lY3Rpb25zAENvbm5l
Y3Rpb25NYW5hZ2VyAGdldF9JdGVtAEFjcXVpcmVDb25uZWN0aW9uAEdldExpc3RpbmcARXZlbnRz
T2JqZWN0V3JhcHBlcgBnZXRfRXZlbnRzAFN0cmluZwBFbXB0eQBGb3JtYXQARmlyZUluZm9ybWF0
aW9uAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBGaXJlRXJyb3IAQ2xl
YXJQcm9qZWN0RXJyb3IAQ2xvc2UAc2V0X1Rhc2tSZXN1bHQAU3lzdGVtLkNvbGxlY3Rpb25zAEFy
cmF5TGlzdABBZGQAQXJyYXkAVG9BcnJheQBTdHJpbmdzAExlbgBDb25uZWN0AElGdHBzQ2xpZW50
Q29ubmVjdGlvbgBJc051bGxPckVtcHR5AGdldF9DcmVhdGlvbk5hbWUAT3BlcmF0b3JzAENvbXBh
cmVTdHJpbmcAU3lzdGVtLklPAEZpbGVJbmZvAERhdGVUaW1lAGdldF9GdWxsTmFtZQBnZXRfU2l6
ZQBnZXRfTGVuZ3RoAGdldF9Nb2RpZmllZFRpbWUARmlsZVN5c3RlbUluZm8AZ2V0X0xhc3RXcml0
ZVRpbWUAZ2V0X1RpY2tzAEFkZFRpY2tzAENvbXBhcmUAQ0xTQ29tcGxpYW50QXR0cmlidXRlAFNT
SVNTY3JpcHRUYXNrRW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0
dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAEZpbHRlclByb3BlcnRpZXNBdHRy
aWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAQ2F0ZWdv
cnlBdHRyaWJ1dGUARnRwUmVtb3RlQnJvd3NlckRpYWxvZ0F0dHJpYnV0ZQBDb25uZWN0aW9uQXR0
cmlidXRlAFJlZnJlc2hQcm9wZXJ0aWVzQXR0cmlidXRlAFJlZnJlc2hQcm9wZXJ0aWVzAENvbXBp
bGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUA
U3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAU2NyaXB0
VGFza19mNDcyNTg3NDVmYjg0YjJmYjg2ZTZiNmQ5MGI4ZWQwNS5kbGwAAAAAMScAewAwAH0AJwAg
AHIAZQBtAG8AdABlACAAZgBpAGwAZQAgAGYAbwB1AG4AZAAuAAE5JwB7ADAAfQAnACAAcgBlAG0A
bwB0AGUAIABmAGkAbABlACAAbgBvAHQAIABmAG8AdQBuAGQALgABG0YAdABwAEMAbwBuAG4AZQBj
AHQAaQBvAG4AABVSAGUAbQBvAHQAZQBGAGkAbABlAAAVQwBoAGUAYwBrAEwAbwBjAGEAbAAAE0wA
bwBjAGEAbABGAGkAbABlAAATQwBoAGUAYwBrAFMAaQB6AGUAABNDAGgAZQBjAGsAVABpAG0AZQAA
NVAAbABlAGEAcwBlACAAcwBwAGUAYwBpAGYAeQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4ALgAASVAA
bABlAGEAcwBlACAAcwBwAGUAYwBpAGYAeQAgAHIAZQBtAG8AdABlACAAZgBpAGwAZQAgAHQAbwAg
AGMAaABlAGMAawAuAAA1UABsAGUAYQBzAGUAIABzAHAAZQBjAGkAZgB5ACAAbABvAGMAYQBsACAA
ZgBpAGwAZQAuAAAHUwBTAEgAAAlGAFQAUABTAAAJRgBJAEwARQAACXMAZgB0AHAAAD1VAG4AaABh
AG4AZABsAGUAZAAgAEYAVABQACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAHQAeQBwAGUALgAARycA
ewAwAH0AJwAgAGMAbwBuAG4AZQBjAHQAaQBvAG4AIABpAHMAIABuAG8AdAAgACcAewAxAH0AJwAg
AHQAeQBwAGUALgABSycAJwB7ADAAfQAnACAAYwBvAG4AbgBlAGMAdABpAG8AbgAgAGYAaQBsAGUA
IABkAG8AZQBzAG4AJwB0ACAAZQB4AGkAcwB0AC4AAQD6ZvChXLD2RK7/UgxAQftRAAi3elxWGTTg
iQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIR
BAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxAB
AR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAiJhF3NgIDMkQQgAB0OBSABAhAOBCAB
AQ4DIAACBCABAQIIFs9JC7gMNOoFIAESIRwFIAICDg4EIAEODgYgAQIdEiUCBg4CBgIDKAAOAygA
AgQoAB0OAgYIAwYRIAQAAAAABAEAAAAFIAEBETEIAQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0
ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIYARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQH
ARIUEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LkFwcGxpY2F0aW9uAAATAQAO
TXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMHAQgGAAESFRFNBAcBEhUDBwEOBRABAB4ABAoBHgAE
BwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xp
ZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIY
ARMABhUSGQETAAQKARMABSABARMACAcDEwATABMABQEAAAAABCAAEmUEIAASaQUgARJtHAQgARwc
CCADHRIlDgICBCAAEnEFAAIODhwKIAYBCA4ODggQAgUAAQESYQggBQIIDg4OCAQgAQEIDQcGEl0C
EiEdEiUIEmEEIAEIHAcgARKAgRIVAh0OBgcCHQ4SfQQAAQgOBAcCAgIGBwIdDh0OBCABHA4DIAAc
BgcCEiESIQQAAQIOBgADCA4OAgYAAw4OHBwGBwMSbQICBwcEHA4SbQ4DIAAKBSAAEYCVBiABEYCV
CgkAAggRgJURgJUQBwcCDhKAkRGAlRIlEYCVAg0BAAhWYWxpZGF0ZQAAEgEADUdldFByb3BlcnRp
ZXMAAAUgAQEdDkoBAAYAAAANRnRwQ29ubmVjdGlvbgpSZW1vdGVGaWxlCkNoZWNrTG9jYWwJTG9j
YWxGaWxlCUNoZWNrU2l6ZQlDaGVja1RpbWUAACIBAB1TcGVjaWZpZXMgdG8gY2hlY2sgZmlsZSBz
aXplLgAACgEABUxvY2FsAAAyAQAtU3BlY2lmaWVzIHJlbW90ZSBmaWxlIHRvIGNoZWNrIGZvciBl
eGlzdGVuY2UuAAAMAQAHCVJlbW90ZQAABSACAQ4CEwEADUZ0cENvbm5lY3Rpb24BAAAiAQAdU3Bl
Y2lmaWVzIHRvIGNoZWNrIGZpbGUgdGltZS4AACsBACZTcGVjaWZpZXMgY29ubmVjdGlvbiB0byBy
ZW1vdGUgc2VydmVyLgAAFgEAEUZ0cENvbm5lY3Rpb25UeXBlAAAGIAEBEYDFOQEANFNwZWNpZmll
cyB0byBjb21wYXJlIGxvY2FsIGZpbGUgYWdhaW5zdCByZW1vdGUgZmlsZS4AACwBACdTcGVjaWZp
ZXMgbG9jYWwgZmlsZSB0byBjb21wYXJlIHJlbW90ZS4AABcBABJGaWxlQ29ubmVjdGlvblR5cGUA
AAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29y
ayxWZXJzaW9uPXY0LjABAFQOFEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQA
AADMRQAAAAAAAAAAAADuRQAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4EUAAAAAAAAAAAAAAAAA
AAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAY
AACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAANQC
AAAAAAAAAAAAANQCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAAB
AAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIA
RgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsAQ0
AgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAQAgAAAQAwADAAMAAwADAANABiADAA
AAAsAAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYAaQBs
AGUAVgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIAAMAABAEkAbgB0AGUAcgBuAGEA
bABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfAGYANAA3ADIANQA4ADcANAA1AGYAYgA4
ADQAYgAyAGYAYgA4ADYAZQA2AGIANgBkADkAMABiADgAZQBkADAANQAuAGQAbABsAAAAKAACAAEA
TABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAIgAMAABAE8AcgBpAGcAaQBuAGEAbABG
AGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABUAGEAcwBrAF8AZgA0ADcAMgA1ADgANwA0ADUA
ZgBiADgANABiADIAZgBiADgANgBlADYAYgA2AGQAOQAwAGIAOABlAGQAMAA1AC4AZABsAGwAAAA0
AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAwAC4AMAAuADAALgAwAAAAOAAIAAEA
QQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADAALgAwAC4AMAAuADAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAADYAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</BinaryItem>
</ScriptProject>