home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Inside Multimedia 1995 December
/
IMM1295.ISO
/
driver
/
diamond
/
stealth
/
instdisk
/
oemsetup.inf
< prev
next >
Wrap
INI File
|
1994-10-28
|
23KB
|
437 lines
[Identification]
OptionType = VIDEO
[MapOfOptions]
"VGA" = "VGA"
"COMPAQ AVGA" = "VGA"
"8514 MONITOR UNKNOWN" = "VGA"
"8514 VGA MONITOR" = "VGA"
"8514 8503 MONO" = "VGA"
"8514 8514 GAD" = "VGA"
"GENOA VGA" = "VGA"
"VIDEO7 VGA" = "VGA"
"VIDEO7 VGA DRAM" = "VIDEO7 VGA VRAM 640x480x4"
"VIDEO7 VGA VRAM" = "VIDEO7 VGA VRAM 640x480x4"
"TRIDENT VGA" = "TRIDENT 640x480x4"
"TRIDENT VGA 9100" = "TRIDENT 640x480x4"
"PARADISE VGA" = "WDVGA 640x480x4"
"PARADISE VGA PROM" = "WDVGA 640x480x4"
"PARADISE VGA CHIP 1F" = "WDVGA 640x480x4"
"ATI VGA" = "VGA"
"ATI VGA WONDDER3" = "VGA"
"TSENGLAB VGA ET3000" = "VGA"
"TSENGLAB VGA ET4000" = "TSENGLAB VGA ET4000 640x480x4x60"
"CIRRUS VGA" = "VGA"
"CIRRUS VGA 610-620 REVC" = "VGA"
"XGA" = "XGA 640x480x8x60"
"DELL DGX" = "DELL DGX 640x480x8"
"S3 VGA" = "S3 VGA 640x480x8x01"
"PRODESIGNER II" = "TSENGLAB VGA ET4000 640x480x4x60"
"QVISION VGA" = "QVISION 640x480x8x0"
[MiniportDrivers]
s3 = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_IGNORE, 12, {s3} , 0 , "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\s3.sys" , 7
[Identify]
read-syms Identification
set Status = STATUS_SUCCESSFUL
set Identifier = $(OptionType)
set Media = #("Source Media Descriptions", 1, 1)
Return $(Status) $(Identifier) $(Media)
[ReturnOptions]
set Status = STATUS_FAILED
set OptionList = {}
set OptionTextList = {}
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
goto returnoptions
else
set Status = STATUS_NOLANGUAGE
goto finish_ReturnOptions
endif
returnoptions = +
set OptionList = ^(Options, 0)
set OptionTextList = ^(OptionsText$($0), 1)
set Status = STATUS_SUCCESSFUL
finish_ReturnOptions = +
Return $(Status) $(OptionList) $(OptionTextList)
[MapToSupportedOption]
set Status = STATUS_FAILED
set MappedOption = $($0)
set OptionList = ^(MapOfOptions, 0)
ifcontains $($0) in $(OptionList)
set MappedOption = #(MapOfOptions, $($0), 1)
else
set MappedOption = "VGA"
endif
set Status = STATUS_SUCCESSFUL
Return $(Status) $(MappedOption)
[ServicesEntry]
CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
[InstallOption]
set Status = STATUS_FAILED
set DrivesToFree = {}
set Option = $($1)
set SrcDir = $($2)
set AddCopy = $($3)
set DoCopy = $($4)
set DoConfig = $($5)
set LanguageList = ^(LanguagesSupported, 1)
Ifcontains(i) $($0) in $(LanguageList)
else
set Status = STATUS_NOLANGUAGE
goto finish_InstallOption
endif
read-syms Strings$($0)
set OptionList = ^(Options, 0)
ifcontains $(Option) in $(OptionList)
else
goto finish_InstallOption
endif
set OptionList = ""
set MiniportDriver = #(Options, $(Option), 1)
set BitsPerPel = #(Options, $(Option), 2)
set XResolution = #(Options, $(Option), 3)
set YResolution = #(Options, $(Option), 4)
set VRefresh = #(Options, $(Option), 5)
set Interlaced = #(Options, $(Option), 6)
set Type = $(#(MiniportDrivers, $(MiniportDriver), 1))
set Group = #(MiniportDrivers, $(MiniportDriver), 2)
set ErrorControl = $(#(MiniportDrivers, $(MiniportDriver), 3))
set Tag = #(MiniportDrivers, $(MiniportDriver), 4)
set InstalledDisplays = #(MiniportDrivers, $(MiniportDriver), 5)
set VgaCompatible = #(MiniportDrivers, $(MiniportDriver), 6)
set EventMessageFile = #(MiniportDrivers, $(MiniportDriver), 7)
set TypesSupported = #(MiniportDrivers, $(MiniportDriver), 8)
read-syms ServicesEntry
detect ServicesEntry
installtheoption = +
ifstr(i) $(AddCopy) == "YES"
set DoActualCopy = NO
set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
goto addfiles
endif
ForListDo $(InstalledDisplays)
set FileToCheck = #(Files-DisplayDLLs, $($), 2)
LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
ifstr(i) $(STATUS) == NO
set DoActualCopy = YES
endif
EndForListDo
addfiles = +
ifstr(i) $(DoActualCopy) == NO
shell "subroutn.inf" DriversExist $($0) $(String1)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "VIDEO.INF: shelling DriversExist failed"
goto finish_InstallOption
endif
ifstr(i) $($R0) == STATUS_CURRENT
else-ifstr(i) $($R0) == STATUS_NEW
set DoActualCopy = YES
else-ifstr(i) $($R0) == STATUS_USERCANCEL
Debug-Output "VIDEO.INF: User cancelled video installation"
goto finish_InstallOption
else
Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
goto finish_InstallOption
endif
endif
ifstr(i) $(DoActualCopy) == YES
shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
goto finish_InstallOption
endif
ifstr(i) $($R0) == STATUS_SUCCESSFUL
set SrcDir = $($R1)
ifstr(i) $($R2) != ""
set DrivesToFree = >($(DrivesToFree), $($R2))
endif
else
Debug-Output "VIDEO.INF: User cancelled asking source."
goto finish_InstallOption
endif
install Install-AddCopyOption
ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
Debug-Output "VIDEO.INF: Adding video files to copy list failed"
goto finish_InstallOption
endif
else
set DoCopy = NO
endif
endif
ifstr(i) $(DoCopy) == "YES"
read-syms ProgressCopy$($0)
install Install-DoCopyOption
ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
Debug-Output "Copying files failed"
goto finish_InstallOption
else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
set Status = STATUS_USERCANCEL
goto finish_InstallOption
endif
endif
ifstr(i) $(DoConfig) == "YES"
shell "registry.inf" CheckSetupModify
ifint $($ShellCode) != $(!SHELL_CODE_OK)
goto finish_InstallOption
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
goto finish_InstallOption
endif
set ServiceNode = $(MiniportDriver)
set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
set ServicesValues = { +
{Type, 0, $(!REG_VT_DWORD), $(Type) }, +
{Start, 0, $(!REG_VT_DWORD), $(!SERVICE_SYSTEM_START) }, +
{Group, 0, $(!REG_VT_SZ), $(Group) }, +
{ErrorControl, 0, $(!REG_VT_DWORD), $(ErrorControl) }, +
{Tag, 0, $(!REG_VT_DWORD), $(Tag) }, +
{BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary) } +
}
set ParametersValues = { +
{InstalledDisplayDrivers, 0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
{VgaCompatible, 0, $(!REG_VT_DWORD), $(VgaCompatible) }, +
{DefaultSettings.BitsPerPel, 0, $(!REG_VT_DWORD), $(BitsPerPel) }, +
{DefaultSettings.XResolution, 0, $(!REG_VT_DWORD), $(XResolution) }, +
{DefaultSettings.YResolution, 0, $(!REG_VT_DWORD), $(YResolution) } +
}
ifstr(i) $(VRefresh) != ""
set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
set ParametersValues = >($(ParametersValues), $(VRefreshValue))
endif
ifstr(i) $(Interlaced) != ""
set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
set ParametersValues = >($(ParametersValues), $(InterlacedValue))
endif
set DeviceValues = {}
set EventLogValues = { +
{EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
{TypesSupported, 0, $(!REG_VT_DWORD), $(TypesSupported) } +
}
shell "registry.inf" MakeServicesEntry $(ServiceNode) +
$(ServicesValues) +
$(ParametersValues) +
$(DeviceValues) +
$(EventLogValues) +
Device0
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
goto finish_InstallOption
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "MakeServicesEntry failed for video"
goto finish_InstallOption
endif
ifstr(i) $(CurrentEntry) != $(MiniportDriver)
ifstr(i) $(CurrentEntry) != VGA
ifstr(i) $(CurrentEntry) != ""
shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
ifint $($ShellCode) != $(!SHELL_CODE_OK)
Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
goto errorconfig
endif
ifstr(i) $($R0) != STATUS_SUCCESSFUL
Debug-Output "DisableServices entry failed"
endif
endif
endif
endif
goto configdone
errorconfig = +
ifstr(i) $(CurrentEntry) != $(MiniportDriver)
shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
ifstr(i) $(CurrentEntry) != ""
shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
endif
endif
goto finish_InstallOption
configdone = +
endif
set Status = STATUS_SUCCESSFUL
finish_InstallOption = +
ForListDo $(DrivesToFree)
LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
EndForListDo
Return $(Status)
[Install-AddCopyOption]
set STF_VITAL = ""
AddSectionKeyFileToCopyList Files-DisplayMiniportDrivers +
$(MiniportDriver) +
$(SrcDir) +
$(!STF_WINDOWSSYSPATH)\drivers
ForListDo $(InstalledDisplays)
AddSectionKeyFileToCopyList Files-DisplayDLLs +
$($) +
$(SrcDir) +
$(!STF_WINDOWSSYSPATH)
EndForListDo
exit
[Install-DoCopyOption]
CopyFilesInCopyList
exit
[Source Media Descriptions]
1 = "S3 Windows NT Installation disk" , TAGFILE = disk1
[Files-DisplayDLLs]
s3 = 1,S3.DLL , SIZE=119296
[Files-DisplayMiniportDrivers]
s3 = 1,S3.SYS , SIZE=36352
[LanguagesSupported]
ENG
[OptionsTextENG]
"Stealth VGA 640x480x8x60" = "Stealth 64 DRAM 640x480x256 60Hz, 1MB"
"Stealth VGA 640x480x8x72" = "Stealth 64 DRAM 640x480x256 72Hz, 1MB"
"Stealth VGA 640x480x8x75" = "Stealth 64 DRAM 640x480x256 75Hz, 1MB"
"Stealth VGA 640x480x8x90" = "Stealth 64 DRAM 640x480x256 90Hz, 1MB"
"Stealth VGA 640x480x8x100" = "Stealth 64 DRAM 640x480x256 100Hz, 1MB"
"Stealth VGA 640x480x8x120" = "Stealth 64 DRAM 640x480x256 120Hz, 1MB"
"Stealth VGA 800x600x8x56" = "Stealth 64 DRAM 800x600x256 56Hz, 1MB"
"Stealth VGA 800x600x8x60" = "Stealth 64 DRAM 800x600x256 60Hz, 1MB"
"Stealth VGA 800x600x8x72" = "Stealth 64 DRAM 800x600x256 72Hz, 1MB"
"Stealth VGA 800x600x8x75" = "Stealth 64 DRAM 800x600x256 75Hz, 1MB"
"Stealth VGA 800x600x8x90" = "Stealth 64 DRAM 800x600x256 90Hz, 1MB"
"Stealth VGA 800x600x8x100" = "Stealth 64 DRAM 800x600x256 100Hz, 1MB"
"Stealth VGA 800x600x8x120" = "Stealth 64 DRAM 800x600x256 120Hz, 1MB"
"Stealth VGA 1024x768x8x60" = "Stealth 64 DRAM 1024x768x256 60Hz, 1MB"
"Stealth VGA 1024x768x8x70" = "Stealth 64 DRAM 1024x768x256 70Hz, 1MB"
"Stealth VGA 1024x768x8x72" = "Stealth 64 DRAM 1024x768x256 72Hz, 1MB"
"Stealth VGA 1024x768x8x75" = "Stealth 64 DRAM 1024x768x256 75Hz, 1MB"
"Stealth VGA 1024x768x8x80" = "Stealth 64 DRAM 1024x768x256 80Hz, 1MB"
"Stealth VGA 1024x768x8x100" = "Stealth 64 DRAM 1024x768x256 100Hz, 1MB"
"Stealth VGA 1152x864x8x60" = "Stealth 64 DRAM 1152x864x256 60Hz, 2MB"
"Stealth VGA 1152x864x8x70" = "Stealth 64 DRAM 1152x864x256 70Hz, 2MB"
"Stealth VGA 1152x864x8x75" = "Stealth 64 DRAM 1152x864x256 75Hz, 2MB"
"Stealth VGA 1280x1024x8x60" = "Stealth 64 DRAM 1280x1024x256 60Hz, 2MB"
"Stealth VGA 1280x1024x8x72" = "Stealth 64 DRAM 1280x1024x256 72Hz, 2MB"
"Stealth VGA 1280x1024x8x75" = "Stealth 64 DRAM 1280x1024x256 75Hz, 2MB"
"Stealth VGA 640x480x16x60" = "Stealth 64 DRAM 640x480x64K 60Hz, 1MB"
"Stealth VGA 640x480x16x72" = "Stealth 64 DRAM 640x480x64K 72Hz, 1MB"
"Stealth VGA 640x480x16x75" = "Stealth 64 DRAM 640x480x64K 75Hz, 1MB"
"Stealth VGA 640x480x16x90" = "Stealth 64 DRAM 640x480x64K 90Hz, 1MB"
"Stealth VGA 640x480x16x100" = "Stealth 64 DRAM 640x480x64K 100Hz, 1MB"
"Stealth VGA 800x600x16x56" = "Stealth 64 DRAM 800x600x64K 56Hz, 1MB"
"Stealth VGA 800x600x16x60" = "Stealth 64 DRAM 800x600x64K 60Hz, 1MB"
"Stealth VGA 800x600x16x72" = "Stealth 64 DRAM 800x600x64K 72Hz, 2MB"
"Stealth VGA 800x600x16x75" = "Stealth 64 DRAM 800x600x64K 75Hz, 2MB"
"Stealth VGA 800x600x16x90" = "Stealth 64 DRAM 800x600x64K 90Hz, 2MB"
"Stealth VGA 800x600x16x100" = "Stealth 64 DRAM 800x600x64K 100Hz, 2MB"
"Stealth VGA 800x600x16x120" = "Stealth 64 DRAM 800x600x64K 120Hz, 2MB"
"Stealth VGA 1024x768x16x60" = "Stealth 64 DRAM 1024x768x64K 60Hz, 2MB"
"Stealth VGA 1024x768x16x70" = "Stealth 64 DRAM 1024x768x64K 70Hz, 2MB"
"Stealth VGA 1024x768x16x72" = "Stealth 64 DRAM 1024x768x64K 72Hz, 2MB"
"Stealth VGA 1024x768x16x75" = "Stealth 64 DRAM 1024x768x64K 75Hz, 2MB"
"Stealth VGA 1024x768x16x80" = "Stealth 64 DRAM 1024x768x64K 80Hz, 2MB"
"Stealth VGA 1152x864x16x60" = "Stealth 64 DRAM 1152x864x64K 60Hz, 2MB"
"Stealth VGA 640x480x32x60" = "Stealth 64 DRAM 640x480x16.7M 60Hz, 2MB"
"Stealth VGA 640x480x32x72" = "Stealth 64 DRAM 640x480x16.7M 72Hz, 2MB"
"Stealth VGA 640x480x32x75" = "Stealth 64 DRAM 640x480x16.7M 75Hz, 2MB"
"Stealth VGA 640x480x32x90" = "Stealth 64 DRAM 640x480x16.7M 90Hz, 2MB"
"Stealth VGA 640x480x32x100" = "Stealth 64 DRAM 640x480x16.7M 100Hz, 2MB"
"Stealth VGA 800x600x32x56" = "Stealth 64 DRAM 800x600x16.7M 56Hz, 2MB "
"Stealth VGA 800x600x32x60" = "Stealth 64 DRAM 800x600x16.7M 60Hz, 2MB "
"Stealth VGA 800x600x32x72" = "Stealth 64 DRAM 800x600x16.7M 72Hz, 2MB "
"Stealth VGA 800x600x32x75" = "Stealth 64 DRAM 800x600x16.7M 75Hz, 2MB "
[Options]
"Stealth VGA 640x480x8x60" = s3, 8, 640, 480 , 60 , 0
"Stealth VGA 640x480x8x72" = s3, 8, 640, 480 , 72 , 0
"Stealth VGA 640x480x8x75" = s3, 8, 640, 480 , 75 , 0
"Stealth VGA 640x480x8x90" = s3, 8, 640, 480 , 90 , 0
"Stealth VGA 640x480x8x100" = s3, 8, 640, 480 , 100 , 0
"Stealth VGA 640x480x8x120" = s3, 8, 640, 480 , 120 , 0
"Stealth VGA 800x600x8x56" = s3, 8, 800, 600 , 56 , 0
"Stealth VGA 800x600x8x60" = s3, 8, 800, 600 , 60 , 0
"Stealth VGA 800x600x8x72" = s3, 8, 800, 600 , 72 , 0
"Stealth VGA 800x600x8x75" = s3, 8, 800, 600 , 75 , 0
"Stealth VGA 800x600x8x90" = s3, 8, 800, 600 , 90 , 0
"Stealth VGA 800x600x8x100" = s3, 8, 800, 600 , 100 , 0
"Stealth VGA 800x600x8x120" = s3, 8, 800, 600 , 120 , 0
"Stealth VGA 1024x768x8x60" = s3, 8, 1024, 768 , 60 , 0
"Stealth VGA 1024x768x8x70" = s3, 8, 1024, 768 , 70 , 0
"Stealth VGA 1024x768x8x72" = s3, 8, 1024, 768 , 72 , 0
"Stealth VGA 1024x768x8x75" = s3, 8, 1024, 768 , 75 , 0
"Stealth VGA 1024x768x8x80" = s3, 8, 1024, 768 , 80 , 0
"Stealth VGA 1024x768x8x100" = s3, 8, 1024, 768 , 100 , 0
"Stealth VGA 1152x864x8x60" = s3, 8, 1152, 864 , 60 , 0
"Stealth VGA 1152x864x8x70" = s3, 8, 1152, 864 , 70 , 0
"Stealth VGA 1152x864x8x75" = s3, 8, 1152, 864 , 75 , 0
"Stealth VGA 1280x1024x8x60" = s3, 8, 1280, 1024 , 60 , 0
"Stealth VGA 1280x1024x8x72" = s3, 8, 1280, 1024 , 72 , 0
"Stealth VGA 1280x1024x8x75" = s3, 8, 1280, 1024 , 75 , 0
"Stealth VGA 640x480x16x60" = s3, 16, 640, 480 , 60 , 0
"Stealth VGA 640x480x16x72" = s3, 16, 640, 480 , 72 , 0
"Stealth VGA 640x480x16x75" = s3, 16, 640, 480 , 75 , 0
"Stealth VGA 640x480x16x90" = s3, 16, 640, 480 , 90 , 0
"Stealth VGA 640x480x16x100" = s3, 16, 640, 480 , 100 , 0
"Stealth VGA 800x600x16x56" = s3, 16, 800, 600 , 56 , 0
"Stealth VGA 800x600x16x60" = s3, 16, 800, 600 , 60 , 0
"Stealth VGA 800x600x16x72" = s3, 16, 800, 600 , 72 , 0
"Stealth VGA 800x600x16x75" = s3, 16, 800, 600 , 75 , 0
"Stealth VGA 800x600x16x90" = s3, 16, 800, 600 , 90 , 0
"Stealth VGA 800x600x16x100" = s3, 16, 800, 600 , 100 , 0
"Stealth VGA 800x600x16x120" = s3, 16, 800, 600 , 120 , 0
"Stealth VGA 1024x768x16x60" = s3, 16, 1024, 768 , 60 , 0
"Stealth VGA 1024x768x16x70" = s3, 16, 1024, 768 , 70 , 0
"Stealth VGA 1024x768x16x72" = s3, 16, 1024, 768 , 72 , 0
"Stealth VGA 1024x768x16x75" = s3, 16, 1024, 768 , 75 , 0
"Stealth VGA 1024x768x16x80" = s3, 16, 1024, 768 , 80 , 0
"Stealth VGA 1152x864x16x60" = s3, 16, 1152, 864 , 60 , 0
"Stealth VGA 640x480x32x60" = s3, 32, 640, 480 , 60 , 0
"Stealth VGA 640x480x32x72" = s3, 32, 640, 480 , 72 , 0
"Stealth VGA 640x480x32x75" = s3, 32, 640, 480 , 75 , 0
"Stealth VGA 640x480x32x90" = s3, 32, 640, 480 , 90 , 0
"Stealth VGA 640x480x32x100" = s3, 32, 640, 480 , 100 , 0
"Stealth VGA 800x600x32x56" = s3, 32, 800, 600 , 56 , 0
"Stealth VGA 800x600x32x60" = s3, 32, 800, 600 , 60 , 0
"Stealth VGA 800x600x32x72" = s3, 32, 800, 600 , 72 , 0
"Stealth VGA 800x600x32x75" = s3, 32, 800, 600 , 75 , 0
[ProgressCopyENG]
ProCaption = "Windows NT Setup"
ProCancel = "Cancel"
ProCancelMsg = "Windows NT is not correcly installed. Are you sure you want "+
"to cancel copying files?"
ProCancelCap = "Setup Message"
ProText1 = "Copying:"
ProText2 = "To:"
[StringsENG]
String1 = "Display"
String2 = "Please enter the full path to the Windows NT Display "+
"driver files. If you want to install files from the "+
"original Setup floppy disks, type a drive letter (such "+
"as A:) and Setup will prompt you for the correct disk. "+
"Then choose Continue."