diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..05f6972
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.o
+*.a
+libmsp430.so
diff --git a/Bios/FET_Bios.ewd b/Bios/FET_Bios.ewd
new file mode 100644
index 0000000..083d57f
--- /dev/null
+++ b/Bios/FET_Bios.ewd
@@ -0,0 +1,739 @@
+
+
+
+ 2
+
+ eZ_FET_DCDC_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F5528.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 1
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\eZ-FET_Hil.d43
+
+
+ OCImagesSuppressCheck2
+ 1
+
+
+ OCImagesPath2
+ $PROJ_DIR$\Objects\image\eZ-FET_DCDC.d43
+
+
+ OCImagesSuppressCheck3
+ 1
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\eZ-FET_Hal.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 1
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ COM7
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 1
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F6638.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\MSP-FET_Hil.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\Objects\image\MSP-FET_DCDC.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\Objects\image\MSP-FET_Hal.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 1
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ COM5
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 1
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/FET_Bios.ewp b/Bios/FET_Bios.ewp
new file mode 100644
index 0000000..dd1eda3
--- /dev/null
+++ b/Bios/FET_Bios.ewp
@@ -0,0 +1,2165 @@
+
+
+
+ 2
+
+ eZ_FET_DCDC_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 1
+
+
+ Input description
+ Full formatting.
+
+
+ Output variant
+ 2
+ 1
+
+
+ Output description
+ Full formatting.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F5528 MSP430F5528
+
+
+ GStackHeapOverride
+ 1
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 1
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ eZ_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\fw\fet\USB_config
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib
+ $PROJ_DIR$\src\fw\
+ $PROJ_DIR$\src\fw\fet\Fetinit
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\dcdc
+ $PROJ_DIR$\src\fw\fet\FetIcc
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetCore
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ eZ-FET_Bios.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\Bios_lnk430F5528.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 1
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetCore.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 1
+
+
+ Input description
+ Full formatting.
+
+
+ Output variant
+ 2
+ 1
+
+
+ Output description
+ Full formatting.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F6638 MSP430F6638
+
+
+ GStackHeapOverride
+ 1
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 1
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\fw\fet\USB_config
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib
+ $PROJ_DIR$\src\fw\fet\Fetinit
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\dcdc
+ $PROJ_DIR$\src\fw\fet\FetIcc
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetCore
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP-FET_Bios.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\Bios_lnk430F6638.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 1
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetCore.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ ###Uninitialized###
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Bios
+
+ $PROJ_DIR$\src\fw\fet\bios.c
+
+
+ $PROJ_DIR$\src\fw\fet\stream.c
+
+
+ $PROJ_DIR$\src\fw\fet\v3_0p.c
+
+
+ $PROJ_DIR$\src\fw\fet\v3_0p_hw_fet.c
+
+
+
+ config
+
+ $PROJ_DIR$\config\Bios_lnk430F5528.xcl
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\config\Bios_lnk430F6638.xcl
+
+ eZ_FET_DCDC_Debug
+
+
+
+
+ FetIcc
+
+ $PROJ_DIR$\src\fw\fet\FetIcc\eZ_FET_IccMonitor.c
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\src\fw\fet\FetIcc\MSP_FET_IccMonitor.c
+
+ eZ_FET_DCDC_Debug
+
+
+
+
+ FetInit
+
+ $PROJ_DIR$\src\fw\fet\FetInit\eZ_FET_init.c
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\src\fw\fet\FetInit\Fet_initClock.c
+
+
+ $PROJ_DIR$\src\fw\fet\FetInit\MSP_FET_init.c
+
+ eZ_FET_DCDC_Debug
+
+
+
+
+ USB
+
+ F5xx_F6xx_Core_Lib
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_FLASH.c
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_FLASH.h
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\hal_macros.h
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_PMAP.c
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_PMAP.h
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_PMM.c
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_PMM.h
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_TLV.c
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_TLV.h
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_UCS.c
+
+
+ $PROJ_DIR$\src\fw\fet\F5xx_F6xx_Core_Lib\HAL_UCS.h
+
+
+
+ USB_Common
+
+ USB_API
+
+ USB_CDC_API
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_CDC_API\UsbCdc.c
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_CDC_API\UsbCdc.h
+
+
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\defMSP430USB.h
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\device.h
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\dma.c
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\types.h
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\usb.c
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\usb.h
+
+
+ $PROJ_DIR$\src\fw\fet\USB_API\USB_Common\UsbIsr.h
+
+
+
+ USB_config
+
+ $PROJ_DIR$\src\fw\fet\USB_config\descriptors.c
+
+
+ $PROJ_DIR$\src\fw\fet\USB_config\descriptors.h
+
+
+ $PROJ_DIR$\src\fw\fet\USB_config\UsbIsr.c
+
+
+
+ $PROJ_DIR$\src\fw\fet\FetUsb.h
+
+
+ $PROJ_DIR$\src\fw\fet\usbConstructs.c
+
+
+ $PROJ_DIR$\src\fw\fet\usbConstructs.h
+
+
+ $PROJ_DIR$\src\fw\fet\usbEventHandling.c
+
+
+ $PROJ_DIR$\src\fw\fet\usbMain.c
+
+
+
+ $PROJ_DIR$\src\fw\fet\Fet_cStartUp\cstartup.s43
+
+
+ $PROJ_DIR$\src\fw\fet\cstartup_Hal.s43
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\src\fw\fet\main.c
+
+
+
+
diff --git a/Bios/FET_ComChannel.ewd b/Bios/FET_ComChannel.ewd
new file mode 100644
index 0000000..03126b5
--- /dev/null
+++ b/Bios/FET_ComChannel.ewd
@@ -0,0 +1,739 @@
+
+
+
+ 2
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F6638.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 1
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\MSP-FET_Bios.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 2
+
+
+ EMUVerifyDownloadP7
+ 1
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F5528.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 1
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\eZ-FET_Bios.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 2
+
+
+ EMUVerifyDownloadP7
+ 1
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/FET_ComChannel.ewp b/Bios/FET_ComChannel.ewp
new file mode 100644
index 0000000..bfa4ec6
--- /dev/null
+++ b/Bios/FET_ComChannel.ewp
@@ -0,0 +1,2038 @@
+
+
+
+ 2
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F6638 MSP430F6638
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\dcdc
+ $PROJ_DIR$\src\fw\fet\USB_config
+ $PROJ_DIR$\src\fw\fet\
+ $PROJ_DIR$\src\fw\uart\ComBase
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 1
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetComChannel
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP-FET_ComChannel.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\ComChannel_Ink430F6638.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetComChannel.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F5528 MSP430F5528
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ eZ_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\dcdc
+ $PROJ_DIR$\src\fw\fet\USB_config
+ $PROJ_DIR$\src\fw\fet\
+ $PROJ_DIR$\src\fw\uart\ComBase
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetComChannel
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ eZ-FET_ComChannel.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\ComChannel_Ink430F5528.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetComChannel.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ ###Uninitialized###
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ ComChannel
+
+ Bsl
+
+ eZ_FET_Debug
+
+
+ I2C
+
+ $PROJ_DIR$\src\uart\BSL\I2C\I2C.c
+
+
+ $PROJ_DIR$\src\uart\BSL\I2C\I2C.h
+
+
+
+ $PROJ_DIR$\src\uart\BSL\FetBsl.c
+
+
+ $PROJ_DIR$\src\uart\BSL\FetBslI2c.c
+
+
+
+ ComBase
+
+ $PROJ_DIR$\src\uart\ComBase\COM_Base.c
+
+
+
+ Uart
+
+ $PROJ_DIR$\src\uart\Uart\FetUart.c
+
+
+
+
+ config
+
+ $PROJ_DIR$\config\ComChannel_Ink430F5528.xcl
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\config\ComChannel_Ink430F6638.xcl
+
+ eZ_FET_Debug
+
+
+
+
+ $PROJ_DIR$\src\uart\cstartup_uart.s43
+
+
+ $PROJ_DIR$\src\uart\FetCom.h
+
+
+
+
diff --git a/Bios/FET_DCDC.ewd b/Bios/FET_DCDC.ewd
new file mode 100644
index 0000000..65bdaf9
--- /dev/null
+++ b/Bios/FET_DCDC.ewd
@@ -0,0 +1,739 @@
+
+
+
+ 2
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F6638.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\MSP-FET_Hil.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\image\MSP-FET_Bios.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\MSP-FET_Hal.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 1
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F5528.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\eZ-FET_Hil.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\image\eZ-FET_Bios.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\eZ-FET_Hal.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 1
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/FET_DCDC.ewp b/Bios/FET_DCDC.ewp
new file mode 100644
index 0000000..797cb33
--- /dev/null
+++ b/Bios/FET_DCDC.ewp
@@ -0,0 +1,1991 @@
+
+
+
+ 2
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ OGCore
+ 0
+
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 3
+
+
+ Input description
+ No specifier n, no float or long long.
+
+
+ Output variant
+ 2
+ 3
+
+
+ Output description
+ No specifier a or A.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F6638 MSP430F6638
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ CCLibConfigHeader
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 1
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetDcdc
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP-FET_DCDC.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\Dcdc_lnk430F6638.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetDcdc.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+ HFF0x1800-0x187F
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ ###Uninitialized###
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ OGCore
+ 0
+
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 3
+
+
+ Input description
+ No specifier n, no float or long long.
+
+
+ Output variant
+ 2
+ 3
+
+
+ Output description
+ No specifier a or A.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F5528 MSP430F5528
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ eZ_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ CCLibConfigHeader
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetDcdc
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ eZ-FET_DCDC.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\Dcdc_lnk430F5528.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetDcdc.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+ HFF0x1800-0x187F
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ ###Uninitialized###
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ config
+
+ $PROJ_DIR$\config\Dcdc_lnk430F5528.xcl
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\config\Dcdc_lnk430F6638.xcl
+
+ eZ_FET_Debug
+
+
+
+
+ DCDC
+
+ $PROJ_DIR$\src\dcdc\FetDcdc.c
+
+
+
+ $PROJ_DIR$\src\dcdc\cstartup_dcdc.s43
+
+
+
+
diff --git a/Bios/FET_Hal.ewd b/Bios/FET_Hal.ewd
new file mode 100644
index 0000000..f0916bb
--- /dev/null
+++ b/Bios/FET_Hal.ewd
@@ -0,0 +1,739 @@
+
+
+
+ 2
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F6638.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\MSP-FET_Bios.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\image\MSP-FET_Hil.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\MSP-FET_DCDC.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ COM5
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F5528.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\eZ-FET_Bios.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\image\eZ-FET_Hil.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\eZ-FET_DCDC.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 1
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 1
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/FET_Hal.ewp b/Bios/FET_Hal.ewp
new file mode 100644
index 0000000..b376cc7
--- /dev/null
+++ b/Bios/FET_Hal.ewp
@@ -0,0 +1,2900 @@
+
+
+
+ 2
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 4
+
+
+ RTDescription
+ Use the legacy C runtime library.
+
+
+ RTConfigPath
+
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\CLIB\cl430xlf.r43
+
+
+ Input variant
+ 2
+ 3
+
+
+ Input description
+ Full formatting.
+
+
+ Output variant
+ 2
+ 3
+
+
+ Output description
+ Full formatting.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 4
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F6638 MSP430F6638
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ uController_nguif
+ HAL_STREAM
+ MSP_FET
+ ARCH_MSP432
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\ez_fet
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetHal
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP-FET_Hal.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\hal_lnk430F6638.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetHal.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 4
+
+
+ RTDescription
+ Use the legacy C runtime library.
+
+
+ RTConfigPath
+
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\CLIB\cl430xlf.r43
+
+
+ Input variant
+ 2
+ 3
+
+
+ Input description
+ Full formatting.
+
+
+ Output variant
+ 2
+ 3
+
+
+ Output description
+ Full formatting.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 4
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F5528 MSP430F5528
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ uController_nguif
+ HAL_STREAM
+ eZ_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\ez_fet
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetHal
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ eZ-FET_Hal.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\hal_lnk430F5528.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetHal.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ ###Uninitialized###
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Config
+
+ $PROJ_DIR$\config\hal_lnk430F5528.xcl
+
+ MSP_FET_Debug
+
+
+
+ $PROJ_DIR$\config\hal_lnk430F6638.xcl
+
+ eZ_FET_Debug
+
+
+
+
+ Hal
+
+ MSP430
+
+ $PROJ_DIR$\src\hal\macros\BitSequence.c
+
+
+ $PROJ_DIR$\src\hal\macros\BlowFuse.c
+
+
+ $PROJ_DIR$\src\hal\macros\Configure.c
+
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchange.c
+
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchangeAFE2xx.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFunclet.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFuncletJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetDcoFrequency.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetDeviceIdPtr.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetInterfaceMode.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetJtagId.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetNumOfDevices.c
+
+
+ $PROJ_DIR$\src\hal\macros\HilCommand.c
+
+
+ $PROJ_DIR$\src\hal\macros\IsJtagFuseBlown.c
+
+
+ $PROJ_DIR$\src\hal\macros\MagicPattern.c
+
+
+ $PROJ_DIR$\src\hal\macros\PollJStateReg430I.c
+
+
+ $PROJ_DIR$\src\hal\macros\Psa.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegs.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemBytes.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemQuick.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemWords.c
+
+
+ $PROJ_DIR$\src\hal\macros\Reset430I.c
+
+
+ $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\SetChainConfiguration.c
+
+
+ $PROJ_DIR$\src\hal\macros\SetDeviceChainInfo.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStep.c
+
+
+ $PROJ_DIR$\src\hal\macros\StartJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\StartJtagActivationCode.c
+
+
+ $PROJ_DIR$\src\hal\macros\StopJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContext.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContext.c
+
+
+ $PROJ_DIR$\src\hal\macros\UnlockC092.c
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForEem.c
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForStorage.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegs.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemBytes.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemWords.c
+
+
+
+ MSP430X
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchangeX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFuncletX.c
+
+
+ $PROJ_DIR$\src\hal\macros\PsaX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemBytesX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemQuickX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemWordsX.c
+
+
+ $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtagX.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepX.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContextX.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContextX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForStorageX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemBytesX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemWordsX.c
+
+
+
+ MSP430Xv2
+
+ $PROJ_DIR$\src\hal\macros\BlowFuseFram.c
+
+
+ $PROJ_DIR$\src\hal\macros\BlowFuseXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchangeXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFuncletXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\LeaSyncConditional.c
+
+
+ $PROJ_DIR$\src\hal\macros\PollJStateReg.c
+
+
+ $PROJ_DIR$\src\hal\macros\PollJStateRegFR57xx.c
+
+
+ $PROJ_DIR$\src\hal\macros\PsaXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemBytesXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemQuickXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemWordsXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ResetXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtagXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SendJtagMailboxXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepJState.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContextXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContextXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\UnlockDeviceXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\UssSyncConditional.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsXv2.c
+
+ MSP_FET_Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ CCDefines
+ uController_nguif
+ HAL_STREAM
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\ez_fet
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 0
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 0
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\WriteFramQuickXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemBytesXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemWordsXv2.c
+
+
+
+ MSP432
+
+ $PROJ_DIR$\src\hal\macros\DisableDebugArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\EnableDebugArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetCpuIdArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetInterfaceModeArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetJtagIdCodeArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\HaltArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\MemApTransactionArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\ResetArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\RunArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\ScanApArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForDebugHaltArm.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsArm.c
+
+
+ MSP_FET_Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ CCDefines
+ uController_nguif
+ HAL_STREAM
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 11111
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\ez_fet
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hil\edt.c
+
+
+ $PROJ_DIR$\src\fw\fet\hal.c
+
+
+ $PROJ_DIR$\src\fw\fet\HalGlobalVars.c
+
+
+ $PROJ_DIR$\src\fw\fet\halMain.c
+
+
+
+ $PROJ_DIR$\src\fw\fet\cstartup_Hal.s43
+
+
+
+
diff --git a/Bios/FetDcdcController.ewd b/Bios/FetDcdcController.ewd
new file mode 100644
index 0000000..3354911
--- /dev/null
+++ b/Bios/FetDcdcController.ewd
@@ -0,0 +1,1471 @@
+
+
+
+ 2
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ SIM430
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430G2452.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 0
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 1
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ SIM430
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430G2452.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 0
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 1
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ MSP_FET2x_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ SIM430
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430G2452.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 0
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 1
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+ eZ_FETV2x_Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ SIM430
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430G2452.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 0
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 1
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/FetDcdcController.ewp b/Bios/FetDcdcController.ewp
new file mode 100644
index 0000000..5c1e473
--- /dev/null
+++ b/Bios/FetDcdcController.ewp
@@ -0,0 +1,3950 @@
+
+
+
+ 2
+
+ eZ_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430G2452 MSP430G2452
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 80
+
+
+ GHeapSize2
+ 80
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ EZ_FET
+ EZ_FET_V14
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 1
+
+
+ OCCR5Utilize
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 0
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 0
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetDcdcController
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ eZ_FetDcdcController.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 0
+
+
+ XclFile
+ $TOOLKIT_DIR$\CONFIG\lnk430G2452.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetDcdcController.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ MSP_FET_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430G2452 MSP430G2452
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 80
+
+
+ GHeapSize2
+ 80
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ MSP_FET
+ MSP_FET_V12
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 1
+
+
+ OCCR5Utilize
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 0
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 0
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetDcdcController
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP_FetDcdcController.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 0
+
+
+ XclFile
+ $TOOLKIT_DIR$\CONFIG\lnk430G2452.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetDcdcController.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ MSP_FET2x_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430G2452 MSP430G2452
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 80
+
+
+ GHeapSize2
+ 80
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ MSP_FET
+ MSP_FET_V2X
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 1
+
+
+ OCCR5Utilize
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 0
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 0
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetDcdcControllerV2x
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP_FetDcdcControllerV2x.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 0
+
+
+ XclFile
+ $TOOLKIT_DIR$\CONFIG\lnk430G2452.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetDcdcControllerV2x.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ eZ_FETV2x_Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430fn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430G2452 MSP430G2452
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 80
+
+
+ GHeapSize2
+ 80
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ EZ_FET
+ EZ_FET_V2X
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 1
+
+
+ OCCR5Utilize
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 0
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 0
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetDcdcControllerV2x
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ eZ_FetDcdcControllerV2x.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 0
+
+
+ XclFile
+ $TOOLKIT_DIR$\CONFIG\lnk430G2452.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetDcdcControllerV2x.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ $PROJ_DIR$\src\fw\fet\EnergyTrace_TSPA\VCC_Current.c
+
+
+
+
diff --git a/Bios/MSP-FET_Bios.eww b/Bios/MSP-FET_Bios.eww
new file mode 100644
index 0000000..4593fec
--- /dev/null
+++ b/Bios/MSP-FET_Bios.eww
@@ -0,0 +1,43 @@
+
+
+
+
+ $WS_DIR$\FET_Bios.ewp
+
+
+ $WS_DIR$\FET_ComChannel.ewp
+
+
+ $WS_DIR$\FET_DCDC.ewp
+
+
+ $WS_DIR$\FET_Hal.ewp
+
+
+ $WS_DIR$\FetDcdcController.ewp
+
+
+ $WS_DIR$\MSP-FET_Hil.ewp
+
+
+
+ All
+
+ eZ-FetHil
+ Debug
+
+
+ FetDCDC
+ Debug
+
+
+ NgUifBios
+ Debug
+
+
+ NgUifHal
+ Debug
+
+
+
+
diff --git a/Bios/MSP-FET_FpgaUpdate.ewd b/Bios/MSP-FET_FpgaUpdate.ewd
new file mode 100644
index 0000000..9e3e326
--- /dev/null
+++ b/Bios/MSP-FET_FpgaUpdate.ewd
@@ -0,0 +1,373 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F6638.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\MSP-FET_Bios.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\image\MSP-FET_Hil.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\MSP-FET_DCDC.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/MSP-FET_FpgaUpdate.ewp b/Bios/MSP-FET_FpgaUpdate.ewp
new file mode 100644
index 0000000..a5cb2ce
--- /dev/null
+++ b/Bios/MSP-FET_FpgaUpdate.ewp
@@ -0,0 +1,1058 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xlfn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F6638 MSP430F6638
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 11111
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\src\fpga_update
+ $PROJ_DIR$\src\fpga_update\DirectC
+ $PROJ_DIR$\src\hil\msp_fet
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetFpgaHal
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 1
+
+
+ OutputFile
+ MSP-FET_FpgaUpdate.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\hal_lnk430F6638fpga.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetFpgaHal.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ config
+
+ $PROJ_DIR$\config\hal_lnk430F6638.xcl
+
+ Debug
+
+
+
+ $PROJ_DIR$\config\hal_lnk430F6638fpga.xcl
+
+
+
+ DirectC
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpalg.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpchain.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpcom.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpcore.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpdef.h
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpfrom.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpjtag.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpnvm.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpsecurity.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpuser.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dpuser.h
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dputil.c
+
+
+ $PROJ_DIR$\src\fpga_update\DirectC\dputil.h
+
+
+
+ $PROJ_DIR$\src\fpga_update\cstartup_FpgaUpdate.s43
+
+
+ $PROJ_DIR$\src\fpga_update\FpgaBitstream.h
+
+
+ $PROJ_DIR$\src\fpga_update\FpgaUpdate.c
+
+
+
+
diff --git a/Bios/MSP-FET_Hil.ewd b/Bios/MSP-FET_Hil.ewd
new file mode 100644
index 0000000..0ceb126
--- /dev/null
+++ b/Bios/MSP-FET_Hil.ewd
@@ -0,0 +1,373 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F6638.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\MSP-FET_DCDC.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\image\MSP-FET_Bios.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+ $PROJ_DIR$\objects\image\MSP-FET_HAL.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 1
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.5
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 1
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 1
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/MSP-FET_Hil.ewp b/Bios/MSP-FET_Hil.ewp
new file mode 100644
index 0000000..504ea25
--- /dev/null
+++ b/Bios/MSP-FET_Hil.ewp
@@ -0,0 +1,1053 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xsfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xsfn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F6638 MSP430F6638
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ uController_nguif
+ HAL_STREAM
+ MSP_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 11111
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\msp_fet
+ $PROJ_DIR$\src\hil\fet_generic
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ MSP_FetHil
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 0
+
+
+ OutputFile
+ MSP-FET_Hil.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\Hil_lnk430F6638 .xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ MSP_FetHil.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ config
+
+ $PROJ_DIR$\config\Hil_lnk430F6638 .xcl
+
+
+
+ Hil
+
+ $PROJ_DIR$\src\hil\msp_fet\arch.h
+
+
+ $PROJ_DIR$\src\hil\msp_fet\archFpga.h
+
+
+ $PROJ_DIR$\src\hil\msp_fet\hil.c
+
+
+ $PROJ_DIR$\src\hil\fet_generic\hil_2wDma.c
+
+
+ $PROJ_DIR$\src\hil\fet_generic\hil_4w.c
+
+
+ $PROJ_DIR$\src\hil\fet_generic\hil_generic.c
+
+
+ $PROJ_DIR$\src\hil\fet_generic\hil_generic432.c
+
+
+ $PROJ_DIR$\src\hil\fet_generic\hil_Swd432.c
+
+
+ $PROJ_DIR$\src\hil\msp_fet\hilAdcControl.c
+
+
+ $PROJ_DIR$\src\hil\msp_fet\hilDacControl.c
+
+
+ $PROJ_DIR$\src\hil\msp_fet\hilDelays.c
+
+
+ $PROJ_DIR$\src\hil\msp_fet\hilDelays.h
+
+
+ $PROJ_DIR$\src\hil\msp_fet\hilFpgaAccess.c
+
+
+
+ $EW_DIR$\430\inc\cfi.m43
+
+
+ $PROJ_DIR$\src\hil\ez_fet\cstartup_hil.s43
+
+
+
+
diff --git a/Bios/SafeCore.ewd b/Bios/SafeCore.ewd
index b460884..c0d512a 100644
--- a/Bios/SafeCore.ewd
+++ b/Bios/SafeCore.ewd
@@ -12,7 +12,7 @@
C-SPY
4
- 24
+ 25
1
1
@@ -115,13 +115,37 @@
L092Mode
1
+
+ OCImagesOffset1
+
+
+
+ OCImagesOffset2
+
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 0
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
430FET
1
- 21
+ 23
1
1
@@ -130,7 +154,7 @@
Erase
- 1
+ 0
EMUVerifyDownloadP7
@@ -163,7 +187,7 @@
TargetVoltage
- 3.3
+ ###Uninitialized###
AllowLockedFlashAccessP7
@@ -179,7 +203,7 @@
CRadioProtocolType
- 0
+ 1
CCRadioModuleTypeSlave
@@ -208,11 +232,11 @@
SoftwareBreakpointEnable
- 0
+ 1
RadioSoftwareBreakpointType
- 0
+ 1
TargetSettlingtime
@@ -232,7 +256,7 @@
GPassword
-
+ ###Uninitialized###
DebugLPM5
@@ -250,6 +274,14 @@
ExternalCodeDownload
0
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
@@ -290,10 +322,30 @@
$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
1
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
0
@@ -311,16 +363,12 @@
0
- $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
1
- $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
- 1
+ $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin
+ 0
diff --git a/Bios/SafeCore.ewp b/Bios/SafeCore.ewp
index 2c5ea21..0454f58 100644
--- a/Bios/SafeCore.ewp
+++ b/Bios/SafeCore.ewp
@@ -10,9 +10,9 @@
1
General
- 7
+ 12
- 27
+ 28
1
1
@@ -31,10 +31,6 @@
ListPath
Objects\List
-
- PosIndCode
- 0
-
Hardware Multiplier
1
@@ -70,8 +66,8 @@
Input variant
- 0
- 1
+ 2
+ 3
Input description
@@ -79,8 +75,8 @@
Output variant
- 0
- 1
+ 2
+ 3
Output description
@@ -149,13 +145,21 @@
RadioL092ModelType
0
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
ICC430
4
- 29
+ 35
1
1
@@ -287,10 +291,6 @@
CCLibConfigHeader
1
-
- CPIC
- 1
-
IExtraOptionsCheck
0
@@ -387,16 +387,76 @@
1
- IccRelaxedFpPrecision
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
0
+
+ ADefines
+
+
A430
- 4
+ 5
- 13
+ 14
1
1
@@ -552,6 +612,10 @@
AUserIncludes
+
+ ACPUTAG
+ 1
+
@@ -579,7 +643,7 @@
XLINK
4
- 22
+ 23
1
1
@@ -854,6 +918,11 @@
XLibraryHeap20
1
+
+ CrcUnitSize
+ 0
+ 0
+
@@ -877,6 +946,36 @@
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ ###Uninitialized###
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+
+
+
+ ULPStatus
+ 1
+
+
+
BILINK
0
diff --git a/Bios/UifBiosCore.ewd b/Bios/UifBiosCore.ewd
index c946b94..6af9579 100644
--- a/Bios/UifBiosCore.ewd
+++ b/Bios/UifBiosCore.ewd
@@ -12,7 +12,7 @@
C-SPY
4
- 24
+ 25
1
1
@@ -33,7 +33,7 @@
GoToEnable
- 0
+ 1
GoToName
@@ -89,7 +89,7 @@
OCImagesPath1
- $PROJ_DIR$\objects\image\UifHal.d43
+ $PROJ_DIR$\Objects\image\UifHal.d43
OCImagesSuppressCheck2
@@ -115,341 +115,39 @@
L092Mode
1
-
-
-
- 430FET
- 1
-
- 21
- 1
- 1
-
- CFetMandatory
- 0
-
-
- Erase
- 1
-
-
- EMUVerifyDownloadP7
- 0
-
-
- EraseOptionSlaveP7
- 0
-
-
- ExitBreakpointP7
- 0
-
-
- PutcharBreakpointP7
- 1
-
-
- GetcharBreakpointP7
- 1
-
-
- derivativeP7
- 0
-
-
- ParallelPortP7
- 0
- 0
-
-
- TargetVoltage
- 3.3
-
-
- AllowLockedFlashAccessP7
- 0
-
-
- EMUAttach
- 0
-
-
- AttachOptionSlave
- 0
-
-
- CRadioProtocolType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- EEMLevel
- 0
-
-
- DiasbleMemoryCache
- 0
-
-
- NeedLockedFlashAccess
- 1
-
-
- UsbComPort
- COM180
-
-
- FetConnection
- 2
- 0
-
-
- SoftwareBreakpointEnable
- 1
-
-
- RadioSoftwareBreakpointType
- 0
-
-
- TargetSettlingtime
- 0
-
-
- AllowAccessToBSL
- 0
-
-
- OTargetVccTypeDefault
- 0
-
-
- CCBetaDll
- 1
-
-
- GPassword
-
-
-
- DebugLPM5
- 0
-
-
- LPM5Slave
- 0
-
-
- CRadioAutoManualType
- 0
-
-
- ExternalCodeDownload
- 0
-
-
-
-
- SIM430
- 1
-
- 4
- 1
- 1
-
- SimOddAddressCheckP7
- 1
-
-
- CSimMandatory
- 1
-
-
- derivativeSim
- 0
-
-
- SimEnablePSP
- 0
-
-
- SimPspOverrideConfig
- 0
-
-
- SimPspConfigFile
- $TOOLKIT_DIR$\CONFIG\test.psp.config
-
-
-
-
-
- $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
- 1
-
-
-
-
- Release COM-IRQ
-
- MSP430
-
- 0
-
- C-SPY
- 4
-
- 24
- 1
- 0
-
- CInput
- 1
-
-
- MacOverride
- 0
-
-
- MacFile
-
-
- IProcessor
+ OCImagesOffset1
0
- GoToEnable
- 1
-
-
- GoToName
- main
-
-
- DynDriver
- 430FET
-
-
- dDllSlave
+ OCImagesOffset2
0
- DdfFileSlave
- 1
-
-
- DdfOverride
- 0
-
-
- DdfFileName
- $TOOLKIT_DIR$\config\MSP430F1612.ddf
-
-
- ProcTMS
- 1
-
-
- CExtraOptionsCheck
- 0
-
-
- CExtraOptions
+ OCImagesOffset3
- ProcMSP430X
- 1
-
-
- CompilerDataModel
+ OCImagesUse1
1
- IVBASE
+ OCImagesUse2
1
- OCImagesSuppressCheck1
+ OCImagesUse3
0
-
- OCImagesPath1
- $PROJ_DIR$\objects\image\SafeCore.d43
-
-
- OCImagesSuppressCheck2
- 0
-
-
- OCImagesPath2
- $PROJ_DIR$\objects\image\UifHal.d43
-
-
- OCImagesSuppressCheck3
- 0
-
-
- OCImagesPath3
-
-
-
- CPUTAG
- 1
-
-
- L092Mode
- 1
-
430FET
1
- 21
+ 23
1
- 0
+ 1
CFetMandatory
0
@@ -505,7 +203,7 @@
CRadioProtocolType
- 1
+ 0
CCRadioModuleTypeSlave
@@ -530,11 +228,11 @@
FetConnection
2
- 1
+ 0
SoftwareBreakpointEnable
- 0
+ 1
RadioSoftwareBreakpointType
@@ -576,6 +274,14 @@
ExternalCodeDownload
0
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
@@ -584,7 +290,7 @@
4
1
- 0
+ 1
SimOddAddressCheckP7
1
@@ -614,16 +320,32 @@
$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
- 1
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
0
@@ -640,14 +362,6 @@
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
-
- $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
1
diff --git a/Bios/UifBiosCore.ewp b/Bios/UifBiosCore.ewp
index 9512262..d3afc45 100644
--- a/Bios/UifBiosCore.ewp
+++ b/Bios/UifBiosCore.ewp
@@ -10,9 +10,9 @@
1
General
- 7
+ 12
- 27
+ 28
1
1
@@ -27,10 +27,6 @@
ListPath
objects\List
-
- PosIndCode
- 0
-
Hardware Multiplier
1
@@ -66,8 +62,8 @@
Input variant
- 0
- 1
+ 2
+ 3
Input description
@@ -75,8 +71,8 @@
Output variant
- 0
- 1
+ 2
+ 3
Output description
@@ -149,18 +145,27 @@
RadioL092ModelType
0
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
ICC430
4
- 29
+ 35
1
1
CCDefines
uController_uif
+ MSP430_UIF
CCPreprocFile
@@ -287,10 +292,6 @@
OCCR5Utilize
0
-
- CPIC
- 1
-
IExtraOptionsCheck
1
@@ -387,16 +388,76 @@
1
- IccRelaxedFpPrecision
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
0
+
+ ADefines
+
+
A430
- 4
+ 5
- 13
+ 14
1
1
@@ -552,6 +613,10 @@
AUserIncludes
+
+ ACPUTAG
+ 1
+
@@ -572,14 +637,14 @@
1
- "$PROJ_DIR$\tools\uifbioscorePostBuild.bat" "$PROJ_DIR$"
+ "$PROJ_DIR$\tools\convertEzFetTxt.bat" "$PROJ_DIR$" UifBiosCore
XLINK
4
- 22
+ 23
1
1
@@ -854,6 +919,11 @@
XLibraryHeap20
1
+
+ CrcUnitSize
+ 0
+ 0
+
@@ -878,887 +948,35 @@
- BILINK
- 0
-
-
-
-
- Release COM-IRQ
-
- MSP430
-
- 0
-
- General
- 7
+ ULP430
+ 1
- 27
+ 1
1
- 0
-
- ExePath
- objects\image
-
-
- ObjPath
- objects\Obj
-
-
- ListPath
- objects\List
-
-
- PosIndCode
- 0
-
-
- Hardware Multiplier
- 1
-
-
- GOutputBinary
- 0
-
-
- AssemblerOnly
- 0
-
-
- OGDouble
- 0
-
-
- GRuntimeLibSelect
- 0
- 4
-
-
- RTDescription
- Use the legacy C runtime library.
-
-
- RTConfigPath
-
-
-
- RTLibraryPath
- $TOOLKIT_DIR$\LIB\CLIB\cl430f.r43
-
-
- Input variant
- 0
- 1
-
-
- Input description
- Full formatting.
-
-
- Output variant
- 0
- 1
-
-
- Output description
- Full formatting.
-
-
- GRuntimeLibSelectSlave
- 0
- 4
-
-
- OGCore
- 0
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectMenu
- MSP430F1612 MSP430F1612
-
-
- GStackHeapOverride
- 1
-
-
- GStackSize2
- 512
-
-
- GHeapSize2
- 1224
-
-
- RadioDataModelType
- 0
-
-
- GHeap20Size
- 80
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- RadioHeapSizeType
- 1
-
-
- RadioHardwareMultiplierType
- 0
-
+ 1
- GeneralMisraVer
- 0
+ CUTest
+ ###Uninitialized###
- GeneralMisraRules04
+ ULPRules
0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RadioL092ModelType
- 0
-
-
-
-
- ICC430
- 4
-
- 29
- 1
- 0
-
- CCDefines
- NDEBUG
- uController_uif
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
+ 1111111111111111111
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
+ ULPEnable
0
- CCDiagSuppress
-
-
-
- CCDiagRemark
+ OutputFile
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 11111
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 0
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- IDoubleSize
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- Save20bit
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 2
-
-
- CCOptLevelSlave
- 3
-
-
- CInput
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
- A430
- 4
-
- 13
- 1
- 0
-
- AObjPrefix
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADefines
-
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- ADebug
- 0
-
-
- ADebugType
- 0
-
-
- IProcessor
- 0
-
-
- AMaxErrOn
- 0
-
-
- AMaxErrNum
- 100
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- AMultibyteSupport
- 0
-
-
- AExtraOptionsCheck
- 0
-
-
- AExtraOptions
-
-
-
- OA1M
- 1
-
-
- AIgnoreStdInclude
- 0
-
-
- AStdIncludes
- $TOOLKIT_DIR$\INC\
-
-
- AUserIncludes
-
-
-
-
-
- CUSTOM
- 3
-
-
-
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
- $PROJ_DIR$\tools\uifbioscorePostBuild.bat $PROJ_DIR$
-
-
-
- XLINK
- 4
-
- 22
- 1
- 0
-
- XOutOverride
- 0
-
-
- OutputFile
- UifBiosCore.d43
-
-
- OutputFormat
- 11
- 33
-
-
- FormatVariant
- 8
- 2
-
-
- SecondaryOutputFile
- (None for the selected format)
-
-
- XDefines
-
-
-
- AlwaysOutput
- 0
-
-
- OverlapWarnings
- 0
-
-
- NoGlobalCheck
- 0
-
-
- XList
- 1
-
-
- SegmentMap
- 1
-
-
- ListSymbols
- 2
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- XIncludes
- $TOOLKIT_DIR$\LIB\
-
-
- ModuleStatus
- 0
-
-
- XclOverride
- 1
-
-
- XclFile
- $PROJ_DIR$\config\Bios_lnk430F1612.xcl
-
-
- XclFileSlave
-
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xFF
-
-
- DoCrc
- 0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlgo
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- RangeCheckAlternatives
- 0
-
-
- SuppressAllWarn
- 0
-
-
- SuppressDiags
-
-
-
- TreatAsWarn
-
-
-
- TreatAsErr
-
-
-
- ModuleLocalSym
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- XHardwareMul
- 1
-
-
- IncludeSuppressed
- 0
-
-
- ModuleSummary
- 0
-
-
- XlinkStackSize
- 1
-
-
- XlinkCodeModel
- 1
-
-
- xcProgramEntryLabel
- __program_start
-
-
- DebugInformation
- 0
-
-
- RuntimeControl
- 0
-
-
- IoEmulation
- 1
-
-
- XcRTLibraryFile
- 1
-
-
- OXLibIOConfig
- 1
-
-
- XLibraryHeap
- 1
-
-
- AllowExtraOutput
- 0
-
-
- GenerateExtraOutput
- 1
-
-
- XExtraOutOverride
- 0
-
-
- ExtraOutputFile
- UifBiosCore.txt
-
-
- ExtraOutputFormat
- 11
- 33
-
-
- ExtraFormatVariant
- 8
- 2
-
-
- xcOverrideProgramEntryLabel
- 0
-
-
- xcProgramEntryLabelSelect
- 0
-
-
- ListOutputFormat
- 0
-
-
- BufferedTermOutput
- 0
-
-
- XExtraOptionsCheck
- 0
-
-
- XExtraOptions
-
-
-
- OverlaySystemMap
- 0
-
-
- RawBinaryFile
-
-
-
- RawBinarySymbol
-
-
-
- RawBinarySegment
-
-
-
- RawBinaryAlign
-
-
-
- XLinkMisraHandler
- 0
-
-
- CrcAlign
- 2
-
-
- CrcInitialValue
- 0x0
-
-
- XLibraryHeap20
+ ULPStatus
1
-
- XAR
- 4
-
- 0
- 1
- 0
-
- XAROutOverride
- 0
-
-
- XARInputs
-
-
-
- OutputFile
-
-
-
-
BILINK
0
@@ -1786,15 +1004,18 @@
$PROJ_DIR$\src\fw\uifv1\main.c
- $PROJ_DIR$\src\fw\stream.c
+ $PROJ_DIR$\src\fw\uifv1\stream.c
- $PROJ_DIR$\src\fw\v3_0p.c
+ $PROJ_DIR$\src\fw\uifv1\v3_0p.c
$PROJ_DIR$\src\fw\uifv1\v3_0p_hw_uif.c
+
+ $PROJ_DIR$\src\fw\uifv1\uifVersion.h
+
diff --git a/Bios/UifHal.ewd b/Bios/UifHal.ewd
index d4eb9ff..d5f1c32 100644
--- a/Bios/UifHal.ewd
+++ b/Bios/UifHal.ewd
@@ -12,7 +12,7 @@
C-SPY
4
- 24
+ 25
1
1
@@ -115,341 +115,39 @@
L092Mode
1
-
-
-
- 430FET
- 1
-
- 21
- 1
- 1
-
- CFetMandatory
- 0
-
-
- Erase
- 1
-
-
- EMUVerifyDownloadP7
- 0
-
-
- EraseOptionSlaveP7
- 0
-
-
- ExitBreakpointP7
- 0
-
-
- PutcharBreakpointP7
- 1
-
- GetcharBreakpointP7
- 1
-
-
- derivativeP7
- 0
-
-
- ParallelPortP7
- 0
+ OCImagesOffset1
0
- TargetVoltage
- 3.3
-
-
- AllowLockedFlashAccessP7
- 0
-
-
- EMUAttach
- 0
-
-
- AttachOptionSlave
- 0
-
-
- CRadioProtocolType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- EEMLevel
- 0
-
-
- DiasbleMemoryCache
- 0
-
-
- NeedLockedFlashAccess
- 1
-
-
- UsbComPort
- COM75
-
-
- FetConnection
- 2
+ OCImagesOffset2
0
- SoftwareBreakpointEnable
- 0
-
-
- RadioSoftwareBreakpointType
- 0
-
-
- TargetSettlingtime
- 0
-
-
- AllowAccessToBSL
- 0
-
-
- OTargetVccTypeDefault
- 0
-
-
- CCBetaDll
- 1
-
-
- GPassword
+ OCImagesOffset3
- DebugLPM5
- 0
-
-
- LPM5Slave
- 0
-
-
- CRadioAutoManualType
- 0
-
-
- ExternalCodeDownload
- 0
-
-
-
-
- SIM430
- 1
-
- 4
- 1
- 1
-
- SimOddAddressCheckP7
+ OCImagesUse1
1
- CSimMandatory
+ OCImagesUse2
1
- derivativeSim
- 0
-
-
- SimEnablePSP
+ OCImagesUse3
0
-
- SimPspOverrideConfig
- 0
-
-
- SimPspConfigFile
- $TOOLKIT_DIR$\CONFIG\test.psp.config
-
-
-
-
-
- $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
- 1
-
-
- $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
- 0
-
-
- $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
- 0
-
-
- $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
- 1
-
-
-
-
- Release
-
- MSP430
-
- 0
-
- C-SPY
- 4
-
- 24
- 1
- 0
-
- CInput
- 1
-
-
- MacOverride
- 0
-
-
- MacFile
-
-
-
- IProcessor
- 0
-
-
- GoToEnable
- 1
-
-
- GoToName
- main
-
-
- DynDriver
- 430FET
-
-
- dDllSlave
- 0
-
-
- DdfFileSlave
- 1
-
-
- DdfOverride
- 0
-
-
- DdfFileName
- $TOOLKIT_DIR$\config\MSP430F1612.ddf
-
-
- ProcTMS
- 1
-
-
- CExtraOptionsCheck
- 0
-
-
- CExtraOptions
-
-
-
- ProcMSP430X
- 1
-
-
- CompilerDataModel
- 1
-
-
- IVBASE
- 1
-
-
- OCImagesSuppressCheck1
- 0
-
-
- OCImagesPath1
- $PROJ_DIR$\objects\image\UifBiosCore.d43
-
-
- OCImagesSuppressCheck2
- 0
-
-
- OCImagesPath2
- $PROJ_DIR$\objects\image\SafeCore.d43
-
-
- OCImagesSuppressCheck3
- 0
-
-
- OCImagesPath3
-
-
-
- CPUTAG
- 1
-
-
- L092Mode
- 1
-
430FET
1
- 21
+ 23
1
- 0
+ 1
CFetMandatory
0
@@ -505,7 +203,7 @@
CRadioProtocolType
- 1
+ 0
CCRadioModuleTypeSlave
@@ -530,7 +228,7 @@
FetConnection
2
- 1
+ 0
SoftwareBreakpointEnable
@@ -576,6 +274,14 @@
ExternalCodeDownload
0
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
@@ -584,7 +290,7 @@
4
1
- 0
+ 1
SimOddAddressCheckP7
1
@@ -616,14 +322,30 @@
$TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
1
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
0
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
0
@@ -640,14 +362,6 @@
$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
0
-
- $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin
- 1
-
-
- $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin
- 1
-
$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
1
diff --git a/Bios/UifHal.ewp b/Bios/UifHal.ewp
index 1a2316d..30ef013 100644
--- a/Bios/UifHal.ewp
+++ b/Bios/UifHal.ewp
@@ -10,9 +10,9 @@
1
General
- 7
+ 12
- 27
+ 28
1
1
@@ -27,896 +27,6 @@
ListPath
objects\list
-
- PosIndCode
- 0
-
-
- Hardware Multiplier
- 1
-
-
- GOutputBinary
- 0
-
-
- AssemblerOnly
- 0
-
-
- OGDouble
- 0
-
-
- GRuntimeLibSelect
- 0
- 4
-
-
- RTDescription
- Use the legacy C runtime library.
-
-
- RTConfigPath
-
-
-
- RTLibraryPath
- $TOOLKIT_DIR$\LIB\CLIB\cl430f.r43
-
-
- Input variant
- 0
- 1
-
-
- Input description
- Full formatting.
-
-
- Output variant
- 0
- 1
-
-
- Output description
- Full formatting.
-
-
- GRuntimeLibSelectSlave
- 0
- 4
-
-
- OGCore
- 0
-
-
- GeneralEnableMisra
- 0
-
-
- GeneralMisraVerbose
- 0
-
-
- OGChipSelectMenu
- MSP430F1612 MSP430F1612
-
-
- GStackHeapOverride
- 1
-
-
- GStackSize2
- 0
-
-
- GHeapSize2
- 768
-
-
- RadioDataModelType
- 0
-
-
- GHeap20Size
- 80
-
-
- GeneralMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- RadioHeapSizeType
- 1
-
-
- RadioHardwareMultiplierType
- 0
-
-
- GeneralMisraVer
- 0
-
-
- GeneralMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- RadioL092ModelType
- 0
-
-
-
-
- ICC430
- 4
-
- 29
- 1
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 11111
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- IDoubleSize
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- Save20bit
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 1
-
-
- CCOptLevelSlave
- 3
-
-
- CInput
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
- A430
- 4
-
- 13
- 1
- 1
-
- AObjPrefix
- 1
-
-
- ACaseSensitivity
- 1
-
-
- MacroChars
- 0
- 0
-
-
- AWarnEnable
- 0
-
-
- AWarnWhat
- 0
-
-
- AWarnOne
-
-
-
- AWarnRange1
-
-
-
- AWarnRange2
-
-
-
- ADefines
- U2
-
-
- AList
- 0
-
-
- AListHeader
- 1
-
-
- AListing
- 1
-
-
- Includes
- 0
-
-
- MacDefs
- 0
-
-
- MacExps
- 1
-
-
- MacExec
- 0
-
-
- OnlyAssed
- 0
-
-
- MultiLine
- 0
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- TabSpacing
- 8
-
-
- AXRef
- 0
-
-
- AXRefDefines
- 0
-
-
- AXRefInternal
- 0
-
-
- AXRefDual
- 0
-
-
- ADebug
- 1
-
-
- ADebugType
- 0
-
-
- IProcessor
- 0
-
-
- AMaxErrOn
- 0
-
-
- AMaxErrNum
- 100
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- AMultibyteSupport
- 0
-
-
- AExtraOptionsCheck
- 0
-
-
- AExtraOptions
-
-
-
- OA1M
- 1
-
-
- AIgnoreStdInclude
- 0
-
-
- AStdIncludes
- $TOOLKIT_DIR$\INC\
-
-
- AUserIncludes
-
-
-
-
-
- CUSTOM
- 3
-
-
-
-
-
-
- BICOMP
- 0
-
-
-
- BUILDACTION
- 1
-
-
- "$PROJ_DIR$\tools\uifhalPostBuild.bat" "$PROJ_DIR$"
-
-
-
- XLINK
- 4
-
- 22
- 1
- 1
-
- XOutOverride
- 0
-
-
- OutputFile
- UifHal.d43
-
-
- OutputFormat
- 11
- 33
-
-
- FormatVariant
- 8
- 2
-
-
- SecondaryOutputFile
- (None for the selected format)
-
-
- XDefines
-
-
-
- AlwaysOutput
- 0
-
-
- OverlapWarnings
- 0
-
-
- NoGlobalCheck
- 0
-
-
- XList
- 1
-
-
- SegmentMap
- 1
-
-
- ListSymbols
- 2
-
-
- PageLengthCheck
- 0
-
-
- PageLength
- 80
-
-
- XIncludes
- $TOOLKIT_DIR$\LIB\
-
-
- ModuleStatus
- 0
-
-
- XclOverride
- 1
-
-
- XclFile
- $PROJ_DIR$\config\hal_lnk430F1612.xcl
-
-
- XclFileSlave
-
-
-
- DoFill
- 0
-
-
- FillerByte
- 0xAB
-
-
- DoCrc
- 0
-
-
- CrcSize
- 0
- 1
-
-
- CrcAlgo
- 1
-
-
- CrcPoly
- 0x11021
-
-
- CrcCompl
- 0
- 0
-
-
- RangeCheckAlternatives
- 0
-
-
- SuppressAllWarn
- 0
-
-
- SuppressDiags
-
-
-
- TreatAsWarn
-
-
-
- TreatAsErr
-
-
-
- ModuleLocalSym
- 0
- 0
-
-
- CrcBitOrder
- 0
- 0
-
-
- XHardwareMul
- 1
-
-
- IncludeSuppressed
- 1
-
-
- ModuleSummary
- 1
-
-
- XlinkStackSize
- 1
-
-
- XlinkCodeModel
- 1
-
-
- xcProgramEntryLabel
- __program_start
-
-
- DebugInformation
- 0
-
-
- RuntimeControl
- 1
-
-
- IoEmulation
- 1
-
-
- XcRTLibraryFile
- 1
-
-
- OXLibIOConfig
- 1
-
-
- XLibraryHeap
- 1
-
-
- AllowExtraOutput
- 1
-
-
- GenerateExtraOutput
- 1
-
-
- XExtraOutOverride
- 0
-
-
- ExtraOutputFile
- UifHal.txt
-
-
- ExtraOutputFormat
- 11
- 33
-
-
- ExtraFormatVariant
- 8
- 2
-
-
- xcOverrideProgramEntryLabel
- 0
-
-
- xcProgramEntryLabelSelect
- 0
-
-
- ListOutputFormat
- 0
-
-
- BufferedTermOutput
- 0
-
-
- XExtraOptionsCheck
- 0
-
-
- XExtraOptions
-
-
-
- OverlaySystemMap
- 1
-
-
- RawBinaryFile
-
-
-
- RawBinarySymbol
-
-
-
- RawBinarySegment
-
-
-
- RawBinaryAlign
-
-
-
- XLinkMisraHandler
- 0
-
-
- CrcAlign
- 2
-
-
- CrcInitialValue
- 0x0
-
-
- XLibraryHeap20
- 1
-
-
-
-
- XAR
- 4
-
- 0
- 1
- 1
-
- XAROutOverride
- 0
-
-
- XARInputs
-
-
-
- OutputFile
- UifHal.r43
-
-
-
-
- BILINK
- 0
-
-
-
-
- Release
-
- MSP430
-
- 0
-
- General
- 7
-
- 27
- 1
- 0
-
- ExePath
- Objects\Image
-
-
- ObjPath
- Objects\Obj
-
-
- ListPath
- Objects\List
-
-
- PosIndCode
- 0
-
Hardware Multiplier
1
@@ -952,8 +62,8 @@
Input variant
- 0
- 1
+ 2
+ 3
Input description
@@ -961,8 +71,8 @@
Output variant
- 0
- 1
+ 2
+ 3
Output description
@@ -995,11 +105,11 @@
GStackSize2
- 1024
+ 0
GHeapSize2
- 1024
+ 768
RadioDataModelType
@@ -1035,36 +145,46 @@
RadioL092ModelType
0
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
ICC430
4
- 29
+ 35
1
- 0
+ 1
CCDefines
- NDEBUG
- uController
+ uController_uif
+ ARCH_MSP432
HAL_STREAM
+ __ICC430__
+ MSP430_UIF
CCPreprocFile
- 0
+ 1
CCPreprocComments
- 0
+ 1
CCPreprocLine
- 0
+ 1
CCListCFile
- 0
+ 1
CCListCMnemonics
@@ -1076,11 +196,11 @@
CCListAssFile
- 0
+ 1
CCListAssSource
- 0
+ 1
CCEnableRemarks
@@ -1125,7 +245,7 @@
CCDebugInfo
- 0
+ 1
IProcessor
@@ -1153,7 +273,7 @@
CCCompilerRuntimeInfo
- 0
+ 1
IDoubleSize
@@ -1175,10 +295,6 @@
OCCR5Utilize
0
-
- CPIC
- 1
-
IExtraOptionsCheck
0
@@ -1209,6 +325,7 @@
$PROJ_DIR$\src\hil
$PROJ_DIR$\src\hil\uifv1
$PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
$PROJ_DIR$\src\hal
@@ -1242,7 +359,7 @@
CCOptStrategy
0
- 0
+ 2
CCOptLevelSlave
@@ -1279,18 +396,78 @@
1
- IccRelaxedFpPrecision
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
0
+
+ ADefines
+
+
A430
- 4
+ 5
- 13
+ 14
1
- 0
+ 1
AObjPrefix
1
@@ -1444,6 +621,10 @@
AUserIncludes
+
+ ACPUTAG
+ 1
+
@@ -1464,16 +645,16 @@
1
- $PROJ_DIR$\tools\uifhalPostBuild.bat $PROJ_DIR$
+ "$PROJ_DIR$\tools\convertEzFetTxt.bat" "$PROJ_DIR$" UifHal
XLINK
4
- 22
+ 23
1
- 0
+ 1
XOutOverride
0
@@ -1618,11 +799,11 @@
IncludeSuppressed
- 0
+ 1
ModuleSummary
- 0
+ 1
XlinkStackSize
@@ -1746,6 +927,11 @@
XLibraryHeap20
1
+
+ CrcUnitSize
+ 0
+ 0
+
@@ -1754,7 +940,7 @@
0
1
- 0
+ 1
XAROutOverride
0
@@ -1769,6 +955,40 @@
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
BILINK
0
@@ -1784,1657 +1004,94 @@
Hal
- MSP430
-
- $PROJ_DIR$\src\hal\macros\BitSequence.c
-
-
- $PROJ_DIR$\src\hal\macros\BlowFuse.c
-
-
- $PROJ_DIR$\src\hal\macros\Configure.c
-
-
- $PROJ_DIR$\src\hal\macros\EemDataExchange.c
-
-
- $PROJ_DIR$\src\hal\macros\EemDataExchangeAFE2xx.c
-
-
- $PROJ_DIR$\src\hal\macros\ExecuteFunclet.c
-
-
- $PROJ_DIR$\src\hal\macros\ExecuteFuncletJtag.c
-
-
- $PROJ_DIR$\src\hal\macros\GetDcoFrequency.c
-
-
- $PROJ_DIR$\src\hal\macros\GetInterfaceMode.c
-
-
- $PROJ_DIR$\src\hal\macros\GetJtagId.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 00000
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 1
-
-
- CCOptStrategy
- 0
- 2
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
-
-
- $PROJ_DIR$\src\hal\macros\GetNumOfDevices.c
-
-
- $PROJ_DIR$\src\hal\macros\HilCommand.c
-
-
- $PROJ_DIR$\src\hal\macros\IsJtagFuseBlown.c
-
-
- $PROJ_DIR$\src\hal\macros\MagicPattern.c
-
-
- $PROJ_DIR$\src\hal\macros\Psa.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadAllCpuRegs.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadMemBytes.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadMemQuick.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadMemWords.c
-
-
- $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtag.c
-
-
- $PROJ_DIR$\src\hal\macros\SetChainConfiguration.c
-
-
- $PROJ_DIR$\src\hal\macros\SetDeviceChainInfo.c
-
-
- $PROJ_DIR$\src\hal\macros\SingleStep.c
-
-
- $PROJ_DIR$\src\hal\macros\StartJtag.c
-
-
- $PROJ_DIR$\src\hal\macros\StartJtagActivationCode.c
-
-
- $PROJ_DIR$\src\hal\macros\StopJtag.c
-
-
- $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContext.c
-
-
- $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContext.c
-
-
- $PROJ_DIR$\src\hal\macros\UnlockC092.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 00000
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 1
-
-
- CCOptStrategy
- 0
- 2
-
-
- CCOptLevelSlave
- 1
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
-
-
- $PROJ_DIR$\src\hal\macros\WaitForEem.c
-
-
- $PROJ_DIR$\src\hal\macros\WaitForStorage.c
-
-
- $PROJ_DIR$\src\hal\macros\WriteAllCpuRegs.c
-
-
- $PROJ_DIR$\src\hal\macros\WriteMemBytes.c
-
-
- $PROJ_DIR$\src\hal\macros\WriteMemWords.c
-
-
-
- MSP430X
+ MSP432
- $PROJ_DIR$\src\hal\macros\EemDataExchangeX.c
+ $PROJ_DIR$\src\hal\macros\DisableDebugArm.c
- $PROJ_DIR$\src\hal\macros\ExecuteFuncletX.c
+ $PROJ_DIR$\src\hal\macros\EnableDebugArm.c
- $PROJ_DIR$\src\hal\macros\PsaX.c
+ $PROJ_DIR$\src\hal\macros\GetCpuIdArm.c
- $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsX.c
+ $PROJ_DIR$\src\hal\macros\GetJtagIdCodeArm.c
- $PROJ_DIR$\src\hal\macros\ReadMemBytesX.c
+ $PROJ_DIR$\src\hal\macros\HaltArm.c
- $PROJ_DIR$\src\hal\macros\ReadMemQuickX.c
+ $PROJ_DIR$\src\hal\macros\MemApTransactionArm.c
- $PROJ_DIR$\src\hal\macros\ReadMemWordsX.c
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsArm.c
- $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtagX.c
+ $PROJ_DIR$\src\hal\macros\ResetArm.c
- $PROJ_DIR$\src\hal\macros\SingleStepX.c
+ $PROJ_DIR$\src\hal\macros\RunArm.c
- $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContextX.c
+ $PROJ_DIR$\src\hal\macros\ScanApArm.c
- $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContextX.c
+ $PROJ_DIR$\src\hal\macros\SingleStepArm.c
- $PROJ_DIR$\src\hal\macros\WaitForStorageX.c
+ $PROJ_DIR$\src\hal\macros\WaitForDebugHaltArm.c
- $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsX.c
-
-
- $PROJ_DIR$\src\hal\macros\WriteMemBytesX.c
-
-
- $PROJ_DIR$\src\hal\macros\WriteMemWordsX.c
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsArm.c
- MSP430Xv2
-
- $PROJ_DIR$\src\hal\macros\BlowFuseFram.c
-
-
- $PROJ_DIR$\src\hal\macros\BlowFuseXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\EemDataExchangeXv2.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 10010
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 2
-
-
- CCOptStrategy
- 0
- 1
-
-
- CCOptLevelSlave
- 2
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
-
-
- $PROJ_DIR$\src\hal\macros\ExecuteFuncletXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\PollJStateReg.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 10010
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 2
-
-
- CCOptStrategy
- 0
- 1
-
-
- CCOptLevelSlave
- 2
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
-
-
- $PROJ_DIR$\src\hal\macros\PollJStateRegFR57xx.c
-
+ MSPGeneric
- $PROJ_DIR$\src\hal\macros\PsaXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadMemBytesXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadMemQuickXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\ReadMemWordsXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\ResetXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtagXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\SendJtagMailboxXv2.c
-
-
- $PROJ_DIR$\src\hal\macros\SingleStepJState.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 10010
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 2
-
-
- CCOptStrategy
- 0
- 1
-
-
- CCOptLevelSlave
- 2
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
-
-
- $PROJ_DIR$\src\hal\macros\SingleStepXv2.c
+ $PROJ_DIR$\src\hal\macros\BitSequence.c
- $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContextXv2.c
+ $PROJ_DIR$\src\hal\macros\Configure.c
- $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContextXv2.c
+ $PROJ_DIR$\src\hal\macros\DummyHal430.c
- $PROJ_DIR$\src\hal\macros\UnlockDeviceXv2.c
+ $PROJ_DIR$\src\hal\macros\GetInterfaceMode.c
- $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsXv2.c
+ $PROJ_DIR$\src\hal\macros\GetInterfaceModeArm.c
- $PROJ_DIR$\src\hal\macros\WriteFramQuickXv2.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 10010
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 2
-
-
- CCOptStrategy
- 0
- 1
-
-
- CCOptLevelSlave
- 2
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
+ $PROJ_DIR$\src\hal\macros\HilCommand.c
- $PROJ_DIR$\src\hal\macros\WriteMemBytesXv2.c
+ $PROJ_DIR$\src\hal\macros\StartJtag.c
- $PROJ_DIR$\src\hal\macros\WriteMemWordsXv2.c
+ $PROJ_DIR$\src\hal\macros\StopJtag.c
- $PROJ_DIR$\src\hal\cstartup.s43
+ $PROJ_DIR$\src\fw\uifv1\cstartup.s43
- $PROJ_DIR$\src\hal\hal.c
+ $PROJ_DIR$\src\hil\edt.c
- $PROJ_DIR$\src\hal\HalGlobalVars.c
+ $PROJ_DIR$\src\fw\uifv1\hal432.c
+
+
+ $PROJ_DIR$\src\fw\uifv1\HalGlobalVars.h
+
+
+ $PROJ_DIR$\src\fw\uifv1\HalGlobalVars432.c
+
+
+ $PROJ_DIR$\src\fw\uifv1\halMain432.c
+ $PROJ_DIR$\src\fw\uifv1\HalGlobalVars.h
- $PROJ_DIR$\src\hal\halMain.c
@@ -3443,257 +1100,21 @@
$PROJ_DIR$\src\hil\uifv1\arch.h
- $PROJ_DIR$\src\hil\uifv1\hil.c
-
-
- $PROJ_DIR$\src\hil\uifv1\hil_2w.c
+ $PROJ_DIR$\src\hil\uifv1\hil432.c
- $PROJ_DIR$\src\hil\uifv1\hil_4w.c
+ $PROJ_DIR$\src\hil\uifv1\hil_4w_432.c
- $PROJ_DIR$\src\hil\uifv1\hil_jsbw.c
+ $PROJ_DIR$\src\hil\uifv1\hilDelays.c
- $PROJ_DIR$\src\hil\uifv1\hilDelays.s43
+ $PROJ_DIR$\src\hil\uifv1\hilGeneric.c
-
- Debug
-
- ICC430
-
- 29
- 0
- 1
-
- CCDefines
- uController_uif
- HAL_STREAM
-
-
- CCPreprocFile
- 0
-
-
- CCPreprocComments
- 0
-
-
- CCPreprocLine
- 0
-
-
- CCListCFile
- 1
-
-
- CCListCMnemonics
- 0
-
-
- CCListCMessages
- 0
-
-
- CCListAssFile
- 1
-
-
- CCListAssSource
- 1
-
-
- CCEnableRemarks
- 0
-
-
- CCDiagSuppress
-
-
-
- CCDiagRemark
-
-
-
- CCDiagWarning
-
-
-
- CCDiagError
-
-
-
- IObjPrefix2
- 1
-
-
- CCRequirePrototypes
- 0
-
-
- CCAllowList
- 1
- 11111
-
-
- CCObjUseModuleName
- 0
-
-
- CCObjModuleName
-
-
-
- CCDebugInfo
- 1
-
-
- IProcessor
- 0
-
-
- CCDiagWarnAreErr
- 0
-
-
- CCCharIs
- 1
-
-
- CCExt
- 0
-
-
- CCMultibyteSupport
- 0
-
-
- CCMigrationPreprocExtentions
- 0
-
-
- CCCompilerRuntimeInfo
- 1
-
-
- OutputFile
- $FILE_BNAME$.r43
-
-
- CCLibConfigHeader
- 1
-
-
- OCCR4Utilize
- 0
-
-
- OCCR5Utilize
- 0
-
-
- CPIC
- 1
-
-
- IExtraOptionsCheck
- 0
-
-
- IExtraOptions
-
-
-
- PreInclude
-
-
-
- CCOverrideModuleTypeDefault
- 0
-
-
- CCRadioModuleType
- 0
-
-
- CCRadioModuleTypeSlave
- 1
-
-
- newCCIncludePaths
- $PROJ_DIR$\include
- $PROJ_DIR$\src\hil
- $PROJ_DIR$\src\hil\uifv1
- $PROJ_DIR$\src\fw
- $PROJ_DIR$\src\hal
-
-
- CCStdIncCheck
- 0
-
-
- CompilerMisraOverride
- 0
-
-
- OI430X
- 1
-
-
- ReduceStack
- 0
-
-
- CompilerDataModel
- 1
-
-
- CCOptLevel
- 3
-
-
- CCOptStrategy
- 0
- 2
-
-
- CCOptLevelSlave
- 3
-
-
- CompilerMisraRules98
- 0
- 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
-
-
- CompilerMisraRules04
- 0
- 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
-
-
- IccLang
- 0
-
-
- IccCDialect
- 1
-
-
- IccAllowVLA
- 0
-
-
- IccCppDialect
- 1
-
-
- IccRelaxedFpPrecision
- 0
-
-
-
-
+
+ $PROJ_DIR$\src\fw\uifv1\uifVersion.h
+
diff --git a/Bios/UifHalMsp430.ewd b/Bios/UifHalMsp430.ewd
new file mode 100644
index 0000000..eadec32
--- /dev/null
+++ b/Bios/UifHalMsp430.ewd
@@ -0,0 +1,373 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 1
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F1612.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 0
+
+
+ OCImagesPath1
+ $PROJ_DIR$\objects\image\UifBiosCore.d43
+
+
+ OCImagesSuppressCheck2
+ 0
+
+
+ OCImagesPath2
+ $PROJ_DIR$\objects\Image\SafeCore.d43
+
+
+ OCImagesSuppressCheck3
+ 0
+
+
+ OCImagesPath3
+
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+
+
+
+ OCImagesUse1
+ 1
+
+
+ OCImagesUse2
+ 1
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 1
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.3
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ COM182
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 0
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 0
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 0
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/UifHalMsp430.ewp b/Bios/UifHalMsp430.ewp
new file mode 100644
index 0000000..e607983
--- /dev/null
+++ b/Bios/UifHalMsp430.ewp
@@ -0,0 +1,3389 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ objects\obj
+
+
+ ListPath
+ objects\list
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 4
+
+
+ RTDescription
+ Use the legacy C runtime library.
+
+
+ RTConfigPath
+
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\CLIB\cl430f.r43
+
+
+ Input variant
+ 2
+ 3
+
+
+ Input description
+ Full formatting.
+
+
+ Output variant
+ 2
+ 3
+
+
+ Output description
+ Full formatting.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 4
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F1612 MSP430F1612
+
+
+ GStackHeapOverride
+ 1
+
+
+ GStackSize2
+ 0
+
+
+ GHeapSize2
+ 768
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 1
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ __ICC430__
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 11111
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+ U2
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ "$PROJ_DIR$\tools\convertEzFetTxt.bat" "$PROJ_DIR$" UifHalMsp430
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 0
+
+
+ OutputFile
+ UifHalMsp430.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\hal_lnk430F1612.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xAB
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 1
+
+
+ ModuleSummary
+ 1
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 0
+
+
+ ExtraOutputFile
+ UifHalMsp430.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+ UifHalMsp430.r43
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Config
+
+ $PROJ_DIR$\config\hal_lnk430F1612.xcl
+
+
+
+ Hal
+
+ MSP430
+
+ $PROJ_DIR$\src\hal\macros\BitSequence.c
+
+
+ $PROJ_DIR$\src\hal\macros\BlowFuse.c
+
+
+ $PROJ_DIR$\src\hal\macros\Configure.c
+
+
+ $PROJ_DIR$\src\hal\macros\DummyHal432.c
+
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchange.c
+
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchangeAFE2xx.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFunclet.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFuncletJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetDcoFrequency.c
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ __ICC430__
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\GetDeviceIdPtr.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetInterfaceMode.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetJtagId.c
+
+
+ $PROJ_DIR$\src\hal\macros\GetNumOfDevices.c
+
+
+ $PROJ_DIR$\src\hal\macros\HilCommand.c
+
+
+ $PROJ_DIR$\src\hal\macros\IsJtagFuseBlown.c
+
+
+ $PROJ_DIR$\src\hal\macros\MagicPattern.c
+
+
+ $PROJ_DIR$\src\hal\macros\PollJStateReg430I.c
+
+
+ $PROJ_DIR$\src\hal\macros\Psa.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegs.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemBytes.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemQuick.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemWords.c
+
+
+ $PROJ_DIR$\src\hal\macros\Reset430I.c
+
+
+ $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\SetChainConfiguration.c
+
+
+ $PROJ_DIR$\src\hal\macros\SetDeviceChainInfo.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStep.c
+
+
+ $PROJ_DIR$\src\hal\macros\StartJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\StartJtagActivationCode.c
+
+
+ $PROJ_DIR$\src\hal\macros\StopJtag.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContext.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContext.c
+
+
+ $PROJ_DIR$\src\hal\macros\UnlockC092.c
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ IDoubleSize
+ 1
+
+
+ Save20bit
+ 0
+
+
+ CInput
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForEem.c
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForStorage.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegs.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemBytes.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemWords.c
+
+
+
+ MSP430X
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchangeX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFuncletX.c
+
+
+ $PROJ_DIR$\src\hal\macros\PsaX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemBytesX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemQuickX.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemWordsX.c
+
+
+ $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtagX.c
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepX.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContextX.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContextX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WaitForStorageX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemBytesX.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemWordsX.c
+
+
+
+ MSP430Xv2
+
+ $PROJ_DIR$\src\hal\macros\BlowFuseFram.c
+
+
+ $PROJ_DIR$\src\hal\macros\BlowFuseXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\EemDataExchangeXv2.c
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ IDoubleSize
+ 1
+
+
+ Save20bit
+ 0
+
+
+ CInput
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\ExecuteFuncletXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\LeaSyncConditional.c
+
+
+ $PROJ_DIR$\src\hal\macros\PollJStateReg.c
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ IDoubleSize
+ 1
+
+
+ Save20bit
+ 0
+
+
+ CInput
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\PollJStateRegFR57xx.c
+
+
+ $PROJ_DIR$\src\hal\macros\PsaXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadAllCpuRegsXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemBytesXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemQuickXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ReadMemWordsXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\ResetXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\RestoreContext_ReleaseJtagXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SendJtagMailboxXv2.c
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ IDoubleSize
+ 1
+
+
+ Save20bit
+ 0
+
+
+ CInput
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ __ICC430__
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepJState.c
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ IDoubleSize
+ 1
+
+
+ Save20bit
+ 0
+
+
+ CInput
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10010
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 2
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 2
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+
+
+ $PROJ_DIR$\src\hal\macros\SingleStepXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_AssertPor_SaveContextXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\SyncJtag_Conditional_SaveContextXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\UnlockDeviceXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\UssSyncConditional.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteAllCpuRegsXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteFramQuickXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemBytesXv2.c
+
+
+ $PROJ_DIR$\src\hal\macros\WriteMemWordsXv2.c
+
+
+
+ $PROJ_DIR$\src\fw\uifv1\cstartup.s43
+
+
+ $PROJ_DIR$\src\hil\edt.c
+
+
+ $PROJ_DIR$\src\fw\uifv1\hal430.c
+
+
+ $PROJ_DIR$\src\fw\uifv1\HalGlobalVars.h
+
+
+ $PROJ_DIR$\src\fw\uifv1\HalGlobalVars430.c
+
+
+ $PROJ_DIR$\src\fw\uifv1\halMain430.c
+
+
+
+ Hil
+
+ $PROJ_DIR$\src\hil\uifv1\arch.h
+
+
+ $PROJ_DIR$\src\hil\uifv1\hil430.c
+
+
+ $PROJ_DIR$\src\hil\uifv1\hil_2w.c
+
+
+ $PROJ_DIR$\src\hil\uifv1\hil_4w.c
+
+
+ $PROJ_DIR$\src\hil\uifv1\hil_jsbw.c
+
+
+ $PROJ_DIR$\src\hil\uifv1\hilDelays.c
+
+
+ $PROJ_DIR$\src\hil\uifv1\hilGeneric.c
+
+
+ Debug
+
+ ICC430
+
+ 35
+ 0
+ 1
+
+ IDoubleSize
+ 1
+
+
+ Save20bit
+ 0
+
+
+ CInput
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCDefines
+ uController_uif
+ HAL_STREAM
+ MSP430_UIF
+ ARCH_MSP430
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 1
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 1
+
+
+ CCListAssSource
+ 1
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 11111
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\uifv1
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\uifv1
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CCOptimizationNoSizeConstraints
+ 1
+
+
+ ADefines
+
+
+
+
+
+
+
+
+
diff --git a/Bios/bios_coreOSS.eww b/Bios/bios_core.eww
similarity index 75%
rename from Bios/bios_coreOSS.eww
rename to Bios/bios_core.eww
index 99d8785..ed67cd2 100644
--- a/Bios/bios_coreOSS.eww
+++ b/Bios/bios_core.eww
@@ -10,5 +10,10 @@
$WS_DIR$\UifHal.ewp
+
+ $WS_DIR$\UifHalMsp430.ewp
+
+
+
diff --git a/Bios/config/Bios_lnk430F1612.xcl b/Bios/config/Bios_lnk430F1612.xcl
index 7c86332..39bca29 100644
--- a/Bios/config/Bios_lnk430F1612.xcl
+++ b/Bios/config/Bios_lnk430F1612.xcl
@@ -141,6 +141,7 @@
-Z(CONST)SAFECOREVERSION=FFDE-FFDF
-Z(CONST)COREVERSION=FDD8-FDDA
-Z(CONST)HALSIG=DFFE-DFFF
+-Z(CODE)TOOLID=FDD6-FDD7
// ---------------------------------------------------------
// The end
// ---------------------------------------------------------
diff --git a/Bios/config/Bios_lnk430F5528.xcl b/Bios/config/Bios_lnk430F5528.xcl
new file mode 100644
index 0000000..cbd5af7
--- /dev/null
+++ b/Bios/config/Bios_lnk430F5528.xcl
@@ -0,0 +1,225 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F5528
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+-D_STACK_SIZE=120
+-D_DATA16_HEAP_SIZE=80
+-D_DATA20_HEAP_SIZE=210
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+-QCODE_I=CODE_ID
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=3000-40FF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=3000-40FF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+-Z(DATA)SHARED_VARIABLES=4100-41FF
+// -----------------------------------------------
+// Read-only memory
+//
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+
+-Z(CONST)COREVERSION=4404-4405
+
+-Z(CODE)TOOLID=4400-4401
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=4402-4403
+-Z(CONST)HILSIGNATURE=18FC-18FF
+-Z(CONST)HILINIT=18F8-18FA
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=4406-89FF
+-h(CODE)4400-89FF
+
+// ---------------------------
+// Constant data
+//
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------------------------------------
+// HAL Interrupt vectors
+// ---------------------------------------------------------
+
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=4402-89FF
+-Z(CODE)CODE_ID
+-h(CODE)4402-89FF
+
+-Z(CONST)HALINTVEC=1900-1903
+-Z(CONST)HALSIGNATURE=197C-197F
+
+-Z(CONST)DCDCIVEC=1800-1803
+-Z(CONST)DCDCSIGNATURE=187C-187F
+
+-Z(CONST)COMINTVEC=1980-1983 // Information Memory A for UART
+-Z(CONST)COMSIGNATURE=19FC-19FF // in Main memory
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA20_C,DATA20_ID=4402-89FF
+
+
+// -------------------------------------
+// BIOS Interrupt vectors
+//
+
+-Z(CODE)INTVEC=FF80-FFFF
+-Z(CODE)RESET=FFFE-FFFF
+-h(CODE)FF80-FFFF
+// -------------------------------------
+// Identfiers
+//
+
+
+
diff --git a/Bios/config/Bios_lnk430F6638.xcl b/Bios/config/Bios_lnk430F6638.xcl
new file mode 100644
index 0000000..e9b9975
--- /dev/null
+++ b/Bios/config/Bios_lnk430F6638.xcl
@@ -0,0 +1,222 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F6638
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+-D_STACK_SIZE=120
+-D_DATA16_HEAP_SIZE=80
+-D_DATA20_HEAP_SIZE=210
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+-QCODE_I=CODE_ID
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=3100-48FF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=3100-48FF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+-Z(DATA)SHARED_VARIABLES=4900-49FF
+// -----------------------------------------------
+// Read-only memory
+//
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+
+-Z(CONST)COREVERSION=8004-8005
+
+-Z(CODE)TOOLID=8000-8001
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=8002-8003,8004-CBFF
+
+-Z(CONST)HILSIGNATURE=18FC-18FF
+-Z(CONST)HILINIT=18F8-18FA
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=8006-CBFF
+-h(CODE)8000-CBFF
+
+// ---------------------------
+// Constant data
+//
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------------------------------------
+// HAL Interrupt vectors
+// ---------------------------------------------------------
+
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=8006-CBFF
+-Z(CODE)CODE_ID
+-h(CODE)8006-CBFF
+
+-Z(CONST)HALINTVEC=1900-1903
+-Z(CONST)HALSIGNATURE=197C-197F
+
+-Z(CONST)DCDCIVEC=1800-1803
+-Z(CONST)DCDCSIGNATURE=187C-187F
+
+-Z(CONST)COMINTVEC=1980-1983 // Information Memory A for UART
+-Z(CONST)COMSIGNATURE=19FC-19FF // in Main memory
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA20_C,DATA20_ID=8006-CBFF
+
+
+// -------------------------------------
+// BIOS Interrupt vectors
+//
+
+-Z(CODE)INTVEC=FF80-FFFF
+-Z(CODE)RESET=FFFE-FFFF
+-h(CODE)FE00-FFFF
+// -------------------------------------
+// Identfiers
+//
diff --git a/Bios/config/ComChannel_Ink430F5528.xcl b/Bios/config/ComChannel_Ink430F5528.xcl
new file mode 100644
index 0000000..b7b77c4
--- /dev/null
+++ b/Bios/config/ComChannel_Ink430F5528.xcl
@@ -0,0 +1,213 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F5528
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02430-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=4202-438F
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=4202-438F
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1980-19FF
+
+-Z(CONST)UARTLAYERVERSION=1984-1985
+-Z(CONST)UARTLAYERVERSIONCMP=1986-1987
+
+-Z(CONST)UARTSIGNATURE=19FC-19FF // Signature == DC AC DC AC
+
+
+-Z(DATA)UARTSEMAPHORE=4200-4201 // UART Semaphore
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=21000-22FFF
+
+
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors and Core version
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=19FA-19FB
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-P(CODE)CODE=21000-22FFF
+-Z(CODE)CODE_ID
+-h(CODE)21000-22FFF
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-Z(CONST)DATA20_C,DATA20_ID=21000-22FFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=1980-1983
diff --git a/Bios/config/ComChannel_Ink430F6638.xcl b/Bios/config/ComChannel_Ink430F6638.xcl
new file mode 100644
index 0000000..1eae797
--- /dev/null
+++ b/Bios/config/ComChannel_Ink430F6638.xcl
@@ -0,0 +1,210 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F6638
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=4A02-4DFF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=4A02-4DFF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1980-19FF
+
+-Z(CONST)UARTLAYERVERSION=1984-1985
+-Z(CONST)UARTLAYERVERSIONCMP=1986-1987
+
+-Z(CONST)UARTSIGNATURE=19FC-19FF // Signature == DC AC DC AC
+
+-Z(DATA)UARTSEMAPHORE=4A00-4A01 // UART Semaphore
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=46000-471FF
+
+
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors and Core version
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=19FA-19FB
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=46000-471FF
+-Z(CODE)CODE_ID
+-h(CODE)46000-471FF
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA20_C,DATA20_ID=46000-471FF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=1980-1983
diff --git a/Bios/config/Dcdc_lnk430F5528.xcl b/Bios/config/Dcdc_lnk430F5528.xcl
new file mode 100644
index 0000000..e4c4a6c
--- /dev/null
+++ b/Bios/config/Dcdc_lnk430F5528.xcl
@@ -0,0 +1,208 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F5528
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02430-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=4390-43FF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=4390-43FF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1800-187F
+
+-Z(CONST)DCDCLAYERVERSION=1804-1805
+-Z(CONST)DCDCLAYERVERSIONCMP=1806-1807
+-Z(CONST)DCDCSIGNATURE=187C-187F
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=23E84-243FF
+
+
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors and Core version
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=0x187A-0x187B
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-P(CODE)CODE=23000-243FF
+-Z(CODE)CODE_ID
+-h(CODE)23000-243FF
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-Z(CONST)DATA20_C,DATA20_ID=23000-243FF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=1800-1803
diff --git a/Bios/config/Dcdc_lnk430F6638.xcl b/Bios/config/Dcdc_lnk430F6638.xcl
new file mode 100644
index 0000000..689cb6b
--- /dev/null
+++ b/Bios/config/Dcdc_lnk430F6638.xcl
@@ -0,0 +1,209 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F6638
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=4E00-4E7F
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=4E00-4E7F
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1800-187F
+
+-Z(CONST)DCDCLAYERVERSION=1804-1805
+-Z(CONST)DCDCLAYERVERSIONCMP=1806-1807
+
+-Z(CONST)DCDCSIGNATURE=187C-187F
+
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=47200-47FFF
+
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=0x187A-0x187B
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=47200-47FFF
+-Z(CODE)CODE_ID
+-h(CODE)47200-47FFF
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA20_C,DATA20_ID=47200-47FFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=1800-1803
diff --git a/Bios/config/Hil_lnk430F5528 .xcl b/Bios/config/Hil_lnk430F5528 .xcl
new file mode 100644
index 0000000..64faebb
--- /dev/null
+++ b/Bios/config/Hil_lnk430F5528 .xcl
@@ -0,0 +1,215 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F5528
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02430-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=2D00-2FFF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=2D00-2FFF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+
+-h(CONST)1880-18FF
+
+-Z(CODE)INFO_C_DISTINCT=1880-18A0
+-Z(CODE)INFO_C_COMMEN=18A0-18C0
+
+-Z(CONST)HILVERSION=18F6-18F7
+-Z(CONST)HILVERSIONCMP=18F4-18F5
+
+-Z(CONST)HILSIGNATURE=18FC-18FF
+
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=0x8A00-08AFF
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DIFUNCT,CHECKSUM=0x18FA-0x18FB
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=8A00-DFFF
+-Z(CODE)CODE_ID
+
+-h(CODE)0x8A00-0xDFFF
+
+// ---------------------------
+// Constant data
+//
+
+
+-Z(CONST)DATA16_C,DATA16_ID,DATA20_C,DATA20_ID=0x8A00-0xDFFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)INTVEC=0x8B00-0x8B80
+-Z(CODE)RESET=0x18F8-0x18FA
diff --git a/Bios/config/Hil_lnk430F6638 .xcl b/Bios/config/Hil_lnk430F6638 .xcl
new file mode 100644
index 0000000..b5143bc
--- /dev/null
+++ b/Bios/config/Hil_lnk430F6638 .xcl
@@ -0,0 +1,212 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F6638
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=2E10-30FF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=2E10-30FF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+
+-h(CONST)1880-18FF
+
+-Z(CODE)INFO_C_DISTINCT=1880-18A0
+-Z(CODE)INFO_C_COMMEN=18A0-18C0
+
+-Z(CONST)HILVERSION=18F6-18F7
+-Z(CONST)HILVERSIONCMP=18F4-18F5
+
+-Z(CONST)HILSIGNATURE=18FC-18FF
+
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=CC00-FDFF
+
+// ---------------------------
+// Constant data
+//
+-Z(CONST)CHECKSUM=18FA-18FB
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT=CC00-FDFF,10000-18DFF
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=CC00-FDFF,10000-18DFF
+-Z(CODE)CODE_ID
+
+-h(CODE)CC00-FDFF,10000-18DFF
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA20_C,DATA20_ID=CC00-FDFF,10000-18DFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=18F8-18FA
diff --git a/Bios/config/hal_lnk430F5528.xcl b/Bios/config/hal_lnk430F5528.xcl
new file mode 100644
index 0000000..be513eb
--- /dev/null
+++ b/Bios/config/hal_lnk430F5528.xcl
@@ -0,0 +1,215 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F5528
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02430-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=2400-2CFF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=2400-2CFF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+
+// ---------------------------------------------------------
+// HAL Interrupt vectors
+// ---------------------------------------------------------
+
+-Z(CONST)HILINIT=18F8-18FA
+
+-Z(CONST)HALSIGNATURE=197C-197F
+
+// HIL variable addresses
+-Z(CONST)HILSIGNATURE=18FC-18FF
+-Z(CONST)HILVERSIONCMP=18F4-18F5
+-Z(CONST)HILVERSION=18F6-18F7
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1900-197F
+
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=0E080-FDFF
+
+//-Z(CODE)ISR_CODE=0E080-FDFF
+// ---------------------------
+// Constant data
+//
+// Reserve space here for the BIOS's Interrupt vectors and Core version
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=0x197A-0x197B,10000-1DFFF
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+// Reserve space here for the hal
+-P(CODE)CODE=0E080-FDFF,10000-1DFFF
+-Z(CODE)CODE_ID
+
+-h(CODE)0E000-FDFF,10000-1DFFF
+
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-Z(CONST)DATA20_C,DATA20_ID=0E080-FDFF,10000-1DFFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+-Z(CODE)INTVEC=E000-E07f
+-Z(CODE)RESET=1900-1903
+
+
+
diff --git a/Bios/config/hal_lnk430F6638.xcl b/Bios/config/hal_lnk430F6638.xcl
new file mode 100644
index 0000000..89ac3f3
--- /dev/null
+++ b/Bios/config/hal_lnk430F6638.xcl
@@ -0,0 +1,217 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F6638
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=2400-2E0F
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=2400-2E0F
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1900-197F
+
+-Z(CONST)HILINIT=18F8-18FA
+
+-Z(CONST)HALSIGNATURE=197C-197F
+
+// This constant is used during FPGA update only
+// It contains the FPGA bitstream version which is included in the update module
+-Z(CONST)FPGAVERSION=1978-1979
+
+// HIL variable addresses
+-Z(CONST)HILSIGNATURE=18FC-18FF
+-Z(CONST)HILVERSION=18F6-18F7
+-Z(CONST)HILVERSIONCMP=18F4-18F5
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=18E00-30DFF
+
+// ---------------------------
+// Constant data
+//
+
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=197A-197B,18E00-30DFF
+
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=18E00-30DFF
+-Z(CODE)CODE_ID
+-h(CODE)18E00-30DFF
+
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-Z(CONST)DATA20_C,DATA20_ID=18E00-30DFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=1900-1903
diff --git a/Bios/config/hal_lnk430F6638fpga.xcl b/Bios/config/hal_lnk430F6638fpga.xcl
new file mode 100644
index 0000000..8565a0d
--- /dev/null
+++ b/Bios/config/hal_lnk430F6638fpga.xcl
@@ -0,0 +1,216 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430F6638
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430f6638.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430X
+//
+// Interrupt vectors: 64
+//
+// Peripheral units: 0-001FF
+//
+// Information memory (FLASH): 01800-019FF
+//
+// Read/write memory (RAM): 02400-063FF
+//
+// Read-only memory (FLASH): 08000-0FFFF
+// 10000-47FFF
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_Z Data initialized to zero
+// DATA_I Data initialized by copying from DATA_ID
+// DATA_N Data defined using __no_init
+// DATA_HEAP The heap used by 'malloc' and 'free'
+//
+// segment Usage
+// ------- --------------------------
+// CSTACK Runtime stack
+//
+
+
+// -------------------------------------
+// Program and data read-only segments (FLASH)
+//
+
+//
+// The following segments are available for both
+// the DATA16 and DATA20 segment groups.
+//
+// segment Usage
+// ------- --------------------------
+// DATA_C Constant data, including string literals
+// DATA_ID initializers for DATA_I
+//
+// segment Usage
+// ------- --------------------------
+// INFO Information memory
+// INFOA Information memory, bank A
+// INFOB Information memory, bank B
+// INFOC Information memory, bank C
+// INFOD Information memory, bank D
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The segments CSTART, ISR_CODE, and DIFUNCT, as well as the segments in
+// the DATA16 segment group must be placed in in the range 0000-FFFD.
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=0
+//-D_DATA16_HEAP_SIZE=100
+//-D_DATA20_HEAP_SIZE=80
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=2400-2CFF
+-Z(DATA)CODE_I
+-Z(DATA)DATA20_I,DATA20_Z,DATA20_N,DATA20_HEAP+_DATA20_HEAP_SIZE=2400-2CFF
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1980-19FF
+-Z(CONST)INFOB=1900-197F
+-Z(CONST)INFOC=1880-18FF
+-Z(CONST)INFOD=1800-187F
+-h(CONST)1900-197F
+
+-Z(CONST)HILINIT=18F8-18FA
+
+-Z(CONST)HALSIGNATURE=197C-197F
+
+// This constant is used during FPGA update only
+// It contains the FPGA bitstream version which is included in the update module
+-Z(CONST)FPGAVERSION=1978-1979
+
+// HIL variable addresses
+-Z(CONST)HILSIGNATURE=18FC-18FF
+-Z(CONST)HILVERSION=18F6-18F7
+
+// -------------------------------------
+// Low memory 0-0FFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE=18E00-45FFF
+
+// ---------------------------
+// Constant data
+//-
+
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=197A-197B,18E00-45FFF
+
+
+// -------------------------------------
+// All memory 0-FFFFF
+//
+
+// ---------------------------
+// Code
+//
+
+-P(CODE)CODE=18E00-45FFF
+-Z(CODE)CODE_ID
+-h(CODE)18E00-45FFF
+
+// ---------------------------
+// Constant data
+//
+
+// Reserve space here for the BIOS's Interrupt vectors
+-Z(CONST)DATA20_C,DATA20_ID=18E00-45FFF
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)RESET=1900-1903
diff --git a/Bios/eZ-FET_Bios.eww b/Bios/eZ-FET_Bios.eww
new file mode 100644
index 0000000..9f0c903
--- /dev/null
+++ b/Bios/eZ-FET_Bios.eww
@@ -0,0 +1,43 @@
+
+
+
+
+ $WS_DIR$\eZ-FET_Hil.ewp
+
+
+ $WS_DIR$\FET_Bios.ewp
+
+
+ $WS_DIR$\FET_ComChannel.ewp
+
+
+ $WS_DIR$\FET_DCDC.ewp
+
+
+ $WS_DIR$\FET_Hal.ewp
+
+
+ $WS_DIR$\FetDcdcController.ewp
+
+
+
+ All
+
+ eZ-FetHil
+ Debug
+
+
+ FetDCDC
+ Debug
+
+
+ NgUifBios
+ Debug
+
+
+ NgUifHal
+ Debug
+
+
+
+
diff --git a/Bios/eZ-FET_Hil.ewd b/Bios/eZ-FET_Hil.ewd
new file mode 100644
index 0000000..4306abc
--- /dev/null
+++ b/Bios/eZ-FET_Hil.ewd
@@ -0,0 +1,373 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ C-SPY
+ 4
+
+ 25
+ 1
+ 1
+
+ CInput
+ 1
+
+
+ MacOverride
+ 0
+
+
+ MacFile
+
+
+
+ IProcessor
+ 0
+
+
+ GoToEnable
+ 0
+
+
+ GoToName
+ main
+
+
+ DynDriver
+ 430FET
+
+
+ dDllSlave
+ 0
+
+
+ DdfFileSlave
+ 1
+
+
+ DdfOverride
+ 0
+
+
+ DdfFileName
+ $TOOLKIT_DIR$\config\MSP430F5528.ddf
+
+
+ ProcTMS
+ 1
+
+
+ CExtraOptionsCheck
+ 0
+
+
+ CExtraOptions
+
+
+
+ ProcMSP430X
+ 1
+
+
+ CompilerDataModel
+ 1
+
+
+ IVBASE
+ 1
+
+
+ OCImagesSuppressCheck1
+ 1
+
+
+ OCImagesPath1
+ $PROJ_DIR$\Tools\SRec\FetDCDC.d43
+
+
+ OCImagesSuppressCheck2
+ 1
+
+
+ OCImagesPath2
+ $PROJ_DIR$\Tools\SRec\NgUifBios.d43
+
+
+ OCImagesSuppressCheck3
+ 1
+
+
+ OCImagesPath3
+ $PROJ_DIR$\Tools\SRec\NgUifHal.d43
+
+
+ CPUTAG
+ 1
+
+
+ L092Mode
+ 1
+
+
+ OCImagesOffset1
+ 0
+
+
+ OCImagesOffset2
+ 0
+
+
+ OCImagesOffset3
+ 0
+
+
+ OCImagesUse1
+ 0
+
+
+ OCImagesUse2
+ 0
+
+
+ OCImagesUse3
+ 0
+
+
+
+
+ 430FET
+ 1
+
+ 23
+ 1
+ 1
+
+ CFetMandatory
+ 0
+
+
+ Erase
+ 2
+
+
+ EMUVerifyDownloadP7
+ 0
+
+
+ EraseOptionSlaveP7
+ 0
+
+
+ ExitBreakpointP7
+ 0
+
+
+ PutcharBreakpointP7
+ 1
+
+
+ GetcharBreakpointP7
+ 1
+
+
+ derivativeP7
+ 0
+
+
+ ParallelPortP7
+ 0
+ 0
+
+
+ TargetVoltage
+ 3.5
+
+
+ AllowLockedFlashAccessP7
+ 0
+
+
+ EMUAttach
+ 0
+
+
+ AttachOptionSlave
+ 0
+
+
+ CRadioProtocolType
+ 1
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ EEMLevel
+ 0
+
+
+ DiasbleMemoryCache
+ 0
+
+
+ NeedLockedFlashAccess
+ 1
+
+
+ UsbComPort
+ Automatic
+
+
+ FetConnection
+ 2
+ 0
+
+
+ SoftwareBreakpointEnable
+ 0
+
+
+ RadioSoftwareBreakpointType
+ 1
+
+
+ TargetSettlingtime
+ 0
+
+
+ AllowAccessToBSL
+ 0
+
+
+ OTargetVccTypeDefault
+ 1
+
+
+ CCBetaDll
+ 1
+
+
+ GPassword
+
+
+
+ DebugLPM5
+ 0
+
+
+ LPM5Slave
+ 0
+
+
+ CRadioAutoManualType
+ 1
+
+
+ ExternalCodeDownload
+ 0
+
+
+ CCVCCDefault
+ 1
+
+
+ Retain
+ 0
+
+
+
+
+ SIM430
+ 1
+
+ 4
+ 1
+ 1
+
+ SimOddAddressCheckP7
+ 1
+
+
+ CSimMandatory
+ 1
+
+
+ derivativeSim
+ 0
+
+
+ SimEnablePSP
+ 0
+
+
+ SimPspOverrideConfig
+ 0
+
+
+ SimPspConfigFile
+ $TOOLKIT_DIR$\CONFIG\test.psp.config
+
+
+
+
+
+ $TOOLKIT_DIR$\plugins\Lcd\lcd.ewplugin
+ 1
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin
+ 0
+
+
+ $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin
+ 1
+
+
+ $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin
+ 0
+
+
+ $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin
+ 1
+
+
+
+
+
+
diff --git a/Bios/eZ-FET_Hil.ewp b/Bios/eZ-FET_Hil.ewp
new file mode 100644
index 0000000..d76864d
--- /dev/null
+++ b/Bios/eZ-FET_Hil.ewp
@@ -0,0 +1,1032 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ General
+ 12
+
+ 28
+ 1
+ 1
+
+ ExePath
+ objects\image
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 1
+
+
+ RTDescription
+ Use the normal configuration of the C/EC++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.
+
+
+ RTConfigPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xsfn.h
+
+
+ RTLibraryPath
+ $TOOLKIT_DIR$\LIB\DLIB\dl430xsfn.r43
+
+
+ Input variant
+ 2
+ 0
+
+
+ Input description
+ Automatic choice of formatter.
+
+
+ Output variant
+ 2
+ 0
+
+
+ Output description
+ Automatic choice of formatter.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F5528 MSP430F5528
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 2
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+ Ropi
+ 0
+
+
+ NoRwDynamicInit
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 35
+ 1
+ 1
+
+ CCDefines
+ uController_nguif
+ HAL_STREAM
+ eZ_FET
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 10100
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 0
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+ $PROJ_DIR$\include
+ $PROJ_DIR$\src\hil
+ $PROJ_DIR$\src\hil\ez_fet
+ $PROJ_DIR$\src\hil\fet_generic
+ $PROJ_DIR$\src\fw
+ $PROJ_DIR$\src\fw\fet
+ $PROJ_DIR$\src\hal
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 2
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ CCPUTAG
+ 1
+
+
+ CCCodeFunctions
+ CODE
+
+
+ CCData16
+ DATA
+
+
+ CCData20
+ DATA
+
+
+ CCIntvec
+ INTVEC
+
+
+ CCCstack
+ CSTACK
+
+
+ CCRamFuncCode
+ RAMFUNC_CODE
+
+
+ CCIsrCode
+ ISR_CODE
+
+
+ CCDifunct
+ DIFUNCT
+
+
+ IccCppInlineSemantics
+ 0
+
+
+ IccStaticDestr
+ 1
+
+
+ IccFloatSemantics
+ 0
+
+
+ CROPI
+ 1
+
+
+ CNoRwDynamicInit
+ 1
+
+
+ CCOptimizationNoSizeConstraints
+ 0
+
+
+ ADefines
+
+
+
+
+
+ A430
+ 5
+
+ 14
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+ ACPUTAG
+ 1
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+ $PROJ_DIR$\tools\convertEzFetTxt.bat $PROJ_DIR$ eZ_FetHil
+
+
+
+ XLINK
+ 4
+
+ 23
+ 1
+ 1
+
+ XOutOverride
+ 0
+
+
+ OutputFile
+ eZ-FET_Hil.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\Hil_lnk430F5528 .xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 1
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 1
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 1
+
+
+ ExtraOutputFile
+ eZ_FetHil.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+ CrcUnitSize
+ 0
+ 0
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ ULP430
+ 1
+
+ 1
+ 1
+ 1
+
+ CUTest
+ -I$TOOLKIT_DIR$\inc
+ -@$TOOLKIT_DIR$\bin\iar.cmd
+ -@$PROJ_DIR$\source.txt
+ -@$PROJ_DIR$\include.txt
+ --preinclude=$PROJ_DIR$\IAR_ULPAdvisor_Defs.h
+
+
+ ULPRules
+ 0
+ 1111111111111111111
+
+
+ ULPEnable
+ 0
+
+
+ OutputFile
+ $PROJ_FNAME$.ulp
+
+
+ ULPStatus
+ 1
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Debug
+
+
+ config
+
+ $PROJ_DIR$\config\Hil_lnk430F5528 .xcl
+
+
+
+ Hil
+
+ $PROJ_DIR$\src\hil\ez_fet\arch.h
+
+
+ $PROJ_DIR$\src\hil\ez_fet\hil.c
+
+
+ $PROJ_DIR$\src\hil\fet_generic\hil_2wDma.c
+
+
+ $PROJ_DIR$\src\hil\ez_fet\hilDelays.c
+
+
+ $PROJ_DIR$\src\hil\ez_fet\hilDelays.h
+
+
+
+ $EW_DIR$\430\inc\cfi.m43
+
+
+ $PROJ_DIR$\src\hil\ez_fet\cstartup_hil.s43
+
+
+
+
diff --git a/Bios/include/ConfigureParameters.h b/Bios/include/ConfigureParameters.h
index a958ea5..5dfe1c7 100644
--- a/Bios/include/ConfigureParameters.h
+++ b/Bios/include/ConfigureParameters.h
@@ -1,36 +1,36 @@
/*
* ConfigureParameters.h
*
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
@@ -62,11 +62,25 @@
#define CONFIG_PARAM_JTAG_SPEED 0x000B
-#define CONFIG_PARAM_SFLLDEH 0x000C
-
-#define CONFIG_NO_BSL 0x000D
+#define CONFIG_PARAM_SFLLDEH 0x000C
#define CONFIG_ALT_ROM_ADDR_FOR_CPU_READ 0x000E
+#define CONFIG_ASSERT_BSL_VALID_BIT 0x000F
+
+#define CONFIG_PARAM_POWER_TESTREG_DEFAULT 0x0010
+#define CONFIG_PARAM_POWER_TESTREG3V_DEFAULT 0x0011
+
+#define CONFIG_WDT_ADDRESS_5XX 0x0012
+
+#define CONFIG_PARAM_SCS_BASE_ADDRESS 0x0013
+#define CONFIG_PARAM_FPB_BASE_ADDRESS 0x0014
+
+#define CONFIG_PARAM_INTERRUPT_OPTIONS 0x0015
+
+#define CONFIG_PARAM_ULP_MSP432 0x0016
+
+#define CONFIG_PARAM_JTAG_LOCK_5XX 0x0017
+
#endif
diff --git a/Bios/include/Core.h b/Bios/include/Core.h
deleted file mode 100644
index 09728e4..0000000
--- a/Bios/include/Core.h
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * Core.h
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* http://srecord.sourceforge.net/ */
-const uint16_t coreImage[] =
-{
-0xF57C, 0xE7A0, 0xFB2E, 0xEFBE, 0xFB3C, 0xFAF2, 0xF96C, 0xF466, 0xF948,
-0xF9D2, 0xF836, 0xF5D6, 0xF30C, 0xFA30, 0xFAE0, 0xF9F2, 0xF9B2, 0xF990,
-0xF85E, 0xF748, 0x1000, 0x18FF, 0x2500, 0xDFFF, 0xFDFA, 0xFDFF, 0x1000,
-0x18FF, 0x2500, 0xDFFF, 0x1000, 0x10FF, 0x0200, 0x09FF, 0x1100, 0x18FF,
-0x0100, 0x0080, 0x0040, 0x0001, 0x1C7C, 0x2142, 0x8205, 0x0000, 0x0000,
-0x0101, 0x0101, 0x1C74, 0xDFFE, 0xFDDA, 0xFFFF, 0xFFFF, 0x0000, 0x0100,
-0xFFFF, 0xFFFF, 0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0100, 0xFFFF,
-0xFFFF, 0x0000, 0x0100, 0x1B90, 0x1C7C, 0x4031, 0x24E0, 0x403C, 0x1A2A,
-0x403D, 0x0252, 0x12B0, 0xFABC, 0x403C, 0x1A00, 0x403D, 0xE05E, 0x403E,
-0x002A, 0x12B0, 0xFB5E, 0x12B0, 0xF7E2, 0x12B0, 0xFB52, 0x120A, 0x120B,
-0x120D, 0x120C, 0x120F, 0x120E, 0xD0F2, 0x0040, 0x0021, 0xD3D2, 0x1B5C,
-0xB0F2, 0x00A0, 0x0072, 0x2002, 0x434E, 0x3C01, 0x435E, 0x934E, 0x2405,
-0x403C, 0x8006, 0x12B0, 0xF8AE, 0x3D46, 0x425E, 0x0076, 0x4EC2, 0x1C73,
-0x407F, 0x0010, 0x421D, 0x1B82, 0x4D6D, 0xF07D, 0x00FC, 0x9F4D, 0x2016,
-0x907E, 0x0011, 0x2008, 0xB3E2, 0x1C74, 0x2802, 0x12B0, 0xFB12, 0x43C2,
-0x1C74, 0x3D2E, 0x907E, 0x0013, 0x2003, 0x42F2, 0x1C74, 0x3D28, 0x9F4E,
-0x200A, 0x4FC2, 0x1C78, 0x3D23, 0x9FC2, 0x1C78, 0x2004, 0xDFC2, 0x1C73,
-0x43C2, 0x1C78, 0x403A, 0x1A2A, 0x4A6F, 0xB3DF, 0x1A30, 0x2805, 0x403C,
-0x8009, 0x12B0, 0xF8AE, 0x3D11, 0x4A6F, 0x5F0F, 0x938F, 0x1A3A, 0x2015,
-0x40B2, 0x000A, 0x1B5A, 0x4382, 0x1A44, 0x425E, 0x1C73, 0xB35E, 0x2806,
-0x532E, 0x4A6F, 0x5F0F, 0x4E8F, 0x1A3E, 0x3C06, 0x503E, 0x0003, 0x4A6F,
-0x5F0F, 0x4E8F, 0x1A3E, 0x4A6F, 0x5F0F, 0x90BF, 0x0104, 0x1A3A, 0x2C37,
-0x425E, 0x1C73, 0x4E4D, 0x4A6F, 0x5F0F, 0xB39F, 0x1A3A, 0x2807, 0x108D,
-0xDD82, 0x1B88, 0xE292, 0x1B88, 0x1A44, 0x3C02, 0x4D82, 0x1B88, 0x4A6F,
-0x5F0F, 0x4F1D, 0x1A32, 0x4A6F, 0x5F0F, 0x4F1C, 0x1A3A, 0x4C0B, 0x531B,
-0x4B8F, 0x1A3A, 0x5C0D, 0x4ECD, 0x0000, 0x4A6E, 0x5E0E, 0x4A6F, 0x5F0F,
-0x9F9E, 0x1A3A, 0x1A3E, 0x2CC9, 0x4382, 0x1B5A, 0x93B2, 0x1A44, 0x20A0,
-0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x0091, 0x0001, 0x203A, 0x434E,
-0x3C06, 0x403C, 0x800A, 0x12B0, 0xF8AE, 0x3CB5, 0x435E, 0x934E, 0x20AC,
-0xB3E2, 0x1A4C, 0x2BFA, 0x421F, 0x1B52, 0x4F5E, 0x0002, 0xF07E, 0x003F,
-0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9F5E, 0x0002, 0x23ED, 0x421F, 0x1B52,
-0x93CF, 0x0003, 0x2007, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x92EF, 0x0000,
-0x2810, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB, 0x0004,
-0x0003, 0x23D7, 0xF0F2, 0x00F8, 0x1A4C, 0x4382, 0x1B5E, 0x3C80, 0xF0F2,
-0x00F8, 0x1A4C, 0x3C7C, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x0092,
-0x0001, 0x4A6F, 0x2039, 0x5F0F, 0x4F1F, 0x1A32, 0x93CF, 0x0002, 0x2010,
-0x435C, 0x12B0, 0xF9F2, 0x434C, 0x12B0, 0xF9B2, 0x43C2, 0x1C70, 0x434C,
-0x12B0, 0xF1E8, 0x12B0, 0xF27C, 0x12B0, 0xF886, 0x3C5D, 0x434E, 0x3C01,
-0x435E, 0x934E, 0x2058, 0x425E, 0x1A4C, 0xF07E, 0x0003, 0x907E, 0x0003,
-0x23F6, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB, 0x0002,
-0x0002, 0x23EC, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB,
-0x0004, 0x0003, 0x23E2, 0xC3E2, 0x1A4C, 0x3C3A, 0x5F0F, 0x4F1F, 0x1A32,
-0x93CF, 0x0002, 0x200B, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x008B,
-0x0001, 0x2003, 0x12B0, 0xF27C, 0x3C2F, 0x4A6F, 0xD3DF, 0x1A30, 0x53D2,
-0x1A2A, 0x93E2, 0x1A2A, 0x2821, 0x43C2, 0x1A2A, 0x3C1E, 0x40B2, 0x8003,
-0x1A42, 0x4A6F, 0x5F0F, 0x4F1B, 0x1A32, 0x4A6F, 0x5F0F, 0x5F1B, 0x1A3E,
-0xEB92, 0xFFFF, 0x1A44, 0xE3B2, 0x1A44, 0x43A2, 0x1B84, 0x43D2, 0x1C75,
-0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x4FD2, 0x0002, 0x1C76, 0x40B2, 0x1A42,
-0x1B86, 0x4A6F, 0x5F0F, 0x438F, 0x1A3A, 0x4382, 0x1A44, 0xC0F2, 0x0040,
-0x0021, 0xC3D2, 0x1B5C, 0x413E, 0x413F, 0x413C, 0x413D, 0x413B, 0x413A,
-0x1300, 0x43C2, 0x0022, 0x43C2, 0x002A, 0x43C2, 0x001A, 0x43C2, 0x001E,
-0x43C2, 0x0032, 0x43C2, 0x0036, 0x43C2, 0x0026, 0x43C2, 0x002E, 0x43C2,
-0x001B, 0x43C2, 0x001F, 0x43C2, 0x0033, 0x43C2, 0x0037, 0x43C2, 0x0021,
-0x43C2, 0x0029, 0x43C2, 0x0019, 0x43C2, 0x001D, 0x43C2, 0x0031, 0x43C2,
-0x0035, 0xC0F2, 0x0080, 0x0057, 0x430F, 0x3C05, 0x4303, 0x533E, 0x930E,
-0x23FC, 0x531F, 0x903F, 0x00FF, 0x2C07, 0xB3E2, 0x0002, 0x2804, 0xC3E2,
-0x0002, 0x437E, 0x3FF3, 0xB3E2, 0x0002, 0x2C66, 0xD0F2, 0x0040, 0x001E,
-0xC3E2, 0x0002, 0xD0F2, 0x0088, 0x0058, 0xD0F2, 0x0020, 0x0032, 0xD0F2,
-0x0020, 0x0033, 0x40B2, 0x1B00, 0x1B76, 0x40B2, 0x00B7, 0x1B78, 0x43C2,
-0x1C72, 0xC0F2, 0x0020, 0x0021, 0xD0F2, 0x0040, 0x0021, 0xD0F2, 0x0060,
-0x0022, 0x43C2, 0x002A, 0xD0F2, 0x0030, 0x001B, 0xD0F2, 0x0010, 0x001A,
-0xD0F2, 0x003F, 0x001D, 0xD0F2, 0x003F, 0x001E, 0xD0F2, 0x000B, 0x0032,
-0x40B2, 0x1C71, 0x1B68, 0x43D2, 0x1B6A, 0x40B2, 0x1C71, 0x1B72, 0x43E2,
-0x1B74, 0x430F, 0x3C02, 0x4303, 0x531F, 0x933F, 0x23FC, 0xC0F2, 0x0040,
-0x001E, 0x40B2, 0x1C73, 0x1B82, 0x40B2, 0x1C74, 0x1A00, 0x40B2, 0xFF45,
-0x1B7E, 0x40B2, 0x0200, 0x1B80, 0x40B2, 0x000C, 0x1B7A, 0x4382, 0x1B7C,
-0x4382, 0x0182, 0x421C, 0x1B76, 0x421D, 0x1B78, 0x403E, 0x0320, 0x430F,
-0x12B0, 0xF710, 0x533C, 0x4C82, 0x0192, 0x40B2, 0x02D6, 0x0180, 0x3C75,
-0xC0F2, 0x0040, 0x0019, 0xD0F2, 0x0080, 0x0057, 0xD0F2, 0x0040, 0x0057,
-0xC032, 0x0020, 0x430F, 0xC3E2, 0x0002, 0x437E, 0x3C02, 0x4303, 0x533E,
-0x930E, 0x23FC, 0xB3E2, 0x0002, 0x2802, 0x430F, 0x3C01, 0x531F, 0x903F,
-0x000A, 0x2BEF, 0xD3E2, 0x0000, 0xD0F2, 0x00C0, 0x0058, 0x40B2, 0x1200,
-0x1B76, 0x40B2, 0x007A, 0x1B78, 0x40F2, 0x0057, 0x1C72, 0x40F2, 0x00FC,
-0x0021, 0x40F2, 0x0003, 0x0022, 0xC0F2, 0x0020, 0x0021, 0xD0F2, 0x0040,
-0x0021, 0xD0F2, 0x0060, 0x0022, 0xD0F2, 0x0060, 0x0029, 0xD0F2, 0x0060,
-0x002A, 0xD0F2, 0x0030, 0x001B, 0xD0F2, 0x0010, 0x001A, 0xD0F2, 0x0015,
-0x001D, 0xD0F2, 0x007D, 0x001E, 0xD0F2, 0x000B, 0x0032, 0x40B2, 0x0021,
-0x1B68, 0x43D2, 0x1B6A, 0x40B2, 0x0021, 0x1B72, 0x43E2, 0x1B74, 0x40B2,
-0x1C73, 0x1B82, 0x40B2, 0x1C74, 0x1A00, 0x40B2, 0xFF55, 0x1B7E, 0x40B2,
-0x0140, 0x1B80, 0x40B2, 0x0007, 0x1B7A, 0x4382, 0x1B7C, 0x4382, 0x0182,
-0x40B2, 0x270F, 0x0192, 0x40B2, 0x01D6, 0x0180, 0xD0F2, 0x0040, 0x0019,
-0xD232, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C0A, 0x433B,
-0x4306, 0x9CD2, 0x0001, 0x1A2B, 0x2003, 0x93C2, 0x1A2C, 0x380A, 0x4CD2,
-0x0001, 0x1A2B, 0x4C5F, 0x0004, 0x4F82, 0x1A2E, 0xD392, 0x1B9C, 0x3C02,
-0xC392, 0x1B9C, 0x93CC, 0x0002, 0x3803, 0xD3A2, 0x1B9C, 0x3C02, 0xC3A2,
-0x1B9C, 0x4C08, 0x5328, 0x48E2, 0x1A2C, 0x93C2, 0x1C70, 0x2005, 0x434C,
-0x12B0, 0xF9F2, 0x43D2, 0x1C70, 0x90FA, 0x0081, 0x0001, 0x2044, 0xB392,
-0x1B9C, 0x2806, 0x4A19, 0x0004, 0x432C, 0x1292, 0xE01A, 0x3C02, 0x4219,
-0x1A2E, 0x9309, 0x2004, 0x4A0C, 0x12B0, 0xE900, 0x4C06, 0x9306, 0x202F,
-0x407D, 0x0093, 0x486C, 0x1292, 0xE000, 0x90B2, 0x0064, 0x1C66, 0x2802,
-0x4382, 0x1C66, 0x421F, 0x1C66, 0x4F0E, 0x531E, 0x4E82, 0x1C66, 0x5F0F,
-0x498F, 0x1B9E, 0x4982, 0x1C68, 0x421F, 0x1A26, 0x9F19, 0x0006, 0x2C6B,
-0x421F, 0x1B9A, 0x5909, 0x5909, 0x590F, 0x4F1F, 0x0002, 0x930F, 0x2462,
-0x421C, 0x1B9C, 0x128F, 0x4C0B, 0x930C, 0x205C, 0x1292, 0xE002, 0x403B,
-0x8000, 0x3C57, 0x460B, 0x3C55, 0x4A5E, 0x0001, 0x807E, 0x0051, 0x2436,
-0x835E, 0x2439, 0x835E, 0x2440, 0x835E, 0x2443, 0x835E, 0x2446, 0x807E,
-0x002D, 0x2409, 0x826E, 0x2413, 0x826E, 0x240B, 0x836E, 0x2415, 0x835E,
-0x241B, 0x3C3C, 0x435D, 0x4A0C, 0x12B0, 0xED38, 0x4C0B, 0x3C36, 0x434D,
-0x4A0C, 0x12B0, 0xED38, 0x4C0B, 0x3C30, 0x4A5C, 0x0006, 0x12B0, 0xF1E8,
-0x4C0B, 0x3C2A, 0x4A5C, 0x0006, 0xD07C, 0x0040, 0x12B0, 0xF8FC, 0x4C0B,
-0x3C22, 0x4A5C, 0x0006, 0xD07C, 0x0040, 0x12B0, 0xF8D6, 0x4C0B, 0x3C1A,
-0x4A0C, 0x12B0, 0xF6C8, 0x4C0B, 0x3C15, 0x4A0C, 0x12B0, 0xEA2A, 0x4C0B,
-0x931C, 0x200F, 0x12B0, 0xF7B2, 0x3C0C, 0x4A0C, 0x12B0, 0xF07C, 0x4C0B,
-0x3C07, 0x4A0C, 0x12B0, 0xF4C6, 0x4C0B, 0x3C02, 0x12B0, 0xF62C, 0x903B,
-0x8000, 0x2423, 0x930B, 0x380B, 0x407D, 0x0091, 0x486C, 0x1292, 0xE000,
-0x4B0C, 0x1292, 0xE008, 0x1292, 0xE002, 0x3C16, 0x407D, 0x0092, 0x486C,
-0x1292, 0xE000, 0x4B0C, 0x1292, 0xE008, 0x903B, 0x8002, 0x2009, 0x425C,
-0x1A2C, 0x535C, 0xF07C, 0x003F, 0x2001, 0x435C, 0x1292, 0xE008, 0x1292,
-0xE002, 0x430C, 0x4030, 0xFAD4, 0x120A, 0x120B, 0x403E, 0x1A46, 0x4E6F,
-0xB3DF, 0x1A4C, 0x2CA4, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x90FF, 0x0093,
-0x0001, 0x4E6F, 0x2407, 0x5F0F, 0x4F1F, 0x1B52, 0xC0FF, 0x0080, 0x0002,
-0x3C18, 0x5F0F, 0x4F1F, 0x1B52, 0x93CF, 0x0002, 0x3803, 0x93C2, 0x1C7A,
-0x240F, 0x93F2, 0x1C7A, 0x2403, 0x53D2, 0x1C7A, 0x3C02, 0x43D2, 0x1C7A,
-0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x42DF, 0x1C7A, 0x0003, 0x4E6F, 0x5F0F,
-0x4F1D, 0x1A4E, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4DCF, 0x0000, 0x4E6F,
-0x5F0F, 0x4F1F, 0x1B52, 0xB3DF, 0x0000, 0x2C0E, 0x4E6F, 0x5F0F, 0x4F1D,
-0x1B52, 0x4E6F, 0x5F0F, 0x4F1C, 0x1A4E, 0x531C, 0x4C8F, 0x1A4E, 0x5C0D,
-0x43CD, 0x0000, 0x430D, 0x430C, 0x3C11, 0x4C0A, 0x5A0A, 0x4E6F, 0x5F0F,
-0x4F0B, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5B0F,
-0x5F0A, 0xEA1D, 0x1A50, 0x531C, 0x4E6F, 0x5F0F, 0x4F1F, 0x1A4E, 0x531F,
-0xC312, 0x100F, 0x9F0C, 0x2BE6, 0xE33D, 0x4E6F, 0x5F0F, 0x4F1B, 0x1A4E,
-0x100B, 0x5B0B, 0x4E6F, 0x5F0F, 0x4F0A, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F,
-0x5F0F, 0x5F0F, 0x5F0F, 0x5A0F, 0x5F0B, 0x4D8B, 0x1A52, 0x4E6F, 0xD3DF,
-0x1A4C, 0x4E6F, 0xC2FF, 0x1A4C, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x93CF,
-0x0002, 0x3802, 0x43C2, 0x1C7A, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x90FF,
-0x0093, 0x0001, 0x2003, 0x4E6F, 0xD3EF, 0x1A4C, 0x4E6F, 0x5F0F, 0x4F1C,
-0x1A4E, 0x503C, 0x0003, 0x12B0, 0xFA12, 0x53D2, 0x1A46, 0x93C2, 0x1A46,
-0x2402, 0x43C2, 0x1A46, 0x12B0, 0xFB12, 0x430C, 0x413B, 0x413A, 0x4130,
-0x120A, 0x430A, 0x93CC, 0x0006, 0x2034, 0x407D, 0x0093, 0x4C5C, 0x0002,
-0x1292, 0xE000, 0x930C, 0x3829, 0x421A, 0xE008, 0x421F, 0x1A26, 0x4F1C,
-0x0002, 0x128A, 0x421F, 0x1A26, 0x4F1C, 0x0004, 0x128A, 0x421C, 0x1B7E,
-0x128A, 0x421C, 0x1B80, 0x128A, 0x432D, 0x403C, 0xFDD8, 0x1292, 0xE006,
-0x432D, 0x403C, 0xFDD8, 0x1292, 0xE006, 0x432C, 0x128A, 0x403C, 0x0102,
-0x128A, 0x421C, 0x1B7A, 0x421D, 0x1B7C, 0x1292, 0xE00A, 0x431A, 0x3C56,
-0x403A, 0xFFFD, 0x3C53, 0x93DC, 0x0006, 0x201B, 0x421F, 0x1A26, 0x938F,
-0x0006, 0x2413, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C,
-0x3808, 0x421F, 0x1A26, 0x4F1C, 0x0006, 0x1292, 0xE008, 0x431A, 0x3C3B,
-0x403A, 0xFFFC, 0x3C38, 0x403A, 0xFFFE, 0x3C35, 0x93EC, 0x0006, 0x2020,
-0x407D, 0x0093, 0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C, 0x3815, 0x3C0D,
-0x4A0C, 0x1292, 0xE008, 0x421E, 0x1B9A, 0x4A0F, 0x5F0F, 0x5F0F, 0x5F0E,
-0x4E2C, 0x1292, 0xE008, 0x531A, 0x421F, 0x1A26, 0x9F1A, 0x0006, 0x2BEE,
-0x431A, 0x3C15, 0x403A, 0xFFFB, 0x3C12, 0x90FC, 0x0003, 0x0006, 0x200E,
-0x407D, 0x0091, 0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C, 0x3804, 0x1292,
-0xE002, 0x403A, 0xFFFA, 0x12B0, 0xFA98, 0x931A, 0x2004, 0x403A, 0x8000,
-0x1292, 0xE002, 0x4A0C, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x4C18, 0x0004, 0x4809, 0x5C19, 0x0008, 0x8329, 0x4336, 0x93D2,
-0x1C7B, 0x2076, 0x403B, 0xF522, 0x480C, 0x128B, 0x834C, 0x2407, 0x835C,
-0x2408, 0x835C, 0x2409, 0x835C, 0x240A, 0x3C0A, 0xF038, 0xFE00, 0x3C07,
-0xF038, 0xFF00, 0x3C04, 0xF038, 0xFF80, 0x3C01, 0xC318, 0x490C, 0x128B,
-0x834C, 0x2407, 0x835C, 0x2408, 0x835C, 0x2409, 0x835C, 0x240A, 0x3C0A,
-0xF039, 0xFE00, 0x3C07, 0xF039, 0xFF00, 0x3C04, 0xF039, 0xFF80, 0x3C01,
-0xC319, 0x490C, 0x128B, 0x4C4C, 0x5C0C, 0x4C1F, 0xE048, 0x5F0F, 0x5F09,
-0x4036, 0xFFFE, 0xB318, 0x2C3E, 0x9908, 0x2C3C, 0xB392, 0x012C, 0x2FFD,
-0x40B2, 0xA593, 0x012A, 0x40B2, 0xA500, 0x012C, 0x4316, 0x3C0A, 0x907A,
-0x0003, 0x2002, 0x43B8, 0x0000, 0x5A0A, 0x4A1F, 0xE048, 0x5F0F, 0x5F08,
-0x9908, 0x2C1F, 0x480C, 0x128B, 0x4C4A, 0x480C, 0x12B0, 0xF922, 0x934C,
-0x240F, 0x934A, 0x2404, 0x935A, 0x2402, 0x936A, 0x23E6, 0x40B2, 0xA502,
-0x0128, 0x43B8, 0x0000, 0xB392, 0x012C, 0x2FFD, 0x3FE2, 0x40B2, 0xA500,
-0x0128, 0x40B2, 0xA510, 0x012C, 0x4036, 0xFFFE, 0x40B2, 0xA500, 0x0128,
-0x40B2, 0xA510, 0x012C, 0x460C, 0x4030, 0xFAD4, 0x120A, 0x120B, 0x1208,
-0x1209, 0x8031, 0x0010, 0x434A, 0xC0F2, 0x0040, 0x0021, 0xC3D2, 0x1B5C,
-0x3C20, 0x535A, 0x936A, 0x2801, 0x434A, 0x9A4E, 0x241A, 0x4A4B, 0xB3DB,
-0x1A30, 0x2BF6, 0x403D, 0x0014, 0x434C, 0x12B0, 0xF85E, 0x4A4D, 0x403C,
-0x1A2A, 0x1292, 0xE00C, 0x4AC2, 0x1C79, 0x5B0B, 0x4B1C, 0x1A32, 0x12B0,
-0xE5B6, 0x425A, 0x1C79, 0x4A4F, 0xC3DF, 0x1A30, 0x93C2, 0x1C75, 0x240F,
-0x421E, 0x1B86, 0x421D, 0x1B84, 0x425C, 0x1C76, 0x12B0, 0xF67A, 0x43C2,
-0x1C75, 0xC0F2, 0x0040, 0x0021, 0xC3D2, 0x1B5C, 0x434B, 0x3C3F, 0x4B48,
-0x5808, 0x5808, 0x5808, 0x481F, 0x1A06, 0x421E, 0x1A26, 0x9E1F, 0x0006,
-0x2C33, 0x421E, 0x1B9A, 0x5F0F, 0x5F0F, 0x5F0E, 0x4E19, 0x0002, 0x9309,
-0x242A, 0x93C8, 0x1A0D, 0x2427, 0x485D, 0x1A0C, 0x485C, 0x1A0B, 0x1292,
-0xE000, 0x930C, 0x381F, 0x481C, 0x1A08, 0x410F, 0x120F, 0x430F, 0x431E,
-0x4C6D, 0x503D, 0xFFFD, 0x503C, 0x0006, 0x1292, 0xE00E, 0x403C, 0x0003,
-0x1289, 0x5321, 0x931C, 0x2009, 0x1292, 0xE002, 0xB3D8, 0x1A0A, 0x2804,
-0x485C, 0x1A0B, 0x12B0, 0xF1E8, 0x410C, 0x1292, 0xE010, 0x535B, 0x926B,
-0x2BBF, 0x4A4E, 0x3F8F, 0x120A, 0x120B, 0x120D, 0x120C, 0x120F, 0x120E,
-0x421F, 0x1A00, 0x93CF, 0x0000, 0x2404, 0x40F2, 0x000A, 0x1C74, 0x3C65,
-0x403D, 0x1A47, 0x4D6C, 0x3C0A, 0x53D2, 0x1A47, 0x93C2, 0x1A47, 0x2402,
-0x43C2, 0x1A47, 0x9CC2, 0x1A47, 0x2457, 0x4D6F, 0xB3DF, 0x1A4C, 0x2BF2,
-0x4D6E, 0x5E0E, 0x4D6F, 0x5F0F, 0x9F9E, 0x1A4E, 0x1A48, 0x4D6F, 0x2C0F,
-0x5F0F, 0x4F1E, 0x1B52, 0x4D6F, 0x5F0F, 0x4F1D, 0x1A48, 0x4D0A, 0x531A,
-0x4A8F, 0x1A48, 0x5D0E, 0x4EE2, 0x0077, 0x3C3B, 0xC3DF, 0x1A4C, 0x4D6F,
-0x5F0F, 0x438F, 0x1A48, 0x4D6C, 0x4D6F, 0xB3EF, 0x1A4C, 0x2C02, 0x4382,
-0x1B5E, 0x53D2, 0x1A47, 0x93C2, 0x1A47, 0x2402, 0x43C2, 0x1A47, 0x4D6F,
-0xB3DF, 0x1A4C, 0x281C, 0x4D6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F6E, 0x4D6F,
-0x5F0F, 0x9F1E, 0x1A48, 0x2812, 0x4D6F, 0x5F0F, 0x4F1E, 0x1B52, 0x4D6F,
-0x5F0F, 0x4F1A, 0x1A48, 0x4A0B, 0x531B, 0x4B8F, 0x1A48, 0x5A0E, 0x4EE2,
-0x0077, 0x40B2, 0x0032, 0x1B5E, 0x4D6F, 0xB3DF, 0x1A4C, 0x2C03, 0x9CC2,
-0x1A47, 0x23D2, 0x413E, 0x413F, 0x413C, 0x413D, 0x413B, 0x413A, 0x1300,
-0x120A, 0x120B, 0x1208, 0x1209, 0x4C08, 0x4D4A, 0x4309, 0x3C01, 0x5319,
-0x9229, 0x2C0C, 0x490F, 0x5F0F, 0x5F0F, 0x5F0F, 0x9C9F, 0x0004, 0x1A06,
-0x23F5, 0x9CDF, 0x0002, 0x1A0B, 0x23F1, 0x4309, 0x3C01, 0x5319, 0x9229,
-0x2C07, 0x490F, 0x5F0F, 0x5F0F, 0x5F0F, 0x93BF, 0x1A06, 0x23F6, 0x9229,
-0x2C47, 0x5909, 0x5909, 0x5909, 0x90FC, 0x0006, 0x0000, 0x282B, 0x4C6B,
-0x535B, 0x4B0C, 0x12B0, 0xF386, 0x4C89, 0x1A08, 0x930C, 0x241F, 0x430F,
-0x3C08, 0x480E, 0x5F0E, 0x491D, 0x1A08, 0x5F0D, 0x4EED, 0x0000, 0x531F,
-0x9B0F, 0x2BF6, 0xF35A, 0x4AC9, 0x1A0A, 0x485E, 0x0002, 0xD07E, 0x0040,
-0x4EC9, 0x1A0B, 0x40F9, 0x0093, 0x1A0C, 0x4899, 0x0004, 0x1A06, 0x43D9,
-0x1A0D, 0x431C, 0x3C1A, 0x403C, 0xFFFC, 0x3C17, 0x4389, 0x1A08, 0xF35A,
-0x4AC9, 0x1A0A, 0x4C5E, 0x0002, 0xD07E, 0x0040, 0x4EC9, 0x1A0B, 0x40F9,
-0x0093, 0x1A0C, 0x4C99, 0x0004, 0x1A06, 0x43D9, 0x1A0D, 0x431C, 0x3C02,
-0x403C, 0xFFFD, 0x4030, 0xFAD6, 0x120D, 0x120C, 0x120F, 0x120E, 0x90B2,
-0x000E, 0x011E, 0x205F, 0xD232, 0x93A2, 0x1B5A, 0x2806, 0xB3D2, 0x1B5C,
-0x2C03, 0x53B2, 0x1B5A, 0x3C09, 0x9392, 0x1B5A, 0x2006, 0x4382, 0x1B5A,
-0x403C, 0x8004, 0x12B0, 0xF8AE, 0x93A2, 0x1B5E, 0x2805, 0x93C2, 0x1C74,
-0x2002, 0x53B2, 0x1B5E, 0x425E, 0x1B62, 0x421F, 0x1B64, 0xC312, 0x100F,
-0x921F, 0x1B66, 0x7F4F, 0xF35F, 0xF35E, 0xEF4E, 0x421F, 0x1B68, 0x2404,
-0xD2DF, 0x1B6A, 0x0000, 0x3C03, 0xC2DF, 0x1B6A, 0x0000, 0x9382, 0x1B66,
-0x2403, 0x53B2, 0x1B66, 0x3C06, 0xB3E2, 0x1B62, 0x2803, 0x4292, 0x1B64,
-0x1B66, 0x425E, 0x1B6C, 0x421F, 0x1B6E, 0xC312, 0x100F, 0x921F, 0x1B70,
-0x7F4F, 0xF35F, 0xF35E, 0xEF4E, 0x421F, 0x1B72, 0x2404, 0xD2DF, 0x1B74,
-0x0000, 0x3C03, 0xC2DF, 0x1B74, 0x0000, 0x9382, 0x1B70, 0x2403, 0x53B2,
-0x1B70, 0x3C06, 0xB3E2, 0x1B6C, 0x2803, 0x4292, 0x1B6E, 0x1B70, 0x413E,
-0x413F, 0x413C, 0x413D, 0x1300, 0x120A, 0x8031, 0x0006, 0x410C, 0x403E,
-0xE054, 0x403D, 0x0006, 0x12B0, 0xFB02, 0x12B0, 0xF7B2, 0x90B2, 0x2520,
-0x251E, 0x2852, 0x90B2, 0xFDDA, 0x251E, 0x2C4E, 0x421F, 0x1A02, 0x90BF,
-0x5137, 0x0000, 0x201F, 0x434A, 0x3C0F, 0x4A4F, 0x5F0F, 0x421E, 0x1A04,
-0x5F0E, 0x93BE, 0x0000, 0x2006, 0x93BF, 0x2500, 0x2403, 0x4F9F, 0x2500,
-0x24E0, 0x535A, 0x907A, 0x0010, 0x2BEE, 0x421D, 0x251E, 0x421E, 0x1B7A,
-0x421F, 0x1B7C, 0x403C, 0xE000, 0x128D, 0x4C82, 0x1A26, 0x421F, 0x1A26,
-0x930F, 0x2423, 0x4F92, 0x0008, 0x1B9A, 0x9382, 0x1B9A, 0x241D, 0x434A,
-0x3C16, 0x421F, 0x1B9A, 0x4A4E, 0x5E0E, 0x5E0E, 0x5E0F, 0x93BF, 0x0000,
-0x240C, 0x90BF, 0xFF00, 0x0000, 0x2808, 0x4AC1, 0x0004, 0x43C1, 0x0005,
-0x434D, 0x410C, 0x12B0, 0xED38, 0x535A, 0x421F, 0x1A26, 0x9F1A, 0x0006,
-0x2BE5, 0x430C, 0x3C01, 0x433C, 0x5031, 0x0006, 0x413A, 0x4130, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x4C0B, 0x4D08, 0x430C, 0x9382,
-0x1B54, 0x203B, 0x4309, 0x9809, 0x2C4E, 0x4036, 0x1A46, 0x466F, 0x5F0F,
-0x90BF, 0x00FF, 0x1A4E, 0x281E, 0x466F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F5A,
-0x0001, 0x466F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F57, 0x0002, 0x466F, 0x5F0F,
-0x4F1F, 0x1B52, 0xD0FF, 0x0080, 0x0002, 0x403D, 0x0014, 0x434C, 0x12B0,
-0xF85E, 0x12B0, 0xE7A0, 0x4A4D, 0x474C, 0x12B0, 0xF57C, 0x466F, 0x5F0F,
-0x539F, 0x1A4E, 0x4B07, 0x5907, 0x466F, 0x5F0F, 0x4F1E, 0x1B52, 0x466F,
-0x5F0F, 0x5F1E, 0x1A4E, 0x47EE, 0x0000, 0x5319, 0x3FC6, 0x93B2, 0x1B54,
-0x2413, 0x4309, 0x3C0B, 0x4B0F, 0x590F, 0x4217, 0x1B54, 0x5217, 0x1B58,
-0x4FE7, 0x0000, 0x5319, 0x5392, 0x1B58, 0x9D09, 0x2C04, 0x9292, 0x1B56,
-0x1B58, 0x2BEF, 0x4030, 0xFAD2, 0x120A, 0x120B, 0x1208, 0x1209, 0x433F,
-0x93D2, 0x1C7B, 0x2054, 0xB392, 0x1B9C, 0x2828, 0x4C92, 0x0004, 0x1C6C,
-0x421D, 0x1C6C, 0x4D0A, 0x5C1A, 0x0008, 0x4A82, 0x1C6E, 0x4D82, 0x1C6A,
-0x4C0B, 0x503B, 0x000C, 0x4C6E, 0x503E, 0xFFF5, 0xC312, 0x100E, 0x5E0E,
-0x4B08, 0x5E08, 0xB31D, 0x2C0C, 0x9A0D, 0x2C0A, 0x40B2, 0xA593, 0x012A,
-0x40B2, 0xA500, 0x012C, 0x40B2, 0xA540, 0x0128, 0x3C0D, 0x403F, 0xFFFD,
-0x3C0A, 0x4C0B, 0x522B, 0x4C6E, 0x503E, 0xFFFD, 0xC312, 0x100E, 0x5E0E,
-0x4B08, 0x5E08, 0x933F, 0x201D, 0x421C, 0x1C6A, 0x12B0, 0xF522, 0x3C07,
-0x4BB9, 0x0000, 0x4A5F, 0xE05A, 0x5F0F, 0x5F82, 0x1C6A, 0x4219, 0x1C6A,
-0x9219, 0x1C6E, 0x2C0B, 0x980B, 0x2C09, 0x490C, 0x12B0, 0xF522, 0x4C4A,
-0x490C, 0x12B0, 0xF80C, 0x934C, 0x23E9, 0x431F, 0x4F0C, 0x4030, 0xFAD6,
-0x120A, 0x120B, 0x1208, 0x1209, 0x4C0A, 0x4D0B, 0x4348, 0x3C11, 0x4849,
-0x5909, 0x403C, 0x0102, 0x12B0, 0xF386, 0x4C89, 0x1A36, 0x9389, 0x1A36,
-0x2002, 0x12B0, 0xFB20, 0x4999, 0x1A36, 0x1A32, 0x5358, 0x9368, 0x2BED,
-0x4348, 0x3C04, 0x40B2, 0x1A50, 0x1B52, 0x4358, 0x9348, 0x27FA, 0x43C2,
-0x0070, 0x43D2, 0x0070, 0xD0F2, 0x00C0, 0x0004, 0xD0F2, 0x0010, 0x0070,
-0x93C2, 0x0057, 0x3803, 0x407E, 0x0020, 0x3C02, 0x407E, 0x0010, 0x4EC2,
-0x0071, 0x421C, 0x1B76, 0x421D, 0x1B78, 0x4A0E, 0x4B0F, 0x12B0, 0xF710,
-0x4CC2, 0x0074, 0x108C, 0x4CC2, 0x0075, 0x42D2, 0x1C72, 0x0073, 0xC3D2,
-0x0070, 0x43C2, 0x1C74, 0xD0F2, 0x00C0, 0x0000, 0x93C2, 0x0076, 0xC0F2,
-0x0040, 0x0021, 0xC3D2, 0x1B5C, 0x4030, 0xFAD6, 0x120A, 0x120B, 0x1208,
-0x934C, 0x2024, 0x430A, 0x430B, 0x922B, 0x2C3E, 0x4B08, 0x5808, 0x5808,
-0x5808, 0x481F, 0x1A06, 0x933F, 0x2416, 0x421E, 0x1B9A, 0x5F0F, 0x5F0F,
-0x5F0E, 0x90BE, 0xFF00, 0x0000, 0x2C0D, 0x481C, 0x1A08, 0x930C, 0x2402,
-0x12B0, 0xF3F8, 0x4388, 0x1A08, 0x43B8, 0x1A06, 0x43D8, 0x1A0D, 0x531A,
-0x531B, 0x3FDE, 0x430B, 0x3C01, 0x531B, 0x922B, 0x2C07, 0x4B0F, 0x5F0F,
-0x5F0F, 0x5F0F, 0x9CCF, 0x1A0B, 0x23F6, 0x922B, 0x2C0F, 0x5B0B, 0x5B0B,
-0x5B0B, 0x4B1C, 0x1A08, 0x930C, 0x2402, 0x12B0, 0xF3F8, 0x438B, 0x1A08,
-0x43BB, 0x1A06, 0x43DB, 0x1A0D, 0x431A, 0x4A0C, 0x4030, 0xFAD8, 0x434F,
-0xB0F2, 0x0040, 0x0000, 0x2804, 0xC0F2, 0x0040, 0x0000, 0x435F, 0x43C2,
-0x1A2A, 0x434E, 0x3C13, 0x4E4D, 0x43CD, 0x1A30, 0x43C2, 0x1A2B, 0x43C2,
-0x1A2C, 0x5D0D, 0x4D1C, 0x1A32, 0x43CC, 0x0000, 0x438D, 0x1A42, 0x438D,
-0x1A3A, 0x438D, 0x1A3E, 0x535E, 0x936E, 0x2BEB, 0x4382, 0x1B5A, 0x403D,
-0x012C, 0x42D2, 0x0076, 0x1C77, 0x42D2, 0x0076, 0x1C77, 0x42D2, 0x0076,
-0x1C77, 0xC0F2, 0x0040, 0x0002, 0xF0F2, 0x000E, 0x0072, 0x434E, 0x3C02,
-0x4303, 0x535E, 0x937E, 0x23FC, 0x533D, 0x930D, 0x2404, 0xB0F2, 0x0040,
-0x0002, 0x2FE4, 0x934F, 0x2403, 0xD0F2, 0x0040, 0x0000, 0x4130, 0x120A,
-0x120B, 0x4C0A, 0x430C, 0x421E, 0x1B8E, 0xB35E, 0x2421, 0x438A, 0x0000,
-0x438A, 0x0002, 0x403B, 0xF836, 0x4A0C, 0x128B, 0x930C, 0x2402, 0x433C,
-0x3C26, 0x4A0C, 0x531C, 0x128B, 0x930C, 0x2403, 0x403C, 0xFFFE, 0x3C1E,
-0x4A0C, 0x532C, 0x128B, 0x930C, 0x2403, 0x403C, 0xFFFD, 0x3C16, 0x503A,
-0x0003, 0x4A0C, 0x128B, 0x3C11, 0x9E82, 0x1B8C, 0x2C03, 0x403C, 0xFFFB,
-0x3C0B, 0x4EBA, 0x0000, 0x4EBA, 0x0002, 0x52A2, 0x1B8E, 0x9292, 0x1B8E,
-0x1B8C, 0x2C01, 0x431C, 0x413B, 0x413A, 0x4130, 0x120A, 0x531C, 0xC31C,
-0x421E, 0x1A28, 0x421D, 0xE052, 0x8E0D, 0x4C0F, 0x522F, 0x9F0D, 0x280F,
-0x43DE, 0x0000, 0x421F, 0x1A28, 0x5C0F, 0x522F, 0x4F82, 0x1A28, 0x4F8E,
-0x0002, 0x421F, 0x1A28, 0x8C0F, 0x4F0C, 0x3C1C, 0x421F, 0xE050, 0x3C02,
-0x4F1F, 0x0002, 0x9E0F, 0x2C14, 0x93CF, 0x0000, 0x23F9, 0x4F1D, 0x0002,
-0x8F0D, 0x822D, 0x9C0D, 0x2BF3, 0x4F0A, 0x522A, 0x43DF, 0x0000, 0x4A0D,
-0x5C0D, 0x4F0C, 0x12B0, 0xFA4C, 0x4A0C, 0x3C01, 0x430C, 0x413A, 0x4130,
-0x120A, 0x421E, 0xE050, 0x4E0D, 0x930C, 0x2004, 0x3C2E, 0x4E0D, 0x4E1E,
-0x0002, 0x921E, 0x1A28, 0x2C28, 0x4E0F, 0x522F, 0x9F0C, 0x23F6, 0x93CE,
-0x0000, 0x2421, 0x4E1F, 0x0002, 0x921F, 0x1A28, 0x2C02, 0x4F0C, 0x3C01,
-0x4E0C, 0x4C6A, 0x93CD, 0x0000, 0x2008, 0x934A, 0x2002, 0x4C1F, 0x0002,
-0x4F8D, 0x0002, 0x4D0E, 0x3C07, 0x934A, 0x2003, 0x4C9E, 0x0002, 0x0002,
-0x43CE, 0x0000, 0x929E, 0x1A28, 0x0002, 0x2002, 0x4E82, 0x1A28, 0x413A,
-0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C0A, 0x4D0B, 0x4E08,
-0x4F09, 0x4116, 0x000C, 0x403E, 0x0006, 0x403D, 0x1B8A, 0x460C, 0x12B0,
-0xFA80, 0x4296, 0x1B54, 0x000C, 0x4296, 0x1B56, 0x000E, 0x4A82, 0x1B8A,
-0x4A0F, 0x5B0F, 0x4F82, 0x1B8C, 0x4A82, 0x1B8E, 0x9318, 0x240B, 0x9308,
-0x2003, 0x43B2, 0x1B54, 0x3C02, 0x4882, 0x1B54, 0x4982, 0x1B56, 0x4382,
-0x1B58, 0x430C, 0x4030, 0xFAD4, 0x120A, 0x120B, 0x1208, 0x4C0A, 0x4308,
-0x430B, 0x90FA, 0x000B, 0x0000, 0x201A, 0x407D, 0x0093, 0x4A5C, 0x0002,
-0x1292, 0xE000, 0x930C, 0x380F, 0x4A1B, 0x0004, 0x4B08, 0x5A18, 0x0008,
-0x3C04, 0x4B2C, 0x1292, 0xE008, 0x532B, 0x980B, 0x2BFA, 0x403B, 0x8000,
-0x3C05, 0x403B, 0x8007, 0x3C02, 0x403B, 0x800B, 0x903B, 0x8000, 0x2002,
-0x1292, 0xE002, 0x4B0C, 0x4030, 0xFAD8, 0x434F, 0x434E, 0x3C01, 0x536E,
-0x936E, 0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE03C, 0x2BF8, 0x9C8D, 0xE03E,
-0x2BF5, 0x936E, 0x2C02, 0x436F, 0x3C11, 0x434E, 0x3C01, 0x536E, 0x926E,
-0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE040, 0x2BF8, 0x9C8D, 0xE042, 0x2BF5,
-0x926E, 0x2C02, 0x407F, 0x0003, 0x934F, 0x2006, 0x503C, 0xDB00, 0x903C,
-0x00FF, 0x2C01, 0x435F, 0x4F4C, 0x4130, 0x403E, 0x1A46, 0x4E6F, 0xB0FF,
-0x000B, 0x1A4C, 0x2403, 0x93A2, 0x1B5E, 0x2FF6, 0x4E6F, 0xB0FF, 0x000B,
-0x1A4C, 0x2405, 0x12B0, 0xFB5A, 0x403C, 0x8007, 0x4130, 0x4E6F, 0x5F0F,
-0x4F1F, 0x1B52, 0x4DCF, 0x0001, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4CCF,
-0x0002, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x43CF, 0x0003, 0x4E6F, 0x5F0F,
-0x40BF, 0x0003, 0x1A4E, 0x430C, 0x4130, 0x120A, 0x8321, 0x4C0A, 0x430C,
-0x421E, 0x1B8E, 0xB35E, 0x2411, 0x410C, 0x12B0, 0xF836, 0x416D, 0x930C,
-0x2007, 0x410C, 0x12B0, 0xF836, 0x416F, 0x108F, 0x5F0D, 0x3C01, 0x433C,
-0x4D8A, 0x0000, 0x3C0F, 0x9E82, 0x1B8C, 0x2C03, 0x403C, 0xFFFE, 0x3C09,
-0x4EAA, 0x0000, 0x53A2, 0x1B8E, 0x9292, 0x1B8E, 0x1B8C, 0x2C01, 0x431C,
-0x5321, 0x413A, 0x4130, 0x120A, 0x430F, 0x403F, 0xFDFC, 0x40B2, 0xA593,
-0x012A, 0x40B2, 0xA500, 0x012C, 0x40B2, 0xA502, 0x0128, 0x43BF, 0x0000,
-0xB392, 0x012C, 0x2FFD, 0x40B2, 0xA500, 0x0128, 0x40B2, 0xA510, 0x012C,
-0x430A, 0x3C06, 0x403D, 0x001E, 0x434C, 0x12B0, 0xF990, 0x531A, 0x903A,
-0x0064, 0x2BF7, 0x4382, 0x0120, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208,
-0x4D0A, 0x4E0B, 0x407D, 0x0092, 0x1292, 0xE000, 0x930C, 0x3819, 0x930B,
-0x2004, 0x4A0C, 0x1292, 0xE008, 0x3C0F, 0x4308, 0x3C08, 0x480E, 0x5E0E,
-0x4B0F, 0x5E0F, 0x4F2C, 0x1292, 0xE008, 0x5318, 0x9A08, 0x2C03, 0x9038,
-0x007E, 0x2BF3, 0x1292, 0xE002, 0x430C, 0x3C01, 0x433C, 0x4030, 0xFAD8,
-0x433F, 0x93CC, 0x0004, 0x2012, 0x43C2, 0x1C7B, 0x40B2, 0xA510, 0x012C,
-0x12B0, 0xEEF0, 0x430C, 0x12B0, 0xF748, 0x434C, 0x12B0, 0xF9B2, 0x435C,
-0x12B0, 0xF9F2, 0x430F, 0x3C0C, 0x93DC, 0x0004, 0x2009, 0x43D2, 0x1C7B,
-0x403C, 0x001E, 0x12B0, 0xF748, 0x12B0, 0xF77E, 0x431F, 0x4F0C, 0x4130,
-0x1209, 0x120A, 0x120B, 0x430A, 0x430B, 0x4039, 0x0020, 0x5C0C, 0x6D0D,
-0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C, 0x5339, 0x23F6, 0x3C04,
-0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F, 0x413B, 0x413A, 0x4139,
-0x4130, 0xC232, 0x4303, 0x4C0F, 0x5F0F, 0x4F82, 0x1B64, 0x4C82, 0x1B66,
-0x4F82, 0x1B6E, 0x4C82, 0x1B70, 0x930C, 0x2406, 0x40F2, 0x0003, 0x1B62,
-0x43E2, 0x1B6C, 0x3C04, 0x43C2, 0x1B62, 0x43C2, 0x1B6C, 0xD232, 0x430C,
-0x4130, 0x120A, 0x120B, 0x430A, 0x3C11, 0x4A0B, 0x5B0B, 0x5B0B, 0x5B0B,
-0x4B1C, 0x1A08, 0x930C, 0x2402, 0x12B0, 0xF3F8, 0x438B, 0x1A08, 0x43BB,
-0x1A06, 0x43DB, 0x1A0D, 0x531A, 0x922A, 0x3BED, 0x413B, 0x413A, 0x4130,
-0x40B2, 0x1B90, 0x1A26, 0x4382, 0x1B9A, 0x434E, 0x3C0C, 0x4E4F, 0x5F0F,
-0x421D, 0x1A04, 0x5F0D, 0x93BD, 0x0000, 0x2003, 0x40BF, 0xFB62, 0x24E0,
-0x535E, 0x907E, 0x0010, 0x2BF1, 0x430C, 0x4130, 0x434C, 0x12B0, 0xFB4A,
-0x12B0, 0xE386, 0x403C, 0x0800, 0x403D, 0x0007, 0x12B0, 0xF13A, 0x12B0,
-0xEEF0, 0x434C, 0x12B0, 0xF9B2, 0x435C, 0x12B0, 0xF9F2, 0x4030, 0xEB3A,
-0x434F, 0x434E, 0x3C01, 0x536E, 0x907E, 0x0006, 0x2C08, 0x4E4D, 0x5D0D,
-0x9D1C, 0xE028, 0x2BF7, 0x9C8D, 0xE02A, 0x2BF4, 0x907E, 0x0006, 0x2C01,
-0x435F, 0x4F4C, 0x4130, 0x430F, 0x9292, 0x1B8E, 0x1B8C, 0x2C02, 0x433F,
-0x3C0B, 0x421E, 0x1B8E, 0x4EEC, 0x0000, 0x5392, 0x1B8E, 0x9292, 0x1B8E,
-0x1B8C, 0x2C01, 0x431F, 0x4F0C, 0x4130, 0x936C, 0x2C10, 0x4C4C, 0x5C0C,
-0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x938C, 0x1B66, 0x2007, 0x5D0D, 0x4D8C,
-0x1B64, 0x4D8C, 0x1B66, 0xC3EC, 0x1B62, 0x430C, 0x4130, 0x403E, 0x0114,
-0x430D, 0x403C, 0x1A46, 0x12B0, 0xFA68, 0x4382, 0x1B5E, 0x43C2, 0x1C73,
-0x434E, 0x3C04, 0x40B2, 0x1A50, 0x1B52, 0x435E, 0x934E, 0x27FA, 0x4130,
-0x120A, 0x4C0A, 0xC0F2, 0x0040, 0x0000, 0x12B0, 0xF27C, 0x4A82, 0x1B84,
-0x43D2, 0x1C75, 0x4382, 0x1B86, 0x43C2, 0x1C76, 0xD0F2, 0x0040, 0x0000,
-0x413A, 0x4130, 0x907C, 0x0040, 0x240E, 0x430F, 0x3C01, 0x531F, 0x922F,
-0x3409, 0x4F0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x9CCE, 0x1A0B, 0x23F6, 0x43DE,
-0x1A0D, 0x431C, 0x4130, 0x907C, 0x0040, 0x240E, 0x430F, 0x3C01, 0x531F,
-0x922F, 0x3409, 0x4F0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x9CCE, 0x1A0B, 0x23F6,
-0x43CE, 0x1A0D, 0x431C, 0x4130, 0x434F, 0x434E, 0x3C01, 0x536E, 0x926E,
-0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE034, 0x2BF8, 0x9C8D, 0xE036, 0x2BF5,
-0x926E, 0x2C01, 0x435F, 0x4F4C, 0x4130, 0x120A, 0x4C0A, 0x403E, 0x0006,
-0x4C0D, 0x403C, 0x1B8A, 0x12B0, 0xFA80, 0x4A92, 0x000C, 0x1B54, 0x4A92,
-0x000E, 0x1B56, 0x430C, 0x413A, 0x4130, 0x4D4D, 0x5D0D, 0x5D0C, 0x4C1E,
-0x0008, 0x4E82, 0x1B8A, 0x4E6F, 0x5F0E, 0x4E82, 0x1B8C, 0x421F, 0x1B8A,
-0x522F, 0x4F82, 0x1B8E, 0x430C, 0x4130, 0x936C, 0x2C0D, 0x4C4C, 0x5C0C,
-0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x5D0D, 0x4D8C, 0x1B64, 0x4D8C, 0x1B66,
-0x43EC, 0x1B62, 0x430C, 0x4130, 0x936C, 0x2C0C, 0x4C4C, 0x5C0C, 0x4C0F,
-0x5C0C, 0x5C0C, 0x5F0C, 0x43CC, 0x1B62, 0x438C, 0x1B64, 0x438C, 0x1B66,
-0x430C, 0x4130, 0x425F, 0x1A46, 0x5F0F, 0x4F1F, 0x1B52, 0x4F5E, 0x0001,
-0x425F, 0x1A46, 0x5F0F, 0x4F1F, 0x1B52, 0x4CCF, 0x0001, 0x4E4C, 0x4130,
-0x936C, 0x2C0C, 0x4C4C, 0x5C0C, 0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x43DC,
-0x1B62, 0x438C, 0x1B64, 0x438C, 0x1B66, 0x430C, 0x4130, 0x425F, 0x1A47,
-0x5F0F, 0x438F, 0x1A48, 0x425F, 0x1A46, 0x5F0F, 0x4C8F, 0x1A4E, 0x425F,
-0x1A46, 0xD3DF, 0x1A4C, 0x4130, 0x8321, 0x4C0D, 0x433C, 0x3C01, 0x533D,
-0x930D, 0x2405, 0x410C, 0x12B0, 0xF836, 0x933C, 0x23F8, 0x5321, 0x4130,
-0x4C1F, 0x0002, 0x4F0E, 0x8D0E, 0x903E, 0x0005, 0x2806, 0x4D8C, 0x0002,
-0x43CD, 0x0000, 0x4F8D, 0x0002, 0x4130, 0x120A, 0x4C0A, 0x3C03, 0x4DCA,
-0x0000, 0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A, 0x4130, 0x120A,
-0x4C0A, 0x3C03, 0x4DFA, 0x0000, 0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9,
-0x413A, 0x4130, 0x430F, 0x3C02, 0x4303, 0x531F, 0x933F, 0x23FC, 0x4382,
-0x0120, 0x4130, 0x3C02, 0xC3E2, 0x0002, 0xB3E2, 0x0002, 0x2FFB, 0xD3E2,
-0x0000, 0x1300, 0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C,
-0x23FB, 0x4130, 0x4135, 0x4134, 0x4137, 0x4136, 0x4139, 0x4138, 0x413B,
-0x413A, 0x4130, 0x3C04, 0x4DFC, 0x0000, 0x531C, 0x533E, 0x930E, 0x23FA,
-0x430C, 0x4130, 0x120D, 0x120C, 0x422D, 0x410C, 0x12B0, 0xEFBE, 0x5221,
-0x4130, 0x120C, 0x4EFC, 0x0000, 0x531C, 0x831D, 0x23FB, 0x413C, 0x4130,
-0x40B2, 0x0032, 0x1B5E, 0xD0F2, 0x0080, 0x0002, 0x4130, 0x434C, 0x12B0,
-0xF9F2, 0x435C, 0x12B0, 0xF9B2, 0x3FFF, 0x124C, 0x431D, 0x410C, 0x12B0,
-0xEFBE, 0x5321, 0x4130, 0x120C, 0x432D, 0x410C, 0x12B0, 0xEFBE, 0x5321,
-0x4130, 0x40B2, 0x5A80, 0x0120, 0x4130, 0x4030, 0xFB56, 0x4030, 0xFB64,
-0x4030, 0xF886, 0x4030, 0xFA80, 0x1300, 0x3FFF, 0x000B, 0xEC42, 0xE0B0,
-0xEE18, 0xFAAA, 0xE088, 0x000F, 0x2112, 0xFEDF,
-};
-
-const uint32_t coreImage_address[] =
-{
-0x0000E000, 0x0000FDD8, 0x0000FDEA, 0x0000FDF2, 0x0000FDF6,
-};
-const uint32_t coreImage_length_of_sections[] =
-{
-0x00000DB3, 0x00000001, 0x00000002, 0x00000001, 0x00000005,
-};
-const uint32_t coreImage_sections = 0x00000005;
-const uint32_t coreImage_termination = 0x00000000;
-const uint32_t coreImage_start = 0x0000E000;
-const uint32_t coreImage_finish = 0x0000FE00;
-const uint32_t coreImage_length = 0x00001E00;
-
-#define COREIMAGE_TERMINATION 0x00000000
-#define COREIMAGE_START 0x0000E000
-#define COREIMAGE_FINISH 0x0000FE00
-#define COREIMAGE_LENGTH 0x00001E00
-#define COREIMAGE_SECTIONS 0x00000005
diff --git a/Bios/include/JtagId.h b/Bios/include/JtagId.h
new file mode 100644
index 0000000..082bf7d
--- /dev/null
+++ b/Bios/include/JtagId.h
@@ -0,0 +1,70 @@
+/*
+ * JtagId.h
+ *
+ * Encapsulate common Jtag ID queries.
+ *
+ * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JTAG_ID_H_INCLUDED
+#define JTAG_ID_H_INCLUDED
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+inline static int jtagIdIsValid(unsigned long id)
+{
+ return id == 0x89 || id == 0x8D || id == 0x91 || id == 0x95 || id == 0x98 || id == 0x99 || id == 0x4ba00477;
+}
+
+inline static int jtagIdIsMSP432(unsigned long id)
+{
+ return id == 0x4ba00477;
+}
+
+inline static int jtagIdIsMSP430(unsigned long id)
+{
+ return id == 0x89 || id == 0x8D || id == 0x91 || id == 0x95 || id == 0x98 || id == 0x99;
+}
+
+inline static int jtagIdIsXv2(unsigned long id)
+{
+ return id == 0x91 || id == 0x95 || id == 0x98 || id == 0x99;
+}
+
+#if defined(__cplusplus)
+}
+
+#endif
+
+#endif
diff --git a/Bios/include/MSP_FetComChannel.h b/Bios/include/MSP_FetComChannel.h
new file mode 100644
index 0000000..358506d
--- /dev/null
+++ b/Bios/include/MSP_FetComChannel.h
@@ -0,0 +1,288 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetComChannelImage[] =
+{
+0x6000, 0x0004, 0x0009, 0x0009, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8457, 0xACDC,
+0xACDC, 0x4180, 0xEA00, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206,
+0x1840, 0x1207, 0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840,
+0x120B, 0x1840, 0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F,
+0x008C, 0x4A10, 0x403E, 0x0389, 0x403F, 0x0000, 0x13B4, 0x6E82, 0x008C,
+0x4A04, 0x048D, 0x7022, 0x403E, 0x000B, 0x403F, 0x0000, 0x13B4, 0x701C,
+0x1840, 0x413F, 0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840,
+0x413B, 0x1840, 0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137,
+0x1840, 0x4136, 0x1840, 0x4135, 0x1840, 0x4134, 0x1A00, 0x4070, 0x693C,
+0x4011, 0xE972, 0x141B, 0x4C0A, 0x4D0B, 0x002F, 0x4A04, 0x438F, 0x0000,
+0x1840, 0x4E82, 0x4AF2, 0x4A0E, 0x4B0F, 0x830F, 0x2016, 0x803E, 0x1F41,
+0x2428, 0x803E, 0x0640, 0x2499, 0x831E, 0x2497, 0x803E, 0x0012, 0x2420,
+0x831E, 0x2437, 0x831E, 0x2459, 0x831E, 0x2427, 0x831E, 0x241E, 0x831E,
+0x242F, 0x3CF2, 0x831F, 0x2008, 0x803E, 0x86A0, 0x24B4, 0x831E, 0x24B2,
+0x831E, 0x24B0, 0x3CE8, 0x803F, 0x0005, 0x20E5, 0x803E, 0x1A80, 0x24A9,
+0x831E, 0x24A7, 0x831E, 0x24A5, 0x3CDD, 0x430C, 0x1380, 0x4AB6, 0x13B4,
+0x6E4C, 0x3D1E, 0x430C, 0x1380, 0x4A56, 0x430C, 0x1380, 0x4A5A, 0x3D17,
+0x403C, 0x0CE4, 0x1380, 0x4AD2, 0x403C, 0x0CE4, 0x1380, 0x4A56, 0x431C,
+0x1380, 0x4A5A, 0x3D0B, 0x431C, 0x1380, 0x4AB6, 0x1A00, 0x40F2, 0x6C86,
+0x4A22, 0x1A00, 0x40F2, 0x6350, 0x4A3E, 0x1A00, 0x40F2, 0x7014, 0x4A42,
+0x1A00, 0x40F2, 0x7014, 0x4A46, 0x903A, 0x2599, 0x2008, 0x930B, 0x2006,
+0x431D, 0x403C, 0x2595, 0x13B4, 0x6E0A, 0x3CED, 0x430D, 0x403C, 0x2595,
+0x13B4, 0x6E0A, 0x3CE7, 0x431C, 0x1380, 0x4AB6, 0x1A00, 0x40F2, 0x6C86,
+0x4A22, 0x1A00, 0x40F2, 0x6350, 0x4A3E, 0x1840, 0x90B2, 0xAAAC, 0x4AF2,
+0x2405, 0x1840, 0x90B2, 0xAAAD, 0x4AF2, 0x200E, 0x1A00, 0x40F2, 0x7014,
+0x4A42, 0x1A00, 0x40F2, 0x7014, 0x4A46, 0x430D, 0x403C, 0x2595, 0x13B4,
+0x6E0A, 0x3CC4, 0x1A00, 0x40F2, 0x6F2E, 0x4A42, 0x1A00, 0x40F2, 0x6F1C,
+0x4A46, 0x430D, 0x403C, 0x2596, 0x13B4, 0x6E0A, 0x1380, 0x4A42, 0x002F,
+0x4A04, 0x4C8F, 0x0000, 0x3CB0, 0x1A00, 0x40F2, 0x7014, 0x4A42, 0x1A00,
+0x40F2, 0x7014, 0x4A46, 0x1A00, 0x40F2, 0x7020, 0x4A4A, 0x13B4, 0x6FEE,
+0x403C, 0x0CE4, 0x1380, 0x4AD2, 0x403C, 0x0CE4, 0x1380, 0x4A56, 0x431C,
+0x1380, 0x4A5A, 0x432C, 0x1380, 0x4A62, 0x431C, 0x1380, 0x4AB6, 0x903A,
+0x2582, 0x2002, 0x930B, 0x2403, 0x430C, 0x1380, 0x4A96, 0x1A00, 0x40F2,
+0x6BD4, 0x4A22, 0x1A00, 0x40F2, 0x6714, 0x4A3E, 0x3C80, 0x1A00, 0x40F2,
+0x7014, 0x4A42, 0x1A00, 0x40F2, 0x7014, 0x4A46, 0x1A00, 0x40F2, 0x7020,
+0x4A4A, 0x403C, 0x0CE4, 0x1380, 0x4AD2, 0x403C, 0x0CE4, 0x1380, 0x4A56,
+0x431C, 0x1380, 0x4A5A, 0x432C, 0x1380, 0x4A62, 0x430C, 0x1380, 0x4AB6,
+0x432C, 0x1380, 0x4AB6, 0x903A, 0x86A2, 0x2002, 0x931B, 0x2409, 0x903A,
+0x1A82, 0x2003, 0x903B, 0x0006, 0x2403, 0x430C, 0x1380, 0x4A96, 0x13B4,
+0x6F52, 0x1A00, 0x40F2, 0x64C8, 0x4A22, 0x1A00, 0x40F2, 0x7018, 0x4A3E,
+0x3C47, 0x903A, 0x1A80, 0x2003, 0x903B, 0x0006, 0x2441, 0x903A, 0x86A0,
+0x2002, 0x931B, 0x243C, 0x903A, 0x2581, 0x2002, 0x930B, 0x2437, 0x903A,
+0x2596, 0x2002, 0x930B, 0x2432, 0x903A, 0x2595, 0x2002, 0x930B, 0x242D,
+0x903A, 0x2597, 0x2002, 0x930B, 0x2428, 0x903A, 0x2594, 0x2002, 0x930B,
+0x2423, 0x903A, 0x2598, 0x2002, 0x930B, 0x241E, 0x903A, 0x86A1, 0x2002,
+0x931B, 0x2419, 0x903A, 0x1A81, 0x2003, 0x903B, 0x0006, 0x2413, 0x903A,
+0x86A2, 0x2002, 0x931B, 0x240E, 0x903A, 0x1A82, 0x2003, 0x903B, 0x0006,
+0x2408, 0x903A, 0x2582, 0x2002, 0x930B, 0x2403, 0x431C, 0x1380, 0x4AB6,
+0x161A, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x13B4, 0x6F1C, 0x1840, 0x921A,
+0x4B92, 0x2004, 0x1840, 0x921B, 0x4B94, 0x24AA, 0xD3D2, 0x0600, 0xD0F2,
+0x0080, 0x0600, 0x903A, 0x12C0, 0x200A, 0x930B, 0x2008, 0x40F2, 0x001E,
+0x0606, 0x43D2, 0x0607, 0x40F2, 0x00C1, 0x0608, 0x903A, 0x2580, 0x200B,
+0x930B, 0x2009, 0x40F2, 0x008F, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x00E1,
+0x0608, 0x3C70, 0x903A, 0x3840, 0x200B, 0x930B, 0x2009, 0x40F2, 0x005F,
+0x0606, 0x43C2, 0x0607, 0x40F2, 0x0091, 0x0608, 0x3C62, 0x903A, 0x4B00,
+0x200B, 0x930B, 0x2009, 0x40F2, 0x0047, 0x0606, 0x43C2, 0x0607, 0x40F2,
+0x00F1, 0x0608, 0x3C54, 0x903A, 0x7080, 0x200B, 0x930B, 0x2009, 0x40F2,
+0x002F, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x0051, 0x0608, 0x3C46, 0x903A,
+0x9600, 0x200B, 0x930B, 0x2009, 0x40F2, 0x0023, 0x0606, 0x43C2, 0x0607,
+0x40F2, 0x0081, 0x0608, 0x3C38, 0x903A, 0xDAC0, 0x200B, 0x930B, 0x2009,
+0x40F2, 0x0018, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x0041, 0x0608, 0x3C2A,
+0x903A, 0xE100, 0x200B, 0x930B, 0x2009, 0x40F2, 0x0017, 0x0606, 0x43C2,
+0x0607, 0x40F2, 0x00A1, 0x0608, 0x3C1C, 0x903A, 0xC200, 0x200B, 0x931B,
+0x2009, 0x40F2, 0x000B, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x00D1, 0x0608,
+0x3C0E, 0x903A, 0xE800, 0x200B, 0x903B, 0x0003, 0x2008, 0x40F2, 0x0005,
+0x0606, 0x43C2, 0x0607, 0x40F2, 0x00E1, 0x0608, 0x1840, 0x9392, 0x4B96,
+0x2004, 0xD0F2, 0x00C0, 0x0601, 0x3C08, 0xF0F2, 0x003F, 0x0601, 0x43C2,
+0x0600, 0xD0F2, 0x0080, 0x0600, 0xC3D2, 0x0600, 0xD3D2, 0x061C, 0x1840,
+0x4A82, 0x4B92, 0x1840, 0x4B82, 0x4B94, 0x13B4, 0x6F2E, 0x430C, 0x161A,
+0x0110, 0x140A, 0x8031, 0x0412, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x435C, 0x1380, 0x4B04, 0x4C4A, 0x934A, 0x2478, 0x410C, 0x503C, 0x020A,
+0x403E, 0x0208, 0x13B4, 0x6F08, 0x410C, 0x532C, 0x403E, 0x0208, 0x13B4,
+0x6F08, 0x4381, 0x0000, 0x435E, 0x4A4D, 0x410C, 0x503C, 0x020A, 0x1380,
+0x4B08, 0x1840, 0x9382, 0x4A08, 0x2426, 0x415E, 0x020B, 0x4E4E, 0x415F,
+0x020C, 0x4F4F, 0xF03F, 0x00FF, 0x108F, 0xDE0F, 0x1840, 0x4F82, 0x4B82,
+0x1840, 0x4382, 0x4A08, 0x403F, 0x0005, 0x1840, 0x521F, 0x4B82, 0x4A4A,
+0x8A0F, 0x1840, 0x4F82, 0x4B82, 0x1253, 0x434F, 0x4A4E, 0x410D, 0x503D,
+0x020C, 0x407C, 0x0048, 0x13B4, 0x6AEA, 0x5321, 0x3C0F, 0x4A4A, 0x1840,
+0x8A82, 0x4B82, 0x1243, 0x434F, 0x4A4E, 0x410D, 0x503D, 0x020C, 0x407C,
+0x0048, 0x13B4, 0x6AEA, 0x5321, 0x1840, 0x9382, 0x4B82, 0x2003, 0x1840,
+0x4392, 0x4B80, 0x1840, 0x9382, 0x4B80, 0x241E, 0x430A, 0x432C, 0x1380,
+0x4B34, 0x435F, 0x410E, 0x530E, 0x410D, 0x532D, 0x407C, 0x0048, 0x13B4,
+0x65F4, 0x430A, 0x3C07, 0x4A0F, 0x510F, 0x4F5C, 0x0002, 0x13B4, 0x69E0,
+0x531A, 0x912A, 0x2BF7, 0x1840, 0x4392, 0x4A08, 0x1840, 0x4382, 0x4B80,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x430C, 0x5031, 0x0412, 0x160A, 0x0110, 0x145B, 0x4C46,
+0x0DCB, 0x0EC8, 0x434C, 0x430A, 0x4229, 0x934F, 0x2404, 0x435C, 0x13B4,
+0x6832, 0x3C03, 0x434C, 0x13B4, 0x6832, 0x464C, 0x5C0C, 0xD35C, 0x13B4,
+0x6C2E, 0x13B4, 0x6F40, 0x13B4, 0x6F40, 0x407C, 0x0003, 0x13B4, 0x6832,
+0x934C, 0x2002, 0x430C, 0x3C6D, 0x435C, 0x13B4, 0x6A66, 0x0BCF, 0x0AEF,
+0x4CCF, 0x0000, 0x531A, 0x435C, 0x13B4, 0x6A66, 0x0BCF, 0x0AEF, 0x4CCF,
+0x0000, 0x0BCF, 0x0AEF, 0x90FF, 0x0080, 0x0000, 0x240D, 0x4398, 0x0000,
+0x434C, 0x13B4, 0x6A66, 0x0AEB, 0x4CCB, 0x0000, 0x436C, 0x13B4, 0x6832,
+0x431C, 0x3C4B, 0x531A, 0x435C, 0x13B4, 0x6A66, 0x0BCF, 0x0AEF, 0x4CCF,
+0x0000, 0x531A, 0x435C, 0x13B4, 0x6A66, 0x0BCF, 0x0AEF, 0x4CCF, 0x0000,
+0x4A0F, 0x533F, 0x0BCE, 0x0FEE, 0x4E6E, 0x4E4E, 0x0BCF, 0x0AEF, 0x4F69,
+0x4949, 0xF039, 0x00FF, 0x1089, 0xDE09, 0x5039, 0x0006, 0x4A0F, 0x533F,
+0x0BCE, 0x0FEE, 0x4E6E, 0x4E4E, 0x0BCF, 0x0AEF, 0x4F6F, 0x4F4F, 0xF03F,
+0x00FF, 0x108F, 0xDE0F, 0x503F, 0x0006, 0x4F88, 0x0000, 0x531A, 0x3C09,
+0x435C, 0x13B4, 0x6A66, 0x4A0F, 0x0BCE, 0x0FEE, 0x4CCE, 0x0000, 0x531A,
+0x490F, 0x533F, 0x9F0A, 0x2BF3, 0x434C, 0x13B4, 0x6A66, 0x0AEB, 0x4CCB,
+0x0000, 0x436C, 0x13B4, 0x6832, 0x431C, 0x1656, 0x0110, 0xC0F2, 0x0020,
+0x0282, 0x1840, 0x921C, 0x4B00, 0x2004, 0x1840, 0x921D, 0x4B02, 0x2482,
+0xD3D2, 0x0600, 0xD0F2, 0x0080, 0x0600, 0x903C, 0x2580, 0x200B, 0x930D,
+0x2009, 0x40F2, 0x008F, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x00E1, 0x0608,
+0x3C62, 0x903C, 0x4B00, 0x200B, 0x930D, 0x2009, 0x40F2, 0x0047, 0x0606,
+0x43C2, 0x0607, 0x40F2, 0x00F1, 0x0608, 0x3C54, 0x903C, 0x7080, 0x200B,
+0x930D, 0x2009, 0x40F2, 0x002B, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x0051,
+0x0608, 0x3C46, 0x903C, 0x9600, 0x200B, 0x930D, 0x2009, 0x40F2, 0x0023,
+0x0606, 0x43C2, 0x0607, 0x40F2, 0x0081, 0x0608, 0x3C38, 0x903C, 0xDAC0,
+0x200B, 0x930D, 0x2009, 0x40F2, 0x0018, 0x0606, 0x43C2, 0x0607, 0x40F2,
+0x0041, 0x0608, 0x3C2A, 0x903C, 0xE100, 0x200B, 0x930D, 0x2009, 0x40F2,
+0x0017, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x00A1, 0x0608, 0x3C1C, 0x903C,
+0xC200, 0x200B, 0x931D, 0x2009, 0x40F2, 0x000B, 0x0606, 0x43C2, 0x0607,
+0x40F2, 0x00D1, 0x0608, 0x3C0E, 0x903C, 0xE800, 0x200B, 0x903D, 0x0003,
+0x2008, 0x40F2, 0x0005, 0x0606, 0x43C2, 0x0607, 0x40F2, 0x00E1, 0x0608,
+0x40F2, 0x00C0, 0x0601, 0xC3D2, 0x0600, 0xD3D2, 0x061C, 0x1840, 0x4C82,
+0x4B00, 0x1840, 0x4D82, 0x4B02, 0x430C, 0x0110, 0x434E, 0x934C, 0x2014,
+0xD2F2, 0x0265, 0xD0F2, 0x0010, 0x0202, 0xD0F2, 0x0020, 0x0282, 0x13B4,
+0x6F40, 0xC2F2, 0x0263, 0x13B4, 0x6F40, 0xC0F2, 0x0020, 0x0282, 0x13B4,
+0x6F40, 0x3C68, 0x935C, 0x201B, 0xD2F2, 0x0265, 0xD0F2, 0x0010, 0x0202,
+0xC0F2, 0x0020, 0x0282, 0xD2F2, 0x0263, 0x13B4, 0x6F40, 0xD0F2, 0x0020,
+0x0282, 0x13B4, 0x6F40, 0xC2F2, 0x0263, 0x13B4, 0x6F40, 0xC0F2, 0x0020,
+0x0282, 0x13B4, 0x6F40, 0x3C4B, 0x936C, 0x2018, 0xD2F2, 0x0265, 0xD0F2,
+0x0010, 0x0202, 0xC2F2, 0x0263, 0x13B4, 0x6F40, 0xC0F2, 0x0020, 0x0282,
+0x13B4, 0x6F40, 0xD0F2, 0x0020, 0x0282, 0x13B4, 0x6F40, 0xD2F2, 0x0263,
+0x13B4, 0x6F40, 0x3C31, 0x907C, 0x0003, 0x202E, 0xC2F2, 0x0263, 0xC2F2,
+0x0265, 0xC0F2, 0x0010, 0x0202, 0xC0F2, 0x0020, 0x0282, 0x13B4, 0x6F40,
+0xD0F2, 0x0020, 0x0282, 0x13B4, 0x6F40, 0x425E, 0x0261, 0xF27E, 0xD0F2,
+0x0040, 0x0202, 0xC0F2, 0x0020, 0x0284, 0x13B4, 0x6F40, 0x3C02, 0x13B4,
+0x6F40, 0xB0F2, 0x0020, 0x0280, 0x2BFA, 0xC0F2, 0x0020, 0x0282, 0x13B4,
+0x6F40, 0xD0F2, 0x0020, 0x0284, 0xC0F2, 0x0040, 0x0202, 0x934E, 0x2002,
+0x435C, 0x0110, 0x434C, 0x0110, 0x140A, 0x0CCA, 0x1A00, 0x40F2, 0x7008,
+0x4A1A, 0x1A00, 0x40F2, 0x6CD2, 0x4A1E, 0x1A00, 0x40F2, 0x69E0, 0x4A26,
+0x1A00, 0x40F2, 0x6EC8, 0x4A2E, 0x1A00, 0x40F2, 0x6FC4, 0x4A32, 0x1A00,
+0x40F2, 0x6DBE, 0x4A36, 0x1A00, 0x40F2, 0x6B6A, 0x4A3A, 0x1A00, 0x40F2,
+0x6E4C, 0x4A2A, 0x1A00, 0x40F2, 0x7014, 0x4A42, 0x1A00, 0x40F2, 0x7014,
+0x4A46, 0x1A00, 0x40F2, 0x7000, 0x4A4A, 0x1A00, 0x40F2, 0x6C86, 0x4A22,
+0x1A00, 0x40F2, 0x6350, 0x4A3E, 0x1A00, 0x40F2, 0x700E, 0x4A4E, 0x430D,
+0x403C, 0x2595, 0x13B4, 0x6E0A, 0x1840, 0x4382, 0x4A10, 0x1800, 0x40F2,
+0x4B98, 0x4A12, 0x1840, 0x43D2, 0x4A0E, 0x0ACC, 0x008E, 0x4A1A, 0x008D,
+0x001C, 0x13B4, 0x6EB2, 0x160A, 0x0110, 0x140A, 0x4C4A, 0x1380, 0x4A46,
+0x002F, 0x4A04, 0x4C8F, 0x0000, 0x1840, 0x90B2, 0x0100, 0x4A10, 0x240F,
+0x002E, 0x4A12, 0x1840, 0x421F, 0x4A10, 0x0FEE, 0x4ACE, 0x0000, 0x1840,
+0x5392, 0x4A10, 0x1840, 0x5392, 0x4AEE, 0x3C1E, 0x13B4, 0x6D0E, 0x002E,
+0x4A12, 0x1840, 0x421F, 0x4A10, 0x0FEE, 0x4ACE, 0x0000, 0x1840, 0x5392,
+0x4A10, 0x1840, 0x4392, 0x4AEE, 0x1840, 0x4382, 0x4AF0, 0x13B4, 0x6EDE,
+0x1203, 0x1230, 0x000A, 0x435E, 0x403D, 0x0100, 0x1380, 0x4AEA, 0x5221,
+0x1380, 0x4A42, 0x002F, 0x4A04, 0x4C8F, 0x0000, 0x430C, 0x160A, 0x0110,
+0x434F, 0x434E, 0x434D, 0xC2F2, 0x0263, 0xC2F2, 0x0265, 0xC0F2, 0x0010,
+0x0202, 0x13B4, 0x6F40, 0x434F, 0x3C02, 0x434D, 0x535F, 0x927F, 0x2C11,
+0x13B4, 0x6F40, 0xC0F2, 0x0020, 0x0282, 0x13B4, 0x6F40, 0xD0F2, 0x0020,
+0x0282, 0x5E4E, 0xB2F2, 0x0261, 0x2BEE, 0xD35E, 0x435D, 0x3FEC, 0x934D,
+0x2402, 0xD2F2, 0x0263, 0xD2F2, 0x0265, 0xD0F2, 0x0010, 0x0202, 0xC0F2,
+0x0020, 0x0282, 0x935C, 0x2003, 0xC2F2, 0x0263, 0x3C02, 0xD2F2, 0x0263,
+0x13B4, 0x6F40, 0xD0F2, 0x0020, 0x0282, 0x13B4, 0x6F40, 0xC0F2, 0x0020,
+0x0282, 0x4E4C, 0x0110, 0x145B, 0x8321, 0x4C46, 0x0DC9, 0x4E0B, 0x4F48,
+0x415E, 0x001E, 0x43C1, 0x0000, 0x430A, 0x934E, 0x2412, 0x434C, 0x13B4,
+0x6832, 0x5646, 0x464C, 0x13B4, 0x6C2E, 0x407C, 0x0003, 0x13B4, 0x6832,
+0x4CC1, 0x0000, 0x93C1, 0x0000, 0x2002, 0x430C, 0x3C1E, 0x430A, 0x3C01,
+0x531A, 0x9B0A, 0x2C13, 0x09CF, 0x0AEF, 0x4F6C, 0x13B4, 0x6C2E, 0x407C,
+0x0003, 0x13B4, 0x6832, 0x4CC1, 0x0000, 0x93C1, 0x0000, 0x23EF, 0x436C,
+0x13B4, 0x6832, 0x430C, 0x3C06, 0x9348, 0x2403, 0x436C, 0x13B4, 0x6832,
+0x431C, 0x5321, 0x1656, 0x0110, 0x1380, 0x4A22, 0x1840, 0x9382, 0x4AEE,
+0x242E, 0x1840, 0x5392, 0x4AF0, 0x1840, 0x90B2, 0x05DC, 0x4AF0, 0x2826,
+0x1380, 0x4A46, 0x002F, 0x4A04, 0x4C8F, 0x0000, 0xC3D2, 0x061C, 0x1840,
+0x421D, 0x4AEE, 0x1840, 0x4382, 0x4AEE, 0x13B4, 0x6D0E, 0x13B4, 0x6EDE,
+0x1203, 0x1230, 0x000A, 0x435E, 0x1380, 0x4AEA, 0x5221, 0x934C, 0x2003,
+0x1840, 0x4382, 0x4AF0, 0xD3D2, 0x061C, 0x1380, 0x4A42, 0x002F, 0x4A04,
+0x4C8F, 0x0000, 0x0110, 0x141B, 0x8031, 0x0104, 0x435C, 0x1380, 0x4AF4,
+0x4C4A, 0x934A, 0x241F, 0x434B, 0x410C, 0x530C, 0x403E, 0x0104, 0x13B4,
+0x6F08, 0x435E, 0x4A4D, 0x410C, 0x530C, 0x1380, 0x4AF8, 0x3C0F, 0x13B4,
+0x6F70, 0x930C, 0x240B, 0x13B4, 0x6FD2, 0x930C, 0x2407, 0x4B4F, 0x510F,
+0x4F6C, 0x13B4, 0x6FF8, 0x535B, 0x537A, 0x934A, 0x23EF, 0x430C, 0x5031,
+0x0104, 0x161A, 0x0110, 0x407F, 0x0080, 0xD2F2, 0x0265, 0xD0F2, 0x0010,
+0x0202, 0x427E, 0x3C0C, 0xC2F2, 0x0263, 0x1940, 0x104F, 0x13B4, 0x6F40,
+0xD0F2, 0x0020, 0x0282, 0x13B4, 0x6F40, 0x537E, 0x935E, 0x280A, 0xC0F2,
+0x0020, 0x0282, 0x4C4D, 0xFF4D, 0x9F4D, 0x23EB, 0xD2F2, 0x0263, 0x3FEA,
+0xC0F2, 0x0020, 0x0282, 0xC2F2, 0x0263, 0xC2F2, 0x0265, 0xC0F2, 0x0010,
+0x0202, 0x0110, 0x8321, 0x435C, 0x1380, 0x4B86, 0x934C, 0x241D, 0x13B4,
+0x6F8C, 0x930C, 0x2419, 0x13B4, 0x6F9A, 0x930C, 0x2415, 0x1840, 0x93C2,
+0x4D98, 0x2411, 0x1840, 0x9392, 0x4B84, 0x2003, 0x1840, 0x43C2, 0x4D98,
+0x43C1, 0x0000, 0x435E, 0x431D, 0x410C, 0x530C, 0x1380, 0x4B8A, 0x41E2,
+0x060E, 0x430C, 0x5321, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x411E, 0x000C,
+0x1840, 0x921A, 0x4A16, 0x2004, 0x1840, 0x921B, 0x4A18, 0x240E, 0x4A0C,
+0x4B0D, 0x13B4, 0x6092, 0x4A0C, 0x4B0D, 0x1380, 0x4A3E, 0x1840, 0x4A82,
+0x4A16, 0x1840, 0x4B82, 0x4A18, 0x430C, 0x161A, 0x0110, 0x1840, 0x4382,
+0x4A10, 0x1840, 0x93D2, 0x4A0E, 0x2008, 0x1800, 0x40F2, 0x4C98, 0x4A12,
+0x1840, 0x43C2, 0x4A0E, 0x0110, 0x1800, 0x40F2, 0x4B98, 0x4A12, 0x1840,
+0x43D2, 0x4A0E, 0x0110, 0xF0F2, 0x00F3, 0x026B, 0xF0F2, 0x00F3, 0x0265,
+0xC3E2, 0x0203, 0xC3E2, 0x0205, 0xC0F2, 0x0020, 0x0282, 0xC0F2, 0x0020,
+0x0284, 0xC0F2, 0x0020, 0x0286, 0x43C2, 0x021D, 0x0110, 0xF0F2, 0x00F3,
+0x026B, 0xF0F2, 0x00F3, 0x0265, 0xC3E2, 0x0203, 0xC3E2, 0x0205, 0xC0F2,
+0x0020, 0x0282, 0xC0F2, 0x0020, 0x0284, 0xC0F2, 0x0020, 0x0286, 0x43C2,
+0x021D, 0x0110, 0x1840, 0x4392, 0x4B84, 0x1840, 0x43C2, 0x4D98, 0x43C2,
+0x0219, 0xC3E2, 0x0219, 0x43C2, 0x021B, 0xD3E2, 0x021B, 0x43C2, 0x021D,
+0x43C2, 0x021D, 0xD3E2, 0x021D, 0x0110, 0x140A, 0x0CCA, 0x008C, 0x4AE2,
+0x0ACE, 0x008D, 0x0006, 0x13B4, 0x6EB2, 0x0ACC, 0x13B4, 0x6FB6, 0x0ACC,
+0x13B4, 0x6F62, 0x0ACC, 0x13B4, 0x6F7E, 0x160A, 0x0110, 0xD0F2, 0x0020,
+0x0282, 0xD2F2, 0x0263, 0xD0F2, 0x0020, 0x0284, 0xD2F2, 0x0265, 0xC0F2,
+0x0040, 0x0202, 0xD0F2, 0x0010, 0x0202, 0x0480, 0x6F40, 0x903C, 0x2595,
+0x2002, 0x13B4, 0x6EF4, 0x903C, 0x2596, 0x2002, 0x13B4, 0x6D94, 0x13B4,
+0x6E9A, 0xD3D2, 0x061C, 0x1840, 0x4D82, 0x4B96, 0x0110, 0x141B, 0x0CCA,
+0x3C06, 0x4DFA, 0x0000, 0x00AA, 0x0001, 0x533E, 0x633F, 0x4E0B, 0xDF0B,
+0x930B, 0x23F6, 0x161A, 0x0110, 0x1840, 0x4382, 0x4A10, 0x1800, 0x40F2,
+0x4B98, 0x4A12, 0x1840, 0x43D2, 0x4A0E, 0x13B4, 0x6D3C, 0x0480, 0x6D68,
+0xD0F2, 0x0020, 0x0284, 0xC0F2, 0x0020, 0x0282, 0xC3E2, 0x0205, 0xD2F2,
+0x026B, 0xD2E2, 0x026B, 0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE, 0x3C04,
+0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110, 0xD0F2, 0x0020,
+0x0284, 0x13B4, 0x6F1C, 0xC3E2, 0x0205, 0xD2F2, 0x026B, 0xD2E2, 0x026B,
+0x0110, 0x1800, 0x124C, 0x4EBC, 0x0000, 0x03EC, 0x00BD, 0x0001, 0x23FA,
+0x1800, 0x417C, 0x0110, 0x0CCF, 0x008C, 0x4A52, 0x0FCE, 0x008D, 0x0038,
+0x13B4, 0x6EB2, 0x0FCC, 0x0480, 0x6FE0, 0x434C, 0x1840, 0x93C2, 0x4A0E,
+0x2003, 0x008C, 0x4B98, 0x0110, 0x008C, 0x4C98, 0x0110, 0x1840, 0x4382,
+0x4B84, 0x1840, 0x43D2, 0x4D98, 0xC3E2, 0x021B, 0x0480, 0x6FA8, 0x1800,
+0x124C, 0x43CC, 0x0000, 0x531C, 0x831E, 0x23FB, 0x1800, 0x417C, 0x0110,
+0xC0F2, 0x0020, 0x0282, 0x002F, 0x4A0A, 0x438F, 0x0000, 0x430C, 0x0110,
+0xD0F2, 0x0020, 0x0282, 0x002F, 0x4A0A, 0x439F, 0x0000, 0x431C, 0x0110,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0110,
+0xC3E2, 0x021B, 0xC2F2, 0x026B, 0xC2E2, 0x026B, 0x0480, 0x6DE6, 0x0CCE,
+0x008C, 0x4B04, 0x008D, 0x0006, 0x0480, 0x6EB2, 0xB3D2, 0x060A, 0x2802,
+0x430C, 0x0110, 0x431C, 0x0110, 0x0CCE, 0x008C, 0x4AF4, 0x008D, 0x0006,
+0x0480, 0x6EB2, 0xB3D2, 0x060A, 0x2802, 0x430C, 0x0110, 0x431C, 0x0110,
+0xB3E2, 0x061D, 0x2802, 0x431C, 0x0110, 0x430C, 0x0110, 0xD3E2, 0x0207,
+0xD3E2, 0x0203, 0xD3E2, 0x0205, 0x0110, 0x0CCE, 0x008C, 0x4B86, 0x008D,
+0x0006, 0x0480, 0x6EB2, 0x0CCE, 0x008C, 0x4AC2, 0x008D, 0x0010, 0x0480,
+0x6EB2, 0xB3E2, 0x061D, 0x2802, 0x431C, 0x0110, 0x430C, 0x0110, 0x0CCE,
+0x008C, 0x4B10, 0x008D, 0x0038, 0x0480, 0x6EB2, 0x13B4, 0x6E68, 0xD3D2,
+0x061C, 0x0110, 0x4CC2, 0x060E, 0x430C, 0x0110, 0x1840, 0x43D2, 0x4D98,
+0x0110, 0x403C, 0x0009, 0x0110, 0x403C, 0x0009, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x0480, 0x6E2E, 0x0110, 0x4A00, 0x0000, 0x0001, 0x4A00,
+0x0000, 0xFF01, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF,
+};
+
+const uint32_t MSP_FetComChannelImage_address[] =
+{
+0x00001980, 0x00046000,
+};
+const uint32_t MSP_FetComChannelImage_length_of_sections[] =
+{
+0x00000040, 0x00000900,
+};
+const uint32_t MSP_FetComChannelImage_sections = 0x00000002;
+const uint32_t MSP_FetComChannelImage_termination = 0x00000000;
+const uint32_t MSP_FetComChannelImage_start = 0x00001980;
+const uint32_t MSP_FetComChannelImage_finish = 0x00047200;
+const uint32_t MSP_FetComChannelImage_length = 0x00045880;
+
+#define MSP_FETCOMCHANNELIMAGE_TERMINATION 0x00000000
+#define MSP_FETCOMCHANNELIMAGE_START 0x00001980
+#define MSP_FETCOMCHANNELIMAGE_FINISH 0x00047200
+#define MSP_FETCOMCHANNELIMAGE_LENGTH 0x00045880
+#define MSP_FETCOMCHANNELIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/MSP_FetCore.h b/Bios/include/MSP_FetCore.h
new file mode 100644
index 0000000..56236ae
--- /dev/null
+++ b/Bios/include/MSP_FetCore.h
@@ -0,0 +1,1134 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetCoreImage[] =
+{
+0xFFFF, 0x7AAA, 0x001D, 0x40B2, 0x5A80, 0x015C, 0x4031, 0x4900, 0x008C,
+0x31DC, 0x403E, 0x0E58, 0x403F, 0x0000, 0x13B0, 0xC21A, 0x008C, 0x3100,
+0x403D, 0xC9CA, 0x403E, 0x00DA, 0x403F, 0x0000, 0x13B0, 0xC640, 0x13B0,
+0xA5F8, 0x13B0, 0xC668, 0x143F, 0x421F, 0x070E, 0x903F, 0x000C, 0x2004,
+0x1380, 0x3342, 0xC392, 0x0700, 0x163C, 0x1300, 0x145F, 0x434A, 0xB2E2,
+0x093E, 0x2811, 0x13B0, 0xB458, 0x4C4A, 0xC0F2, 0x0080, 0x0920, 0xC0F2,
+0x0080, 0x0922, 0xC2E2, 0x093E, 0xD0F2, 0x0080, 0x0920, 0xD0F2, 0x0080,
+0x0922, 0x421F, 0x0932, 0xF03F, 0x003F, 0x0FE0, 0x3CA7, 0x3C1E, 0x3CA5,
+0x3CA4, 0x3C1D, 0x3C24, 0x3C2D, 0x3CA0, 0x3C9F, 0x3C34, 0x3C36, 0x3C38,
+0x3C41, 0x3C4B, 0x3C99, 0x3C98, 0x3C53, 0x3C96, 0x3C95, 0x3C59, 0x3C93,
+0x3C5C, 0x3C91, 0x3C90, 0x3C8F, 0x3C8E, 0x3C5C, 0x3C8C, 0x3C73, 0x3C8A,
+0x3C89, 0x3C88, 0x4303, 0x3C86, 0x1840, 0xB392, 0x3D84, 0x2882, 0x13B0,
+0xC658, 0x4C4A, 0x3C7E, 0x13B0, 0xBA7E, 0x1840, 0xB3A2, 0x3D84, 0x2878,
+0x13B0, 0xC3C4, 0x4C4A, 0x3C74, 0x13B0, 0xB740, 0x1840, 0xB2A2, 0x3D84,
+0x286E, 0x13B0, 0xC5C6, 0x4C4A, 0x3C6A, 0x13B0, 0xC134, 0x3C67, 0x13B0,
+0xB88A, 0x3C64, 0x13B0, 0x99FE, 0x1840, 0xB2B2, 0x3D84, 0x285E, 0x13B0,
+0xC65C, 0x4C4A, 0x3C5A, 0x13B0, 0xBC08, 0x1840, 0xB0B2, 0x0010, 0x3D84,
+0x2853, 0x13B0, 0xC5CE, 0x4C4A, 0x3C4F, 0x13B0, 0xC1B8, 0x1840, 0xB0B2,
+0x0020, 0x3D84, 0x2802, 0x13B0, 0xC5D6, 0x435A, 0x3C44, 0x40F2, 0x0080,
+0x0921, 0x40F2, 0x0080, 0x0923, 0x13B0, 0xB458, 0x3C3B, 0x434C, 0x13B0,
+0x94BC, 0x4C4A, 0x3C36, 0x435C, 0x13B0, 0x94BC, 0x4C4A, 0x3C31, 0x434C,
+0x13B0, 0xC0B8, 0x930C, 0x200F, 0x434C, 0x13B0, 0xA910, 0x934C, 0x240A,
+0x1840, 0xB0B2, 0x0040, 0x3D84, 0x2822, 0x434C, 0x13B0, 0xBEF0, 0x4C4A,
+0x3C1D, 0x434C, 0x13B0, 0x9B36, 0x4C4A, 0x3C18, 0x435C, 0x13B0, 0xC0B8,
+0x930C, 0x200F, 0x435C, 0x13B0, 0xA910, 0x934C, 0x240A, 0x1840, 0xB0B2,
+0x0040, 0x3D84, 0x2809, 0x435C, 0x13B0, 0xBEF0, 0x4C4A, 0x3C04, 0x435C,
+0x13B0, 0x9B36, 0x4C4A, 0x934A, 0x2404, 0xC0B1, 0x00D0, 0x0018, 0x4303,
+0x165A, 0x1300, 0x145F, 0x90B2, 0x000E, 0x03AE, 0x2060, 0x008A, 0x3512,
+0x93AA, 0x0000, 0x2806, 0xB3DA, 0x0002, 0x2C03, 0x53BA, 0x0000, 0x3C09,
+0x939A, 0x0000, 0x2006, 0x438A, 0x0000, 0x403C, 0x8004, 0x13B0, 0xBFEC,
+0x93AA, 0x0004, 0x2806, 0x1840, 0x93C2, 0x3E8A, 0x2002, 0x53BA, 0x0004,
+0x008F, 0x351A, 0x4F6E, 0x4F1D, 0x0002, 0x035D, 0x9F1D, 0x0004, 0x7D4D,
+0xF35D, 0xF35E, 0xED4E, 0x0F3E, 0x0006, 0x2404, 0xDFDE, 0x000A, 0x0000,
+0x3C03, 0xCFDE, 0x000A, 0x0000, 0x938F, 0x0004, 0x2403, 0x53BF, 0x0004,
+0x3C06, 0xB3EF, 0x0000, 0x2803, 0x4F9F, 0x0002, 0x0004, 0x4F5E, 0x000C,
+0x4F1D, 0x000E, 0x035D, 0x9F1D, 0x0010, 0x7D4D, 0xF35D, 0xF35E, 0xED4E,
+0x0F3E, 0x0012, 0x2404, 0xDFDE, 0x0016, 0x0000, 0x3C03, 0xCFDE, 0x0016,
+0x0000, 0x938F, 0x0010, 0x2403, 0x53BF, 0x0010, 0x3C06, 0xB3EF, 0x000C,
+0x2803, 0x4F9F, 0x000E, 0x0010, 0x165A, 0x1300, 0x140F, 0x421F, 0x042E,
+0x903F, 0x000E, 0x2002, 0x4303, 0x3C01, 0x4303, 0x160F, 0x1300, 0x4303,
+0x1300, 0x4303, 0x1300, 0x143F, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x421F, 0x019A, 0x0FE0, 0x3C10, 0x3C0F, 0x3C02, 0x3C0D, 0x3C0E, 0xF0B2,
+0xFFF4, 0x016E, 0xC3A2, 0x0102, 0x435C, 0x13B0, 0xBF14, 0x434C, 0x13B0,
+0xBF14, 0x3C0C, 0x4303, 0x3C0A, 0x4382, 0x0198, 0x13B0, 0xBECA, 0x435C,
+0x13B0, 0xBF14, 0x434C, 0x13B0, 0xBF14, 0x163C, 0x1300, 0x143F, 0x421F,
+0x019A, 0x0FE0, 0x3C10, 0x3C0F, 0x3C02, 0x3C0D, 0x3C0E, 0xF0B2, 0xFFF4,
+0x016E, 0xC3A2, 0x0102, 0x435C, 0x13B0, 0xBF14, 0x434C, 0x13B0, 0xBF14,
+0x3C0C, 0x4303, 0x3C0A, 0x4382, 0x0198, 0x13B0, 0xBECA, 0x435C, 0x13B0,
+0xBF14, 0x434C, 0x13B0, 0xBF14, 0x163C, 0x1300, 0x145F, 0x421F, 0x036E,
+0x903F, 0x000E, 0x2012, 0x008A, 0x3D74, 0x0ACD, 0x403C, 0xAA04, 0x1380,
+0x3162, 0x930C, 0x2409, 0x0A0F, 0x938F, 0x0000, 0x2002, 0x539F, 0x0000,
+0x0A0F, 0x539F, 0x0000, 0x165A, 0x1300, 0x143F, 0x008D, 0x3D70, 0x403C,
+0xAA02, 0x1380, 0x3162, 0x930C, 0x2404, 0x002F, 0x3D70, 0x539F, 0x0000,
+0x163C, 0x1300, 0x143F, 0x421F, 0x03EE, 0x903F, 0x000E, 0x200C, 0x008D,
+0x3D6C, 0x403C, 0xAA03, 0x1380, 0x3162, 0x930C, 0x2404, 0x002F, 0x3D6C,
+0x539F, 0x0000, 0x163C, 0x1300, 0x143F, 0x425C, 0x060C, 0x1380, 0x3D92,
+0x163C, 0x1300, 0x143F, 0xB3E2, 0x021D, 0x2804, 0x43C2, 0x021D, 0x1380,
+0x3DB6, 0x163C, 0x1300, 0x143F, 0xC392, 0x0102, 0x407D, 0x0095, 0x434C,
+0x1380, 0x310A, 0x903C, 0x8007, 0x2406, 0x403C, 0x0006, 0x1380, 0x311A,
+0x1380, 0x310E, 0x431C, 0x1380, 0x3E36, 0x163C, 0x1300, 0x147B, 0x8231,
+0x0CC9, 0x433B, 0x4305, 0x4C5E, 0x0001, 0x0087, 0x3E6E, 0x0086, 0x33B8,
+0x9EC6, 0x003B, 0x2003, 0x93C6, 0x003C, 0x380A, 0x4EC6, 0x003B, 0x4C5F,
+0x0004, 0x4F86, 0x0030, 0x07CF, 0xD397, 0x0000, 0x3C03, 0x07CF, 0xC397,
+0x0000, 0x93CC, 0x0002, 0x3803, 0xD3AF, 0x0000, 0x3C02, 0xC3AF, 0x0000,
+0x0CCA, 0x03EA, 0x4AE6, 0x003C, 0x1840, 0x93C2, 0x3E88, 0x2006, 0x434C,
+0x13B0, 0xBF14, 0x1840, 0x43D2, 0x3E88, 0x495E, 0x0001, 0x907E, 0x0081,
+0x2038, 0x0088, 0x310A, 0xB397, 0x0000, 0x2807, 0x4914, 0x0004, 0x432C,
+0x083F, 0x0038, 0x134F, 0x3C02, 0x4614, 0x0030, 0x9304, 0x2004, 0x09CC,
+0x13B0, 0x8D1C, 0x4C05, 0x9305, 0x2020, 0x407D, 0x0093, 0x4A6C, 0x080F,
+0x134F, 0x002F, 0x31D6, 0x9F14, 0x0008, 0x2D55, 0x002F, 0x3E6A, 0x04E4,
+0x04CE, 0x04E4, 0x0EE4, 0x04EF, 0x0F3F, 0x0002, 0x03DF, 0x254A, 0x472C,
+0x134F, 0x4C0B, 0x930C, 0x2145, 0x083F, 0x0004, 0x134F, 0x403B, 0x8000,
+0x3D3F, 0x450B, 0x3D3D, 0x807E, 0x0051, 0x2455, 0x835E, 0x2458, 0x835E,
+0x245F, 0x835E, 0x2463, 0x835E, 0x2466, 0x835E, 0x246D, 0x835E, 0x2470,
+0x835E, 0x2471, 0x835E, 0x2473, 0x807E, 0x0007, 0x2474, 0x835E, 0x2476,
+0x835E, 0x245A, 0x835E, 0x248B, 0x835E, 0x2498, 0x835E, 0x24C5, 0x835E,
+0x24D2, 0x807E, 0x001C, 0x240D, 0x826E, 0x2417, 0x826E, 0x240F, 0x836E,
+0x241D, 0x835E, 0x2423, 0x835E, 0x2415, 0x835E, 0x2468, 0x3D0B, 0x435D,
+0x09CC, 0x13B0, 0x9E7C, 0x4C0B, 0x3D05, 0x434D, 0x09CC, 0x13B0, 0x9E7C,
+0x4C0B, 0x3CFF, 0x495C, 0x0006, 0x13B0, 0xA6A4, 0x4C0B, 0x3CF9, 0x13B0,
+0xB7CE, 0x431B, 0x3CF5, 0x495C, 0x0006, 0xD07C, 0x0040, 0x13B0, 0xB9DE,
+0x4C0B, 0x3CED, 0x495C, 0x0006, 0xD07C, 0x0040, 0x13B0, 0xBA14, 0x4C0B,
+0x3CE5, 0x09CC, 0x13B0, 0x9C66, 0x4C0B, 0x3CE0, 0x09CC, 0x13B0, 0x9628,
+0x4C0B, 0x931C, 0x20DA, 0x13B0, 0xC31E, 0x3CD7, 0x472D, 0x09CC, 0x13B0,
+0x9776, 0x4C0B, 0x3CD1, 0x09CC, 0x13B0, 0xC68C, 0x4C0B, 0x3CCC, 0x13B0,
+0xB2E2, 0x3CC9, 0x491C, 0x0004, 0x1380, 0x3DD2, 0x4C0B, 0x3CC3, 0x09CC,
+0x13B0, 0xA212, 0x4C0B, 0x3CBE, 0x13B0, 0xB55E, 0x3CBB, 0x1380, 0x3DBE,
+0x4C0B, 0x3CB7, 0x1380, 0x3DC2, 0x4C0B, 0x3CB3, 0x1380, 0x3DCA, 0x4C0B,
+0x3CAF, 0x407D, 0x0093, 0x4A6C, 0x1380, 0x310A, 0x491C, 0x0006, 0x1380,
+0x3DCE, 0x4C0B, 0x3CA4, 0x407D, 0x0093, 0x4A6C, 0x1380, 0x310A, 0x9389,
+0x0006, 0x2403, 0x13B0, 0xC5F6, 0x3C99, 0x13B0, 0xC606, 0x3C96, 0x407D,
+0x0093, 0x4A6C, 0x1380, 0x310A, 0x002F, 0x3DE2, 0x03DF, 0x248D, 0x491C,
+0x0006, 0x1380, 0x3DE2, 0x4C0B, 0x3C87, 0x4381, 0x0004, 0x4381, 0x0006,
+0x4381, 0x0000, 0x4381, 0x0002, 0x002F, 0x3DEA, 0x03DF, 0x2407, 0x410D,
+0x530D, 0x410C, 0x522C, 0x1380, 0x3DEA, 0x4C0B, 0x0088, 0x310A, 0x407D,
+0x0093, 0x4A6C, 0x080F, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006, 0x13B0,
+0xC58E, 0x083F, 0x0010, 0x134F, 0x412C, 0x411D, 0x0002, 0x13B0, 0xC58E,
+0x083F, 0x0010, 0x134F, 0x083F, 0x0004, 0x134F, 0x3C58, 0x407D, 0x0093,
+0x4A6C, 0x1380, 0x310A, 0x002F, 0x3DE6, 0x03DF, 0x2404, 0x491C, 0x0006,
+0x1380, 0x3DE6, 0x430B, 0x3C49, 0x0088, 0x310A, 0x407D, 0x0093, 0x4A6C,
+0x080F, 0x134F, 0x08CB, 0x00AB, 0x0010, 0x13B0, 0xC4CA, 0x903C, 0xBEEF,
+0x2025, 0x903D, 0xBEEF, 0x2022, 0x13B0, 0xC3EA, 0x934C, 0x241E, 0x13B0,
+0xC572, 0x903C, 0xF00D, 0x2019, 0x903D, 0xF00D, 0x2016, 0x13B0, 0xC468,
+0x934C, 0x2412, 0x0087, 0x31D6, 0x070F, 0x4F1C, 0x0012, 0x0B0F, 0x134F,
+0x070F, 0x4F1C, 0x0014, 0x0B0F, 0x134F, 0x070F, 0x4F1C, 0x0016, 0x0B0F,
+0x134F, 0x3C09, 0x430C, 0x0B0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x1380, 0x3DDA, 0x0B0F, 0x134F, 0x1380, 0x319E, 0x0B0F,
+0x134F, 0x083F, 0x0004, 0x134F, 0x430B, 0x903B, 0x8000, 0x242C, 0x0088,
+0x310A, 0x930B, 0x380F, 0x407D, 0x0091, 0x4A6C, 0x080F, 0x134F, 0x930C,
+0x3821, 0x4B0C, 0x083F, 0x0010, 0x134F, 0x083F, 0x0004, 0x134F, 0x3C19,
+0x407D, 0x0092, 0x4A6C, 0x080F, 0x134F, 0x4B0C, 0x083F, 0x0010, 0x134F,
+0x903B, 0x8002, 0x200A, 0x465C, 0x003C, 0x535C, 0xF07C, 0x003F, 0x2001,
+0x435C, 0x083F, 0x0010, 0x134F, 0x083F, 0x0004, 0x134F, 0x430C, 0x5231,
+0x1674, 0x0110, 0x147B, 0x434A, 0x4308, 0x13B0, 0xC580, 0x434C, 0x13B0,
+0xA910, 0x4C4B, 0x934C, 0x254B, 0x434E, 0x4C4D, 0x008C, 0x31DC, 0x13B0,
+0x8F7C, 0x3C13, 0x4E6F, 0x1840, 0xD3DF, 0x33F5, 0x53DD, 0x003A, 0x92ED,
+0x003A, 0x2802, 0x43CD, 0x003A, 0x4E6F, 0x0FEF, 0x1840, 0x438F, 0x33D8,
+0x438D, 0x0034, 0x4303, 0x934B, 0x252F, 0x4A4F, 0x1840, 0x4F59, 0x31DC,
+0x1840, 0x49C2, 0x3E89, 0x008D, 0x33B8, 0x0DCE, 0x00AE, 0x003A, 0x4E6F,
+0x1840, 0xB3DF, 0x33F5, 0x2807, 0x403C, 0x8009, 0x13B0, 0xBFEC, 0x4038,
+0x8009, 0x3FE5, 0x4E6F, 0x0FEF, 0x1840, 0x938F, 0x33D8, 0x2015, 0x1840,
+0x40B2, 0x0032, 0x3512, 0x438D, 0x0034, 0x1840, 0xB359, 0x2806, 0x4E6F,
+0x0FEF, 0x1840, 0x498F, 0x33E0, 0x3C06, 0x5319, 0x4E6F, 0x0FEF, 0x1840,
+0x498F, 0x33E0, 0x4E6F, 0x0FEF, 0x1840, 0x90BF, 0x0104, 0x33E0, 0x2C5C,
+0x4E6F, 0x0FEF, 0x1840, 0x4F19, 0x33E0, 0x5359, 0x4E6F, 0x0FEF, 0x1840,
+0x4F1F, 0x33D8, 0x8F49, 0x994B, 0x2C01, 0x4B49, 0x494C, 0x035C, 0x4E6F,
+0x064F, 0x1800, 0x4F57, 0x33B8, 0x4E6F, 0x0FEF, 0x1840, 0x4F1F, 0x33D8,
+0x0FE7, 0x4A4F, 0x00AF, 0x31DC, 0x4346, 0x3C04, 0x4FB7, 0x0000, 0x03E7,
+0x5356, 0x9C46, 0x2BFA, 0x5C4C, 0x3C13, 0x4A46, 0x5C06, 0x4E6F, 0x064F,
+0x1800, 0x4F57, 0x33B8, 0x4E64, 0x04E4, 0x4C4F, 0x1840, 0x541F, 0x33D8,
+0x0FE7, 0x1840, 0x46D7, 0x31DC, 0x0000, 0x535C, 0x994C, 0x2BEB, 0x4E6F,
+0x0FEF, 0x1840, 0x598F, 0x33D8, 0x594A, 0x894B, 0x4E67, 0x07E7, 0x4E6F,
+0x0FEF, 0x1840, 0x9F97, 0x33D8, 0x33E0, 0x2F75, 0x1840, 0x4382, 0x3512,
+0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x33B8, 0x90FF, 0x0091, 0x0001, 0x2042,
+0x434F, 0x3C08, 0x403C, 0x800A, 0x13B0, 0xBFEC, 0x4038, 0x800A, 0x3F60,
+0x435F, 0x934F, 0x2356, 0x0087, 0x33FA, 0xB3E7, 0x0006, 0x2BF8, 0x073F,
+0x010C, 0x4F59, 0x0002, 0xF079, 0x003F, 0x4E6F, 0x064F, 0x1800, 0x4F5F,
+0x33B8, 0x9F59, 0x0002, 0x23EA, 0x073F, 0x010C, 0x93CF, 0x0003, 0x2008,
+0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x33B8, 0x92EF, 0x0000, 0x2812, 0x0739,
+0x010C, 0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x33B8, 0x9FD9, 0x0004, 0x0003,
+0x23D2, 0xF0F7, 0x00F8, 0x0006, 0x1840, 0x4382, 0x3516, 0x3F24, 0xF0F7,
+0x00F8, 0x0006, 0x3F20, 0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x33B8, 0x90FF,
+0x0092, 0x0001, 0x4E6F, 0x203A, 0x064F, 0x1800, 0x4F5F, 0x33B8, 0x93CF,
+0x0002, 0x200C, 0x435C, 0x13B0, 0xBF14, 0x434C, 0x13B0, 0xBFC8, 0x1840,
+0x43C2, 0x3E88, 0x4038, 0x0092, 0x3F03, 0x434F, 0x3C01, 0x435F, 0x934F,
+0x22FE, 0x0087, 0x33FA, 0x475F, 0x0006, 0xF07F, 0x0003, 0x907F, 0x0003,
+0x23F4, 0x0739, 0x010C, 0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x33B8, 0x9FD9,
+0x0002, 0x0002, 0x23E9, 0x0739, 0x010C, 0x4E6F, 0x064F, 0x1800, 0x4F5F,
+0x33B8, 0x9FD9, 0x0004, 0x0003, 0x23DE, 0xC3E7, 0x0006, 0x3EDC, 0x064F,
+0x1800, 0x4F5F, 0x33B8, 0x93CF, 0x0002, 0x22CA, 0x4E6F, 0x064F, 0x1800,
+0x4F5F, 0x33B8, 0x90FF, 0x008B, 0x0001, 0x22C1, 0x13B0, 0xB3FC, 0x4038,
+0x008B, 0x3ECE, 0x13B0, 0xC548, 0x480C, 0x1674, 0x0110, 0x140A, 0x430F,
+0x430F, 0x3C01, 0x532F, 0x932F, 0x2C1D, 0x4F0E, 0x064E, 0x1840, 0x9E1D,
+0xC824, 0x2BF7, 0x2004, 0x1840, 0x9E1C, 0xC822, 0x2BF2, 0x4F0E, 0x531E,
+0x064E, 0x1840, 0x9D8E, 0xC824, 0x2BEB, 0x2004, 0x1840, 0x9C8E, 0xC822,
+0x2BE6, 0x1840, 0x425C, 0xC9C0, 0x4C4C, 0x430D, 0x3D12, 0x430F, 0x3C01,
+0x532F, 0x932F, 0x2C1D, 0x4F0E, 0x064E, 0x1840, 0x9E1D, 0xC81C, 0x2BF7,
+0x2004, 0x1840, 0x9E1C, 0xC81A, 0x2BF2, 0x4F0E, 0x531E, 0x064E, 0x1840,
+0x9D8E, 0xC81C, 0x2BEB, 0x2004, 0x1840, 0x9C8E, 0xC81A, 0x2BE6, 0x1840,
+0x425C, 0xC9C1, 0x4C4C, 0x430D, 0x3CF0, 0x430F, 0x3C01, 0x532F, 0x932F,
+0x2C1D, 0x4F0E, 0x064E, 0x1840, 0x9E1D, 0xC834, 0x2BF7, 0x2004, 0x1840,
+0x9E1C, 0xC832, 0x2BF2, 0x4F0E, 0x531E, 0x064E, 0x1840, 0x9D8E, 0xC834,
+0x2BEB, 0x2004, 0x1840, 0x9C8E, 0xC832, 0x2BE6, 0x1840, 0x425C, 0xC9C2,
+0x4C4C, 0x430D, 0x3CCE, 0x430F, 0x3C01, 0x532F, 0x932F, 0x2C1D, 0x4F0E,
+0x064E, 0x1840, 0x9E1D, 0xC83C, 0x2BF7, 0x2004, 0x1840, 0x9E1C, 0xC83A,
+0x2BF2, 0x4F0E, 0x531E, 0x064E, 0x1840, 0x9D8E, 0xC83C, 0x2BEB, 0x2004,
+0x1840, 0x9C8E, 0xC83A, 0x2BE6, 0x1840, 0x425C, 0xC9C8, 0x4C4C, 0x430D,
+0x3CAC, 0x430F, 0x3C01, 0x532F, 0x922F, 0x2C1D, 0x4F0E, 0x064E, 0x1840,
+0x9E1D, 0xC844, 0x2BF7, 0x2004, 0x1840, 0x9E1C, 0xC842, 0x2BF2, 0x4F0E,
+0x531E, 0x064E, 0x1840, 0x9D8E, 0xC844, 0x2BEB, 0x2004, 0x1840, 0x9C8E,
+0xC842, 0x2BE6, 0x1840, 0x425C, 0xC9C3, 0x4C4C, 0x430D, 0x3C8A, 0x430F,
+0x3C01, 0x532F, 0x932F, 0x2C1D, 0x4F0E, 0x064E, 0x1840, 0x9E1D, 0xC854,
+0x2BF7, 0x2004, 0x1840, 0x9E1C, 0xC852, 0x2BF2, 0x4F0E, 0x531E, 0x064E,
+0x1840, 0x9D8E, 0xC854, 0x2BEB, 0x2004, 0x1840, 0x9C8E, 0xC852, 0x2BE6,
+0x1840, 0x425C, 0xC9C5, 0x4C4C, 0x430D, 0x3C68, 0x430F, 0x3C01, 0x532F,
+0x932F, 0x2C1D, 0x4F0E, 0x064E, 0x1840, 0x9E1D, 0xC82C, 0x2BF7, 0x2004,
+0x1840, 0x9E1C, 0xC82A, 0x2BF2, 0x4F0E, 0x531E, 0x064E, 0x1840, 0x9D8E,
+0xC82C, 0x2BEB, 0x2004, 0x1840, 0x9C8E, 0xC82A, 0x2BE6, 0x1840, 0x425C,
+0xC9C4, 0x4C4C, 0x430D, 0x3C46, 0x430F, 0x3C01, 0x532F, 0x932F, 0x2C1D,
+0x4F0E, 0x064E, 0x1840, 0x9E1D, 0xC85C, 0x2BF7, 0x2004, 0x1840, 0x9E1C,
+0xC85A, 0x2BF2, 0x4F0E, 0x531E, 0x064E, 0x1840, 0x9D8E, 0xC85C, 0x2BEB,
+0x2004, 0x1840, 0x9C8E, 0xC85A, 0x2BE6, 0x1840, 0x425C, 0xC9C7, 0x4C4C,
+0x430D, 0x3C24, 0x430F, 0x3C01, 0x532F, 0x932F, 0x2C1D, 0x4F0E, 0x064E,
+0x1840, 0x9E1D, 0xC814, 0x2BF7, 0x2004, 0x1840, 0x9E1C, 0xC812, 0x2BF2,
+0x4F0E, 0x531E, 0x064E, 0x1840, 0x9D8E, 0xC814, 0x2BEB, 0x2004, 0x1840,
+0x9C8E, 0xC812, 0x2BE6, 0x1840, 0x425C, 0xC9C6, 0x4C4C, 0x430D, 0x3C02,
+0x430C, 0x430D, 0x160A, 0x0110, 0x140A, 0x8221, 0x430A, 0x93CC, 0x0006,
+0x20CA, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1380, 0x310A, 0x930C, 0x38BF,
+0x13B0, 0xC61C, 0x430D, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x13B0, 0xC60E,
+0x412E, 0x411F, 0x0002, 0x4E0F, 0x430E, 0x430D, 0x5C0E, 0x6D0F, 0x4E81,
+0x0000, 0x4F81, 0x0002, 0x13B0, 0xC4CA, 0x903C, 0xBEEF, 0x2020, 0x903D,
+0xBEEF, 0x201D, 0x13B0, 0xC3EA, 0x934C, 0x2419, 0x13B0, 0xC572, 0x903C,
+0xF00D, 0x2014, 0x903D, 0xF00D, 0x2011, 0x13B0, 0xC468, 0x934C, 0x240D,
+0x002F, 0x31D6, 0x4F1C, 0x0004, 0x1380, 0x311A, 0x002F, 0x31D6, 0x4F1C,
+0x0006, 0x1380, 0x311A, 0x3C08, 0x13B0, 0xC60E, 0x1380, 0x311A, 0x13B0,
+0xC60E, 0x1380, 0x311A, 0x13B0, 0xC5EE, 0x1380, 0x311A, 0x13B0, 0xC5E6,
+0x1380, 0x311A, 0x422D, 0x410C, 0x530C, 0x1380, 0x3116, 0x002F, 0x31D6,
+0x4F1C, 0x000E, 0x1380, 0x311A, 0x13B0, 0xC4E6, 0x903C, 0xABBA, 0x200C,
+0x903D, 0xABBA, 0x2009, 0x13B0, 0xC420, 0x934C, 0x2405, 0x1380, 0x3DC2,
+0x1380, 0x311A, 0x3C03, 0x433C, 0x1380, 0x311A, 0x13B0, 0xC4E6, 0x903C,
+0xABBA, 0x2011, 0x903D, 0xABBA, 0x200E, 0x13B0, 0xC420, 0x934C, 0x240A,
+0x13B0, 0xC60E, 0x903C, 0xAAAB, 0x2405, 0x1380, 0x3DBE, 0x1380, 0x311A,
+0x3C03, 0x433C, 0x1380, 0x311A, 0x13B0, 0xC564, 0x903C, 0xACDC, 0x200C,
+0x903D, 0xACDC, 0x2009, 0x13B0, 0xC3D8, 0x934C, 0x2405, 0x1380, 0x316A,
+0x1380, 0x311A, 0x3C03, 0x433C, 0x1380, 0x311A, 0x13B0, 0xB900, 0x1380,
+0x311A, 0x13B0, 0xBC92, 0x1380, 0x311A, 0x13B0, 0xBCBC, 0x1380, 0x311A,
+0x13B0, 0xBD64, 0x1380, 0x311A, 0x13B0, 0xBD3A, 0x1380, 0x311A, 0x002F,
+0x31D6, 0x4F1C, 0x0010, 0x1380, 0x311A, 0x422C, 0x1380, 0x311A, 0x403C,
+0x0102, 0x1380, 0x311A, 0x430C, 0x430D, 0x1380, 0x311E, 0x13B0, 0xC2C2,
+0x431A, 0x3C59, 0x403A, 0xFFFD, 0x3C56, 0x93DC, 0x0006, 0x201B, 0x002F,
+0x31D6, 0x938F, 0x0008, 0x2413, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1380,
+0x310A, 0x930C, 0x3808, 0x002F, 0x31D6, 0x4F1C, 0x0008, 0x1380, 0x311A,
+0x431A, 0x3C3E, 0x403A, 0xFFFC, 0x3C3B, 0x403A, 0xFFFE, 0x3C38, 0x93EC,
+0x0006, 0x2023, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1380, 0x310A, 0x930C,
+0x3818, 0x430A, 0x3C0F, 0x4A0C, 0x1380, 0x311A, 0x002F, 0x3E6A, 0x4A0E,
+0x0EEE, 0x0ECD, 0x0EEE, 0x0DEE, 0x0FEE, 0x4E2C, 0x1380, 0x311A, 0x531A,
+0x002F, 0x31D6, 0x9F1A, 0x0008, 0x2BEC, 0x431A, 0x3C15, 0x403A, 0xFFFB,
+0x3C12, 0x90FC, 0x0003, 0x0006, 0x200E, 0x407D, 0x0091, 0x4C5C, 0x0002,
+0x1380, 0x310A, 0x930C, 0x3804, 0x1380, 0x310E, 0x403A, 0xFFFA, 0x13B0,
+0xC48A, 0x931A, 0x2004, 0x403A, 0x8000, 0x1380, 0x310E, 0x4A0C, 0x5221,
+0x160A, 0x0110, 0x147B, 0x0CC5, 0x4D07, 0x4E46, 0x4E48, 0x480E, 0x430F,
+0x5E0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x151F, 0x160A, 0x1840, 0x4A54, 0xC6C0,
+0x930D, 0x2402, 0x03DC, 0x2003, 0x407C, 0x0007, 0x3CF9, 0x444C, 0x13B0,
+0xC24A, 0x4C0B, 0x1840, 0x93C2, 0x3EA0, 0x2004, 0x1840, 0x93D2, 0x3EA1,
+0x2404, 0x13B0, 0xC628, 0x427C, 0x3CE9, 0x480C, 0x430D, 0x403E, 0x001A,
+0x430F, 0x13B0, 0xC030, 0x151D, 0x1608, 0x1800, 0x485F, 0x3382, 0x03DF,
+0x2406, 0x4B0C, 0x13B0, 0xC628, 0x407C, 0x0003, 0x3CD5, 0x1840, 0x4788,
+0x338A, 0x1840, 0x4788, 0x338C, 0x1800, 0x45C8, 0x3382, 0x1840, 0x93C8,
+0x339A, 0x2441, 0x08C7, 0x00A7, 0x338E, 0x464E, 0x070D, 0x1800, 0x485C,
+0x3386, 0x13B0, 0xAC5E, 0x1840, 0x9388, 0x338C, 0x24A5, 0x444E, 0x0A5E,
+0x4E0F, 0x503F, 0x238A, 0x1800, 0x485D, 0x338E, 0x0FDD, 0x200C, 0x503E,
+0x238E, 0x1800, 0x4EC8, 0x338E, 0x1840, 0x4A1F, 0xC6C8, 0x1800, 0x4FC8,
+0x3386, 0x3C09, 0x1800, 0x4FC8, 0x338E, 0x1840, 0x4A1F, 0xC6C6, 0x1800,
+0x4FC8, 0x3386, 0x070F, 0x4F6F, 0x934F, 0x340C, 0xF07F, 0x007F, 0x1840,
+0x4FC8, 0x339A, 0x464E, 0x070D, 0x1800, 0x485C, 0x3386, 0x13B0, 0xAC5E,
+0x1840, 0x9388, 0x338C, 0x2472, 0x434F, 0x444E, 0x0A5E, 0x1840, 0x93C8,
+0x339B, 0x201C, 0x93CE, 0x238A, 0x3434, 0x1840, 0x4A1F, 0xC6C6, 0x1800,
+0x4FC8, 0x3386, 0x4E0F, 0x503F, 0x238A, 0x1800, 0x4FC8, 0x338E, 0x1840,
+0x4A1F, 0xC6C8, 0x1800, 0x4FC8, 0x3396, 0x503E, 0x238E, 0x1800, 0x4EC8,
+0x3392, 0x435F, 0x3C1B, 0x93CE, 0x238E, 0x3418, 0x1840, 0x4A1F, 0xC6C8,
+0x1800, 0x4FC8, 0x3386, 0x4E0F, 0x503F, 0x238E, 0x1800, 0x4FC8, 0x338E,
+0x1840, 0x4A1F, 0xC6C6, 0x1800, 0x4FC8, 0x3396, 0x503E, 0x238A, 0x1800,
+0x4EC8, 0x3392, 0x435F, 0x934F, 0x242E, 0x08C7, 0x00A7, 0x338E, 0x070E,
+0x4E6F, 0x934F, 0x27FE, 0x3426, 0xF07F, 0x007F, 0x1840, 0x4FC8, 0x339A,
+0x464E, 0x070D, 0x1800, 0x485C, 0x3386, 0x13B0, 0xAC5E, 0x08C7, 0x00A7,
+0x3392, 0x070F, 0x4F6F, 0x1840, 0x9388, 0x338C, 0x2411, 0x934F, 0x340F,
+0xF07F, 0x007F, 0x1840, 0x4FC8, 0x339A, 0x464E, 0x070D, 0x1800, 0x485C,
+0x3396, 0x13B0, 0xAC5E, 0x1800, 0x47E8, 0x338E, 0x1840, 0x9388, 0x338C,
+0x2011, 0x1800, 0x43C8, 0x3382, 0x1840, 0xB0B2, 0x0100, 0x3D84, 0x2803,
+0x464C, 0x13B0, 0xC69C, 0x4B0C, 0x13B0, 0xC628, 0x407C, 0x0005, 0x3C04,
+0x4B0C, 0x13B0, 0xC628, 0x426C, 0x1674, 0x0110, 0x141B, 0x008A, 0x33FA,
+0x4A6F, 0x1840, 0xB3DF, 0x3400, 0x2CBE, 0x4A6F, 0x064F, 0x1800, 0x4F5F,
+0x3506, 0x90FF, 0x0093, 0x0001, 0x2409, 0x4A6F, 0x064F, 0x1800, 0x4F5F,
+0x3506, 0xC0FF, 0x0080, 0x0002, 0x3C1C, 0x008E, 0x3E8B, 0x4A6F, 0x064F,
+0x1800, 0x4F5F, 0x3506, 0x93CF, 0x0002, 0x3803, 0x93CE, 0x0000, 0x240F,
+0x93FE, 0x0000, 0x2403, 0x53DE, 0x0000, 0x3C02, 0x43DE, 0x0000, 0x4A6F,
+0x064F, 0x1800, 0x4F5F, 0x3506, 0x4EEF, 0x0003, 0x4A6F, 0x0FEF, 0x1840,
+0x4F1E, 0x3402, 0x4A6F, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x4ECF, 0x0000,
+0x4A6F, 0x064F, 0x1800, 0x4F5F, 0x3506, 0xB3DF, 0x0000, 0x2C11, 0x4A6F,
+0x064F, 0x1800, 0x4F5E, 0x3506, 0x4A6D, 0x0DED, 0x431F, 0x1840, 0x5D1F,
+0x3402, 0x1840, 0x4F8D, 0x3402, 0x0FEE, 0x43CE, 0x0000, 0x430D, 0x430F,
+0x3C0D, 0x4F0C, 0x0CEC, 0x4A6E, 0x0EEE, 0x0ECB, 0x1806, 0x5E4E, 0x0BEE,
+0x0EEC, 0x1840, 0xEC1D, 0x3404, 0x531F, 0x4A6E, 0x0EEE, 0x431B, 0x1840,
+0x5E1B, 0x3402, 0x035B, 0x9B0F, 0x2BEA, 0xE33D, 0x4A6F, 0x0FEF, 0x1840,
+0x4F1E, 0x3402, 0x035E, 0x531E, 0x0EEE, 0x4A6F, 0x0FEF, 0x0FCB, 0x1806,
+0x5F4F, 0x0BEF, 0x0FEE, 0x1840, 0x4D8E, 0x3404, 0x4A6F, 0x1840, 0xD3DF,
+0x3400, 0x4A6F, 0x1840, 0xC2FF, 0x3400, 0x4A6F, 0x064F, 0x1800, 0x4F5F,
+0x3506, 0x93CF, 0x0002, 0x3803, 0x1840, 0x43C2, 0x3E8B, 0x4A6F, 0x064F,
+0x1800, 0x4F5F, 0x3506, 0xB0FF, 0x0040, 0x0002, 0x4A6F, 0x2C0D, 0x064F,
+0x1800, 0x4F5F, 0x3506, 0x90FF, 0x0093, 0x0001, 0x2008, 0x4A6F, 0x1840,
+0xD3EF, 0x3400, 0x3C03, 0x1840, 0xC3EF, 0x3400, 0x4A6F, 0x0FEF, 0x403C,
+0x0003, 0x1840, 0x5F1C, 0x3402, 0x13B0, 0xBFA4, 0x53DA, 0x0000, 0x93CA,
+0x0000, 0x2402, 0x43CA, 0x0000, 0x13B0, 0xC5A6, 0x430C, 0x161A, 0x0110,
+0x143B, 0x8031, 0x0006, 0x410C, 0x530C, 0x008E, 0xC9B9, 0x008D, 0x0006,
+0x13B0, 0xC1D2, 0x13B0, 0xC31E, 0x13B0, 0xC2C2, 0x13B0, 0xC572, 0x903C,
+0xF00D, 0x200B, 0x903D, 0xF00D, 0x2008, 0x13B0, 0xC5DE, 0x933C, 0x2404,
+0x13B0, 0xC468, 0x934C, 0x2020, 0x008A, 0x3DDE, 0x1800, 0x40FA, 0xC650,
+0x0000, 0x1800, 0x40FA, 0xC64C, 0x0004, 0x1800, 0x40FA, 0xC644, 0x000C,
+0x1800, 0x40FA, 0xC6BA, 0x0058, 0x1800, 0x40FA, 0xC6B8, 0x0008, 0x1800,
+0x40FA, 0xC6A0, 0x0054, 0x1800, 0x40FA, 0xC6B8, 0x006C, 0x433C, 0x3C82,
+0x13B0, 0xC5DE, 0x134C, 0x1800, 0x40F2, 0x18A0, 0x3E4E, 0x008A, 0x3DDE,
+0x0ACC, 0x13B0, 0x18A0, 0x13B0, 0xC53A, 0x933C, 0x2002, 0x930D, 0x240C,
+0x13B0, 0xC4CA, 0x903C, 0xBEEF, 0x2007, 0x903D, 0xBEEF, 0x2004, 0x13B0,
+0xC3EA, 0x934C, 0x2002, 0x433C, 0x3C62, 0x13B0, 0xC60E, 0x0A3F, 0x006C,
+0x134F, 0x13B0, 0xC53A, 0x151D, 0x1608, 0x13B0, 0xC420, 0x4C49, 0x13B0,
+0xC468, 0x4C4D, 0x008B, 0x31D6, 0x1249, 0x430E, 0x430F, 0x008C, 0x310A,
+0x1348, 0x0C7B, 0x0000, 0x0088, 0x3E6A, 0x0B0F, 0x1800, 0x4FD8, 0x000A,
+0x0000, 0x0ACC, 0x13B0, 0xC510, 0x0ACC, 0x1380, 0x317E, 0x080E, 0x5321,
+0x03DE, 0x2437, 0x0B0F, 0x4F1F, 0x0008, 0x533F, 0x0FEF, 0x0FCD, 0x0FEF,
+0x0DEF, 0x0EEF, 0x40BF, 0xFFFE, 0x0000, 0x080E, 0x0B0F, 0x4F1F, 0x0008,
+0x533F, 0x0FEF, 0x0FCD, 0x0FEF, 0x0DEF, 0x0FEE, 0x1800, 0x40FE, 0xA546,
+0x0002, 0x434E, 0x3C01, 0x535E, 0x0B0F, 0x9F1E, 0x0008, 0x2C16, 0x080F,
+0x4E4D, 0x0DED, 0x0DCA, 0x0DED, 0x0AED, 0x0FED, 0x4D2F, 0x933F, 0x27F1,
+0x903F, 0xFF00, 0x2BEE, 0x4EC1, 0x0004, 0x43C1, 0x0005, 0x434D, 0x410C,
+0x530C, 0x13B0, 0x9E7C, 0x430C, 0x5031, 0x0006, 0x1638, 0x0110, 0x145B,
+0x4C4A, 0x434B, 0x4A0C, 0x430D, 0x4A0E, 0x430F, 0x5E0E, 0x5E0E, 0x5E0E,
+0x5E0E, 0x151F, 0x1607, 0x1840, 0x4759, 0xC6C0, 0x403E, 0x000C, 0x13B0,
+0xC030, 0x151D, 0x1608, 0x1840, 0x9388, 0x336C, 0x202E, 0x1840, 0x93C8,
+0x3373, 0x2095, 0x1840, 0x43D8, 0x3373, 0x1840, 0x90F8, 0x0040, 0x3374,
+0x2016, 0x0A59, 0x1840, 0x93C8, 0x3372, 0x2009, 0x93C9, 0x23CA, 0x340E,
+0x43C9, 0x23CA, 0x1840, 0x43D8, 0x3372, 0x3C08, 0x93C9, 0x23CE, 0x3405,
+0x43C9, 0x23CE, 0x1840, 0x43C8, 0x3372, 0x1840, 0x4388, 0x336A, 0x1840,
+0x93C2, 0x3D84, 0x3470, 0x4A4C, 0x13B0, 0xC664, 0x4C4B, 0x3C6B, 0x1840,
+0x43C8, 0x3373, 0x1840, 0x4716, 0xC6CC, 0x0A59, 0x490F, 0x503F, 0x23CE,
+0x5039, 0x23CA, 0x490E, 0x1840, 0x93C8, 0x3372, 0x2005, 0x1840, 0x471C,
+0xC6CA, 0x0FC7, 0x3C06, 0x06CC, 0x0FC9, 0x1840, 0x4716, 0xC6CA, 0x0EC7,
+0x1840, 0x481A, 0x336C, 0x903A, 0x0041, 0x2802, 0x407A, 0x0040, 0x93C9,
+0x0000, 0x3444, 0x4A4E, 0x430F, 0x1800, 0x485D, 0x336E, 0x1380, 0x3D56,
+0x4AC9, 0x0000, 0x435E, 0x1840, 0x585E, 0x3372, 0xF35E, 0x1840, 0x4EC8,
+0x3372, 0x4A4A, 0x1840, 0x8A88, 0x336C, 0x1800, 0x5AC8, 0x336E, 0x1840,
+0x4AC8, 0x3374, 0x1840, 0x481A, 0x336C, 0x930A, 0x2424, 0x93C7, 0x0000,
+0x3421, 0x903A, 0x0041, 0x2802, 0x407A, 0x0040, 0x4A4E, 0x430F, 0x1800,
+0x485D, 0x336E, 0x06CC, 0x1380, 0x3D56, 0x4AC7, 0x0000, 0x435E, 0x1840,
+0x585E, 0x3372, 0xF35E, 0x1840, 0x4EC8, 0x3372, 0x4A4A, 0x1840, 0x8A88,
+0x336C, 0x1800, 0x5AC8, 0x336E, 0x1840, 0x4AC8, 0x3374, 0x4B0C, 0x1656,
+0x0110, 0x147B, 0x4C16, 0x0004, 0x4C17, 0x0006, 0xF336, 0xF037, 0x000F,
+0x4C1E, 0x0008, 0x4C1F, 0x000A, 0xF33E, 0xF03F, 0x000F, 0x4604, 0x4705,
+0x5E04, 0x6F05, 0x5034, 0xFFFE, 0x6335, 0x4308, 0x4309, 0x460C, 0x470D,
+0x13B0, 0x8AAC, 0x120A, 0x4CC1, 0x0000, 0x413A, 0x1840, 0x925A, 0xC9BF,
+0x2002, 0x433C, 0x3C7F, 0x1840, 0x925A, 0xC9C2, 0x2404, 0x1840, 0x925A,
+0xC9C1, 0x2008, 0x1840, 0x4218, 0xC862, 0x4309, 0x002C, 0xC81E, 0x13B0,
+0xBF38, 0x1840, 0x925A, 0xC9C3, 0x2404, 0x1840, 0x925A, 0xC9C0, 0x2008,
+0x1840, 0x4218, 0xC862, 0x4309, 0x002C, 0xC822, 0x13B0, 0xBF38, 0x1840,
+0x925A, 0xC9C4, 0x2404, 0x1840, 0x925A, 0xC9C5, 0x2008, 0x1840, 0x4218,
+0xC862, 0x4309, 0x002C, 0xC82A, 0x13B0, 0xBF38, 0x1840, 0x925A, 0xC9C7,
+0x2404, 0x1840, 0x925A, 0xC9C6, 0x200A, 0x1840, 0x4218, 0xC862, 0x4309,
+0x13B0, 0xC34A, 0x002C, 0xC812, 0x13B0, 0xBF38, 0x460A, 0x470B, 0x3C13,
+0x4A0C, 0x4B0D, 0x13B0, 0x8AAC, 0x1840, 0x425E, 0xC9BF, 0x4E4E, 0x430F,
+0x9E0C, 0x2002, 0x9F0D, 0x2404, 0x151B, 0x160C, 0x13B0, 0xBF38, 0x580A,
+0x690B, 0x950B, 0x2BEB, 0x2002, 0x940A, 0x2BE8, 0x460A, 0x470B, 0x3C17,
+0x4A0C, 0x4B0D, 0x13B0, 0x8AAC, 0x1840, 0x425E, 0xC9BF, 0x4E4E, 0x430F,
+0x9E0C, 0x2002, 0x9F0D, 0x2408, 0x480E, 0x490F, 0x531E, 0x630F, 0x151B,
+0x160C, 0x13B0, 0xBC64, 0x580A, 0x690B, 0x950B, 0x2BE7, 0x2002, 0x940A,
+0x2BE4, 0x13B0, 0xC2DA, 0x431C, 0x1674, 0x0110, 0x141B, 0x434A, 0x434B,
+0xB31D, 0x2854, 0x4C1E, 0x0004, 0x4C1F, 0x0006, 0xF33E, 0xF03F, 0x000F,
+0x1840, 0x4E82, 0x3E74, 0x1840, 0x4F82, 0x3E76, 0x4C1E, 0x0008, 0x4C1F,
+0x000A, 0xF33E, 0xF03F, 0x000F, 0x1840, 0x521E, 0x3E74, 0x1840, 0x621F,
+0x3E76, 0x1840, 0x4E82, 0x3E78, 0x1840, 0x4F82, 0x3E7A, 0x0CCA, 0x00AA,
+0x000C, 0x4C6C, 0x4C4C, 0x503C, 0xFFF5, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D,
+0x035D, 0x100C, 0x432E, 0x430F, 0x13B0, 0xC030, 0x151D, 0x160F, 0x0ACB,
+0x0FEB, 0x1840, 0x421C, 0x3E74, 0x1840, 0x421D, 0x3E76, 0x13B0, 0x8AAC,
+0x1840, 0x925C, 0xC9BF, 0x2002, 0x433C, 0x3C58, 0x1840, 0x43A2, 0x3E7C,
+0x1840, 0x4382, 0x3E7E, 0x1840, 0x4292, 0x3E74, 0x3E70, 0x1840, 0x4292,
+0x3E76, 0x3E72, 0x13B0, 0xC34A, 0x3C39, 0x0CCA, 0x00AA, 0x0004, 0x4C6C,
+0x4C4C, 0x503C, 0xFFFD, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D, 0x035D, 0x100C,
+0x432E, 0x430F, 0x13B0, 0xC030, 0x151D, 0x160F, 0x0ACB, 0x0FEB, 0x13B0,
+0xC2DA, 0x3C21, 0x1840, 0x421C, 0x3E70, 0x1840, 0x421D, 0x3E72, 0x13B0,
+0x8AAC, 0x1840, 0x425E, 0xC9BF, 0x4E4E, 0x430F, 0x9E0C, 0x2002, 0x9F0D,
+0x2408, 0x431E, 0x430F, 0x002D, 0x3E70, 0x0ACC, 0x13B0, 0xB970, 0x03EA,
+0x1840, 0x5292, 0x3E7C, 0x3E70, 0x1840, 0x6292, 0x3E7E, 0x3E72, 0x1840,
+0x9292, 0x3E7A, 0x3E72, 0x2806, 0x2007, 0x1840, 0x9292, 0x3E78, 0x3E70,
+0x2C02, 0x0BDA, 0x2BD2, 0x430C, 0x161A, 0x0110, 0x147B, 0x8031, 0x0032,
+0x434A, 0x13B0, 0xC548, 0x13B0, 0xC47A, 0x930C, 0x241A, 0x410C, 0x503C,
+0x0014, 0x13B0, 0xBCE6, 0x410C, 0x503C, 0x000A, 0x13B0, 0xBCE6, 0x410C,
+0x530C, 0x13B0, 0xBCE6, 0x013E, 0x0016, 0x411D, 0x000A, 0x415C, 0x0006,
+0x13B0, 0xB606, 0x13B0, 0xC232, 0x13B0, 0xC548, 0x4349, 0x3C51, 0x494F,
+0x0FEF, 0x0FCB, 0x064F, 0x0BEF, 0x0FCB, 0x1840, 0x93CF, 0x31B7, 0x2446,
+0x1840, 0x4B1F, 0x31AE, 0x0027, 0x31D6, 0x971F, 0x0008, 0x2C3E, 0x0027,
+0x3E6A, 0x0FEF, 0x0FCE, 0x0FEF, 0x0EEF, 0x0FE7, 0x0737, 0x0002, 0x03D7,
+0x2433, 0x0088, 0x310A, 0x1840, 0x4B5D, 0x31B6, 0x1840, 0x4B5C, 0x31B5,
+0x080F, 0x134F, 0x930C, 0x3827, 0x1800, 0x4B5C, 0x31B0, 0x4106, 0x5036,
+0x001E, 0x1406, 0x430F, 0x435E, 0x4C6D, 0x503D, 0xFFFD, 0x00AC, 0x0006,
+0x0834, 0x001C, 0x1344, 0x403C, 0x0003, 0x1347, 0x5221, 0x931C, 0x200C,
+0x083F, 0x0004, 0x134F, 0x1840, 0xB3DB, 0x31B4, 0x2805, 0x1840, 0x4B5C,
+0x31B5, 0x13B0, 0xA6A4, 0x06CC, 0x083F, 0x0020, 0x134F, 0x5359, 0x9269,
+0x2BAD, 0x4A0B, 0x1840, 0xB3DB, 0x33F5, 0x281A, 0x403D, 0x0014, 0x434C,
+0x13B0, 0xBC36, 0x4A4D, 0x008C, 0x33B8, 0x1380, 0x3122, 0x1840, 0x4AC2,
+0x3EA3, 0x064B, 0x1800, 0x4B5C, 0x33B8, 0x13B0, 0x8434, 0x1840, 0x425A,
+0x3EA3, 0x1840, 0xC3DA, 0x33F5, 0x3C06, 0x535A, 0x926A, 0x2801, 0x434A,
+0x934A, 0x23DB, 0x5031, 0x0032, 0x1674, 0x0110, 0x143B, 0x40B2, 0x9628,
+0x0900, 0x1840, 0x43C2, 0x3EA1, 0x1840, 0x43C2, 0x3EA0, 0x1840, 0x43C2,
+0x3EA2, 0x1840, 0x43C2, 0x3E8C, 0x1840, 0x43C2, 0x3E8D, 0x43C2, 0x093C,
+0x1840, 0x43B2, 0x3D78, 0x1840, 0x43B2, 0x3D7A, 0x1840, 0x43C2, 0x3E9F,
+0x43C2, 0x093F, 0x407D, 0x0080, 0x4DC2, 0x0921, 0x4DC2, 0x0923, 0x40F2,
+0x008C, 0x0920, 0x40F2, 0x008C, 0x0922, 0x40F2, 0x0015, 0x092F, 0x40F2,
+0x001F, 0x092E, 0x430F, 0x3C55, 0x4F0C, 0xE03C, 0x8000, 0x0E4C, 0x08AC,
+0x0000, 0x1840, 0x4C5B, 0xC6C0, 0x0A5B, 0x40FB, 0x0094, 0x23C8, 0x4038,
+0xE400, 0x480E, 0x1840, 0x5C1E, 0xC6CA, 0x0B5E, 0x4ECB, 0x23C9, 0x480E,
+0x1840, 0x5C1E, 0xC6CC, 0x0B5E, 0x4ECB, 0x23CD, 0x4DCB, 0x23CA, 0x4DCB,
+0x23CE, 0x4ACB, 0x23CF, 0x40FB, 0x0094, 0x2388, 0x480E, 0x1840, 0x5C1E,
+0xC6C6, 0x0B5E, 0x4ECB, 0x2389, 0x480E, 0x1840, 0x5C1E, 0xC6C8, 0x0B5E,
+0x4ECB, 0x238D, 0x43CB, 0x238A, 0x43CB, 0x238E, 0x4ACB, 0x238F, 0x1840,
+0x93EC, 0xC6C1, 0x2016, 0x40FB, 0x0094, 0x23C0, 0x480E, 0x1840, 0x5C1E,
+0xC6C2, 0x0B5E, 0x4ECB, 0x23C1, 0x1840, 0x5C18, 0xC6C4, 0x0B58, 0x48CB,
+0x23C5, 0x4DCB, 0x23C2, 0x4DCB, 0x23C6, 0x4ACB, 0x23C7, 0x531F, 0x407A,
+0x0040, 0x932F, 0x3BA7, 0x13B0, 0xB6F6, 0x4AC2, 0x093C, 0x43C2, 0x093E,
+0x40F2, 0x00C4, 0x093D, 0x40B2, 0x9600, 0x0900, 0x434C, 0x1638, 0x0110,
+0x145B, 0x4C4A, 0x434B, 0x4A0C, 0x430D, 0x4A0E, 0x430F, 0x5E0E, 0x5E0E,
+0x5E0E, 0x5E0E, 0x151F, 0x1609, 0x1840, 0x4956, 0xC6C0, 0x403E, 0x001A,
+0x13B0, 0xC030, 0x151D, 0x1608, 0x1840, 0x9388, 0x338C, 0x2005, 0x1800,
+0x43C8, 0x3382, 0x430C, 0x3C77, 0x0A56, 0x465E, 0x238A, 0xD65E, 0x238E,
+0xB07E, 0x0080, 0x246E, 0x1840, 0x491E, 0xC6C8, 0x460F, 0x503F, 0x238E,
+0x5036, 0x238A, 0x1840, 0x93C8, 0x339B, 0x200D, 0x1840, 0x491C, 0xC6C6,
+0x1800, 0x46C8, 0x338E, 0x1800, 0x4EC8, 0x3396, 0x1800, 0x4FC8, 0x3392,
+0x3C0D, 0x0ECC, 0x1800, 0x4FC8, 0x338E, 0x1840, 0x491F, 0xC6C6, 0x1800,
+0x4FC8, 0x3396, 0x1800, 0x46C8, 0x3392, 0x1800, 0x485F, 0x338E, 0x4F6E,
+0x934E, 0x3425, 0xF07E, 0x007F, 0x1840, 0x4EC8, 0x339A, 0x4A4E, 0x1800,
+0x485D, 0x338E, 0x13B0, 0xAC5E, 0x08C9, 0x00A9, 0x3392, 0x090F, 0x4F6E,
+0x1840, 0x9388, 0x338C, 0x2411, 0x934E, 0x340F, 0xF07E, 0x007F, 0x1840,
+0x4EC8, 0x339A, 0x4A4E, 0x090D, 0x1800, 0x485C, 0x3396, 0x13B0, 0xAC5E,
+0x1800, 0x49E8, 0x338E, 0x1840, 0x9388, 0x338C, 0x2019, 0x1800, 0x43C8,
+0x3382, 0x1840, 0xB0B2, 0x0100, 0x3D84, 0x2804, 0x4A4C, 0x13B0, 0xC69C,
+0x4C4B, 0x1840, 0x93C8, 0x339A, 0x2409, 0x1840, 0xB0B2, 0x0040, 0x3D84,
+0x2804, 0x4A4C, 0x13B0, 0xBEF0, 0xDC4B, 0x4B0C, 0x1656, 0x0110, 0x140A,
+0x433A, 0x4C5E, 0x0004, 0x934E, 0x2015, 0x13B0, 0xB55E, 0x13B0, 0xC60E,
+0x1380, 0x3DD2, 0x13B0, 0x9332, 0x13B0, 0xB152, 0x430C, 0x13B0, 0xBA4A,
+0x434C, 0x13B0, 0xBFC8, 0x435C, 0x13B0, 0xBF14, 0x431A, 0x3C69, 0x935E,
+0x2012, 0x13B0, 0xB7CE, 0x13B0, 0xC31E, 0x13B0, 0xC2C2, 0x1380, 0x3DCA,
+0x13B0, 0xAE58, 0x13B0, 0xB84E, 0x403C, 0x001E, 0x13B0, 0xBA4A, 0x431A,
+0x3C55, 0x936E, 0x200E, 0x13B0, 0xB7CE, 0x13B0, 0xC2C2, 0x1380, 0x3DCA,
+0x13B0, 0xB84E, 0x403C, 0x001E, 0x13B0, 0xBA4A, 0x431A, 0x3C45, 0x907E,
+0x0003, 0x2018, 0x13B0, 0xB7CE, 0x13B0, 0xC31E, 0x13B0, 0xC2C2, 0x1380,
+0x3DCA, 0x13B0, 0xAE58, 0x13B0, 0xB84E, 0x13B0, 0xC51E, 0x403C, 0x0005,
+0x13B0, 0xBA4A, 0x13B0, 0xBAE4, 0x930C, 0x202C, 0x431A, 0x3C2A, 0x926E,
+0x200C, 0x13B0, 0xB7CE, 0x13B0, 0xC606, 0x13B0, 0xC51E, 0x403C, 0x001E,
+0x13B0, 0xBA4A, 0x431A, 0x3C1C, 0x907E, 0x0005, 0x2019, 0x13B0, 0xC52C,
+0x434C, 0x13B0, 0xBFC8, 0x435C, 0x13B0, 0xBF14, 0x403F, 0x967E, 0x403E,
+0x0098, 0x533F, 0x633E, 0x2FFD, 0x13B0, 0xC5F6, 0x403F, 0x967E, 0x403E,
+0x0098, 0x533F, 0x633E, 0x2FFD, 0x431A, 0x4A0C, 0x160A, 0x0110, 0x147B,
+0x0CC9, 0x4307, 0x008A, 0x33FA, 0x0A3F, 0x0110, 0x03DF, 0x205F, 0x4D0B,
+0x4A6F, 0x0FEF, 0x1840, 0x4F18, 0x3402, 0x480C, 0x531C, 0x4806, 0x5B06,
+0x9036, 0x00FF, 0x283D, 0x4A6F, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x4F57,
+0x0001, 0x4A6F, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x4F54, 0x0002, 0x4A6F,
+0x064F, 0x1800, 0x4F5F, 0x3506, 0xD0FF, 0x0080, 0x0002, 0x4376, 0x8806,
+0x460E, 0x430F, 0x1409, 0x4A6D, 0x064D, 0x1800, 0x4D55, 0x3506, 0x4C0D,
+0x05CC, 0x0DEC, 0x160D, 0x13B0, 0xC116, 0x4A6F, 0x0FEF, 0x1840, 0x40BF,
+0x00FF, 0x3402, 0x403D, 0x0014, 0x434C, 0x13B0, 0xBC36, 0x13B0, 0x91A0,
+0x474D, 0x444C, 0x13B0, 0xAAC2, 0x4C07, 0x5038, 0xFF01, 0x580B, 0x06E9,
+0x3C12, 0x4B0E, 0x430F, 0x09CD, 0x4A6B, 0x064B, 0x1800, 0x4B5B, 0x3506,
+0x0CEB, 0x0BCC, 0x13B0, 0xC116, 0x4A6F, 0x0FEF, 0x1840, 0x468F, 0x3402,
+0x430B, 0x930B, 0x23A3, 0x3C19, 0x0A3F, 0x0110, 0x009F, 0xFFFF, 0x2414,
+0x430B, 0x3C0C, 0x0CCE, 0x0BEE, 0x0A38, 0x0110, 0x4A1F, 0x0116, 0x0FE8,
+0x4EE8, 0x0000, 0x531B, 0x539A, 0x0116, 0x9D0B, 0x2C04, 0x9A9A, 0x0114,
+0x0116, 0x2BEE, 0x470C, 0x1674, 0x0110, 0x143B, 0x430F, 0x3C01, 0x531F,
+0x922F, 0x2C0F, 0x4F0A, 0x0AEA, 0x0ACE, 0x064A, 0x0EEA, 0x1840, 0x9C9A,
+0x0004, 0x31AE, 0x23F3, 0x1840, 0x9CDA, 0x0002, 0x31B5, 0x23EE, 0x430F,
+0x3C01, 0x531F, 0x922F, 0x2C09, 0x4F0E, 0x0EEE, 0x0ECA, 0x064E, 0x0AEE,
+0x1840, 0x93BE, 0x31AE, 0x23F4, 0x922F, 0x2C56, 0x4F0E, 0x0EEE, 0x0ECA,
+0x064E, 0x0AEE, 0x0ECA, 0x4C6E, 0x907E, 0x0006, 0x2831, 0x535E, 0x064F,
+0x0FCB, 0x0A4F, 0x0FEB, 0x0FEF, 0x0BEF, 0x00AF, 0x3EA4, 0x1800, 0x4FCA,
+0x31B0, 0x430F, 0x3C09, 0x0CCB, 0x0FEB, 0x1800, 0x4A58, 0x31B0, 0x0FE8,
+0x4BE8, 0x0000, 0x531F, 0x9E0F, 0x2BF5, 0xF35D, 0x1840, 0x4DCA, 0x31B4,
+0x4C5E, 0x0002, 0xD07E, 0x0040, 0x1840, 0x4ECA, 0x31B5, 0x1840, 0x40FA,
+0x0093, 0x31B6, 0x1840, 0x4C9A, 0x0004, 0x31AE, 0x1840, 0x43DA, 0x31B7,
+0x431C, 0x3C1D, 0x1800, 0x43CA, 0x31B0, 0xF35D, 0x1840, 0x4DCA, 0x31B4,
+0x4C5E, 0x0002, 0xD07E, 0x0040, 0x1840, 0x4ECA, 0x31B5, 0x1840, 0x40FA,
+0x0093, 0x31B6, 0x1840, 0x4C9A, 0x0004, 0x31AE, 0x1840, 0x43DA, 0x31B7,
+0x431C, 0x3C02, 0x403C, 0xFFFD, 0x1638, 0x0110, 0x141B, 0x8321, 0x008A,
+0x33FA, 0x0ACB, 0x00AB, 0x0001, 0x4B6E, 0x4B6F, 0x1840, 0xB3DF, 0x3400,
+0x2C0B, 0x53DA, 0x0001, 0x93CA, 0x0001, 0x2402, 0x43CA, 0x0001, 0x9ECA,
+0x0001, 0x23F1, 0x3C57, 0x4B6E, 0x0EEE, 0x4B6F, 0x0FEF, 0x1840, 0x9F9E,
+0x3402, 0x33FC, 0x2C4E, 0x1203, 0x1230, 0x000A, 0x434E, 0x4B6F, 0x0FEF,
+0x1840, 0x4F1D, 0x3402, 0x4B6F, 0x064F, 0x1800, 0x4F5C, 0x3506, 0x13B0,
+0xB07E, 0x5221, 0x934C, 0x2405, 0x434D, 0x410C, 0x530C, 0x13B0, 0xB508,
+0x4B6F, 0x1840, 0xC3DF, 0x3400, 0x4B6F, 0x0FEF, 0x1840, 0x438F, 0x33FC,
+0x4B6E, 0x4B6F, 0x1840, 0xB3EF, 0x3400, 0x2C03, 0x1840, 0x4382, 0x3516,
+0x53DA, 0x0001, 0x93CA, 0x0001, 0x2402, 0x43CA, 0x0001, 0x4B6F, 0x1840,
+0xB3DF, 0x3400, 0x2810, 0x4B6F, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x4F6D,
+0x4B6F, 0x0FEF, 0x1840, 0x9F1D, 0x33FC, 0x2804, 0x1840, 0x40B2, 0x0032,
+0x3516, 0x4B6F, 0x1840, 0xB3DF, 0x3400, 0x2C03, 0x9ECA, 0x0001, 0x23DC,
+0x5321, 0x161A, 0x0110, 0x140A, 0x430F, 0x420E, 0xF03E, 0x0040, 0xC032,
+0x0040, 0x403A, 0x1000, 0x903C, 0x3E81, 0x2803, 0x035D, 0x431F, 0x3C05,
+0x5C0C, 0x3C03, 0x503A, 0x1000, 0x035D, 0x903D, 0x0201, 0x2FFA, 0x4382,
+0x0160, 0xF0B2, 0xFC00, 0x0164, 0x533D, 0xDD0A, 0x4A82, 0x0164, 0x903C,
+0x0277, 0x2C03, 0x4382, 0x0162, 0x3C31, 0x903C, 0x04E2, 0x2C04, 0x40B2,
+0x0010, 0x0162, 0x3C2A, 0x903C, 0x09C4, 0x2C04, 0x40B2, 0x0020, 0x0162,
+0x3C23, 0x903C, 0x1388, 0x2C04, 0x40B2, 0x0030, 0x0162, 0x3C1C, 0x903C,
+0x2710, 0x2C04, 0x40B2, 0x0040, 0x0162, 0x3C15, 0x903C, 0x4E20, 0x2C04,
+0x40B2, 0x0050, 0x0162, 0x3C0E, 0x903C, 0x9C40, 0x7D0D, 0x0E5D, 0x503D,
+0x0070, 0x4D82, 0x0162, 0x3C05, 0xF0B2, 0xFFF0, 0x016E, 0xC3A2, 0x0102,
+0xB3A2, 0x0102, 0x2FF8, 0x931F, 0x421F, 0x0168, 0x2007, 0xF03F, 0xFF88,
+0xD03F, 0x0033, 0x4F82, 0x0168, 0x3C06, 0xF03F, 0xFF88, 0xD03F, 0x0044,
+0x4F82, 0x0168, 0xDE02, 0x160A, 0x0110, 0x141B, 0x8031, 0x0006, 0x1800,
+0x43C1, 0x0002, 0x008B, 0x4034, 0x40FB, 0x0003, 0x0001, 0x436A, 0x410F,
+0x532F, 0x410E, 0x530E, 0x434D, 0x427C, 0x13B0, 0xB340, 0x93C1, 0x0000,
+0x2007, 0x42EB, 0x0000, 0x43CB, 0x0002, 0x43CB, 0x0003, 0x3C4A, 0x434E,
+0x3C11, 0x507D, 0x0037, 0x1840, 0x4DCA, 0x4034, 0x4F4A, 0x1840, 0x43CF,
+0x4034, 0x535A, 0x535E, 0x013F, 0x0002, 0x00AF, 0x0001, 0x0F71, 0x0002,
+0x916E, 0x2C30, 0x927E, 0x2C2E, 0x013F, 0x0002, 0x4F6D, 0x1943, 0x104D,
+0x4A4C, 0x535C, 0x4A4F, 0x907D, 0x000A, 0x2C07, 0x507D, 0x0030, 0x1840,
+0x4DCF, 0x4034, 0x4C4A, 0x3C06, 0x507D, 0x0037, 0x1840, 0x4DCF, 0x4034,
+0x4C4A, 0x4A4F, 0x1840, 0x43CF, 0x4034, 0x535A, 0x013F, 0x0002, 0x407D,
+0x000F, 0xFF6D, 0x4A4F, 0x535F, 0x907D, 0x000A, 0x2FC4, 0x507D, 0x0030,
+0x1840, 0x4DCA, 0x4034, 0x4F4A, 0x3FC3, 0x1841, 0x5E4E, 0x536E, 0x4ECB,
+0x0000, 0x5031, 0x0006, 0x161A, 0x0110, 0x145B, 0x8031, 0x0012, 0x0CC8,
+0x008A, 0x310A, 0x407D, 0x0093, 0x485C, 0x0002, 0x0A0F, 0x134F, 0x4819,
+0x0004, 0x410C, 0x523C, 0x403E, 0x0005, 0x13B0, 0xC388, 0x430E, 0x403D,
+0x0006, 0x3C07, 0x4E0F, 0x5F0F, 0x5F0B, 0x468B, 0x0000, 0x531E, 0x532D,
+0x4D0F, 0xE03F, 0x8000, 0x08EF, 0x1FC0, 0x4F16, 0x8000, 0x410B, 0x523B,
+0x990E, 0x2BEE, 0x460E, 0x490D, 0x4B0C, 0x1380, 0x3DC6, 0x930C, 0x2025,
+0x4308, 0x3C1D, 0x410F, 0x530F, 0x140F, 0x522F, 0x490E, 0x480C, 0x5C0C,
+0x4B0D, 0x5C0D, 0x4D2D, 0x460C, 0x1380, 0x3DD6, 0x411C, 0x0008, 0x411D,
+0x000A, 0x0A3F, 0x0014, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006, 0x0A3F,
+0x0014, 0x134F, 0x5318, 0x5221, 0x9908, 0x2BE1, 0x0A3F, 0x0004, 0x134F,
+0x3C0F, 0x403C, 0xDEAD, 0x430D, 0x0A3F, 0x0014, 0x134F, 0x403C, 0xBABE,
+0x430D, 0x0A3F, 0x0014, 0x134F, 0x0A3F, 0x0004, 0x134F, 0x403C, 0x8000,
+0x5031, 0x0012, 0x1656, 0x0110, 0x141B, 0x40F2, 0x00A5, 0x0121, 0x421F,
+0x012E, 0xF0B2, 0xCC88, 0x012E, 0x421E, 0x0124, 0x421D, 0x0126, 0x4382,
+0x012C, 0x4C4A, 0x4A0B, 0xD03B, 0x4400, 0x4B82, 0x0124, 0xB0B2, 0x0010,
+0x012C, 0x2BFC, 0xC0B2, 0x0010, 0x012C, 0xB0B2, 0x0020, 0x012C, 0x2812,
+0xC0B2, 0x0010, 0x012C, 0x4E82, 0x0124, 0xB0B2, 0x0010, 0x012C, 0x2BFC,
+0xF0B2, 0xFF88, 0x012C, 0x4F82, 0x012E, 0x43C2, 0x0121, 0x431C, 0x3C34,
+0x4A0B, 0x108B, 0xDB82, 0x0124, 0xB0B2, 0x0010, 0x012C, 0x2BFC, 0xC0B2,
+0x0010, 0x012C, 0x4CC2, 0x0120, 0xDB0A, 0xD03A, 0x4400, 0x4A82, 0x0126,
+0xB392, 0x012C, 0x2BFD, 0xC392, 0x012C, 0xF0B2, 0x0307, 0x0126, 0xF03D,
+0xFCF8, 0xDD82, 0x0126, 0xF0B2, 0x0307, 0x0124, 0xF03E, 0xFCF8, 0xDE82,
+0x0124, 0xB392, 0x012C, 0x2C04, 0xB0B2, 0x0010, 0x012C, 0x2BF9, 0xF0B2,
+0xFF88, 0x012C, 0x4F82, 0x012E, 0x43C2, 0x0121, 0x430C, 0x161A, 0x0110,
+0x147B, 0x0DC7, 0x0EC6, 0x4348, 0x438D, 0x0000, 0x438E, 0x0000, 0x4C4A,
+0x430B, 0x151B, 0x160F, 0x0E4F, 0x1840, 0x4F59, 0xC6C0, 0x494C, 0x13B0,
+0xC292, 0x4C05, 0x494C, 0x13B0, 0xC24A, 0x4C04, 0x4A0C, 0x430D, 0x403E,
+0x000C, 0x430F, 0x13B0, 0xC030, 0x151D, 0x160F, 0x1840, 0x938F, 0x336C,
+0x2409, 0x4358, 0x1840, 0x4F1E, 0x336A, 0x1840, 0x8F1E, 0x336C, 0x4E87,
+0x0000, 0x4A0C, 0x430D, 0x403E, 0x001A, 0x430F, 0x13B0, 0xC030, 0x151D,
+0x160F, 0x1800, 0x4F5B, 0x3382, 0x03DB, 0x240A, 0xD368, 0x1840, 0x4F1B,
+0x338A, 0x1840, 0x8F1B, 0x338C, 0x4B86, 0x0000, 0x3C0D, 0x1840, 0x93C2,
+0x3EA0, 0x2009, 0x0A59, 0x495E, 0x238A, 0xD95E, 0x238E, 0xB07E, 0x0080,
+0x2401, 0xD268, 0x1840, 0x93C2, 0x3EA0, 0x2004, 0x1840, 0x93D2, 0x3EA1,
+0x2401, 0x4278, 0x450C, 0x13B0, 0xC622, 0x440C, 0x13B0, 0xC628, 0x4303,
+0x484C, 0x1674, 0x0110, 0x145B, 0x03DC, 0x245C, 0x00BC, 0x0004, 0x0CCA,
+0x4C2E, 0x4C1F, 0x0002, 0x930F, 0x2002, 0x923E, 0x2852, 0xB31E, 0x2C50,
+0x008B, 0x3E80, 0x0B36, 0x0004, 0x03D6, 0x2409, 0x140C, 0x171C, 0x1406,
+0x1718, 0x990D, 0x2803, 0x2008, 0x980C, 0x2C06, 0x067A, 0x0004, 0x0A7B,
+0x0004, 0x3C27, 0x07C6, 0x0637, 0x0004, 0x03D7, 0x2407, 0x1407, 0x1718,
+0x9D09, 0x2BF7, 0x2002, 0x9C08, 0x2BF4, 0x060D, 0x06C7, 0x0DE7, 0x07DA,
+0x282B, 0x0AD7, 0x2006, 0x5E86, 0x0000, 0x6F86, 0x0002, 0x06CA, 0x3C0E,
+0x0637, 0x0004, 0x03D7, 0x2406, 0x151F, 0x160E, 0x0ACF, 0x0EEF, 0x0FD7,
+0x2819, 0x077A, 0x0004, 0x0A76, 0x0004, 0x0A3F, 0x0004, 0x03DF, 0x2411,
+0x0A07, 0x0ACE, 0x07EE, 0x0FDE, 0x200C, 0x1800, 0x43CB, 0x0000, 0x5FAA,
+0x0000, 0x6F9A, 0x0002, 0x0002, 0x1800, 0x4FDA, 0x0004, 0x0004, 0x1656,
+0x0110, 0x141B, 0x008F, 0x3100, 0x53BF, 0x0000, 0x2005, 0x13B0, 0xC616,
+0x40BF, 0x03E8, 0x0000, 0x1840, 0x9382, 0x32E0, 0x2447, 0x008A, 0x3358,
+0x4A2F, 0x4F0B, 0x531B, 0x4B8A, 0x0000, 0x008B, 0x3356, 0x903F, 0x0033,
+0x3403, 0x938B, 0x0000, 0x2419, 0x1380, 0x3336, 0x13B0, 0xC616, 0x438A,
+0x0000, 0x930C, 0x2411, 0x938B, 0x0000, 0x2004, 0x403C, 0x0005, 0x13B0,
+0xB280, 0x439B, 0x0000, 0x435C, 0x13B0, 0xBFC8, 0x434C, 0x13B0, 0xBF14,
+0x430C, 0x3C20, 0xB0F2, 0x0010, 0x0261, 0x435C, 0x2810, 0x13B0, 0xBFC8,
+0x434C, 0x13B0, 0xBF14, 0x938B, 0x0000, 0x2004, 0x403C, 0x0005, 0x13B0,
+0xB280, 0x439B, 0x0000, 0x430C, 0x3C0B, 0x13B0, 0xBF14, 0x938B, 0x0000,
+0x2405, 0x438B, 0x0000, 0x434C, 0x13B0, 0xBFC8, 0x430C, 0x161A, 0x0110,
+0x40B2, 0x5A80, 0x015C, 0x13B0, 0xC262, 0x930C, 0x2002, 0x4382, 0x015C,
+0x13B0, 0xA746, 0x13B0, 0xB0E8, 0x434C, 0x13B0, 0xBFC8, 0x435C, 0x13B0,
+0xBF14, 0x13B0, 0xB21E, 0x403C, 0x007E, 0x13B0, 0xC5BC, 0x13B0, 0xBAB2,
+0xB35C, 0x282D, 0x13B0, 0xACDE, 0x934C, 0x2022, 0x13B0, 0x99FE, 0x13B0,
+0xC184, 0x13B0, 0xB4B2, 0x13B0, 0xB39E, 0x13B0, 0xAE58, 0x13B0, 0xB84E,
+0x13B0, 0xB55E, 0x13B0, 0x9332, 0x13B0, 0xB152, 0x13B0, 0xC5F6, 0xD232,
+0x9382, 0x4A00, 0x2018, 0xC0F2, 0x0020, 0x0282, 0x13B0, 0xC616, 0x1380,
+0x3106, 0x1380, 0x3102, 0x3FFB, 0x435C, 0x13B0, 0xBFC8, 0x434C, 0x13B0,
+0xBF14, 0x3FFF, 0x435C, 0x13B0, 0xBFC8, 0x434C, 0x13B0, 0xBF14, 0x3FFF,
+0xD0F2, 0x0020, 0x0282, 0x3FE7, 0x4303, 0x141B, 0x934C, 0x2026, 0x430C,
+0x430E, 0x922E, 0x2C48, 0x4E0F, 0x0FEF, 0x0FCD, 0x064F, 0x0DEF, 0x0FCD,
+0x1840, 0x4D1F, 0x31AE, 0x933F, 0x2415, 0x002A, 0x3E6A, 0x0FEF, 0x0FCB,
+0x0FEF, 0x0BEF, 0x0AEF, 0x90BF, 0xFF00, 0x0000, 0x2C0A, 0x1800, 0x43CD,
+0x31B0, 0x1840, 0x43BD, 0x31AE, 0x1840, 0x43CD, 0x31B7, 0x531C, 0x531E,
+0x3FDC, 0x430E, 0x3C01, 0x531E, 0x922E, 0x2C09, 0x4E0F, 0x0FEF, 0x0FCB,
+0x064F, 0x0BEF, 0x1840, 0x9CCF, 0x31B5, 0x23F4, 0x922E, 0x2C15, 0x0EEE,
+0x0ECF, 0x064E, 0x0FEE, 0x0ECA, 0x1800, 0x4E5C, 0x31B0, 0x03DC, 0x2402,
+0x13B0, 0xC690, 0x1800, 0x43CA, 0x31B0, 0x1840, 0x43BA, 0x31AE, 0x1840,
+0x43CA, 0x31B7, 0x431C, 0x161A, 0x0110, 0x43C2, 0x0204, 0x43C2, 0x0205,
+0x43C2, 0x0224, 0x43C2, 0x0225, 0x43C2, 0x0244, 0x43C2, 0x0245, 0x43C2,
+0x0264, 0x43C2, 0x0265, 0x43C2, 0x0284, 0x43C2, 0x020A, 0x43C2, 0x020B,
+0x43C2, 0x022A, 0x43C2, 0x022B, 0x43C2, 0x024A, 0x43C2, 0x024B, 0x43C2,
+0x026A, 0x43C2, 0x026B, 0x43C2, 0x028A, 0x43C2, 0x0202, 0x43C2, 0x0203,
+0x43C2, 0x0222, 0x43C2, 0x0223, 0x43C2, 0x0242, 0x43C2, 0x0243, 0x43C2,
+0x0262, 0x43C2, 0x0263, 0x43C2, 0x0282, 0xD0F2, 0x00B8, 0x0244, 0x40F2,
+0x0020, 0x0242, 0xC0F2, 0x0080, 0x0242, 0xD0F2, 0x0080, 0x0245, 0xD0F2,
+0x0003, 0x0264, 0xD0F2, 0x00C0, 0x026A, 0xD2F2, 0x0265, 0xD0F2, 0x0081,
+0x0265, 0x0110, 0x141B, 0x4E0A, 0x4F0B, 0x936C, 0x2044, 0x903E, 0x2581,
+0x2002, 0x930F, 0x2426, 0x903E, 0x86A0, 0x2002, 0x931F, 0x2421, 0x903E,
+0x1A80, 0x2003, 0x903F, 0x0006, 0x241B, 0x903E, 0x86A1, 0x2002, 0x931F,
+0x2416, 0x903E, 0x1A81, 0x2003, 0x903F, 0x0006, 0x2410, 0x903E, 0x86A2,
+0x2002, 0x931F, 0x240B, 0x903E, 0x1A82, 0x2003, 0x903F, 0x0006, 0x2405,
+0x903E, 0x2582, 0x2005, 0x930F, 0x2003, 0x13B0, 0xBF80, 0x3C0A, 0x903E,
+0x1F41, 0x2005, 0x930F, 0x2003, 0x13B0, 0xBF5C, 0x3C02, 0x13B0, 0xC19E,
+0x13B0, 0xC60E, 0x120C, 0x403E, 0xB180, 0x403F, 0x014F, 0x4A0C, 0x4B0D,
+0x13B0, 0xC444, 0x5321, 0x434C, 0x161A, 0x0110, 0x145B, 0x0CC6, 0x4D08,
+0x4E4E, 0x4E0A, 0x430B, 0x151B, 0x160F, 0x0E4F, 0x1840, 0x4F59, 0xC6C0,
+0x930D, 0x2003, 0x407C, 0x0007, 0x3C38, 0x494C, 0x13B0, 0xC292, 0x4C07,
+0x1840, 0x93C2, 0x3EA0, 0x2004, 0x1840, 0x93D2, 0x3EA1, 0x2404, 0x13B0,
+0xC622, 0x427C, 0x3C28, 0x4A0C, 0x430D, 0x403E, 0x000C, 0x430F, 0x13B0,
+0xC030, 0x151D, 0x160F, 0x1840, 0x938F, 0x336C, 0x2406, 0x470C, 0x13B0,
+0xC622, 0x407C, 0x0003, 0x3C15, 0x1840, 0x488F, 0x336A, 0x1840, 0x488F,
+0x336C, 0x1800, 0x46CF, 0x336E, 0x431F, 0x5359, 0x8359, 0x3002, 0x18C9,
+0x5F0F, 0xDFC2, 0x0930, 0x470C, 0x13B0, 0xC622, 0x435C, 0x1656, 0x0110,
+0x145B, 0x434A, 0x4C48, 0x4309, 0x1519, 0x160F, 0x0E4F, 0x1840, 0x4F5B,
+0xC6C0, 0x4B4C, 0x13B0, 0xC24A, 0x4C06, 0x1840, 0x93C2, 0x3EA0, 0x2004,
+0x1840, 0x93D2, 0x3EA1, 0x2404, 0x13B0, 0xC628, 0x434C, 0x3C2E, 0x480C,
+0x430D, 0x403E, 0x001A, 0x430F, 0x13B0, 0xC030, 0x151D, 0x160F, 0x1840,
+0x4F5E, 0x339A, 0x934E, 0x240C, 0x4E4A, 0x1800, 0x4F5F, 0x3392, 0x93CF,
+0x0000, 0x3415, 0x407E, 0x007F, 0xFF6E, 0x5E4A, 0x3C10, 0x0A5B, 0x93CB,
+0x238A, 0x3404, 0x4B5A, 0x238A, 0xF07A, 0x007F, 0x93CB, 0x238E, 0x3405,
+0x4B5E, 0x238E, 0xF07E, 0x007F, 0x5E4A, 0x460C, 0x13B0, 0xC628, 0x4A4C,
+0x1656, 0x0110, 0x143B, 0x434C, 0x008F, 0xC6DE, 0x3C02, 0x00AF, 0x0006,
+0x4F7E, 0x4F7D, 0x937E, 0x2002, 0x937D, 0x2408, 0x425A, 0x2380, 0x907A,
+0x00C0, 0x2403, 0x907A, 0x0040, 0x2011, 0x03FF, 0xB3D2, 0x093E, 0x2C0B,
+0x0F3A, 0x000A, 0x134A, 0x009A, 0xC0D8, 0x2005, 0x93C2, 0x093F, 0x2402,
+0x13B0, 0xC660, 0x1638, 0x0110, 0x9A4E, 0x201C, 0x925D, 0x2381, 0x2019,
+0x407E, 0x00C0, 0x407D, 0x0020, 0x436A, 0x3C09, 0x4A48, 0x9BC8, 0x2380,
+0x2001, 0xDD4E, 0x00AF, 0x0001, 0x035D, 0x535A, 0x4F6B, 0x927A, 0x2BF4,
+0x4B4D, 0xFE4D, 0x9B4D, 0x23C4, 0x00BF, 0x0008, 0x3FD2, 0x00AF, 0x000C,
+0x3FC0, 0x4303, 0x425E, 0x2384, 0xF07E, 0x000F, 0x243E, 0x537E, 0x907E,
+0x0007, 0x2C3C, 0x4E4F, 0x0A5F, 0x93C2, 0x2384, 0x341B, 0xF0FF, 0x00D7,
+0x23C8, 0x434C, 0x3C01, 0x535C, 0x936C, 0x2C2D, 0x430D, 0x151D, 0x160F,
+0x0E4F, 0x1840, 0x9ECF, 0xC6C0, 0x23F5, 0x403E, 0x001A, 0x430F, 0x13B0,
+0xC030, 0x151D, 0x160F, 0x1840, 0x43CF, 0x339B, 0x3C1A, 0xF0FF, 0x00D7,
+0x2388, 0x434C, 0x3C01, 0x535C, 0x936C, 0x2C12, 0x430D, 0x151D, 0x160F,
+0x0E4F, 0x1840, 0x9ECF, 0xC6C0, 0x23F5, 0x403E, 0x000C, 0x430F, 0x13B0,
+0xC030, 0x151D, 0x160F, 0x1840, 0x43CF, 0x3372, 0x13B0, 0xC40E, 0x434C,
+0x0110, 0x008E, 0x33FA, 0x4E6F, 0x1840, 0x4F5F, 0x3400, 0xB07F, 0x000B,
+0x2404, 0x1840, 0x93A2, 0x3516, 0x2FF3, 0x4E6F, 0x1840, 0x4F5F, 0x3400,
+0xB07F, 0x000B, 0x2408, 0x907D, 0x0095, 0x2405, 0x13B0, 0xC648, 0x403C,
+0x8007, 0x0110, 0x4E6F, 0x1840, 0x4F5F, 0x3400, 0xB07F, 0x000B, 0x2406,
+0x907D, 0x0095, 0x2003, 0x403C, 0x8007, 0x0110, 0x4E6F, 0x064F, 0x1800,
+0x4F5F, 0x3506, 0x4DCF, 0x0001, 0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x3506,
+0x4CCF, 0x0002, 0x4E6F, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x43CF, 0x0003,
+0x4E6F, 0x0FEF, 0x1840, 0x40BF, 0x0003, 0x3402, 0x430C, 0x0110, 0x141B,
+0x40F2, 0x00A5, 0x0121, 0x421F, 0x012E, 0xF0B2, 0xCC88, 0x012E, 0x421E,
+0x0124, 0x421D, 0x0126, 0xF0B2, 0xFFCC, 0x012C, 0x4C4A, 0x4A0B, 0x108B,
+0xDB0A, 0xD03A, 0x4400, 0x4A82, 0x0124, 0x4A82, 0x0126, 0xB0B2, 0x0010,
+0x012C, 0x2BFC, 0xB392, 0x012C, 0x2BF9, 0xF0B2, 0xFFEE, 0x012C, 0x4CC2,
+0x0120, 0xF0B2, 0x0307, 0x0126, 0xF03D, 0xFCF8, 0xDD82, 0x0126, 0xF0B2,
+0x0307, 0x0124, 0xF03E, 0xFCF8, 0xDE82, 0x0124, 0xB392, 0x012C, 0x2C04,
+0xB0B2, 0x0010, 0x012C, 0x2BF9, 0xF0B2, 0xFF88, 0x012C, 0x4F82, 0x012E,
+0x43C2, 0x0121, 0x430C, 0x161A, 0x0110, 0x140A, 0x0CCA, 0x430C, 0x008E,
+0x3D60, 0x0E3D, 0x0008, 0xB35D, 0x2424, 0x438A, 0x0000, 0x438A, 0x0002,
+0x0ACC, 0x13B0, 0xBB16, 0x930C, 0x2402, 0x433C, 0x3C2D, 0x0ACC, 0x00AC,
+0x0001, 0x13B0, 0xBB16, 0x930C, 0x2403, 0x403C, 0xFFFE, 0x3C23, 0x0ACC,
+0x03EC, 0x13B0, 0xBB16, 0x930C, 0x2403, 0x403C, 0xFFFD, 0x3C1A, 0x00AA,
+0x0003, 0x0ACC, 0x13B0, 0xBB16, 0x3C14, 0x1800, 0x9DCE, 0x0004, 0x2C03,
+0x403C, 0xFFFB, 0x3C0D, 0x4DBA, 0x0000, 0x4DBA, 0x0002, 0x1800, 0x52EE,
+0x0008, 0x1800, 0x9EDE, 0x0008, 0x0004, 0x2C01, 0x431C, 0x160A, 0x0110,
+0x145B, 0x0CCB, 0x0DC8, 0x4E4E, 0x0EEE, 0x0ECF, 0x064E, 0x0EEF, 0x0EEE,
+0x0FEE, 0x0EC9, 0x0EC6, 0x00A6, 0x339A, 0x466F, 0x1840, 0x9E1F, 0x338C,
+0x2C02, 0x4F4A, 0x3C03, 0x1840, 0x4E5A, 0x338C, 0x4A4E, 0x430F, 0x0CCD,
+0x1800, 0x495C, 0x3382, 0x1380, 0x3D5A, 0x1840, 0x8A89, 0x338C, 0x4A0F,
+0x1800, 0x5FC9, 0x3382, 0x966A, 0x200E, 0x435E, 0x1840, 0x595E, 0x339B,
+0xF35E, 0x1840, 0x4EC9, 0x339B, 0x1840, 0x43C9, 0x339A, 0x43C8, 0x0000,
+0x3C07, 0x1840, 0x8AC9, 0x339A, 0x0FEB, 0x1800, 0x4BC9, 0x3386, 0x1656,
+0x0110, 0x8221, 0x4381, 0x0002, 0xB2B2, 0x0908, 0x2C02, 0x435C, 0x3C36,
+0xB392, 0x0902, 0x2806, 0xB0B2, 0x0100, 0x0910, 0x2802, 0x434C, 0x3C2D,
+0x40B2, 0x9628, 0x0900, 0x40B2, 0x0117, 0x0912, 0x40B2, 0x0300, 0x0910,
+0x4382, 0x0914, 0x4381, 0x0000, 0x3C04, 0x412F, 0x531F, 0x4F81, 0x0000,
+0x90B1, 0x0898, 0x0000, 0x2BF8, 0x411F, 0x0002, 0x4F0E, 0x531E, 0x4E81,
+0x0002, 0x903F, 0x000B, 0x2805, 0x40B2, 0x9600, 0x0900, 0x435C, 0x3C09,
+0x9382, 0x0914, 0x23E2, 0xD392, 0x0902, 0x40B2, 0x9600, 0x0900, 0x434C,
+0x5221, 0x0110, 0x140A, 0x430E, 0x430E, 0x3C01, 0x532E, 0x903E, 0x0080,
+0x3410, 0x4E0F, 0x0FEF, 0x1840, 0x9C8F, 0x4900, 0x23F6, 0x531E, 0xE03E,
+0x8000, 0x0EEE, 0x0FAE, 0x4900, 0x0E7D, 0x0000, 0x431C, 0x3C25, 0x430E,
+0x3C01, 0x532E, 0x903E, 0x0080, 0x341B, 0x4E0F, 0x0FEF, 0x1840, 0x938F,
+0x4900, 0x23F6, 0x4E0F, 0x0FEF, 0x1840, 0x4C8F, 0x4900, 0x4E0F, 0x531F,
+0xE03F, 0x8000, 0x0FEF, 0x0FAF, 0x4900, 0x0F7D, 0x0000, 0x531E, 0x0EEE,
+0x1840, 0x438E, 0x4900, 0x431C, 0x3C04, 0x1800, 0x43CD, 0x0000, 0x430C,
+0x160A, 0x0110, 0x425F, 0x2384, 0xF07F, 0x000F, 0x2011, 0x93C2, 0x2384,
+0x3407, 0x425E, 0x0920, 0xF27E, 0x1840, 0x4EC2, 0x3E8F, 0x3C1C, 0x425E,
+0x0922, 0xF27E, 0x1840, 0x4EC2, 0x3E8F, 0x3C15, 0x537F, 0x907F, 0x0007,
+0x2C11, 0x0A5F, 0x93C2, 0x2384, 0x3407, 0x4F5E, 0x23C8, 0xF27E, 0x1840,
+0x4EC2, 0x3E8F, 0x3C06, 0x4F5E, 0x2388, 0xF27E, 0x1840, 0x4EC2, 0x3E8F,
+0x1840, 0x425E, 0x3E8F, 0x1942, 0x104E, 0x1840, 0x4EC2, 0x3E8F, 0x13B0,
+0xC63A, 0x1840, 0x43A2, 0x3D78, 0x008C, 0x3E8F, 0x13B0, 0xBDE0, 0x434C,
+0x0110, 0x008C, 0x316A, 0x1800, 0x40FC, 0xC688, 0x0000, 0x1800, 0x40FC,
+0xC688, 0x0034, 0x1800, 0x40FC, 0xC680, 0x0004, 0x1800, 0x40FC, 0xC67C,
+0x0008, 0x1800, 0x40FC, 0xC678, 0x000C, 0x1800, 0x40FC, 0xC6A4, 0x0010,
+0x1800, 0x40FC, 0xC6A8, 0x0014, 0x1800, 0x40FC, 0xC6AA, 0x0018, 0x1800,
+0x40FC, 0xC6AC, 0x001C, 0x1800, 0x40FC, 0xC6AE, 0x0020, 0x1800, 0x40FC,
+0xC67C, 0x0028, 0x1800, 0x40FC, 0xC67C, 0x002C, 0x1800, 0x40FC, 0xC6A4,
+0x0030, 0x0080, 0xC502, 0x008F, 0x3D78, 0x4F2E, 0x008D, 0x3E9F, 0x933E,
+0x242D, 0x903E, 0x0009, 0x2806, 0x427E, 0x82BF, 0x0000, 0x43DD, 0x0000,
+0x3C15, 0x923E, 0x2C05, 0x43BF, 0x0000, 0x43CD, 0x0000, 0x3C0E, 0x427E,
+0x1840, 0x93D2, 0x3E8E, 0x2005, 0x438F, 0x0000, 0x43DD, 0x0000, 0x3C04,
+0x43BF, 0x0000, 0x43CD, 0x0000, 0x434F, 0x3C08, 0x002D, 0x3D7C, 0x1800,
+0x53D2, 0x3D7C, 0x4DEF, 0x2378, 0x535F, 0x9E4F, 0x2BF6, 0x4EC2, 0x0921,
+0x0110, 0x43CD, 0x0000, 0x0110, 0x145B, 0x0CC8, 0x4D0A, 0x0EC9, 0x4F0B,
+0x0086, 0x3D60, 0x0137, 0x001C, 0x403E, 0x000C, 0x430F, 0x06CD, 0x07CC,
+0x13B0, 0xC116, 0x008F, 0x33FA, 0x1800, 0x4FD7, 0x0110, 0x000C, 0x4F97,
+0x0114, 0x0010, 0x4F97, 0x0116, 0x0012, 0x0876, 0x0000, 0x0607, 0x0AE7,
+0x0776, 0x0004, 0x0876, 0x0008, 0x0099, 0x0001, 0x240D, 0x03D9, 0x2005,
+0x1800, 0x40FF, 0xFFFF, 0x0110, 0x3C02, 0x097F, 0x0110, 0x4B8F, 0x0114,
+0x438F, 0x0116, 0x430C, 0x1656, 0x0110, 0x140A, 0xB392, 0x2384, 0x421F,
+0x2384, 0x2803, 0x533F, 0x035F, 0x3C01, 0x035F, 0x4F4F, 0x0A4F, 0x008A,
+0x3E8F, 0x1840, 0x4FDA, 0x335E, 0x0006, 0x1840, 0x4FDA, 0x3360, 0x0005,
+0x1840, 0x4FDA, 0x335F, 0x0004, 0x1840, 0x4F1E, 0x335A, 0x1840, 0x4F1F,
+0x335C, 0x4F0D, 0x108D, 0x4D4C, 0x4CCA, 0x0003, 0x4FCA, 0x0002, 0x4E0D,
+0x108D, 0x4DCA, 0x0001, 0x4ECA, 0x0000, 0x1840, 0x40B2, 0x0007, 0x3D78,
+0x0ACC, 0x13B0, 0xBDE0, 0x434C, 0x160A, 0x0110, 0x143B, 0x8321, 0xB392,
+0x2384, 0x421E, 0x2384, 0x2805, 0x533E, 0x035E, 0x4EC1, 0x0000, 0x3C03,
+0x035E, 0x4EC1, 0x0000, 0x008D, 0x3E97, 0x4D68, 0x4D5A, 0x0001, 0x108A,
+0x4D5E, 0x0002, 0x4D5C, 0x0003, 0x108C, 0x4C0D, 0xDE0D, 0x4A0C, 0xD80C,
+0x416F, 0x0A4F, 0x1840, 0x4C8F, 0x335A, 0x1840, 0x4D8F, 0x335C, 0x416F,
+0x0A4F, 0x1840, 0x4F1E, 0x335A, 0x1840, 0x4F1F, 0x335C, 0x1840, 0x425C,
+0x2384, 0x13B0, 0xA7E2, 0x5321, 0x1638, 0x0110, 0x147B, 0x8221, 0x0CC6,
+0x4D07, 0x4E44, 0x430A, 0x430B, 0x4118, 0x0028, 0x4119, 0x002A, 0x410E,
+0x530E, 0x410D, 0x532D, 0x444C, 0x13B0, 0xA3B8, 0xB35C, 0x280F, 0x480F,
+0xD90F, 0x930F, 0x27F3, 0x4A0E, 0x4B0F, 0x531A, 0x630B, 0x9F09, 0x2803,
+0x23EC, 0x9E08, 0x2FEA, 0x435C, 0x3C0F, 0x444E, 0x470D, 0x06CC, 0x13B0,
+0xA87A, 0x931C, 0x2403, 0x923C, 0x2403, 0x3C04, 0x434C, 0x3C03, 0x436C,
+0x3C01, 0x426C, 0x5221, 0x1674, 0x0110, 0x13B0, 0xC5FE, 0x407C, 0x0003,
+0x13B0, 0xB812, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0xD0F2, 0x000C,
+0x026A, 0x421F, 0x0166, 0xF03F, 0xFF8F, 0xD03F, 0x0020, 0x4F82, 0x0166,
+0x421F, 0x0168, 0xF03F, 0xF8FF, 0xD03F, 0x0200, 0x4F82, 0x0168, 0x403D,
+0x029F, 0x403C, 0x55F0, 0x13B0, 0xBBDA, 0x13B0, 0xC634, 0x403D, 0x4E20,
+0x430C, 0x13B0, 0xB78A, 0x931C, 0x2007, 0x434C, 0x13B0, 0xBFC8, 0x435C,
+0x13B0, 0xBF14, 0x3FFF, 0x0110, 0x140A, 0x13B0, 0xC4D8, 0x933C, 0x2002,
+0x930D, 0x240C, 0x13B0, 0xC564, 0x903C, 0xACDC, 0x2007, 0x903D, 0xACDC,
+0x2004, 0x13B0, 0xC3D8, 0x934C, 0x2004, 0x13B0, 0xAE58, 0x433C, 0x3C1B,
+0x13B0, 0xC4D8, 0x151D, 0x160F, 0x008A, 0x316A, 0x0ACC, 0x134F, 0x0ACC,
+0x13B0, 0xC502, 0x008C, 0x31A2, 0x0A3F, 0x001C, 0x134F, 0x008C, 0x3DDE,
+0x0A3F, 0x0014, 0x134F, 0x008C, 0x3DBE, 0x0A3F, 0x0018, 0x134F, 0x430C,
+0x160A, 0x0110, 0x143B, 0x8321, 0x0CCB, 0x430C, 0x008E, 0x3D60, 0x0E3D,
+0x0008, 0xB35D, 0x2413, 0x4108, 0x5308, 0x08CC, 0x13B0, 0xBB16, 0x416A,
+0x930C, 0x2007, 0x08CC, 0x13B0, 0xBB16, 0x416F, 0x108F, 0x5F0A, 0x3C01,
+0x433C, 0x4A8B, 0x0000, 0x3C12, 0x1800, 0x9DCE, 0x0004, 0x2C03, 0x403C,
+0xFFFE, 0x3C0B, 0x4DAB, 0x0000, 0x1800, 0x53EE, 0x0008, 0x1800, 0x9EDE,
+0x0008, 0x0004, 0x2C01, 0x431C, 0x5321, 0x1638, 0x0110, 0x140A, 0x8321,
+0x420A, 0xF23A, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x40B2, 0x9628,
+0x0900, 0x4382, 0x0908, 0x40B2, 0x0080, 0x0904, 0x40B2, 0x0840, 0x0908,
+0x4381, 0x0000, 0x3C04, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1, 0x2AF8,
+0x0000, 0x2BF8, 0x40B2, 0x0A40, 0x0908, 0x40B2, 0x9600, 0x0900, 0x1840,
+0x4382, 0x3D84, 0x13B0, 0xA13A, 0x13B0, 0xBE30, 0xDA02, 0x434C, 0x5321,
+0x160A, 0x0110, 0x143B, 0x4C0B, 0x008A, 0x3352, 0x4A2F, 0xDA1F, 0x0002,
+0x930F, 0x2011, 0x0088, 0x310A, 0x407D, 0x0095, 0x434C, 0x080F, 0x134F,
+0x903C, 0x8007, 0x2407, 0x4B0C, 0x083F, 0x0010, 0x134F, 0x083F, 0x0004,
+0x134F, 0x4A2E, 0x4A1F, 0x0002, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x4C8A,
+0x0000, 0x4D8A, 0x0002, 0x931F, 0x2808, 0x2003, 0x903E, 0x86A1, 0x2804,
+0x438A, 0x0000, 0x438A, 0x0002, 0x1638, 0x0110, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x13B0, 0xBE58, 0xC3E2, 0x0242, 0x403F, 0x967E, 0x403E,
+0x0098, 0x533F, 0x633E, 0x2FFD, 0x13B0, 0xBECA, 0x13B0, 0xC5FE, 0x008C,
+0x197F, 0x13B0, 0xBF38, 0x008C, 0x18FF, 0x13B0, 0xBF38, 0x008C, 0x187F,
+0x13B0, 0xBF38, 0x008C, 0xFFFE, 0x13B0, 0xBF38, 0x403F, 0x967E, 0x403E,
+0x0098, 0x533F, 0x633E, 0x2FFD, 0x40B2, 0xA504, 0x0120, 0x0110, 0x143B,
+0x0FCA, 0x008B, 0x1A08, 0x3C0C, 0x9C4F, 0x2001, 0x537D, 0x4B5F, 0x0001,
+0x532F, 0x4F08, 0xE038, 0x8000, 0x00B8, 0x8000, 0x08EB, 0x4B6F, 0x140B,
+0x1718, 0x9309, 0x2009, 0x9038, 0x1AFF, 0x2C06, 0x9C4F, 0x2002, 0x934D,
+0x2402, 0x937F, 0x23E6, 0x9C4F, 0x2007, 0x4BDE, 0x0001, 0x0000, 0x03EB,
+0x0B7A, 0x0000, 0x3C05, 0x43CE, 0x0000, 0x1800, 0x43CA, 0x0000, 0x1638,
+0x0110, 0x141B, 0x434A, 0x3C1F, 0x4A0C, 0x430D, 0x4A0E, 0x430F, 0x5E0E,
+0x5E0E, 0x151F, 0x160B, 0x403E, 0x0204, 0x13B0, 0xC030, 0x151D, 0x160F,
+0x00AF, 0x3546, 0x1800, 0x4FCB, 0x33C8, 0x1800, 0x4B5F, 0x33C8, 0x03DF,
+0x2002, 0x13B0, 0xC4BA, 0x1800, 0x4BDB, 0x33C8, 0x33B8, 0x535A, 0x926A,
+0x2BDF, 0x434A, 0x3C05, 0x1800, 0x40F2, 0x3404, 0x3506, 0x435A, 0x934A,
+0x27F9, 0x161A, 0x0110, 0x140A, 0x008C, 0x33B8, 0x43CC, 0x003A, 0x434D,
+0x3C20, 0x4D4E, 0x430F, 0x151F, 0x160A, 0x1840, 0x43CA, 0x33F5, 0x43CC,
+0x003B, 0x43CC, 0x003C, 0x151F, 0x160A, 0x064A, 0x1800, 0x4A5A, 0x33B8,
+0x43CA, 0x0000, 0x5E0E, 0x151F, 0x160F, 0x1840, 0x438F, 0x33EA, 0x1840,
+0x438F, 0x33D8, 0x1840, 0x438F, 0x33E0, 0x535D, 0x926D, 0x2BDE, 0x1840,
+0x4382, 0x3512, 0x160A, 0x0110, 0xD0F2, 0x0010, 0x093C, 0x3C0F, 0xC0F2,
+0x0080, 0x0920, 0xC0F2, 0x0080, 0x0922, 0xF0F2, 0x00FA, 0x093E, 0xD0F2,
+0x0080, 0x0920, 0xD0F2, 0x0080, 0x0922, 0x93C2, 0x2380, 0x3403, 0xD3D2,
+0x093C, 0x3C02, 0xC3D2, 0x093C, 0x1840, 0x43C2, 0x3E9F, 0x434E, 0x3C05,
+0x4E4F, 0x1840, 0x43CF, 0x3E8F, 0x535E, 0x927E, 0x2BF9, 0x13B0, 0xA9A4,
+0xB3D2, 0x093E, 0x2FD8, 0x0110, 0x40B2, 0x6B6B, 0x0392, 0x40B2, 0x02D6,
+0x0380, 0x008F, 0x351A, 0x1800, 0x40FF, 0x0243, 0x0006, 0x40FF, 0x0080,
+0x000A, 0x1800, 0x40FF, 0x0242, 0x0012, 0x42FF, 0x0016, 0x1800, 0x40F2,
+0x3E89, 0x3536, 0xC0B2, 0x8000, 0x0182, 0x008F, 0x33B6, 0x429F, 0x100E,
+0x0000, 0xD0B2, 0x8000, 0x0182, 0x1840, 0x4FA2, 0x3532, 0x1840, 0x4FA2,
+0x3534, 0x0110, 0x143B, 0x0CC8, 0x4D4D, 0x4D0A, 0x430B, 0x151B, 0x160F,
+0x0E4F, 0x1840, 0x4F5C, 0xC6C0, 0x13B0, 0xC292, 0x4C09, 0x4A0C, 0x430D,
+0x403E, 0x000C, 0x430F, 0x13B0, 0xC030, 0x151D, 0x160F, 0x1840, 0x4F1B,
+0x336A, 0x1840, 0x8F1B, 0x336C, 0x4B88, 0x0000, 0x1840, 0x438F, 0x336A,
+0x1840, 0x438F, 0x336C, 0x490C, 0x13B0, 0xC622, 0x434C, 0x1638, 0x0110,
+0x140A, 0x13B0, 0xC556, 0x933C, 0x2002, 0x930D, 0x240C, 0x13B0, 0xC4E6,
+0x903C, 0xABBA, 0x2007, 0x903D, 0xABBA, 0x2004, 0x13B0, 0xC420, 0x934C,
+0x2004, 0x13B0, 0xB84E, 0x433C, 0x3C11, 0x13B0, 0xC556, 0x151D, 0x160F,
+0x008A, 0x3DBE, 0x0ACC, 0x134F, 0x0ACC, 0x1380, 0x3182, 0x13B0, 0xC60E,
+0x0A3F, 0x0014, 0x134F, 0x430C, 0x160A, 0x0110, 0x1800, 0x1246, 0x1800,
+0x1247, 0x4D06, 0xD07D, 0x0080, 0x6606, 0x6707, 0x1086, 0xF376, 0x8076,
+0x007F, 0x2C03, 0x430C, 0x430D, 0x3C13, 0x8076, 0x0018, 0x2C07, 0xE376,
+0x240E, 0x110D, 0x100C, 0x8356, 0x23FC, 0x3C09, 0x9236, 0x3803, 0x433C,
+0x433D, 0x3C04, 0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x1800, 0x4177,
+0x1800, 0x4176, 0x0110, 0x143B, 0x4D0B, 0x0EC8, 0x0089, 0x310A, 0x407D,
+0x0092, 0x090F, 0x134F, 0x930C, 0x381C, 0x03D8, 0x2005, 0x4B0C, 0x093F,
+0x0010, 0x134F, 0x3C10, 0x430A, 0x3C09, 0x4A0E, 0x0EEE, 0x08CF, 0x0EEF,
+0x4F2C, 0x093F, 0x0010, 0x134F, 0x531A, 0x9B0A, 0x2C03, 0x903A, 0x007E,
+0x2BF2, 0x093F, 0x0004, 0x134F, 0x430C, 0x3C01, 0x433C, 0x1638, 0x0110,
+0x141B, 0x425E, 0x0923, 0xF07E, 0x007F, 0x4E4D, 0x008C, 0x3D7A, 0x9D8C,
+0x0000, 0x2817, 0x434F, 0x3C0A, 0x4F5A, 0x2370, 0x002B, 0x3D80, 0x4ACB,
+0x0000, 0x1800, 0x53D2, 0x3D80, 0x535F, 0x9E4F, 0x2BF4, 0x8D8C, 0x0000,
+0x2406, 0x13B0, 0xC63A, 0x1840, 0x43E2, 0x3E9F, 0x3C05, 0x13B0, 0xC62E,
+0x1840, 0x43C2, 0x3E9F, 0x161A, 0x0110, 0x425D, 0x2382, 0x13B0, 0xC63A,
+0x907D, 0x0003, 0x200B, 0x1840, 0x425F, 0x4034, 0x1840, 0x4F82, 0x3D78,
+0x008C, 0x4034, 0x13B0, 0xBDE0, 0x3C11, 0x430C, 0x3C01, 0x5F0C, 0x4D4E,
+0x537D, 0x1840, 0x4C5F, 0xC903, 0x934E, 0x23F8, 0x1840, 0x4F82, 0x3D78,
+0x00AC, 0xC903, 0x13B0, 0xBDE0, 0x434C, 0x0110, 0x403E, 0x0018, 0x430F,
+0x430D, 0x008C, 0x336A, 0x13B0, 0xC0F8, 0x403E, 0x0034, 0x430F, 0x430D,
+0x008C, 0x3382, 0x13B0, 0xC0F8, 0x403E, 0x0010, 0x430F, 0x430D, 0x008C,
+0x335A, 0x13B0, 0xC0F8, 0x430F, 0x3C08, 0x4F0E, 0xE03E, 0x8000, 0x0A4E,
+0x184C, 0x42FE, 0x335E, 0x531F, 0x932F, 0x3BF6, 0x0110, 0x8321, 0x4381,
+0x0000, 0x3C04, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1, 0x0898, 0x0000,
+0x2BF8, 0xB2B2, 0x0908, 0x2C14, 0x40B2, 0x9628, 0x0900, 0x1840, 0x43C2,
+0x3EA1, 0x1840, 0x43C2, 0x3EA0, 0x4382, 0x0902, 0xC0B2, 0x0100, 0x0910,
+0xF0B2, 0xEBFB, 0x0908, 0x40B2, 0x9600, 0x0900, 0x5321, 0x0110, 0x421F,
+0x016C, 0xF03F, 0xC000, 0x9C0F, 0x2405, 0xF0B2, 0x3FFF, 0x016C, 0xDC82,
+0x016C, 0xC0B2, 0x0100, 0x016C, 0x3C05, 0xF0B2, 0xFFF0, 0x016E, 0xC3A2,
+0x0102, 0xB3A2, 0x0102, 0x2805, 0x4D0F, 0x4F0D, 0x533D, 0x930F, 0x23F3,
+0x930D, 0x2402, 0x430C, 0x0110, 0x431C, 0x0110, 0x141B, 0x430A, 0x3C1B,
+0x4A0F, 0xE03F, 0x8000, 0x0FEF, 0x0FCB, 0x064F, 0x0BEF, 0x0FCB, 0x0BAB,
+0x0000, 0x1800, 0x4B5C, 0x31B0, 0x03DC, 0x2402, 0x13B0, 0xC690, 0x1800,
+0x43CB, 0x31B0, 0x1840, 0x43BB, 0x31AE, 0x1840, 0x43DB, 0x31B7, 0x531A,
+0x922A, 0x3BE3, 0x161A, 0x0110, 0x141B, 0x4C4B, 0x430C, 0xF07B, 0x0003,
+0x421A, 0x0120, 0xF03A, 0x0003, 0x3C04, 0x531A, 0x4A4C, 0x13B0, 0xA2E8,
+0x4B4F, 0x9A0F, 0x2402, 0x930C, 0x2402, 0x9A0F, 0x2C07, 0x9F0A, 0x2BF3,
+0x533A, 0x4A4C, 0x13B0, 0xAB4E, 0x3FF2, 0x161A, 0x0110, 0x008C, 0x3DBE,
+0x008F, 0xC688, 0x0F7C, 0x0000, 0x0F7C, 0x0004, 0x1800, 0x40FC, 0xC674,
+0x0008, 0x0F7C, 0x000C, 0x1800, 0x40FC, 0xC670, 0x0010, 0x1800, 0x40FC,
+0xC66C, 0x0014, 0x1800, 0x40FC, 0xC6A6, 0x0018, 0x0F7C, 0x001C, 0x0020,
+0x3182, 0x140A, 0x434A, 0xD0F2, 0x0010, 0x093C, 0x43C2, 0x0921, 0x1840,
+0x93E2, 0x3E9F, 0x200E, 0x13B0, 0xB65A, 0x1840, 0x93C2, 0x3E9F, 0x200A,
+0x90F2, 0x0020, 0x2381, 0x2006, 0x13B0, 0xB012, 0x4C4A, 0x3C02, 0xD2F2,
+0x0922, 0x4A4C, 0x160A, 0x0110, 0x140A, 0x008A, 0x33FA, 0x403E, 0x0118,
+0x430F, 0x430D, 0x0ACC, 0x13B0, 0xC0F8, 0x1840, 0x4382, 0x3516, 0x1840,
+0x43C2, 0x3E89, 0x434E, 0x3C07, 0x1800, 0x40FA, 0x3404, 0x010C, 0x43CA,
+0x0006, 0x435E, 0x934E, 0x27F7, 0x160A, 0x0110, 0x403E, 0x003D, 0x430F,
+0x008D, 0x1880, 0x430C, 0x13B0, 0xC052, 0x432E, 0x430F, 0x008D, 0x18FC,
+0x13B0, 0xC052, 0x403E, 0x1900, 0x430F, 0x008D, 0xCC00, 0x13B0, 0xC052,
+0x403E, 0x4700, 0x430F, 0x018D, 0x0000, 0x0080, 0xC052, 0x9382, 0x2382,
+0x2015, 0x425F, 0x2384, 0xF07F, 0x000F, 0x240D, 0x537F, 0x907F, 0x0007,
+0x2C0E, 0x0A5F, 0x93C2, 0x2384, 0x3403, 0xD2FF, 0x23C8, 0x3C02, 0xD2FF,
+0x2388, 0x13B0, 0xC40E, 0x3C02, 0x13B0, 0xC5B2, 0x434C, 0x0110, 0x140A,
+0x40B2, 0xA500, 0x0144, 0x40B2, 0xA540, 0x0140, 0x3C08, 0xB392, 0x0144,
+0x2FFD, 0x4CBD, 0x0000, 0x03ED, 0x533E, 0x633F, 0x4E0A, 0xDF0A, 0x930A,
+0x23F4, 0x40B2, 0xA500, 0x0140, 0x40B2, 0xA510, 0x0144, 0x160A, 0x0110,
+0x430F, 0x430F, 0x3C01, 0x532F, 0x903F, 0x0080, 0x3412, 0x4F0E, 0x0EEE,
+0x1840, 0x9C8E, 0x4900, 0x23F6, 0x4F0E, 0x0EEE, 0x1840, 0x438E, 0x4900,
+0x531F, 0x0FEF, 0x1840, 0x438F, 0x4900, 0x431C, 0x0110, 0x430C, 0x0110,
+0x907C, 0x0040, 0x2416, 0x430F, 0x3C01, 0x531F, 0x922F, 0x3411, 0x4F0D,
+0xE03D, 0x8000, 0x0DED, 0x0DCE, 0x064D, 0x0EED, 0x0DCE, 0x0BAE, 0x0000,
+0x1840, 0x9CCE, 0x31B5, 0x23EF, 0x1840, 0x43CE, 0x31B7, 0x431C, 0x0110,
+0x907C, 0x0040, 0x2416, 0x430F, 0x3C01, 0x531F, 0x922F, 0x3411, 0x4F0D,
+0xE03D, 0x8000, 0x0DED, 0x0DCE, 0x064D, 0x0EED, 0x0DCE, 0x0BAE, 0x0000,
+0x1840, 0x9CCE, 0x31B5, 0x23EF, 0x1840, 0x43DE, 0x31B7, 0x431C, 0x0110,
+0x4C0F, 0x5F0F, 0x008E, 0x351A, 0x4F8E, 0x0002, 0x4C8E, 0x0004, 0x4F8E,
+0x000E, 0x4C8E, 0x0010, 0x930C, 0x2406, 0x40FE, 0x0003, 0x0000, 0x43EE,
+0x000C, 0x3C04, 0x43CE, 0x0000, 0x43CE, 0x000C, 0x430C, 0x0110, 0x8321,
+0x4381, 0x0000, 0x3C04, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1, 0x0898,
+0x0000, 0x2BF8, 0x40B2, 0x9628, 0x0900, 0xD0B2, 0x0400, 0x0908, 0xF0B2,
+0xFFF9, 0x0908, 0x40B2, 0x9600, 0x0900, 0x5321, 0x0110, 0x434C, 0xB2B2,
+0x0908, 0x2801, 0x435C, 0x1840, 0x93D2, 0x3EA1, 0x2002, 0xD07C, 0x0020,
+0xB3A2, 0x0902, 0x2802, 0xD07C, 0x0040, 0x1840, 0x93D2, 0x3EA0, 0x2002,
+0xD27C, 0x0110, 0xD07C, 0x0010, 0x0110, 0x13B0, 0xC53A, 0x933C, 0x2002,
+0x930D, 0x240C, 0x13B0, 0xC4CA, 0x903C, 0xADAC, 0x2007, 0x903D, 0xADAC,
+0x2004, 0x13B0, 0xC432, 0x934C, 0x2002, 0x433C, 0x0110, 0x13B0, 0xC53A,
+0x151D, 0x160F, 0x0FC0, 0x430F, 0x008E, 0x3D60, 0x1800, 0x9EDE, 0x0008,
+0x0004, 0x2C02, 0x433F, 0x3C0D, 0x0E3D, 0x0008, 0x4DEC, 0x0000, 0x1800,
+0x53DE, 0x0008, 0x1800, 0x9EDE, 0x0008, 0x0004, 0x2C01, 0x431F, 0x4F0C,
+0x0110, 0x140A, 0x0CCA, 0x403E, 0x000C, 0x430F, 0x0CCD, 0x008C, 0x3D60,
+0x13B0, 0xC116, 0x008F, 0x33FA, 0x1800, 0x4ADF, 0x000C, 0x0110, 0x4A9F,
+0x0010, 0x0114, 0x4A9F, 0x0012, 0x0116, 0x430C, 0x160A, 0x0110, 0x008C,
+0x3E8F, 0x1840, 0xB0F2, 0x0040, 0xC87D, 0x2802, 0x43DC, 0x0000, 0x1840,
+0x93D2, 0x3EA2, 0x2002, 0xD3EC, 0x0000, 0x13B0, 0xC63A, 0x1840, 0x43A2,
+0x3D78, 0x13B0, 0xBDE0, 0x434C, 0x0110, 0x140A, 0x4E0A, 0xDF0A, 0x930A,
+0x2411, 0x0C60, 0x0516, 0x0D60, 0x0512, 0x4E82, 0x051A, 0xD0B2, 0x0010,
+0x0510, 0xD392, 0x0510, 0xB2B2, 0x0510, 0x2BFD, 0xC0B2, 0x0010, 0x0510,
+0x160A, 0x0110, 0x8321, 0x4D0F, 0x1844, 0x5F0F, 0x4F81, 0x0000, 0x13B0,
+0xA05E, 0x3C05, 0x4303, 0x4303, 0x423F, 0x533F, 0x2FFE, 0x412F, 0x4F0E,
+0x533E, 0x4E81, 0x0000, 0x930F, 0x23F4, 0x5321, 0x0110, 0x1840, 0x43D2,
+0x3EA0, 0x40B2, 0x9628, 0x0900, 0xD0F2, 0x0010, 0x093C, 0xC0F2, 0x0040,
+0x093E, 0xC0B2, 0x0100, 0x0910, 0x40F2, 0x0020, 0x093D, 0x40B2, 0x9600,
+0x0900, 0x434C, 0x0110, 0x936C, 0x2C13, 0x4C4C, 0x064C, 0x0CCF, 0x0CEC,
+0x0FEC, 0x1840, 0x938C, 0x351E, 0x200A, 0x5D0D, 0x1840, 0x4D8C, 0x351C,
+0x1840, 0x4D8C, 0x351E, 0x1840, 0xC3EC, 0x351A, 0x430C, 0x0110, 0x143B,
+0x430A, 0x430B, 0x3C02, 0x531A, 0x630B, 0x9F0B, 0x2803, 0x200B, 0x9E0A,
+0x2C09, 0x151B, 0x160D, 0x0CC8, 0x0DE8, 0x93F8, 0x0000, 0x27F2, 0x435C,
+0x3C01, 0x434C, 0x1638, 0x0110, 0x403E, 0x003D, 0x430F, 0x008D, 0x1900,
+0x430C, 0x13B0, 0xC052, 0x432E, 0x430F, 0x008D, 0x197C, 0x13B0, 0xC052,
+0x403E, 0xC000, 0x430F, 0x018D, 0x8E00, 0x0080, 0xC052, 0x403E, 0x003D,
+0x430F, 0x008D, 0x1800, 0x430C, 0x13B0, 0xC052, 0x432E, 0x430F, 0x008D,
+0x187C, 0x13B0, 0xC052, 0x403E, 0x0700, 0x430F, 0x048D, 0x7200, 0x0080,
+0xC052, 0x8031, 0x000A, 0x4C0F, 0x410C, 0x530C, 0x008E, 0x353A, 0x008D,
+0x0005, 0x13B0, 0xC2F2, 0x4F0C, 0x410E, 0x530E, 0x403D, 0x0005, 0x13B0,
+0xC3B0, 0x5031, 0x000A, 0x0110, 0x008F, 0x3D60, 0x1800, 0x4FDC, 0x0008,
+0x0000, 0x4F1E, 0x0004, 0x8F1E, 0x0008, 0x531E, 0x4E8D, 0x0000, 0x0F3E,
+0x0004, 0x00AE, 0x0004, 0x0E7F, 0x0008, 0x431C, 0x0110, 0x403E, 0x003D,
+0x430F, 0x008D, 0x1980, 0x430C, 0x13B0, 0xC052, 0x432E, 0x430F, 0x008D,
+0x19FC, 0x13B0, 0xC052, 0x403E, 0x0900, 0x430F, 0x048D, 0x6000, 0x0080,
+0xC052, 0x431E, 0x430F, 0x008D, 0x8000, 0x430C, 0x13B0, 0xC052, 0x403E,
+0x25FE, 0x430F, 0x008D, 0x8004, 0x13B0, 0xC052, 0x403E, 0x0100, 0x430F,
+0x008D, 0xFE00, 0x0080, 0xC052, 0x403E, 0x003D, 0x430F, 0x008D, 0x1900,
+0x430C, 0x13B0, 0xC052, 0x432E, 0x430F, 0x008D, 0x197C, 0x13B0, 0xC052,
+0x403E, 0x6900, 0x431F, 0x018D, 0x8E00, 0x0080, 0xC052, 0x1840, 0x425F,
+0x33FA, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x4F5E, 0x0001, 0x1840, 0x425F,
+0x33FA, 0x064F, 0x1800, 0x4F5F, 0x3506, 0x4CCF, 0x0001, 0x4E4C, 0x0110,
+0x0C60, 0x3D7C, 0x421F, 0x2386, 0x1840, 0x9F82, 0x3D78, 0x2807, 0x1840,
+0x4F82, 0x3D78, 0x1840, 0x43C2, 0x3E8E, 0x3C03, 0x1840, 0x43D2, 0x3E8E,
+0x0080, 0xAEC8, 0x13B0, 0xC62E, 0x1840, 0x42D2, 0x2382, 0x3E8C, 0x13B0,
+0xC40E, 0x1840, 0x93D2, 0x3E8C, 0x2402, 0x434E, 0x3C01, 0x435E, 0x1840,
+0x4EC2, 0x3EA1, 0x434C, 0x0110, 0xF0B2, 0xFFE0, 0x0500, 0x4292, 0x0500,
+0x0500, 0x40B2, 0x1FC0, 0x0510, 0xD392, 0x0508, 0x1800, 0x40F2, 0xBBAA,
+0x3D56, 0x1800, 0x40F2, 0xBBAA, 0x3D5A, 0x0110, 0x40B2, 0x9628, 0x0900,
+0xC3A2, 0x0902, 0xC0B2, 0x0400, 0x0908, 0x40B2, 0x9600, 0x0900, 0x1840,
+0x43C2, 0x3EA1, 0x1840, 0x43C2, 0x3EA0, 0x434C, 0x0110, 0x936C, 0x2C0F,
+0x4C4C, 0x064C, 0x0CCF, 0x0CEC, 0x0FEC, 0x5D0D, 0x1840, 0x4D8C, 0x351C,
+0x1840, 0x4D8C, 0x351E, 0x1840, 0x43EC, 0x351A, 0x430C, 0x0110, 0x4D4D,
+0x064D, 0x0CED, 0x0D0E, 0x008D, 0x3D60, 0x0E7D, 0x0000, 0x4E6F, 0x0FEE,
+0x0E7D, 0x0004, 0x0D0F, 0x00AF, 0x0004, 0x0F7D, 0x0008, 0x430C, 0x0110,
+0x40B2, 0x9628, 0x0900, 0x4382, 0x0902, 0xC0B2, 0x0100, 0x0910, 0x40B2,
+0x9600, 0x0900, 0x1840, 0x43C2, 0x3EA1, 0x1840, 0x43C2, 0x3EA0, 0x434C,
+0x0110, 0x934C, 0x200E, 0x13B0, 0x87F6, 0x903C, 0x0092, 0x2009, 0x434C,
+0x13B0, 0xA6A4, 0x13B0, 0xB3FC, 0x13B0, 0xB8C6, 0x13B0, 0xB39E, 0x435C,
+0x0110, 0x936C, 0x2C0E, 0x4C4C, 0x064C, 0x0CCF, 0x0CEC, 0x0FEC, 0x1840,
+0x43DC, 0x351A, 0x1840, 0x438C, 0x351C, 0x1840, 0x438C, 0x351E, 0x430C,
+0x0110, 0x40B2, 0xA500, 0x0144, 0x40B2, 0xA502, 0x0140, 0x438C, 0x0000,
+0xB392, 0x0144, 0x2FFD, 0x40B2, 0xA500, 0x0140, 0x40B2, 0xA510, 0x0144,
+0x0110, 0x1800, 0x40F2, 0x98BA, 0x3102, 0x1800, 0x40F2, 0xC6B0, 0x3106,
+0xD3A2, 0x0380, 0xD3A2, 0x03C0, 0xD3A2, 0x0340, 0x1840, 0x4382, 0x3D5E,
+0x0110, 0xC3A2, 0x0380, 0xC3A2, 0x03C0, 0xC3A2, 0x0340, 0x1800, 0x40F2,
+0xC6B2, 0x3102, 0x1800, 0x40F2, 0xC694, 0x3106, 0x1840, 0x4392, 0x3D5E,
+0x0110, 0x008E, 0x33FA, 0x4E5F, 0x0001, 0x0FEF, 0x1840, 0x438F, 0x33FC,
+0x4E6F, 0x0FEF, 0x1840, 0x4C8F, 0x3402, 0x4E6F, 0x1840, 0xD3DF, 0x3400,
+0x0110, 0x936C, 0x2C0E, 0x4C4C, 0x064C, 0x0CCF, 0x0CEC, 0x0FEC, 0x1840,
+0x43CC, 0x351A, 0x1840, 0x438C, 0x351C, 0x1840, 0x438C, 0x351E, 0x430C,
+0x0110, 0x140A, 0x4C0A, 0x13B0, 0xB3FC, 0x008F, 0x353A, 0x4A8F, 0x0000,
+0x438F, 0x0006, 0x1800, 0x43CF, 0x0002, 0x439F, 0x0008, 0x160A, 0x0110,
+0x13B0, 0xC63A, 0x1840, 0x43A2, 0x3D78, 0x008C, 0x3E8F, 0x43CC, 0x0000,
+0x1840, 0x42DC, 0x3E8D, 0x0001, 0x13B0, 0xBDE0, 0x434C, 0x0110, 0x1202,
+0xC232, 0x4303, 0x4C82, 0x04D0, 0x4D82, 0x04D2, 0x4E82, 0x04E0, 0x4F82,
+0x04E2, 0x421C, 0x04E4, 0x421D, 0x04E6, 0x4132, 0x0110, 0x141B, 0x4C82,
+0x0154, 0x3C02, 0x4DB2, 0x0152, 0x4E0C, 0x4F0B, 0x533E, 0x633F, 0xDB0C,
+0x930C, 0x23F7, 0x421C, 0x0154, 0x161A, 0x0110, 0x140A, 0x8321, 0x4C0A,
+0x433C, 0x3C01, 0x533A, 0x930A, 0x2406, 0x410C, 0x530C, 0x13B0, 0xBB16,
+0x933C, 0x23F7, 0x5321, 0x160A, 0x0110, 0x13B0, 0xC63A, 0x1840, 0x43A2,
+0x3D78, 0x008C, 0x3E8F, 0x43CC, 0x0000, 0x1840, 0x42DC, 0x3E8D, 0x0001,
+0x13B0, 0xBDE0, 0x434C, 0x0110, 0x4C4C, 0x0CEC, 0x0CCF, 0x064C, 0x0CEF,
+0x0CEC, 0x0FEC, 0x1800, 0x4C5F, 0x3382, 0x03DF, 0x2002, 0x434C, 0x0110,
+0x435C, 0x0110, 0x13B0, 0xC62E, 0x90B2, 0x0080, 0x2382, 0x2C06, 0x42D2,
+0x2382, 0x093F, 0x13B0, 0xC40E, 0x3C02, 0x13B0, 0xC5B2, 0x434C, 0x0110,
+0x141B, 0x0CCA, 0x3C06, 0x4DCA, 0x0000, 0x00AA, 0x0001, 0x533E, 0x633F,
+0x4E0B, 0xDF0B, 0x930B, 0x23F6, 0x161A, 0x0110, 0x141B, 0x0CCA, 0x3C06,
+0x4DFA, 0x0000, 0x00AA, 0x0001, 0x533E, 0x633F, 0x4E0B, 0xDF0B, 0x930B,
+0x23F6, 0x161A, 0x0110, 0xD0F2, 0x0010, 0x093C, 0x43C2, 0x0923, 0x1840,
+0x93D2, 0x3E9F, 0x2002, 0x0080, 0xAEC8, 0xD2F2, 0x0920, 0x0110, 0x9392,
+0x2382, 0x2006, 0x1840, 0x43C2, 0x3EA2, 0x13B0, 0xC40E, 0x3C02, 0x13B0,
+0xC5B2, 0x434C, 0x0110, 0x9392, 0x2382, 0x2006, 0x1840, 0x43D2, 0x3EA2,
+0x13B0, 0xC40E, 0x3C02, 0x13B0, 0xC5B2, 0x434C, 0x0110, 0x40B2, 0x9628,
+0x0900, 0xD3A2, 0x0902, 0xD0B2, 0x0400, 0x0908, 0x40B2, 0x9600, 0x0900,
+0x434C, 0x0110, 0x1840, 0x9382, 0x3D5E, 0x2008, 0x1800, 0x40F2, 0x98BA,
+0x3102, 0x1800, 0x40F2, 0xC694, 0x3106, 0x0110, 0x13B0, 0xACDE, 0xF0F2,
+0x009F, 0x093E, 0x40F2, 0x00C4, 0x093D, 0x1840, 0x43C2, 0x3EA0, 0x434C,
+0x0110, 0x1800, 0x124C, 0x4EFC, 0x0000, 0x00AC, 0x0001, 0x00BD, 0x0001,
+0x23F9, 0x1800, 0x417C, 0x0110, 0x13B0, 0xC63A, 0x1840, 0x40B2, 0x0012,
+0x3D78, 0x008C, 0xC864, 0x13B0, 0xBDE0, 0x434C, 0x0110, 0x13B0, 0xC63A,
+0x1840, 0x40B2, 0x008D, 0x3D78, 0x008C, 0xC876, 0x13B0, 0xBDE0, 0x434C,
+0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE, 0x3C04, 0x43CC, 0x0000, 0x00AC,
+0x0001, 0x0EDC, 0x23FA, 0x0110, 0x008F, 0x353A, 0x438F, 0x0000, 0x438F,
+0x0006, 0x1800, 0x43CF, 0x0002, 0x438F, 0x0008, 0x0110, 0x431F, 0x535C,
+0x835C, 0x3002, 0x18CC, 0x5F0F, 0x425C, 0x092F, 0xFF0C, 0xCFC2, 0x092F,
+0x0110, 0x13B0, 0xC39C, 0x934C, 0x2006, 0x008C, 0xFFFE, 0x13B0, 0xBF38,
+0x430C, 0x0110, 0x431C, 0x0110, 0x140A, 0x8321, 0x4C0A, 0x4A81, 0x0000,
+0x410D, 0x530D, 0x435C, 0x13B0, 0xC6BC, 0x3FF8, 0x4303, 0x431F, 0x535C,
+0x835C, 0x3002, 0x18CC, 0x5F0F, 0x425C, 0x092E, 0xFF0C, 0xCFC2, 0x092E,
+0x0110, 0x1840, 0x425D, 0x2382, 0x1840, 0x425C, 0x2384, 0x13B0, 0xC698,
+0x13B0, 0xC40E, 0x434C, 0x0110, 0x430F, 0x3C06, 0x4F0E, 0x0EEE, 0x1840,
+0x438E, 0x4900, 0x531F, 0x903F, 0x0080, 0x3BF7, 0x0110, 0xB0B2, 0x0040,
+0x0144, 0x2804, 0x40B2, 0xA540, 0x0144, 0x0110, 0x40B2, 0xA580, 0x0146,
+0x0110, 0x1800, 0x124C, 0x4EBC, 0x0000, 0x03EC, 0x00BD, 0x0001, 0x23FA,
+0x1800, 0x417C, 0x0110, 0x13B0, 0xC63A, 0x1840, 0x4392, 0x3D78, 0x008C,
+0x3E8C, 0x13B0, 0xBDE0, 0x434C, 0x0110, 0x13B0, 0xB7CE, 0x1800, 0x40F2,
+0x3E52, 0x31D6, 0x1800, 0x43C2, 0x3E6A, 0x430C, 0x0110, 0x0C60, 0x3D80,
+0x1840, 0x4292, 0x2386, 0x3D7A, 0x1840, 0x43E2, 0x3E9F, 0x0080, 0xC63A,
+0x40B2, 0xA500, 0x0146, 0xB0B2, 0x0040, 0x0144, 0x2803, 0x40B2, 0xA540,
+0x0144, 0x0110, 0x3C05, 0x4DFC, 0x0000, 0x00AC, 0x0001, 0x533E, 0x930E,
+0x23F9, 0x430C, 0x0110, 0x13B0, 0xC62E, 0x1840, 0x42D2, 0x2384, 0x3E8D,
+0x13B0, 0xC40E, 0x434C, 0x0110, 0x1800, 0x124C, 0x438C, 0x0000, 0x532C,
+0x831E, 0x23FB, 0x1800, 0x417C, 0x0110, 0x13B0, 0xBD64, 0x1840, 0x921C,
+0x8002, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x1800, 0x124C, 0x4EBC,
+0x0000, 0x532C, 0x831D, 0x23FB, 0x1800, 0x417C, 0x0110, 0x13B0, 0xACDE,
+0x934C, 0x2004, 0x13B0, 0x99FE, 0x13B0, 0xC184, 0x435C, 0x0110, 0x13B0,
+0xBD3A, 0x921C, 0x19FA, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x13B0,
+0xBC92, 0x921C, 0x197A, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x120D,
+0x120C, 0x422D, 0x410C, 0x530C, 0x13B0, 0x9D74, 0x5221, 0x0110, 0x1840,
+0x43B2, 0x3D78, 0x1840, 0x43C2, 0x3E9F, 0x43C2, 0x0921, 0x0110, 0x13B0,
+0xBCBC, 0x921C, 0x187A, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x13B0,
+0xBD8E, 0x921C, 0x197A, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x140A,
+0x411A, 0x0008, 0x120A, 0x1380, 0x3D8A, 0x5321, 0x160A, 0x0110, 0x1203,
+0x1230, 0x0003, 0x435E, 0x13B0, 0xB07E, 0x4C4C, 0x5221, 0x0110, 0x13B0,
+0xB900, 0x921C, 0x18FA, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x1840,
+0x9382, 0x3542, 0x2002, 0x430C, 0x0110, 0x431C, 0x0110, 0x13B0, 0xC2C2,
+0x13B0, 0xB8C6, 0x13B0, 0xB3FC, 0x0080, 0xB39E, 0x124C, 0x431D, 0x410C,
+0x530C, 0x13B0, 0x9D74, 0x5321, 0x0110, 0x120C, 0x432D, 0x410C, 0x530C,
+0x13B0, 0x9D74, 0x5321, 0x0110, 0x434C, 0x13B0, 0xBF14, 0x435C, 0x13B0,
+0xBFC8, 0x3FFF, 0x4303, 0x1840, 0x421C, 0x197C, 0x1840, 0x421D, 0x197E,
+0x0110, 0x1840, 0x421C, 0x1980, 0x1840, 0x421D, 0x1982, 0x0110, 0x1840,
+0x421C, 0x187C, 0x1840, 0x421D, 0x187E, 0x0110, 0xB3D2, 0x093E, 0x2C02,
+0x13B0, 0xC5B2, 0x434C, 0x0110, 0x0CCE, 0x008C, 0x3D86, 0x008D, 0x001C,
+0x0080, 0xC2F2, 0x0CCE, 0x008C, 0x32E2, 0x008D, 0x0038, 0x0080, 0xC2F2,
+0xD0F2, 0x0080, 0x0244, 0xD0F2, 0x0080, 0x0242, 0x0110, 0xD0F2, 0x0080,
+0x0244, 0xC0F2, 0x0080, 0x0242, 0x0110, 0x1840, 0x421C, 0x1900, 0x1840,
+0x421D, 0x1902, 0x0110, 0x1840, 0x4392, 0x3544, 0x1840, 0xC3D2, 0x3514,
+0x0110, 0x1840, 0x421C, 0x1800, 0x1840, 0x421D, 0x1802, 0x0110, 0x1840,
+0x421C, 0x19FC, 0x1840, 0x421D, 0x19FE, 0x0110, 0x1840, 0x421C, 0x18FC,
+0x1840, 0x421D, 0x18FE, 0x0110, 0x1840, 0x4382, 0x3544, 0x1840, 0xD3D2,
+0x3514, 0x0110, 0x13B0, 0xB5B2, 0x2802, 0x430C, 0x430D, 0x0110, 0x008C,
+0x3E97, 0x13B0, 0xC334, 0x434C, 0x0110, 0x1840, 0x40B2, 0x0032, 0x3516,
+0x0080, 0x9F7A, 0xD2F2, 0x0920, 0xD2F2, 0x0922, 0x0110, 0x1840, 0x4C82,
+0x3D84, 0x434C, 0x0110, 0x13B0, 0xC5FE, 0x435C, 0x0110, 0x13B0, 0xC6B4,
+0x435C, 0x0110, 0x13B0, 0xC6B6, 0x435C, 0x0110, 0x1840, 0x421C, 0x18F8,
+0x0110, 0x1840, 0x421C, 0x3534, 0x0110, 0x1840, 0x421C, 0x3532, 0x0110,
+0x1840, 0x4392, 0x32E0, 0x0110, 0xD0B2, 0x0100, 0x016C, 0x0110, 0x1840,
+0x4382, 0x32E0, 0x0110, 0x1840, 0x421C, 0x33B6, 0x0110, 0xD392, 0x0700,
+0x0110, 0x403C, 0x001D, 0x0110, 0xDCC2, 0x092E, 0x0110, 0xDCC2, 0x092F,
+0x0110, 0xD2F2, 0x0922, 0x0110, 0xD392, 0x016C, 0x0110, 0x43C2, 0x0923,
+0x0110, 0x0080, 0xC116, 0x430C, 0x0110, 0x0080, 0xB8C6, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x435C, 0x0110, 0x435C, 0x0110, 0x435C,
+0x0110, 0x434C, 0x0110, 0x0080, 0xC684, 0x430C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x0080,
+0xC27A, 0x430C, 0x0110, 0x430C, 0x0110, 0x0080, 0xA484, 0x0020, 0x3DA6,
+0x434C, 0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0110, 0x0282, 0x0201, 0x1C80, 0x1CC0, 0x1D00, 0x1D40, 0x1D80, 0x1DC0,
+0x0484, 0x0203, 0x1E80, 0x1EC0, 0x1F00, 0x1F40, 0x1F80, 0x1FC0, 0x21A1,
+0x0000, 0x0000, 0x0007, 0x00FF, 0xAFA4, 0x0000, 0x2021, 0x0000, 0x0000,
+0x0007, 0x00FF, 0xC59A, 0x0000, 0x2221, 0xFFFF, 0x0000, 0x0000, 0x00CF,
+0xC2AA, 0x0000, 0x21A1, 0x0000, 0x0002, 0x0007, 0x00FF, 0xAFA4, 0x0000,
+0x2021, 0x0000, 0x0002, 0x0007, 0x00FF, 0xC59A, 0x0000, 0x2221, 0xFFFF,
+0x0002, 0x0000, 0x00CF, 0xC2AA, 0x0000, 0x0100, 0x0001, 0x0000, 0x0000,
+0x00FF, 0xC150, 0x0000, 0x0102, 0x0000, 0x00FF, 0x0000, 0x00F7, 0xAA34,
+0x0000, 0x0880, 0x0000, 0x0000, 0x0001, 0x00FF, 0xC308, 0x0000, 0x0680,
+0x01FF, 0xFFFF, 0xFFFF, 0x00D0, 0xC1EA, 0x0000, 0x0680, 0x02FF, 0xFFFF,
+0xFFFF, 0x00D0, 0xC202, 0x0000, 0x0680, 0x03FF, 0xFFFF, 0xFFFF, 0x00D0,
+0xB6AC, 0x0000, 0x0A81, 0x0000, 0xFFFF, 0x0001, 0x00F3, 0xC096, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0002, 0x00FF, 0xBB7A, 0x0000, 0x0081, 0x0000,
+0x00FF, 0x0002, 0x00F7, 0xC00E, 0x0000, 0x0082, 0x0000, 0x00FF, 0x0002,
+0x00F7, 0xADDC, 0x0000, 0x0500, 0x00FF, 0x0000, 0x0000, 0x00DF, 0xC0D8,
+0x0000, 0x0900, 0x00FF, 0x0000, 0x0000, 0x00DF, 0xBE08, 0x0000, 0x0300,
+0x00FF, 0x0000, 0x0000, 0x00DF, 0xC16A, 0x0000, 0x0302, 0x00FF, 0x00FF,
+0x0000, 0x00D7, 0xB938, 0x0000, 0x0B01, 0x00FF, 0x00FF, 0x0000, 0x00D7,
+0xC374, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xC4F4, 0x0000,
+0x1980, 0x0000, 0x19FF, 0x0000, 0x1900, 0x0000, 0x197F, 0x0000, 0x1880,
+0x0000, 0x18FF, 0x0000, 0x1800, 0x0000, 0x187F, 0x0000, 0x8E00, 0x0001,
+0x0DFF, 0x0003, 0x8E00, 0x0001, 0x5FFF, 0x0004, 0xCC00, 0x0000, 0xFDFF,
+0x0000, 0x0000, 0x0001, 0x8DFF, 0x0001, 0x7200, 0x0004, 0x7FFF, 0x0004,
+0x6000, 0x0004, 0x71FF, 0x0004, 0x0200, 0x0112, 0x0200, 0x02EF, 0x0801,
+0x2047, 0x0014, 0x0200, 0x0201, 0x0103, 0x0209, 0x008D, 0x0104, 0x8004,
+0x0832, 0x000B, 0x0202, 0x0102, 0x0905, 0x0004, 0x0100, 0x0202, 0x0501,
+0x2405, 0x1000, 0x0501, 0x0124, 0x0100, 0x2404, 0x0202, 0x2405, 0x0006,
+0x0701, 0x8105, 0x4003, 0xFF00, 0x0409, 0x0001, 0x0A02, 0x0000, 0x0700,
+0x0205, 0x4002, 0xFF00, 0x0507, 0x0282, 0x0040, 0x08FF, 0x020B, 0x0202,
+0x0102, 0x0906, 0x0204, 0x0100, 0x0202, 0x0601, 0x2405, 0x1000, 0x0501,
+0x0124, 0x0300, 0x2404, 0x0202, 0x2405, 0x0206, 0x0703, 0x8305, 0x4003,
+0xFF00, 0x0409, 0x0003, 0x0A02, 0x0000, 0x0700, 0x0405, 0x4002, 0xFF00,
+0x0507, 0x0284, 0x0040, 0x04FF, 0x0903, 0x2404, 0x5403, 0x6500, 0x7800,
+0x6100, 0x7300, 0x2000, 0x4900, 0x6E00, 0x7300, 0x7400, 0x7200, 0x7500,
+0x6D00, 0x6500, 0x6E00, 0x7400, 0x7300, 0x2200, 0x4D03, 0x5300, 0x5000,
+0x2000, 0x5400, 0x6F00, 0x6F00, 0x6C00, 0x7300, 0x2000, 0x4400, 0x7200,
+0x6900, 0x7600, 0x6500, 0x7200, 0x0400, 0x3003, 0x1600, 0x4D03, 0x5300,
+0x5000, 0x3400, 0x3300, 0x3000, 0x2000, 0x5500, 0x5300, 0x4200, 0x2800,
+0x4D03, 0x5300, 0x5000, 0x2000, 0x4400, 0x6500, 0x6200, 0x7500, 0x6700,
+0x2000, 0x4900, 0x6E00, 0x7400, 0x6500, 0x7200, 0x6600, 0x6100, 0x6300,
+0x6500, 0x2A00, 0x4D03, 0x5300, 0x5000, 0x2000, 0x4100, 0x7000, 0x7000,
+0x6C00, 0x6900, 0x6300, 0x6100, 0x7400, 0x6900, 0x6F00, 0x6E00, 0x2000,
+0x5500, 0x4100, 0x5200, 0x5400, 0x0500, 0x0082, 0x0000, 0x0000, 0x0201,
+0x0403, 0x0605, 0x0807, 0xFF09, 0x03E8, 0x98BA, 0x0000, 0xC6B0, 0x0000,
+0xAAC2, 0x0000, 0x91A0, 0x0000, 0xC49A, 0x0000, 0x9D74, 0x0000, 0xC4AA,
+0x0000, 0xC3FC, 0x0000, 0xBEA4, 0x0000, 0xAF36, 0x0000, 0xBB48, 0x0000,
+0xBDB8, 0x0000, 0xBB16, 0x0000, 0xB1BA, 0x0000, 0xABD8, 0x0000, 0xBD10,
+0x0000, 0xC074, 0x0000, 0xC360, 0x0000, 0xBF14, 0x0000, 0xBFC8, 0x0000,
+0xBE7E, 0x0000, 0xBC36, 0x0000, 0xBA4A, 0x0000, 0xC456, 0x0000, 0xAD5E,
+0x0000, 0xB9A8, 0x0000, 0xC688, 0x0000, 0xC680, 0x0000, 0xC67C, 0x0000,
+0xC678, 0x0000, 0xC6A4, 0x0000, 0xC6A8, 0x0000, 0xC6AA, 0x0000, 0xC6AC,
+0x0000, 0xC6AE, 0x0000, 0xC654, 0x0000, 0xC67C, 0x0000, 0xC67C, 0x0000,
+0xC6A4, 0x0000, 0x0000, 0x0000, 0xA910, 0x0000, 0x8F7C, 0x0000, 0xB07E,
+0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000,
+0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0100, 0xFFFF, 0xFFFF,
+0x0000, 0x0000, 0x0100, 0x3E52, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x82B8, 0x83A0, 0xFFFF, 0xFFFF,
+0xFFFF, 0x83F4, 0xFFFF, 0x83E6, 0xFFFF, 0x81EA, 0xFFFF, 0xFFFF, 0x8054,
+0x836C, 0x82D2, 0x803C, 0xFFFF, 0xFFFF, 0x8408, 0x83BE, 0x82CE, 0xFFFF,
+0x82D6, 0x8326, 0x8006,
+};
+
+const uint32_t MSP_FetCoreImage_address[] =
+{
+0x00008000, 0x0000FE00,
+};
+const uint32_t MSP_FetCoreImage_length_of_sections[] =
+{
+0x00002600, 0x00000100,
+};
+const uint32_t MSP_FetCoreImage_sections = 0x00000002;
+const uint32_t MSP_FetCoreImage_termination = 0x00000000;
+const uint32_t MSP_FetCoreImage_start = 0x00008000;
+const uint32_t MSP_FetCoreImage_finish = 0x00010000;
+const uint32_t MSP_FetCoreImage_length = 0x00008000;
+
+#define MSP_FETCOREIMAGE_TERMINATION 0x00000000
+#define MSP_FETCOREIMAGE_START 0x00008000
+#define MSP_FETCOREIMAGE_FINISH 0x00010000
+#define MSP_FETCOREIMAGE_LENGTH 0x00008000
+#define MSP_FETCOREIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/MSP_FetDcdc.h b/Bios/include/MSP_FetDcdc.h
new file mode 100644
index 0000000..df32bc8
--- /dev/null
+++ b/Bios/include/MSP_FetDcdc.h
@@ -0,0 +1,231 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetDcdcImage[] =
+{
+0x7200, 0x0004, 0x0005, 0x0005, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF66F, 0xABBA,
+0xABBA, 0x4180, 0xDBFE, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206,
+0x1840, 0x1207, 0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840,
+0x120B, 0x1840, 0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F,
+0x008C, 0x4E02, 0x403E, 0x0068, 0x403F, 0x0000, 0x13B4, 0x79E0, 0x1840,
+0x413F, 0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840, 0x413B,
+0x1840, 0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137, 0x1840,
+0x4136, 0x1840, 0x4135, 0x1840, 0x4134, 0x1A00, 0x4070, 0x78D0, 0x4011,
+0xDB84, 0x140A, 0x4C0A, 0x1840, 0x4A82, 0x4E68, 0x903A, 0xAAAA, 0x2406,
+0x903A, 0xAAAC, 0x2403, 0x903A, 0xAAAD, 0x2063, 0xC0F2, 0x0010, 0x0245,
+0xD0F2, 0x0020, 0x0245, 0xC0F2, 0x0020, 0x0243, 0xC0F2, 0x0080, 0x0245,
+0xC0F2, 0x0080, 0x0243, 0xD0F2, 0x0040, 0x0245, 0x403F, 0x49EE, 0x4303,
+0x432E, 0x533F, 0x633E, 0x2FFD, 0xC0F2, 0x0040, 0x0243, 0x403F, 0x49EE,
+0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD, 0xD0F2, 0x0040, 0x0243, 0xC0F2,
+0x0040, 0x0245, 0x40F2, 0x0003, 0x022A, 0x1800, 0x40F2, 0x05E0, 0x4E58,
+0x1800, 0x40F2, 0x05FD, 0x4E5C, 0x1800, 0x40F2, 0x05EE, 0x4E60, 0x1800,
+0x40F2, 0x05EC, 0x4E64, 0x002F, 0x4E58, 0xD3DF, 0x0000, 0x40F2, 0x000F,
+0x05E1, 0x002F, 0x4E58, 0x40FF, 0x0081, 0x0000, 0x40F2, 0x00C8, 0x05E6,
+0x43C2, 0x05E7, 0x40B2, 0x0048, 0x05F2, 0x002F, 0x4E58, 0xC3DF, 0x0000,
+0x403F, 0x49EE, 0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD, 0x1840, 0x4382,
+0x4E22, 0x1840, 0x4382, 0x4E56, 0x4A0C, 0x3C8B, 0x903A, 0xAAAB, 0x2003,
+0x403C, 0xAAAB, 0x3C85, 0x903A, 0xBBBB, 0x2403, 0x903A, 0xBBBC, 0x207E,
+0xC0F2, 0x0010, 0x0264, 0xC0F2, 0x0010, 0x0262, 0xD0F2, 0x0020, 0x0264,
+0x403F, 0x49EE, 0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD, 0xC0F2, 0x0020,
+0x0262, 0x403F, 0x49EE, 0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD, 0xD0F2,
+0x0020, 0x0262, 0xC0F2, 0x0020, 0x0264, 0xD0F2, 0x0060, 0x0265, 0xD0F2,
+0x0060, 0x026B, 0x1800, 0x40F2, 0x0620, 0x4E58, 0x1800, 0x40F2, 0x063D,
+0x4E5C, 0x1800, 0x40F2, 0x062E, 0x4E60, 0x1800, 0x40F2, 0x062C, 0x4E64,
+0x002F, 0x4E58, 0xD3DF, 0x0000, 0x40F2, 0x000F, 0x0621, 0x002F, 0x4E58,
+0x40FF, 0x0081, 0x0000, 0x40F2, 0x0014, 0x0626, 0x43C2, 0x0627, 0x40B2,
+0x0048, 0x0632, 0x002F, 0x4E58, 0xC3DF, 0x0000, 0x403F, 0x49EE, 0x4303,
+0x432E, 0x533F, 0x633E, 0x2FFD, 0xC3D2, 0x0205, 0xD3D2, 0x020B, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x40B2, 0x2D52, 0x01C0, 0xD3A2, 0x01C2,
+0x43D2, 0x01D0, 0x4382, 0x01C0, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2,
+0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x403C, 0x0CE4, 0x13B4,
+0x7A24, 0x1840, 0x4382, 0x4E22, 0x1840, 0x4382, 0x4E56, 0x4A0C, 0x3C01,
+0x433C, 0x160A, 0x0110, 0x145B, 0x8031, 0x0010, 0x0CCB, 0x4D08, 0x430C,
+0x4039, 0x000A, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0008, 0x4381,
+0x000A, 0x430A, 0x1840, 0x9E82, 0x4E22, 0x2006, 0x1840, 0x9392, 0x4E56,
+0x2002, 0x430C, 0x3CD3, 0x1840, 0x4E82, 0x4E22, 0x1840, 0x4382, 0x4E56,
+0x430A, 0x3C16, 0x411E, 0x0004, 0x411F, 0x0006, 0x531E, 0x630F, 0x4E81,
+0x0004, 0x4F81, 0x0006, 0x9381, 0x0006, 0x2BF3, 0x2004, 0x90B1, 0x4000,
+0x0004, 0x2BEE, 0xC0F2, 0x0080, 0x0242, 0x531A, 0x980A, 0x2CA8, 0x4A0F,
+0x0FEF, 0x0BEF, 0x4F26, 0x9306, 0x2002, 0x4039, 0x0032, 0x9226, 0x2002,
+0x4039, 0x0014, 0xD0F2, 0x0080, 0x0242, 0x460D, 0x403C, 0x0003, 0x13B4,
+0x781C, 0x930C, 0x2002, 0x433C, 0x3C9B, 0x4381, 0x0000, 0x4381, 0x0002,
+0x3C09, 0x412E, 0x411F, 0x0002, 0x531E, 0x630F, 0x4E81, 0x0000, 0x4F81,
+0x0002, 0x9381, 0x0002, 0x2BF4, 0x2004, 0x90B1, 0x4000, 0x0000, 0x2BEF,
+0x4381, 0x0000, 0x4381, 0x0002, 0x3C09, 0x412E, 0x411F, 0x0002, 0x531E,
+0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x9381, 0x0002, 0x2BF4, 0x2004,
+0x90B1, 0x4000, 0x0000, 0x2BEF, 0x4381, 0x0000, 0x4381, 0x0002, 0x3C09,
+0x412E, 0x411F, 0x0002, 0x531E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x9381, 0x0002, 0x2BF4, 0x2004, 0x90B1, 0x4000, 0x0000, 0x2BEF, 0x4381,
+0x0000, 0x4381, 0x0002, 0x3C09, 0x412E, 0x411F, 0x0002, 0x531E, 0x630F,
+0x4E81, 0x0000, 0x4F81, 0x0002, 0x9381, 0x0002, 0x2BF4, 0x2004, 0x90B1,
+0x4000, 0x0000, 0x2BEF, 0x490E, 0x410D, 0x523D, 0x410C, 0x503C, 0x000C,
+0x13B4, 0x765E, 0x411E, 0x000C, 0x411F, 0x000E, 0x4A0D, 0x0DED, 0x0DCC,
+0x064D, 0x0CED, 0x1840, 0x4E8D, 0x4E28, 0x1840, 0x4F8D, 0x4E2A, 0x411E,
+0x0008, 0x411F, 0x000A, 0x4A0D, 0x0DED, 0x0DCC, 0x064D, 0x0CED, 0x1840,
+0x4E8D, 0x4E24, 0x1840, 0x4F8D, 0x4E26, 0x4A0F, 0x0FEF, 0x0FCE, 0x064F,
+0x0EEF, 0x1840, 0x468F, 0x4E2C, 0x430D, 0x403C, 0x0003, 0x13B4, 0x781C,
+0x4381, 0x0004, 0x4381, 0x0006, 0x3F4A, 0x930C, 0x2005, 0x1840, 0x4382,
+0x4E56, 0x433C, 0x3C04, 0x1840, 0x4392, 0x4E56, 0x430C, 0x5031, 0x0010,
+0x1656, 0x0110, 0x145B, 0x8221, 0x4306, 0x430A, 0x4309, 0x4308, 0x430F,
+0x438C, 0x0000, 0x438C, 0x0002, 0x438D, 0x0000, 0x438D, 0x0002, 0x1840,
+0x90B2, 0xAAAC, 0x4E68, 0x2414, 0x1840, 0x90B2, 0xAAAA, 0x4E68, 0x240F,
+0x1840, 0x90B2, 0xBBBB, 0x4E68, 0x240A, 0x1840, 0x90B2, 0xBBBC, 0x4E68,
+0x2405, 0x1840, 0x90B2, 0xAAAD, 0x4E68, 0x2052, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x430F, 0x3C22, 0x412A, 0x411B, 0x0002, 0x531A, 0x630B,
+0x4A81, 0x0000, 0x4B81, 0x0002, 0x9381, 0x0002, 0x2BF4, 0x2004, 0x90B1,
+0x4000, 0x0000, 0x2BEF, 0x421A, 0x03D0, 0x4218, 0x0350, 0x8908, 0x4309,
+0x588D, 0x0000, 0x698D, 0x0002, 0x860A, 0x430B, 0x5A8C, 0x0000, 0x6B8C,
+0x0002, 0x531F, 0x9E0F, 0x2C1C, 0xD0B2, 0x0026, 0x0340, 0x4216, 0x03D0,
+0x4219, 0x0350, 0xC3A2, 0x0700, 0x40F2, 0x0011, 0x0710, 0xD3A2, 0x0700,
+0xC392, 0x070A, 0xD392, 0x0700, 0xB392, 0x070A, 0x2BFD, 0xC392, 0x070A,
+0x4381, 0x0000, 0x4381, 0x0002, 0x3FC9, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x5221, 0x1656,
+0x0110, 0x8321, 0x403F, 0x2710, 0x002E, 0x4E58, 0xB2EE, 0x0000, 0x2803,
+0x533F, 0x930F, 0x23F8, 0x930F, 0x2002, 0x430C, 0x3C51, 0x002F, 0x4E58,
+0xC0FF, 0x0010, 0x0000, 0x002F, 0x4E58, 0xD3EF, 0x0000, 0x403F, 0x2710,
+0x002E, 0x4E5C, 0xB3DE, 0x0000, 0x2C03, 0x533F, 0x930F, 0x23F8, 0x930F,
+0x2002, 0x430C, 0x3C3A, 0x002F, 0x4E5C, 0xC3DF, 0x0000, 0x002F, 0x4E64,
+0x1840, 0x4FE1, 0x0000, 0x002F, 0x4E58, 0xD2EF, 0x0000, 0x403F, 0x2710,
+0x002E, 0x4E58, 0xB2EE, 0x0000, 0x2803, 0x533F, 0x930F, 0x23F8, 0x930F,
+0x2002, 0x430C, 0x3C1F, 0x403F, 0x2710, 0x002E, 0x4E5C, 0xB3DE, 0x0000,
+0x2C03, 0x533F, 0x930F, 0x23F8, 0x930F, 0x2002, 0x430C, 0x3C11, 0x002F,
+0x4E64, 0x1840, 0x4FE1, 0x0001, 0x416E, 0x4E4E, 0xF03E, 0x00FF, 0x108E,
+0x415F, 0x0001, 0x4F4F, 0x5F0E, 0x4E8C, 0x0000, 0x431C, 0x5321, 0x0110,
+0x8221, 0x4CC1, 0x0000, 0x4D0F, 0x108F, 0xF03F, 0x00FF, 0x4FC1, 0x0001,
+0x4DC1, 0x0002, 0x002F, 0x4E58, 0xD0FF, 0x0012, 0x0000, 0x403F, 0x0681,
+0x533F, 0x2FFE, 0x002F, 0x4E5C, 0xB0FF, 0x0020, 0x0000, 0x2802, 0x430C,
+0x3C3C, 0x416E, 0x002F, 0x4E60, 0x4ECF, 0x0000, 0x403F, 0x0681, 0x533F,
+0x2FFE, 0x002F, 0x4E5C, 0xB0FF, 0x0020, 0x0000, 0x2802, 0x430C, 0x3C2B,
+0x415E, 0x0001, 0x002F, 0x4E60, 0x4ECF, 0x0000, 0x403F, 0x0681, 0x533F,
+0x2FFE, 0x002F, 0x4E5C, 0xB0FF, 0x0020, 0x0000, 0x2802, 0x430C, 0x3C19,
+0x415E, 0x0002, 0x002F, 0x4E60, 0x4ECF, 0x0000, 0x403F, 0x2710, 0x002E,
+0x4E5C, 0xB3EE, 0x0000, 0x2C03, 0x533F, 0x930F, 0x23F8, 0x930F, 0x2002,
+0x430C, 0x3C05, 0x002F, 0x4E58, 0xD2EF, 0x0000, 0x431C, 0x5221, 0x0110,
+0x1A00, 0x40F2, 0x747A, 0x4E0A, 0x1A00, 0x40F2, 0x7998, 0x4E02, 0x1A00,
+0x40F2, 0x7A38, 0x4E06, 0x1A00, 0x40F2, 0x7A0E, 0x4E0E, 0x1A00, 0x40F2,
+0x7A24, 0x4E12, 0x1A00, 0x40F2, 0x727E, 0x4E16, 0x1A00, 0x40F2, 0x793C,
+0x4E1A, 0x1A00, 0x40F2, 0x7A3E, 0x4E1E, 0x008E, 0x4E02, 0x008D, 0x0010,
+0x13B4, 0x79F8, 0x1800, 0x43C2, 0x4E58, 0x1800, 0x43C2, 0x4E5C, 0x1800,
+0x43C2, 0x4E60, 0x1800, 0x43C2, 0x4E64, 0x1840, 0x4382, 0x4E68, 0x0110,
+0x143B, 0x430C, 0x430C, 0x013A, 0x0014, 0x3C24, 0x4C0B, 0x0BEB, 0x0BC8,
+0x064B, 0x08EB, 0x1840, 0x9D8B, 0x4E2C, 0x201A, 0x4C0B, 0x0BEB, 0x0BC8,
+0x064B, 0x08EB, 0x1840, 0x4B9A, 0x4E24, 0x0000, 0x1840, 0x4B9A, 0x4E26,
+0x0002, 0x4C0B, 0x0BEB, 0x0BC8, 0x064B, 0x08EB, 0x1840, 0x4B9F, 0x4E28,
+0x0000, 0x1840, 0x4B9F, 0x4E2A, 0x0002, 0x531C, 0x9E0C, 0x2BDA, 0x1638,
+0x0110, 0x8321, 0x4381, 0x0000, 0xD0F2, 0x0020, 0x0264, 0x403F, 0x49EE,
+0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD, 0xC0F2, 0x0020, 0x0262, 0x403F,
+0x49EE, 0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD, 0xD0F2, 0x0020, 0x0262,
+0xC0F2, 0x0020, 0x0264, 0x410C, 0x530C, 0x13B4, 0x7758, 0x412C, 0x5321,
+0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE, 0x3C04, 0x43CC, 0x0000, 0x00AC,
+0x0001, 0x0EDC, 0x23FA, 0x0110, 0x1800, 0x124C, 0x4EBC, 0x0000, 0x03EC,
+0x00BD, 0x0001, 0x23FA, 0x1800, 0x417C, 0x0110, 0x403D, 0x5A5A, 0x422C,
+0x13B4, 0x781C, 0x930C, 0x2002, 0x433C, 0x0110, 0x430C, 0x0110, 0x4C0D,
+0x431C, 0x13B4, 0x781C, 0x930C, 0x2002, 0x433C, 0x0110, 0x430C, 0x0110,
+0x403C, 0x0005, 0x0110, 0x403C, 0x0005, 0x0110, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF,
+};
+
+const uint32_t MSP_FetDcdcImage_address[] =
+{
+0x00001800, 0x00047200,
+};
+const uint32_t MSP_FetDcdcImage_length_of_sections[] =
+{
+0x00000040, 0x00000700,
+};
+const uint32_t MSP_FetDcdcImage_sections = 0x00000002;
+const uint32_t MSP_FetDcdcImage_termination = 0x00000000;
+const uint32_t MSP_FetDcdcImage_start = 0x00001800;
+const uint32_t MSP_FetDcdcImage_finish = 0x00048000;
+const uint32_t MSP_FetDcdcImage_length = 0x00046800;
+
+#define MSP_FETDCDCIMAGE_TERMINATION 0x00000000
+#define MSP_FETDCDCIMAGE_START 0x00001800
+#define MSP_FETDCDCIMAGE_FINISH 0x00048000
+#define MSP_FETDCDCIMAGE_LENGTH 0x00046800
+#define MSP_FETDCDCIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/MSP_FetDcdcController.h b/Bios/include/MSP_FetDcdcController.h
new file mode 100644
index 0000000..255d48f
--- /dev/null
+++ b/Bios/include/MSP_FetDcdcController.h
@@ -0,0 +1,83 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetDcdcControllerImage[] =
+{
+0x0011, 0x0390, 0x0302, 0x0302, 0x0302, 0x0402, 0x0402, 0x0502, 0x0502,
+0x0502, 0x0502, 0x0502, 0x0502, 0x0602, 0x0602, 0x0603, 0x0603, 0x0703,
+0x0703, 0x0703, 0x0803, 0x0803, 0x0803, 0x0803, 0x0903, 0x0903, 0xFF03,
+0x4031, 0x0300, 0x403C, 0x0200, 0x403D, 0x0003, 0x12B0, 0xE3F6, 0x12B0,
+0xE1AE, 0x12B0, 0xE40C, 0x120F, 0x120E, 0xB3E2, 0x0079, 0x2804, 0x43A2,
+0x0204, 0x4382, 0x0206, 0x421F, 0x0204, 0x830F, 0x249C, 0x832F, 0x240F,
+0x832F, 0x2419, 0x832F, 0x2434, 0x832F, 0x2437, 0x832F, 0x243D, 0x823F,
+0x246B, 0x832F, 0x2474, 0x832F, 0x247A, 0x3C8B, 0x425E, 0x007B, 0xF07E,
+0x00E0, 0x527E, 0x4EC2, 0x007B, 0xC3E2, 0x0079, 0x42A2, 0x0204, 0x3C7F,
+0xD3E2, 0x0078, 0x425E, 0x007C, 0xF07E, 0x00FE, 0x925E, 0xE000, 0x200C,
+0xB3D2, 0x007C, 0x2804, 0x40B2, 0x0012, 0x0204, 0x3C02, 0x42B2, 0x0204,
+0x43C2, 0x007C, 0x3C05, 0x43F2, 0x007C, 0x40B2, 0x0006, 0x0204, 0xD3D2,
+0x007B, 0x3C62, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C5D, 0xC3E2, 0x0078,
+0xD2F2, 0x007B, 0x40B2, 0x000A, 0x0204, 0x3C55, 0xD3E2, 0x0078, 0x90B2,
+0x0003, 0x0206, 0x2C07, 0x421F, 0x0206, 0x42DF, 0x007C, 0x020D, 0x5392,
+0x0206, 0x43C2, 0x007C, 0x90B2, 0x0003, 0x0206, 0x2818, 0x425F, 0x020D,
+0x4F4F, 0x4F82, 0x0208, 0x425F, 0x020E, 0x4F4F, 0xF03F, 0x00FF, 0x108F,
+0x4F82, 0x020A, 0x425F, 0x020F, 0x4F4F, 0x5F82, 0x020A, 0x40B2, 0x0006,
+0x0204, 0x4382, 0x0206, 0x3C02, 0x42B2, 0x0204, 0xD3D2, 0x007B, 0x3C25,
+0xD3E2, 0x0078, 0x42D2, 0x1001, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0x3C1A, 0xC3E2, 0x0078, 0xD3D2, 0x007B, 0x40B2, 0x0016, 0x0204,
+0x3C12, 0xB3D2, 0x007C, 0x2805, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C0A,
+0xD3E2, 0x0078, 0x42D2, 0x1000, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0xC3D2, 0x0079, 0xC0B1, 0x00D0, 0x0004, 0x413E, 0x413F, 0x1300,
+0x40B2, 0x5A80, 0x0120, 0xD2E2, 0x0026, 0xF0F2, 0x00F5, 0x0021, 0x40F2,
+0x000E, 0x0022, 0xF0F2, 0x003F, 0x002E, 0xF0F2, 0x003F, 0x0042, 0x43C2,
+0x0029, 0x43F2, 0x002A, 0x40F2, 0x0021, 0x005B, 0x40F2, 0x002C, 0x005A,
+0x42F2, 0x0059, 0x42D2, 0x10F8, 0x0056, 0x42D2, 0x10F9, 0x0057, 0x40B2,
+0x0060, 0x0164, 0x42B2, 0x0172, 0x43A2, 0x0174, 0x4034, 0x0224, 0x4305,
+0xD0F2, 0x0020, 0x0053, 0x40B2, 0x5A3F, 0x0120, 0xD3D2, 0x0000, 0x43C2,
+0x020C, 0x43B2, 0x0208, 0x4382, 0x0204, 0x4382, 0x0206, 0x40F2, 0x00C1,
+0x0078, 0x40F2, 0x0070, 0x0079, 0x40F2, 0x00EE, 0x007A, 0xD0F2, 0x0020,
+0x007B, 0xC3D2, 0x0078, 0xC3D2, 0x0079, 0xD232, 0x403C, 0x0BB8, 0x12B0,
+0xE276, 0xB3D2, 0x005A, 0x2C04, 0x4482, 0x0160, 0x4303, 0x3C03, 0x42A2,
+0x0160, 0x5315, 0x93B2, 0x0208, 0x27F3, 0x421C, 0x020A, 0x12B0, 0xE318,
+0x3FEE, 0x120A, 0x4C0A, 0x430C, 0x4A0F, 0xF03F, 0x7FFF, 0x4F82, 0x0200,
+0x4A0F, 0xE33F, 0x5F0F, 0x7F0F, 0xF35F, 0x4FC2, 0x0202, 0x90B2, 0x04B0,
+0x0200, 0x3819, 0x90B2, 0x0E11, 0x0200, 0x3415, 0x421F, 0x0200, 0x503F,
+0xFB50, 0x4F0C, 0x403E, 0x0064, 0x12B0, 0xE39A, 0x4C0E, 0x5E0E, 0x425F,
+0x0202, 0x4F4F, 0x5F0E, 0x4E5F, 0xE001, 0x4F4F, 0x531F, 0x4F82, 0x0172,
+0x413A, 0x4130, 0x120F, 0x120E, 0xB0F2, 0x0010, 0x0020, 0x2C19, 0x9305,
+0x2013, 0x425E, 0x020C, 0x535E, 0x4EC2, 0x020C, 0x926E, 0x2810, 0xD2F2,
+0x0021, 0x403F, 0x12CE, 0x403E, 0x0013, 0x533F, 0x633E, 0x2FFD, 0x43C2,
+0x020C, 0x3C04, 0xC2F2, 0x0021, 0x43C2, 0x020C, 0x4305, 0x413E, 0x413F,
+0x1300, 0x120A, 0x4C0A, 0x421F, 0x0208, 0x831F, 0x2407, 0x831F, 0x2409,
+0x831F, 0x240B, 0x831F, 0x240D, 0x3C0F, 0x4A0C, 0x12B0, 0xE276, 0x3C0B,
+0x4A0C, 0x12B0, 0xE3B2, 0x3C07, 0x4A0C, 0x12B0, 0xE358, 0x3C03, 0x4A0C,
+0x12B0, 0xE3E0, 0x43B2, 0x0208, 0x413A, 0x4130, 0xD3E2, 0x0022, 0xD0F2,
+0x00C0, 0x002A, 0xB31C, 0x2804, 0xD0F2, 0x0040, 0x0029, 0x3C03, 0xC0F2,
+0x0040, 0x0029, 0xB32C, 0x2803, 0xD3E2, 0x0021, 0x3C02, 0xC3E2, 0x0021,
+0xB22C, 0x2804, 0xD0F2, 0x0080, 0x0029, 0x4130, 0xC0F2, 0x0080, 0x0029,
+0x4130, 0xF37C, 0xF37E, 0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E,
+0x9F0E, 0x2801, 0x8F0E, 0x6C0C, 0x2BF9, 0x4130, 0x930C, 0x2002, 0x4224,
+0x4130, 0x903C, 0x000A, 0x3404, 0x4C82, 0x0172, 0x4034, 0x0224, 0x4130,
+0x120A, 0x8321, 0x4C0A, 0x4A81, 0x0000, 0x410D, 0x530D, 0x435C, 0x12B0,
+0xE410, 0x3FF8, 0x903C, 0x5A5A, 0x2007, 0xC3D2, 0x0000, 0xD032, 0x00D8,
+0x4303, 0xD3D2, 0x0000, 0x4130, 0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000,
+0x531C, 0x9F0C, 0x23FB, 0x4130, 0x4030, 0xE3CA, 0x4030, 0xE408, 0x4130,
+0xE04C, 0xE2D2, 0xE034,
+};
+
+const uint32_t MSP_FetDcdcControllerImage_address[] =
+{
+0x00001000, 0x0000E000, 0x0000FFE8, 0x0000FFF4, 0x0000FFFE,
+};
+const uint32_t MSP_FetDcdcControllerImage_length_of_sections[] =
+{
+0x00000001, 0x00000209, 0x00000001, 0x00000001, 0x00000001,
+};
+const uint32_t MSP_FetDcdcControllerImage_sections = 0x00000005;
+const uint32_t MSP_FetDcdcControllerImage_termination = 0x00000000;
+const uint32_t MSP_FetDcdcControllerImage_start = 0x00001000;
+const uint32_t MSP_FetDcdcControllerImage_finish = 0x00010000;
+const uint32_t MSP_FetDcdcControllerImage_length = 0x0000F000;
+
+#define MSP_FETDCDCCONTROLLERIMAGE_TERMINATION 0x00000000
+#define MSP_FETDCDCCONTROLLERIMAGE_START 0x00001000
+#define MSP_FETDCDCCONTROLLERIMAGE_FINISH 0x00010000
+#define MSP_FETDCDCCONTROLLERIMAGE_LENGTH 0x0000F000
+#define MSP_FETDCDCCONTROLLERIMAGE_SECTIONS 0x00000005
diff --git a/Bios/include/MSP_FetDcdcControllerV2x.h b/Bios/include/MSP_FetDcdcControllerV2x.h
new file mode 100644
index 0000000..2816af7
--- /dev/null
+++ b/Bios/include/MSP_FetDcdcControllerV2x.h
@@ -0,0 +1,83 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetDcdcControllerV2xImage[] =
+{
+0x0034, 0x0390, 0x0302, 0x0302, 0x0302, 0x0402, 0x0402, 0x0602, 0x0603,
+0x0603, 0x0603, 0x0703, 0x0703, 0x0703, 0x0703, 0x0703, 0x0703, 0x0803,
+0x0803, 0x0803, 0x0903, 0x0903, 0x0A03, 0x0B03, 0x0B03, 0x0B03, 0xFF03,
+0x4031, 0x0300, 0x403C, 0x0200, 0x403D, 0x0003, 0x12B0, 0xE3F6, 0x12B0,
+0xE1AE, 0x12B0, 0xE40C, 0x120F, 0x120E, 0xB3E2, 0x0079, 0x2804, 0x43A2,
+0x0204, 0x4382, 0x0206, 0x421F, 0x0204, 0x830F, 0x249C, 0x832F, 0x240F,
+0x832F, 0x2419, 0x832F, 0x2434, 0x832F, 0x2437, 0x832F, 0x243D, 0x823F,
+0x246B, 0x832F, 0x2474, 0x832F, 0x247A, 0x3C8B, 0x425E, 0x007B, 0xF07E,
+0x00E0, 0x527E, 0x4EC2, 0x007B, 0xC3E2, 0x0079, 0x42A2, 0x0204, 0x3C7F,
+0xD3E2, 0x0078, 0x425E, 0x007C, 0xF07E, 0x00FE, 0x925E, 0xE000, 0x200C,
+0xB3D2, 0x007C, 0x2804, 0x40B2, 0x0012, 0x0204, 0x3C02, 0x42B2, 0x0204,
+0x43C2, 0x007C, 0x3C05, 0x43F2, 0x007C, 0x40B2, 0x0006, 0x0204, 0xD3D2,
+0x007B, 0x3C62, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C5D, 0xC3E2, 0x0078,
+0xD2F2, 0x007B, 0x40B2, 0x000A, 0x0204, 0x3C55, 0xD3E2, 0x0078, 0x90B2,
+0x0003, 0x0206, 0x2C07, 0x421F, 0x0206, 0x42DF, 0x007C, 0x020D, 0x5392,
+0x0206, 0x43C2, 0x007C, 0x90B2, 0x0003, 0x0206, 0x2818, 0x425F, 0x020D,
+0x4F4F, 0x4F82, 0x0208, 0x425F, 0x020E, 0x4F4F, 0xF03F, 0x00FF, 0x108F,
+0x4F82, 0x020A, 0x425F, 0x020F, 0x4F4F, 0x5F82, 0x020A, 0x40B2, 0x0006,
+0x0204, 0x4382, 0x0206, 0x3C02, 0x42B2, 0x0204, 0xD3D2, 0x007B, 0x3C25,
+0xD3E2, 0x0078, 0x42D2, 0x1001, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0x3C1A, 0xC3E2, 0x0078, 0xD3D2, 0x007B, 0x40B2, 0x0016, 0x0204,
+0x3C12, 0xB3D2, 0x007C, 0x2805, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C0A,
+0xD3E2, 0x0078, 0x42D2, 0x1000, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0xC3D2, 0x0079, 0xC0B1, 0x00D0, 0x0004, 0x413E, 0x413F, 0x1300,
+0x40B2, 0x5A80, 0x0120, 0xD2E2, 0x0026, 0xF0F2, 0x00F5, 0x0021, 0x40F2,
+0x000E, 0x0022, 0xF0F2, 0x003F, 0x002E, 0xF0F2, 0x003F, 0x0042, 0x43C2,
+0x0029, 0x43F2, 0x002A, 0x40F2, 0x0021, 0x005B, 0x40F2, 0x002C, 0x005A,
+0x42F2, 0x0059, 0x42D2, 0x10F8, 0x0056, 0x42D2, 0x10F9, 0x0057, 0x40B2,
+0x0060, 0x0164, 0x42B2, 0x0172, 0x43A2, 0x0174, 0x4034, 0x0224, 0x4305,
+0xD0F2, 0x0020, 0x0053, 0x40B2, 0x5A3F, 0x0120, 0xD3D2, 0x0000, 0x43C2,
+0x020C, 0x43B2, 0x0208, 0x4382, 0x0204, 0x4382, 0x0206, 0x40F2, 0x00C1,
+0x0078, 0x40F2, 0x0070, 0x0079, 0x40F2, 0x00EE, 0x007A, 0xD0F2, 0x0020,
+0x007B, 0xC3D2, 0x0078, 0xC3D2, 0x0079, 0xD232, 0x403C, 0x0BB8, 0x12B0,
+0xE276, 0xB3D2, 0x005A, 0x2C04, 0x4482, 0x0160, 0x4303, 0x3C03, 0x42A2,
+0x0160, 0x5315, 0x93B2, 0x0208, 0x27F3, 0x421C, 0x020A, 0x12B0, 0xE318,
+0x3FEE, 0x120A, 0x4C0A, 0x430C, 0x4A0F, 0xF03F, 0x7FFF, 0x4F82, 0x0200,
+0x4A0F, 0xE33F, 0x5F0F, 0x7F0F, 0xF35F, 0x4FC2, 0x0202, 0x90B2, 0x04B0,
+0x0200, 0x3819, 0x90B2, 0x0E11, 0x0200, 0x3415, 0x421F, 0x0200, 0x503F,
+0xFB50, 0x4F0C, 0x403E, 0x0064, 0x12B0, 0xE39A, 0x4C0E, 0x5E0E, 0x425F,
+0x0202, 0x4F4F, 0x5F0E, 0x4E5F, 0xE001, 0x4F4F, 0x531F, 0x4F82, 0x0172,
+0x413A, 0x4130, 0x120F, 0x120E, 0xB0F2, 0x0010, 0x0020, 0x2C19, 0x9305,
+0x2013, 0x425E, 0x020C, 0x535E, 0x4EC2, 0x020C, 0x926E, 0x2810, 0xD2F2,
+0x0021, 0x403F, 0x12CE, 0x403E, 0x0013, 0x533F, 0x633E, 0x2FFD, 0x43C2,
+0x020C, 0x3C04, 0xC2F2, 0x0021, 0x43C2, 0x020C, 0x4305, 0x413E, 0x413F,
+0x1300, 0x120A, 0x4C0A, 0x421F, 0x0208, 0x831F, 0x2407, 0x831F, 0x2409,
+0x831F, 0x240B, 0x831F, 0x240D, 0x3C0F, 0x4A0C, 0x12B0, 0xE276, 0x3C0B,
+0x4A0C, 0x12B0, 0xE3B2, 0x3C07, 0x4A0C, 0x12B0, 0xE358, 0x3C03, 0x4A0C,
+0x12B0, 0xE3E0, 0x43B2, 0x0208, 0x413A, 0x4130, 0xD3E2, 0x0022, 0xD0F2,
+0x00C0, 0x002A, 0xB31C, 0x2804, 0xD0F2, 0x0040, 0x0029, 0x3C03, 0xC0F2,
+0x0040, 0x0029, 0xB32C, 0x2803, 0xD3E2, 0x0021, 0x3C02, 0xC3E2, 0x0021,
+0xB22C, 0x2804, 0xD0F2, 0x0080, 0x0029, 0x4130, 0xC0F2, 0x0080, 0x0029,
+0x4130, 0xF37C, 0xF37E, 0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E,
+0x9F0E, 0x2801, 0x8F0E, 0x6C0C, 0x2BF9, 0x4130, 0x930C, 0x2002, 0x4224,
+0x4130, 0x903C, 0x000A, 0x3404, 0x4C82, 0x0172, 0x4034, 0x0224, 0x4130,
+0x120A, 0x8321, 0x4C0A, 0x4A81, 0x0000, 0x410D, 0x530D, 0x435C, 0x12B0,
+0xE410, 0x3FF8, 0x903C, 0x5A5A, 0x2007, 0xC3D2, 0x0000, 0xD032, 0x00D8,
+0x4303, 0xD3D2, 0x0000, 0x4130, 0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000,
+0x531C, 0x9F0C, 0x23FB, 0x4130, 0x4030, 0xE3CA, 0x4030, 0xE408, 0x4130,
+0xE04C, 0xE2D2, 0xE034,
+};
+
+const uint32_t MSP_FetDcdcControllerV2xImage_address[] =
+{
+0x00001000, 0x0000E000, 0x0000FFE8, 0x0000FFF4, 0x0000FFFE,
+};
+const uint32_t MSP_FetDcdcControllerV2xImage_length_of_sections[] =
+{
+0x00000001, 0x00000209, 0x00000001, 0x00000001, 0x00000001,
+};
+const uint32_t MSP_FetDcdcControllerV2xImage_sections = 0x00000005;
+const uint32_t MSP_FetDcdcControllerV2xImage_termination = 0x00000000;
+const uint32_t MSP_FetDcdcControllerV2xImage_start = 0x00001000;
+const uint32_t MSP_FetDcdcControllerV2xImage_finish = 0x00010000;
+const uint32_t MSP_FetDcdcControllerV2xImage_length = 0x0000F000;
+
+#define MSP_FETDCDCCONTROLLERV2XIMAGE_TERMINATION 0x00000000
+#define MSP_FETDCDCCONTROLLERV2XIMAGE_START 0x00001000
+#define MSP_FETDCDCCONTROLLERV2XIMAGE_FINISH 0x00010000
+#define MSP_FETDCDCCONTROLLERV2XIMAGE_LENGTH 0x0000F000
+#define MSP_FETDCDCCONTROLLERV2XIMAGE_SECTIONS 0x00000005
diff --git a/Bios/include/MSP_FetFpgaHal.h b/Bios/include/MSP_FetFpgaHal.h
new file mode 100644
index 0000000..98f7255
--- /dev/null
+++ b/Bios/include/MSP_FetFpgaHal.h
@@ -0,0 +1,10300 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetFpgaHalImage[] =
+{
+0x8E00, 0x0001, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0016, 0x15C2, 0xADAC,
+0xADAC, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206, 0x1840, 0x1207,
+0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840, 0x120B, 0x1840,
+0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F, 0x008C, 0x2406,
+0x403E, 0x0065, 0x403F, 0x0000, 0x13B1, 0xAD68, 0x008C, 0x2400, 0x038D,
+0xA872, 0x403E, 0x0005, 0x403F, 0x0000, 0x13B1, 0xADD0, 0x1840, 0x413F,
+0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840, 0x413B, 0x1840,
+0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137, 0x1840, 0x4136,
+0x1840, 0x4135, 0x1840, 0x4134, 0x1880, 0x4070, 0xA77E, 0x1840, 0x43F2,
+0x2458, 0x008C, 0x2436, 0x13B1, 0xAD02, 0x434D, 0x3C08, 0x4303, 0x1840,
+0x40F2, 0x00C0, 0x2458, 0x13B1, 0xAD26, 0x435D, 0x436C, 0x0180, 0x99BC,
+0x140A, 0x008A, 0x2458, 0x40FA, 0x00C0, 0x0000, 0x13B1, 0xAD26, 0x435D,
+0x436C, 0x13B1, 0x99BC, 0x40FA, 0x00F9, 0x0000, 0x13B1, 0xAD26, 0x008F,
+0x2436, 0x403E, 0x0003, 0x430C, 0x430D, 0x13B1, 0xA636, 0x435D, 0x436C,
+0x13B1, 0x99BC, 0x40FA, 0x00BF, 0x0000, 0x13B1, 0xAD26, 0x407D, 0x0003,
+0x436C, 0x13B1, 0x99BC, 0x403C, 0x014A, 0x430D, 0x13B1, 0xAC8E, 0x008E,
+0x2437, 0x434D, 0x403C, 0x0080, 0x13B1, 0xA668, 0x160A, 0x0110, 0x143B,
+0x430E, 0x430F, 0x1840, 0x4219, 0x2418, 0x494A, 0x035A, 0xF07A, 0x003C,
+0x494D, 0xF07D, 0x0003, 0xDA4D, 0x008A, 0x2436, 0x4DCA, 0x0000, 0x1089,
+0xF379, 0x1109, 0x1109, 0x0088, 0x241A, 0xB0B8, 0x0010, 0x0002, 0x7B4B,
+0x535B, 0xF35B, 0xF35D, 0xBB4D, 0x2002, 0x403E, 0x3000, 0x481C, 0x0002,
+0x035C, 0xF36C, 0xDC4B, 0xB3EA, 0x0000, 0x2802, 0xB36B, 0x2C02, 0x403F,
+0x0003, 0x1840, 0x4E82, 0x2406, 0x1840, 0x4F82, 0x2408, 0x435D, 0x430E,
+0x430F, 0x407C, 0x001D, 0x13B1, 0x96C6, 0x1840, 0x421F, 0x2422, 0x1840,
+0xD21F, 0x2424, 0x930F, 0x2013, 0xFA6B, 0xFA69, 0xF079, 0x00C3, 0x994B,
+0x2008, 0x1840, 0xB8B2, 0x2406, 0x2004, 0x1840, 0xB8B2, 0x2408, 0x240F,
+0x1840, 0x40F2, 0x009A, 0x245E, 0x3C0A, 0x934B, 0x2408, 0xB0B8, 0x0100,
+0x0002, 0x2C04, 0x1840, 0x40F2, 0x0023, 0x245E, 0x1638, 0x0110, 0x141B,
+0x008B, 0x2458, 0x43DB, 0x0000, 0x008A, 0x2436, 0x0ACC, 0x13B1, 0xAD02,
+0x435D, 0x430E, 0x430F, 0x436C, 0x13B1, 0x96C6, 0x1840, 0x421F, 0x2422,
+0x1840, 0xD21F, 0x2424, 0x930F, 0x240C, 0x430E, 0x430F, 0x1840, 0x421D,
+0x2412, 0x436C, 0x13B1, 0xA608, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x40FB,
+0x00C0, 0x0000, 0x13B1, 0xAD26, 0x435D, 0x436C, 0x13B1, 0x99BC, 0x40FB,
+0x0080, 0x0000, 0x13B1, 0xAD26, 0x434F, 0x403E, 0x0012, 0x430C, 0x430D,
+0x13B1, 0xA636, 0x407D, 0x0003, 0x436C, 0x13B1, 0x99BC, 0x403C, 0x086D,
+0x430D, 0x13B1, 0xAC8E, 0x008B, 0x2437, 0x0BCE, 0x434D, 0x403C, 0x0012,
+0x13B1, 0xA668, 0x4B5E, 0x0002, 0xF07E, 0x0003, 0x907E, 0x0003, 0x2404,
+0x1840, 0x40F2, 0x0019, 0x245E, 0x43CA, 0x0000, 0x13B1, 0x8EB2, 0x4BDB,
+0x0001, 0x0000, 0x43DA, 0x0000, 0x008F, 0x2438, 0x4FDF, 0x0001, 0x0000,
+0x435E, 0x5A6E, 0x4FDF, 0x0002, 0x0001, 0x535E, 0x4ECA, 0x0000, 0x4FDF,
+0x0003, 0x0002, 0x53DA, 0x0000, 0x00AF, 0x0003, 0x90FA, 0x0007, 0x0000,
+0x2BEA, 0x1840, 0x93C2, 0x245E, 0x2011, 0x435D, 0x430E, 0x430F, 0x407C,
+0x001D, 0x13B1, 0x96C6, 0x1840, 0x421F, 0x2422, 0x1840, 0xD21F, 0x2424,
+0x930F, 0x2402, 0x13B1, 0x9F6C, 0x161A, 0x0110, 0x143B, 0x008B, 0x241A,
+0xB0BB, 0x0400, 0x0002, 0x2C0C, 0x1840, 0xB3D2, 0x2437, 0x2808, 0x1840,
+0x90B2, 0x03FF, 0x242E, 0x2C03, 0x1840, 0x5392, 0x242E, 0x403E, 0x2000,
+0x403F, 0x0200, 0xFB2E, 0xFB1F, 0x0002, 0x903E, 0x2000, 0x2006, 0x903F,
+0x0200, 0x2003, 0xD0BB, 0x0800, 0x0002, 0x403F, 0x0C00, 0xFB1F, 0x0002,
+0x903F, 0x0400, 0x2012, 0x13B1, 0xAC3C, 0x1840, 0x425E, 0x242E, 0x1845,
+0x5E4E, 0x1840, 0xDEC2, 0x2453, 0x1840, 0x421E, 0x242E, 0x075E, 0x1840,
+0x4EC2, 0x2454, 0x3C49, 0xB0BB, 0x0800, 0x0002, 0x2C45, 0x008A, 0x2436,
+0x43CA, 0x0000, 0x435D, 0x4A6E, 0x430F, 0x426C, 0x13B1, 0x96C6, 0x4A6F,
+0x503F, 0x000E, 0x1840, 0x4CCF, 0x2447, 0x53DA, 0x0000, 0x93EA, 0x0000,
+0x2BEF, 0x43CA, 0x0000, 0x435D, 0x4A6E, 0x430F, 0x435C, 0x13B1, 0x96C6,
+0x4A6F, 0x522F, 0x1840, 0x4CCF, 0x2447, 0x53DA, 0x0000, 0x90FA, 0x0009,
+0x0000, 0x2BEF, 0x008B, 0x2447, 0x1840, 0x425E, 0x242E, 0x1845, 0x5E4E,
+0xDECB, 0x000C, 0x1840, 0x421E, 0x242E, 0x075E, 0x4ECB, 0x000D, 0xD0FB,
+0x0048, 0x0003, 0xD3DB, 0x0000, 0xD0FB, 0x0080, 0x0002, 0xD0FB, 0x0040,
+0x0000, 0xD0FB, 0x0069, 0x0001, 0x434E, 0x008B, 0x2437, 0x0BCF, 0x43FF,
+0x0000, 0x43FF, 0x0001, 0x536E, 0x03EF, 0x907E, 0x0010, 0x2BF7, 0x008A,
+0x2436, 0x43CA, 0x0000, 0x0088, 0x2458, 0x40F8, 0x009F, 0x0000, 0x13B1,
+0xAD26, 0x0ACF, 0x403E, 0x0003, 0x430C, 0x430D, 0x13B1, 0xA636, 0x435D,
+0x436C, 0x13B1, 0x99BC, 0x40F8, 0x009B, 0x0000, 0x13B1, 0xAD26, 0x0BCF,
+0x403E, 0x0080, 0x430C, 0x430D, 0x13B1, 0xA636, 0x407D, 0x0005, 0x436C,
+0x13B1, 0x99BC, 0x403C, 0x2710, 0x430D, 0x13B1, 0xAC8E, 0x53DA, 0x0000,
+0x92FA, 0x0000, 0x2BD5, 0x40F8, 0x00A7, 0x0000, 0x13B1, 0xAD26, 0x008F,
+0x2447, 0x403E, 0x0080, 0x430C, 0x430D, 0x13B1, 0xA636, 0x407D, 0x000F,
+0x436C, 0x13B1, 0x99BC, 0x13B1, 0xA704, 0x1840, 0x93C2, 0x245E, 0x2025,
+0x40F8, 0x00C0, 0x0000, 0x13B1, 0xAD26, 0x435D, 0x436C, 0x13B1, 0x99BC,
+0x40F8, 0x00A8, 0x0000, 0x13B1, 0xAD26, 0x407D, 0x0003, 0x436C, 0x13B1,
+0x99BC, 0x403C, 0x014A, 0x430D, 0x13B1, 0xAC8E, 0x0BCE, 0x434D, 0x403C,
+0x0080, 0x13B1, 0xA668, 0x43CA, 0x0000, 0x008F, 0x2447, 0x4B7E, 0x9F7E,
+0x2405, 0x1840, 0x40F2, 0x0018, 0x245E, 0x3C0B, 0x53DA, 0x0000, 0x4B7E,
+0x9F7E, 0x23F6, 0x53DA, 0x0000, 0x90FA, 0x0010, 0x0000, 0x2BED, 0x1638,
+0x0110, 0x147B, 0x124E, 0x4C04, 0x4D05, 0x430A, 0x430B, 0x4349, 0x3C6D,
+0x4166, 0x4307, 0x9F07, 0x2803, 0x2008, 0x9E06, 0x2C06, 0x1840, 0x4682,
+0x2422, 0x1840, 0x4382, 0x2424, 0x434F, 0x1840, 0x93C2, 0x2422, 0x244F,
+0x1840, 0x4256, 0x2422, 0x4647, 0xF077, 0x0003, 0x240F, 0x4F4E, 0x08EE,
+0x4E6C, 0x430D, 0x494E, 0x1842, 0x5E4E, 0x13B1, 0xA9FA, 0xDC0A, 0xDD0B,
+0x5359, 0x535F, 0x5377, 0x23F1, 0x1941, 0x1046, 0x2436, 0x4F47, 0x08E7,
+0x476C, 0x430D, 0x494E, 0x1842, 0x5E4E, 0x13B1, 0xA9FA, 0xDC0A, 0xDD0B,
+0x5359, 0x535F, 0x4F47, 0x08E7, 0x476C, 0x430D, 0x494E, 0x1842, 0x5E4E,
+0x13B1, 0xA9FA, 0xDC0A, 0xDD0B, 0x5359, 0x535F, 0x4F47, 0x08E7, 0x476C,
+0x430D, 0x494E, 0x1842, 0x5E4E, 0x13B1, 0xA9FA, 0xDC0A, 0xDD0B, 0x5359,
+0x535F, 0x4F47, 0x08E7, 0x476C, 0x430D, 0x494E, 0x1842, 0x5E4E, 0x13B1,
+0xA9FA, 0xDC0A, 0xDD0B, 0x5359, 0x535F, 0x5376, 0x23CA, 0x1840, 0x5214,
+0x2422, 0x1840, 0x6215, 0x2424, 0x416E, 0x1840, 0x825E, 0x2422, 0x4EC1,
+0x0000, 0x93C1, 0x0000, 0x2423, 0x1840, 0x4382, 0x242A, 0x1840, 0x4382,
+0x242C, 0x4406, 0x4507, 0xF037, 0x1FFF, 0x1840, 0x421E, 0x2400, 0x1840,
+0x421F, 0x2402, 0x840E, 0x770F, 0x1840, 0x4E82, 0x2422, 0x1840, 0x4F82,
+0x2424, 0x0028, 0x241E, 0x1517, 0x1607, 0x07E8, 0x0860, 0x2432, 0x4E07,
+0xDF07, 0x9307, 0x236D, 0x4A0C, 0x4B0D, 0x5321, 0x1674, 0x0110, 0x147B,
+0x8321, 0x4C44, 0x0087, 0x245F, 0x94C7, 0x0000, 0x244C, 0x1840, 0x4382,
+0x242A, 0x1840, 0x4382, 0x242C, 0x43C7, 0x0000, 0x934C, 0x2442, 0x435E,
+0x403C, 0x0018, 0x430D, 0x13B1, 0x9322, 0x4C0A, 0x4D0B, 0x426E, 0x403C,
+0x0019, 0x430D, 0x13B1, 0x9322, 0x1840, 0x4C82, 0x2400, 0x1840, 0x4D82,
+0x2402, 0x435E, 0x4A0C, 0x4B0D, 0x533C, 0x633D, 0x13B1, 0x9322, 0x4C81,
+0x0000, 0x4306, 0x930C, 0x2422, 0x460E, 0x0A5E, 0x560E, 0x4A08, 0x4B09,
+0x5E08, 0x6309, 0x435E, 0x480C, 0x490D, 0x13B1, 0x9322, 0x4C45, 0x944C,
+0x2010, 0x426E, 0x5318, 0x6309, 0x480C, 0x490D, 0x13B1, 0x9322, 0x1840,
+0x4C82, 0x242A, 0x1840, 0x4D82, 0x242C, 0x45C7, 0x0000, 0x3C03, 0x5316,
+0x9126, 0x2BDE, 0x3FA8, 0x4303, 0x143B, 0x008A, 0x2457, 0x4A6E, 0x907E,
+0x0013, 0x2407, 0x907E, 0x0016, 0x2404, 0x936E, 0x2402, 0x13B1, 0x9C62,
+0x008B, 0x245E, 0x93CB, 0x0000, 0x20C7, 0x90FA, 0x0016, 0x0000, 0x200C,
+0x1840, 0x43F2, 0x2458, 0x008C, 0x2436, 0x13B1, 0xAD02, 0x434D, 0x436C,
+0x13B1, 0x99BC, 0x3CB7, 0x13B1, 0x8FE2, 0x93CB, 0x0000, 0x20B2, 0x13B1,
+0xA26C, 0x4A6E, 0x936E, 0x2449, 0x935E, 0x2447, 0x907E, 0x0012, 0x2444,
+0x13B1, 0x8F1C, 0x93CB, 0x0000, 0x203F, 0x435D, 0x403E, 0x0043, 0x430F,
+0x434C, 0x13B1, 0x96C6, 0x1840, 0x4CC2, 0x2436, 0x1840, 0x934C, 0x2411,
+0x1840, 0xD0F2, 0x0020, 0x245D, 0x1840, 0xB0B2, 0x0400, 0x2418, 0x7E4E,
+0x536E, 0x1840, 0x4EC2, 0x2459, 0x1840, 0xD0B2, 0x0400, 0x2418, 0x1840,
+0x93D2, 0x2404, 0x201D, 0x008E, 0x2418, 0x403C, 0xFD00, 0xFE2C, 0x4E28,
+0x1088, 0xF378, 0x1108, 0x1108, 0x4E6F, 0x035F, 0xF03F, 0x003C, 0x403D,
+0x0003, 0xFE2D, 0xDF0D, 0xE80D, 0xDC0D, 0x4D0F, 0xE03F, 0x0003, 0xBF0D,
+0x2404, 0x40FB, 0x0098, 0x0000, 0x3C62, 0x93CB, 0x0000, 0x205F, 0x4A6E,
+0x807E, 0x0003, 0x2411, 0x836E, 0x2416, 0x835E, 0x2417, 0x836E, 0x2425,
+0x835E, 0x242A, 0x835E, 0x242F, 0x835E, 0x2434, 0x835E, 0x2439, 0x835E,
+0x243E, 0x3C47, 0x1840, 0xD0B2, 0x0400, 0x241C, 0x13B1, 0xAAB4, 0x3C43,
+0x13B1, 0xA584, 0x3C40, 0x008E, 0x2418, 0xB39E, 0x0000, 0x2C08, 0x403F,
+0x0802, 0xFE2F, 0x932F, 0x2403, 0x93CE, 0x0000, 0x3430, 0x13B1, 0xAB10,
+0x3C30, 0x1840, 0xB392, 0x2418, 0x2829, 0x13B1, 0xA3BC, 0x3C29, 0x1840,
+0xB392, 0x2418, 0x2822, 0x13B1, 0xA35A, 0x3C22, 0x1840, 0xB392, 0x2418,
+0x281B, 0x13B1, 0xA336, 0x3C1B, 0x1840, 0xB3A2, 0x2418, 0x2814, 0x13B1,
+0xAD94, 0x3C14, 0x1840, 0xB3A2, 0x2418, 0x280D, 0x13B1, 0xAC66, 0x3C0D,
+0x403F, 0x0802, 0x1840, 0xF21F, 0x2418, 0x932F, 0x2003, 0x13B1, 0xADA6,
+0x3C03, 0x40FB, 0x0096, 0x0000, 0x13B1, 0xA860, 0x1638, 0x0110, 0x147B,
+0x124C, 0x124D, 0x4E04, 0x4F05, 0x430A, 0x430B, 0x4348, 0x3C72, 0x416E,
+0x430F, 0x1840, 0x921F, 0x2424, 0x2805, 0x200A, 0x1840, 0x921E, 0x2422,
+0x2C06, 0x1840, 0x4E82, 0x2422, 0x1840, 0x4382, 0x2424, 0x1840, 0x93C2,
+0x2422, 0x2451, 0x1840, 0x4256, 0x2422, 0x4649, 0xF079, 0x0003, 0x0027,
+0x2432, 0x240F, 0x4F4E, 0x07EE, 0x4E6C, 0x430D, 0x484E, 0x1842, 0x5E4E,
+0x13B1, 0xA9FA, 0xDC0A, 0xDD0B, 0x5358, 0x535F, 0x5379, 0x23F1, 0x1941,
+0x1046, 0x2436, 0x4F4E, 0x07EE, 0x4E6C, 0x430D, 0x484E, 0x1842, 0x5E4E,
+0x13B1, 0xA9FA, 0xDC0A, 0xDD0B, 0x5358, 0x535F, 0x4F4E, 0x07EE, 0x4E6C,
+0x430D, 0x484E, 0x1842, 0x5E4E, 0x13B1, 0xA9FA, 0xDC0A, 0xDD0B, 0x5358,
+0x535F, 0x4F4E, 0x07EE, 0x4E6C, 0x430D, 0x484E, 0x1842, 0x5E4E, 0x13B1,
+0xA9FA, 0xDC0A, 0xDD0B, 0x5358, 0x535F, 0x4F4E, 0x07EE, 0x4E6C, 0x430D,
+0x484E, 0x1842, 0x5E4E, 0x13B1, 0xA9FA, 0xDC0A, 0xDD0B, 0x5358, 0x535F,
+0x5376, 0x23CA, 0x1840, 0x5214, 0x2422, 0x1840, 0x6215, 0x2424, 0x416E,
+0x1840, 0x825E, 0x2422, 0x4EC1, 0x0000, 0x93C1, 0x0000, 0x2443, 0x4406,
+0x4507, 0x5606, 0x6707, 0x5606, 0x6707, 0x5606, 0x6707, 0x4349, 0x415C,
+0x0002, 0x13B1, 0x9462, 0x1840, 0x421F, 0x242A, 0x1840, 0xD21F, 0x242C,
+0x930F, 0x2006, 0x93C1, 0x0002, 0x2403, 0x430E, 0x430F, 0x3C19, 0x0357,
+0x1006, 0x1107, 0x1006, 0x1107, 0x1006, 0x1840, 0x5216, 0x242A, 0x1840,
+0x6217, 0x242C, 0x1840, 0x421E, 0x2400, 0x1840, 0x421F, 0x2402, 0x860E,
+0x770F, 0x0029, 0x241E, 0x1517, 0x1607, 0x07E9, 0x1840, 0x4E82, 0x2422,
+0x1840, 0x4F82, 0x2424, 0x0960, 0x2432, 0x1840, 0x4E0F, 0x1840, 0xD21F,
+0x2424, 0x930F, 0x2348, 0x4A0C, 0x4B0D, 0x5221, 0x1674, 0x0110, 0x143B,
+0x008A, 0x2458, 0x40FA, 0x008D, 0x0000, 0x13B1, 0xAD26, 0x008F, 0x2460,
+0x432E, 0x430C, 0x430D, 0x13B1, 0xA636, 0x4079, 0x0003, 0x494D, 0x436C,
+0x13B1, 0x99BC, 0x403C, 0x0108, 0x430D, 0x13B1, 0xAC8E, 0x13B1, 0xA704,
+0x008B, 0x245E, 0x93CB, 0x0000, 0x203B, 0x40FA, 0x008D, 0x0000, 0x13B1,
+0xAD26, 0x0088, 0x2436, 0x08CE, 0x008D, 0x2437, 0x432C, 0x13B1, 0xA668,
+0x486E, 0xB94E, 0x202B, 0x93CB, 0x0000, 0x202B, 0x40FA, 0x008E, 0x0000,
+0x13B1, 0xAD26, 0x008F, 0x2460, 0x432E, 0x430C, 0x430D, 0x13B1, 0xA636,
+0x494D, 0x436C, 0x13B1, 0x99BC, 0x403C, 0x0108, 0x430D, 0x13B1, 0xAC8E,
+0x13B1, 0xA704, 0x93CB, 0x0000, 0x200E, 0x40FA, 0x008E, 0x0000, 0x13B1,
+0xAD26, 0x08CE, 0x008D, 0x2437, 0x432C, 0x13B1, 0xA668, 0x486E, 0xB94E,
+0x2403, 0x40FB, 0x000B, 0x0000, 0x1638, 0x0110, 0x143B, 0x0089, 0x2458,
+0x40F9, 0x0087, 0x0000, 0x13B1, 0xAD26, 0x008A, 0x2436, 0x43EA, 0x0000,
+0x0ACF, 0x432E, 0x430C, 0x430D, 0x13B1, 0xA636, 0x407B, 0x0003, 0x4B4D,
+0x436C, 0x13B1, 0x99BC, 0x1840, 0x4382, 0x2414, 0x1840, 0x4382, 0x2416,
+0x0088, 0x2430, 0x433F, 0x1840, 0x521F, 0x2410, 0x4F88, 0x0000, 0x3C13,
+0x40F9, 0x0087, 0x0000, 0x13B1, 0xAD26, 0x4BCA, 0x0000, 0x0ACF, 0x432E,
+0x430C, 0x430D, 0x13B1, 0xA636, 0x4B4D, 0x436C, 0x13B1, 0x99BC, 0x53B8,
+0x0000, 0x9388, 0x0000, 0x3815, 0x13B1, 0xA688, 0x40F9, 0x0083, 0x0000,
+0x13B1, 0xAD26, 0x4B4D, 0x436C, 0x13B1, 0x99BC, 0x13B1, 0xA704, 0x1840,
+0x93C2, 0x245E, 0x27D9, 0x1840, 0x40F2, 0x000A, 0x245E, 0x1638, 0x0110,
+0x145B, 0x4C4B, 0x4D4A, 0x4348, 0x4349, 0x1840, 0x425E, 0x2464, 0x9E4C,
+0x2496, 0x4C4F, 0x835F, 0x2410, 0x835F, 0x243E, 0x835F, 0x2413, 0x835F,
+0x2422, 0x807F, 0x0003, 0x2451, 0x835F, 0x244B, 0x835F, 0x2458, 0x836F,
+0x2466, 0x3C6C, 0x13B1, 0xADB6, 0x4078, 0x0005, 0x4079, 0x001F, 0x3C69,
+0x935E, 0x2402, 0x936E, 0x2003, 0x4268, 0x4369, 0x3C62, 0x927E, 0x2403,
+0x907E, 0x0007, 0x205D, 0x4078, 0x0005, 0x4079, 0x0007, 0x3C58, 0x935E,
+0x2402, 0x936E, 0x2005, 0x4078, 0x0005, 0x4079, 0x0006, 0x3C4F, 0x907E,
+0x0007, 0x2402, 0x927E, 0x2005, 0x4078, 0x0006, 0x4079, 0x000F, 0x3C45,
+0x907E, 0x0009, 0x2042, 0x4268, 0x3C32, 0x935E, 0x241B, 0x907E, 0x0006,
+0x2403, 0x907E, 0x0005, 0x2002, 0x4368, 0x3C22, 0x907E, 0x0007, 0x2405,
+0x927E, 0x2403, 0x907E, 0x000B, 0x202E, 0x4078, 0x0003, 0x4849, 0x3C2A,
+0x907E, 0x0006, 0x2027, 0x3C03, 0x907E, 0x0005, 0x2002, 0x4358, 0x3C21,
+0x936E, 0x201F, 0x4268, 0x4079, 0x0005, 0x3C1B, 0x907E, 0x0005, 0x2403,
+0x907E, 0x0006, 0x2003, 0x4358, 0x4359, 0x3C12, 0x907E, 0x0007, 0x200F,
+0x4368, 0x4079, 0x0003, 0x3C0B, 0x927E, 0x2009, 0x4078, 0x0005, 0x4079,
+0x000E, 0x3C04, 0x1840, 0x40F2, 0x006E, 0x245E, 0x0086, 0x2465, 0x43C6,
+0x0000, 0x9348, 0x240A, 0x494C, 0xF35C, 0x13B1, 0xACB6, 0x0359, 0x53D6,
+0x0000, 0x98C6, 0x0000, 0x2BF6, 0x1840, 0x4BC2, 0x2464, 0x0086, 0x2465,
+0x43C6, 0x0000, 0x934A, 0x2408, 0x434C, 0x13B1, 0xACB6, 0x53D6, 0x0000,
+0x9AC6, 0x0000, 0x2BF8, 0x1656, 0x0110, 0x145B, 0x426D, 0x430E, 0x430F,
+0x434C, 0x13B1, 0x96C6, 0x008A, 0x2406, 0x4C8A, 0x0000, 0x4D8A, 0x0002,
+0x903C, 0x6544, 0x2003, 0x903D, 0x6973, 0x2406, 0x903C, 0x6341, 0x2087,
+0x903D, 0x6574, 0x2084, 0x008B, 0x2426, 0x438B, 0x0000, 0x438B, 0x0002,
+0x0088, 0x2400, 0x426D, 0x403E, 0x0019, 0x430F, 0x434C, 0x13B1, 0x96C6,
+0x4C88, 0x0000, 0x4D88, 0x0002, 0x436D, 0x403E, 0xFFFE, 0x433F, 0x5C0E,
+0x681F, 0x0002, 0x434C, 0x13B1, 0x96C6, 0x4C06, 0x482F, 0xD81F, 0x0002,
+0x930F, 0x2461, 0x1840, 0x4382, 0x240A, 0x0089, 0x2414, 0x4389, 0x0000,
+0x4389, 0x0002, 0x403E, 0xFFFE, 0x433F, 0x583E, 0x683F, 0x4E8B, 0x0000,
+0x4F8B, 0x0002, 0x0088, 0x2422, 0x4E07, 0xDF07, 0x9307, 0x2445, 0x492E,
+0x491F, 0x0002, 0x5E0E, 0x6F0F, 0x5E0E, 0x6F0F, 0x5E0E, 0x6F0F, 0x434C,
+0x13B1, 0xA8CE, 0x0CC7, 0x0C60, 0x2432, 0x989B, 0x0002, 0x0002, 0x2804,
+0x2008, 0x98AB, 0x0000, 0x2C05, 0x4BA8, 0x0000, 0x4B98, 0x0002, 0x0002,
+0x438A, 0x0000, 0x438A, 0x0002, 0x482F, 0xD81F, 0x0002, 0x930F, 0x2411,
+0x1840, 0x47F2, 0x2436, 0x13B1, 0xABFC, 0x539A, 0x0000, 0x638A, 0x0002,
+0x989A, 0x0002, 0x0002, 0x2BF3, 0x2003, 0x98AA, 0x0000, 0x2BEF, 0x58A9,
+0x0000, 0x6899, 0x0002, 0x0002, 0x88AB, 0x0000, 0x789B, 0x0002, 0x0002,
+0x4B2F, 0xDB1F, 0x0002, 0x930F, 0x23BB, 0x1840, 0x9682, 0x240A, 0x2404,
+0x1840, 0x40F2, 0x0064, 0x245E, 0x1656, 0x0110, 0x143B, 0x1840, 0x40F2,
+0x000F, 0x2458, 0x13B1, 0xAD26, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x008B,
+0x2437, 0x0BCE, 0x434D, 0x403C, 0x0020, 0x13B1, 0xA668, 0x434D, 0x436C,
+0x13B1, 0x99BC, 0x4B5E, 0x0003, 0x108E, 0x4B58, 0x0002, 0x4B6A, 0x4B5C,
+0x0001, 0x108C, 0xDA0C, 0x480D, 0xDE0D, 0x008A, 0x240C, 0x4C8A, 0x0000,
+0x4D8A, 0x0002, 0x108D, 0x4D4C, 0x13B1, 0xADC6, 0x1840, 0x4CC2, 0x245A,
+0x008B, 0x2414, 0x426D, 0x403E, 0x001F, 0x430F, 0x434C, 0x13B1, 0x96C6,
+0x4C8B, 0x0000, 0x4D8B, 0x0002, 0x0088, 0x2406, 0x426D, 0x403E, 0x0039,
+0x430F, 0x434C, 0x13B1, 0x96C6, 0x4C88, 0x0000, 0x4D88, 0x0002, 0xFC8A,
+0x0000, 0xFD8A, 0x0002, 0xF8BB, 0x0000, 0xF8BB, 0x0002, 0x9BBA, 0x0000,
+0x2036, 0x9BBA, 0x0002, 0x2033, 0x435D, 0x403E, 0x003D, 0x430F, 0x434C,
+0x13B1, 0x96C6, 0x1840, 0x4CC2, 0x245C, 0x436D, 0x403E, 0x003E, 0x430F,
+0x434C, 0x13B1, 0x96C6, 0x1840, 0x4C82, 0x2410, 0x435D, 0x403E, 0x0037,
+0x430F, 0x434C, 0x13B1, 0x96C6, 0x1840, 0xDCC2, 0x245D, 0x436D, 0x403E,
+0x0040, 0x430F, 0x434C, 0x13B1, 0x96C6, 0x1840, 0x4C82, 0x2412, 0x435D,
+0x403E, 0x0038, 0x430F, 0x434C, 0x13B1, 0x96C6, 0x1840, 0x4CC2, 0x245B,
+0x3C04, 0x1840, 0x40F2, 0x0006, 0x245E, 0x1638, 0x0110, 0x143B, 0x13B1,
+0x8E9E, 0x0088, 0x2414, 0x4388, 0x0000, 0x4388, 0x0002, 0x008B, 0x240A,
+0x40BB, 0x0080, 0x0000, 0x435D, 0x430E, 0x430F, 0x407C, 0x0007, 0x13B1,
+0x96C6, 0x1840, 0x4CC2, 0x2463, 0x008A, 0x2462, 0x40FA, 0x0007, 0x0000,
+0x0089, 0x2458, 0x1840, 0x425E, 0x2463, 0xFB6E, 0x2453, 0x1840, 0x4AE2,
+0x2436, 0x40F9, 0x009F, 0x0000, 0x13B1, 0xAD26, 0x008F, 0x2436, 0x403E,
+0x0003, 0x430C, 0x430D, 0x13B1, 0xA636, 0x434D, 0x407C, 0x0009, 0x13B1,
+0x99BC, 0x40F9, 0x009C, 0x0000, 0x13B1, 0xAD26, 0x482E, 0x481F, 0x0002,
+0x403D, 0x0080, 0x427C, 0x13B1, 0xA608, 0x407D, 0x0003, 0x436C, 0x13B1,
+0x99BC, 0x403C, 0x009F, 0x430D, 0x13B1, 0xAC8E, 0x13B1, 0xA704, 0x1840,
+0x93C2, 0x245E, 0x201F, 0x40F9, 0x009C, 0x0000, 0x13B1, 0xAD26, 0x008E,
+0x2437, 0x434D, 0x403C, 0x0080, 0x13B1, 0xA668, 0x407E, 0x0003, 0x1840,
+0xF25E, 0x2437, 0x907E, 0x0003, 0x2405, 0x1840, 0x40F2, 0x0014, 0x245E,
+0x3C11, 0x50B8, 0x0080, 0x0000, 0x6388, 0x0002, 0x3C02, 0x43FA, 0x0000,
+0x4B2F, 0x035F, 0x4F8B, 0x0000, 0x53FA, 0x0000, 0x93CA, 0x0000, 0x379F,
+0x1638, 0x0110, 0x145B, 0x4C07, 0x0DCA, 0x0ECB, 0x0088, 0x2468, 0x43D8,
+0x0000, 0x0089, 0x2466, 0x43C9, 0x0000, 0x43CE, 0x0000, 0x0086, 0x2467,
+0x03DD, 0x2003, 0x43C6, 0x0000, 0x3C1A, 0x496F, 0x0DEF, 0x4FE6, 0x0000,
+0x3C15, 0x496F, 0x0AEF, 0x4FE6, 0x0000, 0x435D, 0xF66D, 0x434C, 0x13B1,
+0xA7F0, 0x934C, 0x2404, 0x496F, 0x0BEF, 0xD8EF, 0x0000, 0x58E8, 0x0000,
+0x466E, 0x035E, 0x4EC6, 0x0000, 0x5337, 0x2410, 0x93C8, 0x0000, 0x23EA,
+0x43D8, 0x0000, 0x53D9, 0x0000, 0x496F, 0x0BEF, 0x43CF, 0x0000, 0x03DA,
+0x23DC, 0x43C6, 0x0000, 0x3FDD, 0x93C8, 0x0000, 0x2011, 0x43D8, 0x0000,
+0x53D9, 0x0000, 0x496F, 0x0BEF, 0x43CF, 0x0000, 0x03DA, 0x2003, 0x43C6,
+0x0000, 0x3C04, 0x496F, 0x0AEF, 0x4FE6, 0x0000, 0x435D, 0xF66D, 0x435C,
+0x13B1, 0xA7F0, 0x934C, 0x2404, 0x496F, 0x0BEF, 0xD8EF, 0x0000, 0x008F,
+0x2464, 0x92EF, 0x0000, 0x2004, 0x40FF, 0x0006, 0x0000, 0x3C07, 0x90FF,
+0x0003, 0x0000, 0x2003, 0x40FF, 0x0005, 0x0000, 0x1656, 0x0110, 0x141B,
+0x1840, 0x40F2, 0x0092, 0x2458, 0x13B1, 0xAD26, 0x407A, 0x001D, 0x430E,
+0x430F, 0x403D, 0x0080, 0x4A4C, 0x13B1, 0xA608, 0x407D, 0x0003, 0x436C,
+0x13B1, 0x99BC, 0x403C, 0x059E, 0x430D, 0x13B1, 0xAC8E, 0x008E, 0x2437,
+0x434D, 0x403C, 0x0080, 0x13B1, 0xA668, 0x407E, 0x0003, 0x1840, 0xF25E,
+0x2437, 0x935E, 0x2004, 0x1840, 0xD0B2, 0x0100, 0x241C, 0x1840, 0xB0B2,
+0x0100, 0x2418, 0x2833, 0x008B, 0x2406, 0x426D, 0x430E, 0x430F, 0x4A4C,
+0x13B1, 0x96C6, 0x4C8B, 0x0000, 0x4D8B, 0x0002, 0x426D, 0x422E, 0x430F,
+0x4A4C, 0x13B1, 0x96C6, 0xDC8B, 0x0000, 0xDD8B, 0x0002, 0x426D, 0x423E,
+0x430F, 0x4A4C, 0x13B1, 0x96C6, 0xDC8B, 0x0000, 0xDD8B, 0x0002, 0x426D,
+0x403E, 0x000C, 0x430F, 0x4A4C, 0x13B1, 0x96C6, 0xDC8B, 0x0000, 0xDD8B,
+0x0002, 0x4B3F, 0xDB3F, 0x930F, 0x2004, 0x1840, 0xD0B2, 0x0200, 0x241C,
+0x161A, 0x0110, 0x143B, 0x0088, 0x2414, 0x4388, 0x0000, 0x4388, 0x0002,
+0x008B, 0x240A, 0x40BB, 0x0080, 0x0000, 0x435D, 0x430E, 0x430F, 0x407C,
+0x0007, 0x13B1, 0x96C6, 0x1840, 0x4CC2, 0x2463, 0x008A, 0x2462, 0x40FA,
+0x0007, 0x0000, 0x1840, 0x425E, 0x2463, 0xFB6E, 0x2434, 0x1840, 0x4AE2,
+0x2436, 0x1840, 0x40F2, 0x009F, 0x2458, 0x13B1, 0xAD26, 0x008F, 0x2436,
+0x403E, 0x0003, 0x430C, 0x430D, 0x13B1, 0xA636, 0x434D, 0x407C, 0x0009,
+0x13B1, 0x99BC, 0x1840, 0x40F2, 0x009B, 0x2458, 0x13B1, 0xAD26, 0x482E,
+0x481F, 0x0002, 0x403D, 0x0080, 0x427C, 0x13B1, 0xA608, 0x407D, 0x0005,
+0x436C, 0x13B1, 0x99BC, 0x50B8, 0x0080, 0x0000, 0x6388, 0x0002, 0x13B1,
+0xA704, 0x1840, 0x93C2, 0x245E, 0x2009, 0x4B2F, 0x035F, 0x4F8B, 0x0000,
+0x53FA, 0x0000, 0x93CA, 0x0000, 0x37BE, 0x1638, 0x0110, 0x145B, 0x4E0A,
+0x0FCB, 0x4C4E, 0x1942, 0x104E, 0x0088, 0x2466, 0x4EC8, 0x0000, 0xF07C,
+0x0007, 0x0089, 0x2468, 0x435F, 0x835C, 0x3002, 0x18CC, 0x5F4F, 0x535C,
+0x4FC9, 0x0000, 0x03DB, 0x2002, 0x434F, 0x3C06, 0x0BEE, 0x4E6F, 0x835C,
+0x3002, 0x18CC, 0x110F, 0x0086, 0x2467, 0x4FC6, 0x0000, 0x4157, 0x001C,
+0x9347, 0x2004, 0x531A, 0x3C02, 0x43C6, 0x0000, 0x533A, 0x2417, 0x435D,
+0xF66D, 0x434C, 0x13B1, 0xA832, 0x466E, 0x035E, 0x4EC6, 0x0000, 0x59E9,
+0x0000, 0x23F2, 0x43D9, 0x0000, 0x53D8, 0x0000, 0x03DB, 0x27EA, 0x486F,
+0x0BEF, 0x4FE6, 0x0000, 0x3FE7, 0x9347, 0x2415, 0x435D, 0xF66D, 0x435C,
+0x13B1, 0xA832, 0x008F, 0x2464, 0x92EF, 0x0000, 0x2004, 0x40FF, 0x0006,
+0x0000, 0x3C07, 0x90FF, 0x0003, 0x0000, 0x2003, 0x40FF, 0x0005, 0x0000,
+0x1656, 0x0110, 0x147B, 0x124C, 0x8321, 0x4D07, 0x4E0A, 0x4F0B, 0x4E08,
+0xF038, 0x0007, 0x480E, 0x430F, 0x5D0E, 0x630F, 0x503E, 0x0007, 0x630F,
+0x035F, 0x100E, 0x110F, 0x100E, 0x110F, 0x100E, 0x0086, 0x2426, 0x4E86,
+0x0000, 0x4F86, 0x0002, 0x43C1, 0x0000, 0x0085, 0x2422, 0x4E0D, 0xDF0D,
+0x930D, 0x2436, 0x4A0E, 0x4B0F, 0x415C, 0x0002, 0x13B1, 0xA8CE, 0x0C60,
+0x2432, 0x9695, 0x0002, 0x0002, 0x280D, 0x2003, 0x96A5, 0x0000, 0x2809,
+0x46A5, 0x0000, 0x4695, 0x0002, 0x0002, 0x4704, 0x43D1, 0x0000, 0x3C04,
+0x4564, 0x1842, 0x5444, 0x8844, 0x1251, 0x0002, 0x0CCF, 0x440E, 0x480C,
+0x430D, 0x13B1, 0xA0F6, 0x85A6, 0x0000, 0x7596, 0x0002, 0x0002, 0x8407,
+0x540A, 0x630B, 0x4A08, 0xF038, 0x0007, 0x5321, 0x462F, 0xD61F, 0x0002,
+0x930F, 0x23CA, 0x5221, 0x1674, 0x0110, 0x145B, 0x1840, 0x425E, 0x245D,
+0xB07E, 0x0006, 0x2003, 0x403F, 0x002C, 0x3C02, 0x403F, 0x0038, 0x1840,
+0x4F82, 0x240A, 0x1840, 0x40F2, 0x00A4, 0x2458, 0x13B1, 0xAD26, 0x407D,
+0x0003, 0x436C, 0x13B1, 0x99BC, 0x13B1, 0xAC3C, 0x008A, 0x241A, 0xF38A,
+0x0000, 0xF0BA, 0xFF00, 0x0002, 0x008B, 0x2447, 0x0BCE, 0x434D, 0x1840,
+0x421C, 0x240A, 0x13B1, 0xA668, 0x4A2E, 0x4A1F, 0x0002, 0x4B6C, 0x1840,
+0x4258, 0x245D, 0xB078, 0x0006, 0x2409, 0x4B58, 0x0002, 0x4B56, 0x0001,
+0x1086, 0xD60C, 0xDC0E, 0xD80F, 0x3C13, 0x4B58, 0x0001, 0xF038, 0x000F,
+0x0E58, 0x4C4D, 0xEC0D, 0x108C, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C,
+0x6D0D, 0x5C0C, 0x6D0D, 0xD80D, 0xDC0E, 0xDD0F, 0x4E8A, 0x0000, 0x4F8A,
+0x0002, 0x1656, 0x0110, 0x13B1, 0xAC5C, 0x008F, 0x2437, 0x43DF, 0x0000,
+0x40FF, 0x0040, 0x0001, 0x43CF, 0x0002, 0x0180, 0xAB68, 0x1840, 0xB0B2,
+0x0400, 0x2418, 0x2C06, 0x1840, 0x40F2, 0x0003, 0x2460, 0x13B1, 0xA470,
+0x1840, 0x93C2, 0x245E, 0x2002, 0x13B1, 0x8E8A, 0x0110, 0x140A, 0x008A,
+0x245E, 0x93CA, 0x0000, 0x200D, 0x13B1, 0xAC5C, 0x008F, 0x2437, 0x43DF,
+0x0000, 0x40FF, 0x0040, 0x0001, 0x43CF, 0x0002, 0x13B1, 0xAB68, 0x93CA,
+0x0000, 0x2019, 0x1840, 0xB0B2, 0x0400, 0x2418, 0x2C14, 0x13B1, 0x9914,
+0x93CA, 0x0000, 0x200F, 0x1840, 0x43C2, 0x2460, 0x13B1, 0xA470, 0x93CA,
+0x0000, 0x2007, 0x13B1, 0xA3C8, 0x93CA, 0x0000, 0x2002, 0x13B1, 0x8E8A,
+0x160A, 0x0110, 0x1840, 0xD0B2, 0x0400, 0x241C, 0x3FAB, 0x4303, 0x143B,
+0x008A, 0x2414, 0x438A, 0x0000, 0x438A, 0x0002, 0x1840, 0x40F2, 0x0089,
+0x2458, 0x13B1, 0xAD26, 0x008B, 0x2461, 0x43DB, 0x0000, 0x0088, 0x2406,
+0x1840, 0x93C2, 0x245C, 0x2426, 0x4398, 0x0000, 0x4388, 0x0002, 0x4A2E,
+0x4A1F, 0x0002, 0x403D, 0x001A, 0x407C, 0x0006, 0x13B1, 0xA608, 0x407D,
+0x0003, 0x436C, 0x13B1, 0x99BC, 0x50BA, 0x001A, 0x0000, 0x638A, 0x0002,
+0x5398, 0x0000, 0x6388, 0x0002, 0x2004, 0x90B8, 0x0009, 0x0000, 0x2BE4,
+0x53DB, 0x0000, 0x1840, 0x9BE2, 0x245C, 0x2FDA, 0x1840, 0x40F2, 0x008C,
+0x2458, 0x13B1, 0xAD26, 0x407D, 0x0003, 0x436C, 0x13B1, 0x99BC, 0x13B1,
+0xA704, 0x1840, 0x93C2, 0x245E, 0x2404, 0x1840, 0x40F2, 0x000A, 0x245E,
+0x1638, 0x0110, 0x141B, 0x1840, 0x40F2, 0x0087, 0x2458, 0x13B1, 0xAD26,
+0x008A, 0x2436, 0x43EA, 0x0000, 0x0ACF, 0x432E, 0x430C, 0x430D, 0x13B1,
+0xA636, 0x407D, 0x0003, 0x436C, 0x13B1, 0x99BC, 0x1840, 0x4382, 0x2414,
+0x1840, 0x4382, 0x2416, 0x008B, 0x2430, 0x433F, 0x1840, 0x521F, 0x2410,
+0x4F8B, 0x0000, 0x3C16, 0x1840, 0x40F2, 0x0087, 0x2458, 0x13B1, 0xAD26,
+0x40FA, 0x0003, 0x0000, 0x0ACF, 0x432E, 0x430C, 0x430D, 0x13B1, 0xA636,
+0x407D, 0x0003, 0x436C, 0x13B1, 0x99BC, 0x53BB, 0x0000, 0x938B, 0x0000,
+0x3808, 0x13B1, 0xA688, 0x13B1, 0x9852, 0x1840, 0x93C2, 0x245E, 0x27DF,
+0x161A, 0x0110, 0x140A, 0x1840, 0x40F2, 0x0084, 0x2458, 0x13B1, 0xAD26,
+0x434D, 0x436C, 0x13B1, 0x99BC, 0x008A, 0x2406, 0x438A, 0x0000, 0x438A,
+0x0002, 0x403C, 0x03E8, 0x430D, 0x13B1, 0xAC8E, 0x008E, 0x2436, 0x434D,
+0x403C, 0x0005, 0x13B1, 0xA668, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x1840,
+0x425E, 0x2436, 0xB07E, 0x0003, 0x240D, 0x539A, 0x0000, 0x638A, 0x0002,
+0x90BA, 0x0003, 0x0002, 0x2BE2, 0x2004, 0x90BA, 0xFFFD, 0x0000, 0x2BDD,
+0x90BA, 0x0003, 0x0002, 0x2808, 0x2004, 0x90BA, 0xFFFD, 0x0000, 0x2803,
+0x1840, 0x42F2, 0x245E, 0x160A, 0x0110, 0x140A, 0x008A, 0x245E, 0x93CA,
+0x0000, 0x2002, 0x13B1, 0xAAB4, 0x93CA, 0x0000, 0x2024, 0x403F, 0x0401,
+0x1840, 0xF21F, 0x2418, 0x931F, 0x2020, 0x13B1, 0x9914, 0x93CA, 0x0000,
+0x2018, 0x1840, 0x43C2, 0x2460, 0x13B1, 0xA470, 0x93CA, 0x0000, 0x2010,
+0x13B1, 0xA3C8, 0x93CA, 0x0000, 0x200B, 0x1840, 0x43F2, 0x2458, 0x008C,
+0x2436, 0x13B1, 0xAD02, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x93CA, 0x0000,
+0x200E, 0x403F, 0x0802, 0x1840, 0xF21F, 0x2418, 0x932F, 0x2007, 0x13B1,
+0xA038, 0x93CA, 0x0000, 0x2002, 0x13B1, 0x9D84, 0x160A, 0x0110, 0x143B,
+0x4C48, 0x4D09, 0x4E0A, 0x4F0B, 0x434D, 0x407C, 0x0003, 0x13B1, 0x99BC,
+0x4A0E, 0x4B0F, 0x490D, 0x484C, 0x13B1, 0xA1B2, 0x434D, 0x407C, 0x0007,
+0x13B1, 0x99BC, 0x1638, 0x0110, 0x143B, 0x4C0A, 0x4D0B, 0x4E08, 0x0FC9,
+0x434D, 0x407C, 0x0003, 0x13B1, 0x99BC, 0x1253, 0x09CF, 0x480E, 0x4A0C,
+0x4B0D, 0x13B1, 0xA0F6, 0x434D, 0x407C, 0x0007, 0x13B1, 0x99BC, 0x5321,
+0x1638, 0x0110, 0x143B, 0x4C0A, 0x0DCB, 0x0EC8, 0x434D, 0x407C, 0x0003,
+0x13B1, 0x99BC, 0x08CE, 0x0BCD, 0x4A0C, 0x13B1, 0x9E88, 0x3FD1, 0x4303,
+0x141B, 0x1840, 0x40F2, 0x0089, 0x2458, 0x13B1, 0xAD26, 0x008A, 0x2461,
+0x43DA, 0x0000, 0x008B, 0x2406, 0x1840, 0x93C2, 0x245C, 0x242B, 0x439B,
+0x0000, 0x438B, 0x0002, 0x1840, 0x421E, 0x2414, 0x1840, 0x421F, 0x2416,
+0x403D, 0x001A, 0x407C, 0x0005, 0x13B1, 0xA608, 0x407D, 0x0003, 0x436C,
+0x13B1, 0x99BC, 0x1840, 0x50B2, 0x001A, 0x2414, 0x1840, 0x6382, 0x2416,
+0x539B, 0x0000, 0x638B, 0x0002, 0x2004, 0x90BB, 0x0009, 0x0000, 0x2BDF,
+0x53DA, 0x0000, 0x1840, 0x9AE2, 0x245C, 0x2FD5, 0x161A, 0x0110, 0x140A,
+0x1840, 0x40F2, 0x0084, 0x2458, 0x13B1, 0xAD26, 0x434D, 0x436C, 0x13B1,
+0x99BC, 0x008A, 0x2406, 0x438A, 0x0000, 0x438A, 0x0002, 0x403C, 0x0064,
+0x430D, 0x13B1, 0xAC8E, 0x008E, 0x2436, 0x434D, 0x403C, 0x0005, 0x13B1,
+0xA668, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x1840, 0x425E, 0x2436, 0xB07E,
+0x000B, 0x2409, 0x539A, 0x0000, 0x638A, 0x0002, 0x2004, 0x90BA, 0x3FFD,
+0x0000, 0x2BE1, 0x938A, 0x0002, 0x2004, 0x90BA, 0x3FFD, 0x0000, 0x2804,
+0x1840, 0x40F2, 0x0007, 0x245E, 0x160A, 0x0110, 0x140A, 0x40F2, 0x0017,
+0x0284, 0x1840, 0x43D2, 0x2404, 0x1840, 0x43C2, 0x2469, 0x1880, 0x40F2,
+0xADD4, 0x241E, 0x008A, 0x2457, 0x40FA, 0x0006, 0x0000, 0x13B1, 0xA99A,
+0x934C, 0x2415, 0x40FA, 0x0003, 0x0000, 0x13B1, 0xA99A, 0x934C, 0x2019,
+0x40FA, 0x0005, 0x0000, 0x13B1, 0xA99A, 0x934C, 0x2012, 0x40FA, 0x0006,
+0x0000, 0x13B1, 0xA99A, 0x934C, 0x200B, 0xD0F2, 0x0010, 0x0282, 0x3C00,
+0x403F, 0x001F, 0x533F, 0x2FFE, 0xC0F2, 0x0010, 0x0282, 0x160A, 0x0110,
+0x140A, 0x008A, 0x246A, 0xF0FA, 0x00F8, 0x0000, 0x934C, 0x2002, 0x434F,
+0x3C01, 0x426F, 0x934D, 0x2002, 0x434E, 0x3C01, 0x436E, 0xDE4F, 0xDFCA,
+0x0000, 0x4AE2, 0x0282, 0x407C, 0x0080, 0xB2F2, 0x0280, 0x2C01, 0x434C,
+0xD3DA, 0x0000, 0x4AE2, 0x0282, 0x160A, 0x0110, 0x140A, 0x008A, 0x246A,
+0xF0FA, 0x00F8, 0x0000, 0x934C, 0x2002, 0x434F, 0x3C01, 0x426F, 0x934D,
+0x2002, 0x434E, 0x3C01, 0x436E, 0xDE4F, 0xDFCA, 0x0000, 0x4AE2, 0x0282,
+0x3FE4, 0x4303, 0x140A, 0x008A, 0x2458, 0x40FA, 0x0081, 0x0000, 0x13B1,
+0xAD26, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x403C, 0x0120, 0x430D, 0x13B1,
+0xAC8E, 0x43FA, 0x0000, 0x008C, 0x2436, 0x13B1, 0xAD02, 0x1840, 0xB2E2,
+0x2436, 0x2C0D, 0x40FA, 0x0007, 0x0000, 0x13B1, 0xAD26, 0x435D, 0x436C,
+0x13B1, 0x99BC, 0x43FA, 0x0000, 0x13B1, 0xAD26, 0x434D, 0x436C, 0x13B1,
+0x99BC, 0x403C, 0x0120, 0x430D, 0x13B1, 0xAC8E, 0x434D, 0x435C, 0x13B1,
+0x99BC, 0x160A, 0x0110, 0x143B, 0x4C49, 0x4E0A, 0x4F0B, 0x4348, 0x13B1,
+0x9462, 0x1840, 0x421F, 0x242A, 0x1840, 0xD21F, 0x242C, 0x930F, 0x2005,
+0x9349, 0x2403, 0x430E, 0x430F, 0x3C19, 0x035B, 0x100A, 0x110B, 0x100A,
+0x110B, 0x100A, 0x1840, 0x521A, 0x242A, 0x1840, 0x621B, 0x242C, 0x1840,
+0x421E, 0x2400, 0x1840, 0x421F, 0x2402, 0x8A0E, 0x7B0F, 0x0028, 0x241E,
+0x151B, 0x160B, 0x0BE8, 0x1840, 0x4E82, 0x2422, 0x1840, 0x4F82, 0x2424,
+0x08CC, 0x1638, 0x0110, 0x140A, 0x1840, 0x40F2, 0x00C0, 0x2458, 0x13B1,
+0xAD26, 0x435D, 0x436C, 0x13B1, 0x99BC, 0x1840, 0x40F2, 0x00A8, 0x2458,
+0x13B1, 0xAD26, 0x407D, 0x0003, 0x436C, 0x13B1, 0x99BC, 0x403C, 0x014A,
+0x430D, 0x13B1, 0xAC8E, 0x008A, 0x2447, 0x0ACE, 0x434D, 0x403C, 0x0080,
+0x13B1, 0xA668, 0x4A5E, 0x000C, 0x1945, 0x104E, 0x4A5F, 0x000D, 0x065F,
+0xDF0E, 0x1840, 0x4E82, 0x242E, 0x160A, 0x0110, 0x140A, 0x13B1, 0xAD80,
+0x008A, 0x245E, 0x1840, 0x93D2, 0x2404, 0x2404, 0x40FA, 0x00AA, 0x0000,
+0x3C20, 0x93CA, 0x0000, 0x201D, 0x1840, 0x425E, 0x2457, 0x907E, 0x0013,
+0x2411, 0x907E, 0x0016, 0x240E, 0x936E, 0x240C, 0x13B1, 0x9B1C, 0x93CA,
+0x0000, 0x2007, 0x13B1, 0xACDC, 0x93CA, 0x0000, 0x2002, 0x13B1, 0xAA58,
+0x434D, 0x435C, 0x13B1, 0x99BC, 0x13B1, 0x950E, 0x4A6C, 0x160A, 0x0110,
+0x907E, 0x0010, 0x2808, 0x4C0D, 0x430C, 0x807E, 0x0011, 0x3002, 0x18CE,
+0x5D0D, 0x0110, 0xE37E, 0x507E, 0x0010, 0x065E, 0x0EE0, 0x5C0C, 0x6D0D,
+0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C,
+0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D,
+0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C,
+0x6D0D, 0x0110, 0x141B, 0x008A, 0x240A, 0x439A, 0x0000, 0x1840, 0x4382,
+0x2418, 0x008B, 0x2406, 0x438B, 0x0000, 0x438B, 0x0002, 0x435D, 0x403E,
+0x0027, 0x430F, 0x5B2E, 0x6B1F, 0x0002, 0x434C, 0x13B1, 0x96C6, 0x1840,
+0x4CC2, 0x2436, 0x1840, 0x934C, 0x2403, 0x1840, 0xDAA2, 0x2418, 0x5AAA,
+0x0000, 0x539B, 0x0000, 0x638B, 0x0002, 0x2004, 0x90BB, 0x0010, 0x0000,
+0x2BE2, 0x161A, 0x0110, 0x141B, 0x13B1, 0xAC5C, 0x008A, 0x2437, 0x43CA,
+0x0000, 0x40FA, 0x0040, 0x0001, 0x43CA, 0x0002, 0x1840, 0xB392, 0x2418,
+0x2802, 0x43DA, 0x0000, 0x1840, 0xB3A2, 0x2418, 0x2814, 0x008B, 0x2436,
+0x435D, 0x430E, 0x430F, 0x407C, 0x0007, 0x13B1, 0x96C6, 0x4CCB, 0x0000,
+0xB35C, 0x2803, 0xD0FA, 0x0080, 0x0001, 0x4C4E, 0x035E, 0xDECA, 0x0002,
+0x13B1, 0xAB68, 0x161A, 0x0110, 0x140A, 0x008A, 0x2418, 0xB39A, 0x0000,
+0x2819, 0xB0BA, 0x0400, 0x0000, 0x2C06, 0x1840, 0x40F2, 0x0003, 0x2460,
+0x13B1, 0xA470, 0x1840, 0x93C2, 0x245E, 0x200B, 0x1840, 0x43F2, 0x2458,
+0x008C, 0x2436, 0x13B1, 0xAD02, 0x434D, 0x436C, 0x13B1, 0x99BC, 0x1840,
+0x93C2, 0x245E, 0x2007, 0x403F, 0x0802, 0xFA2F, 0x932F, 0x2002, 0x13B1,
+0x9D84, 0x160A, 0x0110, 0x13B1, 0xA93A, 0x1840, 0x40F2, 0x0085, 0x2458,
+0x13B1, 0xAD26, 0x008F, 0x2437, 0x403E, 0x0017, 0x430C, 0x430D, 0x13B1,
+0xA636, 0x407D, 0x0003, 0x436C, 0x13B1, 0x99BC, 0x13B1, 0xA500, 0x1840,
+0x93C2, 0x245E, 0x2404, 0x1840, 0x42F2, 0x245E, 0x0110, 0x1840, 0x93D2,
+0x2404, 0x2002, 0x13B1, 0x90FE, 0x0110, 0x141B, 0x13B1, 0xAC5C, 0x008A,
+0x2437, 0x43CA, 0x0000, 0x40FA, 0x0040, 0x0001, 0x43CA, 0x0002, 0x008B,
+0x2436, 0x435D, 0x430E, 0x430F, 0x407C, 0x0007, 0x13B1, 0x96C6, 0x4CCB,
+0x0000, 0xB35C, 0x2803, 0xD0FA, 0x0080, 0x0001, 0x4C4E, 0x035E, 0xDECA,
+0x0002, 0x13B1, 0xAB68, 0x161A, 0x0110, 0x434F, 0x1840, 0x425E, 0x2436,
+0x1840, 0x421D, 0x240A, 0x4E4C, 0xED0C, 0xF31C, 0x035D, 0xB31C, 0x2802,
+0xE03D, 0x8408, 0x035E, 0x535F, 0x927F, 0x2BF4, 0x1840, 0x4D82, 0x240A,
+0x1840, 0x4EC2, 0x2436, 0x1840, 0x4C82, 0x2410, 0x1840, 0x4FC2, 0x2465,
+0x0110, 0x434E, 0x008F, 0x2447, 0x43CF, 0x0000, 0x43CF, 0x0001, 0x536E,
+0x03EF, 0x907E, 0x0010, 0x2BF7, 0x1840, 0x4EC2, 0x2436, 0x0110, 0x434E,
+0x008F, 0x2437, 0x3FEF, 0x4303, 0x13B1, 0xABB4, 0x1840, 0x93C2, 0x245E,
+0x200D, 0x1840, 0xB0B2, 0x0800, 0x2418, 0x2C08, 0x13B1, 0xA038, 0x1840,
+0x93C2, 0x245E, 0x2002, 0x13B1, 0x9D84, 0x0110, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x533C, 0x633D, 0x4C0F, 0xDD0F, 0x930F, 0x23ED, 0x0110, 0x008D,
+0x246A, 0xF0FD, 0x00FA, 0x0000, 0x934C, 0x2002, 0x434E, 0x3C01, 0x426E,
+0xDECD, 0x0000, 0x4DE2, 0x0282, 0xD3DD, 0x0000, 0x4DE2, 0x0282, 0x0110,
+0x435D, 0x403E, 0x0018, 0x430F, 0x434C, 0x13B1, 0x96C6, 0x1840, 0x4CC2,
+0x2436, 0x1840, 0x907C, 0x0038, 0x2004, 0x1840, 0x40F2, 0x00A0, 0x245E,
+0x0110, 0x140A, 0x0CCA, 0x434D, 0x426C, 0x13B1, 0x99BC, 0x0ACE, 0x008D,
+0x2458, 0x423C, 0x13B1, 0x9E88, 0x434D, 0x427C, 0x13B1, 0x99BC, 0x160A,
+0x0110, 0x434D, 0x426C, 0x13B1, 0x99BC, 0x1253, 0x008F, 0x2458, 0x423E,
+0x430C, 0x430D, 0x13B1, 0xA0F6, 0x434D, 0x427C, 0x13B1, 0x99BC, 0x5321,
+0x0110, 0x141B, 0x0CCA, 0x3C06, 0x4DFA, 0x0000, 0x00AA, 0x0001, 0x533E,
+0x633F, 0x4E0B, 0xDF0B, 0x930B, 0x23F6, 0x161A, 0x0110, 0x151F, 0x160F,
+0x0CCE, 0x0FEE, 0x3C04, 0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC, 0x23FA,
+0x0110, 0x1840, 0x4382, 0x241A, 0x1840, 0x4382, 0x241C, 0x1840, 0x43C2,
+0x245E, 0x0110, 0x1840, 0xD382, 0x241A, 0x1840, 0xD0B2, 0x0C00, 0x241C,
+0x0180, 0xABB4, 0x1840, 0xB0B2, 0x0800, 0x2418, 0x2C02, 0x13B1, 0x9D84,
+0x0110, 0x1840, 0x40F2, 0x0011, 0x246A, 0x40F2, 0x0011, 0x0282, 0x0110,
+0x110C, 0x110C, 0x110C, 0x110C, 0x0110, 0x0180, 0xAD4A, 0x6544, 0x6973,
+0x6E67, 0x7265, 0x3120, 0x2E31, 0x2E35, 0x2E33, 0x3031, 0x2020, 0x2020,
+0x2020, 0x9D45, 0x01FA, 0x0000, 0xCF00, 0xA521, 0x0103, 0x0100, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0xFF00,
+0xFBFF, 0x0406, 0x04DC, 0x0234, 0x0000, 0x0106, 0x007B, 0x0000, 0x0009,
+0x0000, 0x8402, 0x0000, 0x4700, 0x0000, 0x0300, 0x00CB, 0x0000, 0x0004,
+0x0000, 0xCF04, 0x0000, 0x0400, 0x0000, 0x0500, 0x00D3, 0x0000, 0xF960,
+0x0001, 0x3306, 0x01FA, 0x6800, 0x0000, 0x8700, 0xA5FD, 0x9C3F, 0x661F,
+0x0102, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492,
+0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492,
+0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492,
+0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492, 0x9249, 0x4924, 0x2492,
+0x0009, 0x0000, 0x9900, 0x00FF, 0x0000, 0x2080, 0x0000, 0x4001, 0x0400,
+0x0000, 0x0008, 0x0002, 0x0040, 0x0040, 0x0010, 0x0208, 0x0000, 0x0000,
+0x2080, 0x0000, 0x4001, 0x0400, 0x0000, 0x0008, 0x0002, 0x0040, 0x0040,
+0x0010, 0x0208, 0x0000, 0x0000, 0x2080, 0x0000, 0x4001, 0x0400, 0x0000,
+0x0008, 0x0002, 0x0040, 0x0040, 0x0010, 0x0208, 0x0000, 0x0000, 0x2080,
+0x0000, 0x4001, 0x0400, 0x0000, 0x0008, 0x0002, 0x0040, 0x0040, 0x0010,
+0x0208, 0x0000, 0x6D00, 0xB693, 0x0006, 0xCC00, 0xFFFF, 0x249F, 0x5249,
+0xA493, 0x0649, 0x0000, 0xFFF8, 0x7FFF, 0x9249, 0x6DE4, 0xB6DB, 0x0000,
+0xF000, 0xFFFF, 0x248F, 0x1249, 0xA6DA, 0x0069, 0x0000, 0xFFF0, 0x0FFF,
+0x9249, 0x6D24, 0xA6DA, 0x0000, 0xF000, 0xFFFF, 0x248F, 0x1249, 0xA6DA,
+0x006D, 0x0000, 0xFFF0, 0x0FFF, 0x9249, 0x6924, 0x2493, 0x0002, 0xFE00,
+0xFFFF, 0x249F, 0x7249, 0x24DB, 0x0269, 0x0000, 0xFFF9, 0x1BFF, 0x9249,
+0x0064, 0x0000, 0x2491, 0x6249, 0x2492, 0x0009, 0x0000, 0x0000, 0x2000,
+0x9249, 0x2480, 0x0249, 0x0000, 0x0000, 0x0000, 0x2491, 0x4249, 0x2492,
+0x0009, 0x0000, 0x0000, 0x2400, 0x9249, 0x2490, 0x0249, 0x0000, 0x0000,
+0x0000, 0x2491, 0x4249, 0x2492, 0x0009, 0x0000, 0x0000, 0x2400, 0x9249,
+0x2490, 0x0249, 0x0000, 0x0000, 0x8000, 0x2491, 0x4049, 0x2492, 0x0001,
+0x0000, 0x0000, 0x2400, 0x9249, 0x2490, 0x0249, 0x0000, 0x2400, 0x9249,
+0x0001, 0x2000, 0x0000, 0x0000, 0x0000, 0x9248, 0x0024, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2400, 0x9249, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x9249, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400, 0x9249, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x9249, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x9249,
+0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x4D00, 0xB6D2, 0x2496, 0x0E4B,
+0x9249, 0x0094, 0x4000, 0xB493, 0x2E6D, 0xB649, 0x9259, 0x7924, 0x0000,
+0x6DC0, 0xB6DB, 0x2DB0, 0x22CB, 0x9249, 0x0004, 0x0000, 0xB6DB, 0x6C6D,
+0xB6DB, 0x9241, 0x0924, 0x0000, 0x6D00, 0xB6DB, 0x2DB0, 0x22DB, 0x9249,
+0x0004, 0x0000, 0xB6DB, 0x6C6D, 0x96D9, 0x9241, 0x0924, 0x0000, 0x6D00,
+0x2493, 0x25B6, 0x2EC9, 0x9249, 0x001C, 0x6000, 0x26DB, 0x6669, 0x924B,
+0x9249, 0x1924, 0x0000, 0x6960, 0x249B, 0x6DB7, 0x4ED9, 0xB6DB, 0x6D9D,
+0x769B, 0x26DB, 0x6649, 0x92DB, 0xB6D8, 0x7B6D, 0x36DA, 0x49C9, 0x2492,
+0x6495, 0x6259, 0xB6DB, 0x498D, 0x269A, 0x2492, 0x2449, 0x9249, 0xB6D0,
+0x4B6D, 0x2492, 0x4909, 0x2492, 0x6495, 0x6249, 0xB6DB, 0x498D, 0x249A,
+0x2492, 0x2449, 0xB24B, 0xB6D0, 0x4B6D, 0x24D2, 0x490D, 0x36DA, 0x6C93,
+0x6E5B, 0xB6DB, 0x491D, 0x66DB, 0xB492, 0x2E4D, 0xB6D9, 0xB6D9, 0x5B6D,
+0xB693, 0x006D, 0x0000, 0x4920, 0x2092, 0x0480, 0x0000, 0x0040, 0x0000,
+0x4800, 0x2492, 0x2481, 0x0241, 0x8001, 0x0024, 0x0000, 0x4924, 0x0092,
+0x0000, 0x2400, 0x1041, 0x0000, 0x4800, 0x2492, 0x0011, 0x0041, 0x9249,
+0x0024, 0x0000, 0x4924, 0x0092, 0x0010, 0x2401, 0x1241, 0x0000, 0x4800,
+0x2492, 0x0011, 0x0001, 0x9209, 0x0020, 0x8000, 0x4924, 0x4092, 0x2480,
+0x2481, 0x1000, 0x0000, 0x4800, 0x2492, 0x2000, 0x0049, 0x0048, 0x0000,
+0x0008, 0x2480, 0x0001, 0x0000, 0x2480, 0x1249, 0x0000, 0x2400, 0x9049,
+0x0008, 0x0000, 0x9249, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000, 0x2480,
+0x1249, 0x0000, 0x0400, 0x1040, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000,
+0x0400, 0x0040, 0x0000, 0x2480, 0x1249, 0x0000, 0x0400, 0x0040, 0x0000,
+0x0000, 0x9249, 0x0024, 0x0040, 0x2010, 0x0249, 0x0000, 0x2480, 0x1249,
+0x1000, 0x0000, 0x1248, 0x0008, 0x0000, 0x9249, 0x0064, 0x0000, 0x4915,
+0x4EDA, 0x2492, 0x0009, 0x0000, 0x0000, 0x0800, 0x2680, 0x2481, 0x4249,
+0x0024, 0x0080, 0x0000, 0x6DB5, 0x42DB, 0x2492, 0x0009, 0x0000, 0x0000,
+0x6800, 0xA69B, 0x2491, 0x0249, 0x0000, 0x0000, 0x0000, 0x69B5, 0x429B,
+0x2492, 0x0009, 0x0000, 0x0000, 0x6800, 0xB69B, 0x2491, 0x0249, 0x0000,
+0x0000, 0x0000, 0x4DA5, 0x4C92, 0x2492, 0x0001, 0x2124, 0x0000, 0x6C00,
+0xA493, 0x2491, 0x0249, 0x4900, 0xDA02, 0x6DB6, 0xB278, 0x976D, 0x4924,
+0xFF62, 0xFFFF, 0x6DB6, 0xF1DB, 0xDB7F, 0x4926, 0x8492, 0xFFDB, 0xDB3F,
+0x6DB6, 0xB6D8, 0x936D, 0x4924, 0xFFC2, 0x3FFF, 0x6DB6, 0xB4DB, 0xDB6D,
+0x4922, 0xC492, 0xFFFF, 0xDB3F, 0x6DB6, 0xB6D8, 0x936D, 0x4924, 0xFFC2,
+0x3FFF, 0x6DB6, 0xB4DB, 0xDB6D, 0x4922, 0xC492, 0xFFFF, 0xDB3F, 0x6DB6,
+0xB6D8, 0x956D, 0x4924, 0xFFE2, 0xDEDB, 0x6DB6, 0xB59B, 0xDB6D, 0x4926,
+0xC492, 0xB6FF, 0xDA1D, 0x6DB6, 0xD6CD, 0xD9B6, 0x6DB6, 0x49FB, 0xEDB6,
+0x6DF6, 0xDDDB, 0x6DA6, 0x6DAF, 0xC6DB, 0x6C92, 0xDBDB, 0x6DB6, 0xDB6D,
+0xD1B6, 0x6DB6, 0xDB4B, 0x2DB6, 0x6DB6, 0xD8DB, 0x6DB6, 0x6DB3, 0xC6DB,
+0x6DB6, 0xDB1B, 0x6DB6, 0xDB6D, 0xD1B6, 0x6DB6, 0xDB4B, 0x2DB6, 0x6DB6,
+0xD8DB, 0x6DB6, 0x6DB3, 0xC6DB, 0x6DB6, 0xDB1B, 0x6DB6, 0x9B6D, 0xDBA4,
+0x6DB6, 0xDB73, 0xEC92, 0x6DB6, 0xD99F, 0x4926, 0x6DBF, 0xC6DB, 0x24B6,
+0x0079, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0240, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0400, 0x0002, 0x1200, 0x0000, 0x0240,
+0x0000, 0x0000, 0x0018, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0080, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0030, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0920, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4020, 0x0090, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x9000, 0x4004, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0080, 0x1000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2410, 0x0001,
+0x0000, 0x0000, 0x0400, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x2C00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0003, 0x0400, 0x0001, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2500, 0x924B, 0x4124, 0x2892, 0x9248, 0x4904, 0x6492, 0x0049, 0x4A24,
+0x2490, 0x9041, 0x7924, 0x2492, 0x2489, 0x9249, 0x4920, 0x6092, 0x9659,
+0x4904, 0x2492, 0x9249, 0x482C, 0x2492, 0x9241, 0x4924, 0x2492, 0x2409,
+0x9249, 0x4924, 0x2092, 0xB249, 0x490C, 0x2492, 0x924B, 0x4824, 0x2492,
+0xB241, 0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904,
+0x6492, 0x8249, 0x4A20, 0x2492, 0x9241, 0x5964, 0x2492, 0x2509, 0x924B,
+0x4120, 0x2892, 0x9249, 0x4904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241,
+0x7924, 0x2482, 0x2409, 0x9249, 0x4924, 0x6092, 0x9659, 0x0804, 0x2482,
+0x9249, 0x482C, 0x0492, 0x9241, 0x4924, 0x2492, 0x2409, 0x9249, 0x4924,
+0x2092, 0xB249, 0x490C, 0x0412, 0x924B, 0x4024, 0x2492, 0xB241, 0x4924,
+0x2412, 0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x9249,
+0x4A24, 0x2492, 0x9241, 0x5964, 0x2492, 0x0008, 0x0000, 0x0801, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4820, 0x0082, 0x0000, 0x0800, 0x0080, 0x0000, 0x0000, 0x2092, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4824, 0x0082, 0x0000, 0x0800, 0x0080,
+0x0000, 0x0800, 0x0090, 0x0001, 0x0000, 0x0000, 0x0000, 0x1000, 0x0024,
+0x0400, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x5820, 0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0200, 0x0080, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x1201, 0x0000, 0x0000,
+0x1000, 0x0020, 0x0000, 0x0400, 0x8000, 0x0001, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0008, 0x0000, 0x0000, 0x0208, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x2000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0400, 0x9000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0040, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2400, 0x8208, 0x0904, 0x2812, 0x0249, 0x4904, 0x2090,
+0x0249, 0x4800, 0x2402, 0x0240, 0x5924, 0x2482, 0x2489, 0x9241, 0x0100,
+0x2010, 0x9209, 0x0104, 0x0412, 0x9249, 0x4824, 0x0400, 0x1240, 0x4924,
+0x2492, 0x2409, 0x8249, 0x0100, 0x2010, 0x9249, 0x4104, 0x2412, 0x8248,
+0x4024, 0x2400, 0x9240, 0x4924, 0x2492, 0x2408, 0x8249, 0x0100, 0x2890,
+0x9249, 0x4104, 0x6412, 0x9249, 0x4224, 0x0080, 0x9241, 0x5924, 0x2492,
+0x2409, 0x9200, 0x4924, 0x2892, 0x9249, 0x4900, 0x6492, 0x8048, 0x4804,
+0x2492, 0x8241, 0x5904, 0x2400, 0x2081, 0x0249, 0x4924, 0x2092, 0x9249,
+0x0804, 0x2492, 0x8249, 0x4820, 0x2492, 0x9241, 0x4924, 0x2492, 0x2409,
+0x9241, 0x4924, 0x2092, 0x9241, 0x4904, 0x2412, 0x8041, 0x4824, 0x2492,
+0x9241, 0x4904, 0x2490, 0x0409, 0x9209, 0x4924, 0x2892, 0x9249, 0x4904,
+0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x0009, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2491, 0x0249,
+0x0000, 0x2490, 0x5249, 0x0000, 0x2400, 0x9249, 0x000C, 0x1000, 0x9249,
+0x0064, 0x0000, 0x2491, 0x0249, 0x0000, 0x2480, 0x1249, 0x0000, 0x2400,
+0x9249, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000, 0x2491, 0x0249, 0x0000,
+0x2480, 0x1249, 0x0000, 0x2400, 0x9249, 0x0000, 0x0000, 0x9249, 0x0024,
+0x0000, 0x2491, 0x0249, 0x0000, 0x2490, 0x5249, 0x0000, 0x2400, 0x9249,
+0x000C, 0x1000, 0x9249, 0x0064, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0100, 0x0010,
+0x0000, 0x4000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0001, 0x0000, 0x0100, 0x2012, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000, 0x0100, 0x2012, 0x0000,
+0x4800, 0x0400, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0010, 0x1001,
+0x0002, 0x4900, 0x2492, 0x0003, 0x4800, 0x2492, 0x0039, 0x8000, 0x2492,
+0x0049, 0x0000, 0x2490, 0x2249, 0x0000, 0x4800, 0x2482, 0x0021, 0x0000,
+0x2092, 0x0089, 0x0008, 0x2492, 0x0449, 0x0040, 0x2480, 0x0248, 0x0000,
+0x4800, 0x0480, 0x0481, 0x004A, 0x2092, 0x2489, 0x0248, 0x2492, 0x2449,
+0x9249, 0x2480, 0x0248, 0x0040, 0x4804, 0x0480, 0x04A3, 0x0048, 0x2092,
+0x24B9, 0x0248, 0x2492, 0x2449, 0x9249, 0x2488, 0x0248, 0x0042, 0x0004,
+0x0000, 0x2493, 0x0A49, 0x0000, 0x24A0, 0x1249, 0x0000, 0x2500, 0x9249,
+0x0008, 0x1000, 0x9249, 0x0024, 0x0000, 0x2491, 0x0249, 0x0000, 0x2400,
+0x1241, 0x0000, 0x2000, 0x9209, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000,
+0x2011, 0x0201, 0x0000, 0x0000, 0x1001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x9209, 0x0020, 0x0000, 0x2013, 0x0201, 0x0000, 0x0020, 0x1001,
+0x0000, 0x0300, 0x0000, 0x0000, 0x1000, 0x9209, 0x2420, 0x9249, 0x0000,
+0x2000, 0x9249, 0x0014, 0x0000, 0x9249, 0x0224, 0x0000, 0x9240, 0x1924,
+0x0000, 0x2400, 0x92C9, 0x0000, 0x2000, 0x9249, 0x0004, 0x0000, 0x9249,
+0x0024, 0x0000, 0x9240, 0x0924, 0x0000, 0x2400, 0x9249, 0x0000, 0x2000,
+0x9249, 0x0004, 0x0000, 0x9249, 0x0024, 0x0000, 0x9240, 0x0924, 0x0000,
+0x2C00, 0x92C9, 0x0000, 0x2000, 0x9249, 0x0014, 0x0000, 0x9249, 0x0024,
+0x0000, 0x9240, 0x192C, 0x0000, 0x2400, 0x9249, 0x0001, 0x2000, 0x9249,
+0x0004, 0x4000, 0x9249, 0x0024, 0x0000, 0x9244, 0x1924, 0x0000, 0x2400,
+0x9249, 0x0001, 0x2000, 0x9249, 0x0004, 0x0000, 0x9249, 0x0024, 0x0000,
+0x9240, 0x0924, 0x0000, 0x2400, 0x9249, 0x0001, 0x2000, 0x9249, 0x0004,
+0x0000, 0x9249, 0x0024, 0x0000, 0x9240, 0x092C, 0x0000, 0x2400, 0x9249,
+0x0001, 0x2000, 0x9249, 0x0004, 0x4000, 0x9249, 0x0024, 0x0000, 0x9244,
+0x1924, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0080, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8200,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0008, 0x0200, 0x0000, 0x0208, 0x0400, 0x0001, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0401, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0401,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0408,
+0x0200, 0x0000, 0x0208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0400, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0448, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0080, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x2000, 0x0400, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0002, 0x2000, 0x0000, 0x0000, 0x0000, 0x8200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4100,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0100, 0x0020, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0400, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0041, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2400, 0x9648, 0x4925, 0x2C92, 0x9249, 0x4904, 0x6412,
+0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2489, 0x9248, 0x4924,
+0x2092, 0x924B, 0x4904, 0x2492, 0x924B, 0x4824, 0x2492, 0x9241, 0x4904,
+0x2492, 0x2409, 0x9649, 0x4924, 0x2092, 0xB649, 0x4904, 0x2492, 0xB249,
+0x4824, 0x2492, 0x9241, 0x4925, 0x2492, 0x2409, 0x9049, 0x4924, 0x6C92,
+0x1049, 0x4904, 0x6492, 0x9649, 0x4A24, 0x2482, 0x9251, 0x5920, 0x2092,
+0x2409, 0x9649, 0x4924, 0x2882, 0x9249, 0x4984, 0x6492, 0x9249, 0x4A24,
+0x2492, 0x9241, 0x5924, 0x2492, 0x2489, 0x9249, 0x4925, 0x2092, 0x924B,
+0x4104, 0x2492, 0x924B, 0x4024, 0x2492, 0x9241, 0x4924, 0x2492, 0x2409,
+0x9649, 0x4925, 0x2082, 0xB649, 0x4904, 0x2402, 0xA241, 0x4824, 0x2412,
+0x9241, 0x4925, 0x2092, 0x2409, 0x9249, 0x4925, 0x6892, 0x9249, 0x4804,
+0x6492, 0x9449, 0x4A24, 0x2482, 0x9251, 0x1924, 0x2492, 0x0009, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0400, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0800, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004,
+0x0800, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2400, 0x9249, 0x4924, 0x2892, 0x9249,
+0x4904, 0x4492, 0x9249, 0x4A04, 0x2492, 0x9241, 0x5924, 0x2492, 0x2489,
+0x9249, 0x0920, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249, 0x4824, 0x2492,
+0x9241, 0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2092, 0x9249, 0x4904,
+0x0492, 0x0249, 0x4824, 0x2492, 0x9201, 0x4924, 0x2492, 0x2409, 0x9241,
+0x0920, 0x2092, 0x9249, 0x4904, 0x6482, 0x8241, 0x4A24, 0x2492, 0x9241,
+0x5924, 0x2090, 0x2409, 0x9249, 0x4924, 0x2892, 0x1049, 0x4900, 0x4492,
+0x9249, 0x4A04, 0x2492, 0x1241, 0x5920, 0x2492, 0x2489, 0x9249, 0x4904,
+0x2092, 0x8049, 0x4904, 0x2492, 0x8249, 0x4824, 0x2492, 0x9241, 0x0924,
+0x2492, 0x2409, 0x9249, 0x4920, 0x2090, 0x9249, 0x4804, 0x2492, 0x9241,
+0x4824, 0x2492, 0x1340, 0x0930, 0x2492, 0x2409, 0x9241, 0x4904, 0x0892,
+0x9241, 0x4904, 0x6492, 0x8249, 0x0A24, 0x2492, 0x9341, 0x5934, 0x2490,
+0x0009, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0100, 0x0040, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x4004, 0x1000,
+0x0180, 0x0040, 0x0004, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x4004, 0x1000, 0x0000, 0x2040, 0x0404, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0200, 0x0004, 0x0000, 0x0004, 0x0000, 0x0200,
+0x2491, 0x0249, 0x0000, 0x2490, 0x5249, 0x0000, 0x2400, 0x9249, 0x000C,
+0x1000, 0x9249, 0x0064, 0x0000, 0x2491, 0x0249, 0x0000, 0x2480, 0x1249,
+0x0000, 0x2400, 0x9249, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000, 0x2491,
+0x0249, 0x0000, 0x2480, 0x1249, 0x0000, 0x2400, 0x9249, 0x0000, 0x0000,
+0xB249, 0x0024, 0x0000, 0x2491, 0x0249, 0x0000, 0x2490, 0x5249, 0x0000,
+0x2400, 0x9249, 0x0004, 0x1000, 0x9249, 0x0064, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0800, 0x0088, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0xA21A, 0x0001,
+0x0000, 0x8200, 0x0020, 0x0000, 0x0800, 0x0080, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x2012, 0x0001, 0x0000, 0x0000, 0x0100, 0x0000, 0x0800,
+0x0080, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x2012, 0x0001, 0x0000,
+0x0008, 0x1000, 0x0000, 0x4900, 0x2492, 0x0003, 0x4800, 0x2492, 0x0039,
+0x8000, 0x2492, 0x0049, 0x0000, 0x2498, 0x2249, 0x0000, 0x4100, 0x2412,
+0x0491, 0x4049, 0xA492, 0x2009, 0x1200, 0x0480, 0x2048, 0x9201, 0x2490,
+0x0249, 0x8208, 0x4104, 0xA412, 0x0491, 0x4249, 0x2492, 0x200D, 0x1000,
+0x0480, 0x2048, 0x8201, 0x2490, 0x0249, 0x0008, 0x4104, 0x2413, 0x2093,
+0x4009, 0x249A, 0x0039, 0x8001, 0x04C0, 0x2048, 0x0208, 0x3498, 0x0249,
+0x8240, 0x0000, 0x0000, 0x2493, 0x0249, 0x0000, 0x24A0, 0x1249, 0x0000,
+0x2500, 0x9249, 0x0000, 0x1000, 0x9249, 0x0024, 0x0000, 0x2001, 0x0200,
+0x0000, 0x0480, 0x0049, 0x0000, 0x0400, 0x0048, 0x0000, 0x0000, 0x1041,
+0x0020, 0x0080, 0x2021, 0x0000, 0x0000, 0x0480, 0x0249, 0x0000, 0x0400,
+0x1048, 0x0000, 0x0000, 0x9241, 0x0020, 0x0000, 0x0403, 0x0A40, 0x0000,
+0x24A0, 0x9248, 0x0000, 0x0500, 0x9061, 0x0000, 0x1000, 0x1009, 0x2424,
+0x9249, 0x0000, 0x2000, 0x9249, 0x0014, 0x0000, 0x9249, 0x0024, 0x0000,
+0x9240, 0x1924, 0x0000, 0x0400, 0x9049, 0x0000, 0x2000, 0x8248, 0x0004,
+0x0000, 0x1241, 0x0024, 0x0000, 0x9240, 0x0924, 0x0000, 0x0400, 0x9049,
+0x0000, 0x2000, 0x8248, 0x0004, 0x0000, 0x1241, 0x0024, 0x0000, 0x9240,
+0x0924, 0x0002, 0x0400, 0x9049, 0x0000, 0x2000, 0x8248, 0x0014, 0x0000,
+0x1241, 0x0224, 0x0000, 0x9240, 0x1924, 0x0000, 0x2400, 0x9249, 0x0001,
+0x2000, 0x9249, 0x0004, 0x4000, 0x9249, 0x0024, 0x0000, 0x9244, 0x1924,
+0x0000, 0x0400, 0x8040, 0x0001, 0x2000, 0x1201, 0x0000, 0x0000, 0x1001,
+0x0000, 0x0000, 0x0040, 0x0804, 0x0000, 0x0400, 0x0040, 0x0001, 0x2000,
+0x1201, 0x0000, 0x0000, 0x1001, 0x0000, 0x0000, 0x0040, 0x0004, 0x0002,
+0x0400, 0x9040, 0x0001, 0x2000, 0x9201, 0x0004, 0x4000, 0x1001, 0x0024,
+0x0000, 0x0044, 0x1904, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0080, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8200, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x4100, 0x0010, 0x0200, 0x0008, 0x0000, 0x0000,
+0x0000, 0x8200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0400, 0x0010, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0081, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x1000, 0x0800, 0x0001,
+0x0000, 0x0900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8041, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0400,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0001, 0x0000, 0x0000, 0x1000, 0x0000, 0x0040,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2001, 0x0C00, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0090, 0x0001, 0x8000, 0x0800, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x8400, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0090, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0200, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x4000, 0x2000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x1000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0C00, 0x0000, 0x0000, 0x0000, 0x0200, 0x0004, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x4020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0080, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0400,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x4020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0410,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0080, 0x0001, 0x0000, 0x0001,
+0x0001, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0100, 0x0000, 0x8000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0820, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x4000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0101, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0208, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x2400, 0x9249, 0x4125, 0x2C82, 0x9249,
+0x4904, 0x6492, 0x1249, 0x4A2C, 0x2492, 0x9241, 0x5924, 0x2492, 0x2489,
+0x9249, 0x4924, 0x2092, 0x9248, 0x4904, 0x2492, 0x9049, 0x4824, 0x2492,
+0x1241, 0x4804, 0x2492, 0x2409, 0x9249, 0x4924, 0x2092, 0x90C9, 0x4904,
+0x2692, 0x124B, 0x4824, 0x2492, 0x9241, 0x4124, 0x2492, 0x4409, 0x9249,
+0x4824, 0x2892, 0x924B, 0x0904, 0x6492, 0x9249, 0x8A24, 0x2492, 0x12C1,
+0x5924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492,
+0x9249, 0x4A2C, 0x0482, 0x9241, 0x5924, 0x2492, 0x2489, 0x9249, 0x4925,
+0x2092, 0x9248, 0x4904, 0x2492, 0x9249, 0x4824, 0x2492, 0x9241, 0x4924,
+0x2492, 0x2409, 0x9249, 0x4925, 0x2092, 0x92C9, 0x4904, 0x2490, 0x924B,
+0x4024, 0x2492, 0x9241, 0x4904, 0x2492, 0x6409, 0x9249, 0x0825, 0x2892,
+0x924B, 0x4104, 0x6490, 0x9248, 0x4A24, 0x2492, 0x92C1, 0x5924, 0x2490,
+0x0009, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0040, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x1000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0002,
+0x8000, 0x0000, 0x0001, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0800, 0x0100, 0x0010, 0x4004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0800, 0x0000, 0x0000, 0x4004, 0x0000, 0x1000, 0x0100, 0x0404, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x4004, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0049, 0x0000, 0x0400, 0x0008, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x2400, 0x9249, 0x4924,
+0x2890, 0x1249, 0x4904, 0x6492, 0x9249, 0x4A20, 0x2492, 0x9241, 0x5924,
+0x2492, 0x2489, 0xD269, 0x4804, 0x2092, 0x9249, 0x4904, 0x2492, 0xDA49,
+0x4036, 0x2492, 0x9241, 0x4924, 0x2482, 0x2409, 0x9209, 0x4924, 0x2092,
+0x9249, 0x4904, 0x2492, 0x9249, 0x4804, 0x2492, 0x9241, 0x4924, 0x0492,
+0x0109, 0x9200, 0x4924, 0x2892, 0x9241, 0x4904, 0x6492, 0x8249, 0x4A24,
+0x2492, 0x1241, 0x5904, 0x2492, 0x2409, 0x9049, 0x0920, 0x2892, 0x9249,
+0x4904, 0x6492, 0x9249, 0x0A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2409,
+0x9249, 0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249, 0x4820, 0x2492,
+0x9241, 0x4924, 0x2492, 0x2409, 0x9049, 0x0100, 0x2083, 0x9249, 0x4104,
+0x0011, 0x9249, 0x4004, 0x0010, 0x1240, 0x4924, 0x6486, 0x2500, 0x8249,
+0x4820, 0x2892, 0x9249, 0x4104, 0x6492, 0x9249, 0x4224, 0x2490, 0x9141,
+0x5924, 0x6496, 0x0009, 0x0000, 0x6000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x4000, 0x0001, 0x0000, 0x0000, 0x2081, 0x0020,
+0x0022, 0xA080, 0x0000, 0x0000, 0x1000, 0x0001, 0x0000, 0x0004, 0x0400,
+0x0000, 0x0800, 0x0000, 0x0020, 0x0000, 0x0002, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0xB6D9, 0x036D, 0x0000, 0xB6D0, 0x5B6D, 0x0100, 0xB400,
+0xDB6D, 0x400E, 0x9000, 0xDB6D, 0x0176, 0x44B2, 0xF699, 0x134F, 0xE4A1,
+0xB2C1, 0x1949, 0xD810, 0xB412, 0xD92D, 0x0182, 0x8249, 0xDB6F, 0x8037,
+0x0100, 0xB6D9, 0x036D, 0x0404, 0xB6C1, 0x1B6D, 0x4000, 0xB410, 0xDB6D,
+0x0082, 0x8088, 0xDB6D, 0x2336, 0x0000, 0xB659, 0x136D, 0x0000, 0xB6D0,
+0x5B6D, 0x0810, 0xF400, 0xDB6D, 0x001E, 0x9000, 0xDB69, 0xB676, 0xDB6D,
+0x9248, 0xB124, 0xDB6D, 0x9246, 0x2924, 0xDA6D, 0x90B6, 0x4920, 0x9B60,
+0x95B6, 0x4824, 0x9612, 0x9BDC, 0x9208, 0xA104, 0x094C, 0x9642, 0x0B00,
+0x016C, 0x90A0, 0x4B66, 0x5AE2, 0x8CD2, 0x4904, 0x3612, 0xCA6C, 0x0148,
+0xB104, 0xCB60, 0x0246, 0x0104, 0x9B2D, 0x90A6, 0x6926, 0xDB62, 0x8C32,
+0x0114, 0x9410, 0xDB64, 0x4888, 0x8924, 0xD924, 0x1246, 0x8930, 0xC17C,
+0x90B6, 0x4816, 0xDB62, 0x1DB2, 0x4C92, 0xDB12, 0x6DB6, 0x4927, 0xD892,
+0x6DB6, 0x4933, 0xA492, 0x68B6, 0x485B, 0x2492, 0x2DB1, 0x66DB, 0x2492,
+0xCA89, 0x2005, 0x01A1, 0xC080, 0x0016, 0x490A, 0x3008, 0x2526, 0x0CC9,
+0x349A, 0x6431, 0x449A, 0x9290, 0x0B04, 0x5412, 0x4925, 0xD092, 0x659A,
+0x4D09, 0x2082, 0x0DF6, 0x48CB, 0x2492, 0x61B1, 0x4608, 0x0490, 0x690D,
+0x6D90, 0x4923, 0xC092, 0x6C96, 0x493B, 0x2492, 0x2526, 0x0CDB, 0x2492,
+0x0419, 0x06DA, 0x2592, 0x0009, 0x0000, 0x4927, 0x0892, 0x0000, 0x4920,
+0x2492, 0x0000, 0x4900, 0x2496, 0x1009, 0x5000, 0x2492, 0x00A9, 0x0091,
+0x49A5, 0x0092, 0x0000, 0x4D00, 0x36DA, 0x0000, 0x4C00, 0x36DA, 0x0081,
+0x4040, 0xB6B2, 0x000D, 0x1040, 0x4D25, 0x0092, 0x0000, 0x6D00, 0x24F2,
+0x0000, 0x4800, 0x2493, 0x0001, 0x4000, 0x34B2, 0x000D, 0x0000, 0x49A7,
+0x0092, 0x0000, 0x49A0, 0x2492, 0x0010, 0x4D00, 0x2492, 0x0001, 0x5000,
+0x2492, 0xFF09, 0xFFFF, 0x2490, 0xF249, 0xFFEF, 0x2497, 0x1249, 0xFBFF,
+0x267F, 0x9249, 0xEFF0, 0x3FFF, 0x9249, 0xEE04, 0xF36C, 0x2410, 0xF249,
+0x527E, 0x208E, 0x0001, 0x6F6F, 0x20FF, 0x8001, 0xF770, 0x0DB6, 0x0049,
+0x3F20, 0xCF3D, 0x2090, 0xF269, 0xFBFB, 0x008E, 0x1209, 0xDF7F, 0x24F6,
+0x9248, 0xD370, 0x0F36, 0xC249, 0x4E22, 0xFFC9, 0xA450, 0xF249, 0xFA5F,
+0x241F, 0x1249, 0xBB6D, 0x20FF, 0x9249, 0x9260, 0x9FFE, 0x9349, 0x0024,
+0x0000, 0x6DB5, 0x02DB, 0x0000, 0x6D88, 0x76DB, 0x0400, 0x6C00, 0xB6DB,
+0x0005, 0x5800, 0xB6DB, 0x31AD, 0x0C02, 0x2D35, 0x02D9, 0xBF81, 0x6985,
+0x24D3, 0x9291, 0x6804, 0xA493, 0x8001, 0x4325, 0x24D9, 0x4028, 0x2081,
+0xFDF5, 0x02DB, 0x1001, 0x6980, 0x36DB, 0x2000, 0x6C00, 0xB6DB, 0x0401,
+0x4145, 0xB6DB, 0x0029, 0x000B, 0x6D35, 0x22DB, 0x0249, 0x6D80, 0x76DB,
+0x1281, 0x2800, 0xB6FB, 0x2185, 0x5005, 0xB6DB, 0x002D, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0201, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0009, 0x0000, 0x0010, 0x0000, 0x0400, 0x0000, 0x0201,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0300, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x8000, 0x0400,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0401, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0440, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0010, 0x0080, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x2010, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0048, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0100, 0x0048, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0008, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x2000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x8008, 0x0400, 0x0009, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0040, 0x0800, 0x0041,
+0x8008, 0x0200, 0x0040, 0x9000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0401,
+0x2400, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2800, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0400, 0x0010, 0x8008, 0x0400, 0x0009, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0001, 0x0400, 0x0040, 0x0000, 0x0041, 0x8008, 0x0200,
+0x0040, 0x9000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0024,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0800,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1020, 0x0001,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0401, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0001, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x1100, 0x0001, 0x0002, 0x0000,
+0x0000, 0x0000, 0xA000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0001, 0x0408, 0x0040, 0x0000, 0x8010, 0xC008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x2000, 0x0200, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x1040, 0x0000, 0x0000, 0x0000, 0x0010, 0x1004,
+0x0000, 0x0000, 0x0004, 0x0042, 0x0000, 0x0000, 0x1010, 0x0000, 0x0800,
+0x8080, 0x0000, 0x8000, 0x0000, 0x0400, 0x0000, 0x4004, 0x0000, 0x0000,
+0x2800, 0x0082, 0x0008, 0x4000, 0x0080, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0820, 0x8002, 0x0040, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x1000, 0x0000, 0x0400, 0x0002, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0400, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x1000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0408, 0x1000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0200, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0800, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0090, 0x0001, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0090, 0x0101, 0x0000, 0x0000, 0x0210, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x1000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0100, 0x0000, 0x0200, 0x0001, 0x1000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0008, 0x0000, 0x0010, 0x0022, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000, 0x0000, 0x0900,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0082, 0x0000, 0x0000, 0x0000, 0x2080, 0x0400, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0201, 0x0000, 0x0000,
+0x1008, 0x0000, 0x0010, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0020, 0x0001,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0102,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0040, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x8000, 0x0200, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x1000,
+0x2208, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4020, 0x0001, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0024, 0x0001, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x2400, 0x9600, 0x4925,
+0x2C92, 0x8209, 0x490C, 0x4492, 0x8649, 0x4A24, 0x2492, 0x9241, 0x1924,
+0x2492, 0x2489, 0x1249, 0x4925, 0x00B2, 0x9249, 0x4904, 0x24B6, 0x9241,
+0x4804, 0x0492, 0x92C1, 0x4924, 0xA492, 0x2409, 0x1249, 0x4985, 0x2091,
+0xB2C8, 0x4904, 0x2C92, 0x9008, 0x482C, 0x0492, 0x1241, 0x4924, 0x64D2,
+0x2409, 0x9649, 0xC905, 0x6490, 0x8409, 0x0114, 0x2490, 0x8649, 0x4A24,
+0x2490, 0x9241, 0x592C, 0x0436, 0x2409, 0x9609, 0x4924, 0x2882, 0x1249,
+0x490C, 0x4492, 0x0649, 0x4A04, 0x2482, 0x9241, 0x5924, 0x2492, 0x2489,
+0x1241, 0x4924, 0x0092, 0x9249, 0x4904, 0x2492, 0x8209, 0x4824, 0x2492,
+0x12C1, 0x4920, 0x2490, 0x2409, 0x8240, 0x4924, 0x2092, 0xB0C9, 0x4904,
+0x2410, 0x8048, 0x482C, 0x0492, 0x1201, 0x4824, 0x2492, 0x2409, 0x9648,
+0x4124, 0x6882, 0x9449, 0x4814, 0x2482, 0x0641, 0x4A24, 0x2482, 0x1041,
+0x492C, 0x0402, 0x0008, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0001, 0x0400,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x2002, 0x0100, 0x0800, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x2000, 0x0000, 0x2002, 0x0100, 0x0800, 0x0080,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x4002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0010, 0x0080, 0x0000, 0x4480, 0x0002, 0x0200,
+0x0400, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0100, 0x0012, 0x8004,
+0x4208, 0x0080, 0x0000, 0x0001, 0x0480, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0090, 0x0000, 0x0801, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0004, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0480, 0x0000, 0x0000, 0x0401, 0x0000,
+0x0000, 0x0010, 0x0000, 0x1008, 0x0100, 0x0012, 0x0000, 0x4000, 0x0081,
+0x0000, 0x0000, 0x0480, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0090, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x2400,
+0x92D9, 0x6924, 0x2892, 0x9249, 0x4904, 0x6492, 0xB249, 0x4A24, 0x24D2,
+0x9241, 0x5924, 0x2482, 0x6481, 0x9249, 0x0924, 0x2092, 0x9249, 0x4904,
+0x0490, 0x9249, 0x4064, 0x2412, 0x9241, 0x4924, 0x2412, 0x2409, 0x9249,
+0x4120, 0x2092, 0x9249, 0x4905, 0x0491, 0xD249, 0x4024, 0x241A, 0x9241,
+0x4925, 0x0492, 0x2409, 0x9249, 0x4924, 0x2092, 0x92C9, 0x4914, 0x0490,
+0x92C9, 0x4224, 0x2492, 0x9241, 0x1925, 0x2492, 0x2409, 0x92D9, 0x4924,
+0x2892, 0x9249, 0x4900, 0x4492, 0xB249, 0x4A24, 0x2492, 0x9241, 0x5924,
+0x2492, 0x6489, 0x9249, 0x0924, 0x2090, 0x9249, 0x4904, 0x0490, 0x9248,
+0x4864, 0x2492, 0x9241, 0x4924, 0x0492, 0x2408, 0x9249, 0x0100, 0x2010,
+0x9248, 0x4D05, 0x0480, 0x9249, 0x4824, 0x0412, 0x9241, 0x4925, 0x0480,
+0x2408, 0x9249, 0x0100, 0x2890, 0x12C9, 0x4914, 0x6493, 0x92C9, 0x4824,
+0x24D2, 0x9241, 0x4925, 0x0480, 0x0009, 0x0000, 0x2000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2002, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4024, 0x0282, 0x0000, 0x0000,
+0x2002, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x2012, 0x0001, 0x0000,
+0x4824, 0x040A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x2012, 0x0000, 0x8014, 0xE6D8, 0x016D, 0x00C0, 0xB6D0, 0x5B68,
+0x1000, 0xB440, 0xDB2D, 0x680F, 0x9040, 0xDBED, 0x0166, 0x2480, 0x36DD,
+0x02F9, 0x1A10, 0xF68D, 0x0625, 0x0403, 0xB024, 0x0B69, 0x3022, 0x8309,
+0xFF2D, 0x013A, 0x1494, 0xFCD8, 0x132D, 0x2888, 0x96C0, 0x1BE9, 0x3200,
+0xB488, 0xF325, 0x0402, 0x8022, 0x5B7D, 0x0034, 0x0001, 0x22D9, 0x036D,
+0x0250, 0xF6D0, 0x5B64, 0x0880, 0xB400, 0xDB6B, 0x3006, 0x9001, 0xDF8D,
+0xB676, 0x5B71, 0x8248, 0xBB34, 0x5B2D, 0x9246, 0xA8A1, 0xCB6D, 0x90F2,
+0x4164, 0x3360, 0x9596, 0x4804, 0x9302, 0xFF65, 0x1208, 0xB020, 0xC13C,
+0x9203, 0x106C, 0x5B6C, 0xC492, 0x9920, 0xCB42, 0x86BF, 0x4962, 0xB616,
+0xC938, 0x0148, 0xA144, 0xF325, 0x6A06, 0x0520, 0x492D, 0x103A, 0x046A,
+0x4D60, 0x8C94, 0x8904, 0x9600, 0xD964, 0x4E48, 0xB924, 0xD93D, 0x1A46,
+0x0929, 0xC1ED, 0x50B6, 0x4D10, 0xE96A, 0x9DB7, 0x0840, 0xDB12, 0x61AA,
+0x0927, 0xD092, 0x0C36, 0x4933, 0x2490, 0x6536, 0x481D, 0x2492, 0x05B8,
+0x6ADB, 0x2612, 0xCA88, 0x0816, 0x4971, 0x8000, 0x25A7, 0x0900, 0x0092,
+0x6CA2, 0x404B, 0x2682, 0x6C11, 0x45D2, 0x0012, 0x5A21, 0x5780, 0x0121,
+0xC081, 0x008A, 0x4901, 0x2410, 0x3496, 0x4C01, 0x1F12, 0x51B1, 0x4368,
+0x2682, 0xDB09, 0x6D93, 0x4927, 0xD092, 0x6E44, 0x093B, 0xA492, 0x6416,
+0x48DB, 0x2490, 0x14B9, 0x46CA, 0x2012, 0x0009, 0x0008, 0x4927, 0x0292,
+0x0000, 0x4920, 0x2693, 0x0000, 0x4904, 0x34D2, 0x6001, 0x5800, 0xA692,
+0x01A9, 0x2400, 0x69B5, 0x0092, 0x0011, 0x4D01, 0x34DB, 0x0000, 0x5C00,
+0xB692, 0x0043, 0x4209, 0x24D2, 0x002D, 0x0214, 0x4525, 0x10D3, 0xA000,
+0x6900, 0x2492, 0x0200, 0x4800, 0x36DB, 0x0401, 0x4100, 0xA6DA, 0x0009,
+0x0000, 0x4D27, 0x0892, 0x0010, 0x4920, 0xA49B, 0x0080, 0x4900, 0x24B2,
+0x2001, 0x5001, 0x24D2, 0xFF09, 0x7BF3, 0x2490, 0xF069, 0x9E3F, 0x2497,
+0x1048, 0xEB7F, 0x2479, 0x8229, 0x9FF0, 0x33BF, 0x1049, 0xEE04, 0x9A5F,
+0x0400, 0xA249, 0xADEE, 0x2080, 0x0200, 0xFAEC, 0x20CB, 0x0049, 0xCE30,
+0x0CF6, 0x9209, 0x3E00, 0xC96B, 0x2890, 0xE208, 0x5A41, 0x0486, 0x1249,
+0xCC5F, 0x24AC, 0x8000, 0xD3F0, 0x0E0E, 0x1001, 0xFF24, 0xFFC8, 0x2090,
+0xF249, 0xFC0D, 0x249F, 0x1240, 0xFA4F, 0x26FE, 0x9249, 0x86F0, 0x1FEE,
+0x9309, 0x0024, 0x8404, 0x2DB5, 0x00DB, 0xA1C0, 0x6D88, 0x76DA, 0x1080,
+0x6C00, 0xB69B, 0x8004, 0x5420, 0xB45B, 0x24AD, 0x41A8, 0x6DA1, 0x524B,
+0x5240, 0x2D8E, 0x2B93, 0x8111, 0x6834, 0x24DB, 0x1081, 0x4800, 0x929B,
+0x8101, 0x2043, 0x25B5, 0x029A, 0x0550, 0x4D88, 0x365F, 0x8240, 0xE846,
+0x8D97, 0xA201, 0x4081, 0x34CB, 0x202D, 0x022C, 0x69B4, 0x02DB, 0x0082,
+0x2D80, 0x76D2, 0x1300, 0x6C00, 0xB6D9, 0x0A05, 0x5000, 0xF21B, 0x002D,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0004, 0x0008,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0003, 0x0000, 0x0820, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x4020, 0x0000,
+0x1000, 0x4020, 0x0400, 0x0000, 0x4800, 0x0012, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x2000, 0x0040, 0x0042, 0x0000, 0x0000, 0x0008, 0x2001, 0x0010,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2004, 0x0400, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x008C, 0x0000, 0x0080, 0x0009, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x1201, 0x0001, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x1002, 0x0004, 0x0000, 0x0010, 0x0000, 0x0000, 0x8100,
+0x0000, 0x0000, 0x8000, 0x0200, 0x0000, 0x0000, 0x0004, 0x0040, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0080, 0x0009, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x1201, 0x0000, 0x0100, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0004, 0x0000, 0x0010, 0x0400, 0x0000, 0x0000, 0x4000, 0x0400,
+0x0000, 0x0200, 0x0800, 0x0000, 0x0002, 0x0040, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x2400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0009, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x9001, 0x0000, 0x0000, 0x0002,
+0x0004, 0x0000, 0x0090, 0x0000, 0x0000, 0x2400, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0200, 0x0000, 0x0209, 0x0024, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0048, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x9001, 0x0000, 0x4000, 0x0000, 0x0004, 0x0000,
+0x0090, 0x0000, 0x0000, 0x2400, 0x0000, 0x0000, 0x0000, 0x8000, 0x0200,
+0x0000, 0x0209, 0x0026, 0x0000, 0x0401, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0048, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0400, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0100, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x2000,
+0x0400, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0080, 0x1001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0104, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2101,
+0x0000, 0x0000, 0x1080, 0x0000, 0x0020, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0020, 0x0010, 0x0010, 0x8001, 0x0401, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0028,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0048, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0014, 0x0000, 0x1000, 0x0120, 0x0000, 0x0000, 0x0000, 0x8001, 0x0000,
+0x0800, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0800, 0x0008, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0041, 0x2020,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0400, 0x0000, 0x4005, 0x0090, 0x0000, 0x0000,
+0x0024, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x2010, 0x0000, 0x0100,
+0x0200, 0x0020, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0080, 0x0002, 0x0000, 0x2000, 0x0000, 0x0000, 0x0040, 0x4482,
+0x0000, 0x4000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x4004, 0x0090, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x2010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x4486, 0x0000, 0x4000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0002, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4124, 0x0000,
+0x0000, 0x4000, 0x0002, 0x0000, 0x0300, 0x0000, 0x0000, 0x4120, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0902, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0820, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x2000, 0x0000, 0x8000, 0x8000,
+0x0000, 0x0001, 0x0000, 0x0100, 0x0000, 0x0400, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0610, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x1000, 0x0000, 0x0800, 0x0000, 0x0200, 0x0000,
+0x0401, 0x0000, 0x0000, 0x0001, 0x0000, 0x0002, 0x0084, 0x0240, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x1000, 0x3000,
+0x0100, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x8000, 0x0000, 0x10C0,
+0x0400, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x00C0, 0x0004, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0028, 0x0002, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x1000, 0x0200, 0x2400,
+0x9641, 0x4924, 0x2C92, 0x9209, 0x4904, 0x6492, 0x9249, 0x4A28, 0x2492,
+0x9241, 0x5824, 0x2492, 0x0489, 0x8009, 0x4904, 0x0096, 0x9249, 0x0904,
+0x2492, 0x1289, 0x5800, 0x2492, 0x9201, 0x0824, 0x2491, 0x0009, 0x9249,
+0x4924, 0x2092, 0x9240, 0x410E, 0x2492, 0x9249, 0x4804, 0x2492, 0x1001,
+0x4020, 0x2492, 0x6009, 0x9648, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492,
+0x00C9, 0x4A24, 0x2492, 0x9241, 0x4924, 0x2492, 0x2409, 0x8609, 0x4925,
+0x2882, 0x9249, 0x4904, 0x6492, 0x8249, 0x4A2C, 0x0492, 0x9241, 0x5124,
+0x2492, 0x2489, 0x9249, 0x0921, 0x2002, 0x9249, 0x4904, 0x2492, 0x90C9,
+0x4820, 0x26D0, 0x1201, 0x4920, 0x0482, 0x0409, 0x9249, 0x4925, 0x20D2,
+0x9249, 0x490C, 0x0692, 0x9249, 0x4804, 0x0492, 0x9201, 0x4824, 0x2412,
+0x6409, 0x9641, 0x4825, 0x2882, 0x9249, 0x4904, 0x2010, 0x92C9, 0x0E24,
+0x2090, 0x8241, 0x5924, 0x2492, 0x0009, 0x1000, 0x0001, 0x0408, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x2800, 0x0001, 0x0000, 0x0900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x2001, 0x0400, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0400, 0x0000, 0x0000, 0x4004, 0x0000, 0x0004, 0x0400, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4024, 0x0002,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x4000, 0x0480,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x4000, 0x0100, 0x0000, 0x0000, 0x0010, 0x2000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0C00, 0x0110, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0008, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x4000, 0x0480, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x8010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0010, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0410,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x4120, 0x0000, 0x1000, 0x4000, 0x0002, 0x0000, 0x0100, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0120,
+0x0000, 0x0000, 0x0000, 0x0002, 0x1000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0024, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x1040, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x9258, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0xB249,
+0x4A2C, 0x2492, 0x9241, 0x5924, 0x2492, 0x2489, 0x9249, 0x0920, 0x2092,
+0x9249, 0x4904, 0x24B2, 0x9248, 0x4824, 0x2492, 0x9241, 0x0924, 0x2012,
+0x2409, 0xB24D, 0x0920, 0x2092, 0x9209, 0x4907, 0x2492, 0x9249, 0x4824,
+0x3492, 0x9241, 0x0924, 0x2492, 0x2409, 0x9249, 0x0900, 0x2090, 0x9279,
+0x4904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5926, 0x2492, 0x2409,
+0x9A59, 0x4924, 0x2082, 0x9049, 0x4904, 0x6410, 0xAA49, 0x4A2C, 0x2492,
+0x1241, 0x5924, 0x2492, 0x2089, 0x924C, 0x4824, 0x2002, 0x9249, 0x0106,
+0x2012, 0x9A49, 0x0024, 0x2082, 0xD240, 0x4824, 0x0012, 0x2601, 0xB249,
+0x4024, 0x2002, 0x920D, 0x0105, 0x0012, 0x1349, 0x0824, 0x2002, 0xD240,
+0x0934, 0x0010, 0x2401, 0x9249, 0x4024, 0x3092, 0x9259, 0x0100, 0x6490,
+0x9249, 0x0A00, 0x2492, 0x9241, 0x1924, 0x0010, 0x0009, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0800, 0x0480, 0x0000,
+0x0000, 0x0400, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0091,
+0x0000, 0x4800, 0x0480, 0x0000, 0x4000, 0x1410, 0x0001, 0x4000, 0x2482,
+0x0008, 0x0000, 0x2900, 0x0400, 0x0000, 0x4800, 0x0002, 0x0000, 0x4000,
+0x0000, 0x0000, 0x4000, 0x2482, 0x0000, 0x0200, 0xB6D8, 0x0345, 0x8020,
+0xB6D0, 0x596F, 0x0D00, 0xB409, 0xDF6D, 0xC006, 0x9048, 0x996D, 0x2077,
+0x2088, 0x9618, 0x03ED, 0x04C1, 0xB2C1, 0x136E, 0x0400, 0xF4E0, 0x5B5D,
+0x8082, 0x8000, 0xD8EF, 0x4136, 0x4B0C, 0x97D1, 0x2365, 0x24A2, 0xE643,
+0x1B6D, 0x4440, 0xB449, 0xDF7C, 0x1C12, 0xC202, 0x9A2D, 0x4136, 0x0004,
+0xB7DD, 0x036D, 0x0090, 0xE690, 0x5B6D, 0x0041, 0xB000, 0xDB68, 0x101E,
+0x9000, 0xDB2D, 0xB676, 0xC965, 0x8A48, 0xB90C, 0x4B0D, 0x1246, 0x0B00,
+0xD06D, 0x90B7, 0x4900, 0x1B6A, 0x9DF6, 0x0BA4, 0x9612, 0x7B65, 0xE280,
+0xB124, 0xDBAC, 0x9606, 0x0121, 0x4F6D, 0x8016, 0xC904, 0x5BE0, 0x0CB2,
+0x4A20, 0xF612, 0x0060, 0xA040, 0x9108, 0x5B4D, 0x02C0, 0x2000, 0x9F2C,
+0x90B7, 0x4921, 0x4170, 0x8490, 0x0044, 0xF713, 0xDB60, 0x4848, 0x9924,
+0xD975, 0x0A06, 0x8920, 0xC92C, 0x14B6, 0x4933, 0x4962, 0x9DB6, 0x4454,
+0xDB12, 0x64B2, 0x6927, 0xD0D2, 0x6416, 0x493B, 0xA4D0, 0x60B6, 0x48D2,
+0x0082, 0x2DB9, 0x6603, 0x0492, 0xC888, 0x4DAA, 0x5925, 0x8210, 0x6076,
+0x4908, 0x2080, 0x21A0, 0x084B, 0x2682, 0x8C00, 0x42DB, 0x2410, 0x180D,
+0x0238, 0x4821, 0xC2D2, 0xA480, 0x2109, 0x3000, 0x0056, 0x4848, 0x0082,
+0x01A0, 0x0A41, 0xB68A, 0x1805, 0x6D8A, 0x4823, 0xC092, 0x6C80, 0x09FB,
+0x2490, 0x70D7, 0x48DB, 0x2492, 0x35B9, 0x06D9, 0x26B2, 0x0009, 0x0008,
+0x4927, 0x08DA, 0x0000, 0x4920, 0xA6D0, 0x1000, 0x4900, 0x2492, 0x9001,
+0x5040, 0x2692, 0x2489, 0x2000, 0x69A5, 0x2292, 0x0040, 0x4D00, 0x2493,
+0x0000, 0x0800, 0xA692, 0x0041, 0x4800, 0x3612, 0xC00D, 0x0040, 0x6925,
+0x03DA, 0x8040, 0x0980, 0x34B2, 0x0200, 0x4C00, 0x2493, 0x1811, 0x4800,
+0xB6DA, 0x400D, 0x0008, 0xC927, 0x0092, 0x0010, 0x69A0, 0x2492, 0x1000,
+0x4F00, 0x249B, 0x0001, 0x5000, 0x26D2, 0xFF09, 0xF561, 0x2490, 0xF201,
+0x7FCF, 0xA49F, 0x100B, 0xE3FF, 0x26F7, 0x9249, 0x4FF0, 0x3FA7, 0x9049,
+0xCA24, 0xDF63, 0x0418, 0x9049, 0xFABE, 0x2084, 0x1248, 0xF7FD, 0x649F,
+0x1049, 0x3EA0, 0x07FF, 0x80C9, 0x3C20, 0xD125, 0x0690, 0xD021, 0x5B39,
+0x6406, 0x0249, 0xDC3F, 0x2037, 0x9348, 0x83E0, 0x05A7, 0x0001, 0x3F20,
+0xFFC5, 0x2490, 0xE249, 0xFE49, 0x041F, 0x1249, 0xCA1E, 0xA0FF, 0x9240,
+0x83E0, 0x1FFE, 0x9009, 0x0024, 0x1A08, 0x4DB4, 0x0293, 0x90C0, 0x6D80,
+0x7499, 0x0600, 0x6C08, 0xB2DB, 0x8005, 0x5018, 0xB4DB, 0x31AC, 0x8010,
+0x4D35, 0x405B, 0x0401, 0x6983, 0x36D8, 0x9812, 0x2C20, 0x34CB, 0x6011,
+0x4104, 0xB459, 0x0329, 0xB483, 0x4CBD, 0x2093, 0x0016, 0x0D04, 0x26DB,
+0x2081, 0x6C00, 0xB2CA, 0xF601, 0x013C, 0x2493, 0x002B, 0x0011, 0x6CB1,
+0x32DB, 0x020E, 0x2D00, 0x76DF, 0x0700, 0x6800, 0xB6DA, 0x8205, 0x5000,
+0xB49B, 0x002D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0020, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0040, 0x0002, 0x0000, 0x0800,
+0x0000, 0x0000, 0x4000, 0x0004, 0x0000, 0x0200, 0x0200, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0008, 0x0000, 0x2000, 0x0000,
+0x0004, 0x0000, 0x0100, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0080, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0C00, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0042, 0x0080, 0x0048, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x1000, 0x0000, 0x0000, 0x0201, 0x2404, 0x0041, 0x2000, 0x0401,
+0x0000, 0x0100, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0081, 0x0401, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0048, 0x0000, 0x0000, 0x0002, 0x0000, 0x2000, 0x1000,
+0x0000, 0x0100, 0x0201, 0x0004, 0x0008, 0x2000, 0x0001, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0200, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x1000, 0x0400, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0008, 0x0000, 0x0000,
+0x0040, 0x0000, 0x8000, 0x0000, 0x0008, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0001, 0x0000, 0x2000, 0x0000, 0x1000,
+0x0000, 0x0040, 0x0000, 0x2040, 0x0000, 0x0041, 0x0000, 0x0000, 0x0040,
+0x0200, 0x0020, 0x8000, 0x0000, 0x0100, 0x8000, 0x0004, 0x0000, 0x2490,
+0x0000, 0x0040, 0x0000, 0x0040, 0x1000, 0x0000, 0x0001, 0x0000, 0x4000,
+0x1000, 0x0000, 0x0000, 0x2001, 0x0408, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x8000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0001, 0x0001, 0x0000, 0x2000, 0x0000, 0x1000, 0x0000, 0x0040,
+0x0000, 0x0040, 0x0001, 0x0041, 0x0000, 0x0000, 0x0040, 0x0200, 0x0020,
+0x8000, 0x0000, 0x0100, 0x8000, 0x0004, 0x0000, 0x2490, 0x0400, 0x0040,
+0x0000, 0x0040, 0x1000, 0x0000, 0x0001, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0001, 0x0410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0002, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0120,
+0x0001, 0x0004, 0x0004, 0x0000, 0x0004, 0x4004, 0x0002, 0x8100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2080, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0040, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0108, 0x0000, 0xA200, 0x4000, 0x0020, 0x4000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0020, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2001, 0x0400, 0x0000, 0x0000, 0x0020,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0001, 0x1000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0100, 0x0020, 0x0400, 0x0000, 0x0000, 0x0400,
+0x0200, 0x0000, 0x0000, 0x1000, 0x0000, 0x0040, 0x0000, 0x0000, 0x2020,
+0x0000, 0x0000, 0x0001, 0x0440, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x2000, 0x0000, 0x4000, 0x0002, 0x0000, 0x2001, 0x1000, 0x0800,
+0x0000, 0x0000, 0x0004, 0x0800, 0x4000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x1001, 0x0020, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000,
+0x0002, 0x0100, 0x0000, 0x0400, 0x0004, 0x0000, 0x0400, 0x0040, 0x0000,
+0x0000, 0x1800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0040, 0x2800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0020, 0x8000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0208, 0x0000, 0x0000, 0x0108, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0300, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0120, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x1040, 0x8000, 0x0004, 0x0004,
+0x0000, 0x0000, 0x0040, 0x1080, 0x0000, 0x0000, 0x0110, 0x0000, 0x0400,
+0x0010, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0040, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000,
+0x0040, 0x0000, 0x1000, 0x0000, 0x0000, 0x0040, 0x0800, 0x0200, 0x0200,
+0x0000, 0x0000, 0x0000, 0x1040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0040, 0x0000, 0x4000, 0x0000, 0x0100, 0x0000, 0x0400, 0x0000, 0x0001,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0040, 0x0004,
+0x0020, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x8002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0088, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0000, 0x2000,
+0x0000, 0x0001, 0x0200, 0x2002, 0x0000, 0x0040, 0x0C20, 0x0000, 0x0000,
+0x00A0, 0x0000, 0x0000, 0x4002, 0x0000, 0x0000, 0x5800, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0210, 0x0000,
+0x2000, 0x0004, 0x0400, 0x0000, 0x0000, 0x0002, 0x0800, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0400, 0x1088, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x2000, 0x0000, 0x0001,
+0x0000, 0x2002, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x4800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0840, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x4100, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,
+0x1001, 0x0000, 0x0100, 0x1200, 0x0000, 0x2100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0100, 0x0000, 0x0008, 0x0002, 0x0008, 0x0004, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0900, 0x0000, 0x0004, 0x0000, 0x0002,
+0x0000, 0x4000, 0x8000, 0x0100, 0x0800, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0110,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0080, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0040,
+0x2000, 0x2208, 0x0000, 0x0000, 0x1000, 0x8000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0008, 0x0001, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0A00, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x8080, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0200, 0x0004, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0011, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0801, 0x0000, 0x0000, 0x2100, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x1000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0005, 0x0010, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0001, 0x1400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0800, 0x0080, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x1000, 0x2001, 0x0200, 0x0000, 0x0000, 0x0001,
+0x0100, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0200, 0x0400, 0x9011, 0x4924, 0x2A92, 0x8249, 0x490C, 0x6412, 0x9259,
+0x4865, 0x2492, 0xC2C1, 0x5904, 0x2492, 0x6589, 0x924D, 0x4824, 0x2092,
+0x9209, 0x0104, 0x2C92, 0x9240, 0x4824, 0x2492, 0x8341, 0x4924, 0x0492,
+0x0409, 0x8019, 0x4025, 0x2012, 0x8249, 0x4905, 0x2092, 0xB241, 0x4808,
+0x0412, 0x1603, 0x4804, 0x2492, 0x0009, 0x9200, 0x0920, 0x6C92, 0x8649,
+0x5804, 0x6482, 0x920B, 0x4224, 0x2492, 0x8241, 0x5921, 0x2412, 0x2409,
+0x1259, 0x0921, 0x2892, 0x8209, 0x490C, 0x4490, 0x9259, 0x0A61, 0x2092,
+0x92C0, 0x5924, 0x2090, 0x6501, 0x1049, 0x4821, 0x0092, 0x9201, 0x4904,
+0x2492, 0x9248, 0x4824, 0x2492, 0x9240, 0x4920, 0x0492, 0x2009, 0x8058,
+0x0924, 0x2098, 0x8248, 0x4905, 0x2092, 0xA049, 0x4C2C, 0x1412, 0x1641,
+0x4906, 0x2480, 0x0409, 0x9249, 0x0125, 0x6892, 0x9649, 0x4804, 0x6482,
+0x824B, 0x4224, 0x2490, 0x0201, 0x5905, 0x3082, 0x0009, 0x8000, 0x0001,
+0x0440, 0x0180, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0400,
+0x0002, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0080, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0024, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0180, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0200, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0400, 0x0001, 0x0001, 0x2000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x4204, 0x0001, 0x0800, 0x0040,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4004, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x2000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x2010, 0x0000,
+0x0004, 0x0000, 0x0810, 0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0082,
+0x0008, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x00B0, 0x0000, 0x0040, 0x0900, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0xA000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x2010, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0082, 0x0008, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0040, 0x0000, 0x2000, 0x0040, 0x0000,
+0x0010, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0100, 0x0400, 0x0004, 0x0000, 0x0040, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0104, 0x0100, 0x0040, 0x0900, 0x0000, 0x0000,
+0x4004, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0200, 0x0200, 0x0020,
+0x0000, 0x0000, 0x0802, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0400, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2400, 0x9649, 0x4904, 0x2890, 0x9249, 0x4904,
+0x4490, 0x9249, 0x4A04, 0xA0BA, 0x9240, 0x592C, 0x0492, 0x0589, 0x9249,
+0x1824, 0x2092, 0x9649, 0x4904, 0x2490, 0x9249, 0x08A5, 0x2482, 0x9651,
+0x4904, 0x2490, 0x2401, 0x925B, 0x0920, 0x2092, 0xBA49, 0x4904, 0x2492,
+0x9249, 0x4825, 0x2492, 0xD241, 0x492C, 0x2692, 0x2409, 0x9259, 0x0920,
+0x6092, 0xB249, 0x5904, 0x649A, 0x9259, 0x4A24, 0x2496, 0x9241, 0x5924,
+0x2492, 0x2409, 0x8641, 0x4924, 0x2892, 0x8249, 0x4904, 0x6492, 0x9269,
+0x4A24, 0x2492, 0x1241, 0x59BC, 0x2492, 0x0589, 0x9249, 0x4934, 0x2012,
+0x9649, 0x4404, 0x0492, 0x9249, 0x4825, 0x2492, 0x9651, 0x4924, 0x2492,
+0x2409, 0x925B, 0x4925, 0x0010, 0xB249, 0x4904, 0x2482, 0x9249, 0x4825,
+0x0490, 0x1241, 0x0928, 0x0492, 0x2408, 0x9259, 0x4824, 0x6892, 0xB34D,
+0x4904, 0x6492, 0x9A59, 0x4A24, 0x2492, 0x9241, 0x5924, 0x3480, 0x0009,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0040, 0x0000, 0x2000, 0x1040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0408, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x100A, 0x0800, 0x1604, 0xB6D8,
+0x0325, 0x6162, 0xBED0, 0x5B6E, 0x0400, 0x340B, 0xFF6D, 0x8A06, 0x9009,
+0x99E5, 0x0274, 0x8000, 0xB6D9, 0x016D, 0x6C00, 0xB6C8, 0x1BFD, 0x0000,
+0xB481, 0xD26D, 0x0183, 0x8226, 0x4B6D, 0x4036, 0x9690, 0x3FD8, 0x5121,
+0x3E82, 0xE7C9, 0x3FB7, 0x2242, 0xA449, 0xB644, 0x9C51, 0x892D, 0x2D2C,
+0x4000, 0x0110, 0xF7D1, 0x236D, 0x0480, 0xA650, 0x5B6B, 0x5040, 0xB401,
+0xDB0C, 0xC016, 0xD002, 0xD96D, 0xB676, 0xC960, 0xC208, 0xB94C, 0x880F,
+0x1246, 0x0921, 0xCB65, 0x10B9, 0x4906, 0x516A, 0x9D96, 0x0B0C, 0x9410,
+0x596D, 0x1240, 0xB324, 0xB56C, 0x9242, 0x0800, 0xDB6D, 0xC036, 0x4004,
+0xDA60, 0x0D90, 0xD020, 0xF602, 0x496D, 0x0268, 0xC348, 0xE5E5, 0x000F,
+0x016C, 0x4925, 0x00FB, 0x0009, 0x4320, 0x049B, 0x9245, 0xF624, 0xD87C,
+0x0844, 0x9930, 0xD9A5, 0x4A86, 0x0820, 0x892C, 0x10B2, 0x4943, 0x097A,
+0x9DB0, 0x4694, 0xCB12, 0x6492, 0x6907, 0x5082, 0x2C54, 0x413B, 0xA458,
+0x6116, 0xE8D0, 0x00A2, 0x05B9, 0x664B, 0x0012, 0xC989, 0x6D16, 0x4925,
+0x9092, 0x0236, 0x4D03, 0x0402, 0x01A0, 0x4818, 0x2092, 0x2C10, 0x40EC,
+0x2490, 0x1821, 0xD690, 0x0035, 0x0081, 0x0000, 0x2080, 0x0000, 0x0410,
+0x4000, 0x1252, 0xA5D0, 0x0B64, 0x008A, 0x1909, 0x6C82, 0x082F, 0xE09A,
+0x2A00, 0x493B, 0xA580, 0x1057, 0x48DA, 0x2092, 0x81A9, 0x06C9, 0x3492,
+0x0009, 0x0008, 0x4927, 0x08DA, 0x0000, 0xC920, 0xA4D9, 0x0000, 0x6900,
+0x34D2, 0x8001, 0x5000, 0xA61A, 0x0489, 0x8020, 0x49A5, 0x229A, 0x0200,
+0x4D00, 0x3492, 0x8000, 0x4884, 0x2492, 0x0040, 0x4000, 0xB492, 0x4009,
+0x0009, 0x4125, 0x42DA, 0xA440, 0x2981, 0x2CDA, 0x0220, 0x6841, 0x36DB,
+0x1021, 0x400B, 0xB6D3, 0x402D, 0x0050, 0x4927, 0x089A, 0x0280, 0x49A0,
+0xA493, 0x0001, 0x4900, 0x24DB, 0x0011, 0x5000, 0x3692, 0xF709, 0xE9E1,
+0x2490, 0xF201, 0xDEFF, 0x249F, 0x1202, 0xF35F, 0x06FF, 0x8209, 0x7570,
+0x3F26, 0x10C1, 0xFB24, 0x7B4F, 0x2410, 0x9041, 0xFD7F, 0x2087, 0x0349,
+0x1BED, 0x3478, 0x9249, 0xFE21, 0x09DA, 0x0249, 0xB624, 0x4846, 0x2C98,
+0x3001, 0x4999, 0x440E, 0x1201, 0x9019, 0x042C, 0x8000, 0x4B80, 0x8200,
+0x0808, 0x3C00, 0xFB89, 0x2490, 0xC241, 0xB849, 0x241F, 0x1248, 0xC21E,
+0x26FE, 0x9200, 0x53E0, 0x1FF6, 0x8049, 0x0024, 0x1209, 0x4DB4, 0x0293,
+0x1280, 0x6580, 0x7690, 0x14A8, 0x4C04, 0x92DB, 0xA205, 0x50B0, 0xB453,
+0x20AD, 0x8280, 0x6DBD, 0x40DB, 0x0081, 0x698C, 0x366B, 0x6412, 0x6C43,
+0xB6FB, 0x0080, 0x4201, 0x26DB, 0x010D, 0x2122, 0x74A5, 0x2092, 0x121E,
+0x0C00, 0x1201, 0xFACE, 0x6C96, 0x8892, 0x1000, 0x4490, 0x0092, 0x0219,
+0x0201, 0x2EB5, 0x02D3, 0x055E, 0x6D40, 0x76D9, 0x2E80, 0xEC05, 0xB69A,
+0x3605, 0x1004, 0xA4DB, 0x002D, 0x0100, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x2000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0004, 0x0000,
+0x1000, 0x0090, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0001, 0x0000, 0x2000, 0x0800, 0x0090, 0x0000, 0x0000,
+0x06B0, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0104, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0004, 0x0000, 0x0100, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0300, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0800,
+0x0090, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x8400, 0x0000, 0x0010,
+0x0000, 0x0080, 0x1000, 0x0000, 0x1040, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2090, 0x0000, 0x0000, 0x0400, 0x0000, 0x1000, 0x2000, 0x8051,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0010, 0x2080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x1400, 0x0400, 0x0040, 0x0000, 0x0000,
+0x0200, 0x0000, 0x3040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2090,
+0x0000, 0x0000, 0x0400, 0x0080, 0x0000, 0x2000, 0x8041, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0804, 0x0000, 0x0000, 0x0000, 0x0100, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1000, 0x0008, 0x0040,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0041, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0041, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x2000, 0x8002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0009, 0x0080, 0x0000, 0x0408, 0x8000, 0x0000, 0x1240,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0002, 0x4000, 0x0040, 0x0800, 0x0008, 0x8010,
+0x0400, 0x0144, 0x0000, 0x0804, 0x0000, 0x0001, 0x0900, 0x1010, 0x0020,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0280, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0009, 0x0000, 0x0000, 0x0008, 0x8000, 0x0000, 0x1240, 0x0000, 0x0000,
+0x0001, 0x0008, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0100, 0x0000, 0x0000, 0x00C0, 0x0001, 0x0008, 0x8000, 0x0400, 0x0040,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0900, 0x1000, 0x0022, 0x0000, 0x0001,
+0x0418, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0002, 0x0000, 0x0004,
+0x0084, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0009, 0x0000, 0x4100, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0001, 0x0400, 0x0120,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1408, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0900, 0x0000, 0x0000, 0x2100, 0x0000, 0x0000, 0x0001, 0x0100,
+0x0000, 0x0000, 0x0200, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0080,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0004, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0001, 0x0404, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0800,
+0x4000, 0x0000, 0x0010, 0x0000, 0x0001, 0x0001, 0x0000, 0x0208, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x4900, 0x0000, 0x0000, 0x0000,
+0x0001, 0x2400, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x4020, 0x0000, 0x0000, 0x0041,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0010,
+0x0A00, 0x0804, 0x0041, 0x0001, 0x0000, 0x0208, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0002, 0x0000, 0x8900, 0xC000, 0x0000, 0x0020, 0x0001, 0x2400,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4810, 0x4000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0400, 0x0008, 0x0000,
+0x9000, 0x1000, 0x0000, 0x04C0, 0x0201, 0x0000, 0x0500, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x8000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0020, 0x0000, 0x0004, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x1000, 0x4000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x9000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1001, 0x0000,
+0x0000, 0x0308, 0x0040, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0C80,
+0x0000, 0x0200, 0x0000, 0x0200, 0x2000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0002, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0001, 0x0000, 0x1020, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x1101, 0x0000, 0x0000, 0x0218,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x2000, 0x0800, 0x0800, 0x0000,
+0x0000, 0x0000, 0x3400, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0008, 0x5000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0040, 0x0000, 0x4000, 0x4000, 0x0010, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0300, 0x0000, 0x0000, 0x9140, 0x0130,
+0x0000, 0x8800, 0x4820, 0x0000, 0x4000, 0x0100, 0x0010, 0x0100, 0x120C,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x000C, 0x4000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0100, 0x0010, 0x0000, 0x0800,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0010, 0x0000, 0x0004, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0002, 0x0001, 0x0000, 0x0508, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0010, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8200, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x2000, 0x0200, 0x0000,
+0x0000, 0x2008, 0x0002, 0x0000, 0x0000, 0x0003, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0004, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008, 0x0100,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x8008, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x2000, 0x0000, 0x0008,
+0x0000, 0x0041, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x1000, 0x2000,
+0x0008, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1001, 0x0004, 0x0020,
+0x1000, 0x0000, 0x2000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0104, 0x0081, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0002, 0x0000, 0x2400, 0x9648, 0x4925, 0x2882, 0x9009, 0x4905,
+0x6490, 0x8049, 0x4A20, 0x2492, 0x0241, 0x5920, 0x2492, 0x4089, 0x9041,
+0x4925, 0x2092, 0x9248, 0x4904, 0x2092, 0x8201, 0x4805, 0x2C82, 0x9241,
+0x4924, 0x2490, 0x2419, 0x9049, 0x4925, 0x2082, 0x8248, 0xC90F, 0x0093,
+0x92C9, 0x582C, 0x0510, 0x9641, 0x4161, 0x2182, 0x2408, 0x9059, 0x4925,
+0x2892, 0x9249, 0x5904, 0x6492, 0x9209, 0x4A24, 0x2492, 0x0241, 0x1924,
+0x2492, 0x2409, 0x9649, 0x0924, 0x2882, 0x9049, 0x4901, 0x60D2, 0x9249,
+0x4A20, 0x2492, 0x8241, 0x5920, 0x2492, 0x4489, 0x0041, 0x4824, 0x2012,
+0x9248, 0x4904, 0x2492, 0x9A09, 0x0C21, 0x208A, 0x9241, 0x4824, 0x2492,
+0x2409, 0x8249, 0x4824, 0x2092, 0x8240, 0x480D, 0x1082, 0x90C9, 0x402C,
+0x0490, 0x8641, 0x0945, 0x20C2, 0x240C, 0x9251, 0x0920, 0x2892, 0x9249,
+0x4904, 0x6492, 0x9248, 0x4A24, 0x249A, 0x9241, 0x1924, 0x2492, 0x0009,
+0x0010, 0x0001, 0x0400, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x4008, 0x0400, 0x0000, 0x0000, 0x0002, 0x0400, 0x1000, 0x0010,
+0x0000, 0x0008, 0x0100, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0004, 0x4000,
+0x1000, 0x0000, 0x0020, 0x8000, 0x0104, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0400, 0x0418,
+0x0000, 0x0100, 0x0000, 0x8000, 0x0000, 0x0000, 0x0201, 0x0100, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0410, 0x0080, 0x0000,
+0x0080, 0x0000, 0x0200, 0x0010, 0x0002, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0008, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0400, 0x0800, 0x0000, 0x0000, 0x0500, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0410, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0201, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0102, 0x0000, 0x0001, 0x0000, 0x0410, 0x0000, 0x0000, 0x0080, 0x0002,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0580, 0x0008, 0x0000, 0x0100, 0x0000, 0x0001, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0400, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x4000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x8000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x4100, 0x0020, 0x0004, 0x0000, 0x1400, 0x0000, 0x1040, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0002, 0x0000, 0x2400, 0x9649, 0x4924, 0x2892,
+0x9241, 0x4904, 0x6412, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2612,
+0x6488, 0x9649, 0x4924, 0x209A, 0x9209, 0x4004, 0x3402, 0x9249, 0x486D,
+0x2692, 0x9240, 0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2092, 0xB259,
+0xC904, 0x2492, 0x9249, 0x482C, 0x2497, 0x9241, 0x4934, 0x2492, 0x2409,
+0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x9249, 0x4A20, 0x2492,
+0x9241, 0x5924, 0x2492, 0x2409, 0x9641, 0x4924, 0x28D2, 0x9041, 0x4904,
+0x6492, 0x9249, 0x4A20, 0x2492, 0x9041, 0x1924, 0x2492, 0x6489, 0x1449,
+0x4924, 0x2090, 0x9249, 0x4904, 0x2592, 0x9249, 0x486D, 0x2492, 0x9241,
+0x4900, 0x2492, 0x2409, 0x9209, 0x4824, 0x2092, 0xB059, 0x4904, 0x2402,
+0x9249, 0x402C, 0x2490, 0x9241, 0x0924, 0x248A, 0x2408, 0x9249, 0x4824,
+0x2892, 0x9249, 0x4904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924,
+0x2492, 0x0009, 0x0000, 0x0000, 0x0440, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x2686, 0xB6D8, 0x43E5, 0x2C22, 0xB7D9, 0x736D, 0x4400, 0xA428, 0x5F6D,
+0x48C4, 0x9800, 0xDB6C, 0x4156, 0x078A, 0x8FDC, 0xC3C7, 0xE1D2, 0x2680,
+0x194E, 0xC775, 0xB021, 0x5D54, 0xA822, 0x8643, 0x98ED, 0x3037, 0x049C,
+0xDE59, 0x427D, 0x2408, 0x97C6, 0x0A79, 0x1392, 0xE445, 0xCA35, 0x0852,
+0x824C, 0xCB78, 0x003E, 0x0016, 0xFED9, 0x136D, 0x2810, 0x76D0, 0x5B69,
+0x1600, 0xB400, 0xDB21, 0x1026, 0x9001, 0xDB2D, 0xB676, 0xE969, 0x8248,
+0xF92C, 0xD30C, 0x924E, 0x0104, 0x9965, 0x8092, 0xC904, 0x9128, 0x9492,
+0x0885, 0xD332, 0xD8E7, 0xA000, 0x1008, 0x18A4, 0x0006, 0x0201, 0x1C08,
+0x9C97, 0x8A0D, 0x6100, 0x40D4, 0x0216, 0x8602, 0x5D70, 0xA1AC, 0xD0A4,
+0x4F24, 0x2000, 0x1000, 0xC834, 0x8092, 0x1048, 0xC320, 0x0FB2, 0x5823,
+0xB210, 0xDB32, 0x8140, 0xA920, 0xD175, 0x0A06, 0x0902, 0xC92D, 0x18B6,
+0x48CA, 0x494A, 0x1D96, 0x4154, 0xC312, 0x4FB2, 0x6107, 0x1040, 0x0516,
+0x4430, 0x8802, 0x2192, 0x6868, 0x128A, 0x25B9, 0x6E4B, 0xB598, 0x008D,
+0x0000, 0x4021, 0x0000, 0x245B, 0x0000, 0x3410, 0x02C3, 0x0848, 0x3082,
+0x0411, 0x4080, 0xA01B, 0x0900, 0x2020, 0x0535, 0x0280, 0x0083, 0x5885,
+0x2642, 0x3021, 0x0064, 0x2280, 0x0050, 0x0047, 0x8482, 0x1C00, 0x6CC0,
+0x2127, 0xC092, 0x6480, 0x993B, 0xA41A, 0x3696, 0x48D9, 0x2482, 0x1189,
+0x46D1, 0xA092, 0x0009, 0x2201, 0x4927, 0x08DA, 0x0800, 0x4D28, 0xA492,
+0x0000, 0xE900, 0xF09A, 0x4001, 0x5000, 0xB49B, 0x00AD, 0xC081, 0x6BAD,
+0x001A, 0x4089, 0x4900, 0x269B, 0x0400, 0xCCB1, 0xA69B, 0x0001, 0x4000,
+0xA6DB, 0x0009, 0x0004, 0x65A5, 0x429A, 0x0C08, 0x6D80, 0x3EF2, 0x0311,
+0x6822, 0x34CA, 0x8021, 0x4100, 0x3483, 0x0409, 0x0042, 0x692F, 0x0892,
+0x1010, 0x4920, 0xA49A, 0x8000, 0x4900, 0x24DA, 0x0001, 0x5020, 0x2ED2,
+0xF709, 0xD978, 0x2490, 0xF201, 0xD37D, 0x2094, 0x1249, 0xFB7B, 0x0657,
+0x0641, 0x9F30, 0x37EF, 0x0260, 0x6500, 0x3162, 0x0410, 0xA2C1, 0x1300,
+0x2484, 0x1044, 0x512C, 0x200E, 0x1040, 0x3B40, 0x8DE6, 0x1000, 0x0624,
+0x9F7B, 0x0810, 0x2041, 0x9243, 0x0000, 0x0009, 0xAC68, 0x0490, 0x8A11,
+0x1E02, 0x8EB3, 0x8258, 0x3A24, 0xFF3D, 0x0490, 0xF249, 0xCA49, 0x249F,
+0x1241, 0x405D, 0x26FF, 0x9201, 0xC3C0, 0x9FD4, 0x9109, 0x0824, 0x1000,
+0x4DB4, 0x0213, 0x20C1, 0x6A83, 0x56DB, 0x060C, 0x5C85, 0x20D3, 0x0245,
+0x5124, 0x26D2, 0x2C89, 0x2E1C, 0x44B0, 0x7251, 0x8A24, 0x6DC9, 0x24D8,
+0xA810, 0x6820, 0x28C2, 0xD2C1, 0x4B39, 0x3452, 0x602C, 0xC28B, 0x0124,
+0x20EB, 0xF158, 0x4C08, 0x248B, 0x46CE, 0x2C09, 0xA483, 0x3581, 0x4008,
+0x26CA, 0x4135, 0x0009, 0x15B4, 0x02DB, 0x032A, 0x2D80, 0x76D3, 0x0140,
+0x6C00, 0xB693, 0xA615, 0x5028, 0x369B, 0x002D, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0001, 0x0000,
+0x0002, 0x0200, 0x4000, 0x0410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x2000, 0x0040, 0x0020, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x4000, 0x0001, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x2002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0008, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0230, 0x0400, 0x0088, 0x0000, 0x4000, 0x2000, 0x0000, 0x0004,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0300, 0x0000, 0x0008, 0x1000,
+0x00C0, 0xC04C, 0x0002, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x1018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8001,
+0x000C, 0x0000, 0x0000, 0x0000, 0x00A0, 0x2000, 0x0000, 0x0000, 0x0400,
+0x0200, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0400, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0104, 0x0001, 0x0000, 0x0000, 0x0008, 0x0000, 0x4000, 0x8048,
+0x0040, 0x0010, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x1408, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8001, 0x0004, 0x0000,
+0x0000, 0x0400, 0x0000, 0x2100, 0x0000, 0x0000, 0x0400, 0x0200, 0x8000,
+0x0000, 0x0610, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x6000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0001, 0x0400, 0x0400,
+0x0004, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x2000, 0x0000, 0x1000, 0x0401, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0001, 0x0001, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0420, 0x0108, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0080, 0x000C, 0x0040, 0x0080, 0x0000,
+0x0040, 0x0000, 0x0000, 0x8040, 0x0800, 0x0001, 0x0020, 0x0000, 0x2300,
+0x0000, 0x1008, 0x0004, 0x0009, 0x8200, 0x0420, 0x804C, 0x0000, 0x0104,
+0x0009, 0x0021, 0x0040, 0x0480, 0x0000, 0x0200, 0x8080, 0x0000, 0x0008,
+0x2000, 0x0000, 0x9000, 0x0008, 0x0200, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0420, 0x2008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0080, 0x0008, 0x0040, 0x0080, 0x0100, 0x0040, 0x0000,
+0x0000, 0x8040, 0x0800, 0x0001, 0x0020, 0x0000, 0x2001, 0x0000, 0x1008,
+0x1004, 0x0009, 0x8200, 0x0420, 0x80C8, 0x0000, 0x0104, 0x0009, 0x0020,
+0x0040, 0x0481, 0x0400, 0x0200, 0x0080, 0x0000, 0x0008, 0x2000, 0x0020,
+0xB000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0208, 0x0004, 0x0010, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0001,
+0x0404, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x1080, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0800, 0x0100, 0x0040, 0x0008, 0x4000,
+0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x8800, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x1001, 0x0000, 0x0001, 0x0000,
+0x0010, 0x0000, 0x4000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0100, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x4000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0400, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0008, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0201, 0x0000, 0x0000, 0x9000, 0x0000, 0x0000, 0x8008,
+0x0020, 0x0000, 0x0040, 0x0020, 0x0800, 0x0000, 0x0200, 0x0000, 0x0000,
+0x1004, 0x0000, 0x0000, 0x8140, 0x0004, 0x0000, 0x0000, 0x000C, 0x0000,
+0x0000, 0x0040, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8380, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0004, 0x0020, 0x0000,
+0x2100, 0x0000, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x1008, 0x0200,
+0x0002, 0x8800, 0x0004, 0x0100, 0x0000, 0x812C, 0x0080, 0x0000, 0x0060,
+0x0009, 0x0400, 0x0800, 0x1000, 0x0000, 0x4008, 0x0000, 0x0002, 0x1000,
+0x0000, 0x1000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x4020, 0x0800, 0x0000, 0x0120, 0x0004, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0010, 0xA020, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x1020, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0001, 0x0000, 0x4008, 0x0800, 0x0010, 0x0000, 0x0008, 0x0000,
+0x4000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0020,
+0x0000, 0x8001, 0x0000, 0x0000, 0x1000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x8200, 0x0001, 0x2000, 0x0800,
+0x0000, 0x0200, 0x0800, 0x0020, 0x0010, 0x1000, 0x0020, 0x0420, 0x0000,
+0x8000, 0x0008, 0x2000, 0x4000, 0x1000, 0x0800, 0x1008, 0x0024, 0x0000,
+0x0200, 0x4060, 0x0000, 0x0002, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0080, 0x0800, 0x0000, 0x0000, 0x0000, 0x8001,
+0x0000, 0x0400, 0x1000, 0x0004, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x8200, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x1000, 0x0020, 0x0000, 0x0000, 0x8000, 0x0000,
+0x2000, 0x0100, 0x0200, 0x0022, 0x1008, 0x0024, 0x0000, 0x0200, 0x0020,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x1000, 0x0008, 0x0000,
+0x0000, 0x0002, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0108, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x4000,
+0x0412, 0x0041, 0x4000, 0x2002, 0x0001, 0x4200, 0x0820, 0x0092, 0x0000,
+0x1840, 0x0804, 0x0000, 0x0000, 0x4100, 0x8003, 0x4000, 0x2000, 0x0008,
+0x0001, 0x1000, 0x0004, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0094,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0008,
+0x0001, 0x0000, 0x4020, 0x0000, 0x0080, 0x0100, 0x4000, 0x0412, 0x0041,
+0x4000, 0x2002, 0x0001, 0x0200, 0x0821, 0x0092, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8001, 0x4000, 0x2000, 0x0008, 0x0001, 0x0000,
+0x0400, 0x0000, 0x0800, 0x0000, 0x0000, 0x8000, 0x0090, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0002, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0100, 0x0100, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x8110, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x2000, 0x8100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0006, 0x0002, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0480, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0024, 0x0000, 0x0040, 0x0820, 0x0002,
+0x0000, 0x0800, 0x4800, 0x0000, 0x4820, 0x4410, 0x0000, 0x0200, 0x0104,
+0x0000, 0x1000, 0x0000, 0x0002, 0x0000, 0x4900, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0060, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0400, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0220, 0x0100, 0x0020, 0x0000, 0x4000, 0x2000, 0x4200, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4820, 0x0080, 0x0000, 0x0800,
+0x002C, 0x0020, 0x0000, 0x0000, 0x0001, 0x4000, 0x0000, 0x0008, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0420, 0x0000, 0x0000, 0x0011, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0001, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0202, 0x0001,
+0x0000, 0x0000, 0x0000, 0x2800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4021, 0x0080, 0x0080, 0x0000, 0x2400, 0x0000,
+0x0000, 0x0100, 0x0001, 0x4000, 0x1400, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0001, 0x0000, 0x0012, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0001, 0x4000, 0x0010,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0041, 0x0200, 0x0084, 0x0000, 0x0008, 0x0020, 0x0000,
+0x0000, 0x0900, 0x0201, 0x0000, 0x0000, 0x0080, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0800, 0x2000, 0x0200, 0x0000, 0x0081, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000, 0x0000, 0x1000,
+0x0000, 0x0200, 0x0204, 0x0000, 0x5205, 0x0020, 0x0000, 0x0200, 0x0000,
+0x1000, 0x0004, 0x0000, 0x0201, 0x0400, 0x0020, 0x0000, 0x0000, 0x2000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0020, 0x2400, 0xB249, 0x4924, 0x2812,
+0x9048, 0x4905, 0x6492, 0x9048, 0x6A65, 0x2490, 0x9640, 0x5920, 0x0492,
+0x0C81, 0xB089, 0x4C64, 0x4012, 0x9049, 0x080C, 0x0510, 0x804B, 0x4804,
+0x0092, 0xC200, 0x0134, 0x2412, 0xE409, 0x9AD1, 0x0304, 0x2000, 0x9409,
+0x4149, 0x3802, 0x8848, 0x580D, 0x64B2, 0x9000, 0x8005, 0x0482, 0x0401,
+0x9248, 0x4904, 0x0892, 0x92C1, 0x0904, 0x6490, 0x16C0, 0x4A24, 0x2412,
+0x1241, 0x5924, 0x2092, 0x2409, 0xB209, 0x4925, 0x2812, 0x9209, 0x4905,
+0x609A, 0x9048, 0x4A65, 0x2092, 0x9640, 0x5824, 0x2482, 0x2889, 0xB0C9,
+0x4905, 0x4010, 0x9249, 0x480C, 0x0412, 0x924B, 0x0020, 0x2080, 0x9240,
+0x0824, 0x0490, 0x6408, 0x92D9, 0x0005, 0x2000, 0x9448, 0x4109, 0x0082,
+0x9241, 0x480D, 0x0092, 0x1240, 0x0025, 0x0092, 0x2401, 0x9201, 0x4925,
+0x2892, 0x92C1, 0x4104, 0x6490, 0x9689, 0x4A20, 0x2400, 0x1241, 0x5924,
+0x2412, 0x0009, 0x0044, 0x0001, 0x0400, 0x0000, 0x0000, 0x0400, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0081, 0x2000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0042, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0122, 0x0001, 0x0000, 0x0024, 0x0000, 0x0000, 0x4904, 0x0492,
+0x0000, 0x0000, 0x0490, 0x0000, 0x0220, 0x0000, 0x0401, 0x0400, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0xA000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4040, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0020, 0x0008, 0x0000, 0x8110, 0x0000, 0x0000, 0x0000,
+0x0104, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0500, 0x8000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0100, 0x4002, 0x0000,
+0x0400, 0x4000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x2100,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0xC001, 0x0805, 0x0000, 0x0000, 0x0001, 0x0020, 0x2000, 0x3000, 0x0000,
+0x0880, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0200, 0x0000,
+0x4000, 0x0000, 0x1000, 0x0400, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0420, 0x0010, 0x0000, 0x0100, 0x0002, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0400, 0x0200, 0x0004, 0x0000, 0x0000, 0x2100, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0080, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x4000, 0x0020,
+0x0001, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x8804, 0x0000,
+0x0000, 0x0820, 0x0002, 0x0000, 0x0800, 0x0000, 0x0000, 0x4000, 0x0010,
+0x0000, 0x8000, 0x4008, 0x0000, 0x0000, 0x4120, 0x0000, 0x0000, 0x5004,
+0x0000, 0x0000, 0x4100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0001, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0800, 0x0002, 0x0000, 0x1000,
+0x0004, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0D00, 0x1000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400, 0x9249,
+0x0924, 0x2812, 0x9249, 0x4905, 0x7492, 0xB249, 0x4A20, 0x2492, 0xB241,
+0x5824, 0x2492, 0x2485, 0x9249, 0x4020, 0x2002, 0x9249, 0x0907, 0x24B2,
+0x904B, 0x0824, 0x2096, 0x9251, 0x4924, 0x2412, 0x2C09, 0x9249, 0x4924,
+0x2092, 0x9249, 0x490D, 0x2490, 0x9249, 0x0824, 0x2492, 0x12C1, 0x4025,
+0x2492, 0x2409, 0x9648, 0x4924, 0x2892, 0x9269, 0x4904, 0x6432, 0xB649,
+0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2409, 0x904D, 0x4924, 0x2802,
+0xD309, 0x4905, 0x6092, 0xB049, 0x4A20, 0x2492, 0xB241, 0x5824, 0xA492,
+0x2489, 0x1241, 0x0124, 0x2010, 0x9209, 0x4905, 0x2410, 0x524B, 0x4024,
+0x2080, 0x8210, 0x4924, 0x2010, 0x2C09, 0x9A41, 0x0120, 0xA012, 0xDA69,
+0x090D, 0x2480, 0xC249, 0x4824, 0x2482, 0xDAC1, 0x0D35, 0x0412, 0x2409,
+0x9609, 0x4924, 0x2892, 0x9248, 0x4804, 0x6492, 0xB649, 0x4A24, 0x2690,
+0x9241, 0x1924, 0x2492, 0x0009, 0x0000, 0x2000, 0x0400, 0x0000, 0x0400,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0004, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x4C06, 0xF6F9, 0x037D, 0x2C48, 0x96D1, 0x5E6C, 0x1888,
+0x9484, 0x8B2D, 0x4086, 0x9148, 0xDBFD, 0x5E72, 0x2400, 0xB6C8, 0x536D,
+0x6410, 0xB7C3, 0x1B7D, 0x01B2, 0xAC0A, 0xDA6D, 0x0842, 0x00C6, 0xCB6C,
+0xC936, 0xA69B, 0x9AF8, 0x0157, 0x8490, 0x34C1, 0x185D, 0xA70C, 0x94CD,
+0xCC77, 0x2013, 0x8044, 0x8A6D, 0x0127, 0x0334, 0xB6D9, 0x5365, 0x0100,
+0xB6D0, 0x5B6D, 0x0000, 0xB41B, 0xDF6D, 0x4006, 0x9088, 0x9B6D, 0xB676,
+0x8768, 0x8048, 0xB822, 0x5324, 0xB047, 0x0801, 0x4125, 0x3032, 0x3144,
+0x9B68, 0x9CB2, 0x0824, 0x8014, 0xC96C, 0x8210, 0xE120, 0x1F6C, 0x9204,
+0x2924, 0xDA07, 0x0090, 0x0824, 0xC320, 0x0510, 0x1127, 0x3E12, 0x4DA6,
+0x3440, 0xB208, 0x4F25, 0x0106, 0x0A04, 0x4C61, 0xA053, 0x522C, 0x4B20,
+0x8CF2, 0x3814, 0xB602, 0xC848, 0x0940, 0xA928, 0xDA65, 0x4246, 0x0924,
+0xC92C, 0x90A5, 0x0002, 0x8B2A, 0x1D36, 0x0814, 0x0312, 0x3020, 0x0407,
+0x5082, 0x045A, 0x493A, 0xA242, 0x2516, 0x4848, 0x24B9, 0x0139, 0x6643,
+0x9400, 0xC588, 0x42B2, 0x4C85, 0x0042, 0x09B2, 0x0809, 0x2202, 0x0C90,
+0x2040, 0x1491, 0x64D1, 0x4E09, 0xA492, 0x100C, 0xA018, 0x0001, 0x0061,
+0x909A, 0x0981, 0x2081, 0xA23A, 0x4C0C, 0x8041, 0x21E0, 0x020D, 0x2612,
+0x590C, 0x6C92, 0x0923, 0xC092, 0x4882, 0x483B, 0xA4D2, 0x2032, 0x4CC0,
+0x00D2, 0x0589, 0x4642, 0x0493, 0x0009, 0x1508, 0x0D07, 0x0892, 0x0000,
+0x6D20, 0xA693, 0x1008, 0x6902, 0x35DB, 0x8201, 0x5020, 0x3402, 0x008D,
+0x0200, 0x4DBD, 0x40D2, 0x0040, 0x5900, 0x2692, 0x0002, 0x6810, 0xB493,
+0x0201, 0x4810, 0xB4D3, 0x0A09, 0x0400, 0x6D25, 0x12DB, 0x1404, 0x6904,
+0x2693, 0x0000, 0x6801, 0xB6D8, 0x0001, 0x4040, 0x36D3, 0x040D, 0x0000,
+0x4927, 0x08DA, 0x1200, 0x4920, 0xA492, 0x0000, 0x4D00, 0x65FA, 0x8001,
+0x5120, 0x2493, 0x3F09, 0xEA71, 0x60B0, 0x7369, 0x927D, 0x0097, 0x1048,
+0xEB77, 0x06E0, 0x8200, 0x7D72, 0x3C17, 0x82D9, 0xA220, 0xD9FF, 0x2040,
+0xB209, 0xDFAD, 0x2486, 0x1149, 0x9F69, 0x0466, 0x0248, 0xDD00, 0x07A3,
+0x020C, 0x3424, 0x50E7, 0x0098, 0x2000, 0x034B, 0x1482, 0x1048, 0x1DF3,
+0x04F2, 0x0003, 0x93E0, 0x09A2, 0x8008, 0x3A20, 0xFDED, 0x2490, 0xB201,
+0xC94B, 0x24DE, 0x1249, 0xFA7D, 0x22F7, 0x9201, 0x53E0, 0x1EC6, 0x9348,
+0x4824, 0x0093, 0x29D5, 0x02CF, 0xE081, 0x4D80, 0x709A, 0x92C8, 0x4C15,
+0xA692, 0x2485, 0x510C, 0x264B, 0x28A9, 0x3401, 0x6925, 0x02BB, 0xA001,
+0x6C80, 0x34CB, 0x604C, 0x442D, 0xA6DA, 0x1021, 0x4064, 0x26DA, 0x4129,
+0x1A41, 0x4194, 0xC080, 0x6860, 0x6D08, 0x35CA, 0x5080, 0x4820, 0x2080,
+0xD410, 0x4510, 0xE4DB, 0x0028, 0x1201, 0x6DB5, 0x02D3, 0x2418, 0x6D80,
+0x769B, 0x16C1, 0x6808, 0xBA9B, 0x3055, 0x5019, 0xB6DA, 0x002F, 0x0082,
+0x0000, 0x0000, 0x0000, 0x0004, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0240, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0440, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4040, 0x0000, 0x0480, 0x0200,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0030, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x8200, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0088, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0001, 0x0008, 0x0000, 0x0008, 0x0411, 0x0000, 0x0028,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0120, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400,
+0x0000, 0x0000, 0x0000, 0x0440, 0x0000, 0x0000, 0x0008, 0x0020, 0x0200,
+0x0000, 0x4000, 0x0000, 0x0000, 0x1008, 0x0004, 0x00A0, 0x0040, 0x0000,
+0x0000, 0x0050, 0x0000, 0x1000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0249, 0x0200, 0x0000, 0x0000, 0x0004, 0x0000, 0x0800,
+0x0400, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0420, 0x0000, 0x0000, 0x2000, 0x0002, 0x2400, 0x0000, 0x0400,
+0x0000, 0x0040, 0x0000, 0x0000, 0x4008, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x3008, 0x0000, 0x0000, 0x0040, 0x1000, 0x0000, 0x04C0,
+0x0000, 0x0000, 0x4080, 0x0400, 0x0040, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0249, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0401, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4400, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0840, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0080, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x1008, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2240, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0041, 0x0080, 0x0009, 0x0000, 0x0400, 0x0001, 0x0000, 0x2000,
+0x000A, 0x1000, 0x0020, 0x8000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0080, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x1000, 0x0400,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0100, 0x2001, 0x0040, 0x0000, 0x8000,
+0x0000, 0x8000, 0x8021, 0x0000, 0x0000, 0x0000, 0x0040, 0x0240, 0x0000,
+0x0009, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0041,
+0x0081, 0x0409, 0x0000, 0x0400, 0x0001, 0x0000, 0x2000, 0x0008, 0x1000,
+0x0020, 0x8000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0000, 0x0080, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x1000, 0x0400, 0x0000, 0x0001,
+0x0008, 0x0000, 0x0000, 0x0001, 0x0040, 0x0000, 0x8800, 0x0000, 0x0000,
+0x8001, 0x0008, 0x0000, 0x0001, 0x0440, 0x0240, 0x0000, 0x0009, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0008, 0x0000, 0x0100, 0x0401, 0x0400,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0A00, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0001, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0080,
+0x4000, 0x0000, 0x0010, 0x0000, 0x0002, 0x0004, 0x0001, 0x1100, 0x0004,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0000, 0x0040, 0x0100,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x9000, 0x0020, 0x0000, 0x0020, 0x0000,
+0x2000, 0x2000, 0x0000, 0x0000, 0x0040, 0x0400, 0x0000, 0x0040, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0100, 0x0020, 0x0000, 0x0001,
+0x0000, 0x0040, 0x2080, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x1000, 0x0040, 0x1000,
+0x0000, 0x2020, 0x9000, 0x0120, 0x0000, 0x0000, 0x0020, 0x4000, 0x2004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0040,
+0x0000, 0x0020, 0x0220, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0040, 0x0001, 0x0400, 0x1024, 0x0000, 0x0000, 0x0000, 0x8002, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0002, 0x1000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0802, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0008, 0x0000, 0x0000, 0x0242, 0x4801,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x2000, 0x0080,
+0x0010, 0x0000, 0x0004, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x8000, 0x0200, 0x0000, 0x0000, 0x0001, 0x4000,
+0x0000, 0x0000, 0x0004, 0x0040, 0x1000, 0x0100, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x8000, 0x0400, 0x0000, 0x4040, 0x0000, 0x0000, 0x0002,
+0x0004, 0x0000, 0x0008, 0x0000, 0x0000, 0x0002, 0x4200, 0x8020, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0008, 0x2000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0400, 0x8100, 0x0000, 0x4400, 0x0020, 0x0000, 0x1000, 0x0100,
+0x0002, 0x0000, 0x4020, 0x0200, 0x0000, 0x0040, 0x4100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004,
+0x0009, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0500, 0x0000,
+0x8008, 0x0000, 0x1002, 0x0200, 0x4040, 0x0000, 0x0020, 0x0800, 0x0000,
+0x8000, 0x0002, 0x0000, 0x8000, 0x0000, 0x0080, 0x0000, 0x0000, 0x2040,
+0x2000, 0x4008, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0011, 0x0000, 0x1800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x9000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x4800, 0x0400, 0x0000, 0x0000, 0x0800, 0x8000, 0x0000,
+0x0120, 0x8000, 0x0080, 0x0010, 0x0000, 0x0000, 0x0000, 0x2000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0010, 0x0000, 0x4000, 0x0000,
+0x0040, 0x0040, 0x0004, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0400, 0x0020, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0041, 0x0000, 0x0090, 0x0200, 0x4000, 0x3002, 0x4002,
+0x0000, 0x0020, 0x0000, 0x0400, 0x0040, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x4000, 0x0120, 0x0040, 0x0800, 0x2100, 0x0001, 0x0100, 0x0100,
+0x0000, 0x0000, 0x0100, 0x0010, 0x0004, 0x0800, 0x0020, 0x4410, 0x0000,
+0x0084, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x00A0, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0045, 0x0000, 0x0090, 0x0200, 0x4002, 0x2002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x4000,
+0x0000, 0x0040, 0x0800, 0x2000, 0x0001, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0100, 0x0010, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0004, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0080, 0x8000, 0x0000, 0x0000, 0x0000, 0x4040, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0410, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0020, 0x8000, 0x0004, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0020, 0x0000, 0x0008, 0x0000, 0x0002, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4800, 0x0000, 0x8200, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0018, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0200, 0x0000, 0x0000, 0x0400, 0x3000, 0x0000, 0x0000,
+0x0006, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0812, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0102, 0x0000, 0x0000, 0x0000, 0x0221, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0089, 0x8000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0200, 0x0000, 0x0000, 0xC000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0001, 0x0000, 0x4000, 0x0000,
+0x0091, 0x1000, 0x0010, 0x0000, 0x0200, 0x0000, 0x0400, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0001, 0x0400, 0x4401, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1001, 0x2480, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0040, 0x0000, 0x8000, 0x0040, 0x0000, 0x2000, 0x8000, 0x0000, 0x0004,
+0x0000, 0x0400, 0x0000, 0x2000, 0x0001, 0x0000, 0x0400, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0040, 0x0000, 0x0240, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0080, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x4010, 0x0000, 0x0400, 0x0081, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0209, 0x0000, 0x0000,
+0x2080, 0x0000, 0x0000, 0x0000, 0x0100, 0x0110, 0x8084, 0x0000, 0x0000,
+0x0000, 0x0041, 0x1000, 0x0004, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0200, 0x0800, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0C00, 0x9019,
+0x4924, 0x2890, 0x9298, 0x0901, 0x6418, 0xA041, 0x4A24, 0x2010, 0x9241,
+0x514C, 0x2492, 0x2089, 0x9249, 0x4924, 0x4092, 0x9240, 0x4904, 0x3492,
+0x8649, 0x483D, 0x2492, 0x9C51, 0x0120, 0x2482, 0x2429, 0x9059, 0x4825,
+0x2092, 0x9009, 0x0900, 0x2492, 0x824B, 0x6004, 0x2412, 0x8201, 0x4914,
+0x24B2, 0x0409, 0x824B, 0x4924, 0x2892, 0x8019, 0x4905, 0x6492, 0x0109,
+0x4A26, 0x2492, 0x9041, 0x5824, 0x3132, 0x2C09, 0x9259, 0x0905, 0x2892,
+0x9298, 0x0901, 0x6000, 0xB249, 0x0A20, 0x0410, 0x9241, 0x596C, 0x0492,
+0x2488, 0x9241, 0x4925, 0x6092, 0x1248, 0x4804, 0x2482, 0x9609, 0x082D,
+0x0282, 0x9411, 0x0920, 0x0483, 0x200C, 0x9259, 0x0824, 0x2092, 0x9249,
+0x4804, 0x2482, 0x924B, 0x4004, 0x2492, 0x9201, 0x4004, 0x2412, 0x0429,
+0x924B, 0x4521, 0x2892, 0x8259, 0x0905, 0x6092, 0x1049, 0x4A24, 0x2492,
+0x9241, 0x5924, 0x3412, 0x0009, 0x0000, 0x0001, 0x0400, 0x0000, 0x0006,
+0x0010, 0x0084, 0x4080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x1000, 0x0005, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0040,
+0x0040, 0x0200, 0x0020, 0x0000, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x2000, 0x0000, 0x0000, 0x0102, 0x0000, 0x0001,
+0x0400, 0x0120, 0x0000, 0x0408, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x4000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0B00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0004, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0002, 0x0100, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0400, 0x0000, 0x0000, 0x2200, 0x0000, 0x0000, 0x0000,
+0x2100, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0011, 0x1000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0804, 0x0020,
+0x0400, 0x0000, 0x0000, 0x0080, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x4000, 0x0000, 0x0008, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0220,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x8000, 0x0000, 0x0000, 0x8400, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0020, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0020, 0x0008, 0x8000, 0x00A0, 0x0008, 0x4000, 0x0020, 0x0000, 0x0020,
+0x4108, 0x0000, 0x0124, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0900,
+0x1000, 0x8100, 0x0040, 0x0080, 0x0004, 0x8000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2400, 0x9649, 0x5824, 0x2802, 0xD249, 0x4904, 0x4406, 0x9249, 0x4A24,
+0x2092, 0x92C1, 0x5924, 0x2482, 0x64A9, 0x9249, 0x4924, 0x6092, 0x9643,
+0x4004, 0x2442, 0xD641, 0x0824, 0x2492, 0x9241, 0x4944, 0x2482, 0x2409,
+0xB249, 0x4925, 0x6092, 0x9849, 0x4904, 0x2492, 0x924B, 0x48A4, 0x2492,
+0x9201, 0x4134, 0x2492, 0xA42D, 0x92CB, 0x4924, 0x2890, 0x9249, 0x4904,
+0x6492, 0x9209, 0x4A24, 0x2492, 0x8241, 0x5924, 0x0492, 0x0409, 0x9649,
+0x4904, 0x2890, 0x1200, 0x4906, 0x6482, 0x0249, 0x4A24, 0x2480, 0x12C1,
+0x5900, 0x2402, 0x7688, 0x9249, 0x4924, 0x5092, 0x964B, 0x4004, 0x2682,
+0x966D, 0x4804, 0x2412, 0x9A41, 0x4964, 0x2492, 0x2409, 0xB249, 0x4920,
+0x6092, 0x9249, 0x4804, 0x2492, 0x924B, 0x4824, 0x2492, 0x9241, 0x4924,
+0x2492, 0x2409, 0x92C3, 0x4924, 0x2892, 0x9249, 0x4904, 0x6412, 0x9249,
+0x4A24, 0x2492, 0x9A41, 0x5936, 0x2492, 0x0009, 0x0000, 0x0020, 0x0402,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1000,
+0x0001, 0x0000, 0x2000, 0x0200, 0x0000, 0x2100, 0x0210, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1800, 0x6002, 0xB6D8, 0x03E9, 0x50B0, 0xB6D0,
+0x53AD, 0x4984, 0xB4A1, 0x5B6D, 0x690E, 0x9478, 0x7B6D, 0x8176, 0x2A87,
+0x3294, 0xE367, 0x0687, 0xBB0B, 0x3B45, 0xAC83, 0x2043, 0xDD6F, 0x22F0,
+0xCA01, 0x9F46, 0x4D16, 0x30D1, 0xABCC, 0x03AC, 0x00D0, 0xA681, 0x176E,
+0x22C3, 0xB82A, 0x3BC6, 0xA402, 0x0558, 0xD1CD, 0x1530, 0x0AC1, 0xB2C9,
+0x1364, 0x2100, 0xB6D1, 0x5B6D, 0x6592, 0xBE01, 0xDFEF, 0x001E, 0x10C1,
+0x934D, 0xA676, 0xA96C, 0x5108, 0xB020, 0x0B05, 0x0242, 0xA040, 0x8221,
+0x8016, 0xE004, 0x8260, 0x918E, 0xC830, 0x1308, 0x51A0, 0x1500, 0x5118,
+0xC92A, 0x8488, 0x080C, 0x51AC, 0x4491, 0x4304, 0xD990, 0x84B3, 0x2909,
+0xF330, 0x6B2C, 0x8618, 0xB075, 0x4BA4, 0x0107, 0x2025, 0x69AE, 0x8498,
+0x810D, 0x6B21, 0x00A6, 0x0206, 0x8204, 0xC124, 0x8D18, 0x8929, 0x5865,
+0x4246, 0x8832, 0x38AE, 0x10B7, 0x6800, 0x4B62, 0x1C12, 0x0114, 0x0B10,
+0x0412, 0x4107, 0x581A, 0x0402, 0x0939, 0x2411, 0x2062, 0x6871, 0x2098,
+0x2031, 0x6263, 0x0652, 0x6888, 0x0011, 0x6131, 0x2010, 0x0391, 0x4000,
+0x1081, 0x8513, 0x500C, 0xA008, 0x0640, 0x0200, 0x3210, 0x0605, 0x94F0,
+0x0001, 0x4010, 0x0452, 0x2B08, 0x22D0, 0x4571, 0x6064, 0x0650, 0x8191,
+0x4941, 0x0402, 0x0D08, 0x6611, 0x69A3, 0xC090, 0x0080, 0x49BB, 0x201A,
+0x0014, 0x04C0, 0x2204, 0x2499, 0x0600, 0x2092, 0x000C, 0xB008, 0x4D27,
+0x08DA, 0x0220, 0x6920, 0x2653, 0x0840, 0x6904, 0xA493, 0x0049, 0x5008,
+0xA4D2, 0x2189, 0x1000, 0x6D35, 0x429B, 0x8002, 0x4D88, 0x349B, 0x0880,
+0x4C05, 0xA6BA, 0x0081, 0x4000, 0x349B, 0x412D, 0xA000, 0x4535, 0x81D3,
+0x0000, 0x6D00, 0x26D3, 0x2282, 0x4C0C, 0xA6DB, 0x2001, 0x4800, 0x26D3,
+0x000D, 0x1000, 0x6DB7, 0x00DB, 0x1041, 0x49A0, 0x269E, 0x1080, 0x4D04,
+0x2E9A, 0x0201, 0x5100, 0xB492, 0x3709, 0x0A65, 0x2090, 0xB321, 0xE84B,
+0x0495, 0x1088, 0xF32F, 0x0610, 0x124C, 0xDB30, 0x3D36, 0x1209, 0x8434,
+0xC8DC, 0x0080, 0x8140, 0x1178, 0xA006, 0x0240, 0x5348, 0x2032, 0x1841,
+0xD030, 0x85A7, 0x8244, 0xA200, 0x4B2A, 0x2880, 0x2208, 0x9F8B, 0x0085,
+0x1008, 0xD138, 0x2002, 0x1000, 0x5350, 0x0035, 0x9008, 0x3A30, 0xE92C,
+0x8040, 0xF200, 0xCB08, 0x341E, 0x1041, 0xA26F, 0x20F3, 0x9041, 0xD140,
+0x1E24, 0x0249, 0x4024, 0x1381, 0x7DB4, 0x0253, 0xB0D8, 0x6D86, 0x761A,
+0x1498, 0x4C08, 0x36D3, 0x1485, 0x5800, 0x54BB, 0x16AD, 0xA66A, 0x4BA1,
+0x12D1, 0x3C40, 0x6205, 0x06D2, 0x2264, 0xE8E0, 0x30D1, 0x2801, 0x095C,
+0xA0D0, 0x080B, 0x0007, 0x72A0, 0x121E, 0xB00D, 0x4D82, 0x31B8, 0x9A00,
+0x4011, 0x1410, 0x1C61, 0x428A, 0xB45B, 0x6029, 0x10CA, 0x5924, 0x22D2,
+0xA61A, 0x6D00, 0x76D3, 0x8641, 0x6008, 0xB059, 0x9825, 0x517F, 0xB6DF,
+0x0029, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0800, 0x0200, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0080, 0x0400, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0101,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0002, 0x0400, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1200, 0x0000, 0x0001, 0x1000, 0x0000, 0x0000, 0x2000, 0x0024, 0x0800,
+0x0000, 0x0A00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0800, 0x0010, 0x0400, 0x0000, 0x0082, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0012,
+0x0820, 0x0012, 0x0000, 0x8000, 0x0400, 0x0001, 0x8002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x8000, 0x0000,
+0x0000, 0x0012, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x8000, 0x0401, 0x0000, 0x0000, 0x2001, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0001, 0x2000, 0x0000, 0x1008,
+0x0004, 0x0000, 0x4000, 0x8041, 0x0000, 0x0080, 0x0200, 0x0000, 0x0000,
+0x0440, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0004, 0x0440, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0600, 0x0400, 0x0008, 0x1000, 0x1040, 0x0060,
+0x0000, 0x4000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0A00, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1200, 0x0040, 0x0000, 0x0001, 0x0000, 0x0000, 0x1008, 0x0004, 0x1040,
+0x0000, 0x2043, 0x0000, 0x0080, 0x0200, 0x0040, 0x0000, 0x2040, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0040, 0x0000, 0x0040, 0x0000, 0x0000, 0x000A,
+0x0001, 0x0400, 0x0000, 0x0008, 0x0004, 0x1040, 0x0060, 0x0400, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x4010, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0200, 0x0000, 0x8000, 0x0000, 0x0000, 0x0400,
+0x0004, 0x0040, 0x0000, 0x0400, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0800, 0x0000, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0200, 0x0000, 0x0040, 0x0001, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0020, 0x0002, 0x0000, 0x0004, 0x0040, 0x0400, 0x0000,
+0x1000, 0x0200, 0x1001, 0x8000, 0x0000, 0x0000, 0x0020, 0x8008, 0x2000,
+0x2008, 0x2000, 0x0000, 0x0000, 0x0008, 0x0000, 0x1080, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0080, 0x0010, 0x0041, 0x1000, 0x0200, 0x1002, 0x1000,
+0x0000, 0x8101, 0x0000, 0x0000, 0x0400, 0x0004, 0x0000, 0x0010, 0x0003,
+0x1000, 0x0080, 0x0000, 0x1000, 0x0004, 0x0204, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0005, 0x0400, 0x0040, 0x0400, 0x0000, 0x1000, 0x0200,
+0x1001, 0x8000, 0x0000, 0x0010, 0x00A0, 0x8008, 0x2000, 0x2008, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x1000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0111, 0x0041, 0x1000, 0x0040, 0x1000, 0x1000, 0x0000, 0x8001,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0011, 0x0401, 0x1000, 0x0081,
+0x0000, 0x1000, 0x0004, 0x0200, 0x8010, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0001, 0x0508, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x9100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0820, 0x0100, 0x0000, 0x0001, 0x0000, 0x0800, 0x0001,
+0x0000, 0x4000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0400,
+0x0000, 0x8200, 0x0000, 0x0001, 0x0400, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0400, 0x4000, 0x0080, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0011, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0208, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x8041, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x1000, 0x0040, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0004, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x8000, 0x0000, 0x0001,
+0x1000, 0x0000, 0x0002, 0x0000, 0x0100, 0x0000, 0x8000, 0x0001, 0x0020,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0080, 0x0000, 0x0010, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x8041, 0x0400, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x8000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0044, 0x0000, 0x0000, 0x0000, 0x0280, 0x0006,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x4000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0801, 0x0000, 0x1000, 0x3000, 0x0000, 0x1000, 0x1800, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0010, 0x0800, 0x0001, 0x0400, 0x0800, 0x0800, 0x8000,
+0x0000, 0x0000, 0x0080, 0x9000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0200,
+0x0100, 0x0800, 0x0040, 0x0040, 0x0000, 0x0000, 0x1008, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x1002, 0x0000, 0x2000, 0x0320, 0x0000,
+0x0080, 0x0800, 0x0000, 0x0082, 0x0000, 0x0000, 0x0000, 0x8010, 0x1000,
+0x0000, 0x9000, 0x0008, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x4809,
+0x0002, 0x0000, 0x0008, 0x0000, 0x0000, 0x9000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0008, 0x0080, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0100, 0x0000, 0x0900, 0x0100, 0x2000,
+0x2000, 0x0008, 0x2002, 0x0009, 0x0000, 0x0800, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0010, 0x4000, 0x0000, 0x0002,
+0x0000, 0x1004, 0x0090, 0x4020, 0x0000, 0x0002, 0x0000, 0x4000, 0x0024,
+0x0000, 0x0000, 0x0002, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x1008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0520, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0002, 0x0000, 0x0900, 0x4000, 0x2000, 0x0004, 0x0000,
+0x6041, 0x0009, 0x0000, 0x0000, 0x0008, 0x0010, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0008, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0800, 0x4000, 0x0000, 0x0080, 0x0001, 0x0000, 0x0800, 0x0000, 0x0400,
+0x0000, 0x1800, 0x0000, 0x0000, 0x1000, 0x0080, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0002, 0x9000, 0x2080, 0x0000, 0x0000,
+0x2080, 0x0002, 0x0000, 0x0000, 0x0080, 0x0040, 0x4008, 0x0000, 0x0010,
+0x0040, 0x0010, 0x8000, 0x2000, 0x0410, 0x0001, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0094, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x4000, 0x0010, 0x1000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x6000, 0x0000, 0x0000, 0x4080, 0x0000, 0x0800,
+0x0004, 0x0400, 0x0000, 0x0000, 0x2080, 0x0000, 0x0000, 0x2080, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0040, 0x4000, 0x0000, 0x0000, 0x0040, 0x0010,
+0x8000, 0x0010, 0x1410, 0x0101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0090, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0100, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0001, 0x0000, 0x0100, 0x0000,
+0x0000, 0x4820, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0400, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0004, 0x0000, 0x0800, 0x0000, 0x0000, 0x8000, 0x0410,
+0x0000, 0x0004, 0x0000, 0x9000, 0x0041, 0x0000, 0x0400, 0x0000, 0x0000,
+0x2000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x3004, 0x4000, 0x0000, 0x0004, 0x0001, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x4100, 0x1000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0400, 0x2000, 0x0000, 0x2000, 0x0000,
+0x0080, 0x0000, 0x8000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x2000, 0x0000, 0x0000, 0x4000, 0x0000, 0x8000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0043, 0x0000, 0x0000, 0x1040, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0008, 0x0000, 0x0000, 0x0014, 0x0000,
+0x0000, 0x0000, 0x8040, 0x0001, 0x0100, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0020, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4201, 0x0000, 0x0008, 0x1080, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0100, 0x0002, 0x0010, 0x0000,
+0x2000, 0x0000, 0x0100, 0x0480, 0x0040, 0x0000, 0x0080, 0x4000, 0x0200,
+0x8000, 0x0100, 0x0001, 0x0040, 0x0000, 0x1000, 0x0084, 0x0000, 0x0000,
+0x0200, 0x4000, 0x0000, 0x2800, 0x0002, 0x0004, 0x0400, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0xA000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0xA000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2200, 0x0000, 0x8000,
+0x0048, 0x0000, 0x0000, 0x0200, 0x0002, 0x0008, 0x0000, 0x0000, 0x0000,
+0x1002, 0x0408, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0800, 0x0001, 0x0210, 0x0000, 0x0000, 0x0000,
+0x0100, 0x8080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x1041,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0004, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0140, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0010, 0x1000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0080, 0x0000,
+0x2400, 0x9209, 0x0925, 0x2482, 0xD208, 0x4904, 0x4290, 0x8289, 0x4A60,
+0x2C92, 0x1241, 0x5124, 0x2412, 0x3499, 0x9041, 0x4905, 0x20B2, 0x1249,
+0x4B00, 0x2493, 0x9209, 0x0820, 0x2482, 0x1050, 0x0828, 0x2480, 0x2029,
+0x8219, 0x0925, 0x0092, 0x1249, 0xC900, 0x2492, 0x8209, 0x4804, 0x2492,
+0x9241, 0x4824, 0x04B2, 0x2009, 0x8209, 0x0925, 0x0C82, 0xB0CB, 0x0904,
+0x6490, 0x1648, 0x4825, 0x2592, 0x8241, 0x4129, 0x4492, 0x2409, 0x1208,
+0x4920, 0x2892, 0x9249, 0x4904, 0x4412, 0x02C9, 0x4A64, 0x0410, 0x0240,
+0x5824, 0x2492, 0x2409, 0x9249, 0x0924, 0x2092, 0x9240, 0x4D04, 0x2482,
+0x8241, 0x4824, 0x2282, 0x9010, 0x092C, 0x0492, 0x2009, 0x8259, 0x0924,
+0x0002, 0x9249, 0x4904, 0x2492, 0x8248, 0x4824, 0x2492, 0x9241, 0x0924,
+0x2C82, 0x2409, 0x1249, 0x4D24, 0x2892, 0xB2CB, 0x4104, 0x6410, 0x9649,
+0x4A25, 0x008A, 0x9241, 0x5929, 0x0012, 0x0009, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0001,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x2400, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2000, 0x0600, 0x0000, 0x0000,
+0x2004, 0x0000, 0x0000, 0x0808, 0x0000, 0x0000, 0x8000, 0x0028, 0x0000,
+0x4004, 0x0000, 0x0000, 0x00C0, 0x0000, 0x0020, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x4004, 0x0100, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004,
+0x0400, 0x0000, 0x2000, 0x4040, 0x0004, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088, 0x0001, 0x0800, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0800, 0x0010, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x1004, 0x0002, 0x1000, 0x0482, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x4010, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0800, 0x0600,
+0x0000, 0x0100, 0x1000, 0x0042, 0x0000, 0x0000, 0x0000, 0x5000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0001, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0800, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0100, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0048, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0C90, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x6080, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000, 0x1000, 0x0000,
+0x8080, 0x8000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0020, 0x0100, 0x8000,
+0x0120, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0108, 0x0010, 0x0104,
+0x0000, 0x0400, 0xC000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x4000, 0x2400, 0x92D9, 0x4904, 0x2002, 0x9251, 0x4804, 0x44D2,
+0xA2C9, 0x4A64, 0x0412, 0x9041, 0x5924, 0x0492, 0x2480, 0x1249, 0x0920,
+0x4092, 0x934B, 0x4904, 0x2090, 0x8249, 0x0824, 0x2492, 0x0240, 0x4D24,
+0x2012, 0x2400, 0x1250, 0x0920, 0x209A, 0x9248, 0xC904, 0x2492, 0x9048,
+0x482C, 0x2492, 0x9241, 0x4904, 0x2492, 0x2409, 0x9249, 0x0920, 0x2092,
+0x1049, 0x4904, 0x2492, 0x8269, 0x4A24, 0x2492, 0x9041, 0x5924, 0x2492,
+0x2409, 0x92D8, 0x0925, 0x2892, 0x9259, 0x4904, 0x4492, 0xB0C9, 0x4A64,
+0x2592, 0x8241, 0x5924, 0x2480, 0x24A8, 0x9249, 0x4920, 0x6092, 0x924B,
+0x4904, 0x2492, 0x9249, 0x4824, 0x2012, 0x9241, 0x4924, 0x2082, 0x240C,
+0x9259, 0x4825, 0x2092, 0x8249, 0x4904, 0x2412, 0x9249, 0x482C, 0x2492,
+0x9241, 0x4924, 0x2402, 0x2408, 0x9209, 0x4924, 0x2892, 0x9249, 0x4004,
+0x6492, 0x9249, 0x4824, 0x2412, 0x8241, 0x5924, 0x0480, 0x0009, 0x0000,
+0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x1000,
+0x0000, 0x0200, 0x0001, 0x0000, 0x0404, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0001, 0x0000, 0x0000, 0x0408, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x2010, 0x0800, 0x6110, 0xB4D8, 0x134D,
+0xA328, 0x96D0, 0x5965, 0x2902, 0xB4C9, 0xDB6D, 0x442E, 0x9652, 0xDF7D,
+0x6877, 0x6010, 0xB418, 0x0369, 0x5889, 0x92C9, 0x1B2D, 0x0416, 0xF45A,
+0xDB6D, 0x0492, 0x8608, 0xFB7B, 0x4C36, 0x85DA, 0xDDE8, 0x415C, 0xA49A,
+0x04CA, 0x1879, 0x365A, 0x9C4E, 0xCAB4, 0x2403, 0x004D, 0xC27D, 0x7027,
+0x1D18, 0x9470, 0x232D, 0x0D0E, 0x9750, 0x5B6D, 0x4D08, 0xD40B, 0xFB7D,
+0x045E, 0xD001, 0xDA7C, 0xB274, 0x082D, 0x0040, 0xA910, 0x5845, 0x3202,
+0x0A1C, 0xC265, 0x8012, 0x4800, 0x1F40, 0x99C0, 0x4820, 0x9210, 0x9B24,
+0x008C, 0x9000, 0x8364, 0xBE06, 0x0844, 0xCB30, 0x0084, 0x00A6, 0x5DE2,
+0x81BE, 0x0100, 0xFA00, 0x4E37, 0x2058, 0xB205, 0x4F65, 0x2044, 0x0600,
+0xED27, 0x20F0, 0x1869, 0x5F62, 0x04D2, 0x1020, 0x8602, 0xC064, 0xA980,
+0x9940, 0x5021, 0x20C6, 0x8906, 0x8425, 0xA0B8, 0x4102, 0x5D32, 0x9DB2,
+0x4881, 0x5911, 0x2080, 0x0907, 0x025A, 0x0616, 0x4939, 0xB412, 0x24A0,
+0x6054, 0x8012, 0x0888, 0x6204, 0xA282, 0x6180, 0x0013, 0x2815, 0x4252,
+0x103B, 0x4980, 0x1090, 0x0503, 0x2001, 0x84C3, 0x2210, 0x0000, 0x0480,
+0x1305, 0x8048, 0x0085, 0x10C0, 0xA080, 0x0009, 0x0449, 0x12D8, 0x000C,
+0x0606, 0x0890, 0x410C, 0x824B, 0x2128, 0x640A, 0x0807, 0x3082, 0x00D8,
+0x403B, 0x248A, 0x204A, 0x08D0, 0x1083, 0x0069, 0x060B, 0x208E, 0x2009,
+0x1008, 0x4937, 0x2A9B, 0x1200, 0x6920, 0xBE9A, 0x8201, 0x6904, 0xB5D2,
+0x9041, 0x58C4, 0xA092, 0x0089, 0x4001, 0x69B5, 0x0092, 0x0040, 0x6D80,
+0x24D2, 0x0001, 0x6814, 0xA4F3, 0x0601, 0x45A4, 0x2692, 0x4829, 0x0036,
+0x6935, 0x02D3, 0x0C00, 0x6900, 0x26D2, 0x2526, 0x7840, 0x34DB, 0x0501,
+0x4140, 0xB696, 0x0029, 0x0000, 0x6D87, 0x00DA, 0x8040, 0x68A0, 0x269A,
+0x8048, 0x2904, 0x24DA, 0x0451, 0x5020, 0x369B, 0x5609, 0xC345, 0x2480,
+0x9144, 0x0967, 0x0497, 0x0041, 0x19EC, 0x06B2, 0x0209, 0x4FA0, 0x9533,
+0x5649, 0x0624, 0x9A6E, 0x0400, 0xA249, 0xCB34, 0x0006, 0x1229, 0xDB5C,
+0x04A2, 0x1308, 0xD0E0, 0x0818, 0x9049, 0x3304, 0x5701, 0x8480, 0x3008,
+0x1241, 0x0486, 0x1009, 0x8881, 0x84A2, 0x8200, 0x9AD0, 0x08B0, 0x0049,
+0x3D04, 0xE361, 0x0030, 0x5201, 0x5B01, 0x051F, 0x1045, 0x7733, 0x44FA,
+0x9225, 0x9220, 0x1F16, 0x8040, 0x8424, 0x9E52, 0x6DBD, 0x4093, 0xA088,
+0x4D84, 0x65D3, 0x101A, 0x5C29, 0x3EDB, 0xA015, 0x5029, 0x30CB, 0x9CAC,
+0x25C8, 0x4D25, 0x209F, 0x2480, 0x4909, 0x269F, 0x30C8, 0x0C68, 0x369A,
+0x8101, 0x4A41, 0x96ED, 0x843B, 0x3880, 0x0405, 0xC08A, 0x513E, 0x4D80,
+0x3482, 0x4000, 0x4401, 0xA402, 0xE020, 0x4E23, 0x2482, 0xCA0C, 0x1291,
+0x4F15, 0x429B, 0xA602, 0x4C00, 0x76F3, 0x1290, 0x0C05, 0x86CA, 0xE285,
+0x10C4, 0xB6C2, 0x002D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0002, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0008, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0048, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x2000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0410, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0800, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0082, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0010, 0x0400, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0400, 0x0001,
+0x0000, 0x0210, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x5010, 0x0100, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0008,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x1011, 0x0000, 0x0000, 0x4800,
+0x0401, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0250, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0008, 0x0010, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0040, 0x0280, 0x0000, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x8410, 0x0000, 0x0000, 0x1000,
+0x0400, 0x0001, 0x0000, 0x0100, 0x0208, 0x0000, 0x0008, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x1001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0400, 0x0240, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0001, 0x0040, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0081, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x2000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0208, 0x0010, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1004, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0040, 0x0000, 0x1000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0208, 0x0000, 0x0001, 0x0000, 0x0000, 0x00A0, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0004, 0x0000,
+0x0004, 0x0000, 0x0000, 0x4000, 0xA008, 0x2001, 0x0000, 0x0001, 0x2440,
+0x0000, 0x2C90, 0x0008, 0x0000, 0x0400, 0x0000, 0x0001, 0x2000, 0x0001,
+0x0400, 0x0100, 0x0200, 0x0000, 0x0000, 0x0490, 0x0000, 0x1040, 0x2000,
+0x1001, 0x0010, 0x2000, 0x0048, 0x1040, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0008, 0x0000, 0x4000, 0x0100, 0x0401, 0x2400, 0x1000, 0x0000,
+0x0100, 0x0000, 0x0001, 0x0000, 0x2000, 0x0400, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x8008, 0x0000, 0x0000, 0x0001, 0x2440, 0x0000, 0x2490,
+0x0008, 0x0000, 0x0400, 0x0000, 0x0401, 0x2000, 0x0001, 0x0000, 0x0100,
+0x0200, 0x0800, 0x0010, 0x0490, 0x0000, 0x1040, 0x2000, 0x1001, 0x0000,
+0x2000, 0x0048, 0x1040, 0x0100, 0x0000, 0x0000, 0x0000, 0x0015, 0x0408,
+0x0000, 0x0000, 0x0400, 0x0003, 0x2400, 0x1000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0400, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x2200, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x9040, 0x0100, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0001, 0x0000, 0x0040, 0x0002, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0011, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x8003, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0120,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0001, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0810, 0x0000,
+0x0000, 0x0000, 0x8001, 0x0000, 0xC000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0020, 0x1000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0200, 0x0000, 0x0000, 0x1400, 0x4100, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x1000, 0x1000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0240, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0041,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x8000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0020, 0x4008, 0x0000, 0x1000, 0x0400, 0x0000, 0x0241, 0x0180,
+0x0400, 0x0002, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0004, 0x1000, 0x0000, 0x1640, 0x0000, 0x0004, 0x0102, 0x0000,
+0x0000, 0x1000, 0x0100, 0x0040, 0x0004, 0x0000, 0x0001, 0x0404, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0002, 0x0200, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0004, 0x1000, 0x0020, 0x0020, 0x4000, 0x0000, 0x0000, 0x0000, 0x0104,
+0x0800, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x8000, 0x0400, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0100, 0x0000, 0x0082, 0x0100, 0x8000, 0x0000,
+0x0000, 0x8000, 0x0400, 0x0000, 0x0000, 0x0002, 0x8000, 0x4040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x3000, 0x0000,
+0x0880, 0x0000, 0x6000, 0x0000, 0x8001, 0x0800, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0004, 0x0000, 0x8000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0001, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0801, 0x0000, 0x0000,
+0x4200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x2000, 0x4000, 0x0000, 0x0000, 0x0002, 0x1000, 0x8001, 0x0400, 0x4000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1009, 0x0080, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0020, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0400, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x2004,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0004, 0x0002, 0x0004, 0x8800,
+0x0000, 0x0000, 0x8040, 0x0500, 0x2000, 0x4000, 0x0000, 0x0000, 0x8010,
+0x2002, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x4300, 0x0410, 0x0000,
+0x0000, 0x4400, 0x0001, 0x0000, 0x0480, 0x3000, 0x0200, 0x0004, 0x0422,
+0x0000, 0x0040, 0x0004, 0x0000, 0x4000, 0x0404, 0x0000, 0x0000, 0x0180,
+0x0000, 0x0002, 0x0000, 0x0002, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x1400, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x2002, 0x0201,
+0x0000, 0x0001, 0x0000, 0x0000, 0x4100, 0x0410, 0x0000, 0x0000, 0x0400,
+0x0001, 0x0000, 0x0480, 0x2000, 0x0200, 0x0004, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000, 0x0080, 0x0000, 0x8200,
+0x0000, 0x0000, 0x0240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0220, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0002, 0x0000, 0x0300, 0x0000,
+0x0060, 0x0081, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x2000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0124,
+0x0002, 0x0000, 0xC000, 0x0000, 0x0001, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0408, 0x0000, 0x0020, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x2000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x1020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0100, 0x0200, 0x0000, 0x4000, 0x0040, 0x0000, 0x8200,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0200, 0x0000, 0x4000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8100, 0x0000, 0x0000,
+0x0002, 0x0000, 0x1000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0300, 0x000C, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x8011, 0x0200, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0101, 0x0000, 0x0200, 0x8001, 0x0001, 0x0005, 0x0440,
+0x0000, 0x0080, 0x8000, 0x5000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0400, 0x0100, 0x0014, 0x2000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0001, 0x0000, 0x0000, 0x2100, 0x0000, 0x0004, 0x2001,
+0x0404, 0x0020, 0x0000, 0x8020, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0011, 0x0001, 0x0040, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0840, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0040, 0x0000, 0x0100,
+0x0400, 0x0000, 0x0040, 0x0400, 0x0000, 0x0000, 0x0000, 0x0010, 0x8001,
+0x0208, 0x0000, 0x0000, 0x0200, 0x4000, 0x0000, 0x8000, 0x0400, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0001, 0x0800, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0080, 0x0040, 0x0800, 0x0104,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0040, 0x0004, 0x4000, 0x1000, 0x0804,
+0x0001, 0x0000, 0x0002, 0x0000, 0x0000, 0x800D, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x9241, 0x4924, 0xA892, 0x9249, 0x4904, 0x6492,
+0x1049, 0x4A44, 0x0492, 0x9201, 0x4B24, 0x2492, 0x0081, 0x10C0, 0x4921,
+0x6092, 0xB248, 0x4904, 0x2092, 0x9201, 0x0004, 0x2492, 0x5241, 0x4920,
+0x2490, 0x0009, 0x924A, 0x4924, 0x2092, 0x9001, 0x1A00, 0x2092, 0x8040,
+0x4824, 0x6490, 0x9201, 0x4930, 0x0012, 0xA009, 0x9009, 0x49A0, 0x2CB2,
+0x92C9, 0x4904, 0x6092, 0x0240, 0x4A20, 0x24B2, 0x9241, 0x582C, 0x2492,
+0x2409, 0x1049, 0x4925, 0x2890, 0x9009, 0x4904, 0x4492, 0x8209, 0x4A64,
+0x2492, 0x9240, 0x5B24, 0x3492, 0x0481, 0x90C8, 0x4124, 0x6090, 0xB248,
+0x4804, 0x2012, 0x9201, 0x0824, 0x2492, 0x9241, 0x4924, 0x0490, 0x2408,
+0x924B, 0x4125, 0x2092, 0x9249, 0x0804, 0x2082, 0x1249, 0x4824, 0x2092,
+0x9200, 0x4924, 0x2012, 0x0009, 0x9249, 0x4921, 0x2890, 0x92C9, 0x4904,
+0x6490, 0x1249, 0x0A24, 0x2092, 0x1241, 0x592C, 0x0412, 0x0009, 0x0100,
+0x0001, 0x0402, 0x0000, 0x0000, 0x0200, 0x0040, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0040, 0x2000, 0x0022, 0x0001, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0080, 0x0010, 0x0000, 0x0000, 0x0004, 0x0081,
+0x1000, 0x0024, 0x0002, 0x0000, 0x0800, 0x0011, 0x0000, 0x0820, 0x0082,
+0x0000, 0x0000, 0x0080, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0001, 0x0000, 0x8020, 0x0000, 0x0000, 0x1000, 0x0000, 0x4200, 0x0400,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0xC034, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x1024, 0x0042, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0801, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0406, 0x0000, 0x8000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x4081, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4400, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0084, 0x0000, 0x0000, 0x8010, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0820, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0800,
+0x0000, 0x8002, 0x4124, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x4020,
+0x0402, 0x0000, 0x0200, 0x0000, 0x0020, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0480, 0x0000, 0x0000, 0x0000, 0x0004, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x4000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x8000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0200, 0x0800, 0x00A0, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x6400, 0x9259, 0x0924, 0x2812, 0x9249,
+0x4104, 0x6492, 0x9249, 0x6A65, 0x2412, 0xB241, 0x5925, 0x2492, 0x6C89,
+0x9248, 0x0900, 0x2090, 0x9249, 0x4104, 0x0492, 0x9AD9, 0x0C24, 0x2492,
+0x1281, 0x4924, 0x0492, 0x2409, 0x9289, 0x0910, 0x62B0, 0x9249, 0x4904,
+0x2492, 0x924D, 0x0804, 0x2492, 0x9241, 0x0920, 0x2592, 0x2019, 0x9249,
+0x4D04, 0x2890, 0x9249, 0x4904, 0x6493, 0x106B, 0x4A24, 0x2492, 0x9241,
+0x5924, 0x2592, 0x6409, 0xD279, 0x4924, 0x2892, 0x9269, 0x4904, 0x4492,
+0x9208, 0x4A65, 0x0492, 0xB241, 0x5935, 0x2492, 0x6C89, 0x9A49, 0x4924,
+0x2093, 0x5248, 0x4904, 0x2482, 0x82D9, 0x6824, 0x2492, 0x92C1, 0x4924,
+0x0412, 0x2409, 0x93C9, 0x0024, 0x6000, 0x9A69, 0x4804, 0x2482, 0x9A49,
+0x48B6, 0x2412, 0x9B41, 0x4D24, 0x2400, 0x8409, 0x9049, 0x4904, 0x2092,
+0x9249, 0x4104, 0x6412, 0x924B, 0x4A24, 0x0492, 0x9041, 0x5924, 0x2490,
+0x0009, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0040, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0100, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x004A, 0x4000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0294,
+0xBED8, 0x0245, 0x8680, 0xB6D4, 0x4975, 0x2302, 0xB491, 0xDE65, 0x000E,
+0x964C, 0x8F6D, 0xDC7F, 0x4404, 0xBEE0, 0x235D, 0xAC02, 0xB440, 0x186D,
+0x0A0E, 0x9CD4, 0xCB65, 0x2012, 0x40C2, 0xDB6D, 0x2037, 0xA09B, 0xDA58,
+0x416B, 0x3492, 0x36CB, 0x3F8B, 0xB692, 0xF440, 0x9117, 0x8401, 0x8928,
+0x7849, 0x2402, 0x0522, 0xAC69, 0x034D, 0xEC48, 0x17D0, 0x596C, 0x0A28,
+0xDC12, 0xDB65, 0x6C46, 0x905B, 0xDBFC, 0xB277, 0x5929, 0x0248, 0xB09C,
+0x4D6D, 0x1242, 0x122C, 0x4865, 0x9003, 0x0828, 0x5B61, 0x9BF2, 0x1824,
+0x2A02, 0x1F28, 0x1014, 0x9002, 0x532D, 0x1086, 0x0A06, 0x5122, 0xA022,
+0x198E, 0x5970, 0x0D50, 0x0004, 0x9210, 0x5BF6, 0xB6C8, 0xB320, 0xEBE5,
+0x024D, 0x0940, 0x4DFD, 0x90D6, 0x0248, 0x5920, 0x849E, 0xC200, 0x9226,
+0xD80F, 0x8098, 0xB904, 0x0124, 0x6046, 0x0B01, 0xD145, 0x20A0, 0x0588,
+0xA72A, 0x9DE0, 0x0003, 0xD310, 0x2000, 0x0117, 0x5890, 0x2186, 0x4939,
+0xA4C0, 0x02B6, 0x606A, 0x2212, 0x0D91, 0x6088, 0x0292, 0x0580, 0x2051,
+0x4005, 0x6282, 0x2592, 0x410B, 0x2403, 0x0599, 0x4009, 0x2493, 0x0100,
+0x0208, 0xF41A, 0x5B08, 0x6C24, 0x0125, 0x9011, 0x4000, 0x0000, 0x0000,
+0x8200, 0x0009, 0xA500, 0xA090, 0x43F1, 0x14C3, 0x2309, 0x62D0, 0x4107,
+0x1082, 0x00C0, 0x483A, 0xA40A, 0x0208, 0x00C8, 0x2492, 0x10D9, 0x4600,
+0x9002, 0x0008, 0x0000, 0x4137, 0x089B, 0x0000, 0x4920, 0x36DA, 0x0200,
+0x6921, 0x36DA, 0x0009, 0x5B00, 0x3292, 0x0089, 0x1641, 0x4135, 0x0292,
+0x0200, 0x4984, 0x2693, 0x0003, 0x6800, 0x349B, 0x0001, 0x4900, 0xB4BA,
+0x0009, 0x0092, 0x6DB5, 0x0292, 0x2080, 0x6900, 0x2CD2, 0x4590, 0x4800,
+0xA6DA, 0x0001, 0x400A, 0xA69B, 0x002D, 0x1042, 0x4997, 0x089A, 0x0000,
+0x6820, 0xA6DB, 0x8008, 0x2100, 0x3D9A, 0x3041, 0x5100, 0x3C93, 0xF709,
+0x914F, 0x2C80, 0xF240, 0x3F4F, 0x2490, 0x0801, 0x99FD, 0x069E, 0x8001,
+0xDFF0, 0xB0E3, 0x8449, 0xB824, 0xE13E, 0x2C80, 0x0149, 0x115D, 0x2442,
+0x1048, 0xD374, 0x84B2, 0xC240, 0xD352, 0x04F4, 0x0241, 0x9F24, 0x5E64,
+0x0000, 0xB049, 0xC24D, 0x048F, 0x1209, 0x006D, 0x246D, 0x1001, 0x32F0,
+0x02D5, 0x1040, 0x2F00, 0xE329, 0x2420, 0x7241, 0x5B05, 0x059E, 0x1000,
+0x5873, 0x4EF6, 0x8241, 0xCE10, 0x1EE4, 0x8248, 0x0C24, 0xCED2, 0x65A5,
+0x02D3, 0x9210, 0x6D84, 0x6483, 0xF408, 0x4C04, 0xB0D3, 0xA005, 0x5015,
+0xA0DB, 0x42A4, 0x8882, 0x6585, 0x80CB, 0xC040, 0x6D00, 0x34DA, 0xA240,
+0x4444, 0xA6D2, 0xA6A1, 0x0025, 0x66D3, 0x242C, 0x8109, 0x0134, 0x40D8,
+0x1D3A, 0x6D80, 0x121D, 0x3802, 0x2CB2, 0x3481, 0x4F42, 0x4C00, 0x059E,
+0xCC09, 0x0C04, 0x6505, 0x42FB, 0xB63B, 0x4C81, 0x74D2, 0x2492, 0x0405,
+0xB6F3, 0x0005, 0x500D, 0x264A, 0x002C, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0008, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004, 0x0000,
+0x0008, 0x0000, 0x1000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0001, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0010, 0x0000, 0x2000, 0x0800, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0010, 0x0200, 0x0000, 0x0001, 0x0001,
+0x0100, 0x0000, 0x0002, 0x0820, 0x0000, 0x0000, 0x2800, 0x0082, 0x0000,
+0x0900, 0x0420, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0004, 0x0400, 0x0000, 0x0020,
+0x0100, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0001, 0x8000, 0x0008, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x2000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0408, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0090, 0x0040, 0x0000, 0x0000, 0x1081, 0x0000, 0x2000,
+0x8001, 0x0000, 0x0000, 0x8200, 0x0824, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0080, 0x0000, 0x2000, 0x0000, 0x0140, 0x0000, 0x0004, 0x0800, 0x0000,
+0x0000, 0x2400, 0x0000, 0x0000, 0x0000, 0x0240, 0x0000, 0x4000, 0x1000,
+0x0000, 0x0000, 0x1200, 0x0000, 0x0082, 0x0001, 0x0000, 0x0000, 0x0400,
+0x0010, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0890, 0x0040, 0x0000, 0x0000, 0x1001, 0x0000, 0x2020, 0x8001, 0x8040,
+0x0000, 0xA200, 0x0024, 0x8200, 0x4001, 0x2008, 0x0000, 0x0080, 0x0400,
+0x0000, 0x0022, 0x0040, 0x0000, 0x4020, 0x0000, 0x0000, 0x0001, 0x2400,
+0x0400, 0x0000, 0x0000, 0x0240, 0x8000, 0x0000, 0x1400, 0x0000, 0x0000,
+0x1200, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0001, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0020,
+0x0000, 0x0200, 0x0800, 0x0000, 0x0000, 0x0090, 0x0040, 0x0000, 0x0000,
+0x1001, 0x0000, 0x6000, 0x0000, 0x0080, 0x0000, 0x8000, 0x0024, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x8000, 0x0000, 0x1201, 0x0000, 0x2804, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0021, 0x0000, 0x2000, 0x0000, 0x0040, 0x0400, 0x0008, 0x0000,
+0x0004, 0x0001, 0x8000, 0x0100, 0x0209, 0x0000, 0x0000, 0x0080, 0x0200,
+0x8008, 0x0000, 0x1040, 0x8000, 0x0000, 0x8000, 0x0800, 0x0000, 0x9000,
+0x0420, 0x0000, 0x0480, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0200, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0001, 0x0400, 0x8000,
+0x0000, 0x1201, 0x0000, 0x2004, 0x0000, 0x0000, 0x0100, 0x0000, 0x0020,
+0x0000, 0x2001, 0x0000, 0x0040, 0x0500, 0x0008, 0x0000, 0x0004, 0x0001,
+0x8000, 0x0100, 0x0219, 0x0000, 0x0000, 0x0081, 0x0200, 0x8008, 0x0000,
+0x1040, 0x8000, 0x0000, 0x8000, 0x0000, 0x0000, 0x9000, 0x0420, 0x0000,
+0x0481, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0200, 0x0000,
+0x0000, 0x0009, 0x0000, 0x0000, 0x0081, 0x0440, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0008, 0x0200, 0x0080, 0x0010, 0x4200, 0x0000, 0x0004, 0x0001,
+0x0005, 0x0800, 0x0000, 0x0000, 0x0000, 0x0092, 0x1000, 0x1000, 0x0080,
+0x0000, 0x1200, 0x0000, 0x0001, 0x0000, 0x0000, 0x0002, 0x0000, 0x0004,
+0x0000, 0x1000, 0x0800, 0x0092, 0x0000, 0x8200, 0x0000, 0x0000, 0x8400,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x4000, 0x0000, 0x0000, 0x0080, 0x0008, 0x0000,
+0x0500, 0x0000, 0x0000, 0x0000, 0x4010, 0x0000, 0x0100, 0x0800, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8800, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0101, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0100, 0x2000, 0x0000, 0x0000, 0x0004, 0x0500, 0x0000, 0x0004, 0x0000,
+0x0004, 0x0000, 0x0000, 0x1000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x4020, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0004, 0x0000, 0x0100, 0x2090, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x8108, 0x0001, 0x0061, 0x8000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0200, 0x8000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0001, 0x2000, 0x900C,
+0x0000, 0x0000, 0x8000, 0x0020, 0x0000, 0x0040, 0x0020, 0x0000, 0x0000,
+0x0008, 0x0001, 0x0400, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0080, 0x0100, 0x0000, 0x0000, 0x0881, 0x0400, 0x8800, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0080,
+0x0001, 0x0000, 0x0000, 0x1000, 0x0408, 0x0000, 0x0000, 0x0000, 0xC000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x8008, 0x0000, 0x0042,
+0x8000, 0x0000, 0x0100, 0x0020, 0x0020, 0x0001, 0x0010, 0x0000, 0x0201,
+0x0404, 0x4800, 0x0200, 0x0000, 0x0900, 0x1000, 0x0000, 0x8A00, 0x0000,
+0x4002, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0100, 0x0082, 0x0000, 0x0200, 0x0080, 0x0200, 0x1000,
+0x0004, 0x0000, 0x0000, 0x0020, 0x1080, 0x0000, 0x4020, 0x0000, 0x0100,
+0x0001, 0x0100, 0x2000, 0x0000, 0x0000, 0x0100, 0x0008, 0x0000, 0x0002,
+0x4100, 0x0000, 0x0000, 0x0000, 0x0400, 0x0124, 0x0000, 0x0022, 0x0004,
+0xA800, 0x0020, 0x0000, 0x6000, 0x0020, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0002, 0x0040, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0100, 0x0000, 0x0000, 0x1000, 0x0000, 0x4000, 0x0040,
+0x0000, 0x0004, 0x0000, 0x0000, 0x1000, 0x0000, 0x4000, 0x0001, 0x0200,
+0x8000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0010, 0x0000, 0x8000,
+0x0020, 0x0020, 0x0002, 0x0000, 0x0008, 0x0002, 0x0000, 0x0800, 0x0000,
+0x0000, 0x4000, 0x0800, 0x8200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x4000, 0x0012, 0x0000, 0x0000, 0x0020, 0x0000, 0x0280, 0x0400, 0x0000,
+0x0000, 0x0020, 0x1000, 0x0000, 0x0100, 0x0020, 0x0200, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0102, 0x0000, 0x0000, 0x0000, 0x8102, 0x0020, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8300, 0x0000, 0x0002, 0x0002, 0x0000, 0x0020, 0x0220, 0x0000,
+0x8200, 0x0414, 0x0000, 0x2000, 0x2080, 0x0000, 0x8000, 0x0004, 0x0001,
+0x8000, 0x0000, 0x0050, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0410,
+0x0000, 0x0000, 0x0080, 0x8001, 0x0000, 0x0200, 0x0096, 0x0800, 0x0000,
+0x0040, 0x0000, 0x1000, 0x0000, 0x0000, 0xC000, 0x8090, 0x0000, 0x0000,
+0x4800, 0x0020, 0x4086, 0x4300, 0x0014, 0x0000, 0x1000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0400, 0x0000, 0x0000, 0x0410,
+0x0000, 0x0000, 0x2080, 0x0000, 0x0000, 0x0000, 0x0001, 0x8000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0410, 0x0000, 0x0000,
+0x0080, 0x0001, 0x0000, 0x0000, 0x0092, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x4000, 0x0090, 0x0000, 0x0000, 0x4800, 0x0400,
+0x0000, 0x4100, 0x0010, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0822, 0x1000, 0x0000, 0x0000, 0x0000, 0x8800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0040, 0x0000, 0x2000, 0x0200, 0x0200, 0x0000, 0x0800, 0x0000, 0x4120,
+0x0000, 0x0400, 0x4000, 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x4020, 0x0080, 0x0000, 0x0000, 0x0080, 0x0040,
+0x0000, 0x0090, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0820, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x000C, 0x1000, 0x0000, 0x1020,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0002, 0x0000, 0x0000, 0x0410, 0x0200,
+0x0000, 0x0800, 0x0000, 0x0020, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0008, 0x0000, 0x0400, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0020, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0120, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0100, 0x2000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0400, 0x0000, 0x0040, 0x0000, 0x0400, 0x0400, 0x0080, 0x0002, 0x0081,
+0x0000, 0x0200, 0x0001, 0x0040, 0x2880, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1400, 0x0008, 0x0000, 0x0801, 0x0001, 0x0000,
+0x0100, 0x0000, 0x0800, 0x0000, 0x0080, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0009, 0x0410, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x1000, 0x0000, 0x0840, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0008, 0x2200, 0x0000,
+0x0011, 0x0000, 0x0200, 0x0004, 0x0000, 0x0000, 0x0020, 0x0201, 0x0000,
+0x0800, 0x4000, 0x0020, 0x0040, 0x5041, 0x0400, 0x0002, 0x2400, 0x0040,
+0x0010, 0x0024, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0002, 0x0100, 0x0010, 0x0000, 0x0020, 0x2000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x8004, 0x1000, 0x2020, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0404, 0x8000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0040, 0x0010, 0x0040, 0x2400, 0x964B, 0xC924, 0x2C82, 0x1208,
+0x4900, 0x6082, 0x92C1, 0x4A24, 0x2492, 0x9253, 0x5324, 0x2492, 0x0088,
+0x8265, 0x4B34, 0x6083, 0x9088, 0x0901, 0x2090, 0x9201, 0x484C, 0x24B2,
+0x1011, 0x4004, 0x2412, 0x0409, 0x1049, 0x4924, 0x4090, 0xA249, 0x4900,
+0x2410, 0x8249, 0x4807, 0x2092, 0xB341, 0x4349, 0x2482, 0x0408, 0x9240,
+0x4924, 0x2882, 0x02C9, 0xC304, 0x6490, 0x364B, 0x4220, 0x2496, 0x1081,
+0x5920, 0xAC92, 0x240B, 0x964B, 0x4105, 0x2882, 0x8249, 0x4904, 0x6082,
+0x92C9, 0x4A24, 0x0410, 0x0251, 0x1224, 0x2492, 0x0480, 0x1249, 0x4925,
+0x6082, 0x9289, 0x4805, 0x2090, 0x9209, 0x486C, 0x0082, 0x9010, 0x0924,
+0x2412, 0x0408, 0x9049, 0x4925, 0x4000, 0xB049, 0x6800, 0x2412, 0x9249,
+0x4805, 0x2092, 0xB241, 0x034D, 0x0002, 0x2000, 0x9209, 0x0125, 0x2892,
+0x02C1, 0x0804, 0x6480, 0xA64B, 0x4600, 0x2402, 0x10C1, 0x5920, 0x2490,
+0x8009, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x2000, 0x2000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x9000, 0x0000, 0x0001, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x1000, 0x8000, 0x0000, 0x0081, 0x8400, 0x0400, 0x0000,
+0x0200, 0x0004, 0x0000, 0x0000, 0x4100, 0x0080, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0600, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0018, 0x0001, 0x0000, 0x0000, 0x4004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0010, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0100, 0x2000, 0x0000,
+0x0800, 0x0004, 0x0000, 0x0000, 0x0000, 0x0010, 0x8200, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0020, 0x0600, 0x0400, 0x0000, 0x2000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0100, 0xA200, 0x0000, 0x0000, 0x0080,
+0x0000, 0x2000, 0x8000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x1400, 0x0408, 0x0002, 0x0000, 0x0000, 0x6002, 0x0000, 0x0109,
+0x0400, 0x0048, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x2000,
+0x0000, 0x0002, 0x2000, 0x0000, 0x2002, 0x0000, 0x0000, 0x0400, 0x0048,
+0x8000, 0x0000, 0x0800, 0x0000, 0x0401, 0x0000, 0x0008, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0200, 0x0000, 0x0080, 0xC000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x2400, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0080, 0x0140, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x5000, 0x0800, 0x0000, 0x0000, 0x0804, 0x0000, 0x8400, 0x00A0,
+0x0000, 0x0008, 0x0004, 0x4800, 0x0000, 0x8160, 0x0000, 0x0010, 0x0000,
+0x0004, 0x0000, 0x0420, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0004, 0x0840, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0100, 0x0000, 0x0000, 0x0200,
+0x0200, 0x0000, 0x0000, 0x9200, 0x0004, 0x0000, 0x0000, 0x0100, 0x0000,
+0x8000, 0x0800, 0x0000, 0x0100, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0041, 0x0000, 0x0000, 0x0000, 0x0050, 0x1000, 0x2400, 0x9209, 0xC924,
+0x2892, 0x92D9, 0xC90D, 0x6092, 0x9249, 0x4A24, 0x2492, 0x9241, 0x592C,
+0x2482, 0x6488, 0x1249, 0x4924, 0x60D2, 0x920A, 0x4904, 0x2492, 0x9259,
+0x4864, 0x2492, 0x2241, 0x4820, 0x2482, 0x2408, 0xB049, 0x4824, 0x2092,
+0xB249, 0x480C, 0x2492, 0x9B59, 0x4084, 0x2492, 0x1251, 0x4B05, 0x2492,
+0x2409, 0xBE49, 0x4924, 0x2892, 0x96C9, 0x4904, 0x6492, 0x922A, 0x0A24,
+0x2492, 0x9241, 0x5924, 0x2492, 0x2409, 0xD249, 0x4924, 0x2882, 0x92D1,
+0x490D, 0x4012, 0x9249, 0x4A24, 0x2090, 0x9240, 0x592C, 0x0092, 0xE481,
+0x9249, 0x4824, 0x4082, 0x924B, 0x0104, 0x0092, 0x9279, 0x0864, 0x2082,
+0xB240, 0x4924, 0x2092, 0x2400, 0x3029, 0x0024, 0x3000, 0xB20D, 0x4808,
+0x0480, 0x9259, 0x0824, 0x2482, 0x8251, 0x0725, 0x2012, 0x0401, 0xB649,
+0x4024, 0x2892, 0x96C9, 0x4104, 0x64D2, 0x924B, 0x0224, 0x2692, 0x1021,
+0x5936, 0x2482, 0x0009, 0x0000, 0x0000, 0x0400, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0240, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0580,
+0x0018, 0x0000, 0x4880, 0x0000, 0x0000, 0x6000, 0x0410, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0100, 0x0010, 0x0000, 0x0000, 0x2012, 0x0000,
+0x4000, 0x0010, 0x0000, 0x4000, 0x0480, 0x0008, 0x0000, 0x0800, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x22C4, 0xB6D9, 0x0264, 0x0230, 0xB6D6, 0x4B67, 0x0510, 0xB601,
+0xDFED, 0x818E, 0x9640, 0x9D6D, 0x117E, 0x31A2, 0xA4D9, 0x132F, 0x245E,
+0x9EC9, 0x3FCC, 0x8480, 0x3408, 0xB16D, 0x2630, 0x8929, 0x5BF5, 0x0810,
+0xB3D3, 0x3395, 0x61A4, 0x2611, 0xB340, 0x1365, 0x2CF1, 0xA029, 0x7FEE,
+0x04D3, 0xC001, 0x974E, 0x0C34, 0x0EC2, 0xBCE1, 0x2364, 0x091A, 0x1450,
+0x5B6D, 0x669A, 0x9C0B, 0xDFE5, 0x2416, 0x5000, 0x937D, 0xB676, 0xD929,
+0x4A48, 0xB82D, 0x594C, 0x1040, 0x9938, 0x486D, 0x9097, 0x4800, 0x5A60,
+0x9BB2, 0x0220, 0x8202, 0xCAC4, 0x0128, 0x8144, 0x6922, 0xA14F, 0x0901,
+0x5924, 0x489E, 0x0304, 0xED00, 0x0492, 0x852A, 0x9625, 0x682C, 0x1600,
+0xD369, 0xD964, 0x8686, 0x252C, 0x6184, 0x049F, 0x8105, 0xCBB0, 0x84B3,
+0x0005, 0x9A00, 0xC126, 0x9114, 0x990D, 0x5224, 0x2086, 0x0930, 0x3926,
+0xB0B1, 0x400C, 0xCD7A, 0x1DB2, 0x0126, 0xCB13, 0x2590, 0xE9A7, 0x5010,
+0x6016, 0x0D35, 0x2490, 0x14B6, 0x085A, 0xA202, 0x0CB9, 0x60CC, 0x20D0,
+0x6980, 0x4400, 0x4521, 0x0010, 0x4208, 0x0180, 0x004A, 0x819A, 0x4C40,
+0x0488, 0x02D1, 0x0300, 0x1002, 0x0009, 0x4C04, 0x2081, 0x2010, 0x4000,
+0x0809, 0x2402, 0x0002, 0x2800, 0x0208, 0x2020, 0x0240, 0xA0C0, 0x4109,
+0x6160, 0x6507, 0x40C0, 0x0010, 0x013B, 0xA493, 0x0414, 0x00D8, 0x0000,
+0x2089, 0x0609, 0x244A, 0x0009, 0x0040, 0x4927, 0x009B, 0x0200, 0x4D20,
+0x3698, 0x1100, 0x4901, 0xA612, 0xD101, 0x5804, 0x2392, 0x2089, 0x8040,
+0x6D25, 0x00D2, 0x0002, 0x7980, 0x26D3, 0x0008, 0x4C00, 0xA7BA, 0x2041,
+0x4000, 0xB4DA, 0x002D, 0x8000, 0x4CA1, 0x02DB, 0x0000, 0x6D80, 0x249A,
+0x20C9, 0xCC03, 0xA6DB, 0x4000, 0x4001, 0x35D3, 0x002D, 0x1001, 0x69B7,
+0x089B, 0x8000, 0x6DA0, 0xA697, 0x0002, 0x6D00, 0x369B, 0x8001, 0x5000,
+0x24DA, 0xF709, 0x9D0D, 0x2490, 0xF240, 0xF8CF, 0x2093, 0x0043, 0xA2EF,
+0x24BE, 0x10C9, 0x0E70, 0x37A9, 0x944D, 0x0634, 0x4789, 0x00D0, 0x3209,
+0xF321, 0x044F, 0x1008, 0x5B41, 0x202C, 0x1041, 0xDC00, 0x8616, 0x0A01,
+0xE500, 0x6D0C, 0x2114, 0xC000, 0xD968, 0x0004, 0x1241, 0xDB22, 0x204C,
+0x1000, 0xB3B1, 0x0B64, 0x8208, 0x2800, 0xE12E, 0x1400, 0x4240, 0x5B41,
+0x001F, 0x1048, 0xB965, 0x02F7, 0x8040, 0x5F50, 0x1FAD, 0x9201, 0x0024,
+0x4242, 0x4D34, 0x03D2, 0x8681, 0x6988, 0x66D1, 0xA200, 0x6C20, 0x315B,
+0xA007, 0x5011, 0xB09B, 0x84A5, 0x301F, 0x69B5, 0x62B9, 0x9CD1, 0x4500,
+0x1212, 0x2661, 0xE8B3, 0x94D3, 0x1001, 0x48ED, 0x2643, 0x7B09, 0x92F3,
+0x4838, 0x0012, 0x269B, 0x6802, 0x3ED3, 0x965D, 0x4860, 0x1050, 0x1C40,
+0x099E, 0x3298, 0xA62D, 0x1699, 0x4184, 0xA292, 0xA4EB, 0x4F00, 0x76DA,
+0x82C9, 0x4404, 0xB253, 0x1225, 0x1056, 0xB683, 0x002D, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xA800, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0001, 0x0020, 0x0020, 0x0000, 0x0050, 0x0000,
+0x0000, 0x0000, 0x8020, 0x0880, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0020, 0x0012, 0x0008,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0004,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0020,
+0x0800, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x4000, 0x0200, 0x0000, 0x0008,
+0x2400, 0x0488, 0x0200, 0x8008, 0x0001, 0x0000, 0x0004, 0x0049, 0x0000,
+0x0001, 0x0008, 0x0000, 0x8000, 0x00A0, 0x0049, 0x0000, 0x2800, 0x0000,
+0x0000, 0x0000, 0x8040, 0x0000, 0x0004, 0x0000, 0x8000, 0x0000, 0x0020,
+0x0200, 0x0200, 0x8000, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x00C0, 0x0000, 0x0000, 0x0020, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x4000, 0x0032, 0x0000, 0x0000, 0x2400, 0x0008,
+0x0040, 0x0000, 0x4001, 0x0000, 0x0000, 0x0049, 0x0001, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0080, 0x2049, 0x0008, 0x2000, 0x0000, 0x0000, 0x0000,
+0x8050, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0400, 0x1200, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0440, 0x0000, 0x0000, 0x0002, 0x0000, 0x0400, 0x0000,
+0x1000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x2860, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x8208, 0x0000, 0x0000,
+0x1200, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0810, 0x0000, 0x0000, 0x0000, 0x0009, 0x0040, 0x0004, 0x1000,
+0x0000, 0x0000, 0x0208, 0x0008, 0x0208, 0x0000, 0x0200, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x1000, 0x2020, 0x0200,
+0x2880, 0x000A, 0x0000, 0x0400, 0x0000, 0x0001, 0x2000, 0x0000, 0x0200,
+0x0000, 0x0048, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x1000, 0x0011,
+0x0400, 0x0000, 0x0000, 0x0009, 0x0040, 0x0004, 0x1000, 0x0000, 0x0000,
+0x0208, 0x0000, 0x0208, 0x0021, 0x0200, 0x0000, 0x0080, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x2020, 0x0200, 0x2081, 0x0008,
+0x0000, 0x0400, 0x0000, 0x0001, 0x2000, 0x0000, 0x0200, 0x0000, 0x0048,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x1000, 0x4000, 0x0001, 0x0488, 0x0804,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0001, 0x0000, 0x0020, 0x1000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0940, 0x0000, 0x0001, 0x0000, 0x0020, 0x2481, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0800, 0x0000, 0x0000, 0x0000, 0x0020, 0x0800,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x1000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0060, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0040, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x1080, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0800, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0024, 0x0000, 0x0000, 0x0008, 0x0001, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0xA300, 0x0201,
+0x0000, 0x0000, 0x0100, 0x0004, 0x0000, 0x0020, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x1400, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x1000, 0x0040, 0x0080, 0x0001, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0908, 0x0401, 0x0000, 0x0100, 0x0000, 0x0022, 0x0000, 0x0000,
+0x0800, 0x2000, 0x0000, 0x0200, 0x2000, 0x0200, 0x0001, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0004, 0x0100, 0x0800, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8400,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x8A48, 0x0004, 0x0000, 0x0000, 0x2044, 0x0004, 0x0000, 0x8100, 0x2000,
+0x0000, 0x0004, 0x0020, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x1000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x4010, 0x0000, 0x4000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0024, 0x8000, 0x0004, 0x0004, 0x0000, 0x0040, 0x0800, 0x0000,
+0x0000, 0x0040, 0x2000, 0x0000, 0x0004, 0x4000, 0x1240, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0008, 0x1040, 0x0040, 0x0000, 0x0020,
+0x0000, 0x0000, 0x4004, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0600, 0x0000, 0x0000, 0x0000, 0x0400, 0x0040, 0x0000,
+0x8000, 0x0004, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0004, 0x0000, 0x1242, 0x8000, 0x0000, 0x1000, 0x0008,
+0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0800,
+0x0006, 0x0020, 0x0000, 0x1000, 0x0000, 0x0400, 0x0040, 0x8000, 0x0000,
+0x0000, 0x0800, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0500, 0x0000, 0x0200, 0x4480, 0x0000, 0x0800, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0820, 0x0100, 0x0000, 0x0800, 0x0100, 0x0000,
+0x5800, 0x4410, 0x0080, 0x0000, 0x0000, 0x0002, 0x0100, 0x0020, 0x0000,
+0x0001, 0x8000, 0x0820, 0x0200, 0x0800, 0x0410, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0120, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x4480, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0820, 0x0000, 0x0000, 0x0800, 0x0040, 0x4000, 0x5800, 0x0410,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0200, 0x0800, 0x8410, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0120, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0804, 0x0003, 0x0092, 0x0200, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x9000, 0x0800, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4800, 0x0020, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0080, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0820, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0100, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0100, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x1000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0400, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0200, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x8000, 0x0040, 0x0200, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0880, 0x0800, 0x0000, 0x0002, 0x0200, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0001, 0x0010, 0x0000, 0x0000, 0x4000, 0x0000,
+0x1000, 0x0008, 0x0000, 0x0000, 0x8000, 0x0000, 0x4020, 0x2002, 0x0000,
+0x0000, 0x0000, 0x0880, 0x0C00, 0x0000, 0x0800, 0x0000, 0x0010, 0x0202,
+0x0000, 0x0800, 0x2090, 0x0100, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x8000, 0x0000, 0x0000, 0x8008, 0x0000, 0x4400, 0x0000,
+0x0802, 0x1000, 0x0008, 0x0000, 0x0040, 0x0000, 0x0004, 0x0000, 0x0400,
+0x0000, 0x0000, 0xC030, 0x0000, 0x0000, 0x0000, 0x1010, 0x0020, 0x0001,
+0x0028, 0x0000, 0x1400, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0400, 0x0080, 0x0000, 0x0200,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x4000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0280, 0x0000, 0x0000, 0x0880, 0x0000, 0x0001, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0400, 0x8400, 0x2040,
+0x0000, 0x0000, 0x8402, 0x0000, 0x0000, 0x0100, 0x0000, 0x0020, 0x0000,
+0x0800, 0x0001, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0001, 0x0049, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0009, 0x8800, 0x0000, 0x2000,
+0x0001, 0x0000, 0x0000, 0x1000, 0x0000, 0x0114, 0x0010, 0x0020, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0800, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x2000, 0xB042, 0x4825,
+0x2C8A, 0x9409, 0x4904, 0x6480, 0x8009, 0x4A61, 0x0492, 0x5041, 0x5B26,
+0x2C92, 0x1489, 0x000D, 0x4925, 0x0082, 0x9251, 0x000C, 0x2492, 0xA269,
+0x4804, 0x2022, 0xB241, 0x4328, 0x2C92, 0x0409, 0x3041, 0x4921, 0x2052,
+0x904A, 0x4105, 0x2482, 0x9241, 0x0864, 0x2082, 0x8041, 0x4926, 0x2482,
+0x2409, 0x8259, 0x4925, 0x2892, 0x9749, 0x4904, 0x6492, 0x92DA, 0x4A24,
+0x0492, 0x8241, 0x5924, 0x2412, 0x2009, 0xB20B, 0x4124, 0x2812, 0x9649,
+0x4904, 0x2002, 0x9049, 0x4261, 0x2092, 0x0240, 0x5B24, 0x2492, 0x0481,
+0x0009, 0x4104, 0x0092, 0x1259, 0x010C, 0x0492, 0x3240, 0x0004, 0x2042,
+0xB201, 0x4728, 0x0412, 0x2001, 0x3049, 0x4904, 0x2012, 0x9243, 0x4105,
+0x20D2, 0x924D, 0x4040, 0x2082, 0x9240, 0x4904, 0x2492, 0x2409, 0x9059,
+0x0804, 0x2892, 0x9609, 0x4904, 0x6482, 0x12DA, 0x0224, 0x24B0, 0x9241,
+0x5924, 0x2492, 0x0009, 0x0000, 0x0001, 0x0420, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021,
+0x0040, 0x0002, 0x0080, 0x2000, 0x4012, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x2020, 0x0040, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x2002, 0x4000, 0x0202, 0x0000, 0x1010, 0x0000, 0x0134, 0x0200, 0x0000,
+0x4000, 0x0000, 0x0000, 0x4002, 0x0402, 0x0000, 0x0008, 0x0130, 0x0005,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4800, 0x0E80,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0001, 0x0004, 0x0000,
+0x0400, 0x0000, 0x8800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0440,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0005, 0x2002, 0x0004, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0900, 0x40A0, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x8010, 0x0000, 0x0000, 0x2400, 0x0001,
+0x9000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000,
+0x0000, 0x8300, 0x1000, 0x0000, 0x0440, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x8000, 0x0004, 0x0000, 0x0441, 0x0000, 0x0000,
+0x8080, 0x0000, 0x0000, 0x2002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0900, 0x0080, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x1008, 0x0000,
+0x0000, 0x9200, 0x0800, 0x0000, 0x0000, 0x2400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0400, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0C00, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x2000, 0x0009, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0004, 0x04A0, 0x0000, 0x0000, 0x0088, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0080, 0x0200, 0x4008, 0x0010,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0800, 0x8200, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0400, 0x4000, 0x8008, 0x0001, 0x0000, 0x0004, 0x4000, 0x0010,
+0x4000, 0x0400, 0x0020, 0x0110, 0x1100, 0x0000, 0x1000, 0x0421, 0x0000,
+0x8000, 0x0000, 0x0000, 0x4002, 0x0008, 0x0000, 0x0000, 0x0000, 0x2400,
+0x920B, 0x4921, 0x2812, 0x9359, 0x4904, 0x6012, 0x9241, 0x0A20, 0x0410,
+0x8241, 0x5924, 0x2492, 0x2509, 0xB049, 0x0800, 0x6080, 0x9248, 0x090C,
+0x0042, 0xB279, 0x006D, 0x0090, 0x9211, 0x4964, 0x2482, 0x2428, 0x9049,
+0x0900, 0x2090, 0xB248, 0x5944, 0x2490, 0x924B, 0x0064, 0x2012, 0x9241,
+0x4904, 0x2482, 0x2419, 0x83CD, 0x4924, 0x2892, 0x9349, 0x4984, 0x6092,
+0x9A49, 0x0225, 0x2412, 0x9241, 0x5924, 0x2492, 0x2409, 0x9202, 0x4920,
+0x2092, 0x1259, 0x0900, 0x6490, 0x9049, 0x4A24, 0x2092, 0x9041, 0x5920,
+0x2492, 0x2529, 0xB249, 0x4925, 0x6092, 0x8049, 0x490C, 0x0412, 0xA251,
+0x086D, 0x24C2, 0x0050, 0x4164, 0x0412, 0x0401, 0x9249, 0x4124, 0x2010,
+0xB249, 0x8100, 0x20B2, 0x120A, 0x0844, 0x2082, 0x1241, 0x0924, 0x2416,
+0x2001, 0x9281, 0x4904, 0x2892, 0x9209, 0x4904, 0x6412, 0x9249, 0x0A25,
+0x2092, 0x8241, 0x5904, 0x2492, 0x0009, 0x0008, 0x2400, 0x0600, 0x0000,
+0x0004, 0x0000, 0x0200, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0080, 0x0000, 0x0800,
+0x0400, 0x0000, 0x0000, 0x0410, 0x0000, 0x0000, 0x0080, 0x0008, 0x0040,
+0x0020, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4800, 0x2084, 0xB798, 0x064F, 0x80A3, 0xA2D4, 0x094D,
+0xA5C0, 0xB400, 0xD96C, 0x288A, 0x8642, 0xDB6F, 0xFA3F, 0x2217, 0x3A59,
+0x42F1, 0x1604, 0x36CC, 0x23B7, 0x22B0, 0xF425, 0x4E67, 0xA020, 0x8A2D,
+0x2D49, 0x001E, 0x3206, 0x36D8, 0x0225, 0x06B0, 0xF6CC, 0x2F75, 0x2C86,
+0xB409, 0xFE61, 0x1400, 0x8B0D, 0x8D2D, 0x0118, 0x0108, 0x97BD, 0x275D,
+0x8B0B, 0x9210, 0x19E5, 0x654F, 0x9004, 0xCB7C, 0x018A, 0xC062, 0x5E7F,
+0xD637, 0xCBA0, 0x520A, 0xB804, 0x5B0C, 0x0642, 0x1B00, 0x4A25, 0xD096,
+0x6B21, 0x51E0, 0x8BF4, 0x4920, 0x0400, 0xF92A, 0x1480, 0xB028, 0xCD29,
+0x120A, 0x146C, 0xC995, 0x1093, 0x900C, 0x5B00, 0x069B, 0x9B00, 0xB222,
+0x4920, 0x4308, 0xB06C, 0xCD15, 0x000A, 0x1908, 0xC328, 0x809F, 0x0800,
+0xCB61, 0x86B3, 0x1960, 0xB724, 0xDA24, 0x2002, 0x9900, 0x4024, 0xA5A6,
+0x4A08, 0x9E20, 0xA5B2, 0x5003, 0xD8A2, 0x0DD4, 0xE880, 0xAB12, 0x2502,
+0x6805, 0x5010, 0x6490, 0x4125, 0xE491, 0x6496, 0x6953, 0xA400, 0x243D,
+0x6019, 0x2418, 0x6880, 0x0881, 0x0005, 0x0002, 0x0A12, 0x4805, 0x0400,
+0x0500, 0x2848, 0x2051, 0x6491, 0x40C4, 0x0013, 0x0A01, 0xAE90, 0x6535,
+0x4013, 0x6042, 0x2900, 0x00C0, 0x1030, 0x4402, 0x8008, 0x2091, 0x4044,
+0x0282, 0x0003, 0x6082, 0x4811, 0x0082, 0x0020, 0x510B, 0xA412, 0x00C8,
+0x40DD, 0x2402, 0x2045, 0x16B0, 0x2080, 0x2008, 0x0000, 0x7D27, 0x0CD3,
+0x0000, 0x4D30, 0xF693, 0x0000, 0x6900, 0xA6B3, 0x1005, 0x4A40, 0x269A,
+0x00C9, 0xA002, 0x4DA5, 0x008B, 0x0000, 0x5B00, 0x3459, 0x0081, 0x6805,
+0xB4DB, 0x8201, 0x4028, 0xB693, 0x042D, 0x0004, 0x6D25, 0x02DB, 0x0448,
+0x4908, 0x30DA, 0x0201, 0x4801, 0xA4D3, 0x8001, 0x4101, 0x35D2, 0x042D,
+0x0000, 0x6807, 0x2C83, 0x1008, 0x6D90, 0xE67B, 0x1008, 0x6C04, 0x3493,
+0x004D, 0x0020, 0xA08B, 0xC749, 0x97ED, 0x8092, 0xF608, 0x7668, 0x20B3,
+0x4048, 0x5B2F, 0x05B7, 0x1048, 0xCEFC, 0x253E, 0x9041, 0x9664, 0x1CCC,
+0x2050, 0xB250, 0xADDD, 0x2488, 0x0282, 0x957C, 0x0408, 0x0200, 0x5060,
+0x07C3, 0x0048, 0xB200, 0x8D49, 0x0090, 0xB000, 0xF833, 0x2483, 0x0601,
+0x986C, 0x242E, 0x1208, 0x4B70, 0x0262, 0x8209, 0x6900, 0xF643, 0x05B2,
+0x0658, 0x2B60, 0x001F, 0x5080, 0xCF60, 0x01F9, 0x8248, 0x97BC, 0xCFD7,
+0x1650, 0x1064, 0x5859, 0x4CB5, 0x02D9, 0x8847, 0x6988, 0xA4FA, 0x9048,
+0x4E28, 0x34DA, 0x8201, 0x5000, 0xB6D1, 0x01A4, 0x4770, 0x6135, 0x4243,
+0x30E0, 0x6D82, 0x0E01, 0x724A, 0x1CA4, 0x2290, 0x8941, 0x4930, 0x00DA,
+0x4505, 0x506B, 0x49A5, 0x0392, 0x1288, 0x0D85, 0x0283, 0x67C3, 0x68E0,
+0x12D3, 0x9401, 0x4998, 0xA09B, 0x5801, 0x0C59, 0x5CC1, 0x72EB, 0xB6DB,
+0x4920, 0xB553, 0x2013, 0x4A00, 0xA6CA, 0x4611, 0x1009, 0x33C9, 0x002C,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0001,
+0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0080, 0x8080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x2400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0400, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0040, 0x0000, 0x2000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0000,
+0x2000, 0x0040, 0x0000, 0x2000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x2400, 0x0000, 0x0000, 0x0402, 0x0000, 0x0800, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x0000, 0x0000, 0x8008, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0400, 0x0000, 0x0000, 0x0080, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x1000,
+0x0000, 0x0008, 0x0001, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0000, 0x0000, 0x0408,
+0x0000, 0x0200, 0x0000, 0x0208, 0x0040, 0x0000, 0x1000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0100, 0x0000, 0x0004, 0x0008, 0x2100, 0x0000, 0x0000,
+0x0080, 0x0000, 0x8000, 0x0400, 0x0000, 0x0040, 0x0000, 0x8609, 0x0000,
+0x0000, 0x0090, 0x0000, 0x0000, 0x0400, 0x0000, 0x1000, 0x2400, 0x8240,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0608, 0x0000, 0x0000, 0x1000, 0x0000, 0x0004, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x2000, 0x0000, 0x0000, 0x0180, 0x0402,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x8209, 0x0000, 0x8000, 0x0090,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2400, 0x8640, 0x0000, 0x0800,
+0x3400, 0x0000, 0x0000, 0x2020, 0x0400, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1200, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0410,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0800, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0040, 0x4000, 0x0000,
+0x0200, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0880, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x8008, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x8000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0300, 0x0004,
+0x0820, 0x0000, 0x0000, 0x2000, 0x0040, 0x0200, 0x2004, 0x1001, 0x4200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0200, 0x0000, 0x0000, 0x0081,
+0x0000, 0x8040, 0x0080, 0x0200, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000,
+0x0409, 0x0040, 0x0000, 0x0200, 0x2020, 0x8008, 0x2000, 0x0000, 0x0480,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0100, 0x1249, 0x0040,
+0x0000, 0x2000, 0x0440, 0x0200, 0x2004, 0x1001, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0081, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0200, 0x0000, 0x0000, 0x0001, 0x0000, 0x8040,
+0x0081, 0x0200, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0109, 0x0040,
+0x0000, 0x4200, 0x2028, 0x8008, 0x2001, 0x0400, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0100, 0x1249, 0x0040, 0x0000, 0x0000,
+0x0408, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0201, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0001, 0x0000, 0x0001, 0x0041,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0C00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0100, 0x0200,
+0x0000, 0x1004, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020, 0x0000,
+0x0002, 0x0000, 0x0008, 0x0010, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0100, 0x0804, 0x0000, 0x0000,
+0x0804, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0400, 0x0000, 0x0200, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0080, 0x8000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0002, 0x0024, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0400, 0x0008, 0x0000,
+0x0000, 0x8000, 0x8200, 0x0000, 0x0200, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0401, 0x1208, 0x0000, 0x0000, 0x0000,
+0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x1210, 0x0008, 0x3400, 0x0004, 0x0002, 0x0000,
+0x0000, 0x2000, 0x8000, 0x0101, 0x0400, 0x0000, 0x0020, 0x0010, 0x0000,
+0x0000, 0x0108, 0x0000, 0x0100, 0x0020, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x8002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x1010, 0x0100, 0x0000, 0x0400, 0x0000, 0x0080, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0004, 0x0000, 0x0000, 0x1220, 0x0128, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0820, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 0x0200, 0x0800, 0x1000, 0x0020,
+0xC000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x1000, 0x0020, 0x0000, 0x0000, 0x0004, 0x0004,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0800, 0x9000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0420, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0040, 0x0000, 0x0020, 0x0004, 0x0010, 0x0100, 0x1080,
+0x0004, 0x8022, 0x0800, 0x0100, 0x0000, 0x0000, 0x0300, 0x0400, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0480, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0010, 0x2000, 0x8020, 0x0080, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0004, 0x0020, 0x0000, 0x0400, 0x2000, 0x2000, 0x0200,
+0x0820, 0x0000, 0x0000, 0x0000, 0x2000, 0x0008, 0x0000, 0x2000, 0x0000,
+0x0000, 0x4800, 0x2000, 0x0000, 0x0000, 0x0C02, 0x0000, 0x0840, 0x0400,
+0x0060, 0x0000, 0x0000, 0x0000, 0x4000, 0x5110, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0080, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x2000, 0x2000, 0x0200, 0x0820, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0008, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x3000, 0x0000, 0x0000, 0x0802, 0x0000, 0x0800, 0x0400, 0x0040, 0x0400,
+0x0000, 0x0000, 0x4000, 0x0010, 0x2000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x8102, 0x8000, 0x0000, 0x0800, 0x1000,
+0x0101, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0020, 0x0000,
+0x1100, 0x0000, 0x0000, 0x0000, 0x0020, 0x0020, 0x0000, 0x0000, 0x8100,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0001, 0x0400, 0x0200, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0080, 0x0000, 0x0000, 0x0100, 0x0030,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0020, 0x0000, 0x0000, 0x0400, 0x4010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x8000, 0x0024, 0x8000, 0x0400,
+0x4000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0008, 0x0000, 0x0400, 0x0400, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0400, 0x0008, 0x0000, 0x1000, 0x0000, 0x0000, 0x0004, 0x0080,
+0x0000, 0x0000, 0x0010, 0x2000, 0x0010, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x2001, 0x1100, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2010,
+0x0000, 0x0010, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0800, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0001, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0001, 0x0000, 0x4000, 0x0080, 0x0000, 0x0000, 0x1000, 0x0010,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1001, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x2001, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x2000, 0x8000, 0x0014, 0x0401, 0x0008, 0x0000, 0x0008, 0x0000,
+0x2090, 0x0000, 0x0000, 0x0800, 0x0008, 0x8000, 0x0000, 0x0000, 0x0011,
+0x0400, 0x0800, 0x2004, 0x0040, 0x0010, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0018, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0400, 0x0000, 0x0000, 0x1002, 0x0000, 0x8000, 0x8000, 0x4000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0200, 0x0040,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0200, 0x0080, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x08C0, 0x1000, 0x0000, 0x2400,
+0x0041, 0x4124, 0x2892, 0x9AA1, 0x4900, 0x6492, 0x92C9, 0x4A20, 0x2492,
+0x1341, 0x5824, 0x2092, 0x0481, 0x9241, 0x4924, 0x0012, 0x9249, 0x4906,
+0x2492, 0x124A, 0x4824, 0x2492, 0x1911, 0x4904, 0x2492, 0x0019, 0x1649,
+0x4904, 0x2092, 0x9288, 0x4804, 0x0490, 0x0000, 0x4844, 0x0412, 0x1242,
+0x4320, 0x2492, 0x6401, 0x9241, 0xC934, 0x0892, 0x9249, 0x4904, 0x6094,
+0x9679, 0x0A24, 0x2482, 0x0080, 0x4922, 0x2492, 0x0409, 0x9249, 0x4925,
+0x2812, 0x90C9, 0x4900, 0x6410, 0x92C9, 0x4A24, 0x2490, 0x1240, 0x5824,
+0x2492, 0x0089, 0x1241, 0x4905, 0x2012, 0x9249, 0x4104, 0x2492, 0x9243,
+0x4024, 0x2492, 0x9211, 0x0924, 0x0492, 0x0409, 0x1641, 0x4105, 0x2082,
+0x8089, 0x4904, 0x0490, 0x8209, 0x4864, 0x0492, 0x1240, 0x4B20, 0x2692,
+0x6401, 0x9201, 0x4825, 0x0090, 0x9248, 0x4100, 0x6092, 0x9659, 0x0A24,
+0x2482, 0x12C1, 0x1924, 0x2480, 0x0009, 0x2020, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0040, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000,
+0x0004, 0x0001, 0x0000, 0x0802, 0x0000, 0x0000, 0x0008, 0x0892, 0x0000,
+0x0000, 0x0080, 0x0000, 0x1200, 0x0000, 0x0001, 0x0000, 0x0000, 0x000A,
+0x0000, 0x0004, 0x0000, 0x0000, 0x8800, 0x0092, 0x0001, 0x8200, 0x0000,
+0x0001, 0x8400, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x2000, 0x0000, 0x0001,
+0x0100, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00D0,
+0x2000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0020, 0x0000, 0x0000, 0x1040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0444, 0x0400,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0202, 0x0000, 0x0400, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0010, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0410, 0x0040, 0x0000,
+0x6000, 0x0409, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x4080, 0x0000,
+0x0001, 0x2800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0410, 0x0040, 0x0000, 0x2000, 0x0009,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0202, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4120, 0x2000, 0x0000, 0x0000, 0x0002, 0x0000, 0x4000, 0x0080,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x4000, 0x0020, 0x0008, 0x0000,
+0x0000, 0x0012, 0x4100, 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x1000,
+0x0000, 0x0000, 0x1400, 0x8000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x4000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0005, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0101, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x2040, 0x0009, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x000C, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x9249, 0x4924, 0x2812, 0x92C8, 0x4905, 0x6492, 0x9059,
+0x4A24, 0x2492, 0x9241, 0x5125, 0x24D2, 0x2888, 0x9249, 0x4924, 0x0092,
+0x9249, 0x4904, 0x2492, 0x925B, 0x4804, 0x2412, 0x9241, 0x4904, 0x2492,
+0x2409, 0x9259, 0x4904, 0x2090, 0x96C8, 0x4904, 0x2492, 0x9249, 0x4824,
+0x2493, 0x9201, 0x4904, 0x0492, 0x8419, 0x9009, 0x09A0, 0x2892, 0x92C9,
+0x4104, 0x6692, 0x1641, 0x1A24, 0x24B2, 0x92D1, 0x5B24, 0x2490, 0x2409,
+0x9249, 0x4924, 0x2892, 0x92C9, 0x4925, 0x4490, 0x9259, 0x4A24, 0x0492,
+0x9241, 0x5925, 0x2492, 0x2CA9, 0xD249, 0x4924, 0x2012, 0x9249, 0x4104,
+0x2482, 0x925B, 0x4C24, 0x0090, 0x9241, 0x4924, 0x0492, 0x8401, 0x5A1C,
+0x4904, 0xA010, 0x87C9, 0x4904, 0x0480, 0x8A49, 0x0826, 0x0000, 0x9340,
+0x4126, 0x2492, 0x0409, 0x924D, 0x4124, 0x2882, 0x12C8, 0x4904, 0x6482,
+0x1449, 0x0AA4, 0x0090, 0x92D1, 0x1B24, 0x2002, 0x0009, 0x0000, 0x0400,
+0x0400, 0x0000, 0x0000, 0x2001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x2042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000A,
+0x0000, 0x0000, 0x2008, 0x0000, 0x4000, 0x2402, 0x0001, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x240A, 0x0000, 0x0000, 0x1040, 0x0000, 0x7026, 0xB6DB, 0x072D, 0x00B0,
+0xB6D3, 0x1F6D, 0x0D80, 0xB408, 0xBB6D, 0x6802, 0x8503, 0xDB6D, 0x4D30,
+0x2213, 0xB2E9, 0x4267, 0x0228, 0x95CD, 0x0F65, 0x80AA, 0x8C48, 0x9D6F,
+0x2142, 0x0348, 0xDF5C, 0x283A, 0x20D0, 0xE478, 0x624C, 0xA4D8, 0x944C,
+0x0DEA, 0x3418, 0xD401, 0xD38D, 0xE402, 0xC361, 0x51F9, 0x0B3B, 0x0089,
+0x83DB, 0x477F, 0x8552, 0xB6D0, 0x394C, 0x85C2, 0xB404, 0xC97E, 0x212A,
+0x880A, 0xDACD, 0xB657, 0x8B08, 0xD248, 0xB844, 0x590D, 0x9245, 0x0920,
+0xC06D, 0x909E, 0x0884, 0x8368, 0x88B4, 0x4024, 0x9A45, 0xC96C, 0x1410,
+0xD00C, 0xC905, 0x3043, 0x1108, 0x5B86, 0x60B6, 0x0324, 0xDA22, 0x4696,
+0x0901, 0x9A06, 0x4B35, 0x88C4, 0x9015, 0x79A5, 0x2082, 0x1A21, 0x6974,
+0x3892, 0x2044, 0x2F23, 0x06D6, 0x8200, 0xB404, 0xDBE4, 0x2440, 0x9904,
+0x4A2D, 0x0266, 0x0A03, 0x5EA4, 0x90B2, 0x5B05, 0x6800, 0x45B0, 0x4000,
+0xDB32, 0x2590, 0x6125, 0xD032, 0xEC06, 0x0920, 0xE091, 0x10B6, 0x4943,
+0x84A8, 0x05B5, 0x6319, 0x2212, 0x0589, 0x0401, 0x0001, 0x2270, 0x4492,
+0x4804, 0x02D3, 0x6D18, 0x4440, 0x80D8, 0x4050, 0x4122, 0x8002, 0x5020,
+0x2502, 0x2905, 0x4018, 0x0002, 0x0808, 0x0008, 0x0281, 0x0848, 0xA022,
+0x0081, 0x8008, 0x3043, 0x1020, 0x6003, 0x4811, 0x2080, 0x2080, 0x0003,
+0xC4C2, 0x0040, 0x615F, 0x2480, 0x0085, 0x4E91, 0x155A, 0x0008, 0x8000,
+0x4D27, 0x0CD2, 0x8000, 0x4911, 0x669B, 0x1800, 0x4900, 0xA49A, 0x400D,
+0x4004, 0x24D2, 0x08CD, 0x1200, 0x4D3D, 0x609C, 0x1329, 0x6901, 0x349B,
+0x8282, 0x6C00, 0x2293, 0x0001, 0x4800, 0x2083, 0x000D, 0x0008, 0x49B5,
+0x22D3, 0x0000, 0x6980, 0x329B, 0x4001, 0x6C00, 0xB6DA, 0x5001, 0x0910,
+0xA693, 0x040D, 0x0040, 0x6C27, 0x0C82, 0x9000, 0x4990, 0xC693, 0x1008,
+0x4D04, 0x3693, 0x000D, 0x4800, 0x36DB, 0xFF68, 0x47ED, 0xA090, 0xF609,
+0x7A6F, 0x24B6, 0xD840, 0xC37F, 0x25AF, 0x1241, 0x9FFC, 0x2C38, 0x9209,
+0x3060, 0x8DCC, 0x3080, 0x1243, 0xC4D4, 0x0482, 0x0240, 0x7D61, 0x00A7,
+0x9448, 0xD602, 0x06A7, 0x9658, 0x1C20, 0x9331, 0x2400, 0x0008, 0x3A85,
+0x0403, 0x0440, 0xA374, 0x00A4, 0x0001, 0x2ED0, 0x424C, 0x1048, 0xF020,
+0xF7A0, 0x0192, 0xB659, 0x2329, 0x247F, 0xF048, 0x47E5, 0x217B, 0x8048,
+0xB3EC, 0x07F6, 0x8800, 0x0045, 0x1043, 0x4DB6, 0x02BB, 0x02D0, 0x6D88,
+0x32DA, 0x2600, 0x6E30, 0x16D3, 0x3001, 0x50C0, 0xB4DB, 0x60A9, 0x7292,
+0x6984, 0x8091, 0x3248, 0x4C88, 0x2092, 0x8045, 0x5019, 0x3091, 0x2CA1,
+0xC849, 0x32CA, 0xA503, 0xD8CC, 0x0D14, 0xA2D2, 0x8758, 0x4F05, 0x2050,
+0x9C0A, 0x1C27, 0x361B, 0x9151, 0x8923, 0x240E, 0x4900, 0x041C, 0x48A5,
+0x42C9, 0x9C52, 0x6D88, 0x159A, 0xA01B, 0x4E00, 0xA4C8, 0xDE51, 0x504C,
+0xA613, 0x000C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9009, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0021, 0x0000, 0x0000, 0xA000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0401, 0x0804, 0x2000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4040, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x8000, 0x4804, 0x0000, 0x8000,
+0x0100, 0x0800, 0x0000, 0x0800, 0x4003, 0x0000, 0x0100, 0x0002, 0x0200,
+0x0000, 0x0004, 0x4000, 0x0401, 0x0200, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x8040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001, 0x0020, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x2010, 0x0400, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x2000, 0x0000,
+0x0000, 0x0001, 0x2000, 0x0000, 0x0080, 0x0000, 0x8009, 0x2000, 0x0000,
+0x1000, 0x0000, 0x0040, 0x8000, 0x0020, 0x8200, 0x0000, 0x0080, 0x0004,
+0x2000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0420, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0201, 0x0000, 0x2080, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0000, 0x0008, 0x2000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0880, 0x0410, 0x0000, 0x2000, 0x0000, 0x0100, 0x0000,
+0x0040, 0x0000, 0x0000, 0x8200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0001, 0x0400, 0x1000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0201, 0x0048, 0x2080, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0001, 0x2000, 0x0200, 0x2000, 0x0408, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0400, 0x0240, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x2080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x8000, 0x0000,
+0x0240, 0x0000, 0x0020, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0081, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x8200, 0x0400, 0x0000, 0x0000, 0x0400,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0080, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x2480, 0x0040, 0x0001, 0x0000, 0x8000, 0x0100,
+0x0000, 0x0201, 0x0000, 0x0200, 0x2080, 0x0000, 0x0008, 0x0000, 0x0101,
+0x0400, 0x0400, 0x0001, 0x0000, 0x0000, 0x0200, 0x0002, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x2200, 0x0000, 0x8200, 0x0401, 0x0400, 0x0000, 0x0400, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x8000, 0x2480, 0x0040, 0x0001, 0x0000, 0x8000, 0x0000, 0x0000, 0x0201,
+0x0000, 0x0200, 0x2081, 0x0000, 0x0008, 0x0000, 0x0001, 0x0000, 0x0400,
+0x0081, 0x0000, 0x0000, 0x0280, 0x0000, 0x0000, 0x0081, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0001, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0100,
+0x0001, 0x0000, 0x4800, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0100,
+0x0082, 0x0000, 0x0000, 0x0000, 0xA000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0200, 0x0000, 0x0000, 0x0600, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0xC000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0800,
+0x0800, 0x0000, 0x0000, 0x0080, 0x0080, 0x8000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0020, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0201, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0100, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0004,
+0x0000, 0x0001, 0x0000, 0x8000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0004,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x5000, 0x0020, 0x0040, 0x0400, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0120, 0x0000, 0x0100, 0x0000,
+0x0002, 0x0020, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0004, 0x4000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x1000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0400, 0x0004,
+0x0000, 0x0000, 0x0010, 0x0000, 0x8100, 0x0200, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0008, 0x0004,
+0x0000, 0x0200, 0x0001, 0x0400, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0101, 0x0000, 0x0000,
+0x0242, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x8001, 0x0000, 0x0080, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0012, 0x0000, 0x0000, 0x0000, 0x0080, 0x0301, 0x4400, 0x0400, 0x0000,
+0x0004, 0x0010, 0x0000, 0x0004, 0x0000, 0x0008, 0x0200, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0020, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0220, 0x0000, 0x0200, 0x0000, 0x0000, 0x0080, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0080, 0x9000, 0x0004, 0x0000, 0x4000, 0x0000, 0x0130, 0x0000,
+0x080C, 0x0000, 0x0080, 0x2000, 0x4002, 0x0400, 0x1080, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0100, 0x0008, 0x0004, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0004, 0x8000, 0x0004, 0x0200, 0x8000, 0x0809,
+0x0000, 0x0000, 0x0004, 0xC000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1100, 0x0100, 0x0000, 0x1000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0020, 0x0000, 0x0000, 0x8000, 0x0000, 0x0009, 0x0600, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0804, 0x0000, 0x0000, 0x0100,
+0x8400, 0x0004, 0x0000, 0x0000, 0x0020, 0x0000, 0x0804, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0510, 0x0000, 0x1000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8800, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0400, 0x0020, 0x4800, 0x0000, 0x0002, 0x0100, 0x4000,
+0x0001, 0x0000, 0x1040, 0x0000, 0x0000, 0x0000, 0x0004, 0x1000, 0x0000,
+0x0400, 0x4000, 0x0000, 0x01A0, 0x0000, 0x0000, 0x0000, 0x0404, 0x0000,
+0x0040, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0400, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0400, 0x0020, 0x4800, 0x0000, 0x0000, 0x0100, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0420, 0x0000, 0x0420, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0408, 0x0000, 0x0100, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0208, 0x0024, 0x0000, 0x0000,
+0x0100, 0x0800, 0x0000, 0x8900, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0020, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x4000, 0x0040, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0008, 0x0000, 0x0000, 0x0000, 0x0401,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0084, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x8000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0002, 0x0000, 0x0001, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x4800,
+0x0000, 0x0000, 0x4010, 0x0000, 0x0001, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x4000, 0x0000, 0x0800, 0x0204, 0x0000, 0x0000, 0x0009,
+0x0000, 0x0020, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x4000, 0x0082, 0x8001, 0x0000, 0x0100, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0209, 0x8200, 0x4104, 0x8000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0001, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0180, 0x0080, 0x0460, 0x0000, 0x0800, 0x000C, 0x0020,
+0x0000, 0x0401, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0008, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0020, 0x0000,
+0x0040, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0040, 0x4000, 0x0100, 0x2000, 0x0004,
+0x0000, 0x0008, 0x0400, 0x4000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0020, 0x0400, 0x9248, 0x4924, 0x2992, 0x1240, 0x4804, 0x4492, 0x8249,
+0x4A64, 0x2092, 0x1240, 0x5B04, 0x2592, 0x6589, 0x9249, 0xC928, 0x0092,
+0x0240, 0x4904, 0x2492, 0x9248, 0x4800, 0x2492, 0x1201, 0x4B24, 0x2492,
+0x0408, 0x1203, 0x4934, 0x4092, 0x9203, 0x4904, 0x2492, 0x1E08, 0x682C,
+0x6092, 0x3681, 0x4924, 0x2C80, 0x0409, 0x9041, 0x4B24, 0x2892, 0x9AC9,
+0x4904, 0x6492, 0x9219, 0x6A20, 0x2492, 0x1251, 0x5924, 0x2492, 0x2409,
+0x9249, 0x4925, 0x2882, 0x1208, 0x4900, 0x4492, 0x9249, 0x4A64, 0x2492,
+0x9240, 0x5B04, 0x2492, 0x6181, 0x9209, 0x4821, 0x209A, 0x9248, 0x6104,
+0x2092, 0x9249, 0x0004, 0x2492, 0x9201, 0x4224, 0x2492, 0x2400, 0x924B,
+0x41A5, 0x6092, 0x924A, 0x4404, 0x2492, 0x0648, 0x482C, 0x0082, 0xB6C1,
+0x4124, 0x2400, 0x2409, 0x9249, 0x4925, 0x2892, 0x90C9, 0x4904, 0x6490,
+0x9259, 0x0A24, 0x2493, 0x1211, 0x1924, 0x2492, 0x1009, 0x4000, 0x0001,
+0x0400, 0x0804, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x4022, 0x0000, 0x1000, 0x0800,
+0x0002, 0x0000, 0x0900, 0x0000, 0x0008, 0x0000, 0x0020, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x0058, 0x0000, 0x0000, 0x0000,
+0x8200, 0x0820, 0x0001, 0x8400, 0x4004, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0080, 0x0000, 0x0000, 0x0082, 0x0000, 0x8002,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0100, 0x0001, 0x0000, 0x4000, 0x0000, 0x0000,
+0x1000, 0x0404, 0x0080, 0x0000, 0x0100, 0x4000, 0x0000, 0x0100, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x2000, 0x2000, 0x0001,
+0x0800, 0x0000, 0x0000, 0x2000, 0x0200, 0x0000, 0x0000, 0x2100, 0x0000,
+0x4004, 0x0000, 0x0000, 0x0000, 0x0002, 0x5400, 0x0000, 0x0080, 0x0400,
+0x0000, 0x0300, 0x0800, 0x1000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0880, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0180, 0x0000, 0x0020, 0x0000, 0x0000, 0x0004, 0x0020, 0x0080, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0200, 0x0040, 0x0000, 0x2000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x1000, 0x0000, 0x2010, 0x0000, 0x0000,
+0x0080, 0x0000, 0x8000, 0x0020, 0x0000, 0x8000, 0x0800, 0x0000, 0x0040,
+0x0004, 0x0010, 0x0000, 0x0820, 0x0010, 0x0008, 0x0200, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0800, 0x0080, 0x0400, 0x4804, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x4800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0104, 0x0000, 0x0400, 0x0800, 0x0000, 0x0000,
+0x0100, 0x0002, 0x0000, 0x4000, 0x0100, 0x0000, 0x0000, 0x1100, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0104, 0x4880, 0x0480, 0x4008, 0x0002,
+0x0100, 0x0040, 0x4400, 0x0000, 0x00E0, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0400, 0x9249, 0x4924, 0x2492, 0x9249, 0x4904,
+0x6492, 0x1241, 0x4A24, 0x249A, 0x92C1, 0x5964, 0x2492, 0x248D, 0x9249,
+0x4824, 0x2092, 0x9249, 0x410D, 0x2492, 0xB20B, 0x0824, 0x2492, 0x90C1,
+0x4926, 0x2492, 0x2409, 0x92D9, 0x0924, 0x2092, 0x9249, 0x0904, 0x2490,
+0xD249, 0x4824, 0x2492, 0x9240, 0x0904, 0xA012, 0x0409, 0x9249, 0x6924,
+0x2892, 0x8249, 0x4904, 0x6492, 0x1009, 0x4E24, 0x2482, 0x9241, 0x5925,
+0x2492, 0xA409, 0x9249, 0x0924, 0x2C92, 0x9249, 0x4904, 0x6492, 0x9249,
+0x4AA4, 0x2482, 0x92C1, 0x5964, 0x2492, 0x2689, 0x926D, 0x4924, 0x2092,
+0xD24D, 0x4909, 0x2492, 0xB20B, 0x48A4, 0x2492, 0x93E1, 0x4924, 0xA492,
+0x2601, 0x8AD8, 0x4934, 0x2012, 0x9249, 0x4906, 0x2490, 0x9349, 0x4824,
+0x2412, 0x9201, 0x4D24, 0x2492, 0x3409, 0x9249, 0x4924, 0x2892, 0x9349,
+0x4904, 0x6492, 0x904D, 0x4A24, 0x2492, 0x9261, 0x5925, 0x2492, 0x0009,
+0x0000, 0x2400, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x2402, 0x0000,
+0x4000, 0x0482, 0x0001, 0x0002, 0x3C12, 0x0008, 0x0060, 0xA080, 0x0241,
+0x0200, 0x0800, 0x2402, 0x4000, 0x4000, 0x0482, 0x0001, 0x0002, 0x3C12,
+0x0008, 0x0060, 0xA080, 0x0241, 0x0200, 0x0800, 0x2412, 0x4000, 0x4000,
+0x0482, 0x0001, 0x0002, 0x3C12, 0x0008, 0x0060, 0xA080, 0x0241, 0x0200,
+0x0800, 0x2412, 0x4000, 0x4000, 0x0482, 0x0001, 0x0002, 0x3C12, 0x0008,
+0x0060, 0xA080, 0x0241, 0x0200, 0x0800, 0x2412, 0x4000, 0x4000, 0x0502,
+0x0001, 0x0004, 0x2412, 0x0008, 0x0000, 0x2080, 0x0241, 0x0000, 0x0800,
+0x2412, 0x0000, 0x4000, 0x0502, 0x0001, 0x0004, 0x2412, 0x0008, 0x0000,
+0x2080, 0x0241, 0x0000, 0x0800, 0x2402, 0x0000, 0x4000, 0x0502, 0x0001,
+0x0004, 0x2412, 0x0008, 0x0000, 0x2080, 0x0241, 0x0000, 0x0800, 0x2402,
+0x0000, 0x4000, 0x0502, 0x0001, 0x0004, 0x2412, 0x0008, 0x0000, 0x2080,
+0x0241, 0x0000, 0x0000, 0x4414, 0xB4D9, 0x036F, 0x0218, 0x96DA, 0x7B67,
+0xE080, 0xB400, 0xD96D, 0xE40C, 0x9800, 0xDD7D, 0x2456, 0x2496, 0x3741,
+0x637D, 0x2242, 0xB640, 0x3A64, 0x00F6, 0xFC04, 0xCB6C, 0x0812, 0x4803,
+0xDFE9, 0x2016, 0x94C0, 0xB459, 0x61BA, 0x90AA, 0xDE40, 0x180D, 0xAC10,
+0x74AD, 0x69ED, 0x7603, 0xC008, 0xF131, 0x0635, 0x0004, 0xF6C9, 0x436D,
+0x0085, 0xB3D1, 0x7B6F, 0x7132, 0xAC00, 0xDB0D, 0x8C4E, 0x18C3, 0xD96E,
+0xB656, 0x1B20, 0x0048, 0xB0A4, 0xD965, 0x324C, 0x819C, 0x0B6D, 0x9092,
+0x4214, 0x0F61, 0x9592, 0x4AA4, 0x9222, 0x5F68, 0x0090, 0x9100, 0x4925,
+0x40C6, 0x0829, 0x5B1B, 0x9092, 0x1921, 0xC131, 0x0495, 0x0130, 0x9623,
+0x4DA5, 0xC880, 0x9341, 0x4B47, 0x22C6, 0x0650, 0x617D, 0x001A, 0x9A00,
+0x8D60, 0x8CBA, 0x4048, 0x9000, 0xCB28, 0x8230, 0xF924, 0x59E0, 0x8C06,
+0x8900, 0x8A47, 0x00B6, 0x6840, 0x5122, 0x1434, 0x4A05, 0x5B30, 0x2910,
+0x0D27, 0xD881, 0x2406, 0x0931, 0x0491, 0x2436, 0x4859, 0x3450, 0x01B1,
+0x6AF8, 0x2042, 0x2589, 0xE000, 0x0425, 0x7000, 0x14D0, 0x4000, 0x0452,
+0x4C00, 0x000D, 0x66D8, 0x4001, 0x0BC0, 0xA01B, 0x490D, 0x4032, 0x6925,
+0x900C, 0xA400, 0x0001, 0x2491, 0x1082, 0x0802, 0x0002, 0x10A0, 0x0201,
+0x0603, 0x0108, 0x6502, 0x09A7, 0x0092, 0x6030, 0x4833, 0x0290, 0x2498,
+0x0043, 0x2412, 0x2009, 0x4618, 0x2080, 0x000C, 0x0000, 0x5D27, 0x0891,
+0x0240, 0x6920, 0x2498, 0x8000, 0x4900, 0x36D2, 0x8009, 0x5020, 0x22D2,
+0x00A9, 0x8400, 0x4CB5, 0x0292, 0x0120, 0x4980, 0x069B, 0x9258, 0x4800,
+0xB493, 0x0001, 0x4821, 0x241B, 0x0029, 0x8088, 0x59A5, 0x225B, 0x8040,
+0x2980, 0x26D2, 0x0240, 0x4820, 0xB6DA, 0xC000, 0x0008, 0x34DA, 0x000C,
+0x0000, 0x0BB7, 0x40D3, 0x0041, 0x6D20, 0x069A, 0x1002, 0x6900, 0x24D2,
+0x0801, 0x5100, 0x26B1, 0x7F29, 0xDBC9, 0x2090, 0xF24A, 0xD1A7, 0x049D,
+0x1A43, 0x137F, 0x263D, 0x8009, 0x1FF0, 0x31DF, 0x9409, 0x5104, 0x5349,
+0x2140, 0x9049, 0x9CC9, 0x240E, 0x3040, 0x4C27, 0x243A, 0x0248, 0xFA50,
+0x0396, 0x92C0, 0x1D04, 0x6625, 0x2410, 0x9080, 0x2217, 0x4404, 0x1009,
+0x381F, 0x24CA, 0x0001, 0x1C71, 0x4B75, 0x8201, 0xA221, 0xFF7F, 0x6400,
+0x3208, 0xFAAC, 0x009E, 0x3041, 0xC349, 0x0477, 0x9209, 0x5380, 0x1E3E,
+0x904A, 0x8004, 0x84CB, 0x79B5, 0x02D8, 0x0298, 0x4D80, 0x56D0, 0x9080,
+0x6CA4, 0xA49B, 0xB005, 0x5005, 0xB08B, 0x4A8D, 0x00B3, 0x6825, 0x02CB,
+0xE20A, 0x6D09, 0x1792, 0xA0C0, 0x2460, 0xA492, 0x37E1, 0x0028, 0x3252,
+0xA009, 0xB348, 0x4D34, 0x6000, 0x5898, 0x0508, 0x349A, 0x8620, 0x2C65,
+0x445B, 0xA310, 0x01C6, 0xD482, 0x6C2C, 0x10D1, 0xAD25, 0x02DB, 0x860B,
+0x6888, 0x54D9, 0x1804, 0x6408, 0xB69B, 0x86F5, 0x5941, 0xBCD8, 0x0009,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x2000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0014,
+0x0000, 0x1000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0020, 0x0000, 0x2000, 0x4040, 0x0080, 0x0000, 0x2000, 0x0020, 0x0000,
+0x0120, 0x4800, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8004, 0x0000, 0x0000, 0x8020,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x4000, 0x0000, 0x8000, 0x0020, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0200, 0x0000, 0x0001, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x8080, 0x0000, 0x0840, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0600, 0x0000, 0x0000, 0x1002, 0x0200, 0x0000,
+0x0008, 0x1000, 0x0000, 0x0000, 0x0004, 0x0400, 0x2080, 0x0048, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x9040, 0x0001, 0x0000, 0x0088, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0040, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0040, 0x0800, 0x0441, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0280, 0x1000, 0x0000, 0x0241, 0x0040, 0x8000,
+0x0400, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x000A, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x2080, 0x0048, 0x0002, 0x0000, 0x0000,
+0x0000, 0x2004, 0x9040, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0050, 0x0000, 0x0000, 0x0000, 0x8000, 0x0020,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0041, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0241, 0x0040, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0201, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0004, 0x0000,
+0x3000, 0x0048, 0x0000, 0x1000, 0x0124, 0x0000, 0x2000, 0x0050, 0x0000,
+0x0000, 0x4008, 0x0010, 0x0000, 0x8000, 0x0000, 0x0000, 0x8000, 0x0024,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0010, 0x0004, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0201, 0x0000, 0x0404, 0x0000, 0x0000, 0x0000, 0x0201,
+0x0021, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x8200, 0x0400, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0004, 0x0008, 0x0000,
+0x8000, 0x0001, 0x0600, 0x0080, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0080,
+0x0201, 0x0000, 0x0C04, 0x0000, 0x0000, 0x0000, 0x0201, 0x0020, 0x0000,
+0x0001, 0x0009, 0x0000, 0x0000, 0x1002, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x8200, 0x0400, 0x1000, 0x0101, 0x0400, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0001,
+0x0400, 0x4000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0400,
+0x0000, 0x0020, 0x0000, 0x0001, 0x0000, 0x0000, 0x0002, 0x1000, 0x0004,
+0x0000, 0x0200, 0x4000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0011, 0x0400, 0x4000, 0x0000, 0x0000, 0x0100, 0x8010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0200, 0x0004, 0x0080, 0x0000, 0x0800, 0x0800, 0x0000,
+0x0000, 0x8800, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x2004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x1000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0002, 0x8008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0004, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0800, 0x0100, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0010, 0x0000, 0x8005, 0x0000, 0x0100,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0080, 0x0008, 0x0000, 0x0080,
+0x0001, 0x0480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0400, 0x0000, 0x8000, 0x0000, 0x0001, 0x0000, 0x0802, 0x0800, 0x0004,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0010, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0001, 0x0400, 0x0002, 0x0000, 0x8010, 0x4100,
+0x0000, 0x4000, 0x0002, 0x0004, 0x0000, 0x0000, 0x0080, 0x0000, 0x0300,
+0x0020, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020, 0x0000, 0x0002, 0x0040,
+0x1000, 0x0000, 0x0200, 0x1030, 0x0022, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0124, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8040, 0x0102, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x4000, 0x0C00, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0010,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0020, 0x0800, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0040,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0804, 0x0000, 0x0020, 0x0100, 0x1000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0680, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x4004, 0x0000, 0x0800, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8800, 0x0004, 0x0000, 0x0000, 0x4000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0004, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0010, 0x4000, 0x0000, 0x0200, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0xC000, 0x0000, 0x0100, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0200, 0x0044, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x2000, 0x4000, 0x8000, 0x0000, 0x0100,
+0x0000, 0x0880, 0x0200, 0x0000, 0x0000, 0x0400, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0022, 0x0000, 0x2000, 0x0000, 0x0000, 0x4000,
+0x0400, 0x0000, 0x4000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0001, 0x0010,
+0x0000, 0x0000, 0x0200, 0x0004, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x1000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x2000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0800, 0x0000, 0x0120, 0x0084, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0010, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0008, 0x0002, 0x0100, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0100, 0x0100, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x1000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0801, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0004,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0200,
+0x0000, 0x1000, 0x0000, 0x0200, 0x0100, 0x0000, 0x0000, 0x0800, 0x0010,
+0x0000, 0x0002, 0x0000, 0x0000, 0x8000, 0x0000, 0x0004, 0x0000, 0x4000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0080, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0001, 0x0000, 0x0002, 0x8000, 0x0001, 0x0000, 0x0000,
+0x0004, 0x8000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000, 0x0800,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0003, 0x0000, 0x0410, 0x0200, 0x0000, 0x0000, 0x1000, 0x2000,
+0x0000, 0x0000, 0x0200, 0x8020, 0x0000, 0x0400, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x8000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0080, 0x0001, 0x0010, 0x1000, 0x0008,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0040, 0x0000, 0x0100, 0x1000, 0x0000,
+0x0440, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0001, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0400, 0x0200,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0124, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0200, 0x0800,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x2400,
+0x1648, 0x4125, 0x2C82, 0x92C9, 0x8900, 0x44B2, 0x9C49, 0x4A24, 0x2492,
+0x8240, 0x5826, 0x2492, 0x0699, 0x8C41, 0x4925, 0x0082, 0x120F, 0x4904,
+0x2492, 0x8240, 0x4802, 0x2492, 0x1001, 0x4164, 0x2492, 0x2409, 0x9009,
+0x4925, 0x2092, 0x824C, 0x4900, 0x2C92, 0x1249, 0x4825, 0x65D2, 0x1241,
+0x4805, 0x2493, 0x2409, 0x8609, 0x4925, 0x2C92, 0x9649, 0x4910, 0x2482,
+0x1209, 0x4224, 0x0492, 0x40A1, 0x4924, 0x2492, 0x0409, 0x9649, 0x0924,
+0x2882, 0x92C9, 0x0904, 0x6490, 0x9649, 0x4A24, 0x2482, 0x9240, 0x5924,
+0x2492, 0x2489, 0x9649, 0x4920, 0x0002, 0x920B, 0x4504, 0x2492, 0x9249,
+0x4800, 0x2492, 0x1241, 0x4164, 0x2492, 0x2408, 0x9249, 0x4124, 0x2092,
+0x8249, 0x4904, 0x0492, 0x9049, 0x4825, 0x2092, 0x9241, 0x4925, 0x2052,
+0x2409, 0x8609, 0x4924, 0x2882, 0x9669, 0x4814, 0x2482, 0x1249, 0x4A24,
+0x0492, 0x12C1, 0x4924, 0x0490, 0x0009, 0x0010, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x2000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000, 0x0100, 0x0404,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x4001, 0x0040, 0x0004, 0x0000, 0x0100, 0x0020,
+0x8000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x4004, 0x0400,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0040, 0x0002, 0x0000, 0x2002,
+0x0000, 0x0000, 0x2200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0020, 0x2000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0001, 0x2010, 0x0000, 0x0000, 0x0000,
+0x4002, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0080, 0x0000,
+0x0000, 0x0008, 0x0000, 0x8000, 0x0000, 0x0200, 0x0001, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0018, 0x0000, 0x0000, 0x0000, 0x0861, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2010, 0x0000, 0x0000, 0x0200, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0008, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x4000, 0x0000, 0x0002, 0x0000, 0x0002, 0x0800,
+0x0004, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x1000, 0x4000, 0x0000,
+0x8010, 0x0020, 0x0000, 0x0002, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0800, 0x0010, 0x0000, 0x0000, 0x0000, 0x0001,
+0x1400, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0120, 0x2400, 0x9248, 0x4924, 0x2890, 0x9249, 0x4804, 0x6082, 0x1249,
+0x4A24, 0x2092, 0x9241, 0x5924, 0x2492, 0x2489, 0xFE49, 0x5920, 0xA092,
+0x92C9, 0x110C, 0x0492, 0x9241, 0x0824, 0x2492, 0x9043, 0x4924, 0x2492,
+0x2409, 0x9249, 0x0928, 0x20B2, 0x924D, 0x4904, 0x2C9A, 0x9268, 0x4824,
+0x24D6, 0x9241, 0x092C, 0x2492, 0x2419, 0x92C9, 0x0960, 0x2092, 0x92C9,
+0x4914, 0x6496, 0x9249, 0x4824, 0x2492, 0x8241, 0x5920, 0x0490, 0x2409,
+0x9249, 0x4924, 0x2892, 0x9249, 0x4104, 0x6492, 0x9249, 0x4A24, 0x2492,
+0x9241, 0x5924, 0x2492, 0x2489, 0xB649, 0x4924, 0x2092, 0x92C9, 0x490C,
+0x2492, 0x9209, 0x4824, 0x2692, 0x9241, 0x4924, 0x2492, 0x2429, 0x9049,
+0x4924, 0x2090, 0x1249, 0x4904, 0x2492, 0x9249, 0x4824, 0x0092, 0x8241,
+0x492C, 0x2492, 0x0409, 0x92C9, 0x0904, 0x2892, 0x92C9, 0x0914, 0x2492,
+0x1248, 0x4A24, 0x2490, 0x9241, 0x5924, 0x2492, 0x0008, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x020A, 0x0000, 0x0000, 0x0000, 0x0000, 0xE610, 0xB6D9, 0x01F5, 0x0000,
+0xB6D0, 0x526D, 0x2800, 0xB46C, 0x4F6D, 0x0007, 0x9001, 0xDB6D, 0x1066,
+0xE308, 0xD7D9, 0x41F7, 0x2062, 0xB7C9, 0x136C, 0xBCC0, 0xA4A4, 0x4D3C,
+0x0C63, 0x82C1, 0xDAEC, 0x4436, 0xC400, 0xFEC8, 0x017F, 0x2692, 0xB6C1,
+0x1E67, 0x9610, 0xBC44, 0x8905, 0xC093, 0x8100, 0xDD6D, 0x4B22, 0x0492,
+0xB6D8, 0x437D, 0x0F90, 0xF6D1, 0x5E65, 0x0420, 0xB40C, 0x8B69, 0x302E,
+0x91C0, 0xDF2D, 0xB672, 0x2D2D, 0x9048, 0xBA2C, 0xD965, 0x9246, 0x0024,
+0xC36D, 0x90D2, 0xD900, 0xDB6A, 0x9DB6, 0x0934, 0xA602, 0x3825, 0x2A00,
+0xD328, 0x5B05, 0x0042, 0x0001, 0x452D, 0x8012, 0xDB41, 0xD102, 0x4416,
+0x0805, 0x9200, 0x1F25, 0x1270, 0xB200, 0x49EC, 0x0143, 0x2808, 0x4965,
+0x80F2, 0x1BC8, 0x1920, 0x0492, 0x6224, 0xB40F, 0xDF6C, 0x1000, 0xB924,
+0x5034, 0x9247, 0x880C, 0xC904, 0x10B2, 0x1922, 0x4B02, 0x1C32, 0x4056,
+0x5B14, 0x8B86, 0x0927, 0xD042, 0x2CBE, 0x4939, 0xAC92, 0x64B6, 0x48BA,
+0x0012, 0x6DB8, 0x6248, 0x2092, 0x0189, 0x0008, 0x1C25, 0x3001, 0x0450,
+0x4009, 0x023A, 0x6212, 0x4820, 0x2000, 0x01D0, 0xC000, 0x200A, 0x8100,
+0x2004, 0x20A5, 0x1080, 0x1212, 0x0586, 0x2000, 0x9280, 0x0009, 0x2487,
+0x2C00, 0x08D8, 0xB0D8, 0x0109, 0x6113, 0x2003, 0x00C0, 0x2400, 0x083A,
+0x2080, 0x2490, 0x4CCB, 0x068B, 0x0589, 0x4718, 0x3212, 0x0008, 0x2200,
+0x4927, 0x0ADB, 0x0008, 0x4920, 0xA49A, 0x0000, 0x4940, 0xB0D2, 0x1001,
+0x5000, 0x2492, 0x0089, 0xA220, 0x2A2D, 0x2289, 0x8240, 0x6900, 0x3493,
+0x9648, 0x4804, 0xF2DB, 0x1800, 0x4000, 0xA41B, 0x262D, 0x0008, 0x0135,
+0x2291, 0x0001, 0x4900, 0x36DA, 0x0000, 0x6040, 0x36DA, 0x5001, 0x4000,
+0xB29B, 0x042D, 0x0440, 0x4D27, 0x0092, 0x0A10, 0x5D21, 0x269B, 0x0041,
+0x6900, 0x34DA, 0x4001, 0x5080, 0x3BD3, 0x7F0D, 0x5DEF, 0x2490, 0xF100,
+0xBF67, 0x249D, 0x1241, 0xDFFF, 0x2693, 0x0609, 0xEBF0, 0x39EE, 0x9249,
+0xF524, 0x5DD1, 0x45D0, 0xD052, 0x1409, 0x0484, 0x0248, 0x4931, 0x24D3,
+0x0400, 0xA321, 0x09A6, 0x12C0, 0x9100, 0x36D7, 0x6C80, 0x104A, 0x92CC,
+0x2487, 0x0001, 0xD3EB, 0x0C2B, 0x8005, 0x2F40, 0x08B5, 0x0440, 0x2200,
+0xFB0D, 0x2090, 0xB249, 0xB16D, 0x209E, 0x1040, 0xDA3C, 0x94E3, 0x8201,
+0x8360, 0x1E3F, 0x8408, 0x0020, 0x1050, 0xEDB4, 0x0003, 0x4200, 0x6D82,
+0x76DB, 0x1000, 0x6C05, 0x22DB, 0x0004, 0x5401, 0xB6DB, 0x48AD, 0x86D2,
+0x08B5, 0x0040, 0xA08A, 0x6C86, 0x34D2, 0x90C4, 0xEC4D, 0x208A, 0x6602,
+0x4B69, 0xB652, 0x6C2D, 0x80DA, 0x0524, 0x40C9, 0xE401, 0x6908, 0x32D1,
+0x2C1A, 0x6414, 0xA492, 0x82D0, 0x4725, 0x2093, 0x4839, 0x0080, 0x4DB4,
+0x428B, 0xC2CB, 0x2DC0, 0x72D3, 0x134B, 0x6814, 0xA5D6, 0xB055, 0x5045,
+0xA09B, 0x0029, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0200, 0x0000, 0x0000, 0x0404, 0x0000, 0x8000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0011, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0xA000, 0x0000, 0x0000, 0x2000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0080, 0x0200, 0x0000,
+0x0000, 0x2000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x1001, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x1020, 0x0000, 0x0000, 0x0901, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x2000, 0x0080, 0x0001, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0A00,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0404, 0x0001, 0x0000, 0x0000, 0x1008,
+0x0040, 0x0000, 0x0241, 0x0800, 0x0000, 0x1040, 0x0080, 0x0000, 0x0400,
+0x0040, 0x0000, 0x2000, 0x0008, 0x0000, 0x2000, 0x0041, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x2008, 0x0200, 0x0090, 0x0408,
+0x0000, 0x0000, 0x0041, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x9080,
+0x0000, 0x8000, 0x0400, 0x0401, 0x0000, 0x0000, 0x1008, 0x0000, 0x0000,
+0x0241, 0x0000, 0x0004, 0x1040, 0x0100, 0x0000, 0x0C00, 0x0050, 0x0000,
+0x2000, 0x0008, 0x1000, 0x2000, 0x0041, 0x1040, 0x4000, 0x0040, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0488, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0004, 0x0000, 0x4400, 0x0000, 0x0090, 0x0008, 0x0040, 0x0000,
+0x0043, 0x0000, 0x6000, 0x0000, 0x0000, 0x0020, 0x9000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0600,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x4000, 0x0000, 0x0C00, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x2100, 0x0000, 0x1000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0140, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0008, 0x0400, 0x0250, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0001, 0x8000, 0x0080, 0x0200, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x2000, 0x0041,
+0x0000, 0x0400, 0x0200, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0080,
+0x0008, 0x0000, 0x0080, 0x0226, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0220, 0x0000, 0x0008, 0x0401, 0x0640, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0101, 0x0001,
+0x8000, 0x0080, 0x0200, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x2000, 0x0041, 0x0000, 0x0400,
+0x0200, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0081, 0x0408, 0x0000,
+0x0080, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0800, 0x0002, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0200, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0011, 0x0000, 0x8000, 0x7400, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x1008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0201, 0x0008, 0x0000, 0x1000, 0x0000, 0x0008, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0001, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0100, 0x0000, 0x0000,
+0x0040, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1002, 0x1000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0040, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0800, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x800C, 0x0000, 0x0000, 0x0000, 0x0000, 0x2020, 0x4041, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0042, 0x4000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0020, 0x2000, 0x0100, 0x0000, 0x0020, 0x0200, 0x0001,
+0x0100, 0x2040, 0x0001, 0x0000, 0x0000, 0x0004, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0044, 0x0000, 0x0080, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0220, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0100, 0x0000, 0x0040, 0x0000, 0x0000, 0x5000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x8000, 0x0000, 0x0002, 0x0004, 0x0000, 0x0000,
+0x1001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x8000, 0x0030, 0x0000, 0x0010, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0210, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0002, 0x0000, 0x0100, 0x0000, 0x0000,
+0x4040, 0x0020, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x8000, 0x0020, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0900, 0x0080, 0x0010, 0x0000, 0x0200, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0180, 0x0004, 0x0000, 0x0102, 0x0000,
+0x0000, 0x0010, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0808, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0010, 0x0010, 0x0001, 0xC000, 0x0000,
+0x1001, 0x8000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0020, 0x0040, 0x0000,
+0x0000, 0x4400, 0x0020, 0x2120, 0x0600, 0x0000, 0x0808, 0x0C00, 0x0000,
+0x0000, 0x0000, 0x0004, 0x1000, 0x00A0, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0480, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0010,
+0x0800, 0x4000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x4000, 0x0000, 0x0201, 0x8000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0020, 0x2000, 0x0400, 0x0000, 0x0800, 0x0800, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090,
+0x0000, 0x0000, 0x0008, 0x4000, 0x2000, 0x9000, 0x0002, 0x0000, 0x0401,
+0x1000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0004, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4800, 0x0002, 0x0000, 0x1020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0400, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x4000, 0x2000, 0x0000, 0x0000,
+0x0004, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x8000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2001, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0001, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x000A, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0030, 0x0000, 0x0000,
+0x0000, 0x2002, 0x0000, 0x0010, 0x0800, 0x0001, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0010, 0x8000,
+0x8040, 0x0000, 0x0000, 0x8083, 0x0000, 0x0000, 0x0080, 0x0100, 0x0000,
+0x0400, 0x0000, 0x4000, 0x0000, 0x1028, 0x0004, 0x0000, 0x0401, 0x0400,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0800, 0x8000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0400, 0x0000, 0x0008, 0x0000, 0x0010, 0x0001, 0x0000, 0x2000,
+0x0000, 0x0000, 0x4004, 0x0000, 0x0200, 0x0100, 0x0000, 0x1200, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0041, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0500, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x1000, 0x4000,
+0x1001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0802, 0x0000, 0x0000,
+0x0010, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x04A0, 0x3001, 0x0000,
+0x0100, 0x0000, 0x0000, 0x4000, 0x0600, 0x0040, 0x0000, 0x0002, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x0208, 0x4924, 0x2892, 0x9049, 0x4902, 0x6492, 0x020B,
+0x4A24, 0x2482, 0x8241, 0x5920, 0x2490, 0x2489, 0x8618, 0x4925, 0x0090,
+0x1841, 0x4904, 0x2492, 0x8221, 0x402D, 0x2492, 0x8201, 0x4924, 0x2492,
+0x2508, 0x92D9, 0x4924, 0x2010, 0x8200, 0x4905, 0x2592, 0x1248, 0x4824,
+0x2492, 0x1251, 0x4B20, 0x2892, 0x0119, 0x904D, 0x4924, 0x0492, 0x0219,
+0x4914, 0x6492, 0x9241, 0x4A24, 0x24D6, 0x1251, 0x5900, 0x2492, 0x0409,
+0x8249, 0x4925, 0x2812, 0x9049, 0x6904, 0x6490, 0x920B, 0x4224, 0x2482,
+0x9041, 0x1924, 0x2492, 0x0489, 0x9650, 0x0124, 0x0082, 0x0248, 0x4904,
+0x2492, 0x9248, 0x482D, 0x0082, 0x9240, 0x0124, 0x2492, 0x2508, 0x92D9,
+0x0921, 0x2090, 0x9249, 0x4905, 0x2092, 0x1248, 0x4824, 0x2492, 0x8251,
+0x0324, 0x0492, 0x0521, 0x9049, 0x4121, 0x0092, 0x9259, 0x0914, 0x2492,
+0x9249, 0x4A24, 0x2412, 0x9251, 0x1924, 0x2492, 0x0009, 0x0020, 0x0001,
+0x0400, 0x0880, 0x0000, 0x0000, 0x0800, 0x0000, 0x8000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0011, 0x0000, 0x0000, 0x0400, 0x0000, 0x0400,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0100, 0x0001, 0x0000,
+0x4800, 0x0000, 0x0000, 0x8020, 0x0000, 0x0000, 0x0100, 0x0082, 0x0000,
+0x0000, 0x0002, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x2800, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0001, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0000,
+0x0802, 0x0000, 0x0000, 0x0100, 0x0010, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0200, 0x0000, 0x0000, 0x0800,
+0x0044, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0400, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x000A, 0x0000, 0x0400, 0x1000, 0x0000, 0x0090, 0x8048,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0200, 0x4100, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0800, 0x0000, 0x0004, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x1000, 0x0000, 0x0010, 0x0000, 0x0100,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0400, 0x0000, 0x0000, 0x0090, 0x0048, 0x0000, 0x0100,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0008, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0240, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x8800, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0498, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x8000,
+0x0000, 0x0010, 0x0400, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x2400, 0x8249, 0x4924, 0x2892, 0x9249, 0x4904,
+0x6492, 0xC259, 0x4A04, 0x0090, 0x9241, 0x4925, 0x2492, 0xA589, 0x9249,
+0x4924, 0x0012, 0x9349, 0x4904, 0x2492, 0x92D1, 0x4824, 0x2492, 0x8240,
+0x4924, 0x2492, 0x2009, 0x92C9, 0x0924, 0x0192, 0x9259, 0x4B04, 0x2400,
+0x9A49, 0x5024, 0x2492, 0x9243, 0x0824, 0x2492, 0x2409, 0x9249, 0x0920,
+0x2892, 0x9249, 0x4904, 0x6492, 0x8249, 0x4825, 0x2492, 0x9251, 0x5924,
+0x2492, 0x2409, 0x9269, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x9259,
+0x4A24, 0x2492, 0x1261, 0x5925, 0x2492, 0x2589, 0x9249, 0x4924, 0x2092,
+0x9241, 0x4904, 0x2092, 0xD299, 0x4824, 0x2412, 0x9241, 0x4924, 0x2492,
+0x2409, 0x9BC9, 0x4904, 0x2092, 0xD259, 0x0900, 0x2482, 0x0248, 0x4826,
+0x2492, 0x1001, 0x4880, 0x2492, 0x3408, 0x9249, 0x49A4, 0xA802, 0x9249,
+0x4804, 0x6492, 0x9049, 0x4A25, 0x2492, 0x9251, 0x5824, 0x2482, 0x0001,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0C00, 0x2004, 0xBEC8,
+0x03ED, 0x2200, 0xB6D1, 0x5765, 0x6280, 0xBC2A, 0x1B65, 0x2806, 0x9500,
+0xDF6D, 0x4972, 0xA4D0, 0xB6F9, 0x016C, 0x1406, 0xB4C0, 0x1B2D, 0x00B8,
+0x944A, 0xDBED, 0x4C23, 0x8200, 0xFB6D, 0x8026, 0x1400, 0xB7F8, 0x0311,
+0xB2C0, 0xF7C0, 0x1CA4, 0x2C4A, 0x948D, 0xE36C, 0x5472, 0x8378, 0x7DAC,
+0x4931, 0x1000, 0xAEBD, 0x03AD, 0x5155, 0xB890, 0x5B3E, 0x2299, 0x9028,
+0x7B65, 0xEBA6, 0x9245, 0xE9E7, 0xB274, 0xEB28, 0x1358, 0xB824, 0xD92D,
+0x0243, 0x012C, 0x9925, 0x9094, 0x882C, 0xD368, 0x9896, 0x4924, 0x9A0E,
+0x4924, 0x8208, 0xB201, 0xCB20, 0x8146, 0x0564, 0x4B44, 0x28F0, 0x0114,
+0x9302, 0x0CB2, 0x0026, 0x3202, 0xCF65, 0x4800, 0xB0C0, 0x6924, 0x0806,
+0x0279, 0xC125, 0x201A, 0x1001, 0x8900, 0x8CCA, 0x8063, 0xBF04, 0xCB24,
+0xC200, 0xB972, 0x0828, 0x1402, 0x0041, 0x4924, 0x249A, 0x8808, 0x30CA,
+0x1DB2, 0x1A28, 0x9B10, 0x0D90, 0x4507, 0xD052, 0x6B92, 0x4934, 0xA013,
+0x0DF4, 0x4029, 0x0410, 0x6599, 0x6258, 0x2012, 0x4389, 0x8272, 0x0881,
+0x404C, 0x0030, 0x4109, 0x3482, 0x019A, 0x0C80, 0x9651, 0x0090, 0x4041,
+0x0C8A, 0x0101, 0x0090, 0x6815, 0x008B, 0x0802, 0x2880, 0x3010, 0x10D0,
+0x4020, 0x0002, 0x0A01, 0x0000, 0x0202, 0xC000, 0x0090, 0x4083, 0x4013,
+0x2000, 0x0338, 0xB480, 0x3480, 0x08C2, 0x0411, 0x0409, 0x4601, 0x0050,
+0x0000, 0xA000, 0x4537, 0x08D3, 0x0000, 0x4924, 0xA49B, 0x0240, 0x6100,
+0xA49B, 0x0001, 0x5004, 0xA092, 0x088D, 0x1004, 0x4DA5, 0x0293, 0x1004,
+0x6940, 0x25D2, 0x8060, 0x6C44, 0x2C52, 0x0201, 0x4000, 0x1492, 0xA20D,
+0x8248, 0x4815, 0x00D2, 0x2248, 0x0C04, 0x22DB, 0x0009, 0x6800, 0xB4DB,
+0xD041, 0x4100, 0xB05F, 0x050D, 0x0000, 0x4527, 0x2853, 0x1000, 0x4520,
+0xB6C9, 0x1300, 0x6D28, 0xB49F, 0xC301, 0xD104, 0x169E, 0xB709, 0x1FDF,
+0x2880, 0xF308, 0xDBDB, 0x2491, 0x1240, 0xDD3F, 0x0E87, 0x1A40, 0xDFD2,
+0x3CFB, 0x1649, 0xA620, 0x4A6B, 0x2050, 0x3048, 0xCB79, 0x048E, 0x1229,
+0x7B01, 0x10A2, 0x9289, 0x9950, 0x09BD, 0xA249, 0x4C20, 0x4481, 0x25A0,
+0x7209, 0x0811, 0x6181, 0x1400, 0x9AC0, 0x04A8, 0x0300, 0x2B22, 0x0C5F,
+0x0680, 0xAA30, 0xEA6B, 0x2890, 0x0288, 0xA68E, 0x289C, 0x0012, 0x8044,
+0x02D6, 0x0240, 0x3CE0, 0x1C3A, 0xA041, 0x4424, 0x1043, 0x61A5, 0x021B,
+0x0440, 0x6D8A, 0x72D2, 0x220A, 0x6450, 0x36D3, 0x0005, 0x5121, 0xB2DB,
+0x24A9, 0x3489, 0x6D15, 0x8092, 0x34CB, 0x6D80, 0x269B, 0xB401, 0x480D,
+0x2C1A, 0x2440, 0x470C, 0x96D3, 0x4C3F, 0x3B0A, 0x4E84, 0x4282, 0xD6D9,
+0x0C09, 0x2012, 0x260A, 0x4C47, 0x86DA, 0xB4D1, 0x43A5, 0x101A, 0x1028,
+0x344F, 0x6550, 0x921A, 0x96D3, 0x6185, 0x6688, 0x825B, 0x4825, 0x16D2,
+0x8215, 0x50CC, 0x8C11, 0x002F, 0x0000, 0x0080, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0001, 0x0400,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0200, 0x0002, 0x0480, 0x0080,
+0x0080, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000, 0x0008, 0x0800, 0x4000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x8040, 0x0000, 0x0002,
+0x0010, 0x0804, 0x1010, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8040, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0080, 0x2008, 0x0000, 0x0080, 0x0202, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0141, 0x0000, 0x0000,
+0x0048, 0x0000, 0x0400, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2401, 0x0000, 0x0000, 0x0000, 0x0002, 0x8000,
+0x0000, 0x0200, 0x0004, 0x0000, 0x0800, 0x0440, 0x0000, 0x0000, 0x2200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0200, 0x0080,
+0x0008, 0x0000, 0x4080, 0x0200, 0x0040, 0x0000, 0x0401, 0x0000, 0x0000,
+0x0000, 0x0001, 0x1000, 0x0000, 0x0041, 0x0000, 0x0004, 0x0048, 0x0009,
+0x0400, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x2500, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0004, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0004,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0410, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0880, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0040, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0040, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x2000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x1200, 0x0000, 0x0048, 0x0000, 0x0000, 0x0008, 0x0001, 0x0000,
+0x0040, 0x0000, 0x0000, 0x1000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1800, 0x0000, 0x2000, 0x0000, 0x0100, 0x4024, 0xA000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x1200, 0x0000, 0x0000, 0x2000, 0x0000, 0x0181, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x1200,
+0x0001, 0x0048, 0x0000, 0x0000, 0x0008, 0x0001, 0x0000, 0x0040, 0x0000,
+0x0000, 0x1000, 0x0004, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0024, 0x8000, 0x0000, 0x0000, 0x0001,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x1200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0800, 0x0001, 0x0000, 0x4000, 0x0000, 0x0000, 0x0800, 0x0002,
+0x0000, 0x0100, 0x0000, 0x4001, 0x0004, 0x0004, 0x0008, 0x8500, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0100, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x1200, 0x0001, 0x0008, 0x0010, 0x0800,
+0x0008, 0x0001, 0x0000, 0x0008, 0x0000, 0x0100, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0004, 0x0000, 0x0800,
+0x0010, 0x0000, 0x1210, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x1001, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0086, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0400,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0080, 0x0004, 0x0000, 0x0000,
+0x0084, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0C00, 0x0020, 0x0000, 0x0000, 0x2000,
+0x0140, 0x0000, 0x0100, 0x0000, 0x0000, 0x0001, 0x4000, 0x0020, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x1001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1200,
+0x0002, 0x0000, 0x0000, 0x2000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0002, 0x0000, 0x1300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0001, 0x4020, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0020, 0x0200, 0x0102, 0x0000, 0x0001, 0x0400,
+0x0004, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x1210, 0x0000, 0x6008,
+0x8000, 0x2000, 0x2000, 0x0000, 0x0000, 0x1000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0120, 0x0000, 0x1000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x4120, 0x0000, 0x2000, 0x0040, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x8000, 0x0100, 0x0000, 0x1800, 0x8020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0800, 0x2200, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0200, 0x0002, 0x0000, 0x0000, 0x0A20,
+0x0200, 0x0000, 0x0010, 0x2880, 0x1000, 0x0000, 0x0601, 0x8000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x4000, 0x0C20, 0x0800, 0x0000,
+0x4000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x8002, 0x2000, 0x0800, 0x0040, 0x0024, 0x0000, 0x0000, 0x0000,
+0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0092, 0x4400,
+0x0004, 0x0180, 0x8000, 0x8500, 0x0800, 0x0000, 0x4000, 0x2400, 0x0000,
+0x0020, 0x0030, 0x0000, 0x0000, 0x0000, 0x0004, 0x0240, 0x0000, 0x2000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0900, 0x0106, 0x0000, 0x8000, 0x4000, 0x0090, 0x0000,
+0x0080, 0x0000, 0x0040, 0x0024, 0x0440, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0004, 0x0080,
+0x8000, 0x0100, 0x1000, 0x0000, 0x4000, 0xA400, 0x0000, 0x0020, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0A40, 0x0000, 0x2000, 0x0004, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0900, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0004,
+0x0000, 0x0100, 0x0000, 0x0024, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0004, 0x0000,
+0x0000, 0x0020, 0x0000, 0x1000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0204, 0x0104, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x8200, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x1000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x2800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0200, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0804, 0x0050, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0104,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4030, 0x0000, 0x0001, 0x0200, 0x0002,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0001, 0x0008, 0x2000, 0x0300, 0x2000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0081, 0x0000, 0x0C00, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0120, 0x4000, 0x0008, 0x0000, 0x0002, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x1001, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x1000, 0x0000, 0x0001, 0x0004, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x5000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x8C00, 0x0000, 0x0200, 0x0000, 0x0040, 0x0000, 0x2000, 0x0005,
+0x0000, 0x0020, 0x0000, 0x0009, 0x0400, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x0048, 0x0000, 0x0100, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0020, 0x0000, 0x0010, 0x8000, 0x0028, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0080, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0800, 0x0080, 0x1400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0010, 0x8200, 0x4400, 0x8249, 0x6924, 0x2892, 0x1249, 0x490C,
+0x4492, 0x9249, 0x0A24, 0x6492, 0x9241, 0x5824, 0x2492, 0x0489, 0x8449,
+0x4920, 0x0092, 0x1049, 0x4904, 0x2092, 0xA209, 0x5C24, 0x0092, 0x9241,
+0x4820, 0x2412, 0x2419, 0x8219, 0x4124, 0x6092, 0x8049, 0x5900, 0x0C02,
+0x9240, 0x0824, 0x2492, 0x9341, 0x4904, 0x2492, 0x2409, 0x9249, 0x4924,
+0x2896, 0x9250, 0x8104, 0x6492, 0x9248, 0xCA24, 0x2492, 0x1241, 0x5824,
+0x6492, 0x6409, 0x9249, 0x4801, 0x2892, 0x9241, 0x490C, 0x4492, 0x9249,
+0x4A04, 0xB492, 0x9241, 0x5924, 0x2492, 0x2409, 0x9649, 0x4921, 0x2002,
+0x9249, 0x4804, 0x2492, 0xB249, 0x0824, 0x0012, 0x8241, 0x4924, 0x2482,
+0x2409, 0x1219, 0x0925, 0x6092, 0x1249, 0x4800, 0x0492, 0x9049, 0x4824,
+0x2492, 0x8241, 0x4920, 0x2492, 0x0401, 0x9249, 0x4925, 0x2892, 0x9251,
+0x0004, 0x6691, 0x1049, 0x4A24, 0x2492, 0x1201, 0x5920, 0x2412, 0x0009,
+0x0000, 0x0001, 0x0400, 0x4000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x2004, 0x0001, 0x0000, 0x4904, 0x0002,
+0x0000, 0x0014, 0x0000, 0x0008, 0x4400, 0x0410, 0x0000, 0x0000, 0x0020,
+0x0001, 0x0000, 0x0920, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0600, 0x0000, 0x0000, 0x0020, 0x0001, 0x0400, 0x4000, 0x0000, 0x0000,
+0x0100, 0x0010, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0400, 0x0000, 0x0002,
+0x0000, 0x2000, 0x0100, 0x4004, 0x0000, 0x0000, 0x0000, 0x0800, 0x2000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0080,
+0x1008, 0x0000, 0x0040, 0x4000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0800, 0x0000, 0x2000, 0x8000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x4002, 0x0000, 0x0004, 0x0410, 0x8000,
+0x0000, 0x2000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0800, 0x8000, 0x0082,
+0x8000, 0x4400, 0x0480, 0x1000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x2000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0410, 0x0000, 0x0000, 0x2000,
+0x0040, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000, 0x4000,
+0x0480, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0020, 0x0002, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000,
+0x0024, 0x0000, 0x8001, 0x0004, 0x0000, 0x0002, 0x010C, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0104, 0x0000, 0x1400, 0x0020, 0x0002,
+0x0000, 0x4820, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0402, 0x2000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0400, 0x0100, 0x0000, 0x0000, 0x5020, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x2400, 0x1249, 0xC024, 0x2892,
+0x9249, 0x4900, 0x6492, 0x8241, 0x4A24, 0x2092, 0xD641, 0xD124, 0x0492,
+0x0489, 0x9249, 0x0820, 0x2092, 0x9259, 0x4104, 0x2492, 0x9209, 0x0824,
+0x2492, 0x9040, 0x4924, 0x2492, 0x2421, 0x9249, 0x4920, 0x2090, 0x9249,
+0x4804, 0x24D2, 0x9249, 0x4024, 0x2482, 0x9241, 0x43D4, 0x2412, 0x2401,
+0x924B, 0x4924, 0x2892, 0x8249, 0x4904, 0x6492, 0x9359, 0x4A24, 0x2492,
+0x9641, 0x1920, 0x0412, 0x2409, 0x9A01, 0x4924, 0xA892, 0x9248, 0x4906,
+0x6092, 0x9249, 0x4A24, 0x2492, 0x9741, 0x59A4, 0x2492, 0xA489, 0x9349,
+0x4924, 0x3090, 0x9A39, 0x4904, 0x2482, 0x9249, 0x4802, 0x2492, 0xD341,
+0x4922, 0x2493, 0x2409, 0x5249, 0x4824, 0x2092, 0x9009, 0x4804, 0x04D0,
+0x8241, 0x4824, 0x2492, 0x1241, 0x4B60, 0x2482, 0xA609, 0x9243, 0x4924,
+0x2892, 0x9249, 0x4806, 0x6492, 0x925D, 0x4A24, 0x2492, 0x9441, 0x5924,
+0x2492, 0x0009, 0x0008, 0x0000, 0x0400, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0100, 0x2008, 0x0000, 0x0000,
+0x0200, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xA000,
+0x3000, 0xB679, 0x038D, 0x8010, 0xB6D0, 0x516D, 0x2188, 0xD4A8, 0x7B6D,
+0x0096, 0x9643, 0xDB6D, 0x6175, 0x0068, 0x9E5C, 0x836E, 0x341A, 0x968A,
+0x1BAD, 0xAEB5, 0xF080, 0xD1F5, 0x0022, 0x8020, 0x7279, 0x6136, 0x2592,
+0x9458, 0x025D, 0xA98E, 0x96CC, 0x08EF, 0x2430, 0xF485, 0xC14D, 0xE412,
+0x8279, 0x5971, 0x193F, 0x2D38, 0x86F0, 0x63ED, 0x01C8, 0x9550, 0x536C,
+0x25B8, 0x8470, 0x5B7D, 0x217E, 0xD00B, 0xDAFC, 0x1676, 0xEB2C, 0x90C8,
+0x9944, 0x596C, 0x8042, 0x2324, 0xDA65, 0xB01E, 0xC924, 0xCB68, 0x91F4,
+0x4820, 0x9700, 0xC904, 0x3088, 0x3001, 0x6964, 0x3100, 0x0040, 0x7518,
+0x8412, 0x470C, 0xC902, 0x0592, 0x8422, 0x9619, 0xCC6C, 0x8088, 0x9000,
+0x60E0, 0x6242, 0x1A14, 0xCB1C, 0x1012, 0x7002, 0x0F60, 0x8FC2, 0x8202,
+0x8E00, 0x7244, 0xA100, 0xD802, 0xC825, 0x2086, 0x8105, 0x4E05, 0x2082,
+0x8920, 0x6812, 0x1DB4, 0x2025, 0x6110, 0x0596, 0x4D07, 0x5013, 0x6DB2,
+0x0939, 0xB49A, 0x6CA6, 0x0873, 0x0410, 0x20B9, 0x2218, 0x20D0, 0x2A80,
+0x320C, 0x4021, 0x40D0, 0x0201, 0x0109, 0x0402, 0x0103, 0x0855, 0x3400,
+0x2891, 0x4641, 0x148A, 0x0829, 0x2001, 0x2021, 0xC009, 0x0400, 0x4189,
+0x0451, 0x0086, 0x0818, 0xA20B, 0x0021, 0x0005, 0x000A, 0x0020, 0x0412,
+0x1D03, 0x0003, 0x3480, 0x4838, 0x24D0, 0xE000, 0x0C82, 0x3440, 0x0088,
+0x0001, 0x0A02, 0x2009, 0x0008, 0x4D87, 0x08D3, 0x0008, 0x4DA0, 0xB69A,
+0x0000, 0x2900, 0xA492, 0x0001, 0x5000, 0x24D2, 0x0189, 0x0000, 0x65A5,
+0x0099, 0x3009, 0x6902, 0x3EDA, 0xB408, 0x4C00, 0x269B, 0x0001, 0x4004,
+0x84CA, 0x0029, 0x830C, 0x4DA5, 0x00D2, 0x1004, 0x6D80, 0x369A, 0x8240,
+0x4CA0, 0x34D2, 0x0203, 0x4A12, 0xB6D2, 0x0009, 0x3000, 0x6DA7, 0x4292,
+0x1001, 0xF9A4, 0x249B, 0x0121, 0x6900, 0xB6D2, 0x0011, 0x5002, 0x2683,
+0x9F0B, 0xE7F7, 0x2078, 0x7308, 0x7FE7, 0x2015, 0x0041, 0xDB7F, 0x461F,
+0x1249, 0xFA60, 0x3D7E, 0x9209, 0x0634, 0x9287, 0x0810, 0xA242, 0xC344,
+0x0485, 0x0005, 0x4B70, 0x20F4, 0x9040, 0xBE72, 0x8D88, 0x3211, 0x0E04,
+0x1461, 0x3058, 0xF209, 0x2BE1, 0x0043, 0x0041, 0x103F, 0x2010, 0x820D,
+0x5460, 0x0544, 0x0009, 0x3C24, 0xCA61, 0x0050, 0x1069, 0xE728, 0x0458,
+0x1240, 0xDE40, 0x0496, 0x0009, 0xBF20, 0x1DB4, 0x9058, 0x0824, 0x1841,
+0x6915, 0x223A, 0x8201, 0x6D86, 0x64D3, 0x0018, 0x0C00, 0x16DB, 0x1405,
+0x5881, 0xB69B, 0x40AE, 0x04D3, 0x4530, 0x1298, 0x949A, 0x4D84, 0x361B,
+0x82C0, 0x282A, 0xAC63, 0x5741, 0x482E, 0x06C3, 0xE10D, 0x5A9A, 0x4D34,
+0x22C2, 0xD21B, 0x4D04, 0x2418, 0xBC41, 0x2C67, 0x25D2, 0xB391, 0x4028,
+0x34E3, 0x6304, 0x808D, 0x4995, 0xA25A, 0x025A, 0x4C03, 0x769A, 0x10DE,
+0xC86D, 0x268B, 0xD645, 0x1248, 0xB44A, 0x002D, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0410, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0400, 0x0000, 0x1000, 0x0001,
+0x0000, 0x0040, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0001, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x4100, 0x0002, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x2000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0812, 0x0000, 0x0404, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0080, 0x8020, 0x0000, 0x2400, 0x0000, 0x0000, 0x0000,
+0x0201, 0x0004, 0x0000, 0x0000, 0x0100, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x1008, 0x0000, 0x0000, 0x1200, 0x0002, 0x0000, 0x0000, 0x0026,
+0x0010, 0x8000, 0x0004, 0x0004, 0x0000, 0x8104, 0x0030, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0108, 0x0000, 0x0000, 0x0060, 0x0483, 0x0000,
+0x4822, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0018, 0x0200, 0x0000, 0x1000, 0x0018,
+0x0400, 0x1240, 0x8200, 0x0810, 0x0208, 0x1022, 0x0000, 0x0000, 0x4000,
+0x0000, 0x2004, 0x0011, 0x0000, 0x0820, 0x8000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0440, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0020, 0x0002, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0008, 0x0000, 0x0000, 0x1000, 0x0001, 0x0400, 0x1240,
+0x0000, 0x0000, 0x0208, 0x0020, 0x0000, 0x0004, 0x0000, 0x0008, 0x2000,
+0x0001, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0400, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x2000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0084, 0x0402,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x000C, 0x0000,
+0x0800, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x4000,
+0x0000, 0x1040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0120,
+0x0002, 0x0000, 0x0020, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0040,
+0x0020, 0x0000, 0x8000, 0x0020, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x2000, 0x0400, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0009, 0x0004, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x000A,
+0x0000, 0x2400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0410, 0x0000, 0x1040, 0x0000, 0x2002, 0x0200, 0x0000, 0x0000,
+0x0200, 0x0020, 0x0000, 0x0080, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0001, 0x8240, 0x0000, 0x0000, 0x0401, 0x0400,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0019,
+0x0004, 0x0000, 0x0001, 0x0040, 0x0000, 0x0000, 0x0008, 0x0000, 0x2400,
+0x2004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0041, 0x0000, 0x0000,
+0x0000, 0x10C0, 0x0000, 0x2000, 0x0200, 0x0000, 0x0000, 0x0200, 0x0020,
+0x0000, 0x0081, 0x0400, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8240, 0x0000, 0x4000, 0x0141, 0x0400, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0800, 0x0200, 0x0000,
+0x0001, 0x0100, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1001, 0x0041, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0001,
+0x0400, 0x0002, 0x8000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0100, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0020, 0x8001, 0x0000, 0x0000, 0x0000, 0x0010, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0200, 0x0000, 0x4000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x3000, 0x0200, 0x4000, 0x8000, 0x0000, 0x0404, 0x0000, 0x8000, 0x0081,
+0x0400, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8002, 0x0000,
+0x0000, 0x4000, 0x8000, 0x2041, 0x8000, 0x0000, 0x1000, 0x0000, 0x0820,
+0x0000, 0x0100, 0x8002, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001, 0x0000,
+0x0100, 0x1002, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4100,
+0x0000, 0x0000, 0x0001, 0x0400, 0x4000, 0x0040, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x8000, 0x0001, 0x0400, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x4000, 0x0000, 0x4011,
+0x0200, 0x0001, 0x0020, 0x0000, 0x0000, 0x0840, 0x0000, 0x8000, 0x8000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0201, 0x0100, 0x0000, 0x0000, 0x0010, 0x0000, 0x0100,
+0x0000, 0x0100, 0x0000, 0x0004, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0080, 0x0400, 0x4000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0100, 0x0000, 0x1000, 0x0010, 0x0820, 0x0000,
+0x0A00, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0080, 0x0000,
+0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0800, 0x4008, 0x8000, 0x0000,
+0x0000, 0x8000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0820, 0x0010, 0x0000,
+0x0001, 0x0800, 0x0000, 0x0400, 0x0000, 0x0200, 0x0000, 0x0080, 0x0000,
+0x0002, 0x0000, 0xA000, 0x0000, 0x0010, 0x0000, 0x0020, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0180, 0x0022, 0x0000, 0x0000,
+0x0200, 0x0000, 0x4000, 0x0008, 0x0000, 0x1000, 0x0000, 0x4200, 0x0000,
+0x8000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8020,
+0x0000, 0x0400, 0x0000, 0x1200, 0x0000, 0x0100, 0x0000, 0x0800, 0x0000,
+0x4000, 0x0000, 0x0001, 0x0200, 0x0000, 0x0000, 0x0004, 0x0000, 0x0008,
+0xC000, 0x0000, 0x0000, 0x0000, 0x0022, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0200, 0x0300, 0x0000, 0x1004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x0000,
+0x4008, 0x0400, 0x0804, 0x0000, 0x0000, 0x0800, 0x0002, 0x0000, 0xC000,
+0x0030, 0x0001, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0008,
+0x0800, 0x0110, 0x0000, 0x8000, 0x0190, 0x0000, 0x8400, 0x2000, 0x0000,
+0x0000, 0x8000, 0x0402, 0x8000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0082,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0041, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0008, 0x0000,
+0x0804, 0x0000, 0x0000, 0x0800, 0x0002, 0x0000, 0x4000, 0x1010, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0800, 0x0010,
+0x0000, 0x0000, 0x0090, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x8000, 0x0800, 0x0000, 0x0000, 0x0002, 0x0082, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1040, 0x0010, 0x0000,
+0x0004, 0x0002, 0x0000, 0x8400, 0x0000, 0x8400, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0402,
+0x0802, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x4080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0100,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0400, 0x0020, 0x0022, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0004, 0x8080, 0x4000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0040, 0x0000, 0x0000, 0x0400, 0x0100, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0120,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0401, 0x0000, 0x1000, 0x2800, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0041, 0x1008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0208, 0x0000, 0x0000, 0x0041, 0x0001,
+0x0000, 0x0000, 0x0801, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x1000, 0x0000, 0x2400, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x2000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2020, 0x0000, 0x0000, 0x0100, 0x0000, 0x0100, 0x0000,
+0x0000, 0x8080, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0080,
+0x4000, 0x0010, 0x4000, 0x0000, 0x2000, 0x0000, 0x4400, 0x4000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0400,
+0x0001, 0x0400, 0x0010, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0201,
+0x0000, 0x0010, 0x0040, 0x0000, 0x4000, 0x8000, 0x4080, 0x2800, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0001, 0x8000, 0x0000, 0x0082, 0x0000, 0x0800,
+0x1000, 0x4000, 0x4000, 0x0400, 0x0000, 0x2400, 0x9248, 0x4B25, 0x2892,
+0x9241, 0x4904, 0x6492, 0x8249, 0x4A64, 0x2492, 0x9002, 0x58A4, 0x2496,
+0xA489, 0xC0C9, 0x4925, 0x3090, 0x9049, 0xCB00, 0x2412, 0x0240, 0x4821,
+0x2892, 0x1041, 0x4124, 0x2C92, 0x2609, 0x9259, 0x4925, 0x2092, 0x8203,
+0x4100, 0x2492, 0x12C1, 0x4804, 0x2412, 0x1241, 0x4124, 0x64B2, 0x0409,
+0x8259, 0x0927, 0x2C92, 0x9299, 0x4904, 0x6492, 0x9349, 0x4A34, 0x2492,
+0x0241, 0x5904, 0x2090, 0x2409, 0x9248, 0x4924, 0x2892, 0x1249, 0x4904,
+0x6490, 0x9249, 0x4A44, 0x2493, 0x9040, 0x5920, 0x2492, 0x2481, 0x0289,
+0x4120, 0x2095, 0x9249, 0x4104, 0x2490, 0x0240, 0x0825, 0x2082, 0x8040,
+0x4924, 0x6492, 0x2409, 0x9259, 0x0924, 0x2092, 0x924B, 0x4100, 0x2482,
+0x12C9, 0x4804, 0x2400, 0x9241, 0x4924, 0x0492, 0x2009, 0x9251, 0x0926,
+0x2090, 0x9299, 0x0104, 0x6490, 0x9249, 0x4A24, 0x2410, 0x9241, 0x5904,
+0xA492, 0x0009, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0C00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x1000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x2080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4800, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0200, 0x0000,
+0x1001, 0x0100, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0020, 0x0020,
+0x0012, 0x0000, 0x0000, 0x0000, 0x0028, 0x0402, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0002, 0x2000, 0x0200, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0010, 0x0020, 0x0012, 0x0000, 0x0000, 0x0000,
+0x0048, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0100, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0002, 0x4020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000, 0x0048, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x8000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0800, 0x0100, 0x0000,
+0x4001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0200, 0x0000, 0xC000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0400, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x2402, 0xB248,
+0x4924, 0x2892, 0x9449, 0x4B04, 0x6492, 0x92C9, 0x4A24, 0x2492, 0x9241,
+0x5964, 0x2496, 0x0D89, 0x9259, 0x4A24, 0x2016, 0x9249, 0xC904, 0x24B2,
+0x3209, 0x4804, 0x2492, 0x9201, 0x4924, 0x2692, 0xA409, 0x32E9, 0x4924,
+0x2292, 0x9249, 0x4904, 0x2410, 0x9269, 0x4824, 0x2492, 0x9241, 0x4B24,
+0x2492, 0x2609, 0x9249, 0x4B04, 0x2880, 0xB249, 0x4904, 0x6412, 0x964B,
+0x4A24, 0x2492, 0x5249, 0x5924, 0x3492, 0x2409, 0xB200, 0x4924, 0x2892,
+0x9441, 0x4104, 0x6412, 0x92C9, 0x0A20, 0x2092, 0x8041, 0x5964, 0x2492,
+0x2D89, 0x1219, 0x4915, 0x2092, 0x9249, 0x4104, 0x2492, 0xB249, 0x4804,
+0x2082, 0x9241, 0x4924, 0x2492, 0x2409, 0x30C9, 0x4924, 0x2092, 0x9209,
+0x4904, 0x0492, 0x9249, 0x0824, 0x2492, 0x8241, 0x4B04, 0x2492, 0x2401,
+0x9049, 0x6524, 0x2012, 0xB249, 0x4904, 0x6492, 0x864B, 0x4A04, 0x0492,
+0x9201, 0x5924, 0x2482, 0x0009, 0x0000, 0x0000, 0x0400, 0x0008, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0401, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0208, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2CA0, 0xBED9, 0x02ED, 0x0C04, 0xB6DD, 0x476D, 0x2200,
+0xB428, 0x1B65, 0x0006, 0x93C1, 0xDB6D, 0x547A, 0x6490, 0xB6C1, 0x237D,
+0x310C, 0x9640, 0x1A2D, 0x6006, 0xBC0D, 0xCB6D, 0x0092, 0x4041, 0xFB7D,
+0xCA36, 0x0183, 0xB3D8, 0x936F, 0x0053, 0x82C0, 0x3B1E, 0x8170, 0xB402,
+0xD96E, 0x8512, 0x8E0D, 0xC9EF, 0x2216, 0x0460, 0xA65D, 0x036A, 0x3058,
+0x9EDB, 0x7B2E, 0x8013, 0xF002, 0xD9ED, 0xA20C, 0x9819, 0xF9F1, 0xB656,
+0xE30D, 0x8048, 0xB824, 0x5129, 0x0243, 0x1124, 0x596D, 0x9092, 0x8828,
+0xDB6A, 0x9632, 0x49A4, 0xA216, 0x8D2D, 0x9050, 0x9000, 0xC860, 0xB2C6,
+0x0064, 0x0B2B, 0x00B2, 0x5804, 0x5B72, 0x0D96, 0x4920, 0x5412, 0xD8E4,
+0x440C, 0x0180, 0x5B2C, 0x8602, 0x0001, 0x4804, 0x1094, 0x4611, 0x5860,
+0x81B2, 0x1200, 0x9023, 0xD904, 0xC8E0, 0x9801, 0x4925, 0x210C, 0x8041,
+0x4974, 0x04B4, 0x4F16, 0x6920, 0xD48E, 0x0208, 0x1B23, 0x0512, 0x4127,
+0xD041, 0x2582, 0x493C, 0x828A, 0x2CB6, 0x484B, 0x1612, 0x49B9, 0x645C,
+0x3092, 0x4DA0, 0x0006, 0x0825, 0xD149, 0x00B2, 0x4D09, 0x261A, 0x2590,
+0x40D4, 0x8212, 0x6881, 0x0600, 0x0280, 0x0908, 0x0609, 0x4085, 0x4090,
+0x2000, 0x2181, 0x14C8, 0x0406, 0x2879, 0x2494, 0x8031, 0x0AC4, 0x0048,
+0x7801, 0x0402, 0x4923, 0x2080, 0x2410, 0x0130, 0x0018, 0x4400, 0x0009,
+0x3412, 0x80C9, 0x40C0, 0x8042, 0x0009, 0x0002, 0x4327, 0x08D3, 0x0000,
+0x4920, 0xB6BB, 0x4200, 0x4900, 0xB69A, 0x1001, 0x5200, 0x2492, 0x00AF,
+0x1640, 0x4935, 0x0092, 0x1208, 0x6D82, 0x24F2, 0x8002, 0x4800, 0x34D3,
+0x8001, 0x4000, 0xC482, 0x2009, 0x0040, 0x6D25, 0x009A, 0x1249, 0x4DC4,
+0x0681, 0x0020, 0x6824, 0xA6D9, 0x1301, 0x4800, 0x3610, 0x0029, 0x0040,
+0x69B3, 0x0091, 0x4008, 0x61AC, 0x24D9, 0x8001, 0x6D00, 0x265A, 0x0241,
+0x5008, 0xA6CB, 0xBF2D, 0xBB79, 0x2C90, 0xF208, 0xFBCF, 0x2491, 0x0040,
+0x9DFF, 0x26C7, 0x0141, 0xCBF0, 0x3CBE, 0x9249, 0x3900, 0xC82F, 0x2480,
+0x9249, 0x8975, 0x000D, 0x1209, 0x5FED, 0x24F2, 0x8208, 0x7F50, 0x0DBE,
+0x3259, 0xC624, 0xD3A9, 0x0090, 0xE241, 0xC4A0, 0x2209, 0x315A, 0x138F,
+0x041A, 0x1002, 0xA0E0, 0x05A6, 0x80CF, 0x1504, 0xD2A9, 0x8404, 0x224A,
+0x8687, 0x1C12, 0x1302, 0x7358, 0x003E, 0xD081, 0xB4A0, 0x15A4, 0x1010,
+0x4000, 0x50C0, 0x65B5, 0x021A, 0x8250, 0x6D82, 0x60D3, 0x8200, 0x6C34,
+0x24D3, 0x2405, 0x5901, 0xA6DB, 0x0283, 0x32D0, 0x6DA5, 0x2382, 0x7609,
+0x4900, 0x3493, 0x9040, 0x6409, 0x24DB, 0x8421, 0x0069, 0x94CB, 0x202D,
+0x2012, 0x6834, 0x22DD, 0x9CDF, 0x490C, 0x0680, 0xB2D9, 0x4C00, 0xB4D8,
+0x2681, 0x4009, 0xA411, 0x050D, 0x23DD, 0x6D30, 0x42D8, 0x92CA, 0x4781,
+0x5690, 0xB28B, 0x28C0, 0xA45B, 0x1715, 0x5B21, 0x1403, 0x001D, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0200, 0x0400, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x2000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x2000, 0x0000, 0x0000, 0x0860, 0x8800,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x2800, 0x0000, 0x0400, 0x0020,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0088,
+0x0012, 0x0000, 0x0400, 0x2000, 0x0000, 0x0000, 0x1000, 0x8000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0880, 0x1000, 0x1880, 0x0002, 0x0040, 0x0100,
+0x0840, 0x0000, 0x2020, 0x0000, 0x0080, 0x0400, 0x0001, 0x0400, 0x1082,
+0x8000, 0x0000, 0x0002, 0x0000, 0x4000, 0x0010, 0x0000, 0x0000, 0x0100,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0041, 0x0000, 0x0200,
+0x0000, 0x0080, 0x1000, 0x0000, 0x0000, 0x0040, 0x0080, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0080, 0x0000, 0x0000, 0x0400, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0401, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0004, 0x0280,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0002, 0x0500, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0002, 0x0000, 0x1000, 0x0004, 0x0000, 0x0000, 0x0080,
+0x0002, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x1100, 0x0000, 0x0000, 0x0100, 0x1002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0208, 0x1000, 0x0000, 0x1000, 0x0004,
+0x0001, 0x0410, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x1000, 0x0000, 0x1600, 0x0000, 0x2008, 0x0080, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0204, 0x0280, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0401, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0208, 0x1000, 0x0000, 0x1000, 0x0004, 0x0001, 0x0411,
+0x0011, 0x0000, 0x1000, 0x0020, 0x0001, 0x0400, 0x0000, 0x1001, 0x0000,
+0x1200, 0x0000, 0x0008, 0x0081, 0x0401, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0200, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x8001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1001, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0091, 0x0000, 0x0000, 0x0004, 0x0100, 0x0000, 0x0400, 0x8200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x1000, 0x0000, 0x0000, 0x8000, 0x0001,
+0x0000, 0x0000, 0x0008, 0x3000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0040, 0x0000, 0x0000, 0x0408, 0x0008, 0x0400,
+0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0420, 0x0001, 0x0000,
+0x0004, 0x0000, 0x0420, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0009, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900,
+0x0000, 0x0020, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0804, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x8102, 0x0000, 0x0000, 0x8006, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0400, 0x00C0, 0x0000, 0x0080,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x2000, 0x0001,
+0x0500, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002,
+0x0800, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0800, 0x0000, 0x0010,
+0x4002, 0x0020, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0200,
+0x0000, 0x0000, 0x8001, 0x0420, 0x0080, 0x8808, 0x0000, 0x0040, 0x0000,
+0x0004, 0x0200, 0x0000, 0x0100, 0x0000, 0x2000, 0x0400, 0x0000, 0x0000,
+0x4000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x4000, 0x0101, 0x0000, 0x0000, 0x0008, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0140, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0080, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0008, 0x0000, 0x0800, 0x0000, 0x0080, 0x0000,
+0x0010, 0x3000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0004, 0x0004, 0x0000, 0x0000, 0x0800, 0x8000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0024, 0x0000, 0x0800, 0x0001,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0120, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0008, 0x0080, 0x0000, 0x0000, 0x2000,
+0x0000, 0x2000, 0x0000, 0x0400, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0804, 0x0000, 0x0000, 0x4000, 0x0000, 0x8000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0040, 0x0000, 0x0021, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4010, 0x0000, 0x0008, 0x0604, 0x0000, 0x0800,
+0x0000, 0x0000, 0x1080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0500, 0x0040, 0x0016,
+0x4040, 0x0002, 0x0002, 0x0000, 0x0000, 0x4424, 0x0000, 0x0040, 0x8000,
+0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x4800, 0x0410, 0x0001, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0040, 0x0400, 0x1000, 0x0000, 0x0980, 0x0000,
+0x0000, 0x0010, 0x0200, 0x8000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2000, 0x0001, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0012, 0x0040, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0400, 0x0000, 0x0040, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0010, 0x4000, 0x4800, 0x0410, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x1000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0010,
+0x0200, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x4200, 0x0100, 0x0002, 0x0000, 0x0001, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0008, 0x0100, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0021, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0008, 0x4000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x1400, 0x0000, 0x2080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0800, 0x0200,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0201,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x2000, 0x0001, 0x0000, 0x0040,
+0x8001, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x8000, 0x0000, 0x0080, 0x0110, 0x0212, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x4004, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0208, 0x0001, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0201, 0x0000, 0x0081, 0x8000, 0x0000, 0x0800, 0x0000, 0x0210, 0x0000,
+0x0400, 0x0040, 0x0000, 0x0000, 0x0000, 0x0400, 0x4000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0200, 0x0000, 0x0020, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x2080,
+0x8000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x1041, 0x0800, 0x0080, 0x8000,
+0x0000, 0x0000, 0x0001, 0x0420, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0001, 0x0000, 0x0000,
+0x6000, 0x0000, 0x0000, 0x0002, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8800, 0x0000, 0x8000, 0x0004, 0x1002, 0x0000, 0x0001, 0x0002, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0800, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0020, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0xA400, 0x9209,
+0x5924, 0x2A9A, 0x9249, 0x4904, 0x6492, 0x9209, 0x4A20, 0x2492, 0x9241,
+0x5924, 0x2492, 0x2489, 0x8249, 0x4925, 0x0092, 0x9649, 0x0904, 0x2490,
+0x1048, 0x4824, 0x2492, 0x9241, 0x48A8, 0x2492, 0x2001, 0x1208, 0x4920,
+0x0092, 0x9A49, 0x0900, 0x2496, 0x82C8, 0xC8A4, 0x24B0, 0x1243, 0x4120,
+0x2492, 0x4409, 0x9209, 0x482C, 0x2CB2, 0x924A, 0x4100, 0x6492, 0x1259,
+0x4A24, 0x2482, 0xB241, 0x5927, 0x2492, 0x2409, 0x9249, 0x4925, 0x2892,
+0x9209, 0x4904, 0x6092, 0x9249, 0x4A04, 0x0492, 0x9240, 0x5924, 0x2492,
+0x2489, 0x9249, 0x4924, 0x0092, 0x9649, 0x4904, 0x2488, 0x9048, 0x4804,
+0x2490, 0x9241, 0x492C, 0x0092, 0x2409, 0x0249, 0x4925, 0x2082, 0x9249,
+0x4900, 0x2482, 0x92C9, 0x0024, 0x2080, 0x9240, 0x4120, 0x3492, 0x4409,
+0x9240, 0x4825, 0x2892, 0x124A, 0x4104, 0x6452, 0x9259, 0x0A04, 0x2482,
+0xB241, 0x5925, 0x2010, 0x0009, 0x0000, 0x0001, 0x0401, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0080, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0001, 0x2000, 0x8000, 0x0800, 0x0001, 0x0040, 0x4400, 0x0000, 0x0000,
+0x0802, 0x4002, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0004, 0x0001,
+0x8400, 0x2000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4080, 0x0000,
+0x0040, 0x8000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0008, 0x8000, 0x0000, 0x0000, 0x0000, 0x000A, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x1000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0100, 0x0000, 0x0008, 0x0000, 0x0000, 0x0002, 0x0020, 0x0000,
+0x0400, 0x0800, 0x0000, 0x0800, 0x0000, 0x0000, 0x0028, 0x0502, 0x0000,
+0x1000, 0x0060, 0x0000, 0x1000, 0x0000, 0x0800, 0x8000, 0x1000, 0x0000,
+0x0100, 0x8000, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0002, 0x0000, 0x0000, 0x2002, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0400, 0x0000, 0x0000, 0x0000,
+0x8010, 0x0000, 0x0800, 0x0008, 0x0000, 0x8000, 0x0000, 0x0000, 0x0020,
+0x0200, 0x0000, 0x0000, 0x2004, 0x0200, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0C90, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x2002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0200, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0490, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0804, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x000C,
+0x0010, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0202, 0x0000, 0x0000, 0x0000, 0x0410, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0280, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0010, 0x0000, 0x0000, 0x0008, 0x0000, 0x0400,
+0x0100, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x2400, 0xA209, 0x4924, 0x2882, 0x9249, 0x4900, 0x6492, 0x9249, 0x4A04,
+0x2492, 0x9241, 0x5824, 0x2492, 0x0181, 0x9A49, 0x0924, 0x0012, 0x9249,
+0x4D04, 0x0492, 0x9249, 0x0824, 0x2692, 0x9241, 0x4924, 0x2412, 0x0409,
+0x9249, 0x4924, 0x2092, 0x9649, 0x4904, 0x0C80, 0x1209, 0x486C, 0x2012,
+0x9241, 0x4924, 0x2490, 0x2409, 0x9241, 0x490C, 0x0890, 0x9249, 0x4904,
+0x6C92, 0x9249, 0x1A24, 0x2492, 0x1241, 0x5964, 0x0492, 0x2409, 0xB249,
+0x4924, 0xA892, 0x9249, 0x4904, 0x6482, 0x9049, 0x4A24, 0x2492, 0x9241,
+0x5924, 0x2492, 0x2589, 0x9249, 0x0924, 0x2092, 0x9249, 0x4804, 0x2492,
+0x9249, 0x4824, 0x2492, 0x9241, 0x4924, 0xA492, 0x2409, 0x9208, 0x0920,
+0x2092, 0x9649, 0x4904, 0x0492, 0x9249, 0x48FC, 0x2482, 0x9240, 0x4DA4,
+0x2492, 0x2409, 0x9241, 0x4920, 0xA092, 0x9269, 0x4904, 0x6492, 0x9349,
+0x4A24, 0x2492, 0x9241, 0x5964, 0x2490, 0x0009, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004, 0x0000, 0x0000,
+0x0000, 0x0049, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0400, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0xB582, 0xB6F8, 0x003D, 0x0400, 0xB6DD,
+0x6A6D, 0x4008, 0x940C, 0xE96D, 0x2005, 0x9A03, 0xDB6D, 0x9D5C, 0x04A0,
+0xBEE9, 0x5369, 0x1012, 0xB5C1, 0x3F2F, 0x461A, 0x8C03, 0x9B65, 0xA4D2,
+0x0948, 0xF96C, 0x2712, 0xB202, 0xF668, 0x01A5, 0x800A, 0xD6CD, 0x25EF,
+0x742E, 0xDC68, 0x3F2D, 0xB001, 0x0929, 0x5935, 0x1909, 0x0C92, 0xBEF8,
+0x036D, 0x2252, 0x7DDB, 0x5B66, 0x420A, 0x1400, 0xDB61, 0x9646, 0x9002,
+0xDDA4, 0xB676, 0x4E2D, 0x9248, 0xBA60, 0xC92D, 0x904A, 0x1804, 0x9965,
+0xB09A, 0x59A0, 0xCB68, 0x96B0, 0x6104, 0x0A20, 0xCB45, 0x0358, 0xC020,
+0x4B64, 0x0047, 0x0160, 0x0926, 0xA090, 0x200C, 0x4920, 0x04BE, 0x0325,
+0x9024, 0x692C, 0x1190, 0x924A, 0x5B24, 0x204B, 0x1210, 0x0B02, 0x20DE,
+0x8042, 0x4B60, 0x4492, 0x8A42, 0x8A24, 0xD32E, 0x0200, 0xB880, 0x5936,
+0x0044, 0x013D, 0x0964, 0x6092, 0x480A, 0x492A, 0x9490, 0x034B, 0xD301,
+0xA8D2, 0x4107, 0x5000, 0x3186, 0x4931, 0x808A, 0xAC3E, 0x4803, 0x869A,
+0x45B8, 0x6059, 0x3052, 0x4085, 0x1410, 0x4101, 0x0088, 0x1002, 0x2480,
+0x0091, 0x20C8, 0x0068, 0xA2C2, 0x4C91, 0x0240, 0x0440, 0x4108, 0x0601,
+0x2101, 0x2013, 0x8408, 0x0104, 0x0158, 0x2048, 0x0400, 0x000A, 0xA000,
+0x4000, 0x000A, 0x4010, 0x2001, 0x0103, 0x0080, 0x2000, 0x0030, 0x8010,
+0x0480, 0x4009, 0x36D2, 0x4259, 0x4040, 0xA002, 0x0029, 0x0040, 0x4907,
+0x0AD2, 0x1200, 0x4920, 0xB493, 0x0000, 0x6900, 0xB59A, 0x1000, 0x5004,
+0x2C92, 0x08AD, 0x0004, 0x61B5, 0x00D2, 0x0040, 0x6D85, 0x06D0, 0x9240,
+0x6C00, 0x349B, 0x8001, 0x4808, 0x26DB, 0x202D, 0x2128, 0x0DD5, 0x22DB,
+0x8020, 0x2D04, 0x3611, 0x1000, 0x2C00, 0xA2D3, 0x1241, 0x4020, 0xA6C2,
+0x0024, 0x8201, 0x49B7, 0x0996, 0x0242, 0x6C64, 0xA499, 0x8000, 0x6D00,
+0x34DA, 0x8041, 0x5002, 0xB25B, 0xFF2D, 0x8E3D, 0x24B0, 0x7009, 0xA9EF,
+0x249A, 0x0248, 0xDF7F, 0x067B, 0x4241, 0xCFF1, 0x3370, 0x9249, 0xB200,
+0xDA6B, 0x0C40, 0x7209, 0xCB89, 0x000A, 0x300B, 0x41A3, 0x0026, 0x8240,
+0x5B00, 0x0436, 0x9000, 0x0800, 0x0255, 0x6020, 0x1000, 0x72D9, 0x4089,
+0x00CA, 0x827F, 0x404D, 0x1408, 0xC400, 0x0246, 0x1019, 0xAE09, 0x514A,
+0x2400, 0x7249, 0xD99D, 0x0190, 0x1242, 0x1441, 0x02B6, 0x8201, 0x6020,
+0x1DB5, 0x0480, 0x0800, 0x5000, 0x6D95, 0x008B, 0x4650, 0x6D84, 0x46D3,
+0x0280, 0x4CE4, 0x04D3, 0x3004, 0x5984, 0xA69B, 0x2581, 0x218A, 0xE584,
+0xA2D3, 0xA499, 0x4808, 0x1298, 0x9615, 0x4415, 0x3493, 0xB261, 0xC901,
+0x949E, 0x2C0B, 0x90D2, 0x0D04, 0x4012, 0x20D3, 0x1D82, 0x0011, 0x9491,
+0x00B1, 0x1293, 0x16B0, 0x4FED, 0x3483, 0x2500, 0x04D0, 0x6594, 0xC3DB,
+0x86E9, 0x2489, 0x76D4, 0xB33B, 0x4C64, 0xAC93, 0xB485, 0x5B2D, 0x7816,
+0x000D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0008, 0x2090, 0x8000, 0x0000, 0x0480, 0x0000, 0x0000,
+0x0008, 0x0000, 0x8000, 0x0020, 0x0008, 0x0000, 0x0110, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0001,
+0x0800, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0400, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0010, 0x0008, 0x0000, 0x2000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x2C05, 0x0000, 0x0040, 0x2000, 0x0042, 0x0000, 0x0000, 0x0008,
+0x0000, 0x1000, 0x0410, 0x0000, 0x0000, 0x0000, 0x2100, 0x0000, 0x2000,
+0x100A, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0401, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0001, 0x0000, 0x0000, 0x2000, 0x0000, 0x4080, 0x0002, 0x1000, 0x2400,
+0x0000, 0x0000, 0x2000, 0x0040, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000,
+0x0C10, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x2020, 0x1008, 0x0000,
+0x0024, 0x0000, 0x0000, 0x0000, 0x4001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0081, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x9000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0400, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0004, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0400, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0200, 0x0004, 0x0000,
+0x0000, 0x0001, 0x0010, 0x9000, 0x2400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0400, 0x0410, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0004, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0004, 0x4000, 0x0000, 0x0008, 0x0000,
+0x2000, 0x0000, 0x0080, 0x1041, 0x0001, 0x0000, 0x0001, 0x0200, 0x4001,
+0x8000, 0x0000, 0x0000, 0x0008, 0x2041, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x8200, 0x1000, 0x0000, 0x9201, 0x0000, 0x0000, 0x2010, 0x0008,
+0x0200, 0x0000, 0x0000, 0x0800, 0x0000, 0x0040, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0008, 0x0000, 0x2000, 0x0000,
+0x00C1, 0x1041, 0x0001, 0x0000, 0x0011, 0x2200, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0001, 0x2041, 0x0000, 0x4000, 0x0000, 0x0200, 0x0000, 0x8200,
+0x1000, 0x0001, 0x9201, 0x0000, 0x0000, 0x2011, 0x0408, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4800, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0068, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0004, 0x0008, 0x0400, 0x0000, 0x0000, 0x0001, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0040, 0x0020,
+0x0000, 0x0004, 0x1020, 0x0000, 0x0004, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0201, 0x0000, 0x0000, 0x0002, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0201, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0084, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x4009, 0x0000, 0x0000, 0x0004, 0x0000, 0x0001, 0x0000, 0x0000, 0x0040,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0001, 0x0400, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0020, 0x0008, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000,
+0x0000, 0x0001, 0x0001, 0x0000, 0x2200, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0002, 0x0810, 0x0000, 0x0400, 0x8200, 0x0001, 0x2001, 0x0400, 0x0108,
+0x0000, 0x0800, 0x4000, 0x0000, 0x0000, 0x0100, 0x0020, 0x0000, 0x0002,
+0x0020, 0x0001, 0x0400, 0x0000, 0x0000, 0x2020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0208, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x4000, 0x0008,
+0x0402, 0x0040, 0x0000, 0x0000, 0x0200, 0x0000, 0x0102, 0x0800, 0x2000,
+0x0001, 0x0000, 0x2000, 0x0000, 0x0010, 0x0200, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0001, 0x2400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0002, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0208,
+0x0800, 0x0010, 0x0000, 0x1004, 0x0008, 0x0000, 0x0108, 0x0220, 0x0800,
+0x0000, 0x4000, 0x0000, 0x0080, 0x4010, 0x0A00, 0x2000, 0x8080, 0x0100,
+0x2000, 0x0040, 0x1000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x5001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0044, 0x0000, 0x0400, 0x0100, 0x0800, 0x0040, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0200, 0x0100, 0x0000,
+0x0000, 0x0110, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0xA000, 0x0020, 0x0000, 0x0000, 0x0000, 0x1002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0402, 0x0040, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0002, 0x0000, 0x0000, 0x0008, 0x0020, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2404,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0012, 0x0000, 0x8000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0800, 0x0200, 0x0000, 0x0009, 0x0000, 0x884C, 0x0000, 0x0000,
+0x1000, 0x0010, 0x0000, 0x4000, 0x2000, 0x0000, 0x0800, 0x0000, 0x0008,
+0x0040, 0x0800, 0x0002, 0x0020, 0x4080, 0x0004, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0100, 0x0010, 0x0000, 0x0000, 0x0000, 0x0048, 0x0000,
+0x0084, 0x0000, 0x0000, 0x0402, 0x0000, 0x4000, 0x0410, 0x0000, 0x0000,
+0x0000, 0x0412, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0009, 0x0000, 0x0804, 0x0000, 0x0004, 0x0000, 0x0010,
+0x0000, 0x4000, 0x2000, 0x0000, 0x0800, 0x0000, 0x1008, 0x0040, 0x0800,
+0x0002, 0x0000, 0x4000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x004C, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0402, 0x0000, 0x4000, 0x0410, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x4000, 0x0001, 0x1002, 0x0000, 0x0000, 0x0008, 0x0100, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0010, 0x4000, 0x0000, 0x0000, 0x1020, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0040,
+0x0010, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0080, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0800, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0040, 0x0800, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0001, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0004, 0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0010, 0x8040, 0x0000, 0x8000, 0x0000, 0x0000, 0x0004, 0x4100, 0x0002,
+0x4000, 0x0020, 0x0002, 0x0200, 0x0000, 0x0000, 0x0080, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0001, 0x4004, 0x0040, 0x8000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0580, 0x0048, 0x0200, 0x0000, 0x0000, 0x0001, 0x0202,
+0x0000, 0x2000, 0x0204, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x8040,
+0x0000, 0x0200, 0x0041, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x4400, 0x0000, 0x0020, 0x0001, 0x0402, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0002, 0x1000, 0x0100,
+0x0008, 0x0001, 0x0000, 0x0000, 0x0000, 0x0040, 0x0100, 0x1000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0020, 0x2000, 0x0001, 0x0000, 0x0410, 0x0000,
+0x1841, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x1000, 0x0004, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x8400, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x1000, 0x2000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0100, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8800,
+0x0000, 0x0000, 0x8000, 0x0490, 0x0200, 0x0400, 0x0800, 0x0000, 0x0400,
+0x0100, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0004,
+0x2400, 0x9209, 0x4924, 0x2882, 0xD249, 0x4904, 0x6482, 0x1249, 0x4A24,
+0x2492, 0x9251, 0x5924, 0x2492, 0x0481, 0x92C9, 0x4820, 0x4092, 0x8200,
+0x4100, 0x249A, 0xA221, 0x4824, 0x64A2, 0x9043, 0x090C, 0x2492, 0x2009,
+0x8208, 0x4324, 0x2092, 0x9649, 0x0104, 0x2492, 0x10C1, 0x4800, 0x2492,
+0x1211, 0x0903, 0x249E, 0x2029, 0x9041, 0x4924, 0x2892, 0xD249, 0x4904,
+0x6492, 0x8209, 0x4A24, 0x2492, 0x9641, 0x1920, 0x2092, 0x2409, 0x9249,
+0x4925, 0x2881, 0x9209, 0x4904, 0x6492, 0x1249, 0x4A24, 0x2492, 0x9251,
+0x1824, 0x2492, 0x2480, 0x92C1, 0x4121, 0x6090, 0x9209, 0x4800, 0x2482,
+0xB249, 0x0824, 0x0613, 0x9241, 0x492C, 0x0492, 0x2401, 0x8249, 0x4125,
+0x2090, 0x9649, 0x0904, 0x3482, 0x12C1, 0x4804, 0x2490, 0x8251, 0x0921,
+0x2092, 0x2409, 0x9041, 0x4925, 0x2892, 0x9249, 0x4904, 0x6452, 0x9249,
+0x4A24, 0x2090, 0x9641, 0x1920, 0x2082, 0x0009, 0x4000, 0x0001, 0x0400,
+0x0020, 0x0002, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0040, 0x0000,
+0x8200, 0x0100, 0x0001, 0x0000, 0x4000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0080, 0x0020, 0x0000, 0x2000, 0x1000, 0x0004, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4800, 0x00A0, 0x0000, 0x0800, 0x0000, 0x0000, 0x8000,
+0x0100, 0x0001, 0x1400, 0x0800, 0x0000, 0x0000, 0x0820, 0x0080, 0x0400,
+0x0110, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0040, 0x0020, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0400,
+0x4020, 0x0000, 0x0184, 0x0000, 0x0400, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0022, 0x0060, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0400, 0x0000, 0x0800, 0x2000, 0x0200, 0x8000,
+0x0000, 0x2080, 0x1000, 0x0000, 0x0010, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0920, 0x8000, 0x0000, 0x0000, 0x0400, 0x0C20,
+0x1080, 0x0008, 0x4400, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x2000, 0x0200, 0x0000, 0x0000, 0x2080,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0400, 0x4000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0480,
+0x0000, 0x0000, 0x0100, 0x0000, 0x8000, 0x0020, 0x0000, 0x0000, 0x0804,
+0x0090, 0x0000, 0x0020, 0x0000, 0x0000, 0x8000, 0x4800, 0x2000, 0x8001,
+0x0500, 0x0002, 0x0000, 0x0900, 0x0002, 0x0000, 0x0120, 0x0010, 0x0000,
+0x0000, 0x0024, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0824, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0200, 0x0040, 0x0000, 0x0000, 0x0004, 0x1000,
+0x0020, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x2400, 0x9249, 0x4924, 0x2892, 0x9248, 0x4B00, 0x6492,
+0x9249, 0x4A24, 0x2492, 0x9241, 0x5126, 0x248A, 0x2489, 0xD209, 0x4820,
+0x2092, 0x0240, 0x0904, 0x2092, 0x9249, 0x4824, 0x2492, 0x1201, 0x4934,
+0x3490, 0x2C01, 0x9229, 0x49A4, 0x2092, 0x9659, 0x4906, 0x2482, 0xD249,
+0x402C, 0x2492, 0x9241, 0x4924, 0x3480, 0x2408, 0x9249, 0x4824, 0x2892,
+0x9049, 0x4904, 0x6492, 0x9249, 0x4A25, 0x2492, 0x1241, 0x5924, 0x2482,
+0xA409, 0x9249, 0x4924, 0x2892, 0x924D, 0x4904, 0x449A, 0x9349, 0x4AB4,
+0x2692, 0x9260, 0x5924, 0x2492, 0x2489, 0x9A69, 0x4920, 0x2092, 0x934D,
+0x4904, 0x0492, 0x9B68, 0x4824, 0x2492, 0x9341, 0x0926, 0x2292, 0xBC09,
+0x9349, 0x4904, 0x2092, 0xD659, 0x4904, 0x2492, 0x9249, 0x441E, 0x2412,
+0x8261, 0x0920, 0x2082, 0x2408, 0x9A49, 0x4924, 0x3892, 0x9A49, 0x4906,
+0x6490, 0x9269, 0x4235, 0x0492, 0x9241, 0x1926, 0x2492, 0x0009, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8400, 0x0000, 0x0000, 0x2000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0080, 0x0000, 0x4000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0408, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x8000, 0x3400, 0x68A0, 0xB748, 0xC36D,
+0x100A, 0xD6D9, 0x7F3D, 0x0060, 0xFC48, 0x9B6C, 0x1084, 0x9BD7, 0xEB3D,
+0xB352, 0x20C0, 0x7758, 0x436C, 0xAE00, 0xFEC1, 0x1967, 0x10C2, 0xF408,
+0xDBAC, 0xF632, 0x8401, 0xDD25, 0x0C37, 0x00B2, 0xB6C8, 0x025D, 0x900B,
+0x92C4, 0x0DAD, 0x6486, 0xBC04, 0xCB6D, 0x2012, 0x0360, 0x7B7F, 0x4B3B,
+0x20D0, 0xA6DC, 0x03CE, 0xA556, 0xFE91, 0x554C, 0x8883, 0x3068, 0x19E9,
+0x3A8E, 0x9558, 0xDBA5, 0x8273, 0x014C, 0x08D8, 0x3920, 0x4B24, 0x304B,
+0x0964, 0x5905, 0x9096, 0x0C23, 0xC928, 0x1420, 0x1140, 0x0036, 0x492C,
+0x1088, 0x9005, 0x512C, 0x8246, 0x0A28, 0x4B2C, 0x1092, 0x4D41, 0x0900,
+0x8893, 0x026A, 0x9202, 0x490D, 0x1018, 0x9080, 0x4B24, 0x6602, 0x3256,
+0x8B63, 0x4092, 0x3400, 0x4B61, 0x06D2, 0x8800, 0xB504, 0xEBA4, 0x8840,
+0xB805, 0x4A32, 0x1303, 0x0201, 0x5124, 0x0496, 0x8A10, 0xE122, 0x18C6,
+0x007C, 0x230E, 0x2690, 0x4827, 0x1250, 0x71D0, 0x0030, 0x828B, 0x2C42,
+0x204B, 0x8692, 0x4098, 0x6040, 0x0081, 0x0980, 0x8182, 0x0C31, 0xC010,
+0x2221, 0x2080, 0x2001, 0x1402, 0x0405, 0x9410, 0x0011, 0x0208, 0xB003,
+0x450C, 0x2000, 0x2505, 0x0080, 0x0400, 0xC180, 0x2012, 0x0080, 0x604C,
+0x260C, 0x2011, 0x0900, 0x0408, 0x0800, 0x0422, 0x0C13, 0x0210, 0xA480,
+0x0538, 0xA002, 0x8492, 0x70E0, 0x0450, 0x0588, 0x4201, 0x9C10, 0x2408,
+0x0260, 0x4CB7, 0x0ADA, 0x0218, 0x2D20, 0xB6C2, 0x800A, 0x0100, 0xA49B,
+0x1041, 0x5004, 0x14CA, 0xA0AD, 0x8040, 0x0CB5, 0x00DB, 0x8001, 0x0180,
+0x2699, 0x1040, 0x0C20, 0x2653, 0x9001, 0x4D05, 0xA6DB, 0x0008, 0x0000,
+0x49B5, 0x02CB, 0x1009, 0x6D80, 0x3253, 0x820B, 0x4800, 0xB4D2, 0x4801,
+0x4920, 0x86C0, 0x012D, 0x20C0, 0x6D27, 0x08D3, 0x0102, 0x4D21, 0xA6D3,
+0x4000, 0x6D04, 0xA71B, 0x0021, 0x5440, 0xA4FA, 0x531D, 0xDC1D, 0x2100,
+0xB121, 0xFDC1, 0x409F, 0x0019, 0x1E75, 0x6E26, 0x1240, 0xC610, 0x34AA,
+0xA211, 0x4E00, 0x531F, 0x6140, 0xB200, 0x58FA, 0x6C06, 0x1842, 0xE21D,
+0x6096, 0x9088, 0x4A60, 0x00E8, 0x1000, 0x2225, 0x966D, 0x2400, 0xB010,
+0x2B64, 0x0001, 0x0488, 0x1064, 0x2424, 0x0209, 0x96C0, 0x024E, 0x301B,
+0x3600, 0x9329, 0x0090, 0xA208, 0x521D, 0x209C, 0x1108, 0x3A58, 0x0282,
+0x10C0, 0xA940, 0x18B5, 0x1201, 0x4C20, 0x9003, 0x6C25, 0x409B, 0x840B,
+0x0D84, 0x5082, 0x8298, 0x04B0, 0x34DA, 0x3645, 0xDB0D, 0x868A, 0x6489,
+0x3671, 0x2825, 0x22DA, 0x84D2, 0x0509, 0x34D0, 0xA0D1, 0x2868, 0x261A,
+0xB6C1, 0x4164, 0x2092, 0x2828, 0xDED2, 0x49A5, 0x62CB, 0xB0DB, 0x4B0D,
+0x281B, 0x3418, 0x4421, 0xA4D3, 0x94A1, 0x402D, 0x16C1, 0x4020, 0x185D,
+0x69A1, 0x5078, 0x1849, 0x2186, 0x70DA, 0x2369, 0x4819, 0x741F, 0x1255,
+0x5128, 0x2613, 0x0028, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0001, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0420, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x1000, 0x0800, 0x4802, 0x0000, 0x0020,
+0x4010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0100, 0x0000, 0x0800, 0x00C0,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x4800, 0x0000, 0x8200, 0x8100,
+0x0000, 0x3000, 0x0900, 0x0002, 0x0000, 0x0100, 0x0010, 0x0400, 0x2000,
+0x0024, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0804, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8040, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0480, 0x0003, 0x0000, 0x0000, 0x0000, 0x0040, 0x0400, 0x8641, 0x0002,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0048, 0x0000, 0x0002, 0x0024,
+0x0410, 0x0000, 0x0500, 0x0200, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x9001, 0x0004, 0x0040, 0x0000, 0x0400, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0040, 0x8040, 0x0000, 0x0000, 0x4001, 0x0000, 0x0001, 0x0484, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0420, 0x8241, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0048, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0200, 0x0000, 0x0000, 0x0400, 0x0000, 0x0100, 0x9001, 0x0004,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0048, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x1000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0040, 0x0000, 0x0004, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x1000, 0x0001, 0x0000, 0x0000, 0x0110, 0x0000,
+0x0000, 0x0264, 0x0000, 0x0000, 0x0028, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0800, 0x0000, 0x1000, 0x8200, 0x0200, 0x8000, 0x0000,
+0x0024, 0x0000, 0x0004, 0x8004, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000,
+0x2001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0024, 0x0000,
+0x8000, 0x0800, 0x0000, 0x0020, 0x0101, 0x2400, 0x0000, 0x8000, 0x008C,
+0x0000, 0x0000, 0x0000, 0x0048, 0x0000, 0x4000, 0x8000, 0x0000, 0x0002,
+0x2000, 0x0000, 0x0041, 0x0000, 0x1001, 0x1200, 0x0420, 0x8040, 0x0000,
+0x0900, 0x0200, 0x0004, 0x0000, 0x0011, 0x0401, 0x0000, 0x6000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0024, 0x0000, 0x8000, 0x0800,
+0x0002, 0x0020, 0x0001, 0x2401, 0x0000, 0x8000, 0x0084, 0x0000, 0x0000,
+0x0000, 0x0048, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x2001, 0x0400,
+0x0041, 0x0000, 0x1005, 0x1200, 0x0420, 0x8040, 0x0000, 0x0900, 0x0600,
+0x0004, 0x4000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0090,
+0x0000, 0x0002, 0x0080, 0x0000, 0x0000, 0x0020, 0x0001, 0x1000, 0x0800,
+0x0000, 0x0000, 0x0004, 0x2000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2001, 0x1000, 0x0000, 0x8400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0008, 0x0000, 0x0800, 0x0101, 0x0404, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0800, 0x0000, 0x0002, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0820, 0x0000, 0x0000, 0x0800, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0800,
+0x0000, 0x8000, 0x0000, 0x8000, 0x0000, 0x1000, 0x0000, 0x0001, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0108, 0x0000, 0x0800, 0x0020, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x8000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0004, 0x0000, 0x0020, 0x0000,
+0x2000, 0x8000, 0x0000, 0x0100, 0x0000, 0x0001, 0x0000, 0x0004, 0x0800,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0800, 0x0800, 0x0002, 0x0000, 0x0001, 0x0400, 0x0020, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8020, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0880,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0010, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0400, 0x0001, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x1040, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0040, 0x0000, 0x1000, 0x0000, 0x0000, 0x0008, 0x0000, 0x4001, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0002, 0x0000, 0x0800, 0x0008,
+0x0000, 0x0000, 0x0001, 0x0000, 0x8000, 0x0404, 0x0018, 0x0000, 0x0800,
+0x0040, 0x2800, 0x0000, 0x2000, 0x0000, 0x0000, 0x0201, 0x0600, 0x0005,
+0x0000, 0x0880, 0x0280, 0x0020, 0x0010, 0x1000, 0x0100, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0040, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0040, 0x0004, 0x0800, 0x0000,
+0x1040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0022, 0x0000, 0x1400, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x1000, 0x8000,
+0x0020, 0x0000, 0x4004, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0180, 0x8000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0840, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0048, 0x0002, 0x0800, 0x0000, 0x0004, 0x0200, 0x0008,
+0x0000, 0x1000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0008,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x4000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4002,
+0x0000, 0x0080, 0x0000, 0x0200, 0x0000, 0x0400, 0x0000, 0x0000, 0x0040,
+0x0010, 0x0000, 0x0801, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0440, 0x0000, 0x0000, 0x0080, 0x0200, 0x0000, 0x0010, 0x1000,
+0x0000, 0x0020, 0x0004, 0x0020, 0x0000, 0x0000, 0x0800, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x2000, 0x1000,
+0x0080, 0x0000, 0x1800, 0x0002, 0x0020, 0x1000, 0x0200, 0x0000, 0x4020,
+0x0400, 0x0008, 0x0020, 0x0048, 0x0000, 0x1800, 0x0000, 0x2000, 0x0000,
+0x0080, 0x4008, 0x0003, 0x0024, 0x0000, 0x000A, 0x0000, 0x0040, 0x0480,
+0x0008, 0xC040, 0x0400, 0x0021, 0x0000, 0x0000, 0x0040, 0x8000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0800, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x4020, 0x0400, 0x0008,
+0x0000, 0x0000, 0x0000, 0x1004, 0x0200, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0026, 0x0000, 0x0008, 0x0000, 0x0000, 0x0080, 0x0008, 0x4000,
+0x0400, 0x0001, 0x0000, 0x0000, 0x0040, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0002, 0x0000, 0x0020, 0x0001, 0x9000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0200, 0x0000, 0x0000, 0x0000, 0x0200,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0080, 0x0000, 0x4000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0020, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0010, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x4000, 0x0200, 0x0000, 0x4014, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x0800, 0x0000,
+0x8400, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x0002, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x2100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0011, 0x0000, 0x0020, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0080,
+0x0004, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x4000, 0x0001, 0x0000, 0x0000, 0x0008, 0x1000, 0x0000, 0x0000, 0x0100,
+0x0002, 0x0002, 0x0020, 0x1000, 0x0000, 0x0001, 0x0000, 0x1000, 0x1000,
+0x0104, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0100, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0003, 0x4000, 0x0000, 0x2000, 0x0100,
+0x0020, 0x0220, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0004,
+0x0000, 0x0004, 0x0080, 0x1000, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2400, 0x0000, 0x0200, 0x0002, 0x0002, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0220, 0x0000, 0x0000, 0x0400, 0x1400, 0x0080, 0x0800, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0004, 0x000C, 0x0400, 0x0020, 0x0001, 0x0500, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0002, 0x0040, 0x0002,
+0x0000, 0x0001, 0x0000, 0x0040, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0004, 0x1000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x8001, 0x1504, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0840,
+0x0004, 0x0000, 0x2000, 0x9309, 0x4B25, 0x2892, 0x9243, 0x0904, 0x6492,
+0x8249, 0x4A04, 0x6496, 0x9201, 0x5924, 0x2486, 0x0489, 0x9608, 0x4925,
+0x2002, 0x9209, 0x490E, 0x0490, 0x43A8, 0x4804, 0x2492, 0x9041, 0x4374,
+0x2496, 0x2409, 0x9240, 0xC925, 0x0092, 0x9649, 0x4944, 0x2492, 0x80C9,
+0x4824, 0x6490, 0x8041, 0x490C, 0x2492, 0x2400, 0x9241, 0x0125, 0x6812,
+0x1208, 0x0949, 0x4092, 0x8248, 0x4A1C, 0x2492, 0x3201, 0x5E00, 0x2410,
+0x2409, 0x9249, 0x4924, 0x28D2, 0x924B, 0x0104, 0x6492, 0x9349, 0x4A24,
+0xA492, 0x9001, 0x5920, 0x2492, 0x248D, 0x9649, 0x4924, 0x0002, 0x8249,
+0x410C, 0x04D1, 0x92C9, 0x4824, 0x2491, 0x9241, 0x0B40, 0x2092, 0x2400,
+0x9249, 0x4924, 0x2092, 0x1649, 0x4904, 0x0482, 0x90C9, 0x4824, 0x2490,
+0x9240, 0x492E, 0x0492, 0x0405, 0x9249, 0x4924, 0x6812, 0x0249, 0x080D,
+0x4292, 0x9249, 0x480C, 0x0492, 0xB041, 0x5320, 0x2410, 0x0001, 0x0004,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0010, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0xA000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0010, 0x8C01, 0x0000, 0x0000, 0x0000, 0x4084, 0x0000, 0x0000,
+0x0100, 0x0010, 0x0000, 0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x0000,
+0x0000, 0x400C, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x4400, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0060, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x1800, 0x0000, 0x0000, 0x0000, 0x0040, 0x0800, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0002, 0x000A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0048,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0048, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0500, 0x0002, 0x0000, 0x0100, 0x0024, 0x0000, 0x0000, 0x0002, 0x0400,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0004, 0x0040, 0x0200, 0x0000, 0x0000,
+0x1000, 0x4000, 0x0010, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0004, 0x0000, 0x0000, 0x0000, 0x8080, 0x0000,
+0x0200, 0x0000, 0x0001, 0x0C00, 0x0120, 0x0000, 0x0000, 0x8000, 0x8000,
+0x0000, 0x4000, 0x0040, 0x0008, 0x2400, 0x9249, 0x4B24, 0x2892, 0x9649,
+0x5104, 0x6492, 0x9249, 0x8A24, 0x2492, 0x9241, 0x5526, 0x2492, 0x0488,
+0x9249, 0x0924, 0x00B2, 0xB609, 0x5904, 0x2416, 0x9249, 0xC804, 0x24B6,
+0x9241, 0x412C, 0x2E96, 0x2409, 0x924B, 0x0A60, 0xA096, 0x9249, 0x4804,
+0x2582, 0x8249, 0x4824, 0x6C12, 0x9241, 0x4924, 0x2480, 0x2409, 0xE249,
+0x0922, 0x2092, 0x9649, 0x4804, 0x6492, 0x1259, 0x4824, 0x2492, 0x1201,
+0x5924, 0x2C92, 0x2409, 0x9249, 0x5924, 0x2892, 0x9649, 0x4804, 0x6492,
+0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2481, 0x9249, 0x4924,
+0x2090, 0xB649, 0x4904, 0x2412, 0x1249, 0x4824, 0x2492, 0x9241, 0x492C,
+0x3412, 0x2001, 0x924B, 0x4925, 0x2092, 0x9249, 0x4804, 0x2082, 0x9249,
+0x4824, 0x2492, 0x9240, 0x0900, 0x0012, 0x2401, 0xB249, 0x4906, 0x2880,
+0x9649, 0x4804, 0x6082, 0x9259, 0x4A24, 0x2092, 0x9241, 0x5920, 0x2490,
+0x0008, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1080, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0480, 0x0008, 0x0000, 0x0000, 0x0440, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2C04, 0x3020,
+0xBF49, 0x022D, 0x2C00, 0xBFDF, 0x6F6D, 0x22C0, 0xFC4A, 0xBB64, 0x02C4,
+0x9B03, 0xDB64, 0x8B58, 0x0193, 0x32DC, 0xC37F, 0x2240, 0xF78A, 0x1B46,
+0xE023, 0xA004, 0xC96F, 0x91D2, 0x8053, 0xDDAC, 0x4D36, 0x0480, 0xBFCC,
+0x027D, 0x0413, 0xA28D, 0x0E6F, 0x2643, 0xB805, 0x8B64, 0xA402, 0x0309,
+0xD96F, 0xE23A, 0x0050, 0xAE38, 0x134C, 0xEC43, 0xF2D2, 0x596E, 0x222A,
+0xD441, 0xDBE5, 0xB08E, 0x9641, 0xD1AF, 0x9277, 0x4B4C, 0x12D8, 0xB864,
+0xD36C, 0x0249, 0x1904, 0xD925, 0x009C, 0x0929, 0xD928, 0x1690, 0x4129,
+0x3134, 0xD8EC, 0x0448, 0x5020, 0x592C, 0x8200, 0x000D, 0x0944, 0x04B2,
+0x1E00, 0x4A22, 0x8481, 0x0241, 0xF310, 0xDF24, 0x4210, 0xB080, 0x5B64,
+0x0603, 0x10A0, 0x4926, 0x8492, 0x110B, 0x5962, 0x0692, 0x0B04, 0x1017,
+0xD92C, 0x8080, 0x8905, 0x1124, 0x1400, 0x0201, 0xF905, 0xB0B6, 0x090A,
+0x69E2, 0xD9D2, 0x4350, 0x8300, 0x2D16, 0x4007, 0x1213, 0x6180, 0x4030,
+0x800A, 0x0C92, 0x2041, 0x8410, 0x6CD8, 0x6058, 0xA090, 0x4881, 0x0200,
+0x0111, 0x0081, 0x0720, 0x0C84, 0x1510, 0xA402, 0x6049, 0x2510, 0x0091,
+0x0508, 0xE030, 0x042C, 0x2080, 0x4001, 0x0188, 0x8402, 0x2108, 0x00C9,
+0x2411, 0x4048, 0x6002, 0x0111, 0x44C0, 0x4048, 0x6021, 0x0141, 0x0007,
+0x4292, 0x8408, 0x0138, 0xB408, 0x0404, 0x00C0, 0x2052, 0x4018, 0x4008,
+0xB010, 0x2400, 0x0062, 0x44B7, 0x0AD2, 0x0200, 0x4420, 0xB492, 0x0252,
+0x2100, 0xA49B, 0x0201, 0x5000, 0xB49B, 0x20AD, 0x00C1, 0x4F35, 0x00AA,
+0x1048, 0x0D80, 0x2699, 0x4040, 0x6C04, 0x76D8, 0x0201, 0x4023, 0x2657,
+0x0129, 0x0004, 0x6535, 0x0093, 0x1209, 0x4D00, 0x3690, 0x0302, 0x6C00,
+0xB6DB, 0x8001, 0x4810, 0xB698, 0x000D, 0x1001, 0x4597, 0x009B, 0x0108,
+0x0D20, 0x3699, 0x3209, 0x2904, 0x249B, 0x9001, 0x5540, 0xB6DA, 0xD309,
+0x8F1D, 0x2900, 0xF009, 0xD9CB, 0x299B, 0x0249, 0xDD09, 0x4E2F, 0x1A40,
+0xFC50, 0x367E, 0x0240, 0x9700, 0xDF08, 0x2080, 0xE251, 0x81B5, 0x6006,
+0x1042, 0x12A8, 0x00F2, 0x8003, 0xF120, 0x0D84, 0x9088, 0xE204, 0x976B,
+0x0880, 0xA248, 0x88C0, 0x2081, 0x004B, 0xD03C, 0x00E8, 0x0004, 0x53C0,
+0x06A6, 0x0043, 0x2C20, 0xC32A, 0x2820, 0x7240, 0x5A94, 0x709E, 0x0842,
+0xC474, 0x44B2, 0x9240, 0x62E0, 0x18BC, 0x0001, 0x6C34, 0xD081, 0x6425,
+0x409A, 0x0413, 0x6484, 0x42D3, 0x2248, 0x04B0, 0x16D2, 0x0205, 0x59A5,
+0x36D2, 0x0481, 0x2433, 0x69A1, 0x32C8, 0xA8D3, 0x2849, 0x26D0, 0x129D,
+0x4804, 0xA4D9, 0xB441, 0x4A64, 0x301A, 0x0809, 0x405B, 0x64A0, 0x52C3,
+0x609D, 0x4984, 0x2A94, 0x92C8, 0x6035, 0xAED2, 0xA6A1, 0x492D, 0xB491,
+0x1D01, 0x2E96, 0x6514, 0x20DA, 0x22D3, 0x29C5, 0x64D0, 0x02DA, 0x0C09,
+0xB613, 0x9605, 0x5227, 0x2419, 0x002C, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0040, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2100, 0x0000, 0x0001, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0004, 0x0120, 0x0000, 0x0001, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0060, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0800, 0x0011, 0x0080, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0080, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0280, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0480, 0x0008, 0x0140, 0x0104,
+0x8000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4200,
+0x0000, 0x0100, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0040, 0x8000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x2000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0080,
+0x0000, 0x0001, 0x0000, 0x0000, 0x8000, 0x8000, 0x0120, 0x8000, 0x0004,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0400, 0x2208, 0x0000, 0x0000, 0x8000,
+0x0400, 0x0000, 0x0000, 0x0008, 0x0040, 0x0000, 0x0401, 0x8000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0040, 0x1000, 0x0800, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2002, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0004, 0x2000, 0x0000, 0x0000, 0x1080, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x8004, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x8300, 0x0400, 0x0208, 0x1000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0600, 0x0004, 0x0004, 0x0000, 0x0020,
+0x0000, 0x8000, 0x1000, 0x0800, 0x0000, 0x0000, 0x1000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0400, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0004,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x2002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0800, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0044, 0x0000, 0x0400, 0x0008,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0200, 0x8000, 0x0000, 0x0200, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0200, 0x0020, 0x0040, 0x0000, 0x0008, 0x0200, 0x2000, 0x2040, 0x0000,
+0x0400, 0x0001, 0x0000, 0x0100, 0x1000, 0x0000, 0x0000, 0x0080, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0001, 0x0000, 0x1200,
+0x0005, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0600, 0x8000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x8000, 0x0000, 0x4000, 0x0200, 0x4020,
+0x0040, 0x0000, 0x0028, 0x0200, 0x2000, 0x0040, 0x0000, 0x0400, 0x0001,
+0x0000, 0x0100, 0x1000, 0x0000, 0x0000, 0x0081, 0x0001, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x1200, 0x0004, 0x0000,
+0x0401, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0200, 0x0000, 0x2000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x8001, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0100, 0x0000, 0x8000, 0x4000, 0x0000, 0x0000, 0x0011, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x1000, 0x1001, 0x0000, 0x8000, 0x8000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0040, 0x0001, 0x0001, 0x0200,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1200, 0x0024, 0x0000, 0x0800, 0x0280, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x4000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0002, 0x0000, 0x1000,
+0x0001, 0x0000, 0x8000, 0x0200, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2200, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0004,
+0x4000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0800, 0x0200, 0x0000, 0x0001,
+0x8000, 0x0000, 0x0000, 0x0004, 0x0100, 0x0000, 0x1000, 0x0000, 0x0000,
+0x4002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x4020, 0x1000, 0x0000, 0x0000, 0x8400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x1000, 0x0010, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0002, 0x0102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x8000, 0x0000, 0x4000, 0x0000, 0x8000, 0x0000,
+0x8400, 0x0001, 0x0400, 0x4100, 0x0000, 0x0000, 0x0000, 0x0000, 0x4010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0001, 0x8000, 0x0000, 0x1000, 0x0000, 0x0012, 0x4000, 0x2000, 0x0000,
+0x0101, 0x4000, 0x0100, 0x0000, 0x0000, 0x0201, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0400, 0x0001,
+0x0400, 0x0080, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x1000, 0x0000, 0x0008, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0080, 0x0400, 0x0000, 0x0080, 0x0000, 0x0000,
+0x4000, 0x0040, 0x0011, 0x0012, 0x0010, 0x0000, 0x0000, 0x0481, 0x0000,
+0x0120, 0x0000, 0x0020, 0x0010, 0x0004, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0001, 0x0000, 0x8000, 0x8004, 0x1000, 0x0400, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x2004, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x8000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0010, 0x0000, 0x0000, 0x0000, 0x0800, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x8000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x4001, 0x2000, 0x0020, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0008,
+0x0800, 0x1000, 0x0000, 0x0800, 0x0000, 0x0000, 0x4000, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x1000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2004, 0x0000, 0x0000, 0x0000, 0x0201,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x4000, 0x0000, 0x0000,
+0x0002, 0x0004, 0x0100, 0x0400, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x2004, 0x0004, 0x0000, 0x0120, 0x0000, 0x0000, 0x0000, 0x0012, 0x0020,
+0x100C, 0x0500, 0x0000, 0x0100, 0x0000, 0x0020, 0x0000, 0x0000, 0x1000,
+0x0000, 0x4120, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0201, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x2000, 0x0000, 0x0000, 0x4020, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0008, 0x1000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0002, 0x0000, 0x0020,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x4000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x5000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0012, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0030, 0x0002,
+0x0000, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0008, 0x0100,
+0x0004, 0x0000, 0x0000, 0x0020, 0x0000, 0x0028, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0080, 0x0001, 0x8000, 0x0002, 0x0000, 0x0000, 0x0010,
+0x1008, 0x4005, 0x0800, 0x8200, 0x0000, 0x0000, 0x0000, 0x8280, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0090, 0x1000, 0x0024, 0x0820, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0081, 0x0001, 0x0000, 0x0000, 0x0800, 0x0020, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0001, 0x1000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0010, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x1000, 0x0400, 0x0000,
+0x0040, 0x0002, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0201, 0x0000, 0x0020, 0x0000, 0x0100, 0x0002, 0x0000, 0x8000, 0x0100,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0008, 0x8501, 0x0000, 0x2000, 0x0001,
+0x2000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404,
+0x0400, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0001, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0040, 0x0000, 0x0420,
+0x0000, 0x0000, 0x0000, 0x0100, 0x6400, 0x1209, 0x4920, 0x2892, 0x1249,
+0x4904, 0x64B2, 0x8241, 0x4A04, 0x0492, 0x0243, 0x5124, 0x2492, 0x2408,
+0xD05B, 0x4924, 0x30D0, 0x8241, 0x4905, 0x2892, 0x921C, 0x482C, 0x3412,
+0x9241, 0x4B20, 0xA192, 0x4409, 0x9209, 0x4924, 0x20B2, 0x9209, 0xC904,
+0x2492, 0x124B, 0x4804, 0x2492, 0x1241, 0x4800, 0xA492, 0x2C09, 0x92C8,
+0x4924, 0xAC92, 0x1048, 0x4904, 0x6492, 0x8A49, 0x4E44, 0x6496, 0x9451,
+0x5924, 0x04D2, 0x6409, 0x9249, 0x4825, 0x2892, 0x9249, 0x4904, 0x6492,
+0x9241, 0x4A24, 0x0492, 0x9241, 0x5924, 0x2492, 0x2488, 0x901B, 0x0125,
+0x2092, 0x9249, 0x4905, 0x2082, 0x8259, 0x0C2C, 0x0492, 0x9241, 0x4B24,
+0x2492, 0x6401, 0x9209, 0x48A5, 0x2092, 0x9249, 0x4904, 0x1492, 0x124A,
+0x4004, 0x2492, 0x9201, 0x4820, 0x3492, 0x2C09, 0x92C8, 0x4901, 0x2890,
+0x9249, 0x4804, 0x6493, 0x9009, 0x4A64, 0x2492, 0x9450, 0x1924, 0x2482,
+0x0009, 0x0100, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x6001, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4840, 0x0101, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0100, 0x0004, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x4000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0002, 0x4044, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0900, 0x1080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4004, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x4000, 0x0000, 0x0080, 0x4000, 0x0800, 0x0000, 0x0040, 0x0400,
+0x4000, 0x0000, 0x0000, 0x4000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0040, 0x0200, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x8001, 0x0000, 0x6080, 0x0000, 0x4000, 0x0400,
+0x0200, 0x0100, 0x3000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0102, 0x0000, 0x0020, 0x4080, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2080, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x4004, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x5000, 0x0004, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0080, 0x0400, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0201, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0021, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x8249, 0x0924,
+0x2892, 0x9249, 0x4900, 0x6492, 0x1209, 0x4A24, 0x2492, 0x8141, 0x5924,
+0x2492, 0x0489, 0x9258, 0x0920, 0x2092, 0x9849, 0x4904, 0x2492, 0xB24D,
+0x4025, 0x0482, 0x9241, 0x0926, 0x2492, 0x2508, 0x92C9, 0x4920, 0x2082,
+0x9649, 0x4905, 0x2492, 0xA248, 0x4824, 0x2492, 0x9241, 0x0124, 0x24B2,
+0x6609, 0x924B, 0x0920, 0x0192, 0x9A49, 0x0904, 0x6CB2, 0x9249, 0x4A24,
+0x2C92, 0x1241, 0x59A4, 0x2492, 0x2409, 0x8249, 0x4924, 0x2892, 0x9A49,
+0x4904, 0x6492, 0xD249, 0x6A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2089,
+0x9259, 0x4924, 0x2092, 0x9269, 0x4904, 0x2486, 0x3349, 0x4825, 0x2012,
+0x9241, 0x4920, 0x0492, 0x2109, 0x92C9, 0x4924, 0x2092, 0x964D, 0x4905,
+0x2492, 0xB341, 0x0824, 0x20D2, 0x9241, 0x4924, 0x0490, 0x6409, 0x920B,
+0x4124, 0x2892, 0x9249, 0x4904, 0x6492, 0x9249, 0x0A24, 0x2092, 0xD241,
+0x5924, 0x2492, 0x0009, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0440, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x5000, 0x2501, 0xB2D9, 0xC27F, 0x0026, 0xF6D6, 0x4A7D, 0xA0B0, 0xB444,
+0xC96F, 0x3006, 0x924C, 0xCB0D, 0x0B7E, 0x2F98, 0x9E9C, 0xC365, 0x2841,
+0xF281, 0x1B6C, 0x0217, 0xB001, 0xDF75, 0x10B2, 0x8200, 0x9BAF, 0x4B36,
+0x3C90, 0xBFD8, 0x132D, 0x6292, 0xE6C4, 0x0975, 0x2642, 0xB401, 0xFB60,
+0x30B2, 0x804C, 0xCF2D, 0x053E, 0x0808, 0x97CD, 0x0369, 0x3152, 0xB691,
+0x5FAC, 0x45E3, 0xB809, 0x937C, 0x0416, 0x113B, 0x7AED, 0x8672, 0x5E6C,
+0x9E00, 0x3824, 0x4B08, 0x1040, 0x1804, 0x5985, 0x9092, 0x5A20, 0xC92A,
+0x9FB2, 0x5144, 0x9112, 0xC025, 0x2208, 0x1108, 0xD32C, 0x1602, 0x2905,
+0xC960, 0x9493, 0x6028, 0xCB80, 0x84B2, 0x0064, 0xF010, 0xC36D, 0x1048,
+0x8044, 0x893C, 0x0242, 0x1C08, 0xD924, 0x8092, 0x0029, 0x4942, 0x8CB2,
+0x1040, 0xB300, 0xC324, 0xA278, 0x9900, 0x6825, 0x8107, 0x0043, 0x9E06,
+0x04B6, 0x0085, 0x4B2A, 0x1C8C, 0x8024, 0x8117, 0x2031, 0x4827, 0x5201,
+0x2192, 0x0439, 0xA6C2, 0xAE12, 0x28DB, 0xA411, 0x7438, 0x60DD, 0x0413,
+0xC080, 0x00C8, 0x0191, 0x4001, 0x04C6, 0x0880, 0x3012, 0x2AB2, 0x2048,
+0xA2C2, 0x1C11, 0x0405, 0xB411, 0x0805, 0x3000, 0x2001, 0x4009, 0x0000,
+0x050C, 0x2600, 0x0090, 0x6080, 0x9246, 0x0481, 0x0108, 0x8018, 0x1800,
+0x4002, 0x4823, 0x00DA, 0x00A0, 0x21B8, 0xA01A, 0x2011, 0x40C1, 0x0080,
+0x05C9, 0x0620, 0x414A, 0x0009, 0x0000, 0x5DA7, 0x2A90, 0x0011, 0x0920,
+0xB6C3, 0x0008, 0x4900, 0xB69B, 0x0001, 0x5000, 0x34DB, 0x0089, 0x0000,
+0x61B5, 0x00DA, 0x0A00, 0x0D84, 0x2493, 0x8200, 0x6C21, 0x34CA, 0x1001,
+0x4120, 0x2453, 0x2009, 0x9248, 0x5135, 0x00D2, 0xC300, 0x4D84, 0x34CB,
+0x8200, 0x6C26, 0x0C9B, 0x0201, 0x4104, 0x32D2, 0x0105, 0x0000, 0x6C37,
+0x08D2, 0x2040, 0x69A1, 0xADDB, 0x8062, 0x6D24, 0x2493, 0x1241, 0x501C,
+0xA633, 0xB70D, 0x9FFC, 0x2010, 0x904B, 0xB7CC, 0x649B, 0x0018, 0x9EE7,
+0x36BB, 0x0040, 0xD760, 0x3FB7, 0x8200, 0xE734, 0xD96B, 0x8C00, 0xA201,
+0xD1DE, 0x6002, 0x1248, 0x5CEC, 0x0056, 0x8211, 0xAFE0, 0x0C06, 0x928C,
+0xD624, 0x0907, 0x2C88, 0xB209, 0x1C59, 0x204A, 0x0210, 0x182D, 0x0088,
+0xB240, 0xC960, 0x8E33, 0x842D, 0xF228, 0xD263, 0x0380, 0x2209, 0xCB29,
+0x041E, 0x1200, 0x5718, 0x02C0, 0x9248, 0xA980, 0x1E80, 0x10C8, 0x6820,
+0xC082, 0x69B5, 0x00C8, 0xD441, 0x2984, 0x658B, 0x0048, 0x4C24, 0x24D8,
+0x0AC5, 0x5000, 0xA6BA, 0x3CA5, 0x3612, 0x4521, 0x32D2, 0x2011, 0x2B0D,
+0x2EDA, 0x1409, 0x4824, 0x3083, 0x2041, 0x4B58, 0x6618, 0x052B, 0x0492,
+0x44B4, 0x2292, 0xB6C7, 0x2981, 0x24C3, 0x274B, 0x4C6D, 0x04B2, 0xB211,
+0x4245, 0x2293, 0x4435, 0x35D9, 0x4CA0, 0x7293, 0x965A, 0x4F00, 0x7316,
+0x00C8, 0x601A, 0xB6CA, 0xF035, 0x5141, 0x1613, 0x0029, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0009, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0040, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0220, 0x0008, 0x2000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0140,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x4010, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0010, 0x2000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0048,
+0x2000, 0x0040, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0009, 0x0040, 0x0000, 0x1040,
+0x0000, 0x2424, 0x9200, 0x0000, 0x0000, 0x8000, 0x0004, 0x4080, 0x0000,
+0x0001, 0x0240, 0x0200, 0x1009, 0x0088, 0x6000, 0x8000, 0x8000, 0x0004,
+0x1200, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0201, 0x0000, 0x0008, 0x0000, 0x0002, 0x2000, 0x0440,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x000B, 0x0000, 0x0004, 0x1040, 0x4008, 0x2400,
+0x9200, 0x0000, 0x0000, 0x8000, 0x0004, 0x0040, 0x0001, 0x0001, 0x0000,
+0x0800, 0x1009, 0x0200, 0x2000, 0x8000, 0x0000, 0x0000, 0x1200, 0x0000,
+0x0000, 0x0000, 0x0440, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8010,
+0x0000, 0x0000, 0x0088, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0200, 0x0000, 0x0000, 0x0040,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0408, 0x0000, 0x0100, 0x0000, 0x0040, 0x0000, 0x0240, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0200, 0x0000, 0x0000,
+0x1000, 0x0008, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0010, 0x0009,
+0x0000, 0x0000, 0x0040, 0x0009, 0x0000, 0x0200, 0x0000, 0x0000, 0x8000,
+0x0004, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x2400, 0x0201, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x8009, 0x0000,
+0x0800, 0x0000, 0x0003, 0x0008, 0x2000, 0x0008, 0x0000, 0x0200, 0x0040,
+0x0200, 0x0800, 0x0245, 0x8008, 0x0000, 0x0200, 0x0000, 0x0000, 0x0001,
+0x0401, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x8000, 0x2401, 0x0201,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x8009, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0008, 0x2000, 0x0408, 0x0000, 0x0000, 0x0440, 0x0200, 0x0000,
+0x0241, 0x8008, 0x0000, 0x0200, 0x0000, 0x0000, 0x0001, 0x0424, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0004, 0x0004, 0x0800, 0x0001, 0x0010, 0x0024, 0x0000,
+0x0000, 0x0000, 0x9000, 0x0801, 0x0000, 0x0080, 0x2000, 0x0000, 0x0000,
+0x0000, 0x8400, 0x0000, 0x0000, 0x0001, 0x0900, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0001, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0104, 0x2000, 0x0000, 0x4100, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0020, 0x0000, 0x1000, 0x0404, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0008, 0x0800, 0x0100, 0x0100, 0x0000, 0x0004, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x080A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0020, 0x0000, 0x8000, 0x0800, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0040, 0x0000, 0x0100, 0x0001, 0x2050, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0001,
+0x0000, 0x0000, 0x0040, 0x2000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2020, 0x0000, 0x0201, 0x0420, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0000, 0x1800, 0x0000, 0x0100, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0xC000, 0x0009, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0002, 0x0000, 0x0000, 0x0000, 0x8000, 0x0841, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0002, 0x0800, 0x0000, 0x0000, 0x0000, 0x1000, 0x0004,
+0x0000, 0x0001, 0x0400, 0x0400, 0x0000, 0x0000, 0x0000, 0x0400, 0x4000,
+0x0400, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x8000, 0x0010,
+0x0002, 0x0000, 0x0028, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0004,
+0x1000, 0x0400, 0x8000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x4100,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0028, 0x0004,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0800, 0x4000, 0x0000, 0x4000,
+0x0000, 0x0900, 0x0000, 0x0000, 0x0040, 0x0004, 0x0010, 0x4000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0040, 0x0004, 0x0008, 0x0120, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x1400, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x2004, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x1000, 0x0080, 0x0000, 0x0000, 0x4400, 0x0001, 0x0004, 0x0002,
+0x0009, 0x0000, 0x1200, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x4008,
+0x0010, 0x0000, 0x8080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0480, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0080, 0x0000, 0x0000, 0x0408, 0x0001, 0x0004, 0x0002, 0x0009, 0x0000,
+0x0000, 0x0400, 0x0000, 0x1000, 0x0000, 0x0000, 0x4000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0240, 0x0000,
+0x8000, 0x0000, 0x0000, 0x0010, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x8200, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0400, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0005, 0x0000, 0x0080, 0x0000, 0x0000, 0x0008, 0x0100, 0x0000,
+0x1000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0004, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000,
+0x0001, 0x8000, 0x0010, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0006, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0120, 0x0000, 0x2001,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0002, 0x8000, 0x4010, 0x0400, 0x8010,
+0x8008, 0x0000, 0x0000, 0x0001, 0x9540, 0x0020, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x2001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x2000,
+0x0400, 0x0000, 0x8000, 0x1008, 0x8008, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0020,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0202, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0100, 0x0000, 0x0000, 0x1002, 0x2000,
+0x0000, 0x0000, 0x4000, 0x0000, 0x2000, 0x0800, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0008, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0040, 0x2400, 0x8201, 0x4924,
+0x2912, 0x9258, 0x4904, 0x6092, 0x9049, 0x4A24, 0x2492, 0x9241, 0x5926,
+0x2492, 0x2089, 0xD009, 0xC924, 0x20B2, 0x8609, 0x4900, 0x2492, 0x1240,
+0x4810, 0x2492, 0x9240, 0x4A06, 0x2492, 0x2C09, 0x1200, 0xC924, 0x2092,
+0x8009, 0x4900, 0x0492, 0x9403, 0x4804, 0x6492, 0x1240, 0x4960, 0x2432,
+0x2401, 0x8041, 0x4124, 0x6896, 0x82C9, 0x5904, 0x6590, 0x0209, 0x4804,
+0x2482, 0x1041, 0x5924, 0x2492, 0x2409, 0x9209, 0x4925, 0x2812, 0x9259,
+0x0904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2489,
+0x9009, 0x4925, 0x2092, 0x9649, 0x4904, 0x2482, 0x9249, 0x4824, 0x2492,
+0x9241, 0x0B24, 0x0492, 0x2C01, 0x9248, 0x4905, 0x2092, 0x9249, 0x4900,
+0x2413, 0x960B, 0x4024, 0x2082, 0x1240, 0x4160, 0x2490, 0x2404, 0x9241,
+0x4925, 0x6892, 0x92C9, 0x4804, 0x6490, 0x9209, 0x0A24, 0x2482, 0x1041,
+0x5924, 0x2492, 0x0009, 0x4000, 0x0001, 0x0400, 0x0024, 0x0000, 0x0000,
+0x0020, 0x0090, 0x0000, 0x0120, 0x0080, 0x0000, 0x0000, 0x0024, 0x0081,
+0x1000, 0x4800, 0x0000, 0x0000, 0x0904, 0x0000, 0x0000, 0x0800, 0x0008,
+0x0000, 0x1000, 0x0000, 0x0001, 0x1000, 0x2020, 0x0000, 0x0001, 0x0800,
+0x0000, 0x0000, 0x00A0, 0x0000, 0x0000, 0x0000, 0x0800, 0x0001, 0x8400,
+0x0020, 0x0000, 0x0000, 0x0900, 0x0000, 0x0000, 0x0100, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x00C0, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0042, 0x0000, 0x8000, 0x0000, 0x0200, 0x4020, 0x0800, 0x0200,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0500, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x1000, 0x8000, 0x0000, 0x8200, 0x0000,
+0x0004, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x4002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x000A, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0404, 0x0102, 0x0002, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0401, 0x4000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x1000, 0x0004,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0010, 0x0000, 0x0020, 0x4020, 0x0000, 0x0000, 0x0020, 0x0000, 0x1000,
+0x4000, 0x0000, 0x0400, 0x0001, 0x0080, 0x0000, 0x0000, 0x0104, 0x0000,
+0x1400, 0x0004, 0x0800, 0x0000, 0x0000, 0x0012, 0x0000, 0x0020, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0800, 0x0000, 0x0100, 0x0000, 0x1000, 0x0100, 0x0000, 0x0000,
+0x4440, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x1040, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x2400,
+0x9248, 0x4924, 0x2892, 0x9269, 0x4904, 0x64B2, 0x9249, 0x4A24, 0x2592,
+0x9241, 0x5824, 0x2492, 0x2489, 0x9249, 0x4904, 0x2093, 0x9049, 0x8904,
+0x2492, 0xB249, 0x4824, 0x2696, 0x8241, 0x4924, 0x2492, 0x2409, 0x924D,
+0x4924, 0x2092, 0x86C9, 0x4904, 0x2492, 0x90C9, 0x4824, 0x2092, 0x9241,
+0x4B26, 0x2492, 0xE009, 0x9249, 0x4924, 0x2892, 0x9AC3, 0x4904, 0x6492,
+0x964C, 0x4A24, 0x2492, 0x9261, 0x5824, 0x2492, 0x2409, 0x9249, 0x4924,
+0x2892, 0x9249, 0x4804, 0x6492, 0x9269, 0x4A24, 0x2492, 0x9241, 0x5D24,
+0x2492, 0x2688, 0x9B49, 0x4924, 0xA092, 0x9349, 0x4906, 0x2492, 0xB245,
+0x4826, 0x2092, 0x9341, 0x4924, 0x2492, 0x3409, 0x9349, 0x4924, 0x2092,
+0x96C9, 0x4906, 0x2492, 0x92C9, 0x4886, 0x20D2, 0x9340, 0x4B24, 0x2492,
+0x7409, 0x9249, 0x4924, 0x2892, 0x93CB, 0x4104, 0x6492, 0xD649, 0x4A24,
+0x2092, 0x9241, 0x5924, 0x2492, 0x0009, 0x0000, 0x0000, 0x0401, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1008, 0x0000, 0x0000, 0x1040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x3000, 0xC080, 0xB679, 0x116D, 0x0C10, 0xBFD0, 0x5B6D,
+0x6108, 0xD440, 0xDB6D, 0x06CF, 0x920A, 0xDB64, 0x3866, 0x04B2, 0xF671,
+0x63C9, 0xBC30, 0xB540, 0x19A9, 0x3118, 0xC429, 0x532D, 0x20D2, 0xC068,
+0x7B68, 0x6037, 0x3482, 0xBF19, 0x038D, 0xD511, 0x22C9, 0x31AD, 0x2A44,
+0xF429, 0x7B64, 0x0080, 0x8A60, 0x7B6F, 0xCA15, 0x0000, 0xF6F9, 0x436D,
+0x0497, 0xF0D3, 0x5B7F, 0x30BA, 0x940A, 0xDA09, 0xB136, 0x900E, 0xC92F,
+0x8676, 0x1B2D, 0x90CC, 0xAB20, 0xD36C, 0x0002, 0x0904, 0x9864, 0x20F6,
+0x4924, 0xC922, 0x9DB0, 0x4909, 0x8E82, 0xD91D, 0x12C0, 0xD100, 0x630C,
+0x90C6, 0x0360, 0x4875, 0xA092, 0x8164, 0xCB32, 0x8CDA, 0xC921, 0xD210,
+0x692E, 0x02A0, 0x9140, 0x082C, 0x0C0A, 0x0240, 0xD121, 0x089A, 0x800F,
+0xC9E1, 0x45D6, 0xCC80, 0x1820, 0xC96C, 0x1804, 0xB904, 0x4DB0, 0x0404,
+0x0080, 0xC944, 0xB0B4, 0x4440, 0x480A, 0x9C90, 0x1774, 0x4313, 0x2C34,
+0x4B07, 0x0091, 0x6190, 0x203B, 0xB4C2, 0x2C82, 0x089B, 0x261A, 0x66B8,
+0x62D9, 0x14E0, 0xC181, 0x4480, 0x0105, 0x1040, 0x9096, 0x0C08, 0x2403,
+0x3CA2, 0x08C0, 0x021A, 0x6CA1, 0x0701, 0x0410, 0x800C, 0x8000, 0x4025,
+0x2000, 0x0000, 0x0900, 0x0002, 0x0402, 0x0801, 0x1212, 0x0411, 0x4200,
+0x14D0, 0x4004, 0x4002, 0x0C17, 0x4093, 0x2002, 0x00B9, 0xA181, 0x2410,
+0x00C9, 0x0411, 0x6009, 0x0641, 0x0419, 0x8009, 0x0000, 0x4987, 0x0393,
+0x0008, 0x4420, 0x3492, 0x8200, 0x2900, 0x2592, 0x0201, 0x5000, 0x34DB,
+0x0089, 0x0010, 0x49A5, 0x001B, 0x2200, 0x4D80, 0x26D3, 0x0000, 0x6820,
+0xB6DA, 0x0001, 0x4048, 0xB4D3, 0x2009, 0xA000, 0x4DA5, 0x22DB, 0x5800,
+0x4F08, 0x365B, 0x4001, 0x0804, 0xA4BB, 0x10C1, 0xC120, 0xC49A, 0x0229,
+0x0040, 0x0DB7, 0x08D2, 0x0405, 0x4D20, 0xA4D3, 0x9041, 0x6D00, 0x24DA,
+0x0041, 0x5002, 0x3ED8, 0x3E0D, 0x7F7D, 0x2430, 0x6048, 0xFBE7, 0x29DF,
+0x0249, 0x5D5B, 0x44FF, 0x9249, 0xF870, 0x19F7, 0x8220, 0xDD24, 0xF26D,
+0x2410, 0x52C0, 0x48EF, 0x200C, 0x1028, 0xCFF3, 0x04D4, 0x0005, 0xDE30,
+0x0F96, 0x0208, 0xC426, 0x424B, 0x2010, 0x1000, 0x2348, 0x2084, 0x0080,
+0x991C, 0x6418, 0x1240, 0xC600, 0x005E, 0x3241, 0x2C04, 0xD31D, 0x6000,
+0x2209, 0xDAD8, 0x209E, 0x1208, 0x0624, 0x02F4, 0x9201, 0x4BA0, 0x1FA0,
+0x8023, 0x2820, 0x80C2, 0x6D14, 0x40DA, 0x0403, 0x4484, 0x669B, 0x0219,
+0x0C00, 0xB4D3, 0x1044, 0x5404, 0xA692, 0x22BD, 0x2B42, 0x2D15, 0xA21B,
+0x0541, 0x6801, 0x341E, 0x820C, 0x0C2F, 0x3493, 0x1141, 0x0024, 0x16DA,
+0x3D28, 0x1ED1, 0x6434, 0x421B, 0xB6F7, 0x7987, 0x141B, 0x22D8, 0x2CE4,
+0x04D2, 0x3201, 0x48A9, 0x0699, 0x2508, 0x3691, 0x2985, 0x82DA, 0x9249,
+0x2900, 0x76C8, 0x5B8B, 0x4C00, 0xB79A, 0x96D5, 0x512C, 0xA494, 0x002D,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0004, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0200,
+0x0900, 0x4800, 0x8000, 0x0100, 0x0000, 0x0000, 0x0004, 0x0002, 0x0000,
+0x0100, 0x0000, 0x8000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0002,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0001, 0x0000, 0x0208, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0200, 0x0000, 0x0000, 0x0000, 0x0044, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0020, 0x0000, 0x4000, 0x0000,
+0x0000, 0x0000, 0xC020, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0010, 0x1000, 0x0080, 0x0000, 0x0000, 0x0004, 0x0000, 0x0040,
+0x0004, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0041, 0x0000, 0x0400, 0x0200, 0x0000, 0x0000, 0x0000, 0x000C,
+0x1040, 0x0000, 0x0000, 0x0010, 0x0000, 0x8000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8200, 0x0018, 0x0001, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0020, 0x9008, 0x0008, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0001, 0x1000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x2200, 0x0000, 0x0804, 0x0000, 0x0000, 0x0040, 0x0110,
+0x0001, 0x0000, 0x0000, 0x0000, 0x1000, 0x0800, 0x0040, 0x0200, 0x0800,
+0x9008, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0xB000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1001, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0020, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0101, 0x9000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0800, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x4000, 0x0200, 0x0000, 0x0480, 0x0001, 0x0000, 0x2000, 0x0008, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0008, 0x0004, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0004, 0x0040, 0x0000, 0x0000, 0x1080, 0x0000, 0x0000, 0x9000,
+0x2020, 0x0000, 0x0090, 0x0208, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x1001, 0x8000, 0x0000, 0x1200, 0x0021, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1001, 0x0020,
+0x0000, 0x0481, 0x0401, 0x0000, 0x2000, 0x0008, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0008, 0x0004, 0x0000, 0x0001, 0x0200, 0x0000, 0x0004,
+0x0040, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x9000, 0x2020, 0x0000,
+0x0091, 0x0208, 0x0000, 0x0200, 0x0001, 0x0000, 0x8000, 0x1001, 0x8000,
+0x0000, 0x1220, 0x0020, 0x0000, 0x0001, 0x0408, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x1001, 0x0220, 0x0000, 0x0041,
+0x0400, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x2041, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0002, 0x0010, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8009, 0x0402, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x8040, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x8000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0020,
+0x0000, 0x0020, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0002, 0x0401, 0x0400, 0x0000, 0x0000, 0x8020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0021, 0x0000, 0x4000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0100, 0x0000, 0x0010, 0x0800, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x1000, 0x0000,
+0x0800, 0x0008, 0x0000, 0x0200, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x4000, 0x0000, 0x8000, 0x0000,
+0x0201, 0x0404, 0x0004, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0020, 0x2000, 0x0000, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0001, 0x0000, 0x1001,
+0x0080, 0x0000, 0x0000, 0x2008, 0x0000, 0x0010, 0x0000, 0x0002, 0x8008,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0001, 0x0200, 0x0800, 0x0000, 0x0000,
+0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0090,
+0x0000, 0x0000, 0x0000, 0x6800, 0x1000, 0x0000, 0x0040, 0x0020, 0x4000,
+0x0200, 0x00A4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0408, 0x0002, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0021, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0100, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0100, 0x1000, 0x0000, 0x0000, 0x0002, 0x0880,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0002, 0x0000, 0x0000, 0x0000,
+0x8000, 0x0000, 0x1200, 0x0010, 0x4004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0001, 0x0000, 0x0000, 0x4000,
+0x1000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0080, 0x4000, 0x0000, 0x2000, 0x0000, 0x0010,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0401, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2310, 0x0000, 0x0000, 0x4680, 0x0001, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x1000, 0x0000, 0x0004, 0x4000, 0x0004, 0x0000,
+0x0440, 0x0022, 0x8004, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0800, 0x0020, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x2010, 0x0000,
+0x0000, 0x0480, 0x0001, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0010, 0x0002,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0020, 0x0000, 0x0000, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0040, 0x0100, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0008, 0x0000, 0x0400, 0x0000, 0x0020, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x8000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x000C, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0002,
+0x0020, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x02B0, 0x0000, 0x0028, 0x0000, 0x0000, 0x0004, 0x1010, 0x0000,
+0x4000, 0x2000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0008, 0x0000,
+0x224A, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1104, 0x0000,
+0x0000, 0x8001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001,
+0x2000, 0x0000, 0x0800, 0x2000, 0x0000, 0x0840, 0x0400, 0x0000, 0x0220,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0044, 0x0000, 0x8000, 0x2000, 0x0010, 0x0000, 0x0004, 0x0000,
+0x0000, 0xA000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0080, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0020, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0040, 0x0000, 0x0000, 0x0800, 0x0000, 0x0100, 0x0002,
+0x0000, 0xA000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0601, 0x0000, 0x0000, 0x2000, 0x0002, 0x0000, 0x5000,
+0x0000, 0x0800, 0x0090, 0x0000, 0x0000, 0x0000, 0x1001, 0x0400, 0x0004,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0800, 0x0400,
+0x920A, 0x4925, 0x2C92, 0x9041, 0x4904, 0x6492, 0xA0E9, 0x4A20, 0x2492,
+0x9141, 0x5C24, 0x2490, 0x2499, 0x1F09, 0x4925, 0x2092, 0x8249, 0x4904,
+0x2492, 0x124D, 0x4820, 0x2492, 0x9241, 0x4100, 0x2492, 0x0001, 0x1009,
+0x4925, 0x2096, 0x9289, 0x4904, 0x2490, 0x8609, 0x0820, 0x2492, 0x1043,
+0x4101, 0x2492, 0x2409, 0x9049, 0x4925, 0x28B2, 0x9249, 0x4906, 0x6492,
+0x8249, 0x4A24, 0x2C92, 0x9601, 0x5120, 0x2492, 0x0409, 0x9203, 0x4124,
+0x2893, 0x9041, 0x4904, 0x6492, 0xB089, 0x4A24, 0x2410, 0x9041, 0x5924,
+0x2492, 0x2489, 0x9409, 0x4924, 0x208A, 0x9249, 0x4904, 0x0482, 0x0249,
+0x4804, 0x2012, 0x9240, 0x4124, 0x0492, 0x0409, 0x1249, 0x4924, 0x2092,
+0x92C9, 0x4D04, 0x2490, 0x9649, 0x0824, 0x2683, 0x8241, 0x4925, 0x2090,
+0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x8249, 0x4224,
+0x2492, 0x9641, 0x5920, 0x2482, 0x0009, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0001, 0x0010, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0002, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x1000, 0x0000, 0x0000, 0x8400, 0x0000, 0x0000, 0x0020,
+0x0080, 0x2800, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x4044,
+0x0000, 0x4000, 0x0000, 0x0000, 0x2000, 0x0C00, 0x1980, 0x0000, 0x0080,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0C00, 0x0180, 0x0000, 0x0001, 0x2002, 0x0000, 0x0000, 0x0001, 0x0020,
+0x0000, 0x0000, 0x0020, 0x0100, 0x0800, 0x0820, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0042, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x7010, 0x0020,
+0x1000, 0x0C00, 0x0001, 0x0000, 0x0000, 0x0090, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0100, 0x0000, 0x1004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0404,
+0x0004, 0x0000, 0x0100, 0x0010, 0x0000, 0x0080, 0x0810, 0x0000, 0x0800,
+0x0000, 0x0000, 0x8000, 0x0000, 0x0010, 0x0000, 0x0440, 0x0400, 0x0080,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002,
+0x0000, 0x0000, 0x0002, 0x2080, 0x0020, 0x2010, 0x0000, 0x0001, 0x0400,
+0x0001, 0x0000, 0x0000, 0x0090, 0x0001, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0410, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x2000, 0x0200, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0500, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0088, 0x0000, 0x0000, 0x0020, 0x0008, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0104, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0404, 0x0020, 0x0040, 0x0000, 0x0000, 0x0000, 0x4880, 0x0000, 0x8000,
+0x0000, 0xE400, 0x9209, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x8649,
+0xC204, 0x2412, 0x9241, 0x5924, 0x2412, 0x0481, 0xA249, 0x0120, 0x2092,
+0xD209, 0x4904, 0x2892, 0x2249, 0x4021, 0x2412, 0x9241, 0x4934, 0x2492,
+0x2009, 0xD249, 0x4820, 0x2096, 0x9249, 0x4904, 0x2412, 0x9249, 0x0064,
+0x2812, 0x9241, 0x4124, 0x0494, 0x2409, 0x8249, 0x4964, 0x2892, 0x9209,
+0x4904, 0x6496, 0x9249, 0x4224, 0x2412, 0x9241, 0x5924, 0x2490, 0x6409,
+0x9249, 0x4925, 0x2092, 0x1249, 0x4904, 0x4490, 0x9649, 0x4A24, 0x2492,
+0x9241, 0x5924, 0x2492, 0x0489, 0xB249, 0x4924, 0x2092, 0x9249, 0x4904,
+0x0490, 0xB249, 0x4825, 0x2492, 0x9241, 0x4124, 0x2492, 0x2409, 0x9249,
+0x4925, 0x2092, 0x9249, 0x4904, 0x0490, 0x9249, 0x4864, 0x2492, 0x9241,
+0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6490,
+0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x0009, 0x0000, 0x0000,
+0x0400, 0x8000, 0x0000, 0x2002, 0x0000, 0x0000, 0x0208, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2202, 0x0000,
+0x0000, 0x8200, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x2002, 0x0000, 0x2400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0401, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0008, 0xC804, 0x0080, 0xB7D1, 0xA36D, 0x0C02,
+0xA650, 0x5B6D, 0x0040, 0xB400, 0xDB6C, 0x081E, 0xD000, 0xDB6D, 0x0976,
+0x2420, 0xB6F1, 0x636D, 0x0850, 0xF444, 0x0B6C, 0x2008, 0x9400, 0xDB69,
+0x1092, 0xC04B, 0xDBAD, 0x193E, 0x24B3, 0xBAD0, 0x73CD, 0xA000, 0x3648,
+0x316D, 0x2602, 0xB471, 0x5B67, 0x0090, 0xCA49, 0xDB6D, 0x8817, 0x0280,
+0xB6F9, 0x4365, 0x0012, 0xD5D1, 0x5B6D, 0x008A, 0x8410, 0xDF69, 0x1CCE,
+0x9000, 0xDB2C, 0x7676, 0xDB6D, 0x9040, 0x1124, 0xD36D, 0x02C6, 0x8924,
+0x5B25, 0x90B6, 0x4825, 0xD172, 0x9DB6, 0x4904, 0xBE12, 0xD90D, 0x8240,
+0x9020, 0x513C, 0x90C2, 0x1985, 0xDB64, 0xB092, 0x4520, 0xCB32, 0x8D94,
+0x0964, 0xA612, 0x6B46, 0x0640, 0x8100, 0x5B2C, 0x128A, 0x0624, 0x4965,
+0x9086, 0xA80C, 0xDB30, 0x04D6, 0x0184, 0x1A30, 0xD96C, 0x914C, 0xF128,
+0xDB7C, 0x8006, 0x0924, 0x5B24, 0xE0A6, 0x4820, 0xC122, 0x9CB6, 0x0161,
+0x1912, 0x6D36, 0x4807, 0x5890, 0x6192, 0x413B, 0x2482, 0x2DF6, 0x48DB,
+0x2692, 0x65A1, 0x26DB, 0x3492, 0xC189, 0x0412, 0x4901, 0x4003, 0x25A6,
+0x0C09, 0x24D2, 0x4CB2, 0x4CD9, 0xB412, 0x5DA1, 0x04A0, 0x0011, 0xC800,
+0x0000, 0x0111, 0x6209, 0x0496, 0x4800, 0x055A, 0x0130, 0x6448, 0x3000,
+0x2500, 0x0300, 0x0091, 0x2300, 0x6C36, 0x4D07, 0x0890, 0x61A8, 0x243A,
+0xA092, 0x0CC2, 0x40CA, 0x2094, 0x6099, 0x46C9, 0x2480, 0x0009, 0x0001,
+0x4927, 0x0892, 0x0008, 0x49A0, 0x2492, 0x4200, 0x6900, 0x2693, 0x0009,
+0x5000, 0x249A, 0x0089, 0x0000, 0x4925, 0x009F, 0x1050, 0x4D84, 0x369B,
+0x0000, 0x6C24, 0x2492, 0x0001, 0x4000, 0xA453, 0x0401, 0xA101, 0x6D25,
+0x10D2, 0x0200, 0x4D80, 0x3693, 0x0001, 0x6800, 0xAED8, 0x0031, 0x4102,
+0xA493, 0x202D, 0x0200, 0x4D77, 0x009A, 0x0000, 0x4D20, 0x2492, 0x0000,
+0x6F00, 0x2293, 0x0001, 0x5004, 0x24DB, 0xF50D, 0xFF7C, 0x2490, 0xD249,
+0xFBF1, 0x241F, 0x1249, 0xBD3F, 0x06FF, 0x9048, 0xFBF0, 0x3FFF, 0x9241,
+0xFC24, 0x9B7B, 0xA490, 0x1240, 0xCFAF, 0x200B, 0x0040, 0xDEF7, 0x00D8,
+0x9249, 0xEF70, 0x0FA6, 0x1A88, 0xF02C, 0x526A, 0x8090, 0x8209, 0x595F,
+0x200C, 0x004C, 0xD9FC, 0x0406, 0x1003, 0xD740, 0x0474, 0x1248, 0x9E00,
+0xFD7F, 0x2080, 0x6241, 0xFBF9, 0x209E, 0x1249, 0xDE61, 0x00FF, 0x9448,
+0xEA30, 0x1FE3, 0x9200, 0x0220, 0x0080, 0x6CB4, 0x22DB, 0x0404, 0x6D00,
+0x76DB, 0x8008, 0x6C00, 0xB4DA, 0x0205, 0x1000, 0xA6DB, 0x02AD, 0x22C0,
+0x6D9D, 0xA2FA, 0x8241, 0x2B04, 0x269A, 0x2109, 0x4824, 0x26DB, 0x2041,
+0x0249, 0xB61A, 0x0325, 0x9C99, 0x61A5, 0x0052, 0xA061, 0xED07, 0x1493,
+0xB68A, 0x58A1, 0x26D1, 0x00C1, 0x0829, 0xB6DA, 0x440E, 0x0281, 0x6995,
+0x82D3, 0x0403, 0x08C1, 0x76DB, 0xA11D, 0x4C01, 0xF2DB, 0x1645, 0x5100,
+0xB69A, 0x002D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x1000, 0x0000,
+0x0000, 0x8200, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x4000, 0x0002, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x8001, 0x0000, 0x0841, 0x0000, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x8050, 0x2000, 0x0000, 0x1008, 0x0000, 0x0008, 0x0000, 0x0440,
+0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x1000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0001,
+0x0400, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x8001, 0x0008,
+0x0200, 0x0020, 0x0200, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x8040,
+0x0000, 0x0004, 0x1008, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0240, 0x0000, 0x0000, 0x1200, 0x0000, 0x0000,
+0x0002, 0x0200, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0200, 0x0008, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xA000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0010, 0x0040, 0x0000, 0x0400, 0x0200, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x8008, 0x0000, 0x8001, 0x0400, 0x0009, 0x0040, 0x0000, 0x0242,
+0x8200, 0x0000, 0x1200, 0x0000, 0x0000, 0x9200, 0x2000, 0x1000, 0x2000,
+0x0001, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0041, 0x0004, 0x0000, 0x0009, 0x0400, 0x0000, 0x2000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0011, 0x0040,
+0x0000, 0x0400, 0x0200, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x8008,
+0x0000, 0x8001, 0x0401, 0x0009, 0x0040, 0x0000, 0x0240, 0x8200, 0x0800,
+0x1200, 0x0000, 0x0000, 0x9200, 0x2000, 0x1000, 0x2001, 0x0401, 0x0000,
+0x0500, 0x0010, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0041, 0x0004,
+0x0000, 0x0000, 0x0400, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0011, 0x0002, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0000, 0x0800, 0x0010, 0x0000, 0x0001, 0x0404, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0100, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0201,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0824, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8012,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0001, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0044, 0x0000, 0x0000, 0x0800, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0040, 0x0000, 0x0280, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0010, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000,
+0x0000, 0x8002, 0x0080, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0800, 0x0000, 0x0004, 0x4000, 0x0000, 0x0120, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000,
+0x1000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0100, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0082, 0x0000, 0x0004, 0x0000, 0x0000, 0x4000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0200, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0082, 0x0000, 0x0004, 0x0000, 0x0000, 0x4000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0008, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8001, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2008, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x1000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0104, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0026, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0800, 0x0000, 0x1000, 0x0000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0800, 0x0020, 0x0081, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x8000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009,
+0x0002, 0x0400, 0x0000, 0x0000, 0x0000, 0x2010, 0x2200, 0x0010, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0201, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0080, 0x0002, 0x0800, 0x0000, 0x0000, 0x0401,
+0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x3000, 0x0001, 0x0000, 0x0400,
+0x0000, 0x0000, 0xC000, 0x4002, 0x0000, 0x4010, 0x0000, 0x0200, 0x0100,
+0x0000, 0x0048, 0x0400, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0002, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2001, 0x0082, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0005, 0x8080, 0x0000, 0x0004, 0x4000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2400, 0x9249, 0x4924, 0x2C92, 0x9241, 0x5904, 0x6492, 0x8249,
+0x4A24, 0x2492, 0x82D1, 0x5924, 0x2492, 0x2089, 0x8249, 0x492C, 0x2092,
+0x1248, 0x4B04, 0x2492, 0x1249, 0x4824, 0x2492, 0x9001, 0x490C, 0x2492,
+0x3409, 0x1008, 0x4124, 0x2090, 0x0249, 0x4900, 0x2C92, 0x0249, 0x4800,
+0x2490, 0x3040, 0x4900, 0x2412, 0x2409, 0x8201, 0x4924, 0x2C92, 0x9248,
+0x6D44, 0x6492, 0x9249, 0x0824, 0x0492, 0x8281, 0x5834, 0x2492, 0x2409,
+0x9249, 0x4925, 0x2892, 0x9249, 0x4904, 0x6492, 0x9049, 0x4A24, 0x2492,
+0x92D1, 0x1924, 0x2480, 0x2489, 0x9249, 0x4925, 0x2092, 0x9249, 0x4904,
+0x2492, 0x1249, 0x4824, 0x2412, 0x9241, 0x492C, 0x0492, 0x2409, 0x8249,
+0x4925, 0x2010, 0x9249, 0x4900, 0x2492, 0x1241, 0x0824, 0x0492, 0xB241,
+0x4920, 0x2412, 0x0401, 0x9249, 0x4925, 0x2892, 0x9248, 0x4904, 0x6492,
+0x9249, 0x4A24, 0x0492, 0x92C1, 0x5924, 0x2490, 0x0009, 0x0000, 0x0001,
+0x8400, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0001, 0x0500, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0001, 0x0000,
+0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0084, 0x1000,
+0x0000, 0x0000, 0x0001, 0x8400, 0x0000, 0x0000, 0x0000, 0x0900, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0xC004, 0x0004, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x2800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004, 0x0000, 0x0000, 0x0004,
+0x0004, 0x0000, 0x0000, 0x0008, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x4014, 0x0400, 0x0000, 0x0082, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0100, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000,
+0x0000, 0x0020, 0x0000, 0x0000, 0x8008, 0x0080, 0x0002, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0001, 0x0800, 0x8400, 0x0000, 0x0000, 0x0000, 0x0104,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x1004, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2400, 0x924B, 0x4924, 0x2892, 0x9249, 0x4904,
+0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2482, 0x2489, 0x82C9,
+0x0920, 0x0092, 0x9249, 0x4904, 0x2492, 0x9241, 0x4824, 0x0492, 0x9241,
+0x4924, 0x2492, 0x2C09, 0x82C9, 0x0920, 0x0092, 0x9649, 0x4900, 0x2492,
+0x9249, 0x482C, 0x6410, 0x1241, 0x4920, 0x2492, 0x2409, 0x9249, 0x0900,
+0x2092, 0x9249, 0x4904, 0x6492, 0x9259, 0x4A04, 0x2492, 0x9241, 0x5924,
+0x2C92, 0x2409, 0x924B, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x9241,
+0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2489, 0x92C9, 0x4924, 0x0090,
+0x8249, 0x4904, 0x2492, 0x9241, 0x4824, 0x2492, 0x9241, 0x4924, 0x2492,
+0x0C09, 0x92C9, 0x4904, 0x0090, 0x8609, 0x4904, 0x2492, 0x1241, 0x4C0C,
+0x0490, 0x9241, 0x4920, 0x0490, 0x2409, 0x9248, 0x4104, 0x3890, 0x9249,
+0x4904, 0x6492, 0x9258, 0x4A24, 0x2092, 0x9241, 0x5924, 0x2492, 0x0009,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0402, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0002, 0xBED9,
+0x036D, 0x0000, 0x36D0, 0x5B6D, 0x0300, 0xB400, 0xDB65, 0x040E, 0x9000,
+0xDB6D, 0x2076, 0x0000, 0xB659, 0x036D, 0x0000, 0xB6C0, 0x1B6D, 0x0010,
+0xF400, 0xDB6D, 0x0002, 0x8000, 0xDB69, 0x0036, 0x10D8, 0x96D8, 0x032C,
+0x1000, 0xB6C0, 0x1BAD, 0x4000, 0xB400, 0xFBFD, 0x0002, 0x8020, 0x7B6D,
+0x2536, 0x0000, 0xB74D, 0x036D, 0x0002, 0xB690, 0x5B6D, 0x4041, 0xF800,
+0xDB6C, 0x0016, 0x9000, 0xDB6D, 0x3676, 0xDB6F, 0x9248, 0xB124, 0xDB65,
+0x5246, 0x0924, 0xD86D, 0x90B6, 0x4928, 0xCB62, 0x9DB6, 0x4924, 0x9612,
+0xDB6D, 0x92C8, 0xB124, 0xDB6D, 0x9246, 0x0924, 0xDB7D, 0x90B6, 0x4924,
+0xDB62, 0x8DB6, 0x4920, 0xB612, 0xC925, 0x3248, 0xB161, 0xC96D, 0x9246,
+0x0964, 0x0B6D, 0x90B6, 0x4404, 0xDB62, 0x8D96, 0x8424, 0x9310, 0xDB6D,
+0x92D8, 0x9924, 0xDB6D, 0x8306, 0x0924, 0x9B2C, 0x84B6, 0x4825, 0xD92A,
+0x1DB6, 0x4920, 0x5B12, 0x6DB4, 0x4127, 0xD892, 0x6D96, 0x693B, 0xA492,
+0x6CB6, 0x48DB, 0x2492, 0x6DB9, 0x66DB, 0x2482, 0xDB89, 0x6DB6, 0x4925,
+0xD092, 0x6DB6, 0x490B, 0x2492, 0x6DA6, 0x08DB, 0x2492, 0x6CB1, 0x46DB,
+0x2492, 0xDB09, 0x7C06, 0x0925, 0xD090, 0x4036, 0x490B, 0x2412, 0x01B6,
+0x48D0, 0x0422, 0x2DB1, 0x4640, 0x0492, 0xB809, 0x6DB6, 0x4823, 0xC092,
+0x69B2, 0x41BB, 0xA492, 0x2D80, 0x00DB, 0x2492, 0x6C99, 0x06DB, 0x249A,
+0x0009, 0x0000, 0x4927, 0x0092, 0x0000, 0x6920, 0x2492, 0x0000, 0x4B00,
+0x249A, 0x0001, 0x5000, 0x2492, 0x0089, 0x0000, 0x49A5, 0x0092, 0x0000,
+0x4900, 0x2492, 0x0000, 0x4800, 0x2492, 0x0001, 0x4000, 0x2492, 0x0009,
+0x1048, 0x6925, 0x00DB, 0x1000, 0x4900, 0x245A, 0x0000, 0x4800, 0x0642,
+0x0001, 0x4020, 0x8492, 0x0409, 0x0000, 0x48B7, 0x0892, 0x0000, 0x49A0,
+0xA492, 0x0040, 0x0500, 0x2493, 0x0001, 0x5004, 0x249B, 0xFF09, 0xFFFF,
+0x2690, 0xF249, 0xFFCF, 0x049F, 0x1249, 0xFCFF, 0x24FF, 0x9241, 0xFBF0,
+0x3FFF, 0x9249, 0xDF24, 0xFFFF, 0x2410, 0xF249, 0xFFFF, 0x248F, 0x1249,
+0xFFFF, 0x24FF, 0x9249, 0xFEF0, 0x0FFF, 0x9249, 0xFF24, 0xEE07, 0x0490,
+0xF200, 0xEB7F, 0x248F, 0x12A5, 0xFFFF, 0x24FC, 0xB099, 0xBFF0, 0x0F4C,
+0x3249, 0xFB24, 0xFFFF, 0x2500, 0xA249, 0xFBF9, 0x241F, 0x1249, 0xFFBA,
+0xEAFF, 0x9248, 0xFEC0, 0x1FFB, 0x9240, 0x0024, 0x0000, 0x65B5, 0x02DB,
+0x0028, 0x4D80, 0x76DB, 0x0200, 0x6C00, 0xB6D3, 0x1005, 0x5000, 0xB6DB,
+0x20AD, 0x0000, 0x6D35, 0x02DB, 0x0000, 0x6D80, 0x36DB, 0x0000, 0x2C00,
+0xB6DB, 0x0101, 0x4000, 0xB6DB, 0x002D, 0x02D8, 0xCDB5, 0x029A, 0x3680,
+0x6D80, 0x361B, 0xB400, 0x6C09, 0x964B, 0x0001, 0x4029, 0x16DB, 0x442D,
+0x0000, 0x6C21, 0x32DB, 0x0400, 0x6D00, 0x76DB, 0x0053, 0x2000, 0xB6DA,
+0x0245, 0x5000, 0xB6D3, 0x002D, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x1008, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000,
+0x0042, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2080, 0x0040, 0x1000, 0x0004, 0x1000, 0x0000, 0x0000,
+0x2000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0200, 0x0000,
+0x0018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0040, 0x0000, 0x0000, 0x1400, 0x0000, 0x0000, 0x2000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x1000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0800, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1240, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0011, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x1000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1240, 0x0000, 0x0008, 0x0001,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x8000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0008, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0060, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0009, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x0000, 0x1020, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x4000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000,
+0x0200, 0x0000, 0x0000, 0x0400, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0040, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x4000, 0x5000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0004, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0001, 0x0400, 0x0200, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0xA400, 0x9249, 0x4924, 0x2C92, 0x9249, 0x4904,
+0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x2089, 0x9049,
+0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9248, 0x4824, 0x2492, 0x9241,
+0x4920, 0x2492, 0x2009, 0x9269, 0x4924, 0x2092, 0x9209, 0x4904, 0x2492,
+0x8241, 0x4824, 0x2492, 0x0241, 0x4930, 0x2412, 0x2409, 0x9241, 0x4924,
+0x2892, 0x9249, 0x4904, 0x6492, 0x9049, 0x4A24, 0x2482, 0x8241, 0x5924,
+0x2492, 0x2409, 0x9249, 0x4925, 0x2892, 0x9249, 0x4904, 0x6492, 0x9249,
+0x4A24, 0x2482, 0x9241, 0x5924, 0x2492, 0x2489, 0x1249, 0x4925, 0x2092,
+0x9249, 0x4904, 0x2492, 0x9249, 0x4824, 0x2492, 0x9241, 0x4924, 0x2492,
+0x2409, 0x9249, 0x4925, 0x2092, 0x9209, 0x4904, 0x2492, 0x9249, 0x4824,
+0x2492, 0x9241, 0x4924, 0x2492, 0x2409, 0x9249, 0x4925, 0x2892, 0x9049,
+0x4104, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x0209,
+0x0000, 0x0001, 0x0400, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0200, 0x4004, 0x0001, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0040, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0008, 0x0000, 0x0100, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2040, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x4000, 0x0082, 0x0000, 0x0000, 0x0008, 0x0800, 0x0400, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0220, 0x0000, 0x0120, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0020, 0x0000, 0x8000, 0x0000, 0x4000, 0x0000, 0x0000, 0x0002, 0x0010,
+0x0000, 0x0000, 0x0008, 0x0000, 0x0400, 0x0000, 0x0200, 0x0000, 0x0000,
+0x1000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0400, 0x9209, 0x4924, 0x2892,
+0x9249, 0x4904, 0x6492, 0x8249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492,
+0x0489, 0x9249, 0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249, 0x4824,
+0x2492, 0x9241, 0x4924, 0x2492, 0x2409, 0x1209, 0x4924, 0x2092, 0x9249,
+0x4904, 0x2492, 0x9241, 0x4824, 0x2482, 0x3241, 0x4924, 0x0492, 0x2409,
+0x9241, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x9209, 0x4A24, 0x2492,
+0x9241, 0x5924, 0x2492, 0x2409, 0x9249, 0x0920, 0x2892, 0x9249, 0x4904,
+0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924, 0x2492, 0x0409, 0x9249,
+0x0920, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249, 0x4824, 0x2492, 0x9241,
+0x4924, 0x2492, 0x2409, 0x9240, 0x0920, 0x2092, 0x9249, 0x4904, 0x2492,
+0x9209, 0x4824, 0x2482, 0xB240, 0x4924, 0x2492, 0x2409, 0x9241, 0x0120,
+0x2892, 0x9249, 0x4904, 0x6492, 0x9209, 0x4804, 0x2492, 0x9241, 0x1924,
+0x2492, 0x0009, 0x0000, 0x4000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x4004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x4004, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4D00,
+0xB6DA, 0x0006, 0xCC00, 0xFFFF, 0x249F, 0x5249, 0xA6DB, 0x066D, 0x0000,
+0xFFF8, 0x7FFF, 0x9249, 0x6DE4, 0xB6DA, 0x0000, 0xF000, 0xFFFF, 0x248F,
+0x1249, 0xB6DB, 0x006D, 0x0000, 0xFFF0, 0x0FFF, 0x9249, 0x6D24, 0xB6DB,
+0x0000, 0xF000, 0xFFFF, 0x248F, 0x1249, 0xB6DB, 0x006D, 0x0000, 0xFFF0,
+0x0FFF, 0x9249, 0x0D24, 0x0000, 0x0002, 0xFE00, 0x0001, 0x0498, 0x6000,
+0x000B, 0x0240, 0x0000, 0x00F9, 0x1800, 0x0001, 0x0060, 0x0000, 0x2491,
+0x6249, 0x2492, 0x0009, 0x0000, 0x0000, 0x2000, 0x9249, 0x2480, 0x0249,
+0x0000, 0x0000, 0x0000, 0x2491, 0x4249, 0x2492, 0x0009, 0x0000, 0x0000,
+0x2400, 0x9249, 0x2490, 0x0249, 0x0000, 0x0000, 0x0000, 0x2491, 0x4249,
+0x2492, 0x0009, 0x0000, 0x0000, 0x2400, 0x9249, 0x2490, 0x0249, 0x0000,
+0x0000, 0x8000, 0x0011, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400,
+0x0000, 0x0090, 0x0000, 0x0000, 0x2400, 0x9249, 0x0001, 0x2000, 0x0000,
+0x0000, 0x0000, 0x9248, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400,
+0x9249, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2400, 0x9249, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x9249, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x8000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x4D00, 0xB6DA, 0x2496, 0x0EDB, 0x9249, 0x0094, 0x4000,
+0xA493, 0x2E6D, 0xB6D9, 0x9259, 0x7924, 0x0000, 0x6DC0, 0xB6DB, 0x6DB4,
+0x22DB, 0x9249, 0x0004, 0x0000, 0xB6DB, 0x6C6D, 0xB6D9, 0x9241, 0x0924,
+0x0000, 0x6D00, 0xB6DB, 0x6DB4, 0x22DB, 0x9249, 0x0004, 0x0000, 0xB6DB,
+0x6C6D, 0xB6DB, 0x9241, 0x0924, 0x0000, 0x0D00, 0x0000, 0x0036, 0x2E00,
+0x0001, 0x0018, 0x6000, 0x000B, 0x2E40, 0x0000, 0x0049, 0x1800, 0x0000,
+0x6960, 0x2493, 0x6DB7, 0x4E49, 0xB6DB, 0x6D9D, 0x76DB, 0x36DB, 0x6649,
+0x924B, 0xB6D8, 0x7B6D, 0xB6DB, 0x49ED, 0x2492, 0x2491, 0x6249, 0xB6DB,
+0x6D8D, 0x36DB, 0x2492, 0x2449, 0x924B, 0xB6D0, 0x4B6D, 0xB6DB, 0x492D,
+0x2492, 0x2491, 0x6249, 0xB6DB, 0x6D8D, 0x36DB, 0x2492, 0x2449, 0x9249,
+0xB6D0, 0x4B6D, 0xB6DB, 0x092D, 0x0000, 0x0013, 0x6E00, 0x0001, 0x0598,
+0x6000, 0x0002, 0x2640, 0x0000, 0x00D9, 0x5800, 0x0003, 0x0060, 0x0000,
+0x4920, 0x2092, 0x0012, 0x0000, 0x0000, 0x0000, 0x4800, 0x2492, 0x0001,
+0x0001, 0x0000, 0x0000, 0x0000, 0x4924, 0x0092, 0x0010, 0x0000, 0x0000,
+0x0000, 0x4800, 0x2492, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x4924,
+0x0092, 0x0000, 0x0000, 0x0000, 0x0000, 0x4800, 0x2492, 0x0001, 0x0000,
+0x0000, 0x0000, 0x8000, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0480, 0x0000,
+0x0000, 0x2480, 0x1249, 0x0000, 0x2400, 0x0049, 0x0008, 0x0000, 0x9249,
+0x0064, 0x0000, 0x0400, 0x0000, 0x0000, 0x2480, 0x1249, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x9249, 0x0024, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2480, 0x1249, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9249, 0x0024,
+0x0000, 0x2480, 0x0249, 0x0000, 0x2480, 0x1249, 0x0000, 0x0000, 0x9249,
+0x0008, 0x0000, 0x9249, 0x0064, 0x0000, 0x2015, 0x4EDB, 0x2492, 0x8009,
+0x0000, 0x0000, 0x0800, 0xB692, 0x2481, 0x4249, 0x0000, 0x0080, 0x0000,
+0x69B5, 0x42DB, 0x2492, 0x0009, 0x0000, 0x0000, 0x6C00, 0xB6DB, 0x2491,
+0x0249, 0x0000, 0x0000, 0x0000, 0x6DB5, 0x42DB, 0x2492, 0x0009, 0x0000,
+0x0000, 0x6C00, 0xB6DB, 0x2491, 0x0249, 0x0000, 0x0000, 0x0000, 0x4935,
+0x4C92, 0x0000, 0x4800, 0x2492, 0x0000, 0x6C00, 0x2492, 0x0091, 0x0000,
+0x2490, 0xDA09, 0x6DB6, 0xFFF8, 0x976D, 0x4924, 0x7F62, 0xFFFF, 0x6DB6,
+0xD1DB, 0xDB64, 0x4926, 0x8492, 0xFFFF, 0xDB3F, 0x6DB6, 0xB6D8, 0x936D,
+0x4924, 0xFFC2, 0x3FFF, 0x6DB6, 0xB4DB, 0xDB6D, 0x4922, 0xC492, 0xFFFF,
+0xDB3F, 0x6DB6, 0xB6D9, 0x936D, 0x4924, 0xFFC2, 0x3FFF, 0x6DB6, 0xB4DB,
+0xDB6D, 0x4922, 0xC492, 0xFFFF, 0x9B3F, 0x4924, 0x9258, 0x9524, 0x4924,
+0x97E2, 0xC924, 0x4926, 0xB592, 0x4924, 0x4926, 0xC492, 0x4927, 0xDA12,
+0x6DB6, 0x9B6D, 0xD9B6, 0x6DB6, 0x49FB, 0xEDB2, 0x7DB6, 0xBDDB, 0x6DBD,
+0x6DAF, 0xC6DB, 0x6D92, 0xDBDB, 0x6DB6, 0xDB6D, 0xD1B6, 0x6DB6, 0xDB4B,
+0x2DB6, 0x6DB6, 0xD8DB, 0x6DB6, 0x6DB3, 0xC6DB, 0x6DB6, 0xDB1B, 0x6DB6,
+0xDB6C, 0xD1B6, 0x6DB6, 0xDB4B, 0x2DB6, 0x6DB6, 0xD8DB, 0x6DB6, 0x6DB3,
+0xC6DB, 0x6DB6, 0x9B1B, 0x4924, 0xDB6D, 0xDBB6, 0x4924, 0xDB72, 0xEDB6,
+0x4926, 0xD992, 0x6DB6, 0x49BF, 0xC492, 0x6DB6, 0x007B, 0x0008, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0100, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0000,
+0x4000, 0x0082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0120, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x2001, 0x0000, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0081, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0400, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0040, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0080, 0x0000,
+0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x2000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0040, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0402, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0200,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x2000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x0000, 0x0000, 0x0402, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x4000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400, 0x9241, 0x4924,
+0x2892, 0x9249, 0x4904, 0x6492, 0x8249, 0x4A24, 0x2492, 0x9241, 0x5924,
+0x2482, 0x2489, 0x9249, 0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249,
+0x4824, 0x2412, 0x9241, 0x4924, 0x2492, 0x0409, 0x9249, 0x4924, 0x2092,
+0x9249, 0x4900, 0x2492, 0x9249, 0x4824, 0x2492, 0xB241, 0x4924, 0x2492,
+0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x8249, 0x0A24,
+0x2492, 0x9241, 0x5924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2892, 0x9249,
+0x4904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x8241, 0x5924, 0x2482, 0x2489,
+0x9249, 0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249, 0x4824, 0x2492,
+0x9241, 0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2092, 0x9249, 0x4904,
+0x2492, 0x9249, 0x4824, 0x2482, 0xB241, 0x4924, 0x2412, 0x2409, 0x9249,
+0x4924, 0x2890, 0x9249, 0x4904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241,
+0x5924, 0x2492, 0x0009, 0x0000, 0x0001, 0x0400, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0020, 0x0000, 0x0040, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0400, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000, 0x8000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004,
+0x0000, 0x1000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2400,
+0x9248, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x8249, 0x4A24, 0x2492,
+0x9241, 0x5924, 0x2492, 0x2489, 0x9249, 0x4924, 0x2092, 0x9249, 0x4904,
+0x2492, 0x9249, 0x4824, 0x2492, 0x9241, 0x4924, 0x2492, 0x2409, 0x8249,
+0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249, 0x4824, 0x2092, 0x9241,
+0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492,
+0x9249, 0x4A04, 0x2492, 0x9201, 0x5924, 0x2492, 0x2409, 0x9249, 0x4924,
+0x2892, 0x9249, 0x4904, 0x6492, 0x9249, 0x4A24, 0x2492, 0x9241, 0x5924,
+0x2492, 0x2489, 0x9249, 0x4924, 0x2092, 0x9249, 0x4904, 0x2492, 0x9249,
+0x4824, 0x0490, 0x9241, 0x4924, 0x2492, 0x2409, 0x9249, 0x4924, 0x2092,
+0x9209, 0x4904, 0x2492, 0x9249, 0x4824, 0x2490, 0x9241, 0x4924, 0x2492,
+0x2409, 0x9249, 0x4924, 0x2892, 0x9249, 0x4904, 0x6492, 0x9249, 0x4A24,
+0x2492, 0x9241, 0x5924, 0x2492, 0x0009, 0x0000, 0x0001, 0x0400, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0002, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0001, 0x0400, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x2080, 0x0000, 0x4001, 0x0400, 0x0000, 0x0008,
+0x0002, 0x0040, 0x0040, 0x0010, 0x0208, 0x0000, 0x0000, 0x2080, 0x0000,
+0x4001, 0x0400, 0x0000, 0x0008, 0x0002, 0x0040, 0x0040, 0x0010, 0x0208,
+0x0000, 0x0000, 0x2080, 0x0000, 0x4001, 0x0400, 0x0000, 0x0008, 0x0002,
+0x0040, 0x0040, 0x0010, 0x0208, 0x0000, 0x0000, 0x2080, 0x0000, 0x4001,
+0x0400, 0x0000, 0x0008, 0x0002, 0x0040, 0x0040, 0x0010, 0x0208, 0x0000,
+0xFF00, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFD, 0xF3FF, 0xFFFF,
+0xFFCF, 0x3FFF, 0xFFFF, 0xFCFF, 0xFFFF, 0xFFF3, 0xCFFF, 0xFFFF, 0xFF3F,
+0xFFFF, 0xFFFD, 0xF3FF, 0xFFFF, 0xFFCF, 0x3FFF, 0xFFFF, 0xFCFF, 0xFFFF,
+0xFFF3, 0xCFFF, 0xFFFF, 0xFF3F, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFEF,
+0xBFFF, 0xFFFF, 0xFEFF, 0xFFFF, 0xFFFB, 0xCFFF, 0xFFFF, 0x0C7F, 0xFFD6,
+0x0038, 0x0000, 0xFF01, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+};
+
+const uint32_t MSP_FetFpgaHalImage_address[] =
+{
+0x00001900, 0x00018E00,
+};
+const uint32_t MSP_FetFpgaHalImage_length_of_sections[] =
+{
+0x00000040, 0x00016900,
+};
+const uint32_t MSP_FetFpgaHalImage_sections = 0x00000002;
+const uint32_t MSP_FetFpgaHalImage_termination = 0x00000000;
+const uint32_t MSP_FetFpgaHalImage_start = 0x00001900;
+const uint32_t MSP_FetFpgaHalImage_finish = 0x00046000;
+const uint32_t MSP_FetFpgaHalImage_length = 0x00044700;
+
+#define MSP_FETFPGAHALIMAGE_TERMINATION 0x00000000
+#define MSP_FETFPGAHALIMAGE_START 0x00001900
+#define MSP_FETFPGAHALIMAGE_FINISH 0x00046000
+#define MSP_FETFPGAHALIMAGE_LENGTH 0x00044700
+#define MSP_FETFPGAHALIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/MSP_FetHal.h b/Bios/include/MSP_FetHal.h
new file mode 100644
index 0000000..b310f71
--- /dev/null
+++ b/Bios/include/MSP_FetHal.h
@@ -0,0 +1,5493 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetHalImage[] =
+{
+0x8E00, 0x0001, 0x383E, 0x0002, 0x8C00, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xF70B, 0xBEEF,
+0xBEEF, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206, 0x1840, 0x1207,
+0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840, 0x120B, 0x1840,
+0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F, 0x008C, 0x2706,
+0x403E, 0x061B, 0x403F, 0x0000, 0x13B2, 0x9890, 0x008C, 0x2400, 0x028D,
+0x9AB6, 0x403E, 0x0306, 0x403F, 0x0000, 0x13B2, 0x998E, 0x1840, 0x413F,
+0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840, 0x413B, 0x1840,
+0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137, 0x1840, 0x4136,
+0x1840, 0x4135, 0x1840, 0x4134, 0x1900, 0x4070, 0x383E, 0x147B, 0x120C,
+0x8031, 0x0048, 0x4381, 0x0006, 0x4381, 0x000E, 0x4381, 0x000C, 0x40B1,
+0x0BB8, 0x0004, 0xB31C, 0x2C02, 0x0180, 0x9A1C, 0x410C, 0x503C, 0x000E,
+0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFE,
+0x0180, 0xA4F6, 0x008C, 0x27C2, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2404, 0x403C, 0xFFFD, 0x0180, 0xA4F6, 0x008C, 0x27C8, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFC, 0x0180,
+0xA4F6, 0x008C, 0x27BE, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFB, 0x0180, 0xA4F6, 0x008C, 0x27B8, 0x002F, 0x2C4E,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFA, 0x0180, 0xA4F6,
+0x008C, 0x27C6, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFF9, 0x0180, 0xA4F6, 0x008C, 0x27C4, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2412, 0x008C, 0x27CC, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2409, 0x008C, 0x27CA, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFF8, 0x0180, 0xA4F6, 0x0086,
+0x2BFA, 0x06CA, 0x00AA, 0x0008, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x06CB,
+0x00AB, 0x0014, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x4079, 0x0082, 0x494C,
+0x0A0F, 0x134F, 0x06C8, 0x00A8, 0x0030, 0x435C, 0x080F, 0x134F, 0x403C,
+0x0560, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4035, 0x00FC, 0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x06C4, 0x00A4, 0x0010, 0x407C, 0x0024, 0x040F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x0087, 0x27CE, 0x412E, 0x411F, 0x0002,
+0x4E87, 0x0000, 0x4F87, 0x0002, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x403C,
+0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x403C, 0x0660, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F,
+0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088,
+0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x411E, 0x0002, 0x412F, 0x4E87, 0x0004, 0x4F87, 0x0006, 0x407C, 0x0088,
+0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x0960, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x4E87, 0x0008, 0x4F87,
+0x000A, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0860, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81,
+0x0000, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C,
+0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0002, 0x412F,
+0x4E87, 0x000C, 0x4F87, 0x000E, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x403C,
+0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x403C, 0x0A60, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088,
+0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x412E, 0x411F, 0x0002, 0x4E87, 0x0010, 0x4F87, 0x0012, 0x407C, 0x0088,
+0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x0B60, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x411E, 0x0002, 0x412F, 0x4E87, 0x0014, 0x4F87,
+0x0016, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0C60, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C05,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024,
+0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x450F, 0x4E87, 0x0018,
+0x4F87, 0x001A, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x4077, 0x00C8, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x00A6, 0x0018, 0x403C, 0x0128, 0x430D,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x4075, 0x0021, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412F,
+0x1840, 0x4F82, 0x27EA, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x430D, 0x060F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27EC, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x27EE, 0x1840, 0xE0B2, 0x3300, 0x27EA, 0x1840, 0xE0B2, 0x3300,
+0x27EC, 0x1840, 0xE0B2, 0x3300, 0x27EE, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x430D, 0x060F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x403C, 0xA544, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401,
+0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840,
+0x4291, 0x27C4, 0x0000, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x412C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x416E, 0x1840, 0x9EC2, 0x27C4,
+0x2448, 0x403F, 0x0040, 0x1840, 0xD21F, 0x27C4, 0x4F81, 0x0000, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C,
+0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x410C, 0x503C, 0x0018, 0x403E, 0x000E, 0x13B2, 0x98D4, 0x1840,
+0x4291, 0x27BE, 0x0018, 0x1840, 0x4291, 0x27C0, 0x001A, 0x1840, 0x4291,
+0x27B8, 0x001C, 0x1840, 0x4291, 0x27BA, 0x001E, 0x1840, 0x421E, 0x27C6,
+0x4E81, 0x0020, 0x4381, 0x0022, 0x1840, 0x421E, 0x27C4, 0x4E81, 0x0024,
+0x4381, 0x0026, 0x1840, 0x421E, 0x27CC, 0x4E81, 0x002C, 0x4381, 0x002E,
+0x1840, 0x421E, 0x27CA, 0x4E81, 0x0030, 0x4381, 0x0032, 0x410C, 0x503C,
+0x0018, 0x13B2, 0x0162, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034,
+0x040F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x490C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x1840, 0x421E, 0x27C8, 0x4E81, 0x0008, 0x4381, 0x000A,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F, 0xEF4E,
+0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0080, 0x4E0C, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024,
+0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x0401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x00A8, 0x0A0F,
+0x134F, 0x431C, 0x1380, 0x2BAE, 0x454C, 0x0A0F, 0x134F, 0x430C, 0x430D,
+0x060F, 0x134F, 0x411F, 0x0004, 0x533F, 0x4F81, 0x0004, 0x403E, 0x0022,
+0x1840, 0x521E, 0x27C8, 0x430F, 0x930D, 0x2002, 0x9E0C, 0x280A, 0x403E,
+0x002C, 0x1840, 0x521E, 0x27C8, 0x9D0F, 0x2803, 0x2005, 0x9C0E, 0x2C03,
+0x9381, 0x0004, 0x23DA, 0x1840, 0x421F, 0x27B8, 0x1840, 0xD21F, 0x27BA,
+0x930F, 0x2002, 0x0180, 0x9E5A, 0x9381, 0x0006, 0x2402, 0x0180, 0x9E5A,
+0x9381, 0x0004, 0x2002, 0x0180, 0x9E5A, 0x4037, 0x006C, 0x1840, 0x5217,
+0x27C8, 0x1840, 0x421E, 0x27B8, 0x1840, 0x421F, 0x27BA, 0x5E0E, 0x6F0F,
+0x1840, 0x421A, 0x27C2, 0x2002, 0x9A0E, 0x2802, 0x1840, 0x4A0E, 0x470F,
+0x5E0F, 0x4F81, 0x0000, 0x403E, 0x0068, 0x1840, 0x521E, 0x27C8, 0x4E81,
+0x0008, 0x4381, 0x000A, 0x0086, 0x2BFA, 0x06CA, 0x00AA, 0x0008, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x06C4, 0x00A4, 0x0010, 0x407C, 0x0034, 0x040F,
+0x134F, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x06CB, 0x00AB, 0x0014,
+0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E,
+0x0F00, 0xD03E, 0x0080, 0x4E0C, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0030,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4075, 0x0021,
+0x454C, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F,
+0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C8, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F,
+0x423C, 0x0B0F, 0x134F, 0x3C22, 0x410C, 0x503C, 0x000C, 0x002F, 0x2C4E,
+0x0F3F, 0x002C, 0x134F, 0x4C81, 0x0006, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x470C, 0x430D, 0x063F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x411C, 0x000C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x5327, 0x9127, 0x2C03, 0x9381, 0x0006, 0x27D9, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C8, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x8217, 0x27C8,
+0x5037, 0xFF94, 0x0357, 0x4781, 0x0008, 0x4381, 0x000A, 0x407C, 0x0088,
+0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0086, 0x4E0C, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x403C, 0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x1840, 0x4291, 0x27BE, 0x0008, 0x1840, 0x4291, 0x27C0, 0x000A,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0008, 0x411F, 0x000A,
+0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0085, 0x4E0C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x411C, 0x0008, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x470E, 0x5E0E, 0x1840, 0x5E82, 0x27BE, 0x1840,
+0x6382, 0x27C0, 0x1840, 0x8782, 0x27B8, 0x1840, 0x7382, 0x27BA, 0x403E,
+0x002E, 0x1840, 0x521E, 0x27C8, 0x4E81, 0x0008, 0x4381, 0x000A, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F, 0xEF4E, 0xEF0E,
+0xF03E, 0x0F00, 0xD03E, 0x0080, 0x4E0C, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A8, 0x0A0F, 0x134F, 0x40B1,
+0x0BB8, 0x0004, 0x431C, 0x1380, 0x2BAE, 0x454C, 0x0A0F, 0x134F, 0x430C,
+0x430D, 0x063F, 0x0018, 0x134F, 0x411F, 0x0004, 0x533F, 0x4F81, 0x0004,
+0x403E, 0x0068, 0x1840, 0x521E, 0x27C8, 0x9E0C, 0x2004, 0x930D, 0x2002,
+0x0180, 0x9A1C, 0x930F, 0x23E3, 0x0180, 0x9A1C, 0x0027, 0x2C4E, 0xB3A1,
+0x0048, 0x29A1, 0x410C, 0x503C, 0x0010, 0x028E, 0x9A0A, 0x427D, 0x13B2,
+0x98A8, 0x410B, 0x503B, 0x0034, 0x140B, 0x430F, 0x434E, 0x423D, 0x410C,
+0x503C, 0x0014, 0x0737, 0x001C, 0x1347, 0x403C, 0x0003, 0x002F, 0x29B6,
+0x134F, 0x0BCC, 0x002F, 0x2C4E, 0x0F3F, 0x0020, 0x134F, 0x008C, 0x27CE,
+0x13B2, 0x0162, 0x1840, 0x4215, 0x27EA, 0x0086, 0x2BFA, 0x06CA, 0x00AA,
+0x0008, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x06CB, 0x00AB, 0x0014,
+0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0030, 0x434C, 0x080F,
+0x134F, 0x4077, 0x00C8, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048,
+0x0A0F, 0x134F, 0x06C4, 0x00A4, 0x0010, 0x427C, 0x040F, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x00A6, 0x0018, 0x403C, 0x0128, 0x430D, 0x060F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2401, 0x0B0F, 0x134F, 0x4075, 0x0021, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x1840, 0x4291, 0x27EC, 0x0004, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x430D, 0x060F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x1840, 0x4291, 0x27EE, 0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x411C, 0x0004, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0004,
+0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x415E, 0x0004,
+0x5221, 0x1840, 0x9EC2, 0x27EE, 0x2448, 0x403F, 0x0040, 0x1840, 0xD21F,
+0x27EE, 0x4F81, 0x0000, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x412C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x421C, 0x27BC, 0x002F,
+0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x3DA6, 0x9391, 0x0006, 0x2008, 0x407C,
+0x0091, 0x073F, 0x0024, 0x134F, 0x4381, 0x0006, 0x3D9B, 0x410C, 0x503C,
+0x0010, 0x028E, 0x9A12, 0x427D, 0x13B2, 0x98A8, 0x410B, 0x503B, 0x0034,
+0x140B, 0x430F, 0x434E, 0x423D, 0x410C, 0x503C, 0x0014, 0x0737, 0x001C,
+0x1347, 0x403C, 0x0003, 0x002F, 0x29B6, 0x134F, 0x0BCC, 0x002F, 0x2C4E,
+0x0F3F, 0x0020, 0x134F, 0x008C, 0x27CE, 0x13B2, 0x0162, 0x1840, 0x4215,
+0x27EA, 0x0086, 0x2BFA, 0x06CA, 0x00AA, 0x0008, 0x4079, 0x0082, 0x494C,
+0x0A0F, 0x134F, 0x06CB, 0x00AB, 0x0014, 0x403C, 0x3FFF, 0x0B0F, 0x134F,
+0x06C8, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x4077, 0x00C8, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x06C4, 0x00A4,
+0x0010, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x00A6,
+0x0018, 0x403C, 0x0128, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x450C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x4075,
+0x0021, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x4291,
+0x27EC, 0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048,
+0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x403C, 0x012A, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x411C, 0x0004, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x4291, 0x27EE, 0x0004,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F,
+0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0004,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0004, 0x434C, 0x080F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x415E, 0x0004, 0x5221, 0x1840, 0x9EC2, 0x27EE,
+0x2448, 0x403F, 0x0040, 0x1840, 0xD21F, 0x27EE, 0x4F81, 0x0000, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C,
+0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x40B1, 0xFFF6, 0x0006, 0x411C, 0x0006, 0x5031, 0x004A, 0x1674,
+0x0110, 0x147B, 0x120C, 0x8031, 0x0034, 0x4381, 0x0004, 0x4381, 0x0008,
+0x4381, 0x0006, 0x40B1, 0x0BB8, 0x0002, 0xB31C, 0x2C02, 0x0180, 0xAF42,
+0x410C, 0x523C, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFFE, 0x0180, 0xB910, 0x008C, 0x2710, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFD, 0x0180, 0xB910, 0x008C,
+0x2716, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C,
+0xFFFC, 0x0180, 0xB910, 0x008C, 0x270C, 0x002F, 0x2C4E, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x2404, 0x403C, 0xFFFB, 0x0180, 0xB910, 0x008C, 0x2706,
+0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFA,
+0x0180, 0xB910, 0x008C, 0x2714, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2404, 0x403C, 0xFFF9, 0x0180, 0xB910, 0x008C, 0x2712, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2412, 0x008C, 0x271A, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2409, 0x008C, 0x2718, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFF8, 0x0180,
+0xB910, 0x0087, 0x2BFA, 0x07CA, 0x00AA, 0x0008, 0x407B, 0x00C8, 0x4B4C,
+0x0A0F, 0x134F, 0x07C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F, 0x134F,
+0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4582, 0x080F, 0x134F,
+0x07C6, 0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x4075, 0x0042, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x4034, 0x2401, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x271C, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4682, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x271E, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x4982, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x2720, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x4882, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x2722, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4A82, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x2724, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x4B82, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x2726, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x4C82, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x2728, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x0128, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x272A, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012A, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x272C, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x272E, 0x1840, 0xE0B2, 0x3300, 0x272A,
+0x1840, 0xE0B2, 0x3300, 0x272C, 0x1840, 0xE0B2, 0x3300, 0x272E, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C,
+0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x403C, 0xA544, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x1840, 0x4291, 0x2712, 0x0000, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x416E, 0x1840,
+0x9EC2, 0x2712, 0x2448, 0x403F, 0x0040, 0x1840, 0xD21F, 0x2712, 0x4F81,
+0x0000, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x410C, 0x503C, 0x0012, 0x403E, 0x0007, 0x13B2,
+0x98D4, 0x1840, 0x4291, 0x270C, 0x0012, 0x1840, 0x4291, 0x2706, 0x0014,
+0x1840, 0x4291, 0x2714, 0x0016, 0x1840, 0x4291, 0x2712, 0x0018, 0x1840,
+0x4291, 0x271A, 0x001C, 0x1840, 0x4291, 0x2718, 0x001E, 0x410C, 0x503C,
+0x0012, 0x13B2, 0x17DA, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4032, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x1840, 0x421F, 0x28B8,
+0x1840, 0xD21F, 0x28BA, 0x930F, 0x240F, 0x1840, 0x9382, 0x28BC, 0x240B,
+0x407C, 0x0090, 0x0A0F, 0x134F, 0x403C, 0x0088, 0x080F, 0x134F, 0x431C,
+0x080F, 0x134F, 0x1840, 0x4217, 0x2716, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x470C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x0401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x407C, 0x00A8, 0x0A0F, 0x134F, 0x431C, 0x1380, 0x2BAE, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x411F, 0x0002, 0x533F,
+0x4F81, 0x0002, 0x403F, 0x0020, 0x1840, 0x521F, 0x2716, 0x9F0C, 0x2807,
+0x403F, 0x0026, 0x1840, 0x521F, 0x2716, 0x9C0F, 0x2C03, 0x9381, 0x0002,
+0x23E0, 0x1840, 0x421F, 0x2706, 0x1840, 0xD21F, 0x2708, 0x930F, 0x25A7,
+0x9381, 0x0004, 0x21A4, 0x9381, 0x0002, 0x25A1, 0x4035, 0x0060, 0x1840,
+0x5215, 0x2716, 0x1840, 0x421E, 0x2706, 0x1840, 0x421F, 0x2708, 0x5E0E,
+0x6F0F, 0x1840, 0x421A, 0x2710, 0x2002, 0x9A0E, 0x2802, 0x1840, 0x4A0E,
+0x450F, 0x5E0F, 0x4F81, 0x0000, 0x4034, 0x005C, 0x1840, 0x5214, 0x2716,
+0x0086, 0x2BFA, 0x06CA, 0x00AA, 0x0008, 0x407B, 0x00C8, 0x4B4C, 0x0A0F,
+0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F, 0x134F, 0x4079,
+0x0082, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x00A6,
+0x0030, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x4034,
+0x2401, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2408, 0x080F,
+0x134F, 0x3C20, 0x410C, 0x503C, 0x0006, 0x002F, 0x2C4E, 0x0F3F, 0x002C,
+0x134F, 0x4C81, 0x0004, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0006, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x5325, 0x9125, 0x2C03,
+0x9381, 0x0004, 0x27DB, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x1840, 0x8215, 0x2716, 0x5035, 0xFFA0, 0x0355, 0x4507, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x4036, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4075, 0x0042,
+0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x470C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x1840, 0x4291, 0x270C, 0x0000, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x4035, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x412C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x470E, 0x5E0E, 0x1840, 0x5E82, 0x270C, 0x1840, 0x6382,
+0x270E, 0x1840, 0x8782, 0x2706, 0x1840, 0x7382, 0x2708, 0x4037, 0x0028,
+0x1840, 0x5217, 0x2716, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x470C, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x407C, 0x00A8, 0x0A0F, 0x134F, 0x40B1, 0x0BB8,
+0x0002, 0x431C, 0x1380, 0x2BAE, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x411F, 0x0002, 0x533F, 0x4F81, 0x0002, 0x403F, 0x005C,
+0x1840, 0x521F, 0x2716, 0x9F0C, 0x2655, 0x9381, 0x0002, 0x23E7, 0x3E51,
+0x0027, 0x2C4E, 0xB3A1, 0x0034, 0x2996, 0x410C, 0x503C, 0x000A, 0x028E,
+0x99F2, 0x427D, 0x13B2, 0x98A8, 0x410B, 0x503B, 0x0020, 0x140B, 0x430F,
+0x434E, 0x423D, 0x410C, 0x503C, 0x000E, 0x0737, 0x001C, 0x1347, 0x403C,
+0x0003, 0x002F, 0x2938, 0x134F, 0x0BCC, 0x002F, 0x2C4E, 0x0F3F, 0x0020,
+0x134F, 0x008C, 0x271C, 0x13B2, 0x17DA, 0x1840, 0x4214, 0x272A, 0x0087,
+0x2BFA, 0x07CA, 0x00AA, 0x0008, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F,
+0x07C8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x07C6, 0x00A6,
+0x0030, 0x434C, 0x060F, 0x134F, 0x407B, 0x00C8, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x0128, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x4034, 0x2401, 0x440C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x1840, 0x4215, 0x272C, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x0085, 0x272E, 0x1840, 0x45A1,
+0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C,
+0x0004, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0004, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x415E, 0x0004, 0x5221, 0x9EC5, 0x0000, 0x2445,
+0x403F, 0x0040, 0xD52F, 0x4F05, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x1840, 0x421C, 0x270A,
+0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x3D9B, 0x9391, 0x0004, 0x2008,
+0x407C, 0x0091, 0x073F, 0x0024, 0x134F, 0x4381, 0x0004, 0x3D90, 0x410C,
+0x503C, 0x000A, 0x028E, 0x99FA, 0x427D, 0x13B2, 0x98A8, 0x410B, 0x503B,
+0x0020, 0x140B, 0x430F, 0x434E, 0x423D, 0x410C, 0x503C, 0x000E, 0x0737,
+0x001C, 0x1347, 0x403C, 0x0003, 0x002F, 0x2938, 0x134F, 0x0BCC, 0x002F,
+0x2C4E, 0x0F3F, 0x0020, 0x134F, 0x008C, 0x271C, 0x13B2, 0x17DA, 0x1840,
+0x4214, 0x272A, 0x0087, 0x2BFA, 0x07CA, 0x00AA, 0x0008, 0x4079, 0x0082,
+0x494C, 0x0A0F, 0x134F, 0x07C8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x07C6, 0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x407B, 0x00C8,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C,
+0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x0128,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x4034, 0x2401, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x1840, 0x4215, 0x272C, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x0085,
+0x272E, 0x1840, 0x45A1, 0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x411C, 0x0004, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0004, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x415E, 0x0004, 0x5221,
+0x9EC5, 0x0000, 0x2445, 0x403F, 0x0040, 0xD52F, 0x4F05, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F,
+0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x40B1, 0xFFF6, 0x0004, 0x411C, 0x0004, 0x5031, 0x0036, 0x1674, 0x0110,
+0x147B, 0x120C, 0x8031, 0x0034, 0x4381, 0x0004, 0x4381, 0x0008, 0x4381,
+0x0006, 0x40B1, 0x0BB8, 0x0002, 0x4304, 0xB31C, 0x2C02, 0x0180, 0xC640,
+0x008B, 0x2C4E, 0x410C, 0x523C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFE, 0x0180, 0xCA42, 0x008C, 0x2798, 0x0B0F, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFD, 0x0180, 0xCA42, 0x008C,
+0x279E, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFC,
+0x0180, 0xCA42, 0x008C, 0x2794, 0x0B0F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFB, 0x0180, 0xCA42, 0x008C, 0x2790, 0x0B0F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFA, 0x0180, 0xCA42, 0x008C,
+0x279C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFF9,
+0x0180, 0xCA42, 0x008C, 0x279A, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C,
+0x2410, 0x008C, 0x27A2, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2408,
+0x008C, 0x27A0, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2004, 0x403C,
+0xFFF8, 0x0180, 0xCA42, 0x0087, 0x2BFA, 0x07CA, 0x00AA, 0x0008, 0x407B,
+0x0082, 0x4B4C, 0x0A0F, 0x134F, 0x07C8, 0x00A8, 0x0014, 0x403C, 0x4030,
+0x080F, 0x134F, 0x07C9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x403C, 0x0C04, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x3C4B, 0x440F, 0x5F0F, 0x1840, 0x521F, 0x279E,
+0x4F81, 0x0000, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x440E, 0x0EEE, 0x1840, 0x4F8E, 0x2730, 0x5314, 0x4035, 0x2401,
+0x4076, 0x00C8, 0x9034, 0x0030, 0x3BAE, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4582, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x4074, 0x0042, 0x444C, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27A4, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x4682, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27A6, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4982, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27A8, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x4882, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27AA, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x4A82, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27AC, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4B82, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27AE, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x4C82, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27B0, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x0128, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27B2, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27B4, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27B6, 0x1840, 0xE0B2, 0x3300, 0x27B2, 0x1840, 0xE0B2, 0x3300, 0x27B4,
+0x1840, 0xE0B2, 0x3300, 0x27B6, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x403C, 0xA544, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1840, 0x4291,
+0x279A, 0x0000, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048,
+0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x412C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x416E, 0x1840, 0x9EC2, 0x279A, 0x2448, 0x403F,
+0x0040, 0x1840, 0xD21F, 0x279A, 0x4F81, 0x0000, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x410C,
+0x503C, 0x000A, 0x403E, 0x0007, 0x13B2, 0x98D4, 0x1840, 0x4291, 0x2794,
+0x000A, 0x1840, 0x4291, 0x2790, 0x000C, 0x1840, 0x4291, 0x279C, 0x000E,
+0x1840, 0x4291, 0x279A, 0x0010, 0x1840, 0x4291, 0x27A2, 0x0014, 0x1840,
+0x4291, 0x27A0, 0x0016, 0x410C, 0x503C, 0x000A, 0x13B2, 0x1BCA, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x4032, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x1840, 0x421F, 0x28B8, 0x1840, 0xD21F, 0x28BA, 0x930F,
+0x240F, 0x1840, 0x9382, 0x28BC, 0x240B, 0x407C, 0x0090, 0x0A0F, 0x134F,
+0x403C, 0x0088, 0x080F, 0x134F, 0x431C, 0x080F, 0x134F, 0x1840, 0x4217,
+0x279E, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x470C, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00A8, 0x0A0F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x431C, 0x1380, 0x2BAE, 0x430C, 0x080F, 0x134F, 0x411F, 0x0002,
+0x533F, 0x4F81, 0x0002, 0x403F, 0x0020, 0x1840, 0x521F, 0x279E, 0x9F0C,
+0x2807, 0x403F, 0x0026, 0x1840, 0x521F, 0x279E, 0x9C0F, 0x2C03, 0x9381,
+0x0002, 0x23E4, 0x1840, 0x421C, 0x279E, 0x13B2, 0x59CA, 0x3D22, 0x410C,
+0x503C, 0x0006, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x4C81, 0x0004,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x411C, 0x0006, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x5324, 0x9504, 0x2C03, 0x9381, 0x0004, 0x27DB,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1840,
+0x8214, 0x279E, 0x5034, 0xFFA0, 0x0354, 0x4407, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4036,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x4074, 0x0042, 0x444C, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x470C, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x1840, 0x4215, 0x2794, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4035,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x470E, 0x5E0E, 0x1840, 0x5E82, 0x2794, 0x1840, 0x6382, 0x2796,
+0x1840, 0x8782, 0x2790, 0x1840, 0x7382, 0x2792, 0x4037, 0x0028, 0x1840,
+0x5217, 0x279E, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x470C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00A8, 0x0A0F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x40B1, 0x0BB8, 0x0002, 0x431C, 0x1380, 0x2BAE, 0x430C,
+0x080F, 0x134F, 0x411F, 0x0002, 0x533F, 0x4F81, 0x0002, 0x403F, 0x005C,
+0x1840, 0x521F, 0x279E, 0x9F0C, 0x2403, 0x9381, 0x0002, 0x23EB, 0x1840,
+0x421C, 0x279E, 0x13B2, 0x59CA, 0x9381, 0x0002, 0x2003, 0x40B1, 0xFFF7,
+0x0004, 0x1840, 0x421F, 0x2790, 0x1840, 0xD21F, 0x2792, 0x930F, 0x244A,
+0x9381, 0x0004, 0x2047, 0x9381, 0x0002, 0x2444, 0x4034, 0x0060, 0x1840,
+0x5214, 0x279E, 0x1840, 0x421E, 0x2790, 0x1840, 0x421F, 0x2792, 0x5E0E,
+0x6F0F, 0x1840, 0x421A, 0x2798, 0x2002, 0x9A0E, 0x2802, 0x1840, 0x4A0E,
+0x4405, 0x5E05, 0x0089, 0x2BFA, 0x09CA, 0x00AA, 0x0008, 0x407B, 0x0082,
+0x4B4C, 0x0A0F, 0x134F, 0x09C8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x4076, 0x00C8, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2408, 0x080F,
+0x134F, 0x3EAC, 0xB3A1, 0x0034, 0x2C03, 0x9391, 0x0004, 0x258D, 0x410C,
+0x503C, 0x0018, 0x028E, 0x9A02, 0x427D, 0x13B2, 0x98A8, 0x410B, 0x503B,
+0x0020, 0x140B, 0x430F, 0x434E, 0x423D, 0x410C, 0x503C, 0x001C, 0x0027,
+0x2C4E, 0x0737, 0x001C, 0x1347, 0x403C, 0x0003, 0x002F, 0x2938, 0x134F,
+0x0BCC, 0x002F, 0x2C4E, 0x0F3F, 0x0020, 0x134F, 0x008C, 0x27A4, 0x13B2,
+0x1BCA, 0x1840, 0x4214, 0x27B2, 0x0087, 0x2BFA, 0x07CA, 0x00AA, 0x0008,
+0x407B, 0x0082, 0x4B4C, 0x0A0F, 0x134F, 0x07C8, 0x00A8, 0x0014, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x07C9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F,
+0x4076, 0x00C8, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x00A7, 0x0010, 0x427C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x0128, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x4035, 0x2401, 0x450C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1840, 0x4214, 0x27B4,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F,
+0x427C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x0084, 0x27B6, 0x1840, 0x44A1, 0x0004, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x070F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0004,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x415E, 0x0004,
+0x5221, 0x9EC4, 0x0000, 0x2444, 0x403F, 0x0040, 0xD42F, 0x4F04, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C,
+0x070F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0xB3A1, 0x0034, 0x2807, 0x430C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F,
+0x3C10, 0x9391, 0x0004, 0x200A, 0x407C, 0x0091, 0x002F, 0x2C4E, 0x0F3F,
+0x0024, 0x134F, 0x4381, 0x0004, 0x3C03, 0x40B1, 0xFFF6, 0x0004, 0x411C,
+0x0004, 0x5031, 0x0036, 0x1674, 0x0110, 0x147B, 0x8031, 0x002E, 0x4381,
+0x0016, 0x4381, 0x0018, 0x4381, 0x0004, 0x4381, 0x0000, 0x4381, 0x001A,
+0x4381, 0x001C, 0x410D, 0x503D, 0x0006, 0x403C, 0xAA01, 0x002F, 0x2C4E,
+0x0F3F, 0x0058, 0x134F, 0x930C, 0x2403, 0x013F, 0x0006, 0x3C01, 0x434F,
+0x03DF, 0x2402, 0x438F, 0x0000, 0x0085, 0x2BFA, 0x05CA, 0x00AA, 0x0014,
+0x05CB, 0x00AB, 0x0008, 0x0088, 0x28A0, 0x9388, 0x0010, 0x2412, 0x407C,
+0x00F4, 0x0B0F, 0x134F, 0x481C, 0x0012, 0x0A0F, 0x134F, 0xC81C, 0x0010,
+0xD81C, 0x0016, 0x0A0F, 0x134F, 0x403C, 0x0014, 0x1380, 0x2BAE, 0x482F,
+0xD81F, 0x0002, 0x930F, 0x2416, 0x407C, 0x0054, 0x0B0F, 0x134F, 0x481C,
+0x0004, 0x481D, 0x0006, 0x053F, 0x001C, 0x134F, 0x481C, 0x000C, 0x481D,
+0x000E, 0x053F, 0x001C, 0x134F, 0x403C, 0x0014, 0x1380, 0x2BAE, 0x407C,
+0x00D0, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4074, 0x0028, 0x934C,
+0x38CB, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0xB03C, 0x0020,
+0x2CC2, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x05C8, 0x00A8, 0x001C, 0x431C,
+0x430D, 0x080F, 0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x4C81, 0x0006,
+0x4D81, 0x0008, 0x403C, 0x0003, 0x430D, 0x080F, 0x134F, 0x430C, 0x430D,
+0x080F, 0x134F, 0x4C81, 0x002A, 0x4D81, 0x002C, 0x403C, 0x0005, 0x430D,
+0x080F, 0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x4C81, 0x0026, 0x4D81,
+0x0028, 0x403C, 0x0007, 0x430D, 0x080F, 0x134F, 0x430C, 0x430D, 0x080F,
+0x134F, 0x4C81, 0x0022, 0x4D81, 0x0024, 0x403C, 0x0081, 0x430D, 0x080F,
+0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x4C81, 0x001E, 0x4D81, 0x0020,
+0x432C, 0x430D, 0x080F, 0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x422C,
+0x430D, 0x080F, 0x134F, 0x433C, 0x403D, 0x000F, 0x080F, 0x134F, 0x403C,
+0x0006, 0x430D, 0x080F, 0x134F, 0x431C, 0x430D, 0x080F, 0x134F, 0x403C,
+0x0080, 0x430D, 0x080F, 0x134F, 0x431C, 0x430D, 0x080F, 0x134F, 0x403C,
+0x0088, 0x430D, 0x080F, 0x134F, 0x403C, 0x000E, 0x430D, 0x080F, 0x134F,
+0x407C, 0x0030, 0x0B0F, 0x134F, 0x403C, 0x0007, 0x0A0F, 0x134F, 0x4309,
+0x407C, 0x00D0, 0x0B0F, 0x134F, 0x5319, 0x430C, 0x0A0F, 0x134F, 0x934C,
+0x3803, 0x9039, 0x0BB8, 0x3BF3, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x430C,
+0x430D, 0x080F, 0x134F, 0x411C, 0x0006, 0x411D, 0x0008, 0x080F, 0x134F,
+0x432C, 0x430D, 0x080F, 0x134F, 0x411C, 0x002A, 0x411D, 0x002C, 0x080F,
+0x134F, 0x422C, 0x430D, 0x080F, 0x134F, 0x411C, 0x0026, 0x411D, 0x0028,
+0x080F, 0x134F, 0x403C, 0x0006, 0x430D, 0x080F, 0x134F, 0x411C, 0x0022,
+0x411D, 0x0024, 0x080F, 0x134F, 0x403C, 0x0080, 0x430D, 0x080F, 0x134F,
+0x411C, 0x001E, 0x411D, 0x0020, 0x080F, 0x134F, 0x407C, 0x0030, 0x0B0F,
+0x134F, 0x403C, 0x0005, 0x0A0F, 0x134F, 0x4038, 0x0032, 0x4079, 0x00C8,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x1501, 0x0A0F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x430C, 0x0A0F, 0x134F, 0x5338, 0x933C, 0x2403, 0xB03C, 0x0200,
+0x2C02, 0x9308, 0x23F5, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x403C, 0x0007,
+0x0A0F, 0x134F, 0x403C, 0x0006, 0x0A0F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x1501, 0x0A0F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0x05C8, 0x00A8, 0x0030, 0xB23C, 0x2C0D, 0x3C1F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0xB23C, 0x2811, 0x411C, 0x001A, 0x411D, 0x001C, 0x4C0E, 0x4D0F,
+0x531E, 0x630F, 0x4E81, 0x001A, 0x4F81, 0x001C, 0x930D, 0x2003, 0x903C,
+0x7530, 0x2BE1, 0x444C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x430C,
+0x0A0F, 0x134F, 0xB03C, 0x0100, 0x7646, 0x5356, 0x435C, 0x080F, 0x134F,
+0x411E, 0x0016, 0x411F, 0x0018, 0x531E, 0x630F, 0x4E81, 0x0016, 0x4F81,
+0x0018, 0x9346, 0x2005, 0x930F, 0x2003, 0x903E, 0x2710, 0x2BE2, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x00A5, 0x0018,
+0x430C, 0x430D, 0x050F, 0x134F, 0x4C06, 0x4D07, 0x444C, 0x0B0F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x4C0F, 0xF22F, 0x4F81, 0x000A, 0xB03C, 0x0020,
+0x2804, 0x5036, 0xFFFE, 0x6337, 0x3C03, 0x5036, 0xFFFC, 0x6337, 0x9036,
+0xFFFE, 0x2028, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F,
+0x403C, 0xFFFE, 0x430D, 0x050F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x4C07, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4781, 0x000E, 0x4381, 0x0010, 0x3C04, 0x4681, 0x000E, 0x4781,
+0x0010, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x403C, 0x000E, 0x0A0F, 0x134F,
+0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x410C, 0x522C, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x4116, 0x0004, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1,
+0x0B0F, 0x134F, 0x460C, 0x430D, 0x050F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0x4C07, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4781, 0x000C, 0x474F, 0xD12F, 0x4F81, 0x0000, 0x4F81,
+0x0002, 0x4116, 0x0004, 0x434C, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x0500, 0x0A0F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x460C,
+0x430D, 0x050F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0B0F,
+0x134F, 0x411C, 0x0002, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F,
+0x4C4C, 0x903C, 0x0098, 0x2403, 0x4036, 0x018C, 0x3C02, 0x4036, 0x014C,
+0x434C, 0x080F, 0x134F, 0x4074, 0x0082, 0x444C, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x0260, 0x0A0F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x1401, 0x0A0F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x0087, 0x2B66, 0x9387, 0x0000, 0x2405,
+0x403C, 0x0FF6, 0x0A0F, 0x134F, 0x3C03, 0x460C, 0x0A0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x0A0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x9387, 0x0000, 0x2407, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x0501, 0x0A0F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C06, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0002, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x9387,
+0x0000, 0x2007, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4681, 0x0012, 0x434C, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x440C, 0x0A0F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x1401, 0x0A0F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x460C, 0xF03C, 0xFFE7, 0x0A0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x0A0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x050F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4191,
+0x000A, 0x0014, 0x403D, 0x000A, 0x410C, 0x503C, 0x000C, 0x002F, 0x2C4E,
+0x0F3F, 0x000C, 0x134F, 0x430C, 0x5031, 0x002E, 0x1674, 0x0110, 0x147B,
+0x8031, 0x003C, 0x4C05, 0x4381, 0x0012, 0x4381, 0x0014, 0x4381, 0x0016,
+0x4381, 0x0010, 0x4381, 0x000E, 0x4304, 0xB31C, 0x290A, 0x0088, 0x2C4E,
+0x410C, 0x503C, 0x0012, 0x080F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFFE, 0x0180, 0xD7E6, 0x432C, 0x080F, 0x0F3F, 0x0038, 0x134F,
+0x410C, 0x503C, 0x000C, 0x080F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFFC, 0x0180, 0xD7E6, 0x410C, 0x503C, 0x0014, 0x080F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFB, 0x0180, 0xD7E6, 0x0087,
+0x27F0, 0x07CC, 0x080F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404, 0x403C,
+0xFFFA, 0x0180, 0xD7E6, 0x410C, 0x503C, 0x000E, 0x080F, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x2404, 0x403C, 0xFFF9, 0x0180, 0xD7E6, 0x410C, 0x503C,
+0x0010, 0x080F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2407, 0x422C, 0x080F,
+0x0F3F, 0x0038, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFF8, 0x0180, 0xD7E6,
+0x4191, 0x0014, 0x0018, 0x4191, 0x0016, 0x001A, 0x1840, 0x47A1, 0x001C,
+0x1840, 0x4791, 0x0002, 0x001E, 0x4191, 0x000E, 0x0020, 0x4381, 0x0022,
+0x4191, 0x0010, 0x0024, 0x4381, 0x0026, 0x410C, 0x503C, 0x0018, 0x13B2,
+0x26B2, 0x4118, 0x000C, 0x0086, 0x2BFA, 0x06CB, 0x00AB, 0x0008, 0x407C,
+0x0028, 0x0B0F, 0x134F, 0x06CA, 0x00AA, 0x0014, 0x430C, 0x0A0F, 0x134F,
+0x06C9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x0080, 0x0A0F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x0A0F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x480C, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x4303, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x063F, 0x0018, 0x134F,
+0x435C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0401,
+0x0A0F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x407C, 0x00A8, 0x0B0F,
+0x134F, 0x430A, 0x430B, 0x403C, 0x0005, 0x1380, 0x2BAE, 0x531A, 0x630B,
+0x13B2, 0x93B0, 0x903C, 0xBABE, 0x2003, 0x903D, 0xABAD, 0x2405, 0x930B,
+0x2003, 0x903A, 0x012C, 0x2BED, 0x930B, 0x2003, 0x903A, 0x012C, 0x2802,
+0x4034, 0xFFF7, 0xB397, 0x0000, 0x2810, 0x53B7, 0x0000, 0x63B7, 0x0002,
+0x1840, 0x4392, 0x2806, 0x3C08, 0x008C, 0x2808, 0x134F, 0x4C04, 0x53B7,
+0x0000, 0x63B7, 0x0002, 0x0087, 0x27F0, 0x472F, 0xD71F, 0x0002, 0x930F,
+0x2417, 0x9304, 0x2015, 0x0088, 0x2C4E, 0x080F, 0x0F3F, 0x002C, 0xB397,
+0x0000, 0x2BE7, 0x008C, 0x280A, 0x134F, 0x4C04, 0x1840, 0x421D, 0x280A,
+0x1840, 0x421C, 0x2808, 0x13B2, 0x7E8C, 0x3FDE, 0x1840, 0x9382, 0x2806,
+0x241F, 0x9304, 0x201D, 0x473F, 0xD73F, 0x930F, 0x2019, 0xB325, 0x2817,
+0x008C, 0x2808, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x4C04, 0x403D,
+0xAAAA, 0x1840, 0x421C, 0x2808, 0x13B2, 0x7E8C, 0x935C, 0x2003, 0x403C,
+0xFFBF, 0x3DF7, 0x1840, 0x4382, 0x2806, 0xB325, 0x29BC, 0x430A, 0x430B,
+0x403C, 0x000A, 0x1380, 0x2BAE, 0x531A, 0x630B, 0x13B2, 0x93B0, 0x903C,
+0xBABE, 0x2003, 0x903D, 0xCAFE, 0x2405, 0x930B, 0x2003, 0x903A, 0x012C,
+0x2BED, 0x4105, 0x5035, 0x0028, 0x0088, 0x2C4E, 0x930B, 0x2003, 0x903A,
+0x012C, 0x2970, 0x4034, 0xFFBF, 0x410C, 0x522C, 0x028E, 0x9A1A, 0x427D,
+0x13B2, 0x98A8, 0x1840, 0x42D1, 0x2470, 0x0004, 0x008F, 0x2470, 0x4FD1,
+0x0001, 0x0005, 0x1405, 0x430F, 0x434E, 0x423D, 0x410C, 0x523C, 0x080B,
+0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2A28, 0x134F, 0x05CC,
+0x080F, 0x0F3F, 0x0020, 0x134F, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008,
+0x407C, 0x0028, 0x0B0F, 0x134F, 0x4C4C, 0x5221, 0x903C, 0x0098, 0x2403,
+0x403F, 0x018C, 0x3C02, 0x403F, 0x014C, 0x4F81, 0x0000, 0x0AC9, 0x00A9,
+0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x00AA, 0x0014, 0x403C, 0x0A60, 0x0A0F, 0x134F, 0x4076,
+0x00C8, 0x464C, 0x0B0F, 0x134F, 0x403C, 0x1401, 0x0A0F, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x0087, 0x2B66, 0x9387, 0x0000, 0x2405, 0x403C, 0x0FF6, 0x0A0F, 0x134F,
+0x3C03, 0x412C, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x403C, 0x3FFD, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x9387,
+0x0000, 0x2407, 0x464C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x9387, 0x0000, 0x2007, 0x464C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412E, 0x411F,
+0x0002, 0x1840, 0x4E82, 0x27F6, 0x1840, 0x4F82, 0x27F8, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x4C4C, 0x903C, 0x0098, 0x2403, 0x403F, 0x018C, 0x3C02,
+0x403F, 0x014C, 0x4F81, 0x0000, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x0B60, 0x0A0F, 0x134F,
+0x464C, 0x0B0F, 0x134F, 0x403C, 0x1401, 0x0A0F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x9387,
+0x0000, 0x2405, 0x403C, 0x0FF6, 0x0A0F, 0x134F, 0x3C03, 0x412C, 0x0A0F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x3FFD,
+0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x9387, 0x0000, 0x2407, 0x464C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x4C81, 0x0002, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x9387, 0x0000, 0x2007, 0x464C, 0x0B0F, 0x134F, 0x403C,
+0x0501, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82,
+0x27FA, 0x1840, 0x4F82, 0x27FC, 0x4E0B, 0xDF0B, 0x930B, 0x240B, 0x1840,
+0x90B2, 0xFFFE, 0x27F6, 0x2004, 0x1840, 0x9382, 0x27F8, 0x2402, 0x4034,
+0xFFF6, 0x410C, 0x522C, 0x028E, 0x9A22, 0x427D, 0x13B2, 0x98A8, 0x1840,
+0x42D1, 0x2470, 0x0004, 0x008F, 0x2470, 0x4FD1, 0x0001, 0x0005, 0x1405,
+0x430F, 0x434E, 0x423D, 0x410C, 0x523C, 0x080B, 0x0B3B, 0x001C, 0x134B,
+0x403C, 0x0003, 0x002F, 0x2A28, 0x134F, 0x05CC, 0x080F, 0x0F3F, 0x0020,
+0x134F, 0x1840, 0x421C, 0x27F4, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x5221,
+0x3C35, 0x0088, 0x2C4E, 0x080B, 0x9314, 0x2007, 0x407C, 0x0091, 0x0B3F,
+0x0024, 0x134F, 0x4304, 0x3C29, 0x410C, 0x522C, 0x028E, 0x9A2A, 0x427D,
+0x13B2, 0x98A8, 0x1840, 0x42D1, 0x2470, 0x0004, 0x008F, 0x2470, 0x4FD1,
+0x0001, 0x0005, 0x4105, 0x5035, 0x0028, 0x1405, 0x430F, 0x434E, 0x423D,
+0x410C, 0x523C, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2A28,
+0x134F, 0x05CC, 0x080F, 0x0F3F, 0x0020, 0x134F, 0x4034, 0xFFF6, 0x5221,
+0x440C, 0x5031, 0x003C, 0x1674, 0x0110, 0x147B, 0x8031, 0x0012, 0x4305,
+0x4381, 0x0004, 0x434B, 0x410C, 0x532C, 0x002F, 0x2C4E, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x2404, 0x403C, 0xFFDA, 0x0180, 0xDE28, 0x410C, 0x530C,
+0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFD9,
+0x0180, 0xDE28, 0x410D, 0x503D, 0x0006, 0x403C, 0xAA01, 0x002F, 0x2C4E,
+0x0F3F, 0x0058, 0x134F, 0x930C, 0x2402, 0x013B, 0x0006, 0x03DB, 0x2402,
+0x438B, 0x0000, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008, 0x4077, 0x00C8,
+0x474C, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C, 0x2401, 0x080F,
+0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x907C, 0x0089, 0x2404, 0x403C,
+0xFFD0, 0x0180, 0xDE28, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C04, 0x0AC9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0xB034,
+0x0200, 0x2C5C, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034, 0x0A3F,
+0x0010, 0x134F, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x0AC6, 0x00A6, 0x001C,
+0x403C, 0x0089, 0x430D, 0x060F, 0x134F, 0x430C, 0x430D, 0x060F, 0x134F,
+0x4C04, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x403C, 0x0088, 0x430D, 0x060F,
+0x134F, 0xD034, 0x0040, 0x440C, 0x430D, 0x060F, 0x134F, 0x4C04, 0x407C,
+0x00B0, 0x0B0F, 0x134F, 0x403C, 0x0088, 0x430D, 0x060F, 0x134F, 0xF034,
+0xFFBF, 0x440C, 0x430D, 0x060F, 0x134F, 0x4036, 0x0032, 0x474C, 0x0B0F,
+0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x5336, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02,
+0x9306, 0x23F5, 0x9306, 0x2402, 0x4C81, 0x0004, 0x9381, 0x0004, 0x2004,
+0x403C, 0xFFDB, 0x0180, 0xDE28, 0xB3A1, 0x0004, 0x280E, 0x434C, 0x090F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x3C07, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4306, 0x407C, 0x0048, 0x0B0F, 0x134F,
+0x0AC4, 0x00A4, 0x0010, 0x435C, 0x040F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x3C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x5316, 0x9036,
+0x000A, 0x2C13, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F,
+0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F,
+0x23E5, 0x430F, 0x3C01, 0x433F, 0x930F, 0x20D2, 0x1840, 0x93A2, 0x28B8,
+0x2023, 0x1840, 0x9382, 0x28BA, 0x201F, 0x407C, 0x00B0, 0x0B0F, 0x134F,
+0x0AC6, 0x00A6, 0x001C, 0x403C, 0x0082, 0x430D, 0x060F, 0x134F, 0x403C,
+0x000F, 0x430D, 0x060F, 0x134F, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x403C,
+0x0082, 0x430D, 0x060F, 0x134F, 0x403C, 0x000C, 0x430D, 0x060F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2C01, 0x080F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x2C01, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x403C, 0x2401, 0x080F, 0x134F, 0x403C, 0x0401, 0x080F, 0x134F, 0x407C,
+0x0098, 0x0B0F, 0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x403C, 0x0880,
+0x080F, 0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x403C, 0x0880, 0x080F,
+0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F,
+0x3C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x5315, 0x9035,
+0x000A, 0x2C0F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F,
+0x0018, 0x134F, 0x903C, 0xFFFE, 0x2403, 0x903C, 0x0F00, 0x23E7, 0x9035,
+0x000A, 0x2446, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x4075,
+0x0021, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4306, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x435C, 0x040F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x3C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x5316, 0x9036, 0x000A, 0x2C13, 0x407C, 0x0028, 0x0B0F, 0x134F,
+0x430C, 0x080F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F,
+0x3C01, 0x433F, 0x930F, 0x23E5, 0x430F, 0x3C01, 0x433F, 0x930F, 0x2403,
+0x403C, 0xFFD1, 0x3D30, 0x4191, 0x0002, 0x0006, 0x4381, 0x0008, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F,
+0x411C, 0x0006, 0x411D, 0x0008, 0xF03D, 0x000F, 0x0A3F, 0x0018, 0x134F,
+0x407C, 0x00A1, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C06, 0x434C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x454C, 0x0B0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4681, 0x000A, 0x464F, 0xD12F, 0x4F81, 0x0000,
+0x4F06, 0x4191, 0x0002, 0x0006, 0x4381, 0x0008, 0x407C, 0x0082, 0x0B0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x427C, 0x040F,
+0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x411C, 0x0006, 0x411D, 0x0008,
+0xF03D, 0x000F, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F,
+0x460C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x454C, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x430D,
+0x0A3F, 0x0018, 0x134F, 0x4C81, 0x000C, 0x4D81, 0x000E, 0x407C, 0x0088,
+0x0B0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x407C, 0x0082, 0x0B0F,
+0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x0C04, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x403C, 0x0034, 0x080F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x0260, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x00FC, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F,
+0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4781, 0x0010,
+0x423D, 0x410C, 0x503C, 0x000A, 0x002F, 0x2C4E, 0x0F3F, 0x000C, 0x134F,
+0x430C, 0x5031, 0x0012, 0x1674, 0x0110, 0x147B, 0x8031, 0x0014, 0x4381,
+0x0000, 0x4305, 0x434B, 0x410C, 0x522C, 0x002F, 0x2C4E, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x2404, 0x403C, 0xFFDA, 0x0180, 0xE450, 0x410C, 0x532C,
+0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFD9,
+0x0180, 0xE450, 0x410D, 0x503D, 0x0010, 0x403C, 0xAA01, 0x002F, 0x2C4E,
+0x0F3F, 0x0058, 0x134F, 0x930C, 0x2402, 0x013B, 0x0010, 0x03DB, 0x2402,
+0x438B, 0x0000, 0x0084, 0x2BFA, 0x04CB, 0x00AB, 0x0008, 0x4078, 0x00C8,
+0x484C, 0x0B0F, 0x134F, 0x04C9, 0x00A9, 0x0014, 0x4036, 0x2401, 0x460C,
+0x090F, 0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x907C, 0x0089, 0x2404,
+0x403C, 0xFFD0, 0x0180, 0xE450, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C,
+0x090F, 0x134F, 0x4C0A, 0x04C7, 0x00A7, 0x0030, 0x435C, 0x070F, 0x134F,
+0xB03A, 0x0200, 0x2C50, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034,
+0x043F, 0x0010, 0x134F, 0x407C, 0x0090, 0x0B0F, 0x134F, 0x403C, 0x0089,
+0x090F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C0A, 0x407C, 0x0090, 0x0B0F,
+0x134F, 0x403C, 0x0088, 0x090F, 0x134F, 0xD03A, 0x0040, 0x4A0C, 0x090F,
+0x134F, 0x4C0A, 0x407C, 0x0090, 0x0B0F, 0x134F, 0x403C, 0x0088, 0x090F,
+0x134F, 0xF03A, 0xFFBF, 0x4A0C, 0x090F, 0x134F, 0x403A, 0x0032, 0x484C,
+0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x533A, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02,
+0x930A, 0x23F5, 0x930A, 0x2401, 0x4C05, 0xB325, 0x2C04, 0x403C, 0xFFDB,
+0x0180, 0xE450, 0xB325, 0x280D, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F,
+0x134F, 0x460C, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x3C06, 0x484C,
+0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x00A4, 0x0010, 0x1840, 0x9382,
+0x28BE, 0x2411, 0x407C, 0x0054, 0x0B0F, 0x134F, 0x434C, 0x040F, 0x134F,
+0x4C4A, 0x407C, 0x0054, 0x0B0F, 0x134F, 0x4A4C, 0xD07C, 0x0080, 0x040F,
+0x134F, 0x4075, 0x0082, 0x454C, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x403C, 0x4303, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042,
+0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F, 0x430A, 0x407C, 0x0048, 0x0B0F,
+0x134F, 0x435C, 0x040F, 0x134F, 0x435C, 0x070F, 0x134F, 0x3C07, 0x434C,
+0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x531A, 0x903A, 0x000A, 0x2C13,
+0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081,
+0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E5, 0x430F,
+0x3C01, 0x433F, 0x930F, 0x20E2, 0x1840, 0x93A2, 0x28B8, 0x201A, 0x1840,
+0x9382, 0x28BA, 0x2016, 0x407C, 0x0090, 0x0B0F, 0x134F, 0x450C, 0x090F,
+0x134F, 0x403C, 0x000F, 0x090F, 0x134F, 0x407C, 0x0090, 0x0B0F, 0x134F,
+0x450C, 0x090F, 0x134F, 0x403C, 0x000C, 0x090F, 0x134F, 0x1840, 0x90B2,
+0x0003, 0x28B8, 0x200E, 0x1840, 0x9382, 0x28BA, 0x200A, 0x407C, 0x0090,
+0x0B0F, 0x134F, 0x450C, 0x090F, 0x134F, 0x423C, 0x090F, 0x134F, 0x434C,
+0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x2C01, 0x090F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x2C01, 0x090F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F,
+0x134F, 0x403C, 0x0401, 0x090F, 0x134F, 0x407C, 0x0098, 0x0B0F, 0x134F,
+0x403C, 0x0080, 0x090F, 0x134F, 0x403C, 0x0880, 0x090F, 0x134F, 0x403C,
+0x0080, 0x090F, 0x134F, 0x403C, 0x0880, 0x090F, 0x134F, 0x407C, 0x0088,
+0x0B0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x3C0A, 0x434C, 0x070F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1,
+0x000A, 0x0000, 0x2C0D, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x090F,
+0x134F, 0x903C, 0xFFFE, 0x2403, 0x903C, 0x0F00, 0x23E5, 0x90B1, 0x000A,
+0x0000, 0x244B, 0x434C, 0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C,
+0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407A,
+0x0021, 0x4A4C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x4381, 0x0000, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x435C, 0x040F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x3C0A, 0x434C, 0x070F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1, 0x000A, 0x0000,
+0x2C13, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C,
+0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E1,
+0x430F, 0x3C01, 0x433F, 0x930F, 0x2403, 0x403C, 0xFFD1, 0x3D0C, 0x4191,
+0x0004, 0x0000, 0x454C, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x090F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C1,
+0x0B0F, 0x134F, 0x412C, 0x090F, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C,
+0x090F, 0x134F, 0x4A4C, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F, 0x41A1,
+0x0008, 0x415F, 0x0008, 0xD11F, 0x0002, 0x4F81, 0x0002, 0x4F81, 0x0006,
+0x4191, 0x0004, 0x0000, 0x454C, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x090F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x2409,
+0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C,
+0x0048, 0x0B0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0B0F,
+0x134F, 0x412C, 0x090F, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F, 0x411C,
+0x0006, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x4A4C, 0x0B0F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x4A4C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x4C81, 0x000A, 0x4381, 0x000C, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x3401,
+0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x403C, 0x4030, 0x090F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x403C, 0x0C04, 0x090F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x4A4C, 0x0B0F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x3401,
+0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x403C, 0x4282, 0x090F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x454C, 0x0B0F, 0x134F, 0x403C, 0x00FE, 0x090F, 0x134F, 0x434C,
+0x070F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x4C0A, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x4A81, 0x000E, 0x423D, 0x410C, 0x523C,
+0x002F, 0x2C4E, 0x0F3F, 0x000C, 0x134F, 0x430C, 0x5031, 0x0014, 0x1674,
+0x0110, 0x147B, 0x8031, 0x0016, 0x0089, 0x2BFA, 0x09CA, 0x00AA, 0x0008,
+0x407C, 0x0028, 0x0A0F, 0x134F, 0x4C44, 0x09CB, 0x00AB, 0x0014, 0x9034,
+0x0099, 0x2011, 0x407C, 0x00F4, 0x0A0F, 0x134F, 0x403C, 0x40A0, 0x0B0F,
+0x134F, 0x407C, 0x0054, 0x0A0F, 0x134F, 0x430C, 0x431D, 0x093F, 0x001C,
+0x134F, 0x407C, 0x00B0, 0x0A0F, 0x134F, 0x403C, 0x0088, 0x430D, 0x093F,
+0x001C, 0x134F, 0x403C, 0x6D8E, 0x430D, 0x093F, 0x001C, 0x134F, 0x407C,
+0x0030, 0x0A0F, 0x134F, 0x403C, 0x0005, 0x0B0F, 0x134F, 0x4076, 0x00C8,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x1501, 0x0B0F, 0x134F, 0x4307, 0x407C,
+0x0028, 0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0xB03C, 0x0200, 0x2C05,
+0x470F, 0x5317, 0x903F, 0x0032, 0x2BF5, 0x9037, 0x0032, 0x7F0F, 0xF31F,
+0x2002, 0x0180, 0xEA5E, 0x09C8, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0C01, 0x0B0F,
+0x134F, 0x403C, 0x0028, 0x1380, 0x2BAE, 0x403C, 0x0401, 0x0B0F, 0x134F,
+0x9034, 0x0091, 0x2406, 0x9034, 0x0099, 0x2403, 0x9034, 0x0098, 0x2027,
+0x407C, 0x0082, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x422C, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x9034, 0x0091,
+0x2006, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x3C12, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x0501, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x407C, 0x0030, 0x0A0F, 0x134F, 0x403C, 0x000E, 0x0B0F, 0x134F,
+0x407C, 0x0028, 0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x410C, 0x503C,
+0x0006, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x522C, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x4191, 0x0006, 0x0012, 0x4381, 0x0014,
+0x434C, 0x080F, 0x134F, 0x4075, 0x00C1, 0x454C, 0x0A0F, 0x134F, 0x09C7,
+0x00A7, 0x0018, 0x411C, 0x0012, 0x411D, 0x0014, 0xF03D, 0x000F, 0x070F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x41A1, 0x0008,
+0x415F, 0x0008, 0xD11F, 0x0004, 0x4F81, 0x0004, 0x4F81, 0x0000, 0x4191,
+0x0006, 0x0012, 0x4381, 0x0014, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x0500, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x411C,
+0x0012, 0x411D, 0x0014, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x412C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x430C, 0x430D, 0x070F, 0x134F, 0x903C, 0xFFFE, 0x2409,
+0x9034, 0x0091, 0x2406, 0x9034, 0x0099, 0x2403, 0x9034, 0x0098, 0x2028,
+0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C, 0xFFFE, 0x430D,
+0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x41A1,
+0x000A, 0x4381, 0x000C, 0x3C07, 0x503C, 0xFFFC, 0x633D, 0x4C81, 0x000A,
+0x4D81, 0x000C, 0x4381, 0x000E, 0x431C, 0x002F, 0x2C4E, 0x0F3F, 0x0038,
+0x134F, 0x4381, 0x0002, 0x3C90, 0x411C, 0x0002, 0xE03C, 0x8000, 0x0FAC,
+0xAD00, 0x002F, 0x2C4E, 0x0F3F, 0x0028, 0x134F, 0x411F, 0x0002, 0x1840,
+0x93CF, 0x2D00, 0x247A, 0x4F4C, 0x13B2, 0x97B4, 0x1840, 0xF21C, 0x28C0,
+0x1840, 0xF21D, 0x28C2, 0x4C0F, 0xDD0F, 0x930F, 0x2002, 0x430F, 0x3C01,
+0x431F, 0x4F81, 0x0010, 0x411F, 0x0002, 0x1840, 0x4F5F, 0x2D00, 0x503F,
+0x9600, 0x4F81, 0x0000, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x0500, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C, 0x0110,
+0x430D, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x412C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x0500, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x403C, 0x011E, 0x430D, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0010, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411F,
+0x0002, 0x531F, 0x4F81, 0x0002, 0x90B1, 0x0020, 0x0002, 0x3B6C, 0x407C,
+0x00B0, 0x0A0F, 0x134F, 0x403C, 0x0088, 0x430D, 0x093F, 0x001C, 0x134F,
+0x403C, 0x000E, 0x430D, 0x093F, 0x001C, 0x134F, 0x9034, 0x0091, 0x20A8,
+0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C, 0x0102, 0x430D,
+0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C09, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4981, 0x0000,
+0xB2B1, 0x0000, 0x2881, 0x407C, 0x0028, 0x0A0F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x0080, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x1400, 0x0B0F, 0x134F, 0x407C, 0x0082,
+0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x422C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C,
+0x4303, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x430C, 0x430D, 0x070F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0xC2B1, 0x0000, 0x4129, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x0500, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C,
+0x0102, 0x430D, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x490C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x423D, 0x410C, 0x523C,
+0x002F, 0x2C4E, 0x0F3F, 0x000C, 0x134F, 0x430C, 0x3C01, 0x433C, 0x5031,
+0x0016, 0x1674, 0x0110, 0x147B, 0x8031, 0x0016, 0x4381, 0x0000, 0x4305,
+0x410C, 0x523C, 0x403E, 0x0005, 0x13B2, 0x98D4, 0x4381, 0x0006, 0x434B,
+0x410C, 0x522C, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFD3, 0x0180, 0xF062, 0x410C, 0x532C, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFD2, 0x0180, 0xF062, 0x410D,
+0x503D, 0x0012, 0x403C, 0xAA01, 0x002F, 0x2C4E, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2402, 0x013B, 0x0012, 0x03DB, 0x2402, 0x438B, 0x0000, 0x008A,
+0x2BFA, 0x0ACB, 0x00AB, 0x0030, 0x435C, 0x0B0F, 0x134F, 0x0AC8, 0x00A8,
+0x0008, 0x4074, 0x0028, 0x444C, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0014,
+0x430C, 0x090F, 0x134F, 0x4076, 0x00C8, 0xB03C, 0x0200, 0x2C25, 0x407C,
+0x0088, 0x080F, 0x134F, 0x407C, 0x0034, 0x0A3F, 0x0010, 0x134F, 0x4037,
+0x0032, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x444C,
+0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0x5337, 0x933C, 0x2403, 0xB03C,
+0x0200, 0x2C02, 0x9307, 0x23F5, 0x9307, 0x2401, 0x4C05, 0x9305, 0x2550,
+0xB325, 0x280E, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C,
+0x3400, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x3C07, 0x464C, 0x080F,
+0x134F, 0x403C, 0x3400, 0x090F, 0x134F, 0x0087, 0x28B8, 0x9387, 0x0006,
+0x2413, 0x407C, 0x0054, 0x080F, 0x134F, 0x434C, 0x0A3F, 0x0010, 0x134F,
+0x4C45, 0x407C, 0x0054, 0x080F, 0x134F, 0x454C, 0xD07C, 0x0080, 0x0A3F,
+0x0010, 0x134F, 0x4305, 0x407C, 0x0048, 0x080F, 0x134F, 0x435C, 0x0A3F,
+0x0010, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x3C07, 0x434C, 0x0B0F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x5315, 0x9035, 0x000A, 0x2C12, 0x444C, 0x080F,
+0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002,
+0x430F, 0x3C01, 0x433F, 0x930F, 0x23E6, 0x430F, 0x3C01, 0x433F, 0x930F,
+0x211F, 0x4075, 0x0021, 0x454C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x4C81, 0x000A, 0x4381, 0x000C, 0x407C, 0x0030, 0x080F, 0x134F, 0x403C,
+0x0003, 0x090F, 0x134F, 0x430C, 0x090F, 0x134F, 0x93A7, 0x0000, 0x201B,
+0x9387, 0x0002, 0x2018, 0x407C, 0x0090, 0x080F, 0x134F, 0x403C, 0x0082,
+0x090F, 0x134F, 0x403C, 0x000F, 0x090F, 0x134F, 0x407C, 0x0090, 0x080F,
+0x134F, 0x403C, 0x0082, 0x090F, 0x134F, 0x403C, 0x000C, 0x090F, 0x134F,
+0x90B7, 0x0003, 0x0000, 0x200E, 0x9387, 0x0002, 0x200B, 0x407C, 0x0090,
+0x080F, 0x134F, 0x403C, 0x0082, 0x090F, 0x134F, 0x423C, 0x090F, 0x134F,
+0x472F, 0xD71F, 0x0002, 0x930F, 0x241C, 0x9387, 0x0004, 0x2419, 0x407C,
+0x0090, 0x080F, 0x134F, 0x403C, 0x0089, 0x090F, 0x134F, 0x430C, 0x090F,
+0x134F, 0x4C07, 0x407C, 0x0090, 0x080F, 0x134F, 0x403C, 0x0088, 0x090F,
+0x134F, 0xD037, 0x0010, 0x470C, 0x090F, 0x134F, 0x4077, 0x0082, 0x474C,
+0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0xD034, 0x090F, 0x134F,
+0x13B2, 0x83C4, 0x4C0F, 0xDD0F, 0x930F, 0x207B, 0x444C, 0x080F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x934C, 0x3410, 0x474C, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x403C, 0xD034, 0x090F, 0x134F, 0x13B2, 0x83C4, 0x4C0F,
+0xDD0F, 0x930F, 0x2063, 0x474C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x13B2, 0x83C4, 0x4C0F, 0xDD0F, 0x930F, 0x2054,
+0x444C, 0x080F, 0x134F, 0x3C0A, 0x13B2, 0x83C4, 0x4C0F, 0xDD0F, 0x930F,
+0x204A, 0x412F, 0x531F, 0x4F81, 0x0000, 0x430C, 0x090F, 0x134F, 0x934C,
+0x3804, 0x90B1, 0x000A, 0x0000, 0x2BED, 0x90B1, 0x000A, 0x0000, 0x2439,
+0x454C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0x822C, 0x4C81, 0x000A,
+0x4381, 0x000C, 0x9381, 0x0000, 0x2032, 0x444C, 0x080F, 0x134F, 0x430C,
+0x090F, 0x134F, 0xB03C, 0x0020, 0x2835, 0x53A1, 0x000A, 0x474C, 0x080F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0xC032, 0x090F, 0x134F, 0x13B2,
+0x83C4, 0x4C0F, 0xDD0F, 0x930F, 0x2010, 0x474C, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x403C, 0x0010, 0x090F, 0x134F, 0x13B2, 0x83C4, 0x4C0F,
+0xDD0F, 0x930F, 0x2403, 0x403C, 0xFFD4, 0x3D2F, 0x40B1, 0x0010, 0x0006,
+0x3C0C, 0x454C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C81, 0x000A,
+0x4381, 0x000C, 0x4391, 0x0010, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401,
+0x090F, 0x134F, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C,
+0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x2403,
+0x403C, 0xFFD1, 0x3D05, 0x4114, 0x0004, 0x474C, 0x080F, 0x134F, 0x403C,
+0x3FFF, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F,
+0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x407C, 0x00C1, 0x080F, 0x134F, 0x440C, 0x090F, 0x134F, 0x407C,
+0x00A1, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x4C04, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F,
+0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x454C, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x4481, 0x0008, 0x444F, 0xD11F, 0x0002, 0x4F81, 0x0002,
+0x4F81, 0x0000, 0x4114, 0x0004, 0x474C, 0x080F, 0x134F, 0x403C, 0x3FFF,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C,
+0x2409, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x0048, 0x080F, 0x134F, 0x427C, 0x0A3F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x080F, 0x134F, 0x440C, 0x090F, 0x134F, 0x407C, 0x00A1, 0x080F,
+0x134F, 0x412C, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x454C,
+0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C,
+0x3401, 0x090F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x4030, 0x090F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x0C04,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x454C,
+0x080F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C,
+0x2401, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F,
+0x403C, 0x3401, 0x090F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x4282,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x00FE, 0x090F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x430C,
+0x090F, 0x134F, 0x4C07, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F,
+0x403C, 0x2401, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0xD117, 0x0006,
+0x4781, 0x000E, 0x403D, 0x000A, 0x410C, 0x523C, 0x002F, 0x2C4E, 0x0F3F,
+0x000C, 0x134F, 0x430C, 0x5031, 0x0016, 0x1674, 0x0110, 0x147B, 0x8031,
+0x001E, 0xB31C, 0x288A, 0x008B, 0x2824, 0x438B, 0x0000, 0x438B, 0x0002,
+0x438B, 0x0004, 0x438B, 0x0006, 0x008A, 0x2C4E, 0x0BCC, 0x0A0F, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2422, 0x008C, 0x282C, 0x0A0F, 0x0F3F, 0x002C,
+0x134F, 0x933C, 0x241A, 0x0084, 0x282E, 0x04CC, 0x0A0F, 0x0F3F, 0x002C,
+0x134F, 0x933C, 0x2411, 0x008C, 0x2830, 0x0A0F, 0x0F3F, 0x0030, 0x134F,
+0x933C, 0x2409, 0x0087, 0x2834, 0x07CC, 0x0A0F, 0x0F3F, 0x0030, 0x134F,
+0x933C, 0x2003, 0x433C, 0x0180, 0xF636, 0x472F, 0xD71F, 0x0002, 0x930F,
+0x2003, 0x430C, 0x0180, 0xF636, 0x4BDB, 0x0004, 0x0007, 0x4BDB, 0x0003,
+0x0006, 0x4BDB, 0x0002, 0x0005, 0x4BDB, 0x0001, 0x0004, 0x4BEB, 0x0003,
+0x43CB, 0x0002, 0x438B, 0x0000, 0x472C, 0x471D, 0x0002, 0x446E, 0x13B2,
+0x8D1E, 0x4C87, 0x0000, 0x4D87, 0x0002, 0x13B2, 0x7FE8, 0x473E, 0x473F,
+0x831E, 0x730F, 0xDF0E, 0x930E, 0x430F, 0x2403, 0x403E, 0x0010, 0x3C01,
+0x430E, 0x4038, 0x0003, 0x4309, 0xFB28, 0x1519, 0x160B, 0x064B, 0x1840,
+0xDB1E, 0x2B6A, 0x1840, 0xDB1F, 0x2B6C, 0xD42E, 0x4E81, 0x0000, 0x4F81,
+0x0002, 0x430F, 0x410E, 0x530E, 0x430C, 0x430D, 0x1380, 0x2C3E, 0x430F,
+0x008E, 0x2830, 0x422C, 0x430D, 0x1380, 0x2C3E, 0x1840, 0x9382, 0x282C,
+0x20D3, 0x008A, 0x2C4E, 0x407C, 0x0091, 0x0A0F, 0x0F3F, 0x0024, 0x134F,
+0x0A0F, 0x0F3F, 0x0004, 0x134F, 0x410D, 0x522D, 0x410C, 0x503C, 0x000E,
+0x0A0F, 0x0F3F, 0x0034, 0x134F, 0x410F, 0x503F, 0x0006, 0x0F71, 0x0012,
+0x0F71, 0x0016, 0x0087, 0x2834, 0x0085, 0x2830, 0x0084, 0x282E, 0x472F,
+0xD71F, 0x0002, 0x930F, 0x2002, 0x0180, 0xF61C, 0x9381, 0x0004, 0x2002,
+0x0180, 0xF618, 0x442F, 0x830F, 0x2403, 0x831F, 0x2407, 0x3C0D, 0x013F,
+0x000E, 0x4F6E, 0x4E81, 0x0000, 0x3C04, 0x013F, 0x000E, 0x4FA1, 0x0000,
+0x4381, 0x0002, 0x3C09, 0x013F, 0x000E, 0x1840, 0x4FA1, 0x0000, 0x1840,
+0x4F91, 0x0002, 0x0002, 0x412C, 0x411D, 0x0002, 0x407E, 0x0003, 0xF56E,
+0x1842, 0x5E4E, 0x13B2, 0x8CC0, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x4C08,
+0x4D09, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x5808,
+0x6909, 0x6A0A, 0x4076, 0x0028, 0x480C, 0x490D, 0x4A0E, 0xD03C, 0x0006,
+0x4C81, 0x0006, 0x4D81, 0x0008, 0x4E81, 0x000A, 0x4381, 0x000C, 0x013C,
+0x0016, 0x1380, 0x2C1A, 0xF07C, 0x0007, 0x936C, 0x2402, 0x5376, 0x23E9,
+0x431E, 0x446F, 0x835F, 0x3002, 0x18CF, 0x5E0E, 0x013F, 0x000E, 0x4E0B,
+0xE03B, 0x8000, 0x00BB, 0x8000, 0x0BEF, 0x0F71, 0x000E, 0x4E0F, 0xE33F,
+0x5F0F, 0x7F0F, 0x5E85, 0x0000, 0x6F85, 0x0002, 0x9E81, 0x0004, 0x2806,
+0x411F, 0x0004, 0x8E0F, 0x4F81, 0x0004, 0x3C02, 0x4381, 0x0004, 0x53B7,
+0x0000, 0x63B7, 0x0002, 0x472F, 0xD71F, 0x0002, 0x930F, 0x259D, 0x452F,
+0xB03F, 0x0FFF, 0x237C, 0x4F08, 0x4519, 0x0002, 0x430A, 0x5808, 0x6909,
+0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x4076, 0x0028,
+0x480C, 0x490D, 0x4A0E, 0xD32C, 0x4C81, 0x0006, 0x4D81, 0x0008, 0x4E81,
+0x000A, 0x4381, 0x000C, 0x013C, 0x0012, 0x1380, 0x2C1A, 0xF07C, 0x0007,
+0x936C, 0x2752, 0x5376, 0x2750, 0x3FE9, 0x4381, 0x0000, 0x4381, 0x0002,
+0x407A, 0x0028, 0x410B, 0x503B, 0x0006, 0x40B1, 0x0007, 0x0006, 0x4381,
+0x0008, 0x4381, 0x000A, 0x4381, 0x000C, 0x0BCC, 0x1380, 0x2C1A, 0xB31C,
+0x2802, 0x537A, 0x23F0, 0x4104, 0x5304, 0x035F, 0x100E, 0x100D, 0x100C,
+0x110F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x4C84,
+0x0000, 0x4D84, 0x0002, 0x410F, 0x503F, 0x0006, 0x0F71, 0x0016, 0x0F71,
+0x0012, 0x0F71, 0x001A, 0x0087, 0x2834, 0x0085, 0x2830, 0x3C7D, 0x002F,
+0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x472F, 0xD71F, 0x0002, 0x930F, 0x2473,
+0x431E, 0x1840, 0x425F, 0x282E, 0x835F, 0x3002, 0x18CF, 0x5E0E, 0x4E0F,
+0xE33F, 0x5F0F, 0x7F0F, 0x5E85, 0x0000, 0x6F85, 0x0002, 0x452F, 0xB03F,
+0x0FFF, 0x205F, 0x13B2, 0x7FE8, 0x407C, 0x000B, 0x1380, 0x2C06, 0x4528,
+0x4519, 0x0002, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A,
+0x5808, 0x6909, 0x6A0A, 0x4076, 0x0028, 0x480C, 0x490D, 0x4A0E, 0xD32C,
+0x4C81, 0x0006, 0x4D81, 0x0008, 0x4E81, 0x000A, 0x4381, 0x000C, 0x013C,
+0x0012, 0x1380, 0x2C1A, 0xF07C, 0x0007, 0x936C, 0x2402, 0x5376, 0x23EA,
+0x4428, 0x4419, 0x0002, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909,
+0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x4076, 0x0028, 0x480C, 0x490D, 0x4A0E,
+0xD03C, 0x0007, 0x4C81, 0x0006, 0x4D81, 0x0008, 0x4E81, 0x000A, 0x4381,
+0x000C, 0x013C, 0x0016, 0x1380, 0x2C1A, 0xB31C, 0x2802, 0x5376, 0x23EB,
+0x035F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x110F,
+0x100E, 0x100D, 0x100C, 0x4C84, 0x0000, 0x4D84, 0x0002, 0x53B7, 0x0000,
+0x63B7, 0x0002, 0x472F, 0xD71F, 0x0002, 0x930F, 0x2451, 0x4428, 0x4419,
+0x0002, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x5808,
+0x6909, 0x6A0A, 0x4076, 0x0028, 0x480C, 0x490D, 0x4A0E, 0xD03C, 0x0007,
+0x4C81, 0x0006, 0x4D81, 0x0008, 0x4E81, 0x000A, 0x4381, 0x000C, 0x013C,
+0x001A, 0x1380, 0x2C1A, 0xB31C, 0x2802, 0x5376, 0x23EB, 0x035F, 0x100E,
+0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D,
+0x100C, 0x407E, 0x0003, 0xF56E, 0x1842, 0x5E4E, 0x13B2, 0x8D1E, 0x4C81,
+0x0000, 0x4D81, 0x0002, 0x1840, 0x421F, 0x282E, 0x830F, 0x2405, 0x831F,
+0x2409, 0x831F, 0x2736, 0x3F3A, 0x002F, 0x2C4E, 0x0F3F, 0x0008, 0x134F,
+0x3F34, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x3F2E, 0x407C, 0x000A,
+0x1380, 0x2C06, 0x4438, 0x4439, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808,
+0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x4076, 0x0028, 0x4104, 0x5034,
+0x0006, 0x480C, 0x490D, 0x4A0E, 0xD03C, 0x0007, 0x4C81, 0x0006, 0x4D81,
+0x0008, 0x4E81, 0x000A, 0x4381, 0x000C, 0x04CC, 0x1380, 0x2C1A, 0xB31C,
+0x2802, 0x5376, 0x23EC, 0x035F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E,
+0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x407E, 0x0003, 0x1840,
+0xF25E, 0x2830, 0x1842, 0x5E4E, 0x13B2, 0x8D1E, 0x4C81, 0x0000, 0x4D81,
+0x0002, 0x1840, 0x421F, 0x282E, 0x830F, 0x2405, 0x831F, 0x2409, 0x831F,
+0x240D, 0x3C11, 0x002F, 0x2C4E, 0x0F3F, 0x0008, 0x134F, 0x3C0B, 0x002F,
+0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x3C05, 0x002F, 0x2C4E, 0x0F3F, 0x0014,
+0x134F, 0x473F, 0xD73F, 0x930F, 0x2402, 0x431C, 0x3C0D, 0x4381, 0x0000,
+0x4381, 0x0002, 0x431E, 0x410D, 0x530D, 0x407C, 0x000C, 0x1380, 0x2C3A,
+0x13B2, 0x7FE8, 0x5031, 0x001E, 0x1674, 0x0110, 0x147B, 0x120C, 0x8031,
+0x003C, 0x4308, 0x4309, 0x430A, 0x430B, 0x4381, 0x0014, 0x4381, 0x0016,
+0x4381, 0x0006, 0x4381, 0x0012, 0x4381, 0x0010, 0x4381, 0x000E, 0x4347,
+0x410C, 0x503C, 0x0006, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x410C,
+0x503C, 0x0012, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C,
+0x0010, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C, 0x000E,
+0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x432C, 0x002F, 0x2C4E, 0x0F3F,
+0x0038, 0x134F, 0x933C, 0x240E, 0x410D, 0x530D, 0x403C, 0xAA01, 0x002F,
+0x2C4E, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2401, 0x0107, 0x03D7, 0x2003,
+0x433C, 0x0180, 0xFBE6, 0x1380, 0x2C36, 0x907C, 0x0046, 0x2404, 0x407C,
+0x0046, 0x1380, 0x2C02, 0x472F, 0x930F, 0x2555, 0x9381, 0x000E, 0x2552,
+0x4381, 0x0008, 0x4381, 0x000A, 0x4381, 0x001C, 0x4381, 0x001E, 0x0086,
+0x2856, 0x462F, 0x0FCE, 0x0FEF, 0x0FEE, 0x0A4F, 0x0EEF, 0x1840, 0x40FF,
+0x0007, 0x2CA1, 0x3C04, 0x403C, 0x0003, 0x1380, 0x2BAA, 0x90B2, 0xFFA1,
+0x0350, 0x2FF8, 0x93A2, 0x0350, 0x2BF5, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x4214, 0x0350, 0x421F, 0x0350, 0x1800, 0x43C1, 0x0000, 0x940F,
+0x2C01, 0x4F04, 0x410D, 0x530D, 0x403C, 0xAA04, 0x002F, 0x2C4E, 0x0F3F,
+0x0058, 0x134F, 0x010F, 0x4F25, 0x462F, 0x0FCE, 0x0FEF, 0x0FEE, 0x0A4F,
+0x0EEF, 0x1840, 0x44CF, 0x2CA2, 0x1084, 0x1840, 0x44CF, 0x2CA3, 0x1840,
+0x45CF, 0x2CA4, 0x1085, 0x1840, 0x45CF, 0x2CA5, 0x4214, 0x03D0, 0x421F,
+0x03D0, 0x1800, 0x43C1, 0x0018, 0x940F, 0x2C01, 0x4F04, 0x410D, 0x503D,
+0x0018, 0x403C, 0xAA03, 0x002F, 0x2C4E, 0x0F3F, 0x0058, 0x134F, 0x013F,
+0x0018, 0x4F25, 0x462F, 0x0FCE, 0x0FEF, 0x0FEE, 0x0A4F, 0x0EEF, 0x1840,
+0x44CF, 0x2CAE, 0x1084, 0x1840, 0x44CF, 0x2CAF, 0x1840, 0x45CF, 0x2CB0,
+0x1085, 0x1840, 0x45CF, 0x2CB1, 0x410D, 0x503D, 0x001C, 0x410C, 0x523C,
+0x1380, 0x2B96, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x9381, 0x003C, 0x2046, 0x4104, 0x5034,
+0x0014, 0x1213, 0x04CD, 0x403E, 0x101C, 0x403F, 0xE000, 0x430C, 0x1380,
+0x2C42, 0x411E, 0x0016, 0x411F, 0x0018, 0x462D, 0x0DC5, 0x0DED, 0x0DE5,
+0x0A4D, 0x05ED, 0x1840, 0x4ECD, 0x2CA6, 0x108E, 0x1840, 0x4ECD, 0x2CA7,
+0x1840, 0x4FCD, 0x2CA8, 0x108F, 0x1840, 0x4FCD, 0x2CA9, 0x1213, 0x04CD,
+0x430E, 0x403F, 0x4001, 0x430C, 0x1380, 0x2C42, 0x411E, 0x0018, 0x411F,
+0x001A, 0x462D, 0x0DC4, 0x0DED, 0x0DE4, 0x0A4D, 0x04ED, 0x1840, 0x4ECD,
+0x2CAA, 0x108E, 0x1840, 0x4ECD, 0x2CAB, 0x1840, 0x4FCD, 0x2CAC, 0x108F,
+0x1840, 0x4FCD, 0x2CAD, 0x5221, 0x3C33, 0x1211, 0x003E, 0x1230, 0x001E,
+0x433C, 0x433D, 0x433E, 0x433F, 0x1380, 0x2C22, 0x4C08, 0x4D09, 0x4E0A,
+0x4F0B, 0x462C, 0x0CC4, 0x0CEC, 0x0CE4, 0x0A4C, 0x04EC, 0x1840, 0x48CC,
+0x2CA6, 0x480D, 0x108D, 0x1840, 0x4DCC, 0x2CA7, 0x1840, 0x49CC, 0x2CA8,
+0x490D, 0x108D, 0x1840, 0x4DCC, 0x2CA9, 0x1840, 0x4ECC, 0x2CAA, 0x108E,
+0x1840, 0x4ECC, 0x2CAB, 0x1840, 0x4FCC, 0x2CAC, 0x108F, 0x1840, 0x4FCC,
+0x2CAD, 0x5221, 0x430E, 0x430F, 0x411C, 0x0008, 0x411D, 0x000A, 0x13B2,
+0x9906, 0x930C, 0x2407, 0x411C, 0x0008, 0x411D, 0x000A, 0x13B2, 0x9912,
+0x3C06, 0x411C, 0x001C, 0x411D, 0x001E, 0x13B2, 0x9912, 0x462F, 0x0FCE,
+0x0FEF, 0x0FEE, 0x0A4F, 0x0EEF, 0x1840, 0x4CCF, 0x2CB2, 0x108C, 0x1840,
+0x4CCF, 0x2CB3, 0x5396, 0x0000, 0x90B6, 0x0005, 0x0000, 0x2046, 0x4386,
+0x0000, 0x423C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x407C, 0x0005,
+0x002F, 0x2C4E, 0x0F3F, 0x0008, 0x134F, 0x407C, 0x0013, 0x002F, 0x2C4E,
+0x0F3F, 0x0008, 0x134F, 0x403D, 0x005F, 0x008C, 0x2CA1, 0x002F, 0x2C4E,
+0x0F3F, 0x000C, 0x134F, 0x431C, 0x3D25, 0x930F, 0x2019, 0x9381, 0x0006,
+0x251F, 0x422C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x430D,
+0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x430D, 0x002F, 0x2C4E,
+0x0F3F, 0x0014, 0x134F, 0x430C, 0x3D0A, 0x433C, 0x433D, 0x433E, 0x433F,
+0x1380, 0x2C1E, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B, 0x9387, 0x0000, 0x2435,
+0x9381, 0x0012, 0x2432, 0x4346, 0xB03B, 0x4000, 0x2C29, 0xB03B, 0x0400,
+0x2826, 0x431C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x480C, 0x490D,
+0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x4A0C, 0x4B0D, 0x002F, 0x2C4E,
+0x0F3F, 0x0014, 0x134F, 0x410D, 0x530D, 0x403C, 0xAA01, 0x002F, 0x2C4E,
+0x0F3F, 0x0058, 0x134F, 0x930C, 0x2401, 0x0106, 0x03D6, 0x2402, 0x4386,
+0x0000, 0x431F, 0x3C01, 0x432F, 0x931F, 0x2002, 0x431C, 0x3CC8, 0x9387,
+0x0000, 0x2003, 0x9381, 0x0006, 0x24C1, 0x9381, 0x0010, 0x24BE, 0x4B0F,
+0x108F, 0x4F4C, 0xF07C, 0x00C0, 0x907C, 0x0040, 0x24B6, 0x4191, 0x0006,
+0x0004, 0x4381, 0x000C, 0x1800, 0x43C1, 0x0008, 0xB03B, 0x4000, 0x2C1D,
+0x930B, 0x3806, 0x4B07, 0xF037, 0x8300, 0x9037, 0x8300, 0x2015, 0x407C,
+0x0086, 0x1380, 0x2C02, 0x907C, 0x0099, 0x200E, 0x422C, 0x1380, 0x2C0E,
+0x903C, 0x1207, 0x2008, 0x430C, 0x1380, 0x2C0E, 0x903C, 0xA55A, 0x2002,
+0x4391, 0x000C, 0x9381, 0x0004, 0x2015, 0x008F, 0x284E, 0x4304, 0x4305,
+0x4306, 0x4037, 0x4000, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0x4B0F, 0xF03F,
+0x4000, 0x9F07, 0x2005, 0x9381, 0x000C, 0x2002, 0x432C, 0x3C61, 0x422C,
+0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x480C, 0x490D, 0x002F, 0x2C4E,
+0x0F3F, 0x0014, 0x134F, 0x4A0C, 0x4B0D, 0x002F, 0x2C4E, 0x0F3F, 0x0014,
+0x134F, 0xB03B, 0x4000, 0x2C03, 0x9381, 0x0004, 0x2406, 0x9381, 0x000C,
+0x2443, 0x9381, 0x0004, 0x2040, 0x410C, 0x503C, 0x0020, 0x028E, 0x9A3A,
+0x427D, 0x13B2, 0x98A8, 0x1840, 0x42D1, 0x2470, 0x0020, 0x008F, 0x2470,
+0x4FD1, 0x0001, 0x0021, 0x4107, 0x5037, 0x0028, 0x1407, 0x430F, 0x434E,
+0x423D, 0x410C, 0x503C, 0x0024, 0x0026, 0x2C4E, 0x0636, 0x001C, 0x1346,
+0x403C, 0x0003, 0x002F, 0x2A28, 0x134F, 0x07CC, 0x002F, 0x2C4E, 0x0F3F,
+0x0020, 0x134F, 0x410D, 0x522D, 0x403C, 0xAA01, 0x002F, 0x2C4E, 0x0F3F,
+0x0058, 0x134F, 0x5221, 0x930C, 0x2403, 0x1800, 0x41E1, 0x0008, 0x013F,
+0x0008, 0x03DF, 0x2402, 0x438F, 0x0000, 0x431C, 0x9381, 0x0004, 0x2402,
+0x430C, 0x3C0C, 0x1840, 0x4882, 0x284E, 0x1840, 0x4982, 0x2850, 0x1840,
+0x4A82, 0x2852, 0x1840, 0x4B82, 0x2854, 0x931C, 0x2403, 0x930C, 0x2401,
+0x432C, 0x5031, 0x003E, 0x1674, 0x0110, 0x147B, 0x8031, 0x0016, 0x4381,
+0x0000, 0x4305, 0x410C, 0x523C, 0x403E, 0x0005, 0x13B2, 0x98D4, 0x4381,
+0x0006, 0x434B, 0x410C, 0x522C, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2404, 0x403C, 0xFFD3, 0x0280, 0x015A, 0x410C, 0x532C, 0x002F,
+0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFD2, 0x0280,
+0x015A, 0x410D, 0x503D, 0x0012, 0x403C, 0xAA01, 0x002F, 0x2C4E, 0x0F3F,
+0x0058, 0x134F, 0x930C, 0x2402, 0x013B, 0x0012, 0x03DB, 0x2402, 0x438B,
+0x0000, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0030, 0x435C, 0x0B0F, 0x134F,
+0x0AC8, 0x00A8, 0x0008, 0x4074, 0x0028, 0x444C, 0x080F, 0x134F, 0x0AC9,
+0x00A9, 0x0014, 0x430C, 0x090F, 0x134F, 0x4077, 0x00C8, 0xB03C, 0x0200,
+0x2C27, 0x407C, 0x0088, 0x080F, 0x134F, 0x407C, 0x0034, 0x0A3F, 0x0010,
+0x134F, 0x4036, 0x0032, 0x474C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F,
+0x134F, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0x5336, 0x933C,
+0x2403, 0xB03C, 0x0200, 0x2C02, 0x9306, 0x23F5, 0x9306, 0x2402, 0x4C81,
+0x0000, 0x9381, 0x0000, 0x24EF, 0xB3A1, 0x0000, 0x280E, 0x434C, 0x0B0F,
+0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x3400, 0x090F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x3C07, 0x474C, 0x080F, 0x134F, 0x403C, 0x3400, 0x090F,
+0x134F, 0x4306, 0x407C, 0x0048, 0x080F, 0x134F, 0x435C, 0x0A3F, 0x0010,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x3C07, 0x434C, 0x0B0F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x5316, 0x9036, 0x000A, 0x2C12, 0x444C, 0x080F, 0x134F,
+0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F,
+0x3C01, 0x433F, 0x930F, 0x23E6, 0x430F, 0x3C01, 0x433F, 0x930F, 0x20D8,
+0x407C, 0x0021, 0x080F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F,
+0x4C81, 0x000A, 0x4D81, 0x000C, 0x407C, 0x0030, 0x080F, 0x134F, 0x403C,
+0x0003, 0x090F, 0x134F, 0x430C, 0x090F, 0x134F, 0x1840, 0x93A2, 0x28B8,
+0x2023, 0x1840, 0x9382, 0x28BA, 0x201F, 0x407C, 0x00B0, 0x080F, 0x134F,
+0x0AC6, 0x00A6, 0x001C, 0x403C, 0x0082, 0x430D, 0x060F, 0x134F, 0x403C,
+0x000F, 0x430D, 0x060F, 0x134F, 0x407C, 0x00B0, 0x080F, 0x134F, 0x403C,
+0x0082, 0x430D, 0x060F, 0x134F, 0x403C, 0x000C, 0x430D, 0x060F, 0x134F,
+0x4076, 0x0082, 0x464C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C,
+0x4303, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x444C, 0x080F, 0x134F, 0x3C0A, 0x13B2,
+0x845C, 0x4C0F, 0xDD0F, 0x930F, 0x204C, 0x5315, 0x430C, 0x090F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x934C, 0x3803, 0x9035, 0x000A, 0x2BEE, 0x9035,
+0x000A, 0x243D, 0x407C, 0x0021, 0x080F, 0x134F, 0x430C, 0x430D, 0x0A3F,
+0x0018, 0x134F, 0x503C, 0xFFFE, 0x633D, 0x4C81, 0x000A, 0x4D81, 0x000C,
+0x9305, 0x2032, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xB03C,
+0x0020, 0x2838, 0x53A1, 0x000A, 0x464C, 0x080F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x403C, 0xC032, 0x090F, 0x134F, 0x13B2, 0x845C, 0x4C0F, 0xDD0F,
+0x930F, 0x2010, 0x464C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C,
+0x0010, 0x090F, 0x134F, 0x13B2, 0x845C, 0x4C0F, 0xDD0F, 0x930F, 0x2403,
+0x403C, 0xFFD4, 0x3D47, 0x40B1, 0x0010, 0x0006, 0x3C0F, 0x407C, 0x0021,
+0x080F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x4C81, 0x000A,
+0x4D81, 0x000C, 0x4391, 0x0010, 0x474C, 0x080F, 0x134F, 0x403C, 0x2401,
+0x090F, 0x134F, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C,
+0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x2403,
+0x403C, 0xFFD1, 0x3D1A, 0x4114, 0x0004, 0x464C, 0x080F, 0x134F, 0x403C,
+0x3FFF, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F,
+0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x407C, 0x00C1, 0x080F, 0x134F, 0x440C, 0x430D, 0x0A3F, 0x0018,
+0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C04, 0x434C, 0x0B0F, 0x134F,
+0x474C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x407C, 0x0021,
+0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x4481, 0x0008, 0x444F, 0xD11F,
+0x0002, 0x4F81, 0x0002, 0x4F81, 0x0000, 0x4114, 0x0004, 0x464C, 0x080F,
+0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C,
+0x080F, 0x134F, 0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x407C, 0x0048, 0x080F, 0x134F, 0x427C, 0x0A3F,
+0x0010, 0x134F, 0x407C, 0x00C1, 0x080F, 0x134F, 0x440C, 0x430D, 0x0A3F,
+0x0018, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F,
+0x403C, 0x2401, 0x090F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x4077, 0x0088, 0x474C, 0x080F, 0x134F, 0x407C, 0x0034,
+0x0A3F, 0x0010, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x0080, 0x090F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x0C04,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C,
+0x0021, 0x080F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F,
+0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x474C,
+0x080F, 0x134F, 0x403C, 0x0034, 0x090F, 0x134F, 0x464C, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x403C, 0x0260, 0x090F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x464C,
+0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x00FC, 0x090F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x4C06, 0x434C, 0x0B0F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C,
+0x080F, 0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0xD116, 0x0006, 0x4681, 0x000E, 0x403D, 0x000A, 0x410C, 0x523C,
+0x002F, 0x2C4E, 0x0F3F, 0x000C, 0x134F, 0x430C, 0x5031, 0x0016, 0x1674,
+0x0110, 0x147B, 0x8221, 0x0CC4, 0x1840, 0x4CA1, 0x0000, 0x1840, 0x4C91,
+0x0002, 0x0002, 0x0089, 0x2BFA, 0x09CA, 0x00AA, 0x0008, 0x4075, 0x0088,
+0x454C, 0x0A0F, 0x134F, 0x09C7, 0x00A7, 0x0010, 0x407C, 0x0034, 0x070F,
+0x134F, 0x407B, 0x0082, 0x4B4C, 0x0A0F, 0x134F, 0x09C8, 0x00A8, 0x0030,
+0x435C, 0x080F, 0x134F, 0x00A9, 0x0014, 0x412E, 0x411F, 0x0002, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0085, 0x4E0C, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x4076, 0x0042, 0x464C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4491,
+0x0004, 0x0000, 0x4491, 0x0006, 0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C,
+0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x412E, 0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00,
+0xD03E, 0x0086, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4491, 0x0008, 0x0000, 0x4491, 0x000A, 0x0002, 0x454C, 0x0A0F,
+0x134F, 0x407C, 0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E,
+0xF03E, 0x0F00, 0xD03E, 0x0089, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4491, 0x000C, 0x0000, 0x4491, 0x000E, 0x0002,
+0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD50E, 0x4E0C, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4491, 0x0010, 0x0000, 0x4491, 0x0012,
+0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x070F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x008A, 0x4E0C, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412C, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C,
+0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4491, 0x0014, 0x0000,
+0x4491, 0x0016, 0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x070F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x411F,
+0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x008B,
+0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4491,
+0x0018, 0x0000, 0x4491, 0x001A, 0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C,
+0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x412E, 0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00,
+0xD03E, 0x008C, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x5221, 0x1674, 0x0110, 0x147B, 0x8031, 0x000C, 0x4381, 0x000A,
+0xB31C, 0x28B1, 0x008B, 0x2838, 0x438B, 0x0000, 0x438B, 0x0002, 0x438B,
+0x0004, 0x438B, 0x0006, 0x008A, 0x2C4E, 0x0BCC, 0x0A0F, 0x0F3F, 0x002C,
+0x134F, 0x933C, 0x2542, 0x008C, 0x2840, 0x0A0F, 0x0F3F, 0x002C, 0x134F,
+0x933C, 0x253A, 0x008C, 0x2842, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x933C,
+0x2532, 0x008C, 0x2844, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x252A,
+0x0087, 0x2848, 0x07CC, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x2521,
+0x472F, 0xD71F, 0x0002, 0x930F, 0x2002, 0x430C, 0x3DFC, 0x472C, 0x471D,
+0x0002, 0x1840, 0x425E, 0x2842, 0x13B2, 0x8D1E, 0x4C87, 0x0000, 0x4D87,
+0x0002, 0x0086, 0x2BFA, 0x4105, 0x5305, 0x431E, 0x05CD, 0x426C, 0x063F,
+0x0040, 0x134F, 0xD391, 0x0000, 0x430E, 0x05CD, 0x426C, 0x063F, 0x0040,
+0x134F, 0x473E, 0x473F, 0x831E, 0x730F, 0xDF0E, 0x930E, 0x430F, 0x2403,
+0x403E, 0x0010, 0x3C01, 0x430E, 0x4038, 0x0003, 0x4309, 0xFB28, 0x1519,
+0x160B, 0x064B, 0x1840, 0xDB1E, 0x2B6A, 0x1840, 0xDB1F, 0x2B6C, 0x1840,
+0xD21E, 0x2842, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430F, 0x05CE, 0x430C,
+0x430D, 0x063B, 0x0044, 0x134B, 0x430F, 0x008E, 0x2844, 0x422C, 0x430D,
+0x063B, 0x0044, 0x134B, 0x1840, 0x9392, 0x2840, 0x2025, 0x4308, 0x430A,
+0x430B, 0x435E, 0x05CD, 0x407C, 0x000F, 0x063F, 0x0050, 0x134F, 0x4C47,
+0x13B2, 0x8A2C, 0x5318, 0x6309, 0x630A, 0x630B, 0x200A, 0x930A, 0x2008,
+0x9309, 0x2006, 0x9038, 0x0028, 0x2C03, 0x9357, 0x23E8, 0x3C09, 0x9038,
+0x0028, 0x2006, 0x9309, 0x2004, 0x930A, 0x2002, 0x930B, 0x24A4, 0x0087,
+0x2848, 0x1840, 0x9382, 0x2840, 0x210A, 0x410D, 0x522D, 0x410C, 0x503C,
+0x0006, 0x002F, 0x2C4E, 0x0F3F, 0x0034, 0x134F, 0x4105, 0x5305, 0x0084,
+0x2844, 0x3C17, 0x4381, 0x0004, 0x53B7, 0x0000, 0x63B7, 0x0002, 0x472F,
+0xD71F, 0x0002, 0x930F, 0x251E, 0x442F, 0xB03F, 0x0FFF, 0x200D, 0x430F,
+0x04CE, 0x422C, 0x430D, 0x1380, 0x2C3E, 0x13B2, 0x8A2C, 0x472F, 0xD71F,
+0x0002, 0x930F, 0x250D, 0x9381, 0x0004, 0x2507, 0x4308, 0x4309, 0x430A,
+0x430B, 0x1840, 0x421F, 0x2842, 0x830F, 0x2403, 0x831F, 0x2407, 0x3C0D,
+0x013F, 0x0006, 0x4F6E, 0x4E81, 0x0000, 0x3C04, 0x013F, 0x0006, 0x4FA1,
+0x0000, 0x4381, 0x0002, 0x3C09, 0x013F, 0x0006, 0x1840, 0x4FA1, 0x0000,
+0x1840, 0x4F91, 0x0002, 0x0002, 0x412C, 0x411D, 0x0002, 0x407E, 0x0003,
+0xF46E, 0x1842, 0x5E4E, 0x13B2, 0x8CC0, 0x4C81, 0x0000, 0x4D81, 0x0002,
+0x434E, 0x05CD, 0x407C, 0x000D, 0x1380, 0x2C4A, 0x5318, 0x6309, 0x630A,
+0x630B, 0x202C, 0x930A, 0x202A, 0x9309, 0x2028, 0x9038, 0x0028, 0x2C25,
+0x935C, 0x23EC, 0x431E, 0x1840, 0x425F, 0x2842, 0x835F, 0x3002, 0x18CF,
+0x5E0E, 0x013F, 0x0006, 0x4E0B, 0xE03B, 0x8000, 0x00BB, 0x8000, 0x0BEF,
+0x0F71, 0x0006, 0x4E0F, 0xE33F, 0x5F0F, 0x7F0F, 0x5E84, 0x0000, 0x6F84,
+0x0002, 0x9E81, 0x0004, 0x2B80, 0x411F, 0x0004, 0x8E0F, 0x4F81, 0x0004,
+0x3F7C, 0x9038, 0x0028, 0x23DA, 0x9309, 0x23D8, 0x930A, 0x23D6, 0x930B,
+0x23D4, 0x433C, 0x3CE0, 0x9038, 0x0028, 0x200A, 0x9309, 0x2008, 0x930A,
+0x2006, 0x930B, 0x2004, 0x4381, 0x0000, 0x4381, 0x0002, 0x0084, 0x2844,
+0x412C, 0x411D, 0x0002, 0x407E, 0x0003, 0xF46E, 0x1842, 0x5E4E, 0x13B2,
+0x8D1E, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x1840, 0x421F, 0x2842, 0x830F,
+0x2405, 0x831F, 0x2409, 0x831F, 0x240D, 0x3C11, 0x002F, 0x2C4E, 0x0F3F,
+0x0008, 0x134F, 0x3C0B, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x3C05,
+0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x472F, 0xD71F, 0x0002, 0x930F,
+0x242D, 0x431E, 0x1840, 0x425F, 0x2842, 0x835F, 0x3002, 0x18CF, 0x5E0E,
+0x4E0F, 0xE33F, 0x5F0F, 0x7F0F, 0x5E84, 0x0000, 0x6F84, 0x0002, 0x442F,
+0xB03F, 0x0FFF, 0x2019, 0x13B2, 0x8A2C, 0x430F, 0x04CE, 0x422C, 0x430D,
+0x063B, 0x0044, 0x134B, 0x4074, 0x0028, 0x435E, 0x05CD, 0x407C, 0x000F,
+0x063F, 0x0050, 0x134F, 0x4C48, 0x13B2, 0x8A2C, 0x5374, 0x2402, 0x9318,
+0x23F2, 0x53B7, 0x0000, 0x63B7, 0x0002, 0x472F, 0xD71F, 0x0002, 0x930F,
+0x2425, 0x4308, 0x4309, 0x430A, 0x430B, 0x4381, 0x0000, 0x4381, 0x0002,
+0x0086, 0x2BFA, 0x4105, 0x5305, 0x435E, 0x05CD, 0x407C, 0x000F, 0x063F,
+0x0050, 0x134F, 0x5318, 0x6309, 0x630A, 0x630B, 0x2375, 0x930A, 0x2373,
+0x9309, 0x2371, 0x9038, 0x0028, 0x2F6E, 0x935C, 0x23EB, 0x3F78, 0x4391,
+0x000A, 0x3C46, 0x0086, 0x2BFA, 0x4105, 0x5305, 0x431E, 0x05CD, 0x407C,
+0x000C, 0x063F, 0x0040, 0x134F, 0x412C, 0x411D, 0x0002, 0x407E, 0x0003,
+0x1840, 0xF25E, 0x2844, 0x1842, 0x5E4E, 0x13B2, 0x8D1E, 0x4C81, 0x0000,
+0x4D81, 0x0002, 0x1840, 0x421F, 0x2842, 0x830F, 0x2405, 0x831F, 0x2409,
+0x831F, 0x240D, 0x3C11, 0x002F, 0x2C4E, 0x0F3F, 0x0008, 0x134F, 0x3C0B,
+0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x3C05, 0x002F, 0x2C4E, 0x0F3F,
+0x0014, 0x134F, 0x13B2, 0x8A2C, 0x431E, 0x05CD, 0x426C, 0x063F, 0x0040,
+0x134F, 0xC391, 0x0000, 0x430E, 0x05CD, 0x426C, 0x063F, 0x0040, 0x134F,
+0x411C, 0x000A, 0x5031, 0x000C, 0x1674, 0x0110, 0x147B, 0x8031, 0x001E,
+0x4381, 0x000C, 0x4381, 0x0006, 0x4381, 0x0004, 0x1800, 0x43C1, 0x001A,
+0x0086, 0x2C4E, 0x410C, 0x503C, 0x0010, 0x060F, 0x0F3F, 0x002C, 0x134F,
+0x410C, 0x503C, 0x000E, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x523C,
+0x060F, 0x0F3F, 0x0030, 0x134F, 0x410C, 0x532C, 0x060F, 0x0F3F, 0x002C,
+0x134F, 0x410C, 0x503C, 0x000C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x410C,
+0x530C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C, 0x0006, 0x060F,
+0x0F3F, 0x002C, 0x134F, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x002C, 0x134F,
+0x4115, 0x0002, 0x008A, 0x2BFA, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F,
+0x134F, 0x0ACB, 0x00AB, 0x0008, 0x4074, 0x0082, 0x444C, 0x0B0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x440C, 0x080F, 0x134F,
+0x4077, 0x00C8, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x1401, 0x080F, 0x134F,
+0x444C, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C,
+0x430D, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4115, 0x000E, 0x4191, 0x0010, 0x0012, 0x4381,
+0x0014, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x0500,
+0x080F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x411C, 0x0012, 0x411D,
+0x0014, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x00A1,
+0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0xB0B1, 0x0010, 0x0002,
+0x280B, 0x411E, 0x0008, 0x411F, 0x000A, 0x503E, 0xFFFE, 0x633F, 0x4E81,
+0x0008, 0x4F81, 0x000A, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0x503E, 0x0080, 0x4E81, 0x0018, 0x4191,
+0x0008, 0x0016, 0x4075, 0x0028, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x411C, 0x0018, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x411C, 0x0016, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x4303,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F,
+0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x9381, 0x0000, 0x2427, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x0401, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x080F,
+0x134F, 0xB32C, 0x2828, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x0403, 0x080F,
+0x134F, 0x3C20, 0x435C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x0401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x454C, 0x0B0F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0xB32C, 0x2807,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x0403, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x411C, 0x000C, 0x080F, 0x134F,
+0x0089, 0x28A0, 0x9381, 0x0004, 0x2434, 0x9389, 0x0010, 0x2412, 0x407C,
+0x00F4, 0x0B0F, 0x134F, 0x491C, 0x0012, 0x080F, 0x134F, 0xC91C, 0x0010,
+0xD91C, 0x0014, 0x080F, 0x134F, 0x403C, 0x0014, 0x1380, 0x2BAE, 0x492F,
+0xD91F, 0x0002, 0x930F, 0x245C, 0x407C, 0x0054, 0x0B0F, 0x134F, 0x491C,
+0x0004, 0x491D, 0x0006, 0x0A3F, 0x001C, 0x134F, 0x09CF, 0xC93C, 0xC93D,
+0xDF1C, 0x0008, 0xDF1D, 0x000A, 0x0A3F, 0x001C, 0x134F, 0x403C, 0x0014,
+0x1380, 0x2BAE, 0x3C42, 0x454C, 0x0B0F, 0x134F, 0x4C47, 0x9389, 0x0010,
+0x2412, 0x407C, 0x00F4, 0x0B0F, 0x134F, 0x491C, 0x0012, 0x080F, 0x134F,
+0xC91C, 0x0010, 0xD91C, 0x0016, 0x080F, 0x134F, 0x403C, 0x0014, 0x1380,
+0x2BAE, 0x492F, 0xD91F, 0x0002, 0x930F, 0x2416, 0x407C, 0x0054, 0x0B0F,
+0x134F, 0x491C, 0x0004, 0x491D, 0x0006, 0x0A3F, 0x001C, 0x134F, 0x491C,
+0x000C, 0x491D, 0x000E, 0x0A3F, 0x001C, 0x134F, 0x403C, 0x0014, 0x1380,
+0x2BAE, 0x9037, 0x0099, 0x200B, 0x407C, 0x00F4, 0x0B0F, 0x134F, 0x430C,
+0x080F, 0x134F, 0xF03C, 0xFF7F, 0x080F, 0x134F, 0x410D, 0x503D, 0x0012,
+0x403C, 0xAA01, 0x060F, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2404, 0x1800,
+0x41D1, 0x0012, 0x001A, 0x013F, 0x001A, 0x03DF, 0x2402, 0x439F, 0x0000,
+0x407C, 0x00A8, 0x0B0F, 0x134F, 0x9381, 0x0006, 0x2402, 0x1380, 0x2BA6,
+0x430C, 0x5031, 0x001E, 0x1674, 0x0110, 0x147B, 0x8031, 0x0022, 0x4381,
+0x001E, 0x4381, 0x0020, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x001A,
+0x4381, 0x001C, 0x40B1, 0x0010, 0x0008, 0x4381, 0x000A, 0x4381, 0x000C,
+0x4381, 0x0004, 0x3C02, 0x1380, 0x2BFA, 0x9381, 0x000C, 0x2402, 0x0280,
+0x13D0, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0012, 0x4381, 0x0014,
+0x410C, 0x503C, 0x001E, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x3403, 0x403C, 0xFFC6, 0x3DEF, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x380E, 0x410F, 0x503F, 0x001A, 0x0F71, 0x0016,
+0x013C, 0x0016, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403,
+0x403C, 0xFFC4, 0x3DD5, 0x410C, 0x523C, 0x002F, 0x2C4E, 0x0F3F, 0x0030,
+0x134F, 0x4C81, 0x000C, 0x930C, 0x3403, 0x403C, 0xFFC3, 0x3DC7, 0x4124,
+0x4115, 0x0002, 0x4116, 0x001A, 0x4117, 0x001C, 0x92A1, 0x001E, 0x202F,
+0x9381, 0x0020, 0x202C, 0x42B1, 0x0008, 0x4381, 0x000A, 0x43C1, 0x0006,
+0x92F1, 0x0006, 0x2C2B, 0x440C, 0x450D, 0x460E, 0x470F, 0x415B, 0x0006,
+0x13B2, 0x978E, 0xF31C, 0x410B, 0x503B, 0x000E, 0x4B38, 0x4B39, 0x4B3A,
+0x4B3B, 0x5808, 0x6909, 0x6A0A, 0x6B0B, 0xDC08, 0x4881, 0x000E, 0x4981,
+0x0010, 0x4A81, 0x0012, 0x4B81, 0x0014, 0x415E, 0x0006, 0x535E, 0x4EC1,
+0x0006, 0x3FDA, 0x4481, 0x000E, 0x4581, 0x0010, 0x4681, 0x0012, 0x4781,
+0x0014, 0x411E, 0x001E, 0x411F, 0x0020, 0x930F, 0x2179, 0x903E, 0x0014,
+0x2D76, 0x065E, 0x1900, 0x4E50, 0x10E2, 0x0FBE, 0x0002, 0x1138, 0x0002,
+0x1138, 0x0002, 0x114E, 0x0002, 0x1164, 0x0002, 0x11B0, 0x0002, 0x1282,
+0x0002, 0x1298, 0x0002, 0x12AA, 0x0002, 0x12E4, 0x0002, 0x131A, 0x0002,
+0x1338, 0x0002, 0x1140, 0x0002, 0x1132, 0x0002, 0x118A, 0x0002, 0x1348,
+0x0002, 0x1368, 0x0002, 0x138A, 0x0002, 0x1148, 0x0002, 0x12DC, 0x0002,
+0x1380, 0x2BFE, 0x3F45, 0x444C, 0x1380, 0x2BA2, 0x3F41, 0x431C, 0x1380,
+0x2BCE, 0x3F3D, 0x1380, 0x2BF2, 0x3F3A, 0x1380, 0x2BA6, 0x412F, 0xD11F,
+0x0002, 0x930F, 0x2733, 0x430C, 0x1380, 0x2B8E, 0x3F2F, 0x415C, 0x000E,
+0x1380, 0x2C02, 0x4C4C, 0x430D, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F,
+0x430C, 0x430D, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x3F1C, 0x415C,
+0x000E, 0x1380, 0x2C06, 0x4C4C, 0x430D, 0x002F, 0x2C4E, 0x0F3F, 0x0014,
+0x134F, 0x430C, 0x430D, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x3F09,
+0x411E, 0x0008, 0x411F, 0x000A, 0x830F, 0x2060, 0x823E, 0x240E, 0x823E,
+0x2423, 0x822E, 0x242A, 0x803E, 0x000C, 0x2434, 0x803E, 0x0003, 0x244A,
+0x803E, 0x001D, 0x2439, 0x3C50, 0x415C, 0x000E, 0x1380, 0x2C0A, 0x4C48,
+0x4309, 0x430A, 0x430B, 0x480C, 0x490D, 0x002F, 0x2C4E, 0x0F3F, 0x0014,
+0x134F, 0x4A0C, 0x4B0D, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x3EDC,
+0x411C, 0x000E, 0x1380, 0x2C0E, 0x4C08, 0x4309, 0x430A, 0x430B, 0x3FE8,
+0x411C, 0x000E, 0x411D, 0x0010, 0xF03D, 0x000F, 0x1380, 0x2C12, 0x4C08,
+0x4D09, 0x430A, 0x430B, 0x3FDB, 0x411C, 0x000E, 0x411D, 0x0010, 0x1380,
+0x2C16, 0x4C08, 0x4D09, 0x430A, 0x430B, 0x3FD0, 0x410F, 0x503F, 0x000E,
+0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x1380, 0x2C1E, 0x4C08, 0x4D09, 0x4E0A,
+0x4F0B, 0x3FC2, 0x410C, 0x503C, 0x000E, 0x1380, 0x2C1A, 0x4C08, 0x4D09,
+0x4E0A, 0x4F0B, 0x3FB8, 0x403C, 0xFFC2, 0x3CA9, 0x407C, 0x0054, 0x1380,
+0x2C02, 0x411C, 0x000E, 0x411D, 0x0010, 0x1380, 0x2C16, 0x3E95, 0x407C,
+0x00F4, 0x1380, 0x2C02, 0x411C, 0x000E, 0x1380, 0x2C0E, 0x3E8C, 0x407C,
+0x0046, 0x1380, 0x2C02, 0x430C, 0x430D, 0x430E, 0x430F, 0x1380, 0x2C1E,
+0x4E0A, 0x4F0B, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x4A0C, 0x4B0D,
+0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x3E73, 0x444C, 0x1380, 0x2C2A,
+0x3E6F, 0x90B1, 0x0010, 0x0008, 0x2007, 0x9381, 0x000A, 0x2004, 0x440C,
+0x13B2, 0x832A, 0x3C0B, 0x90B1, 0x0020, 0x0008, 0x2009, 0x9381, 0x000A,
+0x2006, 0x450D, 0x440C, 0x13B2, 0x7E8C, 0x935C, 0x2257, 0x403C, 0xFFCF,
+0x3C5D, 0x13B2, 0x93B0, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x430C,
+0x430D, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x3E45, 0x440C, 0x1380,
+0x2B9A, 0x008C, 0x2BFA, 0x13B0, 0x1880, 0x3E3D, 0x411E, 0x0008, 0x013D,
+0x0016, 0x444C, 0x1380, 0x2C3A, 0x931C, 0x3403, 0x403F, 0xFFBA, 0x3C01,
+0x430F, 0x4F81, 0x0004, 0x3C24, 0x411F, 0x0008, 0x013E, 0x0016, 0x440C,
+0x450D, 0x1380, 0x2C3E, 0x931C, 0x3403, 0x403F, 0xFFBA, 0x3C01, 0x430F,
+0x4F81, 0x0004, 0x3C13, 0x1211, 0x000A, 0x013D, 0x0018, 0x440E, 0x450F,
+0x411C, 0x000C, 0x1380, 0x2C42, 0x5321, 0x931C, 0x3403, 0x403F, 0xFFBA,
+0x3C01, 0x430F, 0x4F81, 0x0004, 0x411C, 0x001A, 0x411D, 0x001C, 0x002F,
+0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x0280, 0x0FC2, 0x40B1, 0xFFC5, 0x0004,
+0x0280, 0x0FC2, 0x411C, 0x0004, 0x5031, 0x0022, 0x1674, 0x0110, 0x147B,
+0x8031, 0x0020, 0x1800, 0x43C1, 0x0014, 0x008A, 0x2C4E, 0x410C, 0x503C,
+0x000C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE8,
+0x3DE7, 0x410C, 0x503C, 0x000A, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFE7, 0x3DDB, 0x410C, 0x503C, 0x001C, 0x0A0F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3DCF, 0x410C, 0x523C,
+0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE5, 0x3DC4,
+0x410C, 0x503C, 0x0006, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403,
+0x403C, 0xFFE4, 0x3DB8, 0x410C, 0x522C, 0x0A0F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2403, 0x403C, 0xFFE3, 0x3DAD, 0x410C, 0x532C, 0x0A0F, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2002, 0x4381, 0x0002, 0x432C, 0x0A0F, 0x0F3F,
+0x0038, 0x134F, 0x4115, 0x0008, 0x0086, 0x2BFA, 0x06CB, 0x00AB, 0x0008,
+0x4077, 0x00C8, 0x474C, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C,
+0x3401, 0x080F, 0x134F, 0x4074, 0x0082, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x4032, 0x080F, 0x134F, 0x06C9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4191,
+0x000A, 0x0000, 0x4115, 0x000C, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0048, 0x0B0F, 0x134F, 0x427C, 0x063F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0B0F,
+0x134F, 0x412C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x4075,
+0x0021, 0x454C, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4116, 0x001C,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x460C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0012, 0x4076, 0x0090, 0x464C,
+0x0B0F, 0x134F, 0x403C, 0x0003, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x000E, 0x403C, 0x000B, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0010, 0x403C, 0x0013, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C07, 0x4781, 0x0012, 0x432C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x403C, 0x000A, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x403C, 0x0012,
+0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x432C, 0x080F, 0x134F, 0x411C,
+0x000E, 0x080F, 0x134F, 0x403C, 0x000A, 0x080F, 0x134F, 0x411C, 0x0010,
+0x080F, 0x134F, 0x403C, 0x0012, 0x080F, 0x134F, 0x470C, 0x080F, 0x134F,
+0x0087, 0x28B8, 0x472F, 0xD71F, 0x0002, 0x930F, 0x241B, 0x9387, 0x0004,
+0x2418, 0x464C, 0x0B0F, 0x134F, 0x403C, 0x0089, 0x080F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x4C81, 0x0000, 0x464C, 0x0B0F, 0x134F, 0x403C, 0x0088,
+0x080F, 0x134F, 0x412C, 0xF03C, 0xFFEF, 0x080F, 0x134F, 0x93A7, 0x0000,
+0x200D, 0x9387, 0x0002, 0x200A, 0x464C, 0x0B0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x403C, 0x000F, 0x080F, 0x134F, 0x90B7, 0x0003, 0x0000, 0x200C,
+0x9387, 0x0002, 0x2009, 0x464C, 0x0B0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x423C, 0x080F, 0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x411C, 0x0006,
+0x080F, 0x134F, 0x9381, 0x0004, 0x2411, 0x444C, 0x0B0F, 0x134F, 0x411C,
+0x0004, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x3C03, 0x454C, 0x0B0F, 0x134F, 0x410D, 0x503D,
+0x0018, 0x403C, 0xAA01, 0x0A0F, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2404,
+0x1800, 0x41D1, 0x0018, 0x0014, 0x013F, 0x0014, 0x03DF, 0x2402, 0x439F,
+0x0000, 0x407C, 0x00A8, 0x0B0F, 0x134F, 0x9381, 0x0002, 0x2402, 0x1380,
+0x2BA6, 0x430C, 0x5031, 0x0020, 0x1674, 0x0110, 0x147B, 0x8321, 0x0CCA,
+0x4C25, 0x0086, 0x2BFA, 0x06CB, 0x00AB, 0x0008, 0x4074, 0x00C8, 0x444C,
+0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F, 0x134F,
+0x4079, 0x0082, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4035, 0x080F, 0x134F,
+0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x4077, 0x0042, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x4035, 0x2401, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0002, 0x0000, 0x444C, 0x0B0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C,
+0x4036, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x4A91, 0x0004, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4039, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0006,
+0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x4038, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0008, 0x0000, 0x444C, 0x0B0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C,
+0x403A, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x4A91, 0x000A, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x403B, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A1A, 0x000C,
+0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x403C, 0x403C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x4A0C,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x5321, 0x1674, 0x0110, 0x147B, 0x8321, 0x0CCA,
+0x4C25, 0x0086, 0x2BFA, 0x06CB, 0x00AB, 0x0008, 0x4074, 0x00C8, 0x444C,
+0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F, 0x134F,
+0x4079, 0x0082, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4035, 0x080F, 0x134F,
+0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x4077, 0x0042, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x4035, 0x2401, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0002, 0x0000, 0x444C, 0x0B0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C,
+0x4036, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x4A91, 0x0004, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4039, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0006,
+0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x4038, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0008, 0x0000, 0x444C, 0x0B0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C,
+0x403A, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x4A91, 0x000A, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x403B, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A1A, 0x000C,
+0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x403C, 0x403C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x4A0C,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x5321, 0x1674, 0x0110, 0x147B, 0x8231, 0x4C07,
+0x4304, 0x0086, 0x2C4E, 0xB31C, 0x2892, 0x0088, 0x286A, 0x08CC, 0x060F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3DC0, 0x008C,
+0x2866, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFFA,
+0x3DB5, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0028, 0x0B0F,
+0x134F, 0x4C4C, 0x1840, 0x4C82, 0x2872, 0x482E, 0x481F, 0x0002, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0x4E05, 0xF035, 0x0F00, 0x5035, 0x0080, 0x1840,
+0x4582, 0x286E, 0x48A8, 0x0000, 0x4388, 0x0002, 0x1840, 0x48A1, 0x0002,
+0x407C, 0x0028, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x430C, 0x080F,
+0x134F, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x450C, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x411C, 0x0002, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x403C, 0x4303, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0500, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x407C, 0x00C2, 0x0B0F, 0x134F, 0xB327, 0x2C0A,
+0x407C, 0x0091, 0x060F, 0x0F3F, 0x0024, 0x134F, 0x060F, 0x0F3F, 0x0004,
+0x134F, 0x410D, 0x530D, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x0034, 0x134F,
+0x3C1B, 0x008A, 0x2BFA, 0x435C, 0x0A3F, 0x0030, 0x134F, 0x013F, 0x0004,
+0x1800, 0x53E1, 0x0004, 0x4F2C, 0x0A3F, 0x0014, 0x134F, 0x412F, 0x832F,
+0x4F81, 0x0000, 0x434C, 0x0A3F, 0x0030, 0x134F, 0x53BB, 0x0000, 0x63BB,
+0x0002, 0x008B, 0x2866, 0x4B2F, 0xDB1F, 0x0002, 0x930F, 0x2403, 0x9381,
+0x0000, 0x23DB, 0xB327, 0x287C, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C, 0x0501,
+0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x1840,
+0x421F, 0x2872, 0x903F, 0x0091, 0x2406, 0x903F, 0x0099, 0x2403, 0x903F,
+0x0098, 0x2052, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x422C,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x1840, 0x421C, 0x2870, 0x060F, 0x0F3F, 0x0010,
+0x134F, 0x3C81, 0x4B3F, 0xDB3F, 0x930F, 0x2407, 0x407C, 0x0091, 0x060F,
+0x0F3F, 0x0024, 0x134F, 0x3C76, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C, 0x0501,
+0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x1840,
+0x421F, 0x2872, 0x903F, 0x0091, 0x2406, 0x903F, 0x0099, 0x2403, 0x903F,
+0x0098, 0x2052, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x422C,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x4034, 0xFFF6, 0x440C, 0x5231, 0x1674, 0x0110,
+0x147B, 0x8031, 0x001A, 0x1800, 0x43C1, 0x000E, 0x0086, 0x2C4E, 0x410C,
+0x503C, 0x000A, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFE8, 0x3D8D, 0x410C, 0x523C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFE7, 0x3D82, 0x410C, 0x503C, 0x0016, 0x060F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3D76, 0x410C, 0x503C,
+0x0006, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE5,
+0x3D6A, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403,
+0x403C, 0xFFE4, 0x3D5F, 0x410C, 0x532C, 0x060F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2403, 0x403C, 0xFFE3, 0x3D54, 0x410C, 0x530C, 0x060F, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2002, 0x4381, 0x0000, 0x432C, 0x060F, 0x0F3F,
+0x0038, 0x134F, 0x4114, 0x0006, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008,
+0x407C, 0x0088, 0x0B0F, 0x134F, 0x0AC7, 0x00A7, 0x0010, 0x407C, 0x0034,
+0x070F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0030,
+0x435C, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0014, 0x403C, 0x0082, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x440C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4191, 0x0008, 0x000C, 0x4114, 0x000A, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x090F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0B0F,
+0x134F, 0x427C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x440C,
+0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F, 0x411C,
+0x000C, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4114, 0x0016, 0x4115,
+0x0018, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034, 0x070F, 0x134F,
+0x407C, 0x0082, 0x0B0F, 0x134F, 0x440C, 0x450F, 0x108C, 0x108F, 0xEF4C,
+0xEF0C, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x440C, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x070F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x93A2, 0x28B8, 0x2014, 0x1840,
+0x9382, 0x28BA, 0x2010, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x403C, 0x0082,
+0x430D, 0x0A3F, 0x001C, 0x134F, 0x403C, 0x000F, 0x430D, 0x0A3F, 0x001C,
+0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x090F, 0x134F,
+0x9381, 0x0002, 0x2413, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x411C, 0x0002,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x3C04, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x410D,
+0x503D, 0x0012, 0x403C, 0xAA01, 0x060F, 0x0F3F, 0x0058, 0x134F, 0x930C,
+0x2404, 0x1800, 0x41D1, 0x0012, 0x000E, 0x013F, 0x000E, 0x03DF, 0x2402,
+0x439F, 0x0000, 0x407C, 0x00A8, 0x0B0F, 0x134F, 0x9381, 0x0000, 0x2402,
+0x1380, 0x2BA6, 0x430C, 0x5031, 0x001A, 0x1674, 0x0110, 0x147B, 0x0CC5,
+0x4C2A, 0x4C1B, 0x0002, 0x0084, 0x2BFA, 0x04C8, 0x00A8, 0x0030, 0x434C,
+0x080F, 0x134F, 0x04C9, 0x00A9, 0x0008, 0x407C, 0x0082, 0x090F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x04C6, 0x00A6, 0x0014, 0x4A0C, 0x4B0F, 0x108C,
+0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00, 0x503C, 0x0085, 0x060F, 0x134F,
+0x4077, 0x00C8, 0x474C, 0x090F, 0x134F, 0x403C, 0x1401, 0x060F, 0x134F,
+0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F,
+0x00A4, 0x0018, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x451A, 0x0004, 0x451B, 0x0006,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00,
+0x503C, 0x0086, 0x060F, 0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x1401,
+0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x451A, 0x0008, 0x451B, 0x000A,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00,
+0x503C, 0x0089, 0x060F, 0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x1401,
+0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x451A, 0x000C, 0x451B, 0x000E,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00,
+0x503C, 0x0088, 0x060F, 0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x1401,
+0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1674, 0x0110, 0x147B, 0x8031,
+0x0024, 0x028F, 0x9A4A, 0x1840, 0x4FF1, 0x000C, 0x1840, 0x4FF1, 0x000D,
+0x1840, 0x4FF1, 0x000E, 0x1840, 0x4FF1, 0x000F, 0x008A, 0x2BFA, 0x0ACC,
+0x13B0, 0x1880, 0x0086, 0x2C4E, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x2403, 0x403C, 0xFFDD, 0x3D36, 0x410C, 0x523C, 0x060F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFDC, 0x3D2B, 0x4104,
+0x5034, 0x0010, 0x1404, 0x430F, 0x434E, 0x422D, 0x410C, 0x503C, 0x0010,
+0x060B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2932, 0x134F,
+0x4C0B, 0x04CC, 0x060F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x930B, 0x3402,
+0x4B0C, 0x3D0D, 0x4307, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0048, 0x0B0F,
+0x134F, 0x435C, 0x0A3F, 0x0010, 0x134F, 0x0AC8, 0x00A8, 0x0030, 0x435C,
+0x080F, 0x134F, 0x3C07, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x5317, 0x0AC9, 0x00A9, 0x0014, 0x9037, 0x000A, 0x2C11, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081,
+0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E2, 0x4077, 0x0082, 0x1840,
+0x9382, 0x2B68, 0x2458, 0x4125, 0x8225, 0x407C, 0x00C8, 0x0B0F, 0x134F,
+0x403C, 0x3401, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x4030,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x41A1,
+0x0004, 0x4191, 0x0002, 0x0006, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x3FFF,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F,
+0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x832C, 0x090F, 0x134F,
+0x3C30, 0x41A1, 0x0004, 0x4191, 0x0002, 0x0006, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x4030, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0004, 0x832C, 0x090F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x407C, 0x0022, 0x0B0F, 0x134F, 0x411C,
+0x0008, 0x411D, 0x000A, 0x0A3F, 0x0034, 0x134F, 0x407C, 0x0062, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x060F, 0x0F3F, 0x0010, 0x134F, 0x435C,
+0x080F, 0x134F, 0x1840, 0x9382, 0x2B68, 0x2419, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0028, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x1404, 0x430F, 0x434E, 0x422D, 0x410C,
+0x503C, 0x0010, 0x060B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F,
+0x2932, 0x134F, 0x4C0B, 0x04CC, 0x060F, 0x0F3F, 0x0020, 0x134F, 0x4B0C,
+0x5221, 0x5031, 0x0024, 0x1674, 0x0110, 0x147B, 0x8031, 0x003E, 0x430A,
+0x4307, 0x4305, 0x3C08, 0x410C, 0x503C, 0x0018, 0x5A0C, 0x0F3F, 0x0028,
+0x134F, 0x531A, 0x0089, 0x2C4E, 0x090F, 0x903A, 0x0012, 0x2BF2, 0x432C,
+0x0F3F, 0x0038, 0x134F, 0x430A, 0x3C08, 0x410C, 0x530C, 0x5A0C, 0x090F,
+0x0F3F, 0x0028, 0x134F, 0x531A, 0x922A, 0x2BF6, 0x0086, 0x2BFA, 0x06C8,
+0x00A8, 0x0008, 0xB0F1, 0x0010, 0x0020, 0x280C, 0x4227, 0x407C, 0x0028,
+0x080F, 0x134F, 0x430C, 0x063F, 0x0014, 0x134F, 0xB22C, 0x2C01, 0x4315,
+0x407C, 0x00B0, 0x080F, 0x134F, 0x06CB, 0x00AB, 0x001C, 0x403C, 0x0003,
+0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F, 0x134F, 0x4C81, 0x0014,
+0x4D81, 0x0016, 0x403C, 0x0005, 0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D,
+0x0B0F, 0x134F, 0x4C81, 0x0010, 0x4D81, 0x0012, 0x403C, 0x0007, 0x430D,
+0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F, 0x134F, 0x4C81, 0x000C, 0x4D81,
+0x000E, 0x403C, 0x0081, 0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F,
+0x134F, 0x4C81, 0x0008, 0x4D81, 0x000A, 0x431C, 0x430D, 0x0B0F, 0x134F,
+0x430C, 0x430D, 0x0B0F, 0x134F, 0x4C81, 0x0004, 0x4D81, 0x0006, 0x407C,
+0x00B0, 0x080F, 0x134F, 0x432C, 0x430D, 0x0B0F, 0x134F, 0x470C, 0x430D,
+0x0B0F, 0x134F, 0x422C, 0x430D, 0x0B0F, 0x134F, 0x433C, 0x433D, 0x0B0F,
+0x134F, 0x403C, 0x0006, 0x430D, 0x0B0F, 0x134F, 0x431C, 0x430D, 0x0B0F,
+0x134F, 0x403C, 0x0080, 0x430D, 0x0B0F, 0x134F, 0x431C, 0x430D, 0x0B0F,
+0x134F, 0x4107, 0x5037, 0x002A, 0x1407, 0x430F, 0x434E, 0x403D, 0x0012,
+0x410C, 0x503C, 0x001C, 0x0904, 0x0434, 0x001C, 0x1344, 0x403C, 0x0003,
+0x002F, 0x29BC, 0x134F, 0x4C04, 0x07CC, 0x090F, 0x0F3F, 0x0020, 0x134F,
+0x5221, 0x9304, 0x206E, 0x3C09, 0x4305, 0x407C, 0x0021, 0x080F, 0x134F,
+0x407C, 0x00A8, 0x080F, 0x134F, 0x407C, 0x00D0, 0x080F, 0x134F, 0x531A,
+0x430C, 0x063F, 0x0014, 0x134F, 0x934C, 0x3803, 0x903A, 0x0064, 0x2BF6,
+0x903A, 0x0064, 0x2803, 0x403C, 0xFFCC, 0x3C51, 0x9305, 0x23E1, 0x407C,
+0x00B0, 0x080F, 0x134F, 0x432C, 0x430D, 0x0B0F, 0x134F, 0x411C, 0x0014,
+0x411D, 0x0016, 0x0B0F, 0x134F, 0x422C, 0x430D, 0x0B0F, 0x134F, 0x411C,
+0x0010, 0x411D, 0x0012, 0x0B0F, 0x134F, 0x403C, 0x0006, 0x430D, 0x0B0F,
+0x134F, 0x411C, 0x000C, 0x411D, 0x000E, 0x0B0F, 0x134F, 0x403C, 0x0080,
+0x430D, 0x0B0F, 0x134F, 0x411C, 0x0008, 0x411D, 0x000A, 0x0B0F, 0x134F,
+0x430C, 0x430D, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006, 0x0B0F,
+0x134F, 0x1407, 0x430F, 0x435E, 0x422D, 0x410C, 0x522C, 0x090B, 0x0B3B,
+0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x29B6, 0x134F, 0x4C04, 0x07CC,
+0x090F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x440C, 0x5031, 0x003E, 0x1674,
+0x0110, 0x147B, 0x8031, 0x0062, 0x4334, 0x430A, 0x410C, 0x503C, 0x001C,
+0x028E, 0x9A77, 0x008D, 0x001F, 0x13B2, 0x98A8, 0x4381, 0x0000, 0x3C08,
+0x410C, 0x503C, 0x003C, 0x5A0C, 0x0F3F, 0x0028, 0x134F, 0x531A, 0x008B,
+0x2C4E, 0x0B0F, 0x903A, 0x0012, 0x2BF2, 0x410C, 0x530C, 0x0F3F, 0x002C,
+0x134F, 0x430A, 0x3C08, 0x410C, 0x532C, 0x5A0C, 0x0B0F, 0x0F3F, 0x0028,
+0x134F, 0x531A, 0x922A, 0x2BF6, 0x4108, 0x5038, 0x004E, 0x0086, 0x28C4,
+0x4037, 0x0003, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2819,
+0x1408, 0x403F, 0x0016, 0x410E, 0x503E, 0x000A, 0x403D, 0x001F, 0x410C,
+0x503C, 0x0020, 0x0B09, 0x0939, 0x001C, 0x1349, 0x470C, 0x063F, 0x0182,
+0x134F, 0x08CC, 0x0B0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x1408, 0x430F,
+0x434E, 0x403D, 0x0012, 0x410C, 0x503C, 0x0040, 0x0B09, 0x0939, 0x001C,
+0x1349, 0x470C, 0x063F, 0x016A, 0x134F, 0x08CC, 0x0B0F, 0x0F3F, 0x0020,
+0x134F, 0x0089, 0x2BFA, 0x407C, 0x0046, 0x093F, 0x0008, 0x134F, 0x430C,
+0x430D, 0x430E, 0x430F, 0x0935, 0x0024, 0x1345, 0x5221, 0xB03F, 0x4000,
+0x2802, 0x430C, 0x3CAB, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000,
+0x288D, 0x407C, 0x0046, 0x093F, 0x0008, 0x134F, 0x531A, 0x430C, 0x430D,
+0x430E, 0x430F, 0x0935, 0x0024, 0x1345, 0xB03F, 0x0400, 0x2C03, 0x903A,
+0x01F4, 0x2BF2, 0x903A, 0x01F4, 0x2C8D, 0x1408, 0x430F, 0x435E, 0x422D,
+0x410C, 0x503C, 0x0006, 0x0B0A, 0x0A3A, 0x001C, 0x134A, 0x470C, 0x063F,
+0x0164, 0x134F, 0x4C04, 0x08CC, 0x0B0F, 0x0F3F, 0x0020, 0x134F, 0x40F1,
+0x0005, 0x0020, 0x43C1, 0x0021, 0x41D1, 0x000A, 0x0022, 0x41D1, 0x000B,
+0x0023, 0x41D1, 0x000C, 0x0024, 0x41D1, 0x000D, 0x0025, 0x43E1, 0x0026,
+0x41D1, 0x000E, 0x0027, 0x41D1, 0x000F, 0x0028, 0x41D1, 0x0010, 0x0029,
+0x41D1, 0x0011, 0x002A, 0x42E1, 0x002B, 0x41D1, 0x0012, 0x002C, 0x41D1,
+0x0013, 0x002D, 0x41D1, 0x0014, 0x002E, 0x41D1, 0x0015, 0x002F, 0x40F1,
+0x0006, 0x0030, 0x41D1, 0x0016, 0x0031, 0x41D1, 0x0017, 0x0032, 0x41D1,
+0x0018, 0x0033, 0x41D1, 0x0019, 0x0034, 0x40F1, 0x0080, 0x0035, 0x41D1,
+0x001A, 0x0036, 0x41D1, 0x001B, 0x0037, 0x41D1, 0x001C, 0x0038, 0x41D1,
+0x001D, 0x0039, 0x1408, 0x430F, 0x434E, 0x403D, 0x001F, 0x410C, 0x503C,
+0x0024, 0x0B0A, 0x0A3A, 0x001C, 0x134A, 0x470C, 0x063F, 0x0182, 0x134F,
+0x08CC, 0x0B0F, 0x0F3F, 0x0020, 0x134F, 0x5231, 0x3C16, 0x1408, 0x430F,
+0x435E, 0x422D, 0x410C, 0x503C, 0x0006, 0x0B0A, 0x0A3A, 0x001C, 0x134A,
+0x470C, 0x063F, 0x0164, 0x134F, 0x4C04, 0x08CC, 0x0B0F, 0x0F3F, 0x0020,
+0x134F, 0x5221, 0x440C, 0x5031, 0x0062, 0x1674, 0x0110, 0x147B, 0x8031,
+0x000C, 0x0086, 0x2BFA, 0x06CA, 0x00AA, 0x0008, 0x407C, 0x0028, 0x0A0F,
+0x134F, 0x4C4C, 0x4C81, 0x0000, 0x4319, 0x3CC4, 0x411C, 0x0006, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x9387, 0x0000, 0x2407, 0x444C,
+0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0004,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F,
+0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x9387, 0x0000, 0x2007, 0x444C, 0x0A0F, 0x134F, 0x403C,
+0x0501, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0004, 0x411F, 0x0002, 0x4E81,
+0x0008, 0x4F81, 0x000A, 0x403D, 0x0003, 0x410C, 0x523C, 0x002F, 0x2C4E,
+0x0F3F, 0x000C, 0x134F, 0x90B1, 0x0091, 0x0000, 0x2408, 0x90B1, 0x0099,
+0x0000, 0x2404, 0x90B1, 0x0098, 0x0000, 0x204E, 0x407C, 0x0028, 0x0A0F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0080, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x403C, 0x1400, 0x0B0F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x422C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x403C, 0x4303, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x430C, 0x430D, 0x063F, 0x0018, 0x134F, 0x444C, 0x0A0F,
+0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x5319, 0x9039, 0x0010, 0x2C48, 0x9329, 0x2001,
+0x4229, 0x4947, 0x1087, 0xF037, 0x0F00, 0x5037, 0x0060, 0x407C, 0x0028,
+0x0A0F, 0x134F, 0x4C4C, 0x903C, 0x0098, 0x2403, 0x403F, 0x018C, 0x3C02,
+0x403F, 0x014C, 0x4F81, 0x0006, 0x06C8, 0x00A8, 0x0030, 0x434C, 0x080F,
+0x134F, 0x4075, 0x0082, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x06CB, 0x00AB, 0x0014, 0x470C, 0x0B0F, 0x134F, 0x4074, 0x00C8, 0x444C,
+0x0A0F, 0x134F, 0x403C, 0x1401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x0087, 0x2B66, 0x9387,
+0x0000, 0x26F6, 0x403C, 0x0FF6, 0x0B0F, 0x134F, 0x3EF5, 0x13B2, 0x93B0,
+0x4C81, 0x0008, 0x4D81, 0x000A, 0x430C, 0x5031, 0x000C, 0x1674, 0x0110,
+0x147B, 0x8031, 0x0062, 0x4336, 0x4309, 0x410C, 0x503C, 0x001C, 0x028E,
+0x9A96, 0x008D, 0x001F, 0x13B2, 0x98A8, 0x4381, 0x0000, 0x3C08, 0x410C,
+0x503C, 0x003C, 0x590C, 0x0F3F, 0x0028, 0x134F, 0x5319, 0x008A, 0x2C4E,
+0x0A0F, 0x9039, 0x0012, 0x2BF2, 0x410C, 0x530C, 0x0F3F, 0x002C, 0x134F,
+0x4309, 0x3C08, 0x410C, 0x532C, 0x590C, 0x0A0F, 0x0F3F, 0x0028, 0x134F,
+0x5319, 0x9229, 0x2BF6, 0x410B, 0x503B, 0x004E, 0x0088, 0x28C4, 0x4037,
+0x0003, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2819, 0x140B,
+0x403F, 0x0016, 0x410E, 0x503E, 0x000A, 0x403D, 0x001F, 0x410C, 0x503C,
+0x0020, 0x0A04, 0x0434, 0x001C, 0x1344, 0x470C, 0x083F, 0x0182, 0x134F,
+0x0BCC, 0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x140B, 0x430F, 0x434E,
+0x403D, 0x0012, 0x410C, 0x503C, 0x0040, 0x0A04, 0x0434, 0x001C, 0x1344,
+0x470C, 0x083F, 0x016A, 0x134F, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020, 0x134F,
+0x5221, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2887, 0x407C,
+0x00D0, 0x1380, 0x2C02, 0x5319, 0x430C, 0x1380, 0x2C0E, 0x934C, 0x3803,
+0x9039, 0x01F4, 0x2BF7, 0x9039, 0x01F4, 0x2C99, 0x140B, 0x430F, 0x435E,
+0x422D, 0x410C, 0x503C, 0x0006, 0x0A09, 0x0939, 0x001C, 0x1349, 0x470C,
+0x083F, 0x0164, 0x134F, 0x4C06, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020, 0x134F,
+0x40F1, 0x0005, 0x0020, 0x43C1, 0x0021, 0x41D1, 0x000A, 0x0022, 0x41D1,
+0x000B, 0x0023, 0x41D1, 0x000C, 0x0024, 0x41D1, 0x000D, 0x0025, 0x43E1,
+0x0026, 0x41D1, 0x000E, 0x0027, 0x41D1, 0x000F, 0x0028, 0x41D1, 0x0010,
+0x0029, 0x41D1, 0x0011, 0x002A, 0x42E1, 0x002B, 0x41D1, 0x0012, 0x002C,
+0x41D1, 0x0013, 0x002D, 0x41D1, 0x0014, 0x002E, 0x41D1, 0x0015, 0x002F,
+0x40F1, 0x0006, 0x0030, 0x41D1, 0x0016, 0x0031, 0x41D1, 0x0017, 0x0032,
+0x41D1, 0x0018, 0x0033, 0x41D1, 0x0019, 0x0034, 0x40F1, 0x0080, 0x0035,
+0x41D1, 0x001A, 0x0036, 0x41D1, 0x001B, 0x0037, 0x41D1, 0x001C, 0x0038,
+0x41D1, 0x001D, 0x0039, 0x140B, 0x430F, 0x434E, 0x403D, 0x001F, 0x410C,
+0x503C, 0x0024, 0x0A09, 0x0939, 0x001C, 0x1349, 0x470C, 0x083F, 0x0182,
+0x134F, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5231, 0x3C22, 0x407C,
+0x0028, 0x1380, 0x2C02, 0x4C4C, 0x430D, 0x13B2, 0x9142, 0x930C, 0x2417,
+0x140B, 0x430F, 0x435E, 0x422D, 0x410C, 0x503C, 0x0006, 0x0A09, 0x0939,
+0x001C, 0x1349, 0x470C, 0x083F, 0x0164, 0x134F, 0x4C06, 0x0BCC, 0x0A0F,
+0x0F3F, 0x0020, 0x134F, 0x5221, 0x3C01, 0x4306, 0x460C, 0x5031, 0x0062,
+0x1674, 0x0110, 0x147B, 0x8031, 0x000C, 0x008A, 0x2BFA, 0x0ACB, 0x00AB,
+0x0008, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x4C47, 0x0084, 0x2C4E, 0x410C,
+0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x410C, 0x523C, 0x040F, 0x0F3F,
+0x0030, 0x134F, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x9037,
+0x0091, 0x2406, 0x9037, 0x0099, 0x2403, 0x9037, 0x0098, 0x2004, 0x42A1,
+0x0000, 0x4381, 0x0002, 0x4116, 0x0004, 0x4117, 0x0006, 0x1086, 0x1087,
+0xE746, 0xE706, 0xF036, 0x0F00, 0x5036, 0x0080, 0x4117, 0x0004, 0x407C,
+0x0028, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x430C, 0x080F, 0x134F,
+0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x460C, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F,
+0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x470C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x403C, 0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x4075,
+0x0021, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x407C, 0x00C2, 0x0B0F, 0x134F,
+0x4306, 0x4307, 0x3C0F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F, 0x5316, 0x6307,
+0x9117, 0x000A, 0x2BEE, 0x2003, 0x9116, 0x0008, 0x2BEA, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0x4E06, 0xF036, 0x0F00, 0x5036, 0x0080, 0x4127,
+0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x460C,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F,
+0x403C, 0x1400, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x470C, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x4303, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F,
+0x0018, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x5031,
+0x000C, 0x1674, 0x0110, 0x143B, 0x0CCA, 0x4D49, 0x415B, 0x0014, 0x13B2,
+0x8B18, 0x0088, 0x2C52, 0x403E, 0x0018, 0x430F, 0x008D, 0x1904, 0x08CC,
+0x13B2, 0x9766, 0x0A60, 0x2C4E, 0x13B2, 0x9374, 0x40B8, 0x8B00, 0x0012,
+0x4398, 0x0014, 0x1840, 0x90B2, 0xF00D, 0x18FC, 0x2029, 0x1840, 0x90B2,
+0xF00D, 0x18FE, 0x2024, 0x1840, 0x93B2, 0x18F8, 0x2420, 0x9349, 0x241E,
+0x008A, 0x2B8A, 0x0ACC, 0x13B0, 0x18A0, 0x1840, 0x4298, 0x18F6, 0x000E,
+0x1840, 0x4298, 0x18F4, 0x0016, 0x0A3F, 0x005C, 0x134F, 0x4C88, 0x0010,
+0x934B, 0x24C6, 0x403C, 0x0CE4, 0x0A3F, 0x0004, 0x134F, 0x431C, 0x0A3F,
+0x0008, 0x134F, 0x3CBC, 0x4388, 0x000E, 0x4388, 0x0010, 0x008A, 0x2B8A,
+0x1900, 0x40FA, 0x99AE, 0x0000, 0x1900, 0x40FA, 0x99AA, 0x0004, 0x1900,
+0x40FA, 0x9996, 0x000C, 0x1900, 0x40FA, 0x9992, 0x0010, 0x1900, 0x40FA,
+0x99EC, 0x0014, 0x1900, 0x40FA, 0x9986, 0x0018, 0x1900, 0x40FA, 0x996A,
+0x001C, 0x1900, 0x40FA, 0x99D6, 0x0020, 0x1900, 0x40FA, 0x99D6, 0x0024,
+0x1900, 0x40FA, 0x996E, 0x0028, 0x1900, 0x40FA, 0x99E8, 0x002C, 0x1900,
+0x40FA, 0x99E6, 0x0030, 0x1900, 0x40FA, 0x99E4, 0x0034, 0x1900, 0x40FA,
+0x99E2, 0x0048, 0x1900, 0x40FA, 0x99E0, 0x0050, 0x1900, 0x40FA, 0x99DE,
+0x004C, 0x1900, 0x40FA, 0x99DC, 0x0038, 0x1900, 0x40FA, 0x99DA, 0x003C,
+0x1900, 0x40FA, 0x99D8, 0x0040, 0x1900, 0x40FA, 0x9966, 0x0054, 0x1900,
+0x40FA, 0x99C6, 0x005C, 0x1900, 0x40FA, 0x99D0, 0x0044, 0x1900, 0x40FA,
+0x99EA, 0x0008, 0x1900, 0x40FA, 0x99CA, 0x0058, 0x1900, 0x40FA, 0x9966,
+0x0054, 0x1900, 0x40FA, 0x99CE, 0x0060, 0x1900, 0x40FA, 0x99CC, 0x0064,
+0x008F, 0x2BFA, 0x1900, 0x40FF, 0x9972, 0x0000, 0x1900, 0x40FF, 0x9976,
+0x0004, 0x1900, 0x40FF, 0x997A, 0x0008, 0x1900, 0x40FF, 0x997E, 0x0010,
+0x1900, 0x40FF, 0x9982, 0x0014, 0x1900, 0x40FF, 0x9952, 0x0018, 0x1900,
+0x40FF, 0x994C, 0x001C, 0x1900, 0x40FF, 0x9932, 0x0024, 0x1900, 0x40FF,
+0x991E, 0x0028, 0x1900, 0x40FF, 0x99D4, 0x0030, 0x1900, 0x40FF, 0x99D2,
+0x0034, 0x1900, 0x40FF, 0x999E, 0x0038, 0x1900, 0x40FF, 0x99A6, 0x003C,
+0x1900, 0x40FF, 0x9928, 0x002C, 0x1900, 0x40FF, 0x99B6, 0x000C, 0x1900,
+0x40FF, 0x99BA, 0x0040, 0x1900, 0x40FF, 0x99BE, 0x0044, 0x1900, 0x40FF,
+0x99C2, 0x0048, 0x1840, 0x40B2, 0x040F, 0x28C0, 0x1840, 0x4382, 0x28C2,
+0x40B8, 0x0070, 0x0008, 0x1800, 0x40F8, 0x28C4, 0x000A, 0x08CC, 0x1638,
+0x0110, 0x147B, 0x8231, 0x4381, 0x0004, 0x4381, 0x0006, 0x4036, 0x4E20,
+0x4381, 0x0000, 0x4381, 0x0002, 0x0085, 0x2C4E, 0x410C, 0x522C, 0x050F,
+0x0F3F, 0x0030, 0x134F, 0x411A, 0x0004, 0x411B, 0x0006, 0xD23A, 0x0087,
+0x2BFA, 0x07C8, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x07C9, 0x00A9,
+0x0008, 0x407C, 0x00C1, 0x090F, 0x134F, 0x07C4, 0x00A4, 0x0018, 0xF03B,
+0x000F, 0x4A0C, 0x4B0D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x00A7, 0x0014, 0x07CB,
+0x430C, 0x070F, 0x134F, 0x4C07, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0xB317, 0x2C08, 0xF317, 0x470C, 0x050F,
+0x0F3F, 0x0010, 0x134F, 0x430C, 0x3CAF, 0x407C, 0x0028, 0x090F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0080, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x1400, 0x0B0F,
+0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x422C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x4303, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x407C,
+0x00C8, 0x090F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x090F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F,
+0x403C, 0x1501, 0x0B0F, 0x134F, 0x3C06, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x460F, 0x5336, 0x930F, 0x23F6, 0x407C, 0x0021, 0x090F,
+0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x4C81, 0x0000, 0x4D81, 0x0002,
+0x92A1, 0x0000, 0x2003, 0x9381, 0x0002, 0x2409, 0x90B1, 0x0006, 0x0000,
+0x2003, 0x9381, 0x0002, 0x2402, 0x433C, 0x3C30, 0x4116, 0x0004, 0x4117,
+0x0006, 0xD236, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x090F, 0x134F,
+0xF037, 0x000F, 0x460C, 0x470D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x4C0B, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0xF31B, 0x4B0C, 0x050F, 0x0F3F, 0x0010, 0x134F, 0x430C,
+0x5231, 0x1674, 0x0110, 0x147B, 0x8031, 0x0020, 0x028F, 0x9A4E, 0x1840,
+0x4FF1, 0x0008, 0x1840, 0x4FF1, 0x0009, 0x1840, 0x4FF1, 0x000A, 0x1840,
+0x4FF1, 0x000B, 0x008A, 0x2BFA, 0x0ACC, 0x13B0, 0x1880, 0x0086, 0x2C4E,
+0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFDD, 0x3CDF, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x3403, 0x403C, 0xFFDC, 0x3CD4, 0x4107, 0x5037, 0x000C, 0x1407, 0x430F,
+0x434E, 0x422D, 0x410C, 0x503C, 0x000C, 0x060B, 0x0B3B, 0x001C, 0x134B,
+0x403C, 0x0003, 0x002F, 0x29B0, 0x134F, 0x4C0B, 0x07CC, 0x060F, 0x0F3F,
+0x0020, 0x134F, 0x5221, 0x930B, 0x3402, 0x4B0C, 0x3CB6, 0x4124, 0x4115,
+0x0002, 0x5034, 0xFFFC, 0x6335, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0088,
+0x0B0F, 0x134F, 0x407C, 0x0034, 0x0A3F, 0x0010, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x440C, 0x450F, 0x108C, 0x108F,
+0xEF4C, 0xEF0C, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x080F, 0x134F, 0x0AC9,
+0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x440C,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0088, 0x0B0F,
+0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4124, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x440C, 0x832C, 0x080F, 0x134F, 0x407C, 0x0022,
+0x0B0F, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006, 0x0A3F, 0x0034, 0x134F,
+0x407C, 0x0062, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x060F, 0x0F3F,
+0x0010, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x1407, 0x430F, 0x434E, 0x422D, 0x410C, 0x503C,
+0x000C, 0x060B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x29B0,
+0x134F, 0x4C0B, 0x07CC, 0x060F, 0x0F3F, 0x0020, 0x134F, 0x4B0C, 0x5221,
+0x5031, 0x0020, 0x1674, 0x0110, 0x147B, 0x8031, 0x0032, 0x430B, 0x4306,
+0x4307, 0x3C08, 0x410C, 0x503C, 0x000C, 0x5B0C, 0x0F3F, 0x0028, 0x134F,
+0x531B, 0x008A, 0x2C4E, 0x0A0F, 0x903B, 0x0012, 0x2BF2, 0x432C, 0x0F3F,
+0x0038, 0x134F, 0x430B, 0x3C08, 0x410C, 0x523C, 0x5B0C, 0x0A0F, 0x0F3F,
+0x0028, 0x134F, 0x531B, 0x922B, 0x2BF6, 0x0088, 0x2C0E, 0x0089, 0x2C02,
+0xB0F1, 0x0010, 0x0014, 0x280B, 0x4226, 0x407C, 0x0028, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0xB22C, 0x2C01, 0x4317, 0x407C, 0x0090, 0x090F,
+0x134F, 0x403C, 0x0003, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0006, 0x403C, 0x0005, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0004, 0x403C, 0x0007, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0002, 0x403C, 0x0081, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0000, 0x431C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C05, 0x407C,
+0x0090, 0x090F, 0x134F, 0x432C, 0x080F, 0x134F, 0x460C, 0x080F, 0x134F,
+0x422C, 0x080F, 0x134F, 0x433C, 0x080F, 0x134F, 0x403C, 0x0006, 0x080F,
+0x134F, 0x431C, 0x080F, 0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x431C,
+0x080F, 0x134F, 0x4106, 0x5036, 0x001E, 0x1406, 0x430F, 0x434E, 0x403D,
+0x0012, 0x410C, 0x503C, 0x0010, 0x0A04, 0x0434, 0x001C, 0x1344, 0x403C,
+0x0003, 0x002F, 0x293E, 0x134F, 0x4C04, 0x06CC, 0x0A0F, 0x0F3F, 0x0020,
+0x134F, 0x5221, 0x9304, 0x205D, 0x3C09, 0x4307, 0x407C, 0x0021, 0x090F,
+0x134F, 0x407C, 0x00A8, 0x090F, 0x134F, 0x407C, 0x00D0, 0x090F, 0x134F,
+0x531B, 0x430C, 0x080F, 0x134F, 0x934C, 0x3803, 0x903B, 0x0032, 0x2BF7,
+0x903B, 0x0032, 0x2803, 0x403C, 0xFFCC, 0x3C41, 0x9307, 0x23E2, 0x407C,
+0x0090, 0x090F, 0x134F, 0x432C, 0x080F, 0x134F, 0x411C, 0x0006, 0x080F,
+0x134F, 0x422C, 0x080F, 0x134F, 0x411C, 0x0004, 0x080F, 0x134F, 0x403C,
+0x0006, 0x080F, 0x134F, 0x411C, 0x0002, 0x080F, 0x134F, 0x403C, 0x0080,
+0x080F, 0x134F, 0x412C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x1406, 0x430F, 0x435E, 0x422D, 0x410C, 0x503C, 0x000C,
+0x0A0B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2938, 0x134F,
+0x4C04, 0x06CC, 0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x440C, 0x5031,
+0x0032, 0x1674, 0x0110, 0x143B, 0x8031, 0x0012, 0x4381, 0x0006, 0x4381,
+0x0008, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0004, 0x434B, 0x008A,
+0x2C4E, 0x423C, 0x0A0F, 0x0F3F, 0x0038, 0x134F, 0x933C, 0x241E, 0x410C,
+0x522C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x9381, 0x0004, 0x2417, 0x410D,
+0x530D, 0x403C, 0xAA01, 0x0A0F, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2401,
+0x010B, 0x03DB, 0x2408, 0x938B, 0x0000, 0x2007, 0x1840, 0x4382, 0x284C,
+0x432C, 0x3CCB, 0x433C, 0x3CC9, 0x008B, 0x284C, 0x4B2F, 0x0FCE, 0x0FEF,
+0x0FEE, 0x064F, 0x0EEF, 0x1840, 0x42FF, 0x2C6A, 0x3C04, 0x403C, 0x0003,
+0x1380, 0x2BAA, 0x90B2, 0xFFA1, 0x0350, 0x2FF8, 0x93A2, 0x0350, 0x2BF5,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x4218, 0x0350, 0x421F, 0x0350,
+0x1800, 0x43C1, 0x0000, 0x980F, 0x2C01, 0x4F08, 0x410D, 0x530D, 0x403C,
+0xAA04, 0x0A0F, 0x0F3F, 0x0058, 0x134F, 0x010F, 0x4F29, 0x4B2F, 0x0FCE,
+0x0FEF, 0x0FEE, 0x064F, 0x0EEF, 0x1840, 0x48CF, 0x2C6B, 0x1088, 0x1840,
+0x48CF, 0x2C6C, 0x1840, 0x49CF, 0x2C6D, 0x1089, 0x1840, 0x49CF, 0x2C6E,
+0x4218, 0x03D0, 0x421F, 0x03D0, 0x1800, 0x43C1, 0x000A, 0x980F, 0x2C01,
+0x4F08, 0x410D, 0x503D, 0x000A, 0x403C, 0xAA03, 0x0A0F, 0x0F3F, 0x0058,
+0x134F, 0x013F, 0x000A, 0x4F29, 0x4B2F, 0x0FCE, 0x0FEF, 0x0FEE, 0x064F,
+0x0EEF, 0x1840, 0x48CF, 0x2C6F, 0x1088, 0x1840, 0x48CF, 0x2C70, 0x1840,
+0x49CF, 0x2C71, 0x1089, 0x1840, 0x49CF, 0x2C72, 0x410D, 0x503D, 0x000E,
+0x410C, 0x503C, 0x0006, 0x1380, 0x2B96, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x430E, 0x430F,
+0x411C, 0x0006, 0x411D, 0x0008, 0x13B2, 0x9906, 0x930C, 0x2407, 0x411C,
+0x0006, 0x411D, 0x0008, 0x13B2, 0x9912, 0x3C06, 0x411C, 0x000E, 0x411D,
+0x0010, 0x13B2, 0x9912, 0x4B2F, 0x0FCE, 0x0FEF, 0x0FEE, 0x064F, 0x0EEF,
+0x1840, 0x4CCF, 0x2C73, 0x108C, 0x1840, 0x4CCF, 0x2C74, 0x539B, 0x0000,
+0x90BB, 0x0005, 0x0000, 0x201D, 0x438B, 0x0000, 0x423C, 0x0A0F, 0x0F3F,
+0x0010, 0x134F, 0x407C, 0x0005, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x407C,
+0x000B, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x403D, 0x0037, 0x008C, 0x2C6A,
+0x0A0F, 0x0F3F, 0x000C, 0x134F, 0x431C, 0x3C01, 0x432C, 0x5031, 0x0012,
+0x1638, 0x0110, 0x147B, 0x8031, 0x0048, 0x410C, 0x503C, 0x0022, 0x028E,
+0x9A52, 0x008D, 0x0025, 0x13B2, 0x98A8, 0x1840, 0x42D1, 0x2470, 0x0022,
+0x008F, 0x2470, 0x4FD1, 0x0001, 0x0023, 0x008A, 0x2BFA, 0x0ACC, 0x13B0,
+0x1880, 0x0086, 0x2C4E, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030, 0x134F,
+0x410C, 0x503C, 0x000A, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x430B, 0x3C07,
+0x4B0F, 0x5B07, 0x1840, 0x4FD7, 0x2D00, 0x0005, 0x531B, 0x4107, 0x5037,
+0x0022, 0x903B, 0x0020, 0x3BF3, 0x0771, 0x0006, 0x4104, 0x5034, 0x000E,
+0x1404, 0x430F, 0x434E, 0x403D, 0x0025, 0x013C, 0x000A, 0x060B, 0x0B3B,
+0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2A22, 0x134F, 0x04CC, 0x060F,
+0x0F3F, 0x0020, 0x134F, 0x411E, 0x0004, 0x411F, 0x0006, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0x4E05, 0xF035, 0x0F00, 0x5035, 0x0080, 0x4191, 0x0004,
+0x0008, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x0AC8,
+0x00A8, 0x0014, 0x430C, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x411C, 0x0008, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x4303,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F,
+0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x411C, 0x0004, 0x832C, 0x080F, 0x134F, 0x407C, 0x0022,
+0x0B0F, 0x134F, 0x411C, 0x000E, 0x411D, 0x0010, 0x0A3F, 0x0034, 0x134F,
+0x407C, 0x0062, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x060F, 0x0F3F,
+0x0010, 0x134F, 0x430B, 0x5221, 0x3C08, 0x4B0E, 0x470F, 0x5B0F, 0x1840,
+0x4EDF, 0x2D00, 0x0005, 0x531B, 0x903B, 0x0020, 0x3BF5, 0x1404, 0x430F,
+0x434E, 0x403D, 0x0025, 0x013C, 0x000A, 0x060B, 0x0B3B, 0x001C, 0x134B,
+0x403C, 0x0003, 0x002F, 0x2A22, 0x134F, 0x04CC, 0x060F, 0x0F3F, 0x0020,
+0x134F, 0x430C, 0x5031, 0x004C, 0x1674, 0x0110, 0x140A, 0x8031, 0x000C,
+0x008A, 0x2C4E, 0x410C, 0x523C, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x3403, 0x403C, 0xFFCB, 0x3C40, 0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x3892, 0x411E, 0x0008, 0x411F, 0x000A, 0x830F, 0x20DD,
+0x831E, 0x242B, 0x831E, 0x2432, 0x831E, 0x242B, 0x831E, 0x243C, 0x831E,
+0x244E, 0x831E, 0x2456, 0x831E, 0x245E, 0x831E, 0x2466, 0x831E, 0x2469,
+0x831E, 0x2426, 0x831E, 0x246A, 0x831E, 0x247D, 0x832E, 0x2480, 0x831E,
+0x2488, 0x831E, 0x2430, 0x831E, 0x2451, 0x831E, 0x247D, 0x831E, 0x2485,
+0x831E, 0x248D, 0x831E, 0x2495, 0x831E, 0x249F, 0x831E, 0x24A7, 0x3CB0,
+0x412F, 0x1840, 0x4F82, 0x2B68, 0x430C, 0x5031, 0x000C, 0x160A, 0x0110,
+0x412C, 0x1380, 0x2B9E, 0x3FF7, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82,
+0x28B8, 0x1840, 0x4F82, 0x28BA, 0x3FED, 0x412E, 0x411F, 0x0002, 0x1840,
+0x4E82, 0x28A0, 0x1840, 0x4F82, 0x28A2, 0x3FE3, 0x412E, 0x411F, 0x0002,
+0x1840, 0x4E82, 0x28A4, 0x1840, 0x4F82, 0x28A6, 0x3FD9, 0x412E, 0x411F,
+0x0002, 0x1840, 0x4E82, 0x28A8, 0x1840, 0x4F82, 0x28AA, 0x3FCF, 0x412E,
+0x411F, 0x0002, 0x1840, 0x4E82, 0x28AC, 0x1840, 0x4F82, 0x28AE, 0x3FC5,
+0x412F, 0x1840, 0x4F82, 0x28B0, 0x3FC0, 0x412F, 0x1840, 0x4F82, 0x28B2,
+0x3FBB, 0x412F, 0x1840, 0x4F82, 0x28B4, 0x3FB6, 0x412F, 0x1840, 0x4F82,
+0x28B6, 0x3FB1, 0x4381, 0x0004, 0x4381, 0x0006, 0x410C, 0x522C, 0x0A0F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFCA, 0x3FA3, 0x411D,
+0x0004, 0x412C, 0x1380, 0x2BC2, 0x3F9C, 0x412F, 0x1840, 0x4F82, 0x28BC,
+0x3F97, 0x412F, 0x1840, 0x4F82, 0x2B66, 0x3F92, 0x412F, 0x1840, 0x4F82,
+0x2470, 0x3F8D, 0x412F, 0x1840, 0x4F82, 0x28BE, 0x3F88, 0x412E, 0x411F,
+0x0002, 0x1840, 0x4E82, 0x2B7A, 0x1840, 0x4F82, 0x2B7C, 0x3F7E, 0x412E,
+0x411F, 0x0002, 0x1840, 0x4E82, 0x2B7E, 0x1840, 0x4F82, 0x2B80, 0x3F74,
+0x412E, 0x411F, 0x0002, 0xD03E, 0x0080, 0x1840, 0x4E82, 0x2B82, 0x1840,
+0x4F82, 0x2B84, 0x3F68, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82, 0x2B86,
+0x1840, 0x4F82, 0x2B88, 0x3F5E, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82,
+0x2400, 0x1840, 0x4F82, 0x2402, 0x3F54, 0x403C, 0xFFC9, 0x3F52, 0x4303,
+0x145B, 0x4328, 0x0089, 0x2BFA, 0x407C, 0x0028, 0x093F, 0x0008, 0x134F,
+0x4C4C, 0x430D, 0x13B2, 0x8F3E, 0x930C, 0x2002, 0x432C, 0x3CDF, 0x407C,
+0x00B0, 0x093F, 0x0008, 0x134F, 0x00A9, 0x001C, 0x403C, 0x009F, 0x430D,
+0x090F, 0x134F, 0x430C, 0x430D, 0x090F, 0x134F, 0x4C0A, 0xB03C, 0x0100,
+0x28CA, 0x4C4E, 0xF07E, 0x0006, 0x926E, 0x203C, 0x430B, 0x0088, 0x2C4E,
+0x403C, 0x0010, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x403C, 0x009E, 0x430D,
+0x090F, 0x134F, 0xD03A, 0x0040, 0x4A0C, 0x430D, 0x090F, 0x134F, 0x923B,
+0x2CAE, 0x403C, 0x009A, 0x430D, 0x090F, 0x134F, 0x4B0C, 0x065C, 0x430D,
+0x090F, 0x134F, 0x403C, 0x009D, 0x430D, 0x090F, 0x134F, 0x430C, 0x430D,
+0x090F, 0x134F, 0x080F, 0x0F3F, 0x0014, 0x134F, 0x403C, 0x009D, 0x430D,
+0x090F, 0x134F, 0x430C, 0x430D, 0x090F, 0x134F, 0x080F, 0x0F3F, 0x0010,
+0x134F, 0x531B, 0x3FD8, 0x4306, 0x403C, 0x009B, 0x430D, 0x090F, 0x134F,
+0x430C, 0x430D, 0x090F, 0x134F, 0x13B2, 0x98C0, 0x4C0B, 0x0087, 0x2860,
+0xB23A, 0x2819, 0xB03A, 0x0200, 0x2C02, 0x930C, 0x200F, 0x403C, 0x009E,
+0x430D, 0x090F, 0x134F, 0xC31A, 0xD03A, 0x0040, 0x4A0C, 0x430D, 0x090F,
+0x134F, 0x4236, 0x8726, 0x3C18, 0x972B, 0x2416, 0x4C06, 0x8726, 0x3C13,
+0x008F, 0x2864, 0x972B, 0x2403, 0x438F, 0x0000, 0x3C0C, 0x539F, 0x0000,
+0x90BF, 0x0014, 0x0000, 0x2006, 0xB03A, 0x0200, 0x2802, 0x4236, 0x3C01,
+0x4C06, 0x4B87, 0x0000, 0x9316, 0x3848, 0x4B0A, 0x860A, 0xF03A, 0x0007,
+0x0088, 0x2C4E, 0x432C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x460C, 0x080F,
+0x0F3F, 0x0010, 0x134F, 0x403C, 0x009A, 0x430D, 0x090F, 0x134F, 0x4A0C,
+0x065C, 0x430D, 0x090F, 0x134F, 0x403C, 0x009D, 0x430D, 0x090F, 0x134F,
+0x430C, 0x430D, 0x090F, 0x134F, 0x080F, 0x0F3F, 0x0014, 0x134F, 0x403C,
+0x009D, 0x430D, 0x090F, 0x134F, 0x430C, 0x430D, 0x090F, 0x134F, 0x080F,
+0x0F3F, 0x0010, 0x134F, 0x403C, 0x009D, 0x430D, 0x090F, 0x134F, 0x430C,
+0x430D, 0x090F, 0x134F, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x531A, 0x923A,
+0x2801, 0x430A, 0x9B0A, 0x23C9, 0x4318, 0x480C, 0x1656, 0x0110, 0x145B,
+0x4328, 0x008A, 0x2BFA, 0x407C, 0x0028, 0x0A3F, 0x0008, 0x134F, 0x4C4C,
+0x430D, 0x13B2, 0x9096, 0x930C, 0x2002, 0x432C, 0x3CCD, 0x407C, 0x0090,
+0x0A3F, 0x0008, 0x134F, 0x00AA, 0x0014, 0x403C, 0x009F, 0x0A0F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x4C06, 0xB03C, 0x0100, 0x28BA, 0x4C4E, 0xF07E,
+0x0006, 0x926E, 0x2035, 0x430B, 0x0089, 0x2C4E, 0x403C, 0x0010, 0x090F,
+0x0F3F, 0x0010, 0x134F, 0x403C, 0x009E, 0x0A0F, 0x134F, 0xD036, 0x0040,
+0x460C, 0x0A0F, 0x134F, 0x923B, 0x2CA0, 0x403C, 0x009A, 0x0A0F, 0x134F,
+0x4B0C, 0x065C, 0x0A0F, 0x134F, 0x403C, 0x009D, 0x0A0F, 0x134F, 0x430C,
+0x0A0F, 0x134F, 0x430D, 0x090F, 0x0F3F, 0x0014, 0x134F, 0x403C, 0x009D,
+0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x090F, 0x0F3F, 0x0010, 0x134F,
+0x531B, 0x3FDD, 0x4307, 0x403C, 0x009B, 0x0A0F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0x4C0B, 0x108B, 0xF37B, 0x110B, 0x110B, 0x0089, 0x2860, 0xB236,
+0x2817, 0xB036, 0x0200, 0x2C02, 0x930B, 0x200D, 0x403C, 0x009E, 0x0A0F,
+0x134F, 0xC316, 0xD036, 0x0040, 0x460C, 0x0A0F, 0x134F, 0x4237, 0x8927,
+0x3C18, 0x992B, 0x2416, 0x4B07, 0x8927, 0x3C13, 0x008F, 0x2862, 0x992B,
+0x2403, 0x438F, 0x0000, 0x3C0C, 0x539F, 0x0000, 0x90BF, 0x0014, 0x0000,
+0x2006, 0xB036, 0x0200, 0x2802, 0x4237, 0x3C01, 0x4B07, 0x4B89, 0x0000,
+0x9317, 0x3841, 0x4B08, 0x8708, 0xF038, 0x0007, 0x0089, 0x2C4E, 0x432C,
+0x090F, 0x0F3F, 0x0010, 0x134F, 0x470C, 0x090F, 0x0F3F, 0x0010, 0x134F,
+0x403C, 0x009A, 0x0A0F, 0x134F, 0x480C, 0x065C, 0x0A0F, 0x134F, 0x403C,
+0x009D, 0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x430D, 0x090F, 0x0F3F,
+0x0014, 0x134F, 0x403C, 0x009D, 0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x090F, 0x0F3F, 0x0010, 0x134F, 0x403C, 0x009D, 0x0A0F, 0x134F, 0x430C,
+0x0A0F, 0x134F, 0x090F, 0x0F3F, 0x0010, 0x134F, 0x5318, 0x9238, 0x2801,
+0x4308, 0x9B08, 0x23D0, 0x4318, 0x480C, 0x1656, 0x0110, 0x147B, 0x8231,
+0x0084, 0x2C4E, 0x410C, 0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x410C,
+0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x430B, 0x0087, 0x2BFA, 0x07C8,
+0x00A8, 0x0008, 0x407C, 0x0048, 0x080F, 0x134F, 0x435C, 0x073F, 0x0010,
+0x134F, 0x07C9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x3C07, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x531B, 0x07C6, 0x00A6, 0x0014,
+0x903B, 0x000A, 0x2C11, 0x407C, 0x0028, 0x080F, 0x134F, 0x430C, 0x060F,
+0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F,
+0x930F, 0x23E2, 0x411A, 0x0004, 0x411B, 0x0006, 0x503A, 0xFFFE, 0x633B,
+0x407C, 0x0088, 0x080F, 0x134F, 0x407C, 0x0034, 0x073F, 0x0010, 0x134F,
+0x407C, 0x0082, 0x080F, 0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C,
+0xEF0C, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x060F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0088, 0x080F, 0x134F, 0x407C, 0x0024, 0x073F,
+0x0010, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0082, 0x080F, 0x134F,
+0x403C, 0x3FFF, 0x060F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8,
+0x080F, 0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x00C2, 0x080F, 0x134F, 0x430A, 0x430B, 0x3C0F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x060F, 0x134F, 0x040F, 0x0F3F,
+0x0010, 0x134F, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BEE, 0x2002, 0x912A,
+0x2BEB, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8,
+0x080F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021, 0x080F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x5231, 0x1674, 0x0110, 0x147B,
+0x8231, 0x0084, 0x2C4E, 0x410C, 0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F,
+0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x411A, 0x0004, 0x832A,
+0x430B, 0x0087, 0x2BFA, 0x07C8, 0x00A8, 0x0008, 0x407C, 0x0048, 0x080F,
+0x134F, 0x435C, 0x073F, 0x0010, 0x134F, 0x07C9, 0x00A9, 0x0030, 0x435C,
+0x090F, 0x134F, 0x3C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x531B, 0x07C6, 0x00A6, 0x0014, 0x903B, 0x000A, 0x2C11, 0x407C, 0x0028,
+0x080F, 0x134F, 0x430C, 0x060F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081,
+0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E2, 0x4077, 0x00C8, 0x474C,
+0x080F, 0x134F, 0x403C, 0x3401, 0x060F, 0x134F, 0x407C, 0x0082, 0x080F,
+0x134F, 0x403C, 0x4030, 0x060F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x474C, 0x080F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x403C, 0x3FFF, 0x060F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x2409, 0x060F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x00C2, 0x080F, 0x134F, 0x430A,
+0x430B, 0x3C0F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C,
+0x060F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F, 0x531A, 0x630B, 0x911B,
+0x0002, 0x2BEE, 0x2002, 0x912A, 0x2BEB, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F,
+0x407C, 0x0021, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x5231,
+0x1674, 0x0110, 0x143B, 0x8321, 0x4C0A, 0x4308, 0xB31C, 0x2844, 0x008C,
+0x2880, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFF5, 0x3CA4, 0x008C, 0x287C, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F,
+0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C98, 0x0089, 0x2BFA, 0x407C, 0x0082,
+0x093F, 0x0008, 0x134F, 0x403C, 0x3FFF, 0x093F, 0x0014, 0x134F, 0x434C,
+0x093F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x093F, 0x0008, 0x134F, 0x403C,
+0x2409, 0x093F, 0x0014, 0x134F, 0x435C, 0x093F, 0x0030, 0x134F, 0x434C,
+0x093F, 0x0030, 0x134F, 0x407C, 0x0048, 0x093F, 0x0008, 0x134F, 0x403C,
+0x0018, 0x093F, 0x0014, 0x134F, 0x008B, 0x287C, 0x5BAB, 0x0000, 0x6B9B,
+0x0002, 0x0002, 0x3C33, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x0028,
+0x134F, 0x4C08, 0x0089, 0x2BFA, 0x407C, 0x00C1, 0x093F, 0x0008, 0x134F,
+0x1840, 0x421C, 0x2880, 0x1840, 0x421D, 0x2882, 0x093F, 0x0018, 0x134F,
+0x407C, 0x00A1, 0x093F, 0x0008, 0x134F, 0x416C, 0x093F, 0x0010, 0x134F,
+0x435C, 0x093F, 0x0030, 0x134F, 0x434C, 0x093F, 0x0030, 0x134F, 0x1840,
+0x5392, 0x2880, 0x1840, 0x6382, 0x2882, 0x53BB, 0x0000, 0x63BB, 0x0002,
+0x4B2F, 0xDB1F, 0x0002, 0x930F, 0x2402, 0x9308, 0x27C6, 0xB32A, 0x281A,
+0x0089, 0x2BFA, 0x434C, 0x093F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x093F,
+0x0008, 0x134F, 0x403C, 0x2401, 0x093F, 0x0014, 0x134F, 0x407C, 0x0021,
+0x093F, 0x0008, 0x134F, 0x435C, 0x093F, 0x0030, 0x134F, 0x3C0D, 0x9318,
+0x2009, 0x407C, 0x0091, 0x002F, 0x2C4E, 0x0F3F, 0x0024, 0x134F, 0x4308,
+0x3C02, 0x4038, 0xFFF3, 0x480C, 0x5321, 0x1638, 0x0110, 0x143B, 0x8321,
+0x4C0A, 0x430B, 0xB31C, 0x2844, 0x008C, 0x2878, 0x002F, 0x2C4E, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3CA1, 0x008C, 0x2874,
+0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x2003, 0x403C, 0xFFF4,
+0x3C95, 0x0088, 0x2BFA, 0x407C, 0x0082, 0x083F, 0x0008, 0x134F, 0x403C,
+0x3FFF, 0x083F, 0x0014, 0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C,
+0x00C8, 0x083F, 0x0008, 0x134F, 0x403C, 0x2409, 0x083F, 0x0014, 0x134F,
+0x435C, 0x083F, 0x0030, 0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C,
+0x00C8, 0x083F, 0x0008, 0x134F, 0x403C, 0x2418, 0x083F, 0x0014, 0x134F,
+0x0089, 0x2874, 0x59A9, 0x0000, 0x6999, 0x0002, 0x0002, 0x3C30, 0x410C,
+0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x0028, 0x134F, 0x4C0B, 0x0088, 0x2BFA,
+0x407C, 0x00C1, 0x083F, 0x0008, 0x134F, 0x1840, 0x421C, 0x2878, 0x083F,
+0x0014, 0x134F, 0x407C, 0x00A1, 0x083F, 0x0008, 0x134F, 0x416C, 0x083F,
+0x0010, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x434C, 0x083F, 0x0030,
+0x134F, 0x1840, 0x5392, 0x2878, 0x1840, 0x6382, 0x287A, 0x53B9, 0x0000,
+0x63B9, 0x0002, 0x492F, 0xD91F, 0x0002, 0x930F, 0x2402, 0x930B, 0x27C9,
+0xB32A, 0x281A, 0x0088, 0x2BFA, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C,
+0x00C8, 0x083F, 0x0008, 0x134F, 0x403C, 0x2401, 0x083F, 0x0014, 0x134F,
+0x407C, 0x0021, 0x083F, 0x0008, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F,
+0x3C0D, 0x931B, 0x2009, 0x407C, 0x0091, 0x002F, 0x2C4E, 0x0F3F, 0x0024,
+0x134F, 0x430B, 0x3C02, 0x403B, 0xFFF3, 0x4B0C, 0x5321, 0x1638, 0x0110,
+0x143B, 0x8321, 0x4C0A, 0x430B, 0xB31C, 0x2879, 0x008C, 0x2890, 0x002F,
+0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3CA1,
+0x008C, 0x288C, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x2003,
+0x403C, 0xFFF4, 0x3C95, 0x0088, 0x2BFA, 0x407C, 0x0082, 0x083F, 0x0008,
+0x134F, 0x403C, 0x3FFF, 0x083F, 0x0014, 0x134F, 0x434C, 0x083F, 0x0030,
+0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C, 0x2409, 0x083F,
+0x0014, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x434C, 0x083F, 0x0030,
+0x134F, 0x407C, 0x0048, 0x083F, 0x0008, 0x134F, 0x423C, 0x083F, 0x0014,
+0x134F, 0x3C35, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F,
+0x4C0B, 0x0088, 0x2BFA, 0x407C, 0x00C1, 0x083F, 0x0008, 0x134F, 0x1840,
+0x421C, 0x2890, 0x1840, 0x421D, 0x2892, 0x083F, 0x0018, 0x134F, 0x407C,
+0x00A1, 0x083F, 0x0008, 0x134F, 0x412C, 0x083F, 0x0014, 0x134F, 0x435C,
+0x083F, 0x0030, 0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x1840, 0x53A2,
+0x2890, 0x1840, 0x6382, 0x2892, 0x1840, 0x53B2, 0x288C, 0x1840, 0x63B2,
+0x288E, 0x1840, 0x421F, 0x288C, 0x1840, 0xD21F, 0x288E, 0x930F, 0x2402,
+0x930B, 0x27C1, 0xB32A, 0x281A, 0x0088, 0x2BFA, 0x434C, 0x083F, 0x0030,
+0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C, 0x2401, 0x083F,
+0x0014, 0x134F, 0x407C, 0x0021, 0x083F, 0x0008, 0x134F, 0x435C, 0x083F,
+0x0030, 0x134F, 0x3C0D, 0x931B, 0x2009, 0x407C, 0x0091, 0x002F, 0x2C4E,
+0x0F3F, 0x0024, 0x134F, 0x430B, 0x3C02, 0x403B, 0xFFF3, 0x4B0C, 0x5321,
+0x1638, 0x0110, 0x143B, 0x8321, 0x4C0A, 0x430B, 0xB31C, 0x2877, 0x008C,
+0x2888, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFF5, 0x3C9F, 0x008C, 0x2884, 0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F,
+0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C93, 0x0088, 0x2BFA, 0x407C, 0x0082,
+0x083F, 0x0008, 0x134F, 0x403C, 0x3FFF, 0x083F, 0x0014, 0x134F, 0x434C,
+0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C,
+0x2409, 0x083F, 0x0014, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x434C,
+0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C,
+0x2408, 0x083F, 0x0014, 0x134F, 0x3C32, 0x410C, 0x530C, 0x002F, 0x2C4E,
+0x0F3F, 0x002C, 0x134F, 0x4C0B, 0x0088, 0x2BFA, 0x407C, 0x00C1, 0x083F,
+0x0008, 0x134F, 0x1840, 0x421C, 0x2888, 0x083F, 0x0014, 0x134F, 0x407C,
+0x00A1, 0x083F, 0x0008, 0x134F, 0x412C, 0x083F, 0x0014, 0x134F, 0x435C,
+0x083F, 0x0030, 0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x1840, 0x53A2,
+0x2888, 0x1840, 0x6382, 0x288A, 0x1840, 0x53B2, 0x2884, 0x1840, 0x63B2,
+0x2886, 0x1840, 0x421F, 0x2884, 0x1840, 0xD21F, 0x2886, 0x930F, 0x2402,
+0x930B, 0x27C4, 0xB32A, 0x281A, 0x0088, 0x2BFA, 0x434C, 0x083F, 0x0030,
+0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C, 0x2401, 0x083F,
+0x0014, 0x134F, 0x407C, 0x0021, 0x083F, 0x0008, 0x134F, 0x435C, 0x083F,
+0x0030, 0x134F, 0x3C0D, 0x931B, 0x2009, 0x407C, 0x0091, 0x002F, 0x2C4E,
+0x0F3F, 0x0024, 0x134F, 0x430B, 0x3C02, 0x403B, 0xFFF3, 0x4B0C, 0x5321,
+0x1638, 0x0110, 0x147B, 0x8031, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002,
+0x4381, 0x0004, 0x4037, 0x0028, 0x410C, 0x522C, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x43A1, 0x0000, 0x4381, 0x0002, 0x0086, 0x2C42, 0x0088,
+0x2B7A, 0x4109, 0x5309, 0x1203, 0x09CD, 0x481E, 0x0004, 0x481F, 0x0006,
+0x430C, 0x060B, 0x134B, 0x5321, 0x933C, 0x2488, 0x93C8, 0x0008, 0x341B,
+0x403A, 0x0014, 0xB3A8, 0x0008, 0x4A0E, 0x430F, 0x09CC, 0x2805, 0x13B2,
+0x8AA2, 0xD391, 0x0000, 0x3C04, 0x13B2, 0x8AA2, 0xC391, 0x0000, 0x4A0E,
+0x430F, 0x412C, 0x411D, 0x0002, 0x13B2, 0x883A, 0xC0B8, 0x0080, 0x0008,
+0x40B1, 0x000B, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x403A, 0xEDF0, 0x403B,
+0xE000, 0x1203, 0x09CD, 0x4A0E, 0x4B0F, 0x430C, 0x0604, 0x1344, 0x5321,
+0x933C, 0x2456, 0xC3A1, 0x0000, 0xD2A1, 0x0000, 0x1203, 0x09CD, 0x4A0E,
+0x4B0F, 0x430C, 0x0604, 0x1344, 0x5321, 0x933C, 0x2448, 0x1213, 0x09CD,
+0x4A0E, 0x4B0F, 0x430C, 0x0604, 0x1344, 0x5321, 0x933C, 0x243E, 0xB3A1,
+0x0002, 0x2C02, 0x5337, 0x23F1, 0x40B1, 0x0003, 0x0000, 0x40B1, 0xA05F,
+0x0002, 0x1203, 0x09CD, 0x4A0E, 0x4B0F, 0x430C, 0x060B, 0x134B, 0x5321,
+0x933C, 0x2429, 0x40B1, 0x0003, 0x0000, 0x4381, 0x0002, 0x1203, 0x09CD,
+0x481E, 0x0004, 0x481F, 0x0006, 0x430C, 0x060B, 0x134B, 0x5321, 0x933C,
+0x2418, 0x481F, 0x000C, 0xD81F, 0x000E, 0x930F, 0x240E, 0x13B2, 0x777E,
+0x930C, 0x200E, 0x9381, 0x0004, 0x2402, 0x1380, 0x2BA6, 0x430C, 0x5031,
+0x0006, 0x1674, 0x0110, 0x13B2, 0x8140, 0x930C, 0x27F2, 0x433C, 0x3FF6,
+0x4303, 0x145B, 0x8031, 0x002E, 0x4307, 0x4306, 0x008A, 0x2BFA, 0x0AC8,
+0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x0ACB, 0x00AB, 0x0008, 0x407C,
+0x00C8, 0x0B0F, 0x134F, 0x0AC9, 0x00A9, 0x0014, 0x403C, 0x0500, 0x090F,
+0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x403C, 0x0182, 0x430D, 0x0A3F,
+0x0018, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F,
+0x403C, 0x0003, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C1, 0x0B0F, 0x134F, 0x403C, 0x0182, 0x430D, 0x0A3F, 0x0018,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C09, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x9309, 0x340A, 0x4337,
+0x470C, 0x5031, 0x002E, 0x1656, 0x0110, 0x083F, 0x0028, 0x134F, 0x5316,
+0x410C, 0x530C, 0x560C, 0x0028, 0x2C4E, 0x9036, 0x0016, 0x2BF4, 0x1840,
+0x421E, 0x2400, 0x1840, 0x421F, 0x2402, 0x4ECC, 0x0000, 0x4E0D, 0x108D,
+0x4DCC, 0x0001, 0x4FCC, 0x0002, 0x108F, 0x4F4E, 0x4ECC, 0x0003, 0x4109,
+0x5039, 0x001A, 0x1409, 0x430F, 0x435E, 0x403D, 0x001A, 0x410C, 0x522C,
+0x0838, 0x001C, 0x1348, 0x403C, 0x0003, 0x002F, 0x2A64, 0x134F, 0x09CC,
+0x002F, 0x2C4E, 0x0F3F, 0x0020, 0x134F, 0x407C, 0x0054, 0x0B0F, 0x134F,
+0x403C, 0x0200, 0x430D, 0x0A3F, 0x001C, 0x134F, 0x5221, 0x3FB9, 0x4303,
+0x147B, 0x8321, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0008, 0x4074, 0x0088,
+0x444C, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C, 0x0034, 0x080F,
+0x134F, 0x4079, 0x0082, 0x494C, 0x0B0F, 0x134F, 0x0AC6, 0x00A6, 0x0030,
+0x435C, 0x060F, 0x134F, 0x403C, 0x0960, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x4077, 0x0042, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x403C, 0x00FC, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C05, 0x434C, 0x060F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F,
+0x435C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x0034, 0x080F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x403C, 0x0A60,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x403C,
+0x00FC, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C07, 0x434C, 0x060F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F,
+0x435C, 0x060F, 0x134F, 0x4124, 0x470D, 0x440C, 0xD50D, 0x5321, 0x1674,
+0x0110, 0x147B, 0x8231, 0x0084, 0x2C4E, 0x410C, 0x530C, 0x040F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C9A, 0x410C, 0x522C,
+0x040F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C8F,
+0x0088, 0x2BFA, 0x08C9, 0x00A9, 0x0008, 0x407C, 0x0082, 0x090F, 0x134F,
+0x08C6, 0x00A6, 0x0014, 0x403C, 0x3FFF, 0x060F, 0x134F, 0x08C7, 0x00A7,
+0x0030, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C,
+0x2409, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x430A, 0x430B, 0x3C23, 0x407C, 0x00C1, 0x090F, 0x134F, 0x412C, 0x060F,
+0x134F, 0x407C, 0x00A1, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C,
+0x070F, 0x134F, 0x430C, 0x060F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F,
+0x412E, 0x411F, 0x0002, 0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x531A, 0x630B, 0x911B, 0x0006, 0x2BDA, 0x2003, 0x911A, 0x0004, 0x2BD6,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F,
+0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x430B, 0x407C, 0x0048, 0x090F, 0x134F, 0x435C,
+0x083F, 0x0010, 0x134F, 0x435C, 0x070F, 0x134F, 0x3C07, 0x434C, 0x070F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x531B, 0x903B, 0x000A, 0x2C11, 0x407C,
+0x0028, 0x090F, 0x134F, 0x430C, 0x060F, 0x134F, 0xF07C, 0x0081, 0x907C,
+0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E5, 0x430C, 0x5231,
+0x1674, 0x0110, 0x145B, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x4318,
+0x3C6F, 0x412A, 0x411B, 0x0002, 0x0089, 0x2BFA, 0x09C6, 0x00A6, 0x0008,
+0x407C, 0x0088, 0x060F, 0x134F, 0x407C, 0x0034, 0x093F, 0x0010, 0x134F,
+0x407C, 0x0082, 0x060F, 0x134F, 0x09C7, 0x00A7, 0x0030, 0x435C, 0x070F,
+0x134F, 0x4A0E, 0x4B0F, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00,
+0x480C, 0xDE0C, 0xD03C, 0x0080, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F,
+0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x407C,
+0x0082, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x4A0C, 0x093F, 0x0014,
+0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x403C, 0x3FFD, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C,
+0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0088, 0x060F, 0x134F, 0x407C, 0x0024, 0x093F, 0x0010, 0x134F,
+0x435C, 0x070F, 0x134F, 0x5318, 0x9038, 0x0010, 0x2C26, 0x9328, 0x2001,
+0x4228, 0x0087, 0x2C4E, 0x410B, 0x530B, 0x0BCC, 0x070F, 0x0F3F, 0x0028,
+0x134F, 0x0BCC, 0x00AC, 0x0001, 0x070F, 0x0F3F, 0x0028, 0x134F, 0x03EB,
+0x0BCC, 0x070F, 0x0F3F, 0x0028, 0x134F, 0x9038, 0x000F, 0x2402, 0x930C,
+0x2005, 0x9038, 0x000F, 0x236D, 0x930C, 0x376B, 0x403C, 0xFFD8, 0x3C01,
+0x430C, 0x5221, 0x1656, 0x0110, 0x147B, 0x4C04, 0x430A, 0x008B, 0x2BFA,
+0x0BC8, 0x00A8, 0x0008, 0x407C, 0x0088, 0x080F, 0x134F, 0x407C, 0x0034,
+0x0B3F, 0x0010, 0x134F, 0x4039, 0x0032, 0x4076, 0x00C8, 0x464C, 0x080F,
+0x134F, 0x0BC7, 0x00A7, 0x0014, 0x403C, 0x2401, 0x070F, 0x134F, 0x407C,
+0x0028, 0x080F, 0x134F, 0x430C, 0x070F, 0x134F, 0x5339, 0x933C, 0x2403,
+0xB03C, 0x0200, 0x2C02, 0x9309, 0x23F5, 0x407C, 0x0082, 0x080F, 0x134F,
+0x403C, 0x4030, 0x070F, 0x134F, 0x00AB, 0x0030, 0x435C, 0x0B0F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x403C, 0x0C04, 0x070F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x403C,
+0x3FFF, 0x070F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F,
+0x403C, 0x2409, 0x070F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2408, 0x070F, 0x134F, 0x3C1C,
+0x407C, 0x00C1, 0x080F, 0x134F, 0x4A0F, 0x5F0F, 0x440C, 0x5F0C, 0x070F,
+0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x4A0F, 0x0FEF, 0x1840, 0x4F1C,
+0x2730, 0x070F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x531A, 0x903A, 0x0030, 0x3BE1, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F,
+0x134F, 0x403C, 0x2401, 0x070F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x1674, 0x0110, 0x147B, 0x120C, 0x8031, 0x0040,
+0x40B1, 0x0007, 0x0002, 0x430A, 0x403B, 0x0006, 0x4381, 0x0000, 0x0086,
+0x2C4E, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3403,
+0x403C, 0xFFFE, 0x3C82, 0x410C, 0x532C, 0x060F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x3403, 0x403C, 0xFFBE, 0x3C77, 0x90B1, 0x000F, 0x0002, 0x2002,
+0x403B, 0x0009, 0x403C, 0x0C04, 0x430D, 0x1380, 0x2814, 0x4034, 0x0018,
+0x440E, 0x410D, 0x522D, 0x412C, 0x1380, 0x281C, 0x0085, 0x2818, 0x440E,
+0x008D, 0x2404, 0x412C, 0x050F, 0x134F, 0x4037, 0x0028, 0x4B0E, 0xD03E,
+0x0080, 0x4A0D, 0x1844, 0x5D0D, 0x412C, 0x13B2, 0x67D6, 0x4C08, 0x4D09,
+0x9381, 0x0040, 0x2406, 0x440E, 0x008D, 0x2404, 0x412C, 0x050F, 0x134F,
+0x480F, 0xD90F, 0x930F, 0x242C, 0x9039, 0x0020, 0x280F, 0x2003, 0x9038,
+0xA761, 0x280B, 0x4A0F, 0x533A, 0x930F, 0x2016, 0x403A, 0x0007, 0x4B0F,
+0x533B, 0x930F, 0x2010, 0x3C1A, 0x9039, 0x0015, 0x2804, 0x200E, 0x9038,
+0x83D0, 0x2C0B, 0x531A, 0x923A, 0x2805, 0x430A, 0x531B, 0x9B81, 0x0002,
+0x280B, 0x5337, 0x9317, 0x37C4, 0x440E, 0x410D, 0x522D, 0x412C, 0x050F,
+0x134F, 0x9317, 0x3402, 0x433C, 0x3C14, 0x1844, 0x5A0A, 0x4A0C, 0x060F,
+0x0F3F, 0x0010, 0x134F, 0xD03B, 0x0080, 0x4B0C, 0x060F, 0x0F3F, 0x0010,
+0x134F, 0x430C, 0x060F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x5031, 0x0042,
+0x1674, 0x0110, 0x145B, 0x8321, 0x4391, 0x0000, 0x008A, 0x2C4E, 0x410C,
+0x530C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x008B, 0x2B8A, 0x412C, 0x0B3F,
+0x0010, 0x134F, 0x0088, 0x2BFA, 0x08CC, 0x13B0, 0x1880, 0x0B3F, 0x001C,
+0x134F, 0x0B3F, 0x0054, 0x134F, 0x435C, 0x0B3F, 0x0018, 0x134F, 0x080F,
+0x134F, 0x083F, 0x0004, 0x134F, 0x403C, 0xA55A, 0x13B2, 0x832A, 0x931C,
+0x2003, 0x403C, 0xFFCF, 0x3C69, 0x434C, 0x0B3F, 0x0018, 0x134F, 0x080F,
+0x134F, 0x083F, 0x0004, 0x134F, 0x13B2, 0x9676, 0x903C, 0xC3C3, 0x2003,
+0x403C, 0xFFBB, 0x3C58, 0x08C9, 0x00A9, 0x0008, 0x407C, 0x0028, 0x090F,
+0x134F, 0x4C46, 0x460C, 0x430D, 0x13B2, 0x9532, 0x930C, 0x2448, 0x9036,
+0x0098, 0x2009, 0x407C, 0x00F4, 0x090F, 0x134F, 0x403C, 0x4020, 0x083F,
+0x0014, 0x134F, 0x9036, 0x0099, 0x2012, 0x407C, 0x00F4, 0x090F, 0x134F,
+0x403C, 0x40A0, 0x083F, 0x0014, 0x134F, 0x407C, 0x0054, 0x090F, 0x134F,
+0x430C, 0x431D, 0x083F, 0x001C, 0x134F, 0x435C, 0x0A0F, 0x0F3F, 0x0008,
+0x134F, 0x464C, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x90B1, 0x0006, 0x0000,
+0x2012, 0x43A1, 0x0000, 0x432C, 0x0B3F, 0x0010, 0x134F, 0x08CC, 0x13B0,
+0x1880, 0x434C, 0x0B3F, 0x0018, 0x134F, 0x080F, 0x134F, 0x083F, 0x0004,
+0x134F, 0x416C, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x3C02, 0x403C,
+0xFFBC, 0x5321, 0x1656, 0x0110, 0x147B, 0x8221, 0x431A, 0x3C90, 0x932A,
+0x2001, 0x422A, 0x0087, 0x2C4E, 0x410B, 0x530B, 0x0BCC, 0x070F, 0x0F3F,
+0x0028, 0x134F, 0x0BCC, 0x00AC, 0x0001, 0x070F, 0x0F3F, 0x0028, 0x134F,
+0x0BCC, 0x03EC, 0x070F, 0x0F3F, 0x0028, 0x134F, 0x43CB, 0x0003, 0x4124,
+0x4115, 0x0002, 0x1084, 0x1085, 0xE344, 0xE504, 0xF034, 0x0F00, 0x5034,
+0x0080, 0x4127, 0x0086, 0x2BFA, 0x06CB, 0x00AB, 0x0030, 0x434C, 0x0B0F,
+0x134F, 0x06C8, 0x00A8, 0x0008, 0x407C, 0x0082, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x06C9, 0x00A9, 0x0014, 0x4A0F, 0xF03F, 0x000F, 0x5F04,
+0x440C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x1401,
+0x090F, 0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x470C, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0021,
+0x080F, 0x134F, 0x430C, 0x430D, 0x063F, 0x0018, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x0501, 0x090F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x531A, 0x903A,
+0x0010, 0x2B6D, 0x430C, 0x5221, 0x1674, 0x0110, 0x147B, 0x120C, 0x8031,
+0x0040, 0x4309, 0x4037, 0x001B, 0x4381, 0x0000, 0x430A, 0x430B, 0x0088,
+0x2C4E, 0x410C, 0x530C, 0x080F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3403,
+0x403C, 0xFFFE, 0x3C7D, 0x403C, 0x0C04, 0x430D, 0x1380, 0x2814, 0x4105,
+0x5225, 0x403E, 0x001D, 0x05CD, 0x412C, 0x1380, 0x281C, 0x0084, 0x2818,
+0x403E, 0x001D, 0x008D, 0x2434, 0x412C, 0x040F, 0x134F, 0x3C03, 0x4607,
+0x4391, 0x0002, 0x490F, 0x531F, 0x970F, 0x2C24, 0x4706, 0x5906, 0x0356,
+0x4381, 0x0002, 0x430E, 0x460D, 0x0A5D, 0x412C, 0x13B2, 0x67D6, 0x4C0A,
+0x4D0B, 0x9381, 0x0040, 0x2407, 0x403E, 0x001D, 0x008D, 0x2434, 0x412C,
+0x040F, 0x134F, 0x4A0F, 0xDB0F, 0x930F, 0x2409, 0x903B, 0x0020, 0x2804,
+0x23DA, 0x903A, 0xA761, 0x2FD7, 0x4609, 0x3FD8, 0x9381, 0x0002, 0x2408,
+0x430E, 0x490D, 0x0A5D, 0x412C, 0x13B2, 0x67D6, 0x4C0A, 0x4D0B, 0x403E,
+0x0018, 0x05CD, 0x412C, 0x040F, 0x134F, 0x503A, 0x6478, 0x603B, 0xFFEC,
+0x903B, 0x0010, 0x2806, 0x2003, 0x903A, 0xB559, 0x2802, 0x433C, 0x3C1D,
+0x430C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x0A59, 0x490C, 0x080F, 0x0F3F,
+0x0010, 0x134F, 0x403C, 0x0080, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x403C,
+0x0080, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x080F, 0x0F3F, 0x0010,
+0x134F, 0x430C, 0x5031, 0x0042, 0x1674, 0x0110, 0x147B, 0x8231, 0x0084,
+0x2C4E, 0x410C, 0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403,
+0x403C, 0xFFF2, 0x3C87, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C7C, 0x0087, 0x2BFA, 0x07C8, 0x00A8,
+0x0008, 0x407C, 0x0082, 0x080F, 0x134F, 0x07C6, 0x00A6, 0x0014, 0x403C,
+0x3FFF, 0x060F, 0x134F, 0x07C9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x080F, 0x134F,
+0x403C, 0x0019, 0x060F, 0x134F, 0x412E, 0x411F, 0x0002, 0x5E0E, 0x6F0F,
+0x4E81, 0x0000, 0x4F81, 0x0002, 0x430A, 0x430B, 0x3C28, 0x407C, 0x00C1,
+0x080F, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006, 0x073F, 0x0018, 0x134F,
+0x407C, 0x00A1, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x430C, 0x060F, 0x134F, 0x040F, 0x0F3F, 0x0008, 0x134F, 0x411E,
+0x0004, 0x411F, 0x0006, 0x531E, 0x630F, 0x4E81, 0x0004, 0x4F81, 0x0006,
+0x531A, 0x630B, 0x911B, 0x0002, 0x2BD5, 0x2002, 0x912A, 0x2BD2, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F,
+0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x430C, 0x5231, 0x1674, 0x0110, 0x147B, 0x0086, 0x2BFA,
+0x06CA, 0x00AA, 0x0008, 0x407B, 0x00C8, 0x4B4C, 0x0A0F, 0x134F, 0x06C8,
+0x00A8, 0x0014, 0x403C, 0x3401, 0x080F, 0x134F, 0x4079, 0x0082, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x4982, 0x080F, 0x134F, 0x00A6, 0x0030, 0x434C,
+0x060F, 0x134F, 0x4077, 0x0042, 0x474C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x4C04, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x4A82, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C07, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x440C, 0x470D, 0x1674, 0x0110, 0x143B, 0x8031, 0x0006, 0x008A, 0x2C4E,
+0xB31C, 0x2816, 0x008C, 0x2894, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFD7, 0x3C80, 0x008C, 0x2898, 0x0A0F, 0x0F3F, 0x0030,
+0x134F, 0x933C, 0x2003, 0x403C, 0xFFD6, 0x3C75, 0x407C, 0x0091, 0x0A0F,
+0x0F3F, 0x0024, 0x134F, 0x0A0F, 0x0F3F, 0x0004, 0x134F, 0x410D, 0x530D,
+0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x0034, 0x134F, 0x3C56, 0x008A, 0x2BFA,
+0x0ACB, 0x00AB, 0x0030, 0x434C, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0008,
+0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x0500, 0x0A3F, 0x0014, 0x134F,
+0x407C, 0x00C1, 0x080F, 0x134F, 0x1840, 0x421C, 0x2894, 0x1840, 0x421D,
+0x2896, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x00A1,
+0x080F, 0x134F, 0x013F, 0x0002, 0x1800, 0x53E1, 0x0002, 0x4F2C, 0x0A3F,
+0x0014, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F,
+0x403C, 0x0501, 0x0A3F, 0x0014, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x1840, 0x53A2, 0x2894, 0x1840,
+0x6382, 0x2896, 0x412F, 0x832F, 0x4F81, 0x0000, 0x1840, 0x53B2, 0x2898,
+0x1840, 0x63B2, 0x289A, 0x1840, 0x421F, 0x2898, 0x1840, 0xD21F, 0x289A,
+0x930F, 0x2403, 0x9381, 0x0000, 0x239F, 0x430C, 0x5031, 0x0006, 0x1638,
+0x0110, 0x147B, 0x8231, 0x4304, 0x0088, 0x2C4E, 0x410C, 0x522C, 0x080F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x4034, 0xFFDF, 0x3C7F, 0x410C,
+0x530C, 0x080F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x4034, 0xFFDE,
+0x3C74, 0x0087, 0x2BFA, 0x07C9, 0x00A9, 0x0008, 0x407C, 0x0082, 0x090F,
+0x134F, 0x07C6, 0x00A6, 0x0014, 0x403C, 0x3FFF, 0x060F, 0x134F, 0x00A7,
+0x0030, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C,
+0x2409, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2419, 0x060F, 0x134F, 0x412E,
+0x411F, 0x0002, 0x5E0E, 0x6F0F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430A,
+0x430B, 0x3C25, 0x407C, 0x00C1, 0x090F, 0x134F, 0x411C, 0x0004, 0x060F,
+0x134F, 0x407C, 0x00A1, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C,
+0x070F, 0x134F, 0x430C, 0x060F, 0x134F, 0x080F, 0x0F3F, 0x0008, 0x134F,
+0x411E, 0x0004, 0x411F, 0x0006, 0x531E, 0x630F, 0x4E81, 0x0004, 0x4F81,
+0x0006, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BD8, 0x2002, 0x912A, 0x2BD5,
+0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2401,
+0x060F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x440C, 0x5231, 0x1674, 0x0110, 0x141B, 0x8231, 0x008A, 0x2C4E, 0x410C,
+0x522C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x930C, 0x3411, 0x403C, 0xFFC8,
+0x3C7B, 0x434C, 0x0B3F, 0x0050, 0x134F, 0x415E, 0x0004, 0x537E, 0x4EC1,
+0x0004, 0x411C, 0x0006, 0x0B3F, 0x0024, 0x134F, 0x93C1, 0x0004, 0x2469,
+0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3811, 0x410C,
+0x530C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3809, 0x410C, 0x503C,
+0x0006, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFC7,
+0x3C4E, 0x008B, 0x2B8A, 0xB0B1, 0x0040, 0x0000, 0x280D, 0xB0B1, 0x0040,
+0x0002, 0x2805, 0x435C, 0x0B3F, 0x0030, 0x134F, 0x3C04, 0x434C, 0x0B3F,
+0x0030, 0x134F, 0xB0B1, 0x0100, 0x0000, 0x280D, 0xB0B1, 0x0100, 0x0002,
+0x2805, 0x435C, 0x0B3F, 0x0034, 0x134F, 0x3C04, 0x434C, 0x0B3F, 0x0034,
+0x134F, 0xB391, 0x0000, 0x280C, 0xB391, 0x0002, 0x2805, 0x435C, 0x0B3F,
+0x0048, 0x134F, 0x3C04, 0x434C, 0x0B3F, 0x0048, 0x134F, 0xB2B1, 0x0000,
+0x280C, 0xB2B1, 0x0002, 0x2805, 0x435C, 0x0B3F, 0x004C, 0x134F, 0x3C04,
+0x434C, 0x0B3F, 0x004C, 0x134F, 0xB3A1, 0x0000, 0x2B92, 0xB3A1, 0x0002,
+0x2B8B, 0x435C, 0x0B3F, 0x0050, 0x134F, 0x3F8A, 0x430C, 0x5231, 0x161A,
+0x0110, 0x145B, 0x8221, 0x1940, 0x4291, 0x99EE, 0x0000, 0x1940, 0x4291,
+0x99F0, 0x0002, 0x008A, 0x2BFA, 0x0ACB, 0x00AB, 0x0030, 0x434C, 0x0B0F,
+0x134F, 0x0AC8, 0x00A8, 0x0008, 0x4076, 0x00C8, 0x464C, 0x080F, 0x134F,
+0x0AC9, 0x00A9, 0x0014, 0x403C, 0x0500, 0x090F, 0x134F, 0x407C, 0x00C1,
+0x080F, 0x134F, 0x403C, 0xFF80, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x0501, 0x090F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x0500,
+0x090F, 0x134F, 0x407C, 0x00C1, 0x080F, 0x134F, 0x403C, 0xFF82, 0x430D,
+0x0A3F, 0x0018, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x00A1, 0x080F,
+0x134F, 0x411C, 0x0002, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C,
+0x080F, 0x134F, 0x403C, 0x0501, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x0054, 0x080F,
+0x134F, 0x403C, 0x0200, 0x430D, 0x0A3F, 0x001C, 0x134F, 0x430C, 0x5221,
+0x1656, 0x0110, 0x147B, 0x8231, 0x0084, 0x2C4E, 0x410C, 0x530C, 0x040F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C75, 0x410C,
+0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFF1,
+0x3C6A, 0x0086, 0x2BFA, 0x06C8, 0x00A8, 0x0008, 0x407C, 0x0082, 0x080F,
+0x134F, 0x06C7, 0x00A7, 0x0014, 0x403C, 0x3FFF, 0x070F, 0x134F, 0x06C9,
+0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F,
+0x403C, 0x2409, 0x070F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x430A, 0x430B, 0x3C26, 0x407C, 0x00C1, 0x080F, 0x134F, 0x412C,
+0x411D, 0x0002, 0x063F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x070F, 0x134F,
+0x040F, 0x0F3F, 0x0010, 0x134F, 0x412E, 0x411F, 0x0002, 0x532E, 0x630F,
+0x4E81, 0x0000, 0x4F81, 0x0002, 0x531A, 0x630B, 0x911B, 0x0006, 0x2BD7,
+0x2003, 0x911A, 0x0004, 0x2BD3, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2401, 0x070F, 0x134F,
+0x407C, 0x0021, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x5231,
+0x1674, 0x0110, 0x147B, 0x8031, 0x0020, 0x4C0A, 0x4E0B, 0x1800, 0x43C1,
+0x0000, 0x4D0E, 0x430F, 0x403C, 0x0005, 0x1380, 0x2810, 0x4B0E, 0x430F,
+0x403C, 0x0006, 0x1380, 0x2810, 0x430B, 0x4A0C, 0x430D, 0x1380, 0x2814,
+0x407C, 0x00A8, 0x1380, 0x2C02, 0x0086, 0x2C4E, 0x410D, 0x530D, 0x403C,
+0xAA02, 0x060F, 0x0F3F, 0x0058, 0x134F, 0x13B2, 0x97D6, 0x010F, 0x4F28,
+0x4309, 0x403F, 0x0D3E, 0x403B, 0x0003, 0x533F, 0x633B, 0x2FFD, 0x010F,
+0x4F2A, 0x430B, 0x13B2, 0x98F8, 0x410C, 0x522C, 0x028E, 0x9A32, 0x427D,
+0x13B2, 0x98A8, 0x4107, 0x5037, 0x000C, 0x1407, 0x430F, 0x434E, 0x423D,
+0x410C, 0x523C, 0x0604, 0x0434, 0x001C, 0x1344, 0x403C, 0x0003, 0x1380,
+0x2820, 0x07CC, 0x060F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x9309, 0x2007,
+0x9A08, 0x2C05, 0x880A, 0x790B, 0x4A08, 0x4B09, 0x3C02, 0x8A08, 0x7309,
+0x1380, 0x280C, 0x4C0A, 0x4D0B, 0x403C, 0xAA02, 0x060F, 0x0F3F, 0x005C,
+0x134F, 0x4A0C, 0x4B0D, 0x403E, 0x0003, 0x430F, 0x13B2, 0x97F8, 0x503C,
+0x001F, 0x630D, 0x403E, 0x03E8, 0x430F, 0x13B2, 0x97F8, 0x480E, 0x490F,
+0x13B2, 0x9330, 0x5031, 0x0020, 0x1674, 0x0110, 0x145B, 0x8221, 0x4381,
+0x0000, 0x4381, 0x0002, 0x435A, 0x3C71, 0x936A, 0x2001, 0x426A, 0x0089,
+0x2BFA, 0x09C6, 0x00A6, 0x0008, 0x407C, 0x0088, 0x060F, 0x134F, 0x09CB,
+0x00AB, 0x0014, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x407C, 0x0082, 0x060F,
+0x134F, 0x09C7, 0x00A7, 0x0030, 0x435C, 0x070F, 0x134F, 0x4A4C, 0x108C,
+0xF03C, 0x0F00, 0xD03C, 0x0060, 0x0B0F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x407C, 0x0082,
+0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x403C, 0x00FC, 0x0B0F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C08, 0x434C, 0x070F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C0B, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0088, 0x060F, 0x134F, 0x407C, 0x0024, 0x093F, 0x0010, 0x134F,
+0x435C, 0x070F, 0x134F, 0x480E, 0x4B0F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x403D, 0x0003, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x000C, 0x134F,
+0x535A, 0x907A, 0x0010, 0x2B8C, 0x430C, 0x5221, 0x1656, 0x0110, 0x143B,
+0x8031, 0x001E, 0x43C1, 0x0000, 0x435A, 0x403C, 0x0005, 0x1380, 0x2BAE,
+0x008B, 0x2BFA, 0x407C, 0x0028, 0x0B3F, 0x0008, 0x134F, 0x008F, 0x2858,
+0x4C4C, 0x430D, 0x13B2, 0x945A, 0x930C, 0x2403, 0x438F, 0x0000, 0x3C03,
+0x539F, 0x0000, 0x436A, 0x93AF, 0x0000, 0x3859, 0x438F, 0x0000, 0x434C,
+0x1380, 0x2BB6, 0x0B0F, 0x134F, 0x407C, 0x0028, 0x0B3F, 0x0008, 0x134F,
+0x4CC1, 0x0000, 0x416C, 0x430D, 0x13B2, 0x945A, 0x930C, 0x2445, 0x407C,
+0x0086, 0x0B3F, 0x0008, 0x134F, 0x916C, 0x203E, 0x435A, 0x422C, 0x0B3F,
+0x0014, 0x134F, 0x903C, 0x1207, 0x2036, 0x430C, 0x0B3F, 0x0014, 0x134F,
+0x903C, 0xA55A, 0x202C, 0x410C, 0x532C, 0x028E, 0x9A42, 0x427D, 0x13B2,
+0x98A8, 0x1840, 0x42D1, 0x2470, 0x0002, 0x008F, 0x2470, 0x4FD1, 0x0001,
+0x0003, 0x410B, 0x503B, 0x000A, 0x140B, 0x430F, 0x434E, 0x423D, 0x410C,
+0x503C, 0x0006, 0x0028, 0x2C4E, 0x0838, 0x001C, 0x1348, 0x403C, 0x0003,
+0x002F, 0x2A28, 0x134F, 0x0BCC, 0x002F, 0x2C4E, 0x0F3F, 0x0020, 0x134F,
+0x5221, 0x3C03, 0x43F1, 0x0000, 0x436A, 0x4A4C, 0x5031, 0x001E, 0x1638,
+0x0110, 0x147B, 0x8221, 0x4038, 0x0028, 0x43A1, 0x0000, 0x4381, 0x0002,
+0x0089, 0x2C42, 0x0087, 0x2B7A, 0x4106, 0x5306, 0x1203, 0x06CD, 0x471E,
+0x0004, 0x471F, 0x0006, 0x430C, 0x090B, 0x134B, 0x5321, 0x933C, 0x245D,
+0x40B1, 0x0003, 0x0000, 0x40B1, 0xA05F, 0x0002, 0xB397, 0x0008, 0x2806,
+0x40B1, 0x000B, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x403A, 0xEDF0, 0x403B,
+0xE000, 0x1203, 0x06CD, 0x4A0E, 0x4B0F, 0x430C, 0x0904, 0x1344, 0x5321,
+0x933C, 0x2440, 0xC3A1, 0x0000, 0xD2A1, 0x0000, 0x1203, 0x06CD, 0x4A0E,
+0x4B0F, 0x430C, 0x0904, 0x1344, 0x5321, 0x933C, 0x2432, 0x1213, 0x06CD,
+0x4A0E, 0x4B0F, 0x430C, 0x0904, 0x1344, 0x5321, 0x933C, 0x2428, 0xB3A1,
+0x0002, 0x2C02, 0x5338, 0x23F1, 0x40B1, 0x0003, 0x0000, 0x40B1, 0xA05F,
+0x0002, 0x1203, 0x06CD, 0x4A0E, 0x4B0F, 0x430C, 0x090B, 0x134B, 0x5321,
+0x933C, 0x2413, 0x40B1, 0x0003, 0x0000, 0x4381, 0x0002, 0x1203, 0x06CD,
+0x471E, 0x0004, 0x471F, 0x0006, 0x430C, 0x090B, 0x134B, 0x5321, 0x933C,
+0x2402, 0x9308, 0x2002, 0x433C, 0x3C01, 0x430C, 0x5221, 0x1674, 0x0110,
+0x145B, 0x8321, 0x431A, 0x3C58, 0x412B, 0x0088, 0x2BFA, 0x08C9, 0x00A9,
+0x0008, 0x407C, 0x00C8, 0x090F, 0x134F, 0x08C6, 0x00A6, 0x0014, 0x403C,
+0x3401, 0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x4A0C, 0xD03C,
+0x4030, 0x060F, 0x134F, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F,
+0x134F, 0x4B0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F,
+0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x00C8, 0x090F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x531A, 0x903A, 0x0010, 0x2C17, 0x932A, 0x2001, 0x422A, 0x410C,
+0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x903A, 0x000F, 0x2402,
+0x930C, 0x2005, 0x903A, 0x000F, 0x2393, 0x930C, 0x3791, 0x403C, 0xFFD8,
+0x3C01, 0x430C, 0x5321, 0x1656, 0x0110, 0x141B, 0x8031, 0x0006, 0x43C1,
+0x0000, 0x43C1, 0x0001, 0x4381, 0x0002, 0x4381, 0x0004, 0x008A, 0x2C4E,
+0x410C, 0x531C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x008B, 0x2BFA, 0x407C,
+0x00B0, 0x0B3F, 0x0008, 0x134F, 0x3C1C, 0x90F1, 0x009E, 0x0000, 0x2007,
+0xB0B1, 0x0040, 0x0002, 0x2803, 0x1840, 0x4382, 0x2860, 0x416C, 0x430D,
+0x0B3F, 0x001C, 0x134F, 0x411C, 0x0002, 0x411D, 0x0004, 0x0B3F, 0x001C,
+0x134F, 0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x243A,
+0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0xB3D1, 0x0000, 0x281B,
+0x416E, 0xC35E, 0x907E, 0x008A, 0x2007, 0x1840, 0x421C, 0x28C0, 0x1840,
+0x421D, 0x28C2, 0x3C0A, 0x416C, 0x430D, 0x0B3F, 0x001C, 0x134F, 0x430C,
+0x430D, 0x0B3F, 0x001C, 0x134F, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x3FD4,
+0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x416E, 0xC35E, 0x907E,
+0x008A, 0x23B2, 0x411E, 0x0002, 0x411F, 0x0004, 0x1840, 0x4E82, 0x28C0,
+0x1840, 0x4F82, 0x28C2, 0x3FBE, 0x430C, 0x5031, 0x0006, 0x161A, 0x0110,
+0x143B, 0x8031, 0x000A, 0x4381, 0x0000, 0x430A, 0x4381, 0x0002, 0x4381,
+0x0004, 0x4381, 0x0006, 0x4381, 0x0008, 0x410C, 0x530C, 0x002F, 0x2C4E,
+0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFC1, 0x3C5B, 0x531A,
+0x912A, 0x2C0F, 0x410C, 0x532C, 0x4A0F, 0x5F0F, 0x5F0C, 0x002F, 0x2C4E,
+0x0F3F, 0x002C, 0x134F, 0x930C, 0x37F1, 0x403C, 0xFFC0, 0x3C49, 0x008A,
+0x2B8A, 0x430C, 0x0A3F, 0x0010, 0x134F, 0x0088, 0x2BFA, 0x08CC, 0x13B0,
+0x1880, 0x0ACB, 0x00AB, 0x0030, 0x434C, 0x0B0F, 0x134F, 0x434C, 0x0A3F,
+0x0018, 0x134F, 0x080F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x083F, 0x0004,
+0x134F, 0x411D, 0x0004, 0x411C, 0x0002, 0x13B2, 0x7E8C, 0x931C, 0x241D,
+0x90B1, 0x0003, 0x0000, 0x2810, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x00C8,
+0x0A3F, 0x0024, 0x134F, 0x411D, 0x0008, 0x411C, 0x0006, 0x13B2, 0x7E8C,
+0x931C, 0x2409, 0x407C, 0x0028, 0x083F, 0x0008, 0x134F, 0x4C4C, 0x903C,
+0x0095, 0x2403, 0x403C, 0xFFCE, 0x3C04, 0x435C, 0x0B0F, 0x134F, 0x430C,
+0x5031, 0x000A, 0x1638, 0x0110, 0x141B, 0x8031, 0x007C, 0x4381, 0x0000,
+0x430A, 0x410C, 0x522C, 0x403E, 0x003C, 0x13B2, 0x98D4, 0x008B, 0x2C4E,
+0x410C, 0x532C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3403, 0x403C,
+0xFFEB, 0x3C57, 0x410C, 0x530C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFC1, 0x3C4C, 0x531A, 0x912A, 0x2C0E, 0x410C, 0x522C,
+0x4A0F, 0x5F0F, 0x5F0C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x37F2,
+0x403C, 0xFFC0, 0x3C3B, 0x008B, 0x2B8A, 0x411C, 0x0002, 0x0B3F, 0x0010,
+0x134F, 0x008A, 0x2BFA, 0x0ACC, 0x13B0, 0x1880, 0x434C, 0x0B3F, 0x0018,
+0x134F, 0x0A0F, 0x134F, 0x0B3F, 0x001C, 0x134F, 0x435C, 0x0B3F, 0x0018,
+0x134F, 0x0A0F, 0x134F, 0x403D, 0x1E1E, 0x403C, 0xA55A, 0x13B2, 0x7E8C,
+0x931C, 0x2414, 0x434C, 0x0B3F, 0x0018, 0x134F, 0x0A0F, 0x134F, 0x430A,
+0x3C01, 0x531A, 0x912A, 0x2C0C, 0x4A0F, 0x5F0F, 0x510F, 0x4F1C, 0x0004,
+0x13B2, 0x832A, 0x931C, 0x23F4, 0x403C, 0xFFCE, 0x3C01, 0x430C, 0x5031,
+0x007C, 0x161A, 0x0110, 0x145B, 0x8031, 0x0006, 0x434B, 0x4338, 0x0089,
+0x2C4E, 0x410C, 0x522C, 0x090F, 0x0F3F, 0x0028, 0x134F, 0x930C, 0x3403,
+0x403C, 0xFFEB, 0x3C5D, 0x431C, 0x090F, 0x0F3F, 0x0038, 0x134F, 0x410C,
+0x530C, 0x090F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFCD,
+0x3C4D, 0x43C1, 0x0004, 0x0086, 0x2B8A, 0x430C, 0x063F, 0x0010, 0x134F,
+0x930C, 0x2403, 0x403C, 0xFFEA, 0x3C40, 0x008C, 0x2BFA, 0x13B0, 0x1880,
+0x90B1, 0xA55A, 0x0000, 0x2004, 0x90B1, 0xA55A, 0x0002, 0x2408, 0x90B1,
+0x5AA5, 0x0000, 0x2027, 0x90B1, 0x5AA5, 0x0002, 0x2023, 0x434C, 0x063F,
+0x0030, 0x134F, 0x435C, 0x063F, 0x0018, 0x134F, 0x1380, 0x2BFA, 0x434C,
+0x063F, 0x0030, 0x134F, 0x435B, 0x412D, 0x411C, 0x0002, 0x13B2, 0x7E8C,
+0x4C4A, 0x435C, 0x063F, 0x0030, 0x134F, 0x403C, 0x0BB8, 0x063F, 0x0024,
+0x134F, 0x935A, 0x2003, 0x403C, 0xFFCE, 0x3C09, 0x4B4C, 0x090F, 0x0F3F,
+0x0008, 0x134F, 0x934B, 0x2401, 0x4308, 0x480C, 0x5031, 0x0006, 0x1656,
+0x0110, 0x145B, 0x4C08, 0x4E0A, 0x4F0B, 0x0089, 0x2BFA, 0x09C6, 0x00A6,
+0x0008, 0x407C, 0x0088, 0x060F, 0x134F, 0x407C, 0x0034, 0x093F, 0x0010,
+0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x09C7, 0x00A7, 0x0030, 0x435C,
+0x070F, 0x134F, 0x4A0E, 0x4B0F, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E,
+0x0F00, 0xDE08, 0xD038, 0x0080, 0x480C, 0x093F, 0x0014, 0x134F, 0x434C,
+0x070F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x407C, 0x0082, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x4A0C, 0x093F,
+0x0014, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x403C, 0x3FFD, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F,
+0x134F, 0x407C, 0x0088, 0x060F, 0x134F, 0x407C, 0x0024, 0x093F, 0x0010,
+0x134F, 0x435C, 0x070F, 0x134F, 0x1656, 0x0110, 0x143B, 0x8221, 0x433B,
+0x43E1, 0x0000, 0x1840, 0x4218, 0x246E, 0x4381, 0x0002, 0x008A, 0x2C4E,
+0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x13B2, 0x69DA, 0x4CC1,
+0x0000, 0x9381, 0x0002, 0x2425, 0x0A0F, 0x0F3F, 0x0010, 0x93D1, 0x0000,
+0x422C, 0x200E, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F,
+0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x3C0E, 0x134F, 0x430C,
+0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x403D, 0x4000, 0x0A0F,
+0x0F3F, 0x0014, 0x134F, 0x430B, 0x3C2A, 0x416E, 0x1840, 0x4E82, 0x246E,
+0x9E08, 0x2424, 0x931E, 0x422C, 0x0A0F, 0x0F3F, 0x0010, 0x200F, 0x134F,
+0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x430D, 0x0A0F,
+0x0F3F, 0x0014, 0x134F, 0x431B, 0x3C0F, 0x134F, 0x430C, 0x430D, 0x0A0F,
+0x0F3F, 0x0014, 0x134F, 0x430C, 0x403D, 0x4000, 0x0A0F, 0x0F3F, 0x0014,
+0x134F, 0x431B, 0x4B0C, 0x5221, 0x1638, 0x0110, 0x145B, 0x435A, 0x3C5C,
+0x936A, 0x2001, 0x426A, 0x008B, 0x2BFA, 0x0BC8, 0x00A8, 0x0008, 0x407C,
+0x00C8, 0x080F, 0x134F, 0x0BC9, 0x00A9, 0x0014, 0x403C, 0x3401, 0x090F,
+0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x4A4C, 0x108C, 0xF03C, 0x0F00,
+0xD03C, 0x4082, 0x090F, 0x134F, 0x00AB, 0x0030, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x0082,
+0x080F, 0x134F, 0x403C, 0x00FE, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C06, 0x434C,
+0x0B0F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x460C, 0x002F, 0x2C4E, 0x0F3F, 0x0010,
+0x134F, 0x535A, 0x907A, 0x0010, 0x2BA1, 0x430C, 0x1656, 0x0110, 0x147B,
+0x4304, 0x430A, 0x430B, 0x4306, 0x4307, 0x0088, 0x2BFA, 0x407C, 0x0028,
+0x083F, 0x0008, 0x134F, 0x4C49, 0x490C, 0x430D, 0x13B2, 0x8F94, 0x930C,
+0x2002, 0x433C, 0x3C4B, 0x490C, 0x430D, 0x13B2, 0x959E, 0x930C, 0x242F,
+0x407C, 0x00E8, 0x083F, 0x0008, 0x134F, 0x430C, 0x083F, 0x0014, 0x134F,
+0x4C04, 0x9039, 0x0095, 0x2004, 0x403C, 0x05DC, 0x1380, 0x2BAE, 0x407C,
+0x00E1, 0x083F, 0x0008, 0x134F, 0x430C, 0x430D, 0x083F, 0x0018, 0x134F,
+0x4C0A, 0x5A0A, 0x6B0B, 0x5A0A, 0x6B0B, 0x5A0A, 0x6B0B, 0x5A0A, 0x6B0B,
+0x5D0A, 0x630B, 0x4A0F, 0xDB0F, 0x930F, 0x2407, 0x4A06, 0x4B07, 0x5226,
+0x6307, 0x3C02, 0x4036, 0x0FF0, 0x0088, 0x2C4E, 0x4A0C, 0x4B0D, 0x080F,
+0x0F3F, 0x0014, 0x134F, 0x460C, 0x470D, 0x080F, 0x0F3F, 0x0014, 0x134F,
+0x440C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x1674, 0x0110, 0x143B,
+0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x430A, 0x430B, 0x0089, 0x2C4E,
+0x4108, 0x5308, 0x08CC, 0x090F, 0x0F3F, 0x0030, 0x134F, 0x4A0E, 0x4B0F,
+0x412C, 0x411D, 0x0002, 0x13B2, 0x883A, 0x930C, 0x2442, 0x531A, 0x630B,
+0x2003, 0x903A, 0x0010, 0x2BEC, 0x08CC, 0x090F, 0x0F3F, 0x0030, 0x134F,
+0x403E, 0x0010, 0x430F, 0x412C, 0x411D, 0x0002, 0x13B2, 0x883A, 0x930C,
+0x242D, 0x08CC, 0x090F, 0x0F3F, 0x0030, 0x134F, 0x403E, 0x0014, 0x430F,
+0x412C, 0x411D, 0x0002, 0x13B2, 0x883A, 0x930C, 0x241E, 0x08CC, 0x090F,
+0x0F3F, 0x0030, 0x134F, 0x403E, 0x0011, 0x430F, 0x412C, 0x411D, 0x0002,
+0x13B2, 0x883A, 0x930C, 0x240F, 0x08CC, 0x090F, 0x0F3F, 0x0030, 0x134F,
+0x403E, 0x0012, 0x430F, 0x412C, 0x411D, 0x0002, 0x13B2, 0x883A, 0x930C,
+0x2002, 0x433C, 0x3C01, 0x430C, 0x5221, 0x1638, 0x0110, 0x143B, 0x8221,
+0x4381, 0x0000, 0x4381, 0x0002, 0x13B2, 0x8BF4, 0x930C, 0x2402, 0x433C,
+0x3C53, 0x008B, 0x2C3E, 0x410A, 0x530A, 0x431F, 0x0ACE, 0x403C, 0x00FC,
+0x430D, 0x0B08, 0x1348, 0x0088, 0x2C4E, 0x412F, 0xD11F, 0x0002, 0x930F,
+0x2439, 0x412C, 0x411D, 0x0002, 0x080F, 0x0F3F, 0x0014, 0x134F, 0x431F,
+0x0ACE, 0x403C, 0x00F8, 0x430D, 0x0B09, 0x1349, 0x412C, 0x411D, 0x0002,
+0x080F, 0x0F3F, 0x0014, 0x134F, 0x431F, 0x0ACE, 0x403C, 0x00F4, 0x430D,
+0x0B09, 0x1349, 0x412C, 0x411D, 0x0002, 0x080F, 0x0F3F, 0x0014, 0x134F,
+0x434C, 0x080F, 0x0F3F, 0x0008, 0x134F, 0x431F, 0x0ACE, 0x430C, 0x430D,
+0x0B0B, 0x134B, 0x412E, 0x411F, 0x0002, 0xF03E, 0xFFC0, 0x1840, 0x4E82,
+0x2B6A, 0x1840, 0x4F82, 0x2B6C, 0x412C, 0x411D, 0x0002, 0x080F, 0x0F3F,
+0x0014, 0x134F, 0x430C, 0x5221, 0x1638, 0x0110, 0x143B, 0x8221, 0x4381,
+0x0000, 0x4381, 0x0002, 0x430A, 0x008B, 0x2C4E, 0x4108, 0x5308, 0x4A0E,
+0x430F, 0x08CC, 0x13B2, 0x8AA2, 0x930C, 0x2440, 0x412C, 0x411D, 0x0002,
+0x0B0F, 0x0F3F, 0x0014, 0x134F, 0x531A, 0x903A, 0x0010, 0x2BEE, 0x403E,
+0x0010, 0x430F, 0x08CC, 0x13B2, 0x8AA2, 0x930C, 0x242D, 0x412C, 0x411D,
+0x0002, 0x0B0F, 0x0F3F, 0x0014, 0x134F, 0x403E, 0x0014, 0x430F, 0x08CC,
+0x13B2, 0x8AA2, 0x930C, 0x241E, 0x412C, 0x411D, 0x0002, 0x0B0F, 0x0F3F,
+0x0014, 0x134F, 0x403E, 0x0011, 0x430F, 0x08CC, 0x13B2, 0x8AA2, 0x930C,
+0x240F, 0x412C, 0x411D, 0x0002, 0x0B0F, 0x0F3F, 0x0014, 0x134F, 0x403E,
+0x0012, 0x430F, 0x08CC, 0x13B2, 0x8AA2, 0x930C, 0x2002, 0x433C, 0x3C08,
+0x412C, 0x411D, 0x0002, 0x0B0F, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x5221,
+0x1638, 0x0110, 0x147B, 0x4C06, 0x0DC5, 0x4E07, 0x3C53, 0x4534, 0x008A,
+0x2BFA, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x0AC8,
+0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x0048, 0x0B0F, 0x134F, 0x427C, 0x0A3F, 0x0010, 0x134F, 0x407C, 0x00C1,
+0x0B0F, 0x134F, 0x460C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00A1,
+0x0B0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x5326,
+0x470F, 0x5337, 0x930F, 0x23A9, 0x1674, 0x0110, 0x143B, 0x8221, 0x430B,
+0x410D, 0x530D, 0x403C, 0xAA01, 0x002F, 0x2C4E, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2405, 0x010F, 0x03DF, 0x2402, 0x438F, 0x0000, 0x13B2, 0x8BF4,
+0x930C, 0x2402, 0x433C, 0x3C40, 0x13B2, 0x8C5C, 0x930C, 0x2401, 0x433B,
+0x4078, 0x0028, 0x40B1, 0x0003, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x410A,
+0x530A, 0x1203, 0x0ACD, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1380,
+0x2C42, 0x5321, 0x1213, 0x0ACD, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C,
+0x1380, 0x2C42, 0x5321, 0xB3A1, 0x0002, 0x2C03, 0x5378, 0x2403, 0x3FF0,
+0x9348, 0x2001, 0x433B, 0x1213, 0x0ACD, 0x403E, 0xED30, 0x403F, 0xE000,
+0x430C, 0x1380, 0x2C42, 0x411C, 0x0002, 0x411D, 0x0004, 0x002F, 0x2C4E,
+0x0F3F, 0x0014, 0x134F, 0x4B0C, 0x5321, 0x5221, 0x1638, 0x0110, 0x143B,
+0x8031, 0x000C, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0008, 0x4381,
+0x000A, 0x410D, 0x522D, 0x403C, 0xAA01, 0x002F, 0x2C4E, 0x0F3F, 0x0058,
+0x134F, 0x930C, 0x2403, 0x0138, 0x0004, 0x3C01, 0x4348, 0x008A, 0x2BFA,
+0x410B, 0x530B, 0x431E, 0x0BCD, 0x426C, 0x0A3F, 0x0040, 0x134F, 0xC0B1,
+0x4000, 0x0002, 0xD0B1, 0x1000, 0x0002, 0x430E, 0x0BCD, 0x426C, 0x0A3F,
+0x0040, 0x134F, 0x03D8, 0x2402, 0x4398, 0x0000, 0x4391, 0x0008, 0x40B1,
+0xA05F, 0x000A, 0x1203, 0x410D, 0x503D, 0x000A, 0x403E, 0xEDF0, 0x403F,
+0xE000, 0x430C, 0x0A38, 0x0048, 0x1348, 0x5321, 0x933C, 0x2002, 0x433C,
+0x3C0E, 0xC0B1, 0x1000, 0x0002, 0x430E, 0x0BCD, 0x426C, 0x0A3F, 0x0040,
+0x134F, 0x403C, 0x00C8, 0x1380, 0x2BAE, 0x430C, 0x5031, 0x000C, 0x1638,
+0x0110, 0x147B, 0x4C07, 0x0DC6, 0x4E04, 0x3C51, 0x008A, 0x2BFA, 0x0ACB,
+0x00AB, 0x0008, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0B0F,
+0x134F, 0x470C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C0A, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F,
+0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x4A86, 0x0000, 0x5327, 0x03E6, 0x440F, 0x5334, 0x930F,
+0x23AB, 0x1674, 0x0110, 0x147B, 0x4C0A, 0x0DC5, 0x4E0B, 0x3C51, 0x4534,
+0x0088, 0x2BFA, 0x08C9, 0x00A9, 0x0008, 0x407C, 0x0082, 0x090F, 0x134F,
+0x08C6, 0x00A6, 0x0014, 0x403C, 0x3FFF, 0x060F, 0x134F, 0x08C7, 0x00A7,
+0x0030, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C,
+0x2409, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0048, 0x090F, 0x134F, 0x427C, 0x083F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x090F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x407C, 0x00A1, 0x090F,
+0x134F, 0x440C, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F,
+0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F,
+0x407C, 0x0021, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x532A, 0x4B0F,
+0x533B, 0x930F, 0x23AB, 0x1674, 0x0110, 0x143B, 0x8221, 0x403B, 0x00C8,
+0x4381, 0x0000, 0x4381, 0x0002, 0x0088, 0x2C4E, 0x410C, 0x530C, 0x080F,
+0x0F3F, 0x0030, 0x134F, 0x008A, 0x2BFA, 0x0AC9, 0x00A9, 0x0030, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C1, 0x0A3F, 0x0008, 0x134F, 0x403C, 0x0EC4,
+0x430D, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0042, 0x0A3F, 0x0008, 0x134F, 0x430C, 0x0A3F, 0x0014,
+0x134F, 0x4C0A, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0xB22A, 0x2C0E, 0xF22A, 0x4A0C, 0x080F, 0x0F3F, 0x0010,
+0x134F, 0x430C, 0x3C13, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4B0F, 0x533B, 0x930F, 0x23F6, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x0F3F, 0x0010, 0x134F, 0x430C, 0x5221, 0x1638, 0x0110, 0x143B, 0x008B,
+0x2C4E, 0x008C, 0x285A, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x204D,
+0x008A, 0x285C, 0x0ACC, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2044,
+0x008C, 0x285E, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x243C, 0x008B,
+0x2B8A, 0x435C, 0x0B3F, 0x002C, 0x134F, 0x0088, 0x2BFA, 0x080F, 0x134F,
+0x1840, 0x90B2, 0x0011, 0x285A, 0x2007, 0x1840, 0x421D, 0x285E, 0x4A2C,
+0x13B2, 0x7E8C, 0x3C03, 0x4A2C, 0x13B2, 0x832A, 0x934C, 0x2021, 0x435C,
+0x0B3F, 0x0030, 0x134F, 0x403C, 0x0028, 0x0B3F, 0x0024, 0x134F, 0x434C,
+0x0B3F, 0x002C, 0x134F, 0x403C, 0x00C8, 0x0B3F, 0x0024, 0x134F, 0x080F,
+0x134F, 0x407C, 0x0028, 0x083F, 0x0008, 0x134F, 0x4C4C, 0x430D, 0x13B2,
+0x94C6, 0x930C, 0x2402, 0x430C, 0x3C01, 0x433C, 0x1638, 0x0110, 0x145B,
+0x4C08, 0x4E0A, 0x0089, 0x2BFA, 0x09C6, 0x00A6, 0x0008, 0x407C, 0x00C8,
+0x060F, 0x134F, 0x09C7, 0x00A7, 0x0014, 0x403C, 0x3401, 0x070F, 0x134F,
+0x407C, 0x0082, 0x060F, 0x134F, 0xD038, 0x4030, 0x480C, 0x070F, 0x134F,
+0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x4A0C, 0x070F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x403C, 0x3FFD, 0x070F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x060F, 0x134F,
+0x403C, 0x2401, 0x070F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1656, 0x0110,
+0x147B, 0x4C0A, 0x0DCB, 0x4E08, 0x3C4E, 0x0087, 0x2BFA, 0x07C9, 0x00A9,
+0x0008, 0x407C, 0x0082, 0x090F, 0x134F, 0x07C6, 0x00A6, 0x0014, 0x403C,
+0x3FFF, 0x060F, 0x134F, 0x00A7, 0x0030, 0x434C, 0x070F, 0x134F, 0x407C,
+0x00C8, 0x090F, 0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x090F, 0x134F, 0x4A0C,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x430C, 0x060F, 0x134F, 0x4C04, 0x434C, 0x070F,
+0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F,
+0x407C, 0x0021, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x448B, 0x0000,
+0x532A, 0x03EB, 0x480F, 0x5338, 0x930F, 0x23AE, 0x1674, 0x0110, 0x145B,
+0x8231, 0x0086, 0x2C4E, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030, 0x134F,
+0x410C, 0x522C, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x0088, 0x2BFA, 0x08C9,
+0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x430A, 0x430B, 0x3C29, 0x407C,
+0x00C1, 0x083F, 0x0008, 0x134F, 0x412C, 0x411D, 0x0002, 0x083F, 0x0018,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042,
+0x083F, 0x0008, 0x134F, 0x430C, 0x083F, 0x0014, 0x134F, 0x060F, 0x0F3F,
+0x0010, 0x134F, 0x412E, 0x411F, 0x0002, 0x532E, 0x630F, 0x4E81, 0x0000,
+0x4F81, 0x0002, 0x531A, 0x630B, 0x911B, 0x0006, 0x2BD4, 0x2003, 0x911A,
+0x0004, 0x2BD0, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x430C, 0x5231, 0x1656, 0x0110, 0x143B, 0x430A, 0x430B,
+0x3C01, 0x531A, 0x903A, 0x0007, 0x2C40, 0x930A, 0x2403, 0x903A, 0x0003,
+0x2002, 0x430B, 0x3C0F, 0x932A, 0x2403, 0x903A, 0x0005, 0x2002, 0x431B,
+0x3C08, 0x931A, 0x2405, 0x922A, 0x2403, 0x903A, 0x0006, 0x2001, 0x432B,
+0x4B0C, 0x1380, 0x2B9A, 0x0088, 0x2BFA, 0x08CC, 0x13B0, 0x1880, 0x434C,
+0x1380, 0x2BA2, 0x080F, 0x134F, 0x083F, 0x0004, 0x134F, 0x407C, 0x0028,
+0x083F, 0x0008, 0x134F, 0x4C4F, 0x4F0C, 0x430D, 0x13B2, 0x8FEA, 0x930C,
+0x27CA, 0x4F0C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x4B0C, 0x002F,
+0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x3C0E, 0x433C, 0x002F, 0x2C4E,
+0x0F3F, 0x0010, 0x134F, 0x403C, 0xAAAA, 0x002F, 0x2C4E, 0x0F3F, 0x0010,
+0x134F, 0x433C, 0x1638, 0x0110, 0x141B, 0x8031, 0x0006, 0x43C1, 0x0001,
+0x43C1, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x008A, 0x2C4E, 0x410C,
+0x531C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x407C, 0x00B0, 0x1380, 0x2C02,
+0x3C20, 0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x416C, 0x430D,
+0x0B0F, 0x134F, 0x411C, 0x0002, 0x411D, 0x0004, 0x0B0F, 0x134F, 0x90F1,
+0x009E, 0x0000, 0x2007, 0xB0B1, 0x0040, 0x0002, 0x2803, 0x1840, 0x4382,
+0x2860, 0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x2418,
+0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x008B, 0x2C16, 0xB3D1,
+0x0000, 0x2BD2, 0x416C, 0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F,
+0x134F, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x3FE0, 0x430C, 0x5031, 0x0006,
+0x161A, 0x0110, 0x140A, 0x8031, 0x000C, 0x40B1, 0x0011, 0x0006, 0x4381,
+0x0004, 0x4381, 0x0002, 0x4381, 0x0000, 0x4381, 0x0008, 0x4381, 0x000A,
+0x4C81, 0x0004, 0x4D81, 0x0002, 0x407C, 0x0086, 0x1380, 0x2C02, 0x008A,
+0x2C0E, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0000, 0x411E, 0x0008, 0x411F,
+0x000A, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x4C81, 0x0008, 0x4D81, 0x000A,
+0x930F, 0x2003, 0x903E, 0x0BB8, 0x2802, 0x431C, 0x3C21, 0xB3A1, 0x0000,
+0x2C07, 0x9381, 0x000A, 0x2004, 0x90B1, 0x0BB8, 0x0008, 0x2BDC, 0x9381,
+0x000A, 0x2013, 0x90B1, 0x0BB8, 0x0008, 0x2C0F, 0x40B1, 0x0011, 0x0006,
+0x411C, 0x0006, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x0A0F, 0x134F, 0x411C,
+0x0002, 0x0A0F, 0x134F, 0x430C, 0x5031, 0x000C, 0x160A, 0x0110, 0x143B,
+0x8231, 0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002,
+0x4038, 0x0014, 0x410B, 0x530B, 0x410A, 0x522A, 0x1213, 0x0ACD, 0x403E,
+0x100C, 0x403F, 0x0020, 0x430C, 0x1380, 0x2C42, 0x4C09, 0x1213, 0x0BCD,
+0x403E, 0x1010, 0x403F, 0x0020, 0x430C, 0x1380, 0x2C42, 0x5221, 0x930C,
+0x242D, 0x9309, 0x242B, 0x411F, 0x0004, 0xD11F, 0x0006, 0x930F, 0x2405,
+0x412F, 0xD11F, 0x0002, 0x930F, 0x2008, 0x5338, 0x23DB, 0x411F, 0x0004,
+0xD11F, 0x0006, 0x930F, 0x2418, 0x412F, 0xD11F, 0x0002, 0x930F, 0x2413,
+0x411C, 0x0004, 0x411D, 0x0006, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F,
+0x412C, 0x411D, 0x0002, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x430C,
+0x3C01, 0x433C, 0x5231, 0x1638, 0x0110, 0x143B, 0x8231, 0x430B, 0x4381,
+0x0004, 0x4381, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002, 0x0088, 0x2C3A,
+0x410A, 0x522A, 0x431E, 0x0ACD, 0x426C, 0x080F, 0x134F, 0x431E, 0x0ACD,
+0x426C, 0x080F, 0x134F, 0x4191, 0x0004, 0x0000, 0x4191, 0x0006, 0x0002,
+0xB0B1, 0x0010, 0x0004, 0x2803, 0xD0B1, 0x0010, 0x0000, 0xB0B1, 0x0020,
+0x0004, 0x2803, 0xD0B1, 0x0020, 0x0000, 0x93C1, 0x0004, 0x3403, 0xD0B1,
+0x0080, 0x0000, 0xB3A1, 0x0004, 0x2802, 0xD3A1, 0x0000, 0x412F, 0xD11F,
+0x0002, 0x930F, 0x2415, 0x430E, 0x410D, 0x530D, 0x426C, 0x080F, 0x134F,
+0x431E, 0x0ACD, 0x426C, 0x080F, 0x134F, 0x431E, 0x0ACD, 0x426C, 0x080F,
+0x134F, 0xB0F1, 0x00B2, 0x0004, 0x2401, 0x433B, 0x4B0C, 0x5231, 0x1638,
+0x0110, 0x141B, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x410C, 0x530C,
+0x002F, 0x2C4E, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFCD,
+0x3C41, 0x90B1, 0xA55A, 0x0000, 0x2004, 0x90B1, 0xA55A, 0x0002, 0x2408,
+0x90B1, 0x5AA5, 0x0000, 0x2034, 0x90B1, 0x5AA5, 0x0002, 0x2030, 0x008B,
+0x2B8A, 0x434C, 0x0B3F, 0x0030, 0x134F, 0x435C, 0x0B3F, 0x0018, 0x134F,
+0x1380, 0x2BFA, 0x434C, 0x0B3F, 0x0030, 0x134F, 0x412D, 0x411C, 0x0002,
+0x13B2, 0x7E8C, 0x4C4A, 0x435C, 0x0B3F, 0x0030, 0x134F, 0x403C, 0x0BB8,
+0x0B3F, 0x0024, 0x134F, 0x935A, 0x2003, 0x403C, 0xFFCE, 0x3C0D, 0x407C,
+0x0028, 0x1380, 0x2C02, 0x4C4C, 0x430D, 0x13B2, 0x9424, 0x930C, 0x2402,
+0x430C, 0x3C01, 0x433C, 0x5221, 0x161A, 0x0110, 0x141B, 0x8231, 0x4381,
+0x0000, 0x4381, 0x0002, 0x410D, 0x522D, 0x403C, 0xAA01, 0x002F, 0x2C4E,
+0x0F3F, 0x0058, 0x134F, 0x930C, 0x2403, 0x013B, 0x0004, 0x3C01, 0x434B,
+0x13B2, 0x8BF4, 0x930C, 0x2034, 0x410A, 0x530A, 0x1213, 0x0ACD, 0x403E,
+0xED10, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2426,
+0xB3A1, 0x0000, 0x280E, 0xC3A1, 0x0000, 0x1203, 0x0ACD, 0x403E, 0xED10,
+0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2415, 0x03DB,
+0x2402, 0x439B, 0x0000, 0x4391, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x1203,
+0x0ACD, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321,
+0x933C, 0x2002, 0x433C, 0x3C01, 0x430C, 0x5231, 0x161A, 0x0110, 0x143B,
+0x8231, 0x4381, 0x0004, 0x4381, 0x0006, 0x434A, 0x008B, 0x2C4E, 0x410C,
+0x522C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x410D, 0x530D, 0x403C, 0xAA01,
+0x0B0F, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2401, 0x010A, 0x03DA, 0x2412,
+0x938A, 0x0000, 0x240D, 0x0088, 0x2BFA, 0x407C, 0x0028, 0x083F, 0x0008,
+0x134F, 0x4C4C, 0x430D, 0x13B2, 0x90EC, 0x930C, 0x2004, 0x432C, 0x3C20,
+0x433C, 0x3C1E, 0x407C, 0x00D0, 0x083F, 0x0008, 0x134F, 0x430C, 0x083F,
+0x0014, 0x134F, 0x4C08, 0xB118, 0x0004, 0x2410, 0x03DA, 0x2402, 0x438A,
+0x0000, 0x431C, 0x0B0F, 0x0F3F, 0x0010, 0x134F, 0x480C, 0x0B0F, 0x0F3F,
+0x0010, 0x134F, 0x431C, 0x3C01, 0x432C, 0x5231, 0x1638, 0x0110, 0x141B,
+0x8321, 0x433B, 0x4381, 0x0000, 0x008A, 0x2C4E, 0x410C, 0x530C, 0x0A0F,
+0x0F3F, 0x002C, 0x134F, 0x9381, 0x0000, 0x243D, 0x008B, 0x2BFA, 0x407C,
+0x0028, 0x0B3F, 0x0008, 0x134F, 0x4C4C, 0x903C, 0x0089, 0x240E, 0x434C,
+0x1380, 0x2BA2, 0x0B0F, 0x134F, 0x0B3F, 0x0004, 0x134F, 0x407C, 0x0028,
+0x0B3F, 0x0008, 0x134F, 0x4C4C, 0x0A0F, 0x0F3F, 0x0010, 0x903C, 0x0089,
+0x422C, 0x200E, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F,
+0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x3C0E, 0x134F, 0x430C,
+0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x403D, 0xC000, 0x0A0F,
+0x0F3F, 0x0014, 0x134F, 0x430B, 0x4B0C, 0x5321, 0x161A, 0x0110, 0x140A,
+0x8031, 0x000A, 0x4391, 0x0008, 0x4C81, 0x0006, 0x4381, 0x0000, 0x4381,
+0x0002, 0x4381, 0x0004, 0x008A, 0x2BFA, 0x407C, 0x0086, 0x0A3F, 0x0008,
+0x134F, 0x430C, 0x0A3F, 0x0014, 0x134F, 0x4C81, 0x0000, 0x411E, 0x0002,
+0x411F, 0x0004, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x4C81, 0x0002, 0x4D81,
+0x0004, 0x930F, 0x2003, 0x903E, 0x0BB8, 0x2802, 0x431C, 0x3C1C, 0xB391,
+0x0000, 0x2C07, 0x9381, 0x0004, 0x2004, 0x90B1, 0x0BB8, 0x0002, 0x2BDD,
+0x9381, 0x0004, 0x200E, 0x90B1, 0x0BB8, 0x0002, 0x2C0A, 0x411C, 0x0008,
+0x0A3F, 0x0014, 0x134F, 0x411C, 0x0006, 0x0A3F, 0x0014, 0x134F, 0x430C,
+0x5031, 0x000A, 0x160A, 0x0110, 0x145B, 0x4308, 0x430A, 0x430B, 0x0089,
+0x2BFA, 0x434C, 0x093F, 0x0030, 0x134F, 0x407C, 0x0028, 0x093F, 0x0008,
+0x134F, 0x430C, 0x093F, 0x0014, 0x134F, 0x4C06, 0x9318, 0x380C, 0xB32C,
+0x2C0A, 0x407C, 0x00C8, 0x093F, 0x0008, 0x134F, 0x403C, 0x3400, 0x093F,
+0x0014, 0x134F, 0x9308, 0x200D, 0xB326, 0x280B, 0x407C, 0x00C8, 0x093F,
+0x0008, 0x134F, 0x403C, 0x3402, 0x093F, 0x0014, 0x134F, 0x4318, 0x435C,
+0x093F, 0x0030, 0x134F, 0x531A, 0x630B, 0x9038, 0x000A, 0x3408, 0xB326,
+0x2806, 0x930B, 0x3BC6, 0x2003, 0x903A, 0x1388, 0x2BC2, 0x9038, 0x000A,
+0x3803, 0x433C, 0x433D, 0x3C02, 0x430C, 0x430D, 0x1656, 0x0110, 0x145B,
+0x4308, 0x430A, 0x430B, 0x0089, 0x2BFA, 0x434C, 0x093F, 0x0030, 0x134F,
+0x407C, 0x0028, 0x093F, 0x0008, 0x134F, 0x430C, 0x093F, 0x0014, 0x134F,
+0x4C06, 0x9318, 0x380C, 0xB32C, 0x2C0A, 0x407C, 0x00C8, 0x093F, 0x0008,
+0x134F, 0x403C, 0x3400, 0x093F, 0x0014, 0x134F, 0x9308, 0x200D, 0xB326,
+0x280B, 0x407C, 0x00C8, 0x093F, 0x0008, 0x134F, 0x403C, 0x3402, 0x093F,
+0x0014, 0x134F, 0x4318, 0x435C, 0x093F, 0x0030, 0x134F, 0x531A, 0x630B,
+0x9038, 0x000A, 0x3408, 0xB326, 0x2806, 0x930B, 0x3BC6, 0x2003, 0x903A,
+0x1388, 0x2BC2, 0x9038, 0x000A, 0x3803, 0x433C, 0x433D, 0x3C02, 0x430C,
+0x430D, 0x1656, 0x0110, 0x145B, 0x4C0A, 0x4D0B, 0x0088, 0x2BFA, 0x08C9,
+0x00A9, 0x0008, 0x407C, 0x0088, 0x090F, 0x134F, 0x407C, 0x0034, 0x083F,
+0x0010, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x4A0C, 0x4B0D, 0x108C,
+0x108D, 0xED4C, 0xED0C, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x083F, 0x0014,
+0x134F, 0x08C6, 0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x4A0C, 0x083F, 0x0014, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x407C, 0x0088, 0x090F, 0x134F, 0x407C, 0x0024, 0x083F, 0x0010, 0x134F,
+0x435C, 0x060F, 0x134F, 0x1656, 0x0110, 0x141B, 0x8221, 0x008A, 0x2C4E,
+0x410C, 0x531C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x407C, 0x0090, 0x1380,
+0x2C02, 0x3C1D, 0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x416C,
+0x0B0F, 0x134F, 0x411C, 0x0002, 0x0B0F, 0x134F, 0x90F1, 0x009E, 0x0000,
+0x2007, 0xB0B1, 0x0040, 0x0002, 0x2803, 0x1840, 0x4382, 0x2860, 0x415E,
+0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x2416, 0x410C, 0x530C,
+0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x008B, 0x2C0E, 0xB3D1, 0x0000, 0x2BD5,
+0x416C, 0x0B0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x0A0F, 0x0F3F, 0x0010,
+0x134F, 0x3FE2, 0x430C, 0x5221, 0x161A, 0x0110, 0x141B, 0x8031, 0x0010,
+0x40B1, 0x695A, 0x000C, 0x4381, 0x000E, 0x4391, 0x0008, 0x4381, 0x000A,
+0x4381, 0x0004, 0x4381, 0x0006, 0x40B1, 0x6902, 0x0000, 0x4381, 0x0002,
+0x008A, 0x2C42, 0x1203, 0x410D, 0x503D, 0x000E, 0x403E, 0x4000, 0x403F,
+0xE004, 0x430C, 0x0A0B, 0x134B, 0x1203, 0x410D, 0x503D, 0x000C, 0x403E,
+0x4004, 0x403F, 0xE004, 0x430C, 0x0A0B, 0x134B, 0x1203, 0x410D, 0x503D,
+0x000A, 0x403E, 0x4008, 0x403F, 0xE004, 0x430C, 0x0A0B, 0x134B, 0x1203,
+0x410D, 0x523D, 0x403E, 0x4010, 0x403F, 0xE004, 0x430C, 0x0A0B, 0x134B,
+0x430C, 0x5031, 0x0018, 0x161A, 0x0110, 0x140A, 0x8031, 0x0006, 0x4381,
+0x0000, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x933C,
+0x2430, 0x9381, 0x0000, 0x2002, 0x431E, 0x3C01, 0x422E, 0x403F, 0x05FA,
+0x4E81, 0x0002, 0x4F81, 0x0004, 0x410A, 0x532A, 0x1203, 0x0ACD, 0x403E,
+0xED0C, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2416,
+0x1213, 0x0ACD, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42,
+0x5321, 0x933C, 0x240A, 0x9381, 0x0000, 0x2009, 0x411F, 0x0004, 0xF03F,
+0xFF00, 0x903F, 0x0200, 0x2402, 0x433C, 0x3C01, 0x430C, 0x5031, 0x0006,
+0x160A, 0x0110, 0x143B, 0x430A, 0x008B, 0x2BFA, 0x3C09, 0x931A, 0x240A,
+0x903A, 0x0003, 0x2407, 0x930A, 0x2402, 0x932A, 0x2004, 0x4038, 0x0007,
+0x3C01, 0x4238, 0x480C, 0x1380, 0x2B9A, 0x0BCC, 0x13B0, 0x1880, 0x434C,
+0x1380, 0x2BA2, 0x0B0F, 0x134F, 0x0B3F, 0x004C, 0x134F, 0x903C, 0xFFFE,
+0x2002, 0x933D, 0x240D, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x480C,
+0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x3C11, 0x531A, 0x922A,
+0x2BD0, 0x433C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x403C, 0xAAAA,
+0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x433C, 0x1638, 0x0110, 0x145B,
+0x4C0A, 0x0088, 0x2BFA, 0x08C9, 0x00A9, 0x0008, 0x407C, 0x00C8, 0x090F,
+0x134F, 0x08C6, 0x00A6, 0x0014, 0x403C, 0x3401, 0x060F, 0x134F, 0x407C,
+0x0082, 0x090F, 0x134F, 0x403C, 0x4030, 0x060F, 0x134F, 0x00A8, 0x0030,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C,
+0x2401, 0x060F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1656, 0x0110, 0x143B,
+0x120D, 0x120C, 0x8221, 0x4E0A, 0x4F0B, 0x4079, 0x0028, 0x4381, 0x0000,
+0x4381, 0x0002, 0x4108, 0x5228, 0x1203, 0x08CD, 0x403E, 0xEDF8, 0x403F,
+0xE000, 0x430C, 0x1380, 0x2C42, 0xD31B, 0x4A81, 0x0006, 0x4B81, 0x0008,
+0x1203, 0x08CD, 0x403E, 0xEDF4, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42,
+0x410B, 0x522B, 0x5221, 0x1213, 0x0BCD, 0x403E, 0xEDF0, 0x403F, 0xE000,
+0x430C, 0x1380, 0x2C42, 0x5379, 0x5321, 0x9349, 0x2407, 0xB391, 0x0002,
+0x2BF0, 0x431C, 0x5231, 0x1638, 0x0110, 0x430C, 0x3FFB, 0x4303, 0x140A,
+0x8321, 0x4381, 0x0000, 0x008A, 0x2B8A, 0x431C, 0x0A3F, 0x0044, 0x134F,
+0x403C, 0x01F4, 0x0A3F, 0x0024, 0x134F, 0x434C, 0x0A3F, 0x0018, 0x134F,
+0x008A, 0x2BFA, 0x0A0F, 0x134F, 0x0A3F, 0x0004, 0x134F, 0x407C, 0x0028,
+0x0A3F, 0x0008, 0x134F, 0x4C4C, 0x4C81, 0x0000, 0x90B1, 0x0089, 0x0000,
+0x2014, 0x008A, 0x2C4E, 0x435C, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x407C,
+0x0089, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x436C, 0x0A0F, 0x0F3F, 0x0008,
+0x134F, 0x430C, 0x3C01, 0x433C, 0x5321, 0x160A, 0x0110, 0x140A, 0x8231,
+0x4381, 0x0000, 0x4381, 0x0002, 0x410D, 0x522D, 0x403C, 0xAA01, 0x002F,
+0x2C4E, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2416, 0x013A, 0x0004, 0x03DA,
+0x2403, 0x938A, 0x0000, 0x2422, 0x1213, 0x410D, 0x532D, 0x403E, 0xEDF0,
+0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2004, 0x433C,
+0x3C14, 0x434A, 0x3FEF, 0xB3A1, 0x0002, 0x280E, 0x412C, 0x411D, 0x0002,
+0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x03DA, 0x2402, 0x438A, 0x0000,
+0x431C, 0x3C01, 0x432C, 0x5231, 0x160A, 0x0110, 0x140A, 0x8221, 0x4391,
+0x0000, 0x40B1, 0xA05F, 0x0002, 0x410A, 0x530A, 0x1203, 0x0ACD, 0x403E,
+0xEDF0, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2423,
+0x40B1, 0x0401, 0x0000, 0x40B1, 0x0100, 0x0002, 0x1203, 0x0ACD, 0x403E,
+0xEDFC, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2411,
+0x40B1, 0x001F, 0x0000, 0x4381, 0x0002, 0x1203, 0x0ACD, 0x403E, 0xED30,
+0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x933C, 0x2002, 0x433C,
+0x3C01, 0x430C, 0x5221, 0x160A, 0x0110, 0x140A, 0x8231, 0x4381, 0x0004,
+0x4381, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002, 0x410A, 0x522A, 0x431E,
+0x0ACD, 0x434C, 0x1380, 0x2C3A, 0x431E, 0x0ACD, 0x426C, 0x1380, 0x2C3A,
+0xB0B1, 0x0010, 0x0004, 0x2802, 0xD3A1, 0x0000, 0xB0B1, 0x0020, 0x0004,
+0x2802, 0xD2A1, 0x0000, 0x93C1, 0x0004, 0x3402, 0xD2B1, 0x0000, 0xB3A1,
+0x0004, 0x2803, 0xD0B1, 0x0010, 0x0000, 0x412F, 0xD11F, 0x0002, 0x930F,
+0x2406, 0x430E, 0x410D, 0x530D, 0x434C, 0x1380, 0x2C3A, 0x5231, 0x160A,
+0x0110, 0x143B, 0x120F, 0x120E, 0x8221, 0x0CCB, 0x1203, 0x410D, 0x503D,
+0x0006, 0x403E, 0xEDF4, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x4078,
+0x0028, 0x4381, 0x0002, 0x4381, 0x0004, 0x410A, 0x532A, 0x5321, 0x1213,
+0x0ACD, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5378,
+0x5321, 0x9348, 0x2403, 0xB391, 0x0002, 0x2BF0, 0x1213, 0x0BCD, 0x403E,
+0xEDF8, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321, 0x9348, 0x2002,
+0x430C, 0x3C01, 0x431C, 0x5231, 0x1638, 0x0110, 0x403E, 0x0018, 0x430F,
+0x430D, 0x008C, 0x2C52, 0x13B2, 0x981A, 0x403E, 0x0020, 0x430F, 0x430D,
+0x008C, 0x2D00, 0x13B2, 0x981A, 0x403E, 0x0010, 0x430F, 0x430D, 0x008C,
+0x2B6A, 0x13B2, 0x981A, 0x1840, 0x40B2, 0xE000, 0x2B7A, 0x1840, 0x40B2,
+0xE000, 0x2B7C, 0x1840, 0x4382, 0x289C, 0x1840, 0x43C2, 0x2D20, 0x1840,
+0x4382, 0x289E, 0x1840, 0x40B2, 0x0417, 0x28C0, 0x1840, 0x4382, 0x28C2,
+0x403E, 0x0018, 0x430F, 0x430D, 0x008C, 0x28A0, 0x0280, 0x981A, 0x141B,
+0x430A, 0x430B, 0x3C10, 0x403C, 0xAAAA, 0x1380, 0x2C0E, 0x4C0B, 0x903C,
+0x5555, 0x2007, 0x403C, 0x5555, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F,
+0x531A, 0x903A, 0x0003, 0x2C16, 0x407C, 0x0028, 0x1380, 0x2C02, 0x4C4C,
+0x903C, 0x0099, 0x27E5, 0x903C, 0x0098, 0x27E2, 0x903C, 0x0095, 0x27DF,
+0x903C, 0x0091, 0x27DC, 0x903C, 0x0089, 0x27D9, 0x433C, 0x3C07, 0x4B0C,
+0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x161A, 0x0110, 0x141B,
+0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x403B, 0x00C8, 0x410A, 0x530A,
+0x431E, 0x0ACD, 0x426C, 0x1380, 0x2C3A, 0x412E, 0x411F, 0x0002, 0xD03F,
+0x5000, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430E, 0x0ACD, 0x426C, 0x1380,
+0x2C3A, 0x431E, 0x0ACD, 0x426C, 0x1380, 0x2C3A, 0x533B, 0x411F, 0x0002,
+0xF03F, 0xA000, 0x903F, 0xA000, 0x2402, 0x930B, 0x23F1, 0x930B, 0x2002,
+0x433C, 0x3C01, 0x430C, 0x5221, 0x161A, 0x0110, 0x140A, 0x8231, 0x40B1,
+0x695A, 0x0004, 0x4381, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002, 0x403A,
+0x0064, 0x1203, 0x410D, 0x503D, 0x0006, 0x403E, 0x4000, 0x403F, 0xE004,
+0x430C, 0x1380, 0x2C42, 0x5321, 0x1213, 0x410D, 0x532D, 0x403E, 0x4020,
+0x403F, 0xE004, 0x430C, 0x1380, 0x2C42, 0x533A, 0x5321, 0xB2B1, 0x0000,
+0x2802, 0x533A, 0x23EF, 0x930A, 0x2002, 0x433C, 0x3C01, 0x430C, 0x5231,
+0x160A, 0x0110, 0x907E, 0x0010, 0x2808, 0x4C0D, 0x430C, 0x807E, 0x0011,
+0x3002, 0x18CE, 0x5D0D, 0x0110, 0xE37E, 0x507E, 0x0010, 0x065E, 0x0EE0,
+0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C,
+0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D,
+0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C,
+0x6D0D, 0x5C0C, 0x6D0D, 0x0110, 0x907E, 0x0010, 0x2808, 0x4D0C, 0x430D,
+0x807E, 0x0011, 0x3002, 0x19CE, 0x100C, 0x0110, 0xE37E, 0x507E, 0x0010,
+0x065E, 0x0EE0, 0x035D, 0x100C, 0x035D, 0x100C, 0x035D, 0x100C, 0x035D,
+0x100C, 0x035D, 0x100C, 0x035D, 0x100C, 0x035D, 0x100C, 0x035D, 0x100C,
+0x035D, 0x100C, 0x035D, 0x100C, 0x035D, 0x100C, 0x035D, 0x100C, 0x035D,
+0x100C, 0x035D, 0x100C, 0x035D, 0x100C, 0x0110, 0x141B, 0x008A, 0x2B8A,
+0x008B, 0x28A0, 0x938B, 0x0010, 0x240D, 0x407C, 0x00F4, 0x1380, 0x2C02,
+0x4B1C, 0x0012, 0x1380, 0x2C0E, 0x403C, 0x0014, 0x0A3F, 0x0024, 0x134F,
+0x4B2F, 0xDB1F, 0x0002, 0x930F, 0x240F, 0x407C, 0x0054, 0x1380, 0x2C02,
+0x4B1C, 0x0004, 0x4B1D, 0x0006, 0x1380, 0x2C16, 0x403C, 0x0014, 0x0A3F,
+0x0024, 0x134F, 0x0A3F, 0x001C, 0x134F, 0x430C, 0x161A, 0x0110, 0x140A,
+0x8321, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F, 0x0028, 0x134F, 0x930C,
+0x3403, 0x403C, 0xFFEB, 0x3C1C, 0x416C, 0x1380, 0x2B9A, 0x930C, 0x2403,
+0x403C, 0xFFEA, 0x3C14, 0x008A, 0x2BFA, 0x0ACC, 0x13B0, 0x1880, 0x434C,
+0x1380, 0x2BA2, 0x0A0F, 0x134F, 0x0A3F, 0x0004, 0x134F, 0x435C, 0x002F,
+0x2C4E, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x5321, 0x160A, 0x0110, 0x140A,
+0x8221, 0x43A1, 0x0000, 0x4381, 0x0002, 0x410A, 0x530A, 0x1203, 0x0ACD,
+0x1840, 0x421E, 0x2B7E, 0x1840, 0x421F, 0x2B80, 0x430C, 0x1380, 0x2C42,
+0x5321, 0x933C, 0x2411, 0x4381, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x1203,
+0x0ACD, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1380, 0x2C42, 0x5321,
+0x933C, 0x2002, 0x433C, 0x3C01, 0x430C, 0x5221, 0x160A, 0x0110, 0x8231,
+0x4381, 0x0000, 0x4381, 0x0002, 0x40B1, 0x695A, 0x0004, 0x4381, 0x0006,
+0x1203, 0x410D, 0x503D, 0x0006, 0x403E, 0x4000, 0x403F, 0xE004, 0x430C,
+0x1380, 0x2C42, 0x1213, 0x410D, 0x522D, 0x403E, 0x4020, 0x403F, 0xE004,
+0x430C, 0x1380, 0x2C42, 0x411C, 0x0004, 0x411D, 0x0006, 0x002F, 0x2C4E,
+0x0F3F, 0x0014, 0x134F, 0x430C, 0x5031, 0x000C, 0x0110, 0x143B, 0x4C0A,
+0x0088, 0x2BFA, 0x407C, 0x0082, 0x083F, 0x0008, 0x134F, 0x403C, 0x4030,
+0x083F, 0x0014, 0x134F, 0x08C9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x4A0C, 0x083F, 0x0014, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x1638, 0x0110, 0x903C, 0x0089, 0x2002,
+0x930D, 0x2424, 0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091,
+0x2002, 0x930D, 0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C,
+0x0098, 0x2002, 0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B,
+0x803C, 0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110,
+0x435C, 0x0110, 0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D, 0x2424,
+0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002, 0x930D,
+0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098, 0x2002,
+0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C, 0x0477,
+0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110,
+0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D, 0x2424, 0x903C, 0x008D,
+0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002, 0x930D, 0x241A, 0x903C,
+0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098, 0x2002, 0x930D, 0x2410,
+0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C, 0x0477, 0x703D, 0x4BA0,
+0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x435C, 0x0110,
+0x903C, 0x0089, 0x2002, 0x930D, 0x2424, 0x903C, 0x008D, 0x2002, 0x930D,
+0x241F, 0x903C, 0x0091, 0x2002, 0x930D, 0x241A, 0x903C, 0x0095, 0x2002,
+0x930D, 0x2415, 0x903C, 0x0098, 0x2002, 0x930D, 0x2410, 0x903C, 0x0099,
+0x2002, 0x930D, 0x240B, 0x803C, 0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x435C, 0x0110, 0x903C, 0x0089,
+0x2002, 0x930D, 0x2424, 0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C,
+0x0091, 0x2002, 0x930D, 0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415,
+0x903C, 0x0098, 0x2002, 0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D,
+0x240B, 0x803C, 0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C,
+0x0110, 0x435C, 0x0110, 0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D,
+0x2424, 0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002,
+0x930D, 0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098,
+0x2002, 0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C,
+0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D, 0x2424, 0x903C,
+0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002, 0x930D, 0x241A,
+0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098, 0x2002, 0x930D,
+0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C, 0x0477, 0x703D,
+0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x435C,
+0x0110, 0x140A, 0x008A, 0x2B8A, 0x434C, 0x0A3F, 0x0030, 0x134F, 0x403C,
+0x0028, 0x0A3F, 0x0024, 0x134F, 0x434C, 0x0A3F, 0x0034, 0x134F, 0x403C,
+0x0028, 0x0A3F, 0x0024, 0x134F, 0x434C, 0x0A3F, 0x002C, 0x134F, 0x1380,
+0x2BFA, 0x407C, 0x0028, 0x1380, 0x2C02, 0x4C4C, 0x430D, 0x13B2, 0x9424,
+0x930C, 0x2002, 0x433C, 0x3C01, 0x430C, 0x160A, 0x0110, 0x140A, 0x8221,
+0x433A, 0x4381, 0x0000, 0x4381, 0x0002, 0x1840, 0x421F, 0x2B86, 0x1840,
+0xD21F, 0x2B88, 0x930F, 0x2414, 0x431E, 0x410D, 0x530D, 0x426C, 0x1380,
+0x2C3A, 0xB0B1, 0x2000, 0x0002, 0x280D, 0x13B2, 0x8BF4, 0x930C, 0x2004,
+0x13B2, 0x8C5C, 0x930C, 0x2402, 0x432C, 0x3C04, 0x13B2, 0x8934, 0x4C0A,
+0x4A0C, 0x5221, 0x160A, 0x0110, 0x1800, 0x1246, 0x1800, 0x1247, 0x4D06,
+0xD07D, 0x0080, 0x6606, 0x6707, 0x1086, 0xF376, 0x8076, 0x007F, 0x2C03,
+0x430C, 0x430D, 0x3C13, 0x8076, 0x0018, 0x2C07, 0xE376, 0x240E, 0x110D,
+0x100C, 0x8356, 0x23FC, 0x3C09, 0x9236, 0x3803, 0x433C, 0x433D, 0x3C04,
+0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x1800, 0x4177, 0x1800, 0x4176,
+0x0110, 0x140A, 0x008A, 0x2B8A, 0x435C, 0x0A3F, 0x002C, 0x134F, 0x1380,
+0x2BFA, 0x403C, 0xA55A, 0x13B2, 0x832A, 0x931C, 0x2415, 0x403C, 0x0028,
+0x0A3F, 0x0024, 0x134F, 0x435C, 0x0A3F, 0x0030, 0x134F, 0x407C, 0x0028,
+0x1380, 0x2C02, 0x4C4C, 0x430D, 0x13B2, 0x9424, 0x930C, 0x2402, 0x430C,
+0x3C01, 0x433C, 0x160A, 0x0110, 0x8231, 0x4381, 0x0004, 0x4381, 0x0006,
+0x4381, 0x0000, 0x4381, 0x0002, 0x410D, 0x530D, 0x410C, 0x522C, 0x1380,
+0x2B96, 0x411C, 0x0004, 0x411D, 0x0006, 0x13B2, 0x9912, 0x002F, 0x2C4E,
+0x0F3F, 0x0010, 0x134F, 0x412C, 0x411D, 0x0002, 0x13B2, 0x9912, 0x002F,
+0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x5231, 0x0110, 0x1800, 0x1249,
+0x1800, 0x124A, 0x1800, 0x124B, 0x430A, 0x430B, 0x4039, 0x0020, 0x5C0C,
+0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C, 0x5339, 0x23F6,
+0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F, 0x1800, 0x417B,
+0x1800, 0x417A, 0x1800, 0x4179, 0x0110, 0x434E, 0x3C07, 0x1840, 0x43BD,
+0x28C4, 0x1800, 0x43CD, 0x28C6, 0x535E, 0x907E, 0x0070, 0x2C11, 0x4E4D,
+0x0DED, 0x0DCF, 0x0DED, 0x0FED, 0x907E, 0x006E, 0x2FEE, 0x1840, 0x4D9D,
+0x2472, 0x28C4, 0x1800, 0x4DDD, 0x2474, 0x28C6, 0x3FEB, 0x0110, 0x141B,
+0x407C, 0x0086, 0x1380, 0x2C02, 0x008B, 0x2C0E, 0x430C, 0x0B0F, 0x134F,
+0xB23C, 0x280E, 0x403C, 0x0014, 0x0B0F, 0x134F, 0x430C, 0x0B0F, 0x134F,
+0x4C0A, 0x430C, 0x0B0F, 0x134F, 0x4C0D, 0x4A0C, 0x3C02, 0x430C, 0x430D,
+0x161A, 0x0110, 0x140A, 0x430A, 0x3C01, 0x531A, 0x922A, 0x3413, 0x407C,
+0x0028, 0x1380, 0x2C02, 0x4C4F, 0x4F0C, 0x430D, 0x13B2, 0x9040, 0x930C,
+0x27F2, 0x4F0C, 0x002F, 0x2C4E, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x3C01,
+0x433C, 0x160A, 0x0110, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1900, 0x40F2, 0x611E, 0x280C, 0x1900, 0x40F2,
+0x7B14, 0x2810, 0x1900, 0x40F2, 0x87BC, 0x2814, 0x1900, 0x40F2, 0x78EE,
+0x2818, 0x1900, 0x40F2, 0x7BCA, 0x281C, 0x002F, 0x2938, 0x0F60, 0x2820,
+0x430C, 0x0280, 0x5B10, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1900, 0x40F2, 0x55D2, 0x280C, 0x1900, 0x40F2,
+0x707A, 0x2810, 0x1900, 0x40F2, 0x84F4, 0x2814, 0x1900, 0x40F2, 0x760A,
+0x2818, 0x1900, 0x40F2, 0x7836, 0x281C, 0x002F, 0x29B6, 0x0F60, 0x2820,
+0x430C, 0x0280, 0x5EBA, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1900, 0x40F2, 0x55D2, 0x280C, 0x1900, 0x40F2,
+0x707A, 0x2810, 0x1900, 0x40F2, 0x84F4, 0x2814, 0x1900, 0x40F2, 0x760A,
+0x2818, 0x1900, 0x40F2, 0x7836, 0x281C, 0x002F, 0x29B6, 0x0F60, 0x2820,
+0x430C, 0x0280, 0x5B10, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1900, 0x40F2, 0x611E, 0x280C, 0x1900, 0x40F2,
+0x7B14, 0x2810, 0x1900, 0x40F2, 0x8EE6, 0x2814, 0x1900, 0x40F2, 0x78EE,
+0x2818, 0x1900, 0x40F2, 0x7BCA, 0x281C, 0x002F, 0x2938, 0x0F60, 0x2820,
+0x431C, 0x0280, 0x5EBA, 0x1900, 0x40F2, 0x611E, 0x280C, 0x1900, 0x40F2,
+0x7B14, 0x2810, 0x1900, 0x40F2, 0x8EE6, 0x2814, 0x1900, 0x40F2, 0x78EE,
+0x2818, 0x1900, 0x40F2, 0x7BCA, 0x281C, 0x002F, 0x2938, 0x0F60, 0x2820,
+0x431C, 0x0280, 0x5B10, 0x1900, 0x40F2, 0x611E, 0x280C, 0x1900, 0x40F2,
+0x7B14, 0x2810, 0x1900, 0x40F2, 0x87BC, 0x2814, 0x1900, 0x40F2, 0x78EE,
+0x2818, 0x1900, 0x40F2, 0x7BCA, 0x281C, 0x002F, 0x2938, 0x0F60, 0x2820,
+0x430C, 0x0280, 0x5EBA, 0x140A, 0x008A, 0x2BFA, 0x407C, 0x0086, 0x0A3F,
+0x0008, 0x134F, 0x430C, 0x0A3F, 0x0014, 0x134F, 0xB22C, 0x2809, 0x422C,
+0x0A3F, 0x0014, 0x134F, 0x430C, 0x0A3F, 0x0014, 0x134F, 0x3C01, 0x430C,
+0x160A, 0x0110, 0x1800, 0x1246, 0x4D06, 0x5606, 0x9036, 0xFF01, 0x2C05,
+0x4F06, 0x5606, 0x9036, 0xFF01, 0x2802, 0xC322, 0x3C09, 0xB03D, 0x7FFF,
+0x2003, 0xB03F, 0x7FFF, 0x3C03, 0x9D0F, 0x2001, 0x9C0E, 0x1800, 0x4176,
+0x0110, 0x8321, 0x4381, 0x0000, 0x410C, 0x530C, 0x002F, 0x2C4E, 0x0F3F,
+0x002C, 0x134F, 0x9381, 0x0000, 0x2404, 0x431C, 0x1380, 0x2B92, 0x3C03,
+0x430C, 0x1380, 0x2B92, 0x430C, 0x5321, 0x0110, 0x1840, 0x4392, 0x246E,
+0x1840, 0x4382, 0x2858, 0x1840, 0x4382, 0x284E, 0x1840, 0x4382, 0x2850,
+0x1840, 0x4382, 0x2852, 0x1840, 0x4382, 0x2854, 0x1840, 0x4382, 0x2860,
+0x430C, 0x0110, 0x140A, 0x8321, 0x433A, 0x43C1, 0x0000, 0x410C, 0x530C,
+0x002F, 0x2C4E, 0x0F3F, 0x0028, 0x134F, 0x933C, 0x2404, 0x416C, 0x1380,
+0x2C32, 0x430A, 0x4A0C, 0x5321, 0x160A, 0x0110, 0x143B, 0x4E0A, 0x4F0B,
+0x0CC8, 0x3C06, 0x4DE8, 0x0000, 0x00A8, 0x0001, 0x00AD, 0x0001, 0x4A09,
+0x4B0F, 0x533A, 0x633B, 0xDF09, 0x9309, 0x23F3, 0x1638, 0x0110, 0x907B,
+0x0010, 0x2807, 0x4D0C, 0x4E0D, 0x4F0E, 0x430F, 0x807B, 0x0010, 0x3FF6,
+0x934B, 0x2406, 0x035F, 0x100E, 0x100D, 0x100C, 0x835B, 0x23FA, 0x0110,
+0x4C0D, 0x4C0E, 0xF03E, 0x000F, 0x431C, 0x835E, 0x3002, 0x18CE, 0x5C0C,
+0x907D, 0x0010, 0x2803, 0x4C0D, 0x430C, 0x0110, 0x430D, 0x0110, 0x4382,
+0x0400, 0x40B2, 0x02C0, 0x0400, 0x40B2, 0x07D8, 0x0412, 0xC392, 0x0402,
+0xD0B2, 0x0010, 0x0402, 0xD0B2, 0x0014, 0x0400, 0x0110, 0x1202, 0xC232,
+0x4303, 0x4C82, 0x04D0, 0x4D82, 0x04D2, 0x4E82, 0x04E0, 0x4F82, 0x04E2,
+0x421C, 0x04E4, 0x421D, 0x04E6, 0x4132, 0x0110, 0x143B, 0x0CC8, 0x3C04,
+0x4DC8, 0x0000, 0x00A8, 0x0001, 0x4E09, 0x4F0B, 0x533E, 0x633F, 0xDB09,
+0x9309, 0x23F5, 0x1638, 0x0110, 0x1380, 0x2C46, 0x4C0F, 0xDD0F, 0x930F,
+0x2407, 0x002F, 0x2C4E, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x0110, 0x433C,
+0x0110, 0x407C, 0x0094, 0x1380, 0x2C02, 0x434C, 0x1380, 0x2C0A, 0x002F,
+0x2C4E, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x0110, 0x8321, 0x410C, 0x530C,
+0x002F, 0x2C4E, 0x0F3F, 0x002C, 0x134F, 0x412C, 0x1380, 0x2B8E, 0x430C,
+0x5321, 0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE, 0x3C04, 0x43CC, 0x0000,
+0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110, 0x1800, 0x124C, 0x4EFC, 0x0000,
+0x00AC, 0x0001, 0x00BD, 0x0001, 0x23F9, 0x1800, 0x417C, 0x0110, 0x035D,
+0x100C, 0x035D, 0x100C, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF37D, 0x0110,
+0x1800, 0x124C, 0x438C, 0x0000, 0x532C, 0x831E, 0x23FB, 0x1800, 0x417C,
+0x0110, 0x435C, 0x002F, 0x2C4E, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x0110,
+0xC0B2, 0x0010, 0x0400, 0x4382, 0x0400, 0x0020, 0x2BCA, 0x13B2, 0x96AA,
+0x430C, 0x2401, 0x531C, 0x0110, 0x13B2, 0x9240, 0x2802, 0x430C, 0x430D,
+0x0110, 0x430C, 0x430D, 0x430E, 0x430F, 0x0110, 0x430C, 0x430D, 0x430E,
+0x430F, 0x0110, 0x430C, 0x430D, 0x430E, 0x430F, 0x0110, 0x403C, 0x0021,
+0x0180, 0xF63E, 0x403C, 0x0020, 0x0180, 0xF63E, 0x430C, 0x430D, 0x0110,
+0x430C, 0x430D, 0x0110, 0x430C, 0x0180, 0xF63E, 0x430C, 0x0110, 0x430C,
+0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x434C, 0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x430C,
+0x0110, 0x430C, 0x0110, 0x0280, 0x9766, 0x430C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x434C, 0x0110, 0x430C,
+0x0110, 0x430C, 0x0110, 0x433C, 0x0110, 0x434C, 0x0110, 0x433C, 0x0110,
+0x433C, 0x0110, 0x433C, 0x0110, 0x430C, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x5555, 0x5555, 0x0120,
+0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80,
+0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000,
+0x0000, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000, 0x5A80, 0x0000, 0x0000,
+0x0000, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0000,
+0x5A80, 0x0000, 0x0000, 0x0000, 0x5A83, 0x0000, 0x0000, 0x0120, 0x5A80,
+0x0120, 0x5A80, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0900, 0x0301, 0x0705, 0x0281, 0x0000, 0x0000, 0xFF04,
+0x0FFF, 0x0600, 0x0001, 0x0000, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0109, 0x0503, 0x8107, 0x0002, 0x0000, 0x0400, 0xFFFF, 0x000F, 0x0106,
+0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0xFF00, 0xCACA, 0xCACA,
+0x40B2, 0x5A80, 0x0120, 0xC232, 0xC0F2, 0x003F, 0x0057, 0xD0F2, 0x0007,
+0x0057, 0x45C2, 0x0056, 0x46C2, 0x0057, 0x43C2, 0x0058, 0xEA0A, 0xE909,
+0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x40B2, 0x5A80, 0x0120,
+0xC232, 0xD072, 0x0040, 0x4032, 0x0040, 0x40F2, 0x0080, 0x0052, 0x43C2,
+0x0050, 0x45C2, 0x0051, 0xD0F2, 0x0080, 0x0053, 0xC0F2, 0x005F, 0x0054,
+0xEA0A, 0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x0001,
+0x015C, 0x0000, 0x9962, 0x0002, 0x0001, 0x995E, 0x0002, 0x0002, 0x9874,
+0x0002, 0x0003, 0x92E2, 0x0002, 0x0004, 0x8DDA, 0x0002, 0x0005, 0x6F94,
+0x0002, 0x0006, 0x8D7C, 0x0002, 0x0007, 0x4492, 0x0002, 0x0008, 0x9858,
+0x0002, 0x0009, 0x973A, 0x0002, 0x000A, 0x81E6, 0x0002, 0x000B, 0x649E,
+0x0002, 0x000C, 0x93EC, 0x0002, 0x000D, 0x99A2, 0x0002, 0x000E, 0x999A,
+0x0002, 0x000F, 0x98E8, 0x0002, 0x0010, 0x7D2C, 0x0002, 0x0011, 0x72FE,
+0x0002, 0x0012, 0xDE30, 0x0001, 0x0013, 0xEA68, 0x0001, 0x0014, 0x13DC,
+0x0002, 0x0015, 0x6378, 0x0002, 0x0016, 0x572A, 0x0002, 0x0017, 0x4BD4,
+0x0002, 0x0018, 0x4EC6, 0x0002, 0x0019, 0x519E, 0x0002, 0x001A, 0x8588,
+0x0002, 0x001B, 0x998A, 0x0002, 0x001C, 0x3E82, 0x0002, 0x001D, 0x7234,
+0x0002, 0x001E, 0x6BD4, 0x0002, 0x001F, 0x29EE, 0x0002, 0x0020, 0xA4FE,
+0x0001, 0x0021, 0xB918, 0x0001, 0x0022, 0x9490, 0x0002, 0x0023, 0x960A,
+0x0002, 0x0024, 0x9640, 0x0002, 0x0025, 0x95D4, 0x0002, 0x0026, 0x4874,
+0x0002, 0x0027, 0xD7EE, 0x0001, 0x0028, 0xFBEE, 0x0001, 0x0029, 0x2368,
+0x0002, 0x002A, 0x5FEC, 0x0002, 0x002B, 0x66C8, 0x0002, 0x002C, 0x4A34,
+0x0002, 0x002D, 0x4D54, 0x0002, 0x002E, 0x5032, 0x0002, 0x002F, 0x7DDC,
+0x0002, 0x0030, 0x2CA8, 0x0002, 0x0031, 0x68DA, 0x0002, 0x0032, 0x5882,
+0x0002, 0x0033, 0x3C76, 0x0002, 0x0034, 0x8E8A, 0x0001, 0x0035, 0x9568,
+0x0002, 0x0036, 0x94FC, 0x0002, 0x0037, 0x4690, 0x0002, 0x0038, 0x546C,
+0x0002, 0x0039, 0x65B8, 0x0002, 0x003A, 0xE458, 0x0001, 0x003B, 0xCA4A,
+0x0001, 0x003C, 0x0B20, 0x0002, 0x003D, 0x7C7C, 0x0002, 0x003E, 0x360E,
+0x0002, 0x003F, 0x624C, 0x0002, 0x0040, 0x6CC8, 0x0002, 0x0041, 0x33CA,
+0x0002, 0x0042, 0x3174, 0x0002, 0x0043, 0x5D84, 0x0002, 0x0044, 0x4292,
+0x0002, 0x0045, 0xD146, 0x0001, 0x0046, 0x6EAC, 0x0002, 0x0047, 0x5C4E,
+0x0002, 0x0048, 0x6DBA, 0x0002, 0x0049, 0x0F8C, 0x0002, 0x004A, 0x993C,
+0x0002, 0x004B, 0x715C, 0x0002, 0x004C, 0x8B88, 0x0002, 0x004D, 0x9294,
+0x0002, 0x004E, 0x1FBA, 0x0002, 0x004F, 0x7A5E, 0x0002, 0x0050, 0x2F16,
+0x0002, 0x0051, 0x408A, 0x0002, 0x0052, 0x970C, 0x0002, 0x0053, 0x88B8,
+0x0002, 0x0054, 0x8288, 0x0002, 0x0055, 0x9944, 0x0002, 0x0056, 0x96DE,
+0x0002, 0x0057, 0x8094, 0x0002, 0x0058, 0x99B2, 0x0002, 0x0059, 0x9198,
+0x0002, 0x005A, 0x3A68, 0x0002, 0x005B, 0x983A, 0x0002, 0x005C, 0x7488,
+0x0002, 0x005D, 0xF06A, 0x0001, 0x005E, 0x754C, 0x0002, 0x005F, 0x73C4,
+0x0002, 0x0060, 0x89B0, 0x0002, 0x0061, 0x8E34, 0x0002, 0x0062, 0x5306,
+0x0002, 0x0063, 0x76C6, 0x0002, 0x0064, 0x86A8, 0x0002, 0x0065, 0x6ADA,
+0x0002, 0x0066, 0x91EC, 0x0002, 0x0067, 0x069C, 0x0002, 0x0068, 0x8732,
+0x0002, 0x0069, 0x9958, 0x0002, 0x006A, 0x7F3A, 0x0002, 0x006B, 0x8E8E,
+0x0002, 0x006C, 0x861A, 0x0002, 0x006D, 0x79A6, 0x0002, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+};
+
+const uint32_t MSP_FetHalImage_address[] =
+{
+0x00001900, 0x00018E00,
+};
+const uint32_t MSP_FetHalImage_length_of_sections[] =
+{
+0x00000040, 0x0000C000,
+};
+const uint32_t MSP_FetHalImage_sections = 0x00000002;
+const uint32_t MSP_FetHalImage_termination = 0x00000000;
+const uint32_t MSP_FetHalImage_start = 0x00001900;
+const uint32_t MSP_FetHalImage_finish = 0x00030E00;
+const uint32_t MSP_FetHalImage_length = 0x0002F500;
+
+#define MSP_FETHALIMAGE_TERMINATION 0x00000000
+#define MSP_FETHALIMAGE_START 0x00001900
+#define MSP_FETHALIMAGE_FINISH 0x00030E00
+#define MSP_FETHALIMAGE_LENGTH 0x0002F500
+#define MSP_FETHALIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/MSP_FetHil.h b/Bios/include/MSP_FetHil.h
new file mode 100644
index 0000000..4c3b69f
--- /dev/null
+++ b/Bios/include/MSP_FetHil.h
@@ -0,0 +1,2762 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t MSP_FetHilImage[] =
+{
+0x03DC, 0x2406, 0x008E, 0x2E8E, 0x008D, 0x002A, 0x13B1, 0x4E36, 0x0110,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x03DC, 0x2406,
+0x008E, 0x2E1E, 0x008D, 0x0038, 0x13B1, 0x4E36, 0x0110, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0010, 0x0012, 0xCC00, 0x6153, 0xF00D,
+0xF00D, 0x4180, 0x620E, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206,
+0x1840, 0x1207, 0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840,
+0x120B, 0x1840, 0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F,
+0x008C, 0x2E12, 0x403E, 0x02E0, 0x403F, 0x0000, 0x13B1, 0x4DDA, 0x1840,
+0x413F, 0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840, 0x413B,
+0x1840, 0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137, 0x1840,
+0x4136, 0x1840, 0x4135, 0x1840, 0x4134, 0x1880, 0x4070, 0x4EAA, 0x4011,
+0x6194, 0x145B, 0x120F, 0x120E, 0x120D, 0x120C, 0x8031, 0x0010, 0x0086,
+0x2F60, 0x1840, 0x425E, 0x30EF, 0xB65E, 0x000C, 0x2405, 0x1800, 0x40F2,
+0x2F9F, 0x0522, 0x3C04, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x06CC,
+0x00AC, 0x000E, 0x06CD, 0x00AD, 0x000C, 0x0C0F, 0xCDEF, 0x0000, 0x06CF,
+0x00AF, 0x000D, 0x06CE, 0x00AE, 0x0008, 0x0E0B, 0xCFEB, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2,
+0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x4381, 0x0008, 0x4381, 0x000A,
+0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381,
+0x0004, 0x40B1, 0x8000, 0x0006, 0x410B, 0x530B, 0xBBB1, 0x0010, 0x2029,
+0xBBB1, 0x0012, 0x2026, 0xBBB1, 0x0014, 0x2023, 0xBBB1, 0x0016, 0x2416,
+0x3C1F, 0xB318, 0x2BEF, 0x410B, 0x530B, 0xBBB1, 0x0010, 0x2009, 0xBBB1,
+0x0012, 0x2006, 0xBBB1, 0x0014, 0x2003, 0xBBB1, 0x0016, 0x240B, 0x1800,
+0x40F2, 0x2F9F, 0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0x3C09, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x063B, 0x0004, 0x1840,
+0x4BE2, 0x2F9E, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E0B,
+0xDFEB, 0x0000, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x410B, 0x523B,
+0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x5808, 0x6909, 0x6A0A, 0x6B0B, 0x4881,
+0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E, 0x1840, 0x425A,
+0x2F9E, 0xB65A, 0x000C, 0x2002, 0x4347, 0x3C01, 0x4357, 0x410B, 0x523B,
+0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0xD708, 0x4881, 0x0008, 0x4981, 0x000A,
+0x4A81, 0x000C, 0x4B81, 0x000E, 0x410B, 0x530B, 0x4B38, 0x4B39, 0x4B3A,
+0x4B3B, 0x035B, 0x100A, 0x1009, 0x1008, 0x4881, 0x0000, 0x4981, 0x0002,
+0x4A81, 0x0004, 0x4B81, 0x0006, 0x480B, 0xD90B, 0xDA0B, 0xD11B, 0x0006,
+0x930B, 0x236F, 0x1840, 0x425A, 0x30EF, 0xB65A, 0x000C, 0x2438, 0x1800,
+0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382,
+0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282,
+0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0x3C33, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0C0F, 0xDDEF, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x410F,
+0x523F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x0080, 0xD474, 0x145B, 0x8031,
+0x0018, 0x4C08, 0x4D09, 0x0086, 0x2F60, 0x1840, 0x425E, 0x30EF, 0xB65E,
+0x000C, 0x2405, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C04, 0x1800, 0x40F2,
+0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x06CC, 0x00AC, 0x000E, 0x06CD, 0x00AD, 0x000C,
+0x0C0F, 0xCDEF, 0x0000, 0x06CF, 0x00AF, 0x000D, 0x06CE, 0x00AE, 0x0008,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB,
+0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382,
+0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282,
+0x4881, 0x0010, 0x4981, 0x0012, 0x4381, 0x0014, 0x4381, 0x0016, 0x4381,
+0x0008, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0000,
+0x40B1, 0x8000, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x410B, 0x530B,
+0xBBB1, 0x0010, 0x2029, 0xBBB1, 0x0012, 0x2026, 0xBBB1, 0x0014, 0x2023,
+0xBBB1, 0x0016, 0x2416, 0x3C1F, 0xB318, 0x2BEF, 0x410B, 0x530B, 0xBBB1,
+0x0010, 0x2009, 0xBBB1, 0x0012, 0x2006, 0xBBB1, 0x0014, 0x2003, 0xBBB1,
+0x0016, 0x240B, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C0A, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0x3C09, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063B, 0x0004, 0x1840, 0x4BE2, 0x2F9E, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x0C0B, 0xDDEB, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x5808, 0x6909,
+0x6A0A, 0x6B0B, 0x4881, 0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81,
+0x000E, 0x1840, 0x425A, 0x2F9E, 0xB65A, 0x000C, 0x2002, 0x4347, 0x3C01,
+0x4357, 0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0xD708, 0x4881,
+0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E, 0x410B, 0x530B,
+0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x035B, 0x100A, 0x1009, 0x1008, 0x4881,
+0x0000, 0x4981, 0x0002, 0x4A81, 0x0004, 0x4B81, 0x0006, 0x480B, 0xD90B,
+0xDA0B, 0xD11B, 0x0006, 0x930B, 0x236F, 0x1840, 0x425A, 0x30EF, 0xB65A,
+0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB,
+0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392,
+0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0F, 0xDDEF, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x411C, 0x0008, 0x411D, 0x000A, 0x3C0E, 0x4303, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x415C, 0x0008, 0x5031, 0x0018, 0x1656, 0x0110, 0x145B, 0x8031,
+0x0018, 0x4C08, 0x4D09, 0x0086, 0x2F60, 0x1840, 0x425E, 0x30EF, 0xB65E,
+0x000C, 0x2405, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C04, 0x1800, 0x40F2,
+0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x06CC, 0x00AC, 0x000E, 0x06CD, 0x00AD, 0x000C,
+0x0C0F, 0xCDEF, 0x0000, 0x06CF, 0x00AF, 0x000D, 0x06CE, 0x00AE, 0x0008,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB,
+0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382,
+0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282,
+0x4881, 0x0010, 0x4981, 0x0012, 0x4381, 0x0014, 0x4381, 0x0016, 0x4381,
+0x0008, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0000,
+0x42B1, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x410B, 0x530B, 0xBBB1,
+0x0010, 0x2029, 0xBBB1, 0x0012, 0x2026, 0xBBB1, 0x0014, 0x2023, 0xBBB1,
+0x0016, 0x2416, 0x3C1F, 0xB318, 0x2BEF, 0x410B, 0x530B, 0xBBB1, 0x0010,
+0x2009, 0xBBB1, 0x0012, 0x2006, 0xBBB1, 0x0014, 0x2003, 0xBBB1, 0x0016,
+0x240B, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530,
+0xD392, 0x0530, 0x3C09, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B,
+0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x063B,
+0x0004, 0x1840, 0x4BE2, 0x2F9E, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382,
+0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282,
+0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x5808, 0x6909, 0x6A0A,
+0x6B0B, 0x4881, 0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E,
+0x1840, 0x425A, 0x2F9E, 0xB65A, 0x000C, 0x2002, 0x4347, 0x3C01, 0x4357,
+0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0xD708, 0x4881, 0x0008,
+0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E, 0x410B, 0x530B, 0x4B38,
+0x4B39, 0x4B3A, 0x4B3B, 0x035B, 0x100A, 0x1009, 0x1008, 0x4881, 0x0000,
+0x4981, 0x0002, 0x4A81, 0x0004, 0x4B81, 0x0006, 0x480B, 0xD90B, 0xDA0B,
+0xD11B, 0x0006, 0x930B, 0x236F, 0x1840, 0x425A, 0x30EF, 0xB65A, 0x000C,
+0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B,
+0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B,
+0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B,
+0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B,
+0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0F, 0xDDEF, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x411C, 0x0008, 0x411D, 0x000A, 0x4C0F, 0x035D, 0x100C, 0x110D,
+0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D, 0xF03D, 0x000F, 0x0080,
+0xD474, 0x145B, 0x8031, 0x0018, 0x4C08, 0x0086, 0x2F60, 0x1840, 0x425E,
+0x30EF, 0xB65E, 0x000C, 0x2405, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C04,
+0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x06CC, 0x00AC, 0x000E, 0x06CD,
+0x00AD, 0x000C, 0x0C0F, 0xCDEF, 0x0000, 0x06CF, 0x00AF, 0x000D, 0x06CE,
+0x00AE, 0x0008, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B,
+0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B,
+0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x4881, 0x0010, 0x4381, 0x0012, 0x4381, 0x0014, 0x4381,
+0x0016, 0x4381, 0x0008, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381, 0x000E,
+0x40B1, 0x8000, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006,
+0x410B, 0x530B, 0xBBB1, 0x0010, 0x2029, 0xBBB1, 0x0012, 0x2026, 0xBBB1,
+0x0014, 0x2023, 0xBBB1, 0x0016, 0x2416, 0x3C1F, 0xB318, 0x2BEF, 0x410B,
+0x530B, 0xBBB1, 0x0010, 0x2009, 0xBBB1, 0x0012, 0x2006, 0xBBB1, 0x0014,
+0x2003, 0xBBB1, 0x0016, 0x240B, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C0A,
+0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0x3C09, 0x1800, 0x40F2, 0x2FF3,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303,
+0x4303, 0x4303, 0x063B, 0x0004, 0x1840, 0x4BE2, 0x2F9E, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x0C0B, 0xDDEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B,
+0x5808, 0x6909, 0x6A0A, 0x6B0B, 0x4881, 0x0008, 0x4981, 0x000A, 0x4A81,
+0x000C, 0x4B81, 0x000E, 0x1840, 0x425A, 0x2F9E, 0xB65A, 0x000C, 0x2002,
+0x4347, 0x3C01, 0x4357, 0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B,
+0xD708, 0x4881, 0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E,
+0x410B, 0x530B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x035B, 0x100A, 0x1009,
+0x1008, 0x4881, 0x0000, 0x4981, 0x0002, 0x4A81, 0x0004, 0x4B81, 0x0006,
+0x480B, 0xD90B, 0xDA0B, 0xD11B, 0x0006, 0x930B, 0x236F, 0x1840, 0x425A,
+0x30EF, 0xB65A, 0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B,
+0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B,
+0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0F,
+0xDDEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x411C, 0x0008, 0x0080, 0xD474, 0x145B,
+0x8031, 0x0018, 0x4C48, 0x0086, 0x2F60, 0x1840, 0x425E, 0x30EF, 0xB65E,
+0x000C, 0x2405, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C04, 0x1800, 0x40F2,
+0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x06CC, 0x00AC, 0x000E, 0x06CD, 0x00AD, 0x000C,
+0x0C0F, 0xCDEF, 0x0000, 0x06CF, 0x00AF, 0x000D, 0x06CE, 0x00AE, 0x0008,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB,
+0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382,
+0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282,
+0x4881, 0x0010, 0x4381, 0x0012, 0x4381, 0x0014, 0x4381, 0x0016, 0x4381,
+0x0008, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381, 0x000E, 0x40B1, 0x0080,
+0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x410B, 0x530B,
+0xBBB1, 0x0010, 0x2029, 0xBBB1, 0x0012, 0x2026, 0xBBB1, 0x0014, 0x2023,
+0xBBB1, 0x0016, 0x2416, 0x3C1F, 0xB318, 0x2BEF, 0x410B, 0x530B, 0xBBB1,
+0x0010, 0x2009, 0xBBB1, 0x0012, 0x2006, 0xBBB1, 0x0014, 0x2003, 0xBBB1,
+0x0016, 0x240B, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x3C0A, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0x3C09, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063B, 0x0004, 0x1840, 0x4BE2, 0x2F9E, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0x0C0B, 0xDDEB, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x5808, 0x6909,
+0x6A0A, 0x6B0B, 0x4881, 0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81,
+0x000E, 0x1840, 0x425A, 0x2F9E, 0xB65A, 0x000C, 0x2002, 0x4347, 0x3C01,
+0x4357, 0x410B, 0x523B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0xD708, 0x4881,
+0x0008, 0x4981, 0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E, 0x410B, 0x530B,
+0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x035B, 0x100A, 0x1009, 0x1008, 0x4881,
+0x0000, 0x4981, 0x0002, 0x4A81, 0x0004, 0x4B81, 0x0006, 0x480B, 0xD90B,
+0xDA0B, 0xD11B, 0x0006, 0x930B, 0x236F, 0x1840, 0x425A, 0x30EF, 0xB65A,
+0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB,
+0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0B, 0xDDEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0C0B, 0xCDEB, 0x0000, 0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0C0B, 0xDDEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392,
+0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0C0B, 0xCDEB, 0x0000,
+0x0E0B, 0xCFEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0C0F, 0xDDEF, 0x0000,
+0x0080, 0xD45A, 0x145B, 0x8031, 0x0018, 0x4C48, 0x1840, 0x4CC2, 0x30F1,
+0x0086, 0x2F60, 0x06CC, 0x00AC, 0x000D, 0x06CD, 0x00AD, 0x0008, 0x06CF,
+0x00AF, 0x000E, 0x06CE, 0x00AE, 0x000C, 0x1840, 0x425A, 0x30EF, 0xB65A,
+0x000C, 0x242F, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0F0B, 0xCEEB,
+0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F0B, 0xDEEB,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C36,
+0xC0F2, 0x0020, 0x0282, 0x3C32, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0F0B, 0xDEEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x2F9F, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0F0B, 0xDEEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2,
+0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0F0B, 0xDEEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0F0B,
+0xCEEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D0B,
+0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F0B,
+0xDEEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x4881, 0x0010, 0x4381, 0x0012, 0x4381,
+0x0014, 0x4381, 0x0016, 0x4381, 0x0008, 0x4381, 0x000A, 0x4381, 0x000C,
+0x4381, 0x000E, 0x40B1, 0x0080, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004,
+0x4381, 0x0006, 0x410B, 0x530B, 0xBBB1, 0x0010, 0x2029, 0xBBB1, 0x0012,
+0x2026, 0xBBB1, 0x0014, 0x2023, 0xBBB1, 0x0016, 0x2416, 0x3C1F, 0xB318,
+0x2BEF, 0x410B, 0x530B, 0xBBB1, 0x0010, 0x2009, 0xBBB1, 0x0012, 0x2006,
+0xBBB1, 0x0014, 0x2003, 0xBBB1, 0x0016, 0x240B, 0x1800, 0x40F2, 0x2F9F,
+0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0x3C09, 0x1800,
+0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x063B, 0x0004, 0x1840, 0x4BE2, 0x2F9E,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000,
+0x0F0B, 0xDEEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x410B, 0x523B, 0x4B38, 0x4B39,
+0x4B3A, 0x4B3B, 0x5808, 0x6909, 0x6A0A, 0x6B0B, 0x4881, 0x0008, 0x4981,
+0x000A, 0x4A81, 0x000C, 0x4B81, 0x000E, 0x1840, 0x425A, 0x2F9E, 0xB65A,
+0x000C, 0x2002, 0x4347, 0x3C01, 0x4357, 0x410B, 0x523B, 0x4B38, 0x4B39,
+0x4B3A, 0x4B3B, 0xD708, 0x4881, 0x0008, 0x4981, 0x000A, 0x4A81, 0x000C,
+0x4B81, 0x000E, 0x410B, 0x530B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x035B,
+0x100A, 0x1009, 0x1008, 0x4881, 0x0000, 0x4981, 0x0002, 0x4A81, 0x0004,
+0x4B81, 0x0006, 0x480B, 0xD90B, 0xDA0B, 0xD11B, 0x0006, 0x930B, 0x236F,
+0x1840, 0x425A, 0x30EF, 0xB65A, 0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0F0B, 0xDEEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2,
+0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33, 0x1800,
+0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0F0B, 0xDEEB, 0x0000, 0xD232, 0x9382,
+0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282,
+0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x0F0B, 0xCEEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0F0F, 0xDEEF, 0x0000, 0x0080, 0xD45A, 0x147B, 0x120F, 0x120E,
+0x120D, 0x120C, 0x8031, 0x001E, 0x411F, 0x004A, 0x4F81, 0x0002, 0x035F,
+0x4F81, 0x001C, 0x0087, 0x2F60, 0x07C9, 0x00A9, 0x000D, 0x07C8, 0x00A8,
+0x0008, 0x07CA, 0x00AA, 0x000E, 0x07CB, 0x00AB, 0x000C, 0x0084, 0x30EF,
+0x4191, 0x004C, 0x004C, 0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0008,
+0x4381, 0x000A, 0x4381, 0x0014, 0x4381, 0x0016, 0x4381, 0x0018, 0x40B1,
+0x8000, 0x001A, 0x4346, 0x446E, 0xB75E, 0x000C, 0x2405, 0x1800, 0x40F2,
+0x2F9F, 0x0522, 0x3C04, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F,
+0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F,
+0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F,
+0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000,
+0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2413, 0xD0F2, 0x0020, 0x0282, 0x410F, 0x503F,
+0x0014, 0xBFB1, 0x001E, 0x202E, 0xBFB1, 0x0020, 0x202B, 0xBFB1, 0x0022,
+0x2028, 0xBFB1, 0x0024, 0x241B, 0x3C24, 0xC0F2, 0x0020, 0x0282, 0x3FEC,
+0xB31C, 0x2BEA, 0x410F, 0x503F, 0x0014, 0xBFB1, 0x001E, 0x2009, 0xBFB1,
+0x0020, 0x2006, 0xBFB1, 0x0022, 0x2003, 0xBFB1, 0x0024, 0x240B, 0x1800,
+0x40F2, 0x2F9F, 0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0x3C09, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000,
+0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x073F, 0x0004, 0x1840,
+0x4FE2, 0x2F9E, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x080F,
+0xD9EF, 0x0000, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x410F, 0x522F,
+0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x5C0C, 0x6D0D, 0x6E0E, 0x6F0F, 0x4C81,
+0x0004, 0x4D81, 0x0006, 0x4E81, 0x0008, 0x4F81, 0x000A, 0x1840, 0x425E,
+0x2F9E, 0xB75E, 0x000C, 0x2002, 0x4345, 0x3C01, 0x4355, 0x410F, 0x522F,
+0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0xD50C, 0x4C81, 0x0004, 0x4D81, 0x0006,
+0x4E81, 0x0008, 0x4F81, 0x000A, 0xB0B1, 0x0100, 0x001A, 0x2C02, 0x0080,
+0xF164, 0x4C46, 0xF076, 0x00C7, 0xB266, 0x28C8, 0x1800, 0x40F2, 0x2F9F,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x446E, 0xB75E,
+0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF,
+0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392,
+0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000,
+0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x407C, 0x0046, 0x13B0, 0xE042, 0x0080, 0xF13E, 0x9076,
+0x0083, 0x20C9, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF,
+0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x446E, 0xB75E, 0x000C, 0x2438, 0x1800, 0x40F2,
+0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800,
+0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33,
+0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F,
+0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x410F, 0x530F,
+0x40FF, 0x002A, 0x0000, 0x0080, 0xF12C, 0xB076, 0x0040, 0x28CF, 0x464E,
+0xF07E, 0x00C0, 0x907E, 0x00C0, 0x24C9, 0x1800, 0x40F2, 0x2F9F, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2,
+0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x446E, 0xB75E, 0x000C,
+0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000,
+0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F,
+0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F,
+0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F,
+0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F,
+0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x410F, 0x530F, 0x40FF, 0x004A, 0x0000, 0x0080, 0xF148, 0x9076,
+0x0081, 0x20C7, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF,
+0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x446E, 0xB75E, 0x000C, 0x2438, 0x1800, 0x40F2,
+0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800,
+0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33,
+0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F,
+0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x407C, 0x0046,
+0x13B0, 0xE042, 0x3CDA, 0x464E, 0xF07E, 0x00C3, 0x935E, 0x24DB, 0x934E,
+0x24D9, 0x936E, 0x24D7, 0x9076, 0x0003, 0x25BB, 0x9076, 0x0082, 0x25B8,
+0x9076, 0x0080, 0x25B5, 0x464E, 0xF07E, 0x00C0, 0x907E, 0x00C0, 0x25AF,
+0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F,
+0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x446E, 0xB75E, 0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2,
+0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2,
+0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x410F, 0x530F, 0x40FF, 0x003A,
+0x0000, 0x3CCB, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF,
+0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x446E, 0xB75E, 0x000C, 0x2438, 0x1800, 0x40F2,
+0x2F9F, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800,
+0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33,
+0x1800, 0x40F2, 0x2FF3, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F,
+0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x90B1, 0x0021,
+0x004C, 0x280E, 0x410F, 0x530F, 0x40FF, 0x005A, 0x0000, 0x4381, 0x000C,
+0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0012, 0x3CDF, 0x410F, 0x530F,
+0x40FF, 0x001A, 0x0000, 0x522F, 0x4F3C, 0xF37C, 0x108C, 0x4C0F, 0x4381,
+0x000C, 0x4381, 0x000E, 0x4381, 0x0010, 0x4F81, 0x0012, 0x3CCC, 0x410F,
+0x503F, 0x0014, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x035F, 0x100E, 0x100D,
+0x100C, 0x4C81, 0x0014, 0x4D81, 0x0016, 0x4E81, 0x0018, 0x4F81, 0x001A,
+0x4C0F, 0xDD0F, 0xDE0F, 0xD11F, 0x001A, 0x930F, 0x2402, 0x0080, 0xE66E,
+0x446E, 0xB75E, 0x000C, 0x2438, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x1800, 0x40F2, 0x3047, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C33, 0x1800, 0x40F2, 0x2FF3,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0A0F, 0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x080F, 0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0A0F, 0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F,
+0xCBEF, 0x0000, 0x080F, 0xC9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x080F,
+0xD9EF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F,
+0xDBEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x9076, 0x0082, 0x2407, 0x9076, 0x0080,
+0x2404, 0x9346, 0x2402, 0x9366, 0x2004, 0x407C, 0x0046, 0x13B0, 0xE042,
+0x410F, 0x530F, 0x40FF, 0x001A, 0x0000, 0x522F, 0x4FB1, 0x000C, 0x4FB1,
+0x000E, 0x4FB1, 0x0010, 0x4FB1, 0x0012, 0x9381, 0x0002, 0x2436, 0x411F,
+0x0002, 0x533F, 0x4F81, 0x0002, 0x90F1, 0x005A, 0x0000, 0x2021, 0x9381,
+0x001C, 0x242A, 0x90B1, 0x0021, 0x004C, 0x2826, 0x407C, 0x0054, 0x13B0,
+0xE042, 0x430C, 0x430D, 0x13B0, 0xD068, 0x4C0A, 0x4D0B, 0xD03B, 0x0200,
+0x4B0D, 0x13B0, 0xD068, 0xF03B, 0xFDFF, 0x4A0C, 0x4B0D, 0x13B0, 0xD068,
+0x407C, 0x0046, 0x13B0, 0xE042, 0x3C0C, 0x90F1, 0x003A, 0x0000, 0x2002,
+0x0080, 0xE50C, 0x90F1, 0x002A, 0x0000, 0x2002, 0x0080, 0xE50C, 0x410F,
+0x503F, 0x000C, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x5031, 0x0026, 0x1674,
+0x0110, 0x143B, 0x4C0A, 0x4D0B, 0x0028, 0x0532, 0x1800, 0x40F2, 0x2F9F,
+0x0522, 0x1800, 0x40F2, 0x3047, 0x0532, 0x1840, 0x90B2, 0x0005, 0x2F72,
+0x2402, 0x13B1, 0x4024, 0x4A0F, 0xDB0F, 0x930F, 0x2515, 0x533A, 0x633B,
+0x435C, 0x13B1, 0x3976, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x008D, 0x2F60, 0x0DCF, 0x00AF, 0x000C,
+0x0DCE, 0x00AE, 0x000E, 0x0E0C, 0xCFEC, 0x0000, 0x0DCC, 0x00AC, 0x000D,
+0x00AD, 0x0008, 0x0D09, 0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09,
+0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09,
+0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09,
+0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09,
+0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09,
+0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09,
+0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09,
+0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D0D, 0xDCED, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E0E, 0xDFEE, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x434C, 0x13B1,
+0x3976, 0x4A0F, 0xDB0F, 0x930F, 0x22EB, 0x0860, 0x0532, 0x1840, 0x90B2,
+0x0005, 0x2F72, 0x2402, 0x13B1, 0x48D6, 0x1638, 0x0110, 0x143B, 0x4C0A,
+0x4D0B, 0x0028, 0x0532, 0x1800, 0x40F2, 0x2FF3, 0x0522, 0x1800, 0x40F2,
+0x309B, 0x0532, 0x1840, 0x90B2, 0x0005, 0x2F72, 0x2402, 0x13B1, 0x4024,
+0x4A0F, 0xDB0F, 0x930F, 0x2515, 0x533A, 0x633B, 0x435C, 0x13B1, 0x3976,
+0x434C, 0x13B1, 0x3976, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x008D, 0x2F60, 0x0DCF, 0x00AF, 0x000C,
+0x0DCE, 0x00AE, 0x000E, 0x0E0C, 0xCFEC, 0x0000, 0x0DCC, 0x00AC, 0x000D,
+0x00AD, 0x0008, 0x0D09, 0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09,
+0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09,
+0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09,
+0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09,
+0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09,
+0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09,
+0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09,
+0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D0D, 0xDCED, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E0E, 0xDFEE, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x4A0F, 0xDB0F,
+0x930F, 0x22EB, 0x3EC7, 0x4303, 0x143B, 0x4C0A, 0x4D0B, 0x0028, 0x0532,
+0x1800, 0x40F2, 0x2FF3, 0x0522, 0x1800, 0x40F2, 0x309B, 0x0532, 0x1840,
+0x90B2, 0x0005, 0x2F72, 0x2402, 0x13B1, 0x4024, 0x4A0F, 0xDB0F, 0x930F,
+0x2515, 0x533A, 0x633B, 0x434C, 0x13B1, 0x3976, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x008D, 0x2F60,
+0x0DCF, 0x00AF, 0x000C, 0x0DCE, 0x00AE, 0x000E, 0x0E0C, 0xCFEC, 0x0000,
+0x0DCC, 0x00AC, 0x000D, 0x00AD, 0x0008, 0x0D09, 0xCCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09,
+0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09,
+0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09,
+0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09,
+0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0D09, 0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E09, 0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09,
+0xCFE9, 0x0000, 0x0D09, 0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D09,
+0xDCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E09,
+0xDFE9, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E09, 0xCFE9, 0x0000, 0x0D09,
+0xCCE9, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D0D, 0xDCED, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E0E, 0xDFEE, 0x0000, 0xD232,
+0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020,
+0x0282, 0x435C, 0x13B1, 0x3976, 0x4A0F, 0xDB0F, 0x930F, 0x22EB, 0x0080,
+0xF5DE, 0x145B, 0x1840, 0x90B2, 0x0005, 0x2F72, 0x259E, 0x4078, 0x0024,
+0x407C, 0x0044, 0x13B1, 0x4CFA, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x1840, 0x43D2, 0x2F9D, 0x1840, 0x43D2, 0x2F9C, 0x13B1, 0x4024, 0x13B1,
+0x4BFE, 0x13B1, 0x4C56, 0x008E, 0x2F60, 0x0ECA, 0x00AA, 0x000C, 0x0ECD,
+0x00AD, 0x000E, 0x0D0F, 0xCAEF, 0x0000, 0x0ECC, 0x00AC, 0x000D, 0x0ECB,
+0x00AB, 0x0008, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x0B0F,
+0xDCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0D0F, 0xDAEF, 0x0000, 0x13B1, 0x4BFE, 0x13B1, 0x4C56,
+0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0B0F, 0xDCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0D0F, 0xDAEF, 0x0000, 0x13B1, 0x4BD2, 0x13B1,
+0x4C56, 0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0B0F, 0xDCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0D0F, 0xDAEF, 0x0000, 0x13B1, 0x4BD2,
+0x13B1, 0x4C56, 0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0B0F, 0xDCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0D0F, 0xDAEF, 0x0000, 0x4279,
+0x3C21, 0x13B1, 0x4BD2, 0x13B1, 0x4C56, 0x0D0F, 0xCAEF, 0x0000, 0x0B0F,
+0xCCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x070F, 0x4FE6, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0B0F,
+0xDCEF, 0x0000, 0x0D0F, 0xDAEF, 0x0000, 0x5848, 0x5379, 0x0EC7, 0x00A7,
+0x0004, 0x0086, 0x2F9E, 0x9369, 0x2822, 0x9348, 0x3BD6, 0x13B1, 0x4BD2,
+0x13B1, 0x4BA6, 0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x070F, 0x4FE6, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0B0F, 0xDCEF, 0x0000, 0x0D0F,
+0xDAEF, 0x0000, 0x3FD5, 0x9348, 0x3820, 0x13B1, 0x4BFE, 0x13B1, 0x4BA6,
+0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x070F, 0x4FE6, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0B0F, 0xDCEF, 0x0000, 0x0D0F, 0xDAEF, 0x0000,
+0x3C1F, 0x13B1, 0x4BFE, 0x13B1, 0x4C56, 0x0D0F, 0xCAEF, 0x0000, 0x0B0F,
+0xCCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x070F, 0x4FE6, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0B0F,
+0xDCEF, 0x0000, 0x0D0F, 0xDAEF, 0x0000, 0x13B1, 0x4BFE, 0x13B1, 0x4BA6,
+0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0B0F, 0xDCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0D0F, 0xDAEF, 0x0000, 0x13B1, 0x4BD2, 0x13B1,
+0x4BA6, 0x0D0F, 0xCAEF, 0x0000, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0B0F, 0xDCEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0D0F, 0xDAEF, 0x0000, 0x0B0F, 0xCAEF,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0B0F, 0xCCEF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0B0F, 0xDCEF, 0x0000, 0x431C, 0x13B1, 0x4D82, 0x431C, 0x430D,
+0x13B1, 0x3B82, 0x0B0F, 0xDAEF, 0x0000, 0x431C, 0x13B1, 0x4D82, 0x430C,
+0x430D, 0x13B1, 0x3B82, 0x13B1, 0x48D6, 0x407C, 0x0054, 0x13B1, 0x4CFA,
+0x403C, 0x0200, 0x430D, 0x13B1, 0x4B7A, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x430C, 0x1656,
+0x0110, 0x0110, 0x803C, 0x100A, 0x2002, 0x0180, 0x04FA, 0x803C, 0x1000,
+0x24DD, 0x803C, 0x2000, 0x2402, 0x0180, 0x0A6A, 0x40B2, 0x0018, 0x052A,
+0x40B2, 0x0018, 0x053A, 0x008F, 0x2F60, 0x0FCE, 0x00AE, 0x000D, 0x00AF,
+0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2F9F, 0x4DCC, 0x0000, 0x4DCC, 0x0001,
+0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4FEC, 0x0004, 0x4FEC, 0x0005, 0x4FEC,
+0x0006, 0x4FEC, 0x0007, 0x4DCC, 0x0008, 0x4DCC, 0x0009, 0x4DCC, 0x000A,
+0x4DCC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D, 0x4DCC, 0x000E, 0x4DCC,
+0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC, 0x0012, 0x4FEC, 0x0013,
+0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017, 0x008C,
+0x2FF3, 0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003,
+0x4FEC, 0x0004, 0x4FEC, 0x0005, 0x4FEC, 0x0006, 0x4FEC, 0x0007, 0x4DCC,
+0x0008, 0x4DCC, 0x0009, 0x4DCC, 0x000A, 0x4DCC, 0x000B, 0x4EEC, 0x000C,
+0x4EEC, 0x000D, 0x4EEC, 0x000E, 0x4EEC, 0x000F, 0x43CC, 0x0010, 0x43CC,
+0x0011, 0x43CC, 0x0012, 0x43CC, 0x0013, 0x4EEC, 0x0014, 0x4EEC, 0x0015,
+0x4EEC, 0x0016, 0x4EEC, 0x0017, 0x008C, 0x3047, 0x4EEC, 0x0000, 0x4EEC,
+0x0001, 0x4EEC, 0x0002, 0x4EEC, 0x0003, 0x43CC, 0x0004, 0x43CC, 0x0005,
+0x43CC, 0x0006, 0x43CC, 0x0007, 0x4EEC, 0x0008, 0x4EEC, 0x0009, 0x4EEC,
+0x000A, 0x4EEC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D, 0x4DCC, 0x000E,
+0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC, 0x0012, 0x4FEC,
+0x0013, 0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017,
+0x008F, 0x309B, 0x4EEF, 0x0000, 0x4EEF, 0x0001, 0x4EEF, 0x0002, 0x4EEF,
+0x0003, 0x43CF, 0x0004, 0x43CF, 0x0005, 0x43CF, 0x0006, 0x43CF, 0x0007,
+0x4EEF, 0x0008, 0x4EEF, 0x0009, 0x4EEF, 0x000A, 0x4EEF, 0x000B, 0x4EEF,
+0x000C, 0x4EEF, 0x000D, 0x4EEF, 0x000E, 0x4EEF, 0x000F, 0x43CF, 0x0010,
+0x43CF, 0x0011, 0x43CF, 0x0012, 0x43CF, 0x0013, 0x4EEF, 0x0014, 0x4EEF,
+0x0015, 0x4EEF, 0x0016, 0x4EEF, 0x0017, 0x0110, 0x40B2, 0x0030, 0x052A,
+0x40B2, 0x0030, 0x053A, 0x008F, 0x2F60, 0x0FCE, 0x00AE, 0x000D, 0x00AF,
+0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2F9F, 0x4DCC, 0x0000, 0x4DCC, 0x0001,
+0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004, 0x4DCC, 0x0005, 0x4DCC,
+0x0006, 0x4DCC, 0x0007, 0x4FEC, 0x0008, 0x4FEC, 0x0009, 0x4FEC, 0x000A,
+0x4FEC, 0x000B, 0x4FEC, 0x000C, 0x4FEC, 0x000D, 0x4FEC, 0x000E, 0x4FEC,
+0x000F, 0x4DCC, 0x0010, 0x4DCC, 0x0011, 0x4DCC, 0x0012, 0x4DCC, 0x0013,
+0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017, 0x4DCC,
+0x0018, 0x4DCC, 0x0019, 0x4DCC, 0x001A, 0x4DCC, 0x001B, 0x4DCC, 0x001C,
+0x4DCC, 0x001D, 0x4DCC, 0x001E, 0x4DCC, 0x001F, 0x4FEC, 0x0020, 0x4FEC,
+0x0021, 0x4FEC, 0x0022, 0x4FEC, 0x0023, 0x4FEC, 0x0024, 0x4FEC, 0x0025,
+0x4FEC, 0x0026, 0x4FEC, 0x0027, 0x4DCC, 0x0028, 0x4DCC, 0x0029, 0x4DCC,
+0x002A, 0x4DCC, 0x002B, 0x4DCC, 0x002C, 0x4DCC, 0x002D, 0x4DCC, 0x002E,
+0x4DCC, 0x002F, 0x008C, 0x2FF3, 0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4DCC,
+0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004, 0x4DCC, 0x0005, 0x4DCC, 0x0006,
+0x4DCC, 0x0007, 0x4FEC, 0x0008, 0x4FEC, 0x0009, 0x4FEC, 0x000A, 0x4FEC,
+0x000B, 0x4FEC, 0x000C, 0x4FEC, 0x000D, 0x4FEC, 0x000E, 0x4FEC, 0x000F,
+0x4DCC, 0x0010, 0x4DCC, 0x0011, 0x4DCC, 0x0012, 0x4DCC, 0x0013, 0x4DCC,
+0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017, 0x4EEC, 0x0018,
+0x4EEC, 0x0019, 0x4EEC, 0x001A, 0x4EEC, 0x001B, 0x4EEC, 0x001C, 0x4EEC,
+0x001D, 0x4EEC, 0x001E, 0x4EEC, 0x001F, 0x43CC, 0x0020, 0x43CC, 0x0021,
+0x43CC, 0x0022, 0x43CC, 0x0023, 0x43CC, 0x0024, 0x43CC, 0x0025, 0x43CC,
+0x0026, 0x43CC, 0x0027, 0x4EEC, 0x0028, 0x4EEC, 0x0029, 0x4EEC, 0x002A,
+0x4EEC, 0x002B, 0x4EEC, 0x002C, 0x4EEC, 0x002D, 0x4EEC, 0x002E, 0x4EEC,
+0x002F, 0x008C, 0x3047, 0x4EEC, 0x0000, 0x4EEC, 0x0001, 0x4EEC, 0x0002,
+0x4EEC, 0x0003, 0x4EEC, 0x0004, 0x4EEC, 0x0005, 0x4EEC, 0x0006, 0x4EEC,
+0x0007, 0x43CC, 0x0008, 0x43CC, 0x0009, 0x43CC, 0x000A, 0x43CC, 0x000B,
+0x43CC, 0x000C, 0x43CC, 0x000D, 0x43CC, 0x000E, 0x43CC, 0x000F, 0x4EEC,
+0x0010, 0x4EEC, 0x0011, 0x4EEC, 0x0012, 0x4EEC, 0x0013, 0x4EEC, 0x0014,
+0x4EEC, 0x0015, 0x4EEC, 0x0016, 0x4EEC, 0x0017, 0x4DCC, 0x0018, 0x4DCC,
+0x0019, 0x4DCC, 0x001A, 0x4DCC, 0x001B, 0x4DCC, 0x001C, 0x4DCC, 0x001D,
+0x4DCC, 0x001E, 0x4DCC, 0x001F, 0x4FEC, 0x0020, 0x4FEC, 0x0021, 0x4FEC,
+0x0022, 0x4FEC, 0x0023, 0x4FEC, 0x0024, 0x4FEC, 0x0025, 0x4FEC, 0x0026,
+0x4FEC, 0x0027, 0x4DCC, 0x0028, 0x4DCC, 0x0029, 0x4DCC, 0x002A, 0x4DCC,
+0x002B, 0x4DCC, 0x002C, 0x4DCC, 0x002D, 0x4DCC, 0x002E, 0x4DCC, 0x002F,
+0x008F, 0x309B, 0x4EEF, 0x0000, 0x4EEF, 0x0001, 0x4EEF, 0x0002, 0x4EEF,
+0x0003, 0x4EEF, 0x0004, 0x4EEF, 0x0005, 0x4EEF, 0x0006, 0x4EEF, 0x0007,
+0x43CF, 0x0008, 0x43CF, 0x0009, 0x43CF, 0x000A, 0x43CF, 0x000B, 0x43CF,
+0x000C, 0x43CF, 0x000D, 0x43CF, 0x000E, 0x43CF, 0x000F, 0x4EEF, 0x0010,
+0x4EEF, 0x0011, 0x4EEF, 0x0012, 0x4EEF, 0x0013, 0x4EEF, 0x0014, 0x4EEF,
+0x0015, 0x4EEF, 0x0016, 0x4EEF, 0x0017, 0x4EEF, 0x0018, 0x4EEF, 0x0019,
+0x4EEF, 0x001A, 0x4EEF, 0x001B, 0x4EEF, 0x001C, 0x4EEF, 0x001D, 0x4EEF,
+0x001E, 0x4EEF, 0x001F, 0x43CF, 0x0020, 0x43CF, 0x0021, 0x43CF, 0x0022,
+0x43CF, 0x0023, 0x43CF, 0x0024, 0x43CF, 0x0025, 0x43CF, 0x0026, 0x43CF,
+0x0027, 0x4EEF, 0x0028, 0x4EEF, 0x0029, 0x4EEF, 0x002A, 0x4EEF, 0x002B,
+0x4EEF, 0x002C, 0x4EEF, 0x002D, 0x4EEF, 0x002E, 0x4EEF, 0x002F, 0x0110,
+0x40B2, 0x0054, 0x052A, 0x40B2, 0x0054, 0x053A, 0x008F, 0x2F60, 0x0FCE,
+0x00AE, 0x000D, 0x00AF, 0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2F9F, 0x4DCC,
+0x0000, 0x4DCC, 0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004,
+0x4DCC, 0x0005, 0x4DCC, 0x0006, 0x4DCC, 0x0007, 0x4DCC, 0x0008, 0x4DCC,
+0x0009, 0x4DCC, 0x000A, 0x4DCC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D,
+0x4DCC, 0x000E, 0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC,
+0x0012, 0x4FEC, 0x0013, 0x4FEC, 0x0014, 0x4FEC, 0x0015, 0x4FEC, 0x0016,
+0x4FEC, 0x0017, 0x4FEC, 0x0018, 0x4FEC, 0x0019, 0x4DCC, 0x001A, 0x4DCC,
+0x001B, 0x4DCC, 0x001C, 0x4DCC, 0x001D, 0x4DCC, 0x001E, 0x4DCC, 0x001F,
+0x4DCC, 0x0020, 0x4DCC, 0x0021, 0x4DCC, 0x0022, 0x4DCC, 0x0023, 0x4DCC,
+0x0024, 0x4DCC, 0x0025, 0x4DCC, 0x0026, 0x4DCC, 0x0027, 0x4DCC, 0x0028,
+0x4DCC, 0x0029, 0x4DCC, 0x002A, 0x4DCC, 0x002B, 0x4DCC, 0x002C, 0x4DCC,
+0x002D, 0x4DCC, 0x002E, 0x4DCC, 0x002F, 0x4DCC, 0x0030, 0x4DCC, 0x0031,
+0x4DCC, 0x0032, 0x4DCC, 0x0033, 0x4DCC, 0x0034, 0x4DCC, 0x0035, 0x4DCC,
+0x0036, 0x4DCC, 0x0037, 0x4DCC, 0x0038, 0x4DCC, 0x0039, 0x4FEC, 0x003A,
+0x4FEC, 0x003B, 0x4FEC, 0x003C, 0x4FEC, 0x003D, 0x4FEC, 0x003E, 0x4FEC,
+0x003F, 0x4FEC, 0x0040, 0x4FEC, 0x0041, 0x4FEC, 0x0042, 0x4FEC, 0x0043,
+0x4DCC, 0x0044, 0x4DCC, 0x0045, 0x4DCC, 0x0046, 0x4DCC, 0x0047, 0x4DCC,
+0x0048, 0x4DCC, 0x0049, 0x4DCC, 0x004A, 0x4DCC, 0x004B, 0x4DCC, 0x004C,
+0x4DCC, 0x004D, 0x4DCC, 0x004E, 0x4DCC, 0x004F, 0x4DCC, 0x0050, 0x4DCC,
+0x0051, 0x4DCC, 0x0052, 0x4DCC, 0x0053, 0x008C, 0x2FF3, 0x4DCC, 0x0000,
+0x4DCC, 0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004, 0x4DCC,
+0x0005, 0x4DCC, 0x0006, 0x4DCC, 0x0007, 0x4DCC, 0x0008, 0x4DCC, 0x0009,
+0x4DCC, 0x000A, 0x4DCC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D, 0x4DCC,
+0x000E, 0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC, 0x0012,
+0x4FEC, 0x0013, 0x4FEC, 0x0014, 0x4FEC, 0x0015, 0x4FEC, 0x0016, 0x4FEC,
+0x0017, 0x4FEC, 0x0018, 0x4FEC, 0x0019, 0x4DCC, 0x001A, 0x4DCC, 0x001B,
+0x4DCC, 0x001C, 0x4DCC, 0x001D, 0x4DCC, 0x001E, 0x4DCC, 0x001F, 0x4DCC,
+0x0020, 0x4DCC, 0x0021, 0x4DCC, 0x0022, 0x4DCC, 0x0023, 0x4DCC, 0x0024,
+0x4DCC, 0x0025, 0x4DCC, 0x0026, 0x4DCC, 0x0027, 0x4DCC, 0x0028, 0x4DCC,
+0x0029, 0x4EEC, 0x002A, 0x4EEC, 0x002B, 0x4EEC, 0x002C, 0x4EEC, 0x002D,
+0x4EEC, 0x002E, 0x4EEC, 0x002F, 0x4EEC, 0x0030, 0x4EEC, 0x0031, 0x4EEC,
+0x0032, 0x4EEC, 0x0033, 0x4EEC, 0x0034, 0x4EEC, 0x0035, 0x4EEC, 0x0036,
+0x4EEC, 0x0037, 0x4EEC, 0x0038, 0x4EEC, 0x0039, 0x43CC, 0x003A, 0x43CC,
+0x003B, 0x43CC, 0x003C, 0x43CC, 0x003D, 0x43CC, 0x003E, 0x43CC, 0x003F,
+0x43CC, 0x0040, 0x43CC, 0x0041, 0x43CC, 0x0042, 0x43CC, 0x0043, 0x4EEC,
+0x0044, 0x4EEC, 0x0045, 0x4EEC, 0x0046, 0x4EEC, 0x0047, 0x4EEC, 0x0048,
+0x4EEC, 0x0049, 0x4EEC, 0x004A, 0x4EEC, 0x004B, 0x4EEC, 0x004C, 0x4EEC,
+0x004D, 0x4EEC, 0x004E, 0x4EEC, 0x004F, 0x4EEC, 0x0050, 0x4EEC, 0x0051,
+0x4EEC, 0x0052, 0x4EEC, 0x0053, 0x008C, 0x3047, 0x4EEC, 0x0000, 0x4EEC,
+0x0001, 0x4EEC, 0x0002, 0x4EEC, 0x0003, 0x4EEC, 0x0004, 0x4EEC, 0x0005,
+0x4EEC, 0x0006, 0x4EEC, 0x0007, 0x4EEC, 0x0008, 0x4EEC, 0x0009, 0x4EEC,
+0x000A, 0x4EEC, 0x000B, 0x4EEC, 0x000C, 0x4EEC, 0x000D, 0x4EEC, 0x000E,
+0x4EEC, 0x000F, 0x43CC, 0x0010, 0x43CC, 0x0011, 0x43CC, 0x0012, 0x43CC,
+0x0013, 0x43CC, 0x0014, 0x43CC, 0x0015, 0x43CC, 0x0016, 0x43CC, 0x0017,
+0x43CC, 0x0018, 0x43CC, 0x0019, 0x4EEC, 0x001A, 0x4EEC, 0x001B, 0x4EEC,
+0x001C, 0x4EEC, 0x001D, 0x4EEC, 0x001E, 0x4EEC, 0x001F, 0x4EEC, 0x0020,
+0x4EEC, 0x0021, 0x4EEC, 0x0022, 0x4EEC, 0x0023, 0x4EEC, 0x0024, 0x4EEC,
+0x0025, 0x4EEC, 0x0026, 0x4EEC, 0x0027, 0x4EEC, 0x0028, 0x4EEC, 0x0029,
+0x4DCC, 0x002A, 0x4DCC, 0x002B, 0x4DCC, 0x002C, 0x4DCC, 0x002D, 0x4DCC,
+0x002E, 0x4DCC, 0x002F, 0x4DCC, 0x0030, 0x4DCC, 0x0031, 0x4DCC, 0x0032,
+0x4DCC, 0x0033, 0x4DCC, 0x0034, 0x4DCC, 0x0035, 0x4DCC, 0x0036, 0x4DCC,
+0x0037, 0x4DCC, 0x0038, 0x4DCC, 0x0039, 0x4FEC, 0x003A, 0x4FEC, 0x003B,
+0x4FEC, 0x003C, 0x4FEC, 0x003D, 0x4FEC, 0x003E, 0x4FEC, 0x003F, 0x4FEC,
+0x0040, 0x4FEC, 0x0041, 0x4FEC, 0x0042, 0x4FEC, 0x0043, 0x4DCC, 0x0044,
+0x4DCC, 0x0045, 0x4DCC, 0x0046, 0x4DCC, 0x0047, 0x4DCC, 0x0048, 0x4DCC,
+0x0049, 0x4DCC, 0x004A, 0x4DCC, 0x004B, 0x4DCC, 0x004C, 0x4DCC, 0x004D,
+0x4DCC, 0x004E, 0x4DCC, 0x004F, 0x4DCC, 0x0050, 0x4DCC, 0x0051, 0x4DCC,
+0x0052, 0x4DCC, 0x0053, 0x008F, 0x309B, 0x4EEF, 0x0000, 0x4EEF, 0x0001,
+0x4EEF, 0x0002, 0x4EEF, 0x0003, 0x4EEF, 0x0004, 0x4EEF, 0x0005, 0x4EEF,
+0x0006, 0x4EEF, 0x0007, 0x4EEF, 0x0008, 0x4EEF, 0x0009, 0x4EEF, 0x000A,
+0x4EEF, 0x000B, 0x4EEF, 0x000C, 0x4EEF, 0x000D, 0x4EEF, 0x000E, 0x4EEF,
+0x000F, 0x43CF, 0x0010, 0x43CF, 0x0011, 0x43CF, 0x0012, 0x43CF, 0x0013,
+0x43CF, 0x0014, 0x43CF, 0x0015, 0x43CF, 0x0016, 0x43CF, 0x0017, 0x43CF,
+0x0018, 0x43CF, 0x0019, 0x4EEF, 0x001A, 0x4EEF, 0x001B, 0x4EEF, 0x001C,
+0x4EEF, 0x001D, 0x4EEF, 0x001E, 0x4EEF, 0x001F, 0x4EEF, 0x0020, 0x4EEF,
+0x0021, 0x4EEF, 0x0022, 0x4EEF, 0x0023, 0x4EEF, 0x0024, 0x4EEF, 0x0025,
+0x4EEF, 0x0026, 0x4EEF, 0x0027, 0x4EEF, 0x0028, 0x4EEF, 0x0029, 0x4EEF,
+0x002A, 0x4EEF, 0x002B, 0x4EEF, 0x002C, 0x4EEF, 0x002D, 0x4EEF, 0x002E,
+0x4EEF, 0x002F, 0x4EEF, 0x0030, 0x4EEF, 0x0031, 0x4EEF, 0x0032, 0x4EEF,
+0x0033, 0x4EEF, 0x0034, 0x4EEF, 0x0035, 0x4EEF, 0x0036, 0x4EEF, 0x0037,
+0x4EEF, 0x0038, 0x4EEF, 0x0039, 0x43CF, 0x003A, 0x43CF, 0x003B, 0x43CF,
+0x003C, 0x43CF, 0x003D, 0x43CF, 0x003E, 0x43CF, 0x003F, 0x43CF, 0x0040,
+0x43CF, 0x0041, 0x43CF, 0x0042, 0x43CF, 0x0043, 0x4EEF, 0x0044, 0x4EEF,
+0x0045, 0x4EEF, 0x0046, 0x4EEF, 0x0047, 0x4EEF, 0x0048, 0x4EEF, 0x0049,
+0x4EEF, 0x004A, 0x4EEF, 0x004B, 0x4EEF, 0x004C, 0x4EEF, 0x004D, 0x4EEF,
+0x004E, 0x4EEF, 0x004F, 0x4EEF, 0x0050, 0x4EEF, 0x0051, 0x4EEF, 0x0052,
+0x4EEF, 0x0053, 0x0110, 0x42B2, 0x052A, 0x42B2, 0x053A, 0x008F, 0x2F60,
+0x0FCE, 0x00AE, 0x000D, 0x00AF, 0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2F9F,
+0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4FEC, 0x0002, 0x4DCC, 0x0003, 0x4DCC,
+0x0004, 0x4DCC, 0x0005, 0x4FEC, 0x0006, 0x4DCC, 0x0007, 0x008C, 0x2FF3,
+0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4FEC, 0x0002, 0x4DCC, 0x0003, 0x4EEC,
+0x0004, 0x4EEC, 0x0005, 0x43CC, 0x0006, 0x4EEC, 0x0007, 0x008C, 0x3047,
+0x4EEC, 0x0000, 0x4EEC, 0x0001, 0x43CC, 0x0002, 0x4EEC, 0x0003, 0x4DCC,
+0x0004, 0x4DCC, 0x0005, 0x4FEC, 0x0006, 0x4DCC, 0x0007, 0x008F, 0x309B,
+0x4EEF, 0x0000, 0x4EEF, 0x0001, 0x43CF, 0x0002, 0x4EEF, 0x0003, 0x4EEF,
+0x0004, 0x4EEF, 0x0005, 0x43CF, 0x0006, 0x4EEF, 0x0007, 0x0110, 0x143B,
+0x8231, 0x0DCA, 0x434B, 0x1940, 0x104C, 0x4C48, 0xF038, 0x0006, 0xF31E,
+0x5E08, 0x4D2C, 0x4A1D, 0x0002, 0x430E, 0x5C0C, 0x6D0D, 0x6E0E, 0x5C0C,
+0x6D0D, 0x6E0E, 0x5C0C, 0x6D0D, 0x6E0E, 0xD80C, 0x4C81, 0x0000, 0x4D81,
+0x0002, 0x4E81, 0x0004, 0x4381, 0x0006, 0x407C, 0x000A, 0x1380, 0x2E9A,
+0x935C, 0x201F, 0x410C, 0x530C, 0x1380, 0x2EAE, 0x4C48, 0xF078, 0x0003,
+0x9368, 0x2012, 0x035F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D,
+0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x4C8A, 0x0000, 0x4D8A, 0x0002,
+0x432C, 0x3C05, 0x535B, 0x907B, 0x0028, 0x2BE1, 0x433C, 0x5231, 0x1638,
+0x0110, 0x145B, 0x8031, 0x000C, 0x4C0A, 0x4D0B, 0x0EC6, 0x4F09, 0x4348,
+0x4E2C, 0x4E1D, 0x0002, 0x430E, 0x5C0C, 0x6D0D, 0x6E0E, 0x5C0C, 0x6D0D,
+0x6E0E, 0x5C0C, 0x6D0D, 0x6E0E, 0x4C81, 0x0004, 0x4D81, 0x0006, 0x4E81,
+0x0008, 0x4381, 0x000A, 0x4A0E, 0x4B0F, 0xF03E, 0x00F0, 0xF03F, 0xFF00,
+0x4E81, 0x0000, 0x4F81, 0x0002, 0x430E, 0x410D, 0x530D, 0x427C, 0x13B1,
+0x0B16, 0x932C, 0x2029, 0x1940, 0x104A, 0xF03A, 0x0006, 0x490E, 0xF31E,
+0x5E0A, 0x410F, 0x522F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0xDA0C, 0x4C81,
+0x0004, 0x4D81, 0x0006, 0x4E81, 0x0008, 0x4F81, 0x000A, 0x407C, 0x000B,
+0x1380, 0x2E9A, 0x935C, 0x200D, 0x410C, 0x522C, 0x1380, 0x2EAE, 0xB31C,
+0x2804, 0x5358, 0x9078, 0x0028, 0x2BF6, 0x9078, 0x0028, 0x2002, 0x433C,
+0x3C0A, 0x9319, 0x2007, 0x431E, 0x06CD, 0x407C, 0x000C, 0x13B1, 0x0B16,
+0x3C01, 0x432C, 0x5031, 0x000C, 0x1656, 0x0110, 0x147B, 0x8221, 0x4E06,
+0x4F07, 0x0DC4, 0x4119, 0x0028, 0x4381, 0x0000, 0x4381, 0x0002, 0x4C4B,
+0x108B, 0x4108, 0x5308, 0x431F, 0x08CE, 0x430C, 0x4B0D, 0x13B1, 0x0BAA,
+0x932C, 0x201E, 0x412E, 0x411F, 0x0002, 0xF03E, 0xFFC0, 0xD32E, 0x4E81,
+0x0000, 0x4F81, 0x0002, 0x430F, 0x08CE, 0x430C, 0x4B0D, 0x13B1, 0x0BAA,
+0x932C, 0x200C, 0x4681, 0x0000, 0x4781, 0x0002, 0x430F, 0x08CE, 0x4B0D,
+0x422C, 0x13B1, 0x0BAA, 0x932C, 0x2402, 0x433C, 0x3C07, 0x490F, 0x04CE,
+0x403C, 0x000C, 0x4B0D, 0x13B1, 0x0BAA, 0x5221, 0x1674, 0x0110, 0x143B,
+0x0DCB, 0x4E4A, 0x4348, 0xF07C, 0x000C, 0x4E49, 0x5949, 0xDC49, 0x4A4E,
+0x0BCD, 0x494C, 0x13B1, 0x1E9A, 0x936C, 0x2006, 0x5358, 0x9078, 0x0028,
+0x2BF5, 0x433C, 0x3C01, 0x431C, 0x1638, 0x0110, 0x147B, 0x140E, 0x8231,
+0x4C4A, 0x4F05, 0x4346, 0x4381, 0x0004, 0x4381, 0x0006, 0x4C0E, 0x4D0F,
+0xF03E, 0x00F0, 0xF03F, 0xFF00, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430E,
+0x410D, 0x530D, 0x427C, 0x13B1, 0x0CFC, 0x931C, 0x2035, 0xF07A, 0x000C,
+0x4544, 0x5444, 0xDA44, 0xD354, 0x4077, 0x0028, 0x454E, 0x013D, 0x0008,
+0x444C, 0x13B1, 0x1E9A, 0x4C48, 0x464E, 0x5356, 0x974E, 0x2C02, 0x9318,
+0x23F3, 0x9746, 0x241E, 0x9305, 0x200E, 0x435E, 0x410D, 0x522D, 0x407C,
+0x000E, 0x13B1, 0x1E9A, 0x464E, 0x5356, 0x974E, 0x2C0F, 0x935C, 0x23F3,
+0x3C0C, 0x454E, 0x013D, 0x0008, 0x444C, 0x13B1, 0x1E9A, 0x464E, 0x5356,
+0x974E, 0x2002, 0x9318, 0x23F4, 0x9746, 0x2002, 0x433C, 0x3C01, 0x431C,
+0x5031, 0x000C, 0x1674, 0x0110, 0x147B, 0x8221, 0x4E06, 0x4F07, 0x0DC4,
+0x4119, 0x0028, 0x4381, 0x0000, 0x4381, 0x0002, 0x4C0A, 0x4108, 0x5308,
+0x431F, 0x08CE, 0x430D, 0x13B1, 0x0D2E, 0x931C, 0x201F, 0x412E, 0x411F,
+0x0002, 0xF03E, 0xFFC0, 0xD32E, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430F,
+0x08CE, 0x4A0C, 0x430D, 0x13B1, 0x0D2E, 0x931C, 0x200D, 0x4681, 0x0000,
+0x4781, 0x0002, 0x430F, 0x08CE, 0x4A0C, 0x430D, 0xD22C, 0x13B1, 0x0D2E,
+0x931C, 0x2402, 0x433C, 0x3C08, 0x490F, 0x04CE, 0xD03A, 0x000C, 0x4A0C,
+0x430D, 0x13B1, 0x0D2E, 0x3F4D, 0x4303, 0x407C, 0x000E, 0x1380, 0x2E9A,
+0x4C4C, 0x430D, 0x935C, 0x2003, 0x430C, 0x1380, 0x2EAA, 0x0110, 0x8031,
+0x0006, 0x43C1, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x410D, 0x530D,
+0x423C, 0x13B1, 0x478A, 0x431E, 0x410D, 0x532D, 0x434C, 0x1380, 0x2ECE,
+0x931C, 0x2403, 0x433C, 0x430D, 0x3C04, 0x411C, 0x0002, 0x411D, 0x0004,
+0x5031, 0x0006, 0x0110, 0x140A, 0x8231, 0x410A, 0x530A, 0x4A0E, 0x43FE,
+0x0000, 0x43FE, 0x0001, 0x532E, 0x4A0F, 0x523F, 0x9F0E, 0x23F7, 0x0ACD,
+0x403C, 0x0033, 0x13B1, 0x488A, 0x40F1, 0x003C, 0x0000, 0x40F1, 0x00E7,
+0x0001, 0x0ACD, 0x403C, 0x0010, 0x13B1, 0x488A, 0x43F1, 0x0000, 0x0ACD,
+0x423C, 0x13B1, 0x488A, 0x5231, 0x160A, 0x0110, 0x141B, 0x8231, 0x410A,
+0x530A, 0x4A0E, 0x43FE, 0x0000, 0x43FE, 0x0001, 0x532E, 0x4A0F, 0x523F,
+0x9F0E, 0x23F7, 0x4A0B, 0x0BCD, 0x403C, 0x0038, 0x13B1, 0x478A, 0x40F1,
+0x009E, 0x0000, 0x40F1, 0x00E7, 0x0001, 0x0BCD, 0x403C, 0x0010, 0x13B1,
+0x478A, 0x4A0E, 0x43FE, 0x0000, 0x43FE, 0x0001, 0x532E, 0x4A0F, 0x523F,
+0x9F0E, 0x23F7, 0x0BCD, 0x403C, 0x0038, 0x13B1, 0x478A, 0x5231, 0x161A,
+0x0110, 0x140A, 0x4C4A, 0x13B1, 0x4024, 0x008F, 0x2EE2, 0x934A, 0x0F3E,
+0x0008, 0x2403, 0xDFEE, 0x0000, 0x3C02, 0xCFEE, 0x0000, 0x3C25, 0x4303,
+0x140A, 0x4C4A, 0x13B1, 0x4024, 0x008F, 0x2EE2, 0x934A, 0x0F3E, 0x0008,
+0x2404, 0xDFDE, 0x0002, 0x0000, 0x3C03, 0xCFDE, 0x0002, 0x0000, 0x3C12,
+0x4303, 0x140A, 0x4C4A, 0x13B1, 0x4024, 0x008F, 0x2EE2, 0x934A, 0x0F3E,
+0x0008, 0x2404, 0xDFDE, 0x0001, 0x0000, 0x3C03, 0xCFDE, 0x0001, 0x0000,
+0x403C, 0x0005, 0x13B1, 0x4D82, 0x13B1, 0x48D6, 0x160A, 0x0110, 0x140A,
+0x4C4A, 0x13B1, 0x4024, 0x008F, 0x2EE2, 0x934A, 0x0F3E, 0x0008, 0x2404,
+0xDFDE, 0x000D, 0x0000, 0x3C03, 0xCFDE, 0x000D, 0x0000, 0x3FE6, 0x4303,
+0x140A, 0x4C4A, 0x13B1, 0x4024, 0x008F, 0x2EE2, 0x934A, 0x0F3E, 0x0008,
+0x2404, 0xDFDE, 0x000C, 0x0000, 0x3C03, 0xCFDE, 0x000C, 0x0000, 0x3FD3,
+0x4303, 0x934C, 0x240D, 0x430E, 0x435D, 0x434C, 0x13B1, 0x243C, 0x430E,
+0x407D, 0x000D, 0x434C, 0x13B1, 0x243C, 0x434E, 0x3C0D, 0x403E, 0x0003,
+0x435D, 0x434C, 0x13B1, 0x243C, 0x430E, 0x407D, 0x000D, 0x434C, 0x13B1,
+0x243C, 0x435E, 0x1840, 0x4EC2, 0x2F9A, 0x0110, 0x143B, 0x8231, 0x403A,
+0x0FA0, 0x430B, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381,
+0x0006, 0x434D, 0x0088, 0x2EF4, 0x083F, 0x000A, 0xD8DF, 0x0008, 0x0000,
+0x3C00, 0x403F, 0x000B, 0x533F, 0x2FFE, 0x083F, 0x000A, 0xC8DF, 0x0008,
+0x0000, 0x1848, 0x100F, 0x4D49, 0x13B1, 0x4594, 0x490F, 0x5F0F, 0x510F,
+0x4C8F, 0x0000, 0x5319, 0x490C, 0x422E, 0x13B1, 0x4AAC, 0x120D, 0x4EC1,
+0x0000, 0x413D, 0x412F, 0x511F, 0x0002, 0x511F, 0x0004, 0x511F, 0x0006,
+0x075F, 0x903F, 0x1A90, 0x2C08, 0x4A0E, 0x4B0F, 0x533A, 0x633B, 0x4E09,
+0xDF09, 0x9309, 0x23CB, 0x0180, 0x0BA4, 0x141B, 0x4C0A, 0x430B, 0x931A,
+0x2026, 0x1840, 0x4392, 0x2F02, 0x008C, 0x2EE2, 0x018E, 0x4F9E, 0x008D,
+0x0009, 0x13B1, 0x4E36, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4C82, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4E6E, 0x13B1, 0x4F1A, 0x403C, 0x100A, 0x13B1, 0x0000,
+0x5031, 0x0024, 0x3C9A, 0x932A, 0x2405, 0x930A, 0x2403, 0x903A, 0x0007,
+0x2022, 0x1840, 0x4A82, 0x2F02, 0x008C, 0x2EE2, 0x018E, 0x4FB0, 0x008D,
+0x0009, 0x13B1, 0x4E36, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4E5E, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4E6E, 0x13B1, 0x4F1A, 0x5031, 0x0024, 0x3C71, 0x923A,
+0x2022, 0x1840, 0x4A82, 0x2F02, 0x008C, 0x2EE2, 0x018E, 0x4FB0, 0x008D,
+0x0009, 0x13B1, 0x4E36, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4E7E, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4E6E, 0x13B1, 0x4F1A, 0x5031, 0x0024, 0x3C4D, 0x903A,
+0x0005, 0x2020, 0x008C, 0x2EE2, 0x018E, 0x4F8C, 0x008D, 0x0009, 0x13B1,
+0x4E36, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF, 0x23FB, 0x13B1,
+0x4C82, 0x1840, 0x40B2, 0x0005, 0x2F02, 0x403C, 0x0005, 0x13B1, 0x4F22,
+0x403C, 0x600A, 0x13B1, 0x0000, 0x5031, 0x0012, 0x3C2A, 0x903A, 0x0006,
+0x2026, 0x1840, 0x4A82, 0x2F02, 0x008C, 0x2EE2, 0x018E, 0x4FB0, 0x008D,
+0x0009, 0x13B1, 0x4E36, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4C82, 0x008F, 0x0012, 0x1840, 0x121F, 0x2EE0, 0x03FF,
+0x23FB, 0x13B1, 0x4E6E, 0x13B1, 0x4F1A, 0x403C, 0x100A, 0x13B1, 0x0000,
+0x5031, 0x0024, 0x3C01, 0x433B, 0x931A, 0x2406, 0x903A, 0x0005, 0x2403,
+0x903A, 0x0006, 0x20BE, 0x40B2, 0x13C0, 0x0520, 0x1800, 0x42D2, 0x2EEA,
+0x0526, 0x40B2, 0x13C0, 0x0530, 0x1800, 0x42D2, 0x2EEA, 0x0536, 0x1880,
+0x40F2, 0x1DAC, 0x2E8E, 0x1880, 0x40F2, 0x1AB6, 0x2E92, 0x903A, 0x0005,
+0x2041, 0x1800, 0x40F2, 0xE042, 0x2E96, 0x1800, 0x40F2, 0xDC70, 0x2E9E,
+0x1800, 0x40F2, 0xD884, 0x2EA2, 0x1800, 0x40F2, 0xD47C, 0x2EA6, 0x1800,
+0x40F2, 0xD068, 0x2EAA, 0x1800, 0x40F2, 0xCC7E, 0x2EB2, 0x1800, 0x40F2,
+0xE4CA, 0x2EB6, 0x1880, 0x40F2, 0x3976, 0x2EBE, 0x1880, 0x40F2, 0x4F2A,
+0x2ECA, 0x1880, 0x40F2, 0x4E0E, 0x2EBA, 0x1880, 0x40F2, 0x4F7C, 0x2E9A,
+0x1880, 0x40F2, 0x4F4C, 0x2ECE, 0x1880, 0x40F2, 0x4F50, 0x2ED2, 0x1880,
+0x40F2, 0x4F5C, 0x2ED6, 0x1880, 0x40F2, 0x4E0A, 0x2EAE, 0x1880, 0x40F2,
+0x4F6C, 0x2EDE, 0x3C45, 0x931A, 0x2403, 0x903A, 0x0006, 0x2040, 0x1880,
+0x40F2, 0x4CFA, 0x2E96, 0x1880, 0x40F2, 0x4DBE, 0x2E9E, 0x1880, 0x40F2,
+0x4D42, 0x2EA2, 0x1880, 0x40F2, 0x49EC, 0x2EA6, 0x1880, 0x40F2, 0x4B7A,
+0x2EAA, 0x1880, 0x40F2, 0x4AE0, 0x2EB2, 0x1880, 0x40F2, 0x279A, 0x2EB6,
+0x1880, 0x40F2, 0x4F32, 0x2ECA, 0x1880, 0x40F2, 0x4E4C, 0x2EBE, 0x1880,
+0x40F2, 0x4E0E, 0x2EBA, 0x1880, 0x40F2, 0x4F7C, 0x2E9A, 0x1880, 0x40F2,
+0x4F4C, 0x2ECE, 0x1880, 0x40F2, 0x4F50, 0x2ED2, 0x1880, 0x40F2, 0x4F5C,
+0x2ED6, 0x1880, 0x40F2, 0x4E0A, 0x2EAE, 0x1880, 0x40F2, 0x4F6C, 0x2EDE,
+0x1840, 0x9392, 0x2E12, 0x2005, 0x1800, 0x40F2, 0xF384, 0x2EC2, 0x3C0D,
+0x1840, 0x93A2, 0x2E12, 0x2005, 0x1800, 0x40F2, 0xF852, 0x2EC2, 0x3C04,
+0x1800, 0x40F2, 0xF5F4, 0x2EC2, 0x1800, 0x40F2, 0xFAB0, 0x2EC6, 0x1800,
+0x40F2, 0x309B, 0x0532, 0x3D18, 0x932A, 0x2402, 0x930A, 0x205E, 0x1880,
+0x40F2, 0x3C7A, 0x2E8E, 0x1880, 0x40F2, 0x46CC, 0x2E92, 0x1880, 0x40F2,
+0x4CFA, 0x2E96, 0x1880, 0x40F2, 0x4DBE, 0x2E9E, 0x1880, 0x40F2, 0x4D42,
+0x2EA2, 0x1880, 0x40F2, 0x49EC, 0x2EA6, 0x1880, 0x40F2, 0x4B7A, 0x2EAA,
+0x1880, 0x40F2, 0x4AE0, 0x2EB2, 0x1880, 0x40F2, 0x279A, 0x2EB6, 0x1880,
+0x40F2, 0x4F32, 0x2ECA, 0x1880, 0x40F2, 0x4E4C, 0x2EBE, 0x1880, 0x40F2,
+0x4F7C, 0x2E9A, 0x1880, 0x40F2, 0x4F4C, 0x2ECE, 0x1880, 0x40F2, 0x4F50,
+0x2ED2, 0x1880, 0x40F2, 0x4F5C, 0x2ED6, 0x1880, 0x40F2, 0x4E0E, 0x2EBA,
+0x1880, 0x40F2, 0x4E0A, 0x2EAE, 0x1880, 0x40F2, 0x4F6C, 0x2EDE, 0x1840,
+0x9382, 0x2E12, 0x2404, 0x1840, 0x93A2, 0x2E12, 0x2005, 0x1880, 0x40F2,
+0x30F0, 0x2EC2, 0x3C04, 0x1880, 0x40F2, 0x301C, 0x2EC2, 0x1880, 0x40F2,
+0x4444, 0x2EC6, 0x3CB6, 0x903A, 0x0007, 0x2059, 0x1880, 0x40F2, 0x4F60,
+0x2E92, 0x1880, 0x40F2, 0x4F64, 0x2E96, 0x1880, 0x40F2, 0x4F06, 0x2EA6,
+0x1880, 0x40F2, 0x4F54, 0x2ECA, 0x1880, 0x40F2, 0x4F8A, 0x2EBE, 0x1880,
+0x40F2, 0x4E12, 0x2EB6, 0x1880, 0x40F2, 0x4F88, 0x2EC2, 0x1880, 0x40F2,
+0x4F58, 0x2EC6, 0x1880, 0x40F2, 0x3C7A, 0x2E8E, 0x1880, 0x40F2, 0x4F74,
+0x2E9E, 0x1880, 0x40F2, 0x4F68, 0x2EA2, 0x1880, 0x40F2, 0x4B18, 0x2EAA,
+0x1880, 0x40F2, 0x4ED0, 0x2EB2, 0x1880, 0x40F2, 0x4D62, 0x2E9A, 0x1880,
+0x40F2, 0x0B16, 0x2ECE, 0x1880, 0x40F2, 0x0BAA, 0x2ED2, 0x1880, 0x40F2,
+0x0C7A, 0x2ED6, 0x1880, 0x40F2, 0x0E5E, 0x2EDA, 0x1880, 0x40F2, 0x4A30,
+0x2EAE, 0x1880, 0x40F2, 0x4E0E, 0x2EBA, 0x1880, 0x40F2, 0x4F06, 0x2EA6,
+0x1880, 0x40F2, 0x4F6C, 0x2EDE, 0x3C5A, 0x923A, 0x2058, 0x1880, 0x40F2,
+0x4F60, 0x2E92, 0x1880, 0x40F2, 0x4F64, 0x2E96, 0x1880, 0x40F2, 0x4F06,
+0x2EA6, 0x1880, 0x40F2, 0x4F54, 0x2ECA, 0x1880, 0x40F2, 0x4F8A, 0x2EBE,
+0x1880, 0x40F2, 0x4E12, 0x2EB6, 0x1880, 0x40F2, 0x4F88, 0x2EC2, 0x1880,
+0x40F2, 0x4F58, 0x2EC6, 0x1880, 0x40F2, 0x4F84, 0x2E8E, 0x1880, 0x40F2,
+0x4F80, 0x2E9E, 0x1880, 0x40F2, 0x4F78, 0x2EA2, 0x1880, 0x40F2, 0x4F06,
+0x2EA6, 0x1880, 0x40F2, 0x4F00, 0x2EAA, 0x1880, 0x40F2, 0x4E1C, 0x2EB2,
+0x1880, 0x40F2, 0x4F7C, 0x2E9A, 0x1880, 0x40F2, 0x0CFC, 0x2ECE, 0x1880,
+0x40F2, 0x0D2E, 0x2ED2, 0x1880, 0x40F2, 0x0DDE, 0x2ED6, 0x1880, 0x40F2,
+0x0E76, 0x2EDA, 0x1880, 0x40F2, 0x4E0A, 0x2EAE, 0x1880, 0x40F2, 0x4E0E,
+0x2EBA, 0x1880, 0x40F2, 0x1E9A, 0x2EDE, 0x1840, 0x4382, 0x2E1A, 0x4B0C,
+0x161A, 0x0110, 0x145B, 0x4C4A, 0x008B, 0x2F02, 0x1840, 0x9382, 0x2E1A,
+0x2403, 0x4B2C, 0x13B1, 0x10F8, 0x13B1, 0x4024, 0x4B2F, 0x934A, 0x20DF,
+0x903F, 0x0007, 0x24DC, 0x923F, 0x24DA, 0x931F, 0x2403, 0x903F, 0x0006,
+0x2065, 0x403C, 0x000A, 0x13B1, 0x4D82, 0x008A, 0x2EE2, 0x0AC8, 0x00A8,
+0x000C, 0x0AC9, 0x00A9, 0x0008, 0x090F, 0xD8EF, 0x0000, 0x0AC6, 0x00A6,
+0x000D, 0x090F, 0xC6EF, 0x0000, 0x0A3F, 0x000E, 0x466E, 0x586E, 0xDECF,
+0x0000, 0x403C, 0x001E, 0x13B1, 0x4D82, 0x090F, 0xC6EF, 0x0000, 0x403A,
+0x0005, 0x4A0C, 0x13B1, 0x4D82, 0x431C, 0x13B1, 0x4D82, 0x090F, 0xD8EF,
+0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x090F, 0xD6EF, 0x0000, 0x4A0C, 0x13B1,
+0x4D82, 0x403C, 0x0064, 0x13B1, 0x4D82, 0x090F, 0xD8EF, 0x0000, 0x4A0C,
+0x13B1, 0x4D82, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x090F, 0xC6EF, 0x0000, 0x431C, 0x13B1, 0x4E9C, 0x090F,
+0xD6EF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0x4A0C,
+0x13B1, 0x4D82, 0x3DAD, 0x403C, 0x000A, 0x13B1, 0x4D82, 0x008A, 0x2EE2,
+0x4A5F, 0x0001, 0x5A6F, 0x5A5F, 0x0002, 0x0AC8, 0x00A8, 0x000C, 0x0AC9,
+0x00A9, 0x0008, 0x090D, 0x4F4E, 0x586E, 0xDECD, 0x0000, 0x0AC6, 0x00A6,
+0x000D, 0x090E, 0xC6EE, 0x0000, 0x0A3E, 0x000E, 0xDFCE, 0x0000, 0x466F,
+0x586F, 0xDFCE, 0x0000, 0xCADE, 0x0003, 0x0000, 0x403C, 0x001E, 0x13B1,
+0x4D82, 0x403A, 0x0005, 0x93AB, 0x0000, 0x090F, 0x2039, 0xC6EF, 0x0000,
+0x4A0C, 0x13B1, 0x4D82, 0x431C, 0x13B1, 0x4D82, 0x090F, 0xD8EF, 0x0000,
+0x4A0C, 0x13B1, 0x4D82, 0x090F, 0xD6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82,
+0x403C, 0x0064, 0x13B1, 0x4D82, 0x090F, 0xC8EF, 0x0000, 0x4A0C, 0x13B1,
+0x4D82, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0x090F, 0xC6EF, 0x0000, 0x431C,
+0x13B1, 0x4E9C, 0x090F, 0xD6EF, 0x0000, 0x403C, 0x0028, 0x13B1, 0x4E9C,
+0x090F, 0xD8EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x4A0C, 0x13B1, 0x4D82,
+0x3D43, 0xD6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x3D3D, 0x935A, 0x20DB,
+0x903F, 0x0007, 0x24D8, 0x923F, 0x24D6, 0x931F, 0x2403, 0x903F, 0x0006,
+0x2059, 0x008A, 0x2EE2, 0x0AC8, 0x00A8, 0x000C, 0x0AC9, 0x00A9, 0x0008,
+0x090F, 0xD8EF, 0x0000, 0x0AC6, 0x00A6, 0x000D, 0x090F, 0xC6EF, 0x0000,
+0x0A3F, 0x000E, 0x466E, 0x586E, 0xDECF, 0x0000, 0x431C, 0x13B1, 0x4D82,
+0x090F, 0xC6EF, 0x0000, 0x403A, 0x0005, 0x4A0C, 0x13B1, 0x4D82, 0x431C,
+0x13B1, 0x4D82, 0x090F, 0xC8EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x090F,
+0xD6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x403C, 0x0064, 0x13B1, 0x4D82,
+0x090F, 0xD8EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x403C, 0x0028, 0x13B1,
+0x4E9C, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x090F, 0xC6EF, 0x0000,
+0x431C, 0x13B1, 0x4E9C, 0x090F, 0xD6EF, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3F27, 0xC0F2, 0x0020, 0x0282, 0x3F23,
+0x008A, 0x2EE2, 0x4A5F, 0x0001, 0x5A6F, 0x5A5F, 0x0002, 0x0AC8, 0x00A8,
+0x000C, 0x0AC9, 0x00A9, 0x0008, 0x090D, 0x4F4E, 0x586E, 0xDECD, 0x0000,
+0x0AC6, 0x00A6, 0x000D, 0x090E, 0xC6EE, 0x0000, 0x0A3E, 0x000E, 0xDFCE,
+0x0000, 0x466F, 0x586F, 0xDFCE, 0x0000, 0xCADE, 0x0003, 0x0000, 0x431C,
+0x13B1, 0x4D82, 0x403A, 0x0005, 0x93AB, 0x0000, 0x2040, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x090F, 0xC6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82,
+0x422C, 0x13B1, 0x4D82, 0x090F, 0xC8EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82,
+0x090F, 0xD6EF, 0x0000, 0x403C, 0x0032, 0x13B1, 0x4D82, 0x090F, 0xC8EF,
+0x0000, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0x090F, 0xC6EF, 0x0000, 0x432C,
+0x13B1, 0x4E9C, 0x090F, 0xC8EF, 0x0000, 0x432C, 0x13B1, 0x4E9C, 0x090F,
+0xD6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C71, 0xC0F2, 0x0020, 0x0282, 0x3C6D, 0x090F,
+0xC8EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x090F, 0xD6EF, 0x0000, 0x4A0C,
+0x13B1, 0x4D82, 0x3C60, 0x903F, 0x0007, 0x2034, 0x403C, 0x000A, 0x13B1,
+0x4D82, 0x008A, 0x2EE2, 0x4A5F, 0x0001, 0x5A6F, 0x5A5F, 0x0002, 0x0A3D,
+0x0008, 0x4F4E, 0x5A5E, 0x000C, 0xDECD, 0x0000, 0x0A3E, 0x0008, 0xCADE,
+0x000D, 0x0000, 0x0A3E, 0x000E, 0xDFCE, 0x0000, 0x4A5F, 0x000D, 0x5A5F,
+0x000C, 0xDFCE, 0x0000, 0xCADE, 0x0003, 0x0000, 0x403C, 0x001E, 0x13B1,
+0x4D82, 0x13B1, 0x0EB4, 0x0A3F, 0x0008, 0xDADF, 0x000C, 0x0000, 0x403C,
+0x0005, 0x13B1, 0x4D82, 0x3C29, 0x923F, 0x2027, 0x403C, 0x000A, 0x13B1,
+0x4D82, 0x008A, 0x2EE2, 0x0A3F, 0x0008, 0xDAEF, 0x0000, 0x0A3F, 0x0008,
+0xCADF, 0x0001, 0x0000, 0x0A3F, 0x000E, 0x4A5E, 0x0001, 0x5A6E, 0xDECF,
+0x0000, 0x403C, 0x001E, 0x13B1, 0x4D82, 0x13B1, 0x0F02, 0x0A3F, 0x0008,
+0xDADF, 0x000C, 0x0000, 0x403C, 0x0005, 0x13B1, 0x4D82, 0x13B1, 0x0E76,
+0x92BB, 0x0000, 0x2402, 0x13B1, 0x48D6, 0x1840, 0x4382, 0x2E1A, 0x1656,
+0x0110, 0x141B, 0x002A, 0x0532, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x1800,
+0x40F2, 0x3047, 0x0532, 0x1840, 0x90B2, 0x0005, 0x2F72, 0x2402, 0x13B1,
+0x4024, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282,
+0xC232, 0x4303, 0x008D, 0x2F60, 0x0DCF, 0x00AF, 0x000C, 0x0DCE, 0x00AE,
+0x000E, 0x0E0C, 0xCFEC, 0x0000, 0x0DCC, 0x00AC, 0x000D, 0x00AD, 0x0008,
+0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0E0B, 0xCFEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0E0B, 0xCFEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E0B, 0xCFEB, 0x0000,
+0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0E0B, 0xCFEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303,
+0x0E0B, 0xCFEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0E0B, 0xDFEB, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020,
+0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0E0B, 0xCFEB, 0x0000,
+0x0D0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0E0B, 0xCFEB, 0x0000, 0x0D0B, 0xCCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0D0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0E0B, 0xDFEB, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x0A60,
+0x0532, 0x1840, 0x90B2, 0x0005, 0x2F72, 0x2402, 0x13B1, 0x48D6, 0x430C,
+0x161A, 0x0110, 0x141B, 0x1800, 0x40F2, 0x2F9F, 0x0522, 0x1840, 0x90B2,
+0x0005, 0x2F72, 0x2402, 0x13B1, 0x4024, 0x407E, 0x0006, 0x008D, 0x2F60,
+0x0DCC, 0x00AC, 0x000D, 0x0DCA, 0x00AA, 0x0008, 0x0DCF, 0x00AF, 0x000C,
+0x00AD, 0x000E, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x0D0B, 0xCFEB, 0x0000, 0x0A0B, 0xCCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0A0B, 0xDCEB, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0D0B, 0xDFEB, 0x0000, 0xD232, 0x9382, 0x4A00,
+0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x537E,
+0x23D4, 0x1800, 0x40F2, 0x3047, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0D0B, 0xCFEB, 0x0000,
+0x0A0B, 0xCCEB, 0x0000, 0x4303, 0x4303, 0x4303, 0x0A0B, 0xDCEB, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0D0B, 0xDFEB, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x3F80, 0x4303, 0x147B, 0x140D, 0x8031, 0x0006, 0x4C46,
+0x4E45, 0x42F1, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x435C, 0x13B1,
+0x4B4C, 0x4648, 0x464C, 0x13B1, 0x4B4C, 0x464A, 0x0358, 0x484C, 0x13B1,
+0x4B4C, 0x584A, 0x4648, 0x1941, 0x1048, 0x484C, 0x13B1, 0x4B4C, 0x584A,
+0x1942, 0x1046, 0x464C, 0x13B1, 0x4B4C, 0x4A4C, 0x564C, 0x13B1, 0x4B4C,
+0x434C, 0x13B1, 0x4B4C, 0x435C, 0x13B1, 0x4B4C, 0x0086, 0x2F86, 0x06C7,
+0x00A7, 0x0001, 0x476E, 0xE37E, 0x06CC, 0x00AC, 0x000E, 0x0C0F, 0xFECF,
+0x0000, 0xFEC2, 0x0223, 0x06C4, 0x00A4, 0x0008, 0x040F, 0xC6EF, 0x0000,
+0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x434E, 0x040F, 0xC6EF, 0x0000,
+0x4303, 0x4303, 0x06CD, 0x00AD, 0x0004, 0x0D0F, 0x4F6F, 0xB65F, 0x0001,
+0x2401, 0x435E, 0x040F, 0xD6EF, 0x0000, 0xD232, 0x4EC1, 0x0000, 0x434E,
+0x040F, 0xC6EF, 0x0000, 0x4303, 0x4303, 0x0D0F, 0x4F6F, 0xB65F, 0x0001,
+0x2401, 0x435E, 0x040F, 0xD6EF, 0x0000, 0xD232, 0x5E4E, 0xD16E, 0x4EC1,
+0x0000, 0x434E, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x4303, 0x0D0F, 0x4F6F,
+0xB65F, 0x0001, 0x2401, 0x435E, 0x040F, 0xD6EF, 0x0000, 0xD232, 0x1841,
+0x5E4E, 0xD16E, 0x4EC1, 0x0000, 0x93D1, 0x0000, 0x20C5, 0x9345, 0x2459,
+0x430A, 0x430B, 0x4075, 0x0020, 0x4348, 0x040F, 0xC6EF, 0x0000, 0x4303,
+0x4303, 0x0D0F, 0x4F6E, 0xB65E, 0x0001, 0x2401, 0x4358, 0x040F, 0xD6EF,
+0x0000, 0xD232, 0x4309, 0x580A, 0x630B, 0x1008, 0x1009, 0x411E, 0x0002,
+0x411F, 0x0004, 0x035F, 0x100E, 0xD90F, 0x4E81, 0x0002, 0x4F81, 0x0004,
+0x5375, 0x23DE, 0x434E, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x4303, 0x0D0F,
+0x4F6F, 0xB65F, 0x0001, 0x2401, 0x435E, 0x040F, 0xD6EF, 0x0000, 0xD232,
+0xF35A, 0xEE4A, 0x2402, 0x42F1, 0x0000, 0x013F, 0x0006, 0x03DF, 0x240C,
+0x411E, 0x0002, 0x411F, 0x0004, 0x013B, 0x0006, 0x4E8B, 0x0000, 0x4F8B,
+0x0002, 0x43D1, 0x0000, 0x0C0F, 0xD7EF, 0x0000, 0xD7E2, 0x0223, 0x040F,
+0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x3CB9, 0x0C0F,
+0xD7EF, 0x0000, 0xD7E2, 0x0223, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F,
+0xD6EF, 0x0000, 0x4303, 0x013F, 0x0006, 0x1840, 0x4FA1, 0x0002, 0x1840,
+0x4F91, 0x0002, 0x0004, 0x430A, 0x4078, 0x0020, 0x415C, 0x0002, 0x13B1,
+0x4B4C, 0x511A, 0x0002, 0x411E, 0x0002, 0x411F, 0x0004, 0x035F, 0x100E,
+0x4E81, 0x0002, 0x4F81, 0x0004, 0x5378, 0x23EE, 0x4A4C, 0x13B1, 0x4B4C,
+0x040F, 0xC7EF, 0x0000, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF,
+0x0000, 0x4303, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000,
+0x4303, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303,
+0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x040F,
+0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x040F, 0xC6EF,
+0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x040F, 0xC6EF, 0x0000,
+0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x3C4C, 0x93E1, 0x0000, 0x2403,
+0x92E1, 0x0000, 0x202D, 0x9345, 0x240C, 0x407E, 0x0021, 0x040F, 0xC6EF,
+0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x537E, 0x23F6, 0x0C0F,
+0xD7EF, 0x0000, 0xD7E2, 0x0223, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F,
+0xD6EF, 0x0000, 0x4303, 0x9345, 0x2029, 0x040F, 0xC7EF, 0x0000, 0x407E,
+0x0021, 0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303,
+0x537E, 0x23F6, 0x3C19, 0x0C0F, 0xD7EF, 0x0000, 0xD7E2, 0x0223, 0x040F,
+0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x407E, 0x0022,
+0x040F, 0xC6EF, 0x0000, 0x4303, 0x040F, 0xD6EF, 0x0000, 0x4303, 0x537E,
+0x23F6, 0x040F, 0xD7EF, 0x0000, 0x416C, 0x5031, 0x000A, 0x1674, 0x0110,
+0x008F, 0x2F4A, 0x1841, 0x5C4C, 0xF07C, 0x003C, 0x4F5E, 0x0001, 0xF07E,
+0x00C3, 0xDC4E, 0x4ECF, 0x0001, 0x4DCF, 0x0000, 0xE0FF, 0x0040, 0x0001,
+0x1840, 0x4382, 0x2F5E, 0x40B2, 0x5A19, 0x015C, 0xD392, 0x0100, 0xC392,
+0x0102, 0xB0F2, 0x0040, 0x0240, 0x2C04, 0x1840, 0x9382, 0x2F5E, 0x27F8,
+0x40B2, 0x5A80, 0x015C, 0xC392, 0x0100, 0xC392, 0x0102, 0x4FA2, 0x0202,
+0x0110, 0x434D, 0x407C, 0x000D, 0x13B1, 0x21E0, 0x4382, 0x0224, 0xC3E2,
+0x0263, 0xB0F2, 0x0040, 0x0240, 0x2BFC, 0x421C, 0x0220, 0x008F, 0x2F4A,
+0xF0FF, 0x00C3, 0x0001, 0x43CF, 0x0000, 0x4FA2, 0x0202, 0xD3E2, 0x0263,
+0x43B2, 0x0224, 0x0110, 0x4382, 0x0224, 0xC3E2, 0x0263, 0x934C, 0x2005,
+0x3C29, 0xE3E2, 0x0263, 0xE3E2, 0x0263, 0x1840, 0x4382, 0x2F5E, 0x40B2,
+0x5A19, 0x015C, 0xD392, 0x0100, 0xC392, 0x0102, 0xB0F2, 0x0040, 0x0240,
+0x2C04, 0x1840, 0x9382, 0x2F5E, 0x27F8, 0x40B2, 0x5A80, 0x015C, 0xC392,
+0x0100, 0xC392, 0x0102, 0x4C4F, 0x533F, 0xE03F, 0x8000, 0x0FEF, 0x0DEF,
+0x184F, 0x429F, 0x0220, 0x0000, 0x537C, 0x23D7, 0x3FCA, 0x4303, 0x141B,
+0xD3E2, 0x0263, 0x43B2, 0x0224, 0x008A, 0x2F4A, 0x1841, 0x5C4C, 0xF07C,
+0x003C, 0x4A5B, 0x0001, 0xF07B, 0x00C3, 0xDC4B, 0x4BCA, 0x0001, 0x4DCA,
+0x0000, 0x1840, 0x4382, 0x2F5E, 0x40B2, 0x5A19, 0x015C, 0xD392, 0x0100,
+0xC392, 0x0102, 0xB0F2, 0x0040, 0x0240, 0x2C04, 0x1840, 0x9382, 0x2F5E,
+0x27F8, 0x40B2, 0x5A80, 0x015C, 0xC392, 0x0100, 0xC392, 0x0102, 0x4F4F,
+0x4F0D, 0x0DED, 0x0DEE, 0x03FE, 0x4EA2, 0x0222, 0xE0FA, 0x0040, 0x0001,
+0x4AA2, 0x0202, 0x537F, 0x03FE, 0x934F, 0x23F5, 0x161A, 0x0110, 0x4382,
+0x0224, 0xC3E2, 0x0263, 0x934C, 0x2005, 0x3C11, 0xE3E2, 0x0263, 0xE3E2,
+0x0263, 0xB0F2, 0x0040, 0x0240, 0x2BFC, 0x537C, 0x4C4F, 0x0FEF, 0x0DEF,
+0x429F, 0x0220, 0x0000, 0x934C, 0x23EF, 0x3F71, 0x4303, 0x143B, 0xD3E2,
+0x0263, 0x43B2, 0x0224, 0x008A, 0x2F4A, 0x1841, 0x5C4C, 0xF07C, 0x003C,
+0x4A5B, 0x0001, 0xF07B, 0x00C3, 0xDC4B, 0x4BCA, 0x0001, 0x4DCA, 0x0000,
+0x434D, 0x934F, 0x243F, 0x4F4C, 0xF07C, 0x0003, 0x407B, 0x0040, 0x240C,
+0x4D48, 0x08E8, 0x0EE8, 0x48A2, 0x0222, 0x535D, 0xEBCA, 0x0001, 0x4AA2,
+0x0202, 0x537C, 0x23F4, 0x1941, 0x104F, 0x242A, 0x4D48, 0x08E8, 0x0EE8,
+0x48A2, 0x0222, 0x535D, 0xEBCA, 0x0001, 0x4AA2, 0x0202, 0x4D48, 0x08E8,
+0x0EE8, 0x48A2, 0x0222, 0x535D, 0xEBCA, 0x0001, 0x4AA2, 0x0202, 0x4D48,
+0x08E8, 0x0EE8, 0x48A2, 0x0222, 0x535D, 0xEBCA, 0x0001, 0x4AA2, 0x0202,
+0x4D48, 0x08E8, 0x0EE8, 0x48A2, 0x0222, 0x535D, 0xEBCA, 0x0001, 0x4AA2,
+0x0202, 0x537F, 0x23D6, 0x1638, 0x0110, 0x140A, 0xD3E2, 0x0263, 0x43B2,
+0x0224, 0x008F, 0x2F4A, 0x1841, 0x5C4C, 0xF07C, 0x003C, 0x4F5A, 0x0001,
+0xF07A, 0x00C3, 0xDC4A, 0x4ACF, 0x0001, 0x4DCF, 0x0000, 0xE0FF, 0x0040,
+0x0001, 0x1840, 0x4382, 0x2F5E, 0x40B2, 0x5A19, 0x015C, 0xD392, 0x0100,
+0xC392, 0x0102, 0xB0F2, 0x0040, 0x0240, 0x2C04, 0x1840, 0x9382, 0x2F5E,
+0x27F8, 0x40B2, 0x5A80, 0x015C, 0xC392, 0x0100, 0xC392, 0x0102, 0x4E82,
+0x0222, 0x4FA2, 0x0202, 0x160A, 0x0110, 0x008F, 0x2F4A, 0x1841, 0x5C4C,
+0xF07C, 0x003C, 0x4F5E, 0x0001, 0xF07E, 0x00C3, 0xDC4E, 0x4ECF, 0x0001,
+0x4DCF, 0x0000, 0xE0FF, 0x0040, 0x0001, 0xB0F2, 0x0040, 0x0240, 0x2BFC,
+0x3EB0, 0x4303, 0x145B, 0x4C49, 0x4308, 0x403A, 0x0005, 0x008B, 0x2F02,
+0x9A8B, 0x0000, 0x2007, 0x422E, 0x435D, 0x434C, 0x13B1, 0x243C, 0x439B,
+0x0000, 0x13B1, 0x4024, 0x4B2F, 0x831F, 0x2409, 0x831F, 0x2475, 0x822F,
+0x2405, 0x831F, 0x2502, 0x831F, 0x2509, 0x3D0D, 0x9359, 0x2016, 0x0089,
+0x2EE2, 0x09C6, 0x00A6, 0x000D, 0x09C7, 0x00A7, 0x0008, 0x070F, 0xC6EF,
+0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x431C, 0x13B1, 0x4D82, 0x070F, 0xC9DF,
+0x000C, 0x0000, 0x3C17, 0x9349, 0x204D, 0x0089, 0x2EE2, 0x09C6, 0x00A6,
+0x000D, 0x09C7, 0x00A7, 0x0008, 0x070F, 0xC6EF, 0x0000, 0x4A0C, 0x13B1,
+0x4D82, 0x431C, 0x13B1, 0x4D82, 0x070F, 0xD9DF, 0x000C, 0x0000, 0x4A0C,
+0x13B1, 0x4D82, 0x070F, 0xD6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x403C,
+0x0064, 0x13B1, 0x4D82, 0x070F, 0xD9DF, 0x000C, 0x0000, 0x4A0C, 0x13B1,
+0x4D82, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x070F, 0xC6EF, 0x0000, 0x431C, 0x13B1, 0x4E9C, 0x070F, 0xD6EF,
+0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03,
+0xC0F2, 0x0020, 0x0282, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0x4A0C, 0x13B1,
+0x4D82, 0x939B, 0x0000, 0x2002, 0x4318, 0x3CC1, 0x4328, 0x3CBC, 0x9359,
+0x204B, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0089, 0x2EE2, 0x09C6,
+0x00A6, 0x000D, 0x09C7, 0x00A7, 0x0008, 0x070F, 0xC6EF, 0x0000, 0x4A0C,
+0x13B1, 0x4D82, 0x422C, 0x13B1, 0x4D82, 0x070F, 0xC9DF, 0x000C, 0x0000,
+0x4A0C, 0x13B1, 0x4D82, 0x070F, 0xD6EF, 0x0000, 0x403C, 0x0032, 0x13B1,
+0x4D82, 0x070F, 0xC9DF, 0x000C, 0x0000, 0x403C, 0x0028, 0x13B1, 0x4E9C,
+0x070F, 0xC6EF, 0x0000, 0x432C, 0x13B1, 0x4E9C, 0x070F, 0xC9DF, 0x000C,
+0x0000, 0x432C, 0x13B1, 0x4E9C, 0x070F, 0xD6EF, 0x0000, 0x4A0C, 0x13B1,
+0x4D82, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C73,
+0xC0F2, 0x0020, 0x0282, 0x3C6F, 0x9349, 0x2070, 0x0089, 0x2EE2, 0x09C6,
+0x00A6, 0x000D, 0x09C7, 0x00A7, 0x0008, 0x070F, 0xC6EF, 0x0000, 0x4A0C,
+0x13B1, 0x4D82, 0x431C, 0x13B1, 0x4D82, 0x070F, 0xD9DF, 0x000C, 0x0000,
+0x4A0C, 0x13B1, 0x4D82, 0x070F, 0xD6EF, 0x0000, 0x4A0C, 0x13B1, 0x4D82,
+0x403C, 0x0064, 0x13B1, 0x4D82, 0x070F, 0xC9DF, 0x000C, 0x0000, 0x4A0C,
+0x13B1, 0x4D82, 0x403C, 0x0028, 0x13B1, 0x4E9C, 0x070F, 0xC6EF, 0x0000,
+0x431C, 0x13B1, 0x4E9C, 0x070F, 0xD6EF, 0x0000, 0x403C, 0x0028, 0x13B1,
+0x4E9C, 0x070F, 0xD9DF, 0x000C, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x3C28,
+0x13B1, 0x0EB4, 0x002F, 0x2EEA, 0x1840, 0xD2DF, 0x2EEE, 0x0000, 0x3C1F,
+0x13B1, 0x0F02, 0x13B1, 0x4E8E, 0x3C1D, 0x9359, 0x2010, 0x0089, 0x2EE2,
+0x093F, 0x0008, 0xC9DF, 0x000C, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x093F,
+0x0008, 0xD9DF, 0x000D, 0x0000, 0x3C08, 0x9349, 0x2009, 0x002F, 0x2EEA,
+0x1840, 0xD2DF, 0x2EEF, 0x0000, 0x4A0C, 0x13B1, 0x4D82, 0x92BB, 0x0000,
+0x2413, 0x13B1, 0x48D6, 0x480E, 0x435D, 0x434C, 0x13B1, 0x243C, 0x90BB,
+0x0007, 0x0000, 0x2002, 0x431E, 0x3C01, 0x430E, 0x407D, 0x000D, 0x434C,
+0x13B1, 0x243C, 0x1656, 0x0110, 0x147B, 0x120F, 0x120E, 0x120D, 0x120C,
+0x8031, 0x0058, 0x411F, 0x0084, 0x4F07, 0x43C1, 0x0002, 0x035F, 0x4F81,
+0x0004, 0x410F, 0x530F, 0x0F71, 0x0044, 0x503F, 0x0006, 0x0F71, 0x0040,
+0x503F, 0x0032, 0x0F71, 0x003C, 0x823F, 0x0F71, 0x0034, 0x823F, 0x0F71,
+0x002C, 0x503F, 0xFFDE, 0x0F71, 0x0024, 0x503F, 0x0016, 0x0F71, 0x0020,
+0x503F, 0xFFEE, 0x0F71, 0x0018, 0x503F, 0xFFF6, 0x0F71, 0x0014, 0x503F,
+0x0048, 0x0F71, 0x0010, 0x523F, 0x0F71, 0x000C, 0x4191, 0x0086, 0x0086,
+0x410F, 0x503F, 0x0058, 0x4FB1, 0x0050, 0x4FB1, 0x0052, 0x4FB1, 0x0054,
+0x4FB1, 0x0056, 0x426F, 0x013E, 0x000C, 0x407D, 0x0040, 0x407C, 0x0007,
+0x13B1, 0x22DA, 0x013D, 0x0010, 0x426C, 0x13B1, 0x2276, 0x410F, 0x503F,
+0x0048, 0x4F38, 0x4F39, 0x4F3A, 0x4F3B, 0x4B0F, 0x108F, 0x4F46, 0xF036,
+0x00C7, 0xB226, 0x2CC6, 0x9076, 0x0083, 0x2004, 0x40F1, 0x002A, 0x0002,
+0x3CAA, 0xB036, 0x0040, 0x2806, 0x464E, 0xF07E, 0x00C0, 0x907E, 0x00C0,
+0x20C4, 0x9076, 0x0081, 0x2012, 0x407D, 0x0046, 0x435C, 0x13B1, 0x21E0,
+0x013D, 0x0014, 0x435C, 0x13B1, 0x2276, 0x1840, 0x40B2, 0x0046, 0x2F98,
+0x40F1, 0x003A, 0x0002, 0x3C8C, 0x464E, 0xF07E, 0x00C3, 0x935E, 0x2404,
+0x934E, 0x2402, 0x936E, 0x2069, 0x9381, 0x0004, 0x24A3, 0x90B1, 0x0021,
+0x0086, 0x289F, 0x407D, 0x0054, 0x435C, 0x13B1, 0x21E0, 0x013D, 0x0018,
+0x435C, 0x13B1, 0x2276, 0x1840, 0x40B2, 0x0054, 0x2F98, 0x4381, 0x001C,
+0x4381, 0x001E, 0x436F, 0x013E, 0x0020, 0x407D, 0x0020, 0x407C, 0x0007,
+0x13B1, 0x22DA, 0x013D, 0x0024, 0x436C, 0x13B1, 0x2276, 0x4114, 0x0006,
+0x4115, 0x0008, 0xD035, 0x0200, 0x4481, 0x0028, 0x4581, 0x002A, 0x436F,
+0x013E, 0x002C, 0x407D, 0x0020, 0x407C, 0x0007, 0x13B1, 0x22DA, 0x013D,
+0x0034, 0x436C, 0x13B1, 0x2276, 0xF035, 0xFDFF, 0x4481, 0x0038, 0x4581,
+0x003A, 0x436F, 0x013E, 0x003C, 0x407D, 0x0020, 0x407C, 0x0007, 0x13B1,
+0x22DA, 0x013D, 0x0040, 0x436C, 0x13B1, 0x2276, 0x407D, 0x0046, 0x435C,
+0x13B1, 0x21E0, 0x013D, 0x0044, 0x435C, 0x13B1, 0x2276, 0x1840, 0x40B2,
+0x0046, 0x2F98, 0x411F, 0x0004, 0x533F, 0x4F81, 0x0004, 0x5037, 0x0005,
+0x3C1A, 0x9076, 0x0003, 0x2414, 0x9076, 0x0082, 0x2411, 0x9076, 0x0080,
+0x240E, 0x464E, 0xF07E, 0x00C0, 0x907E, 0x00C0, 0x2003, 0x407E, 0x001A,
+0x3C02, 0x407E, 0x003A, 0x4EC1, 0x0002, 0x3C03, 0x40F1, 0x001A, 0x0002,
+0x9307, 0x2421, 0x5337, 0x90F1, 0x003A, 0x0002, 0x2721, 0x90F1, 0x002A,
+0x0002, 0x271D, 0x9076, 0x0082, 0x2407, 0x9076, 0x0080, 0x2404, 0x9346,
+0x2402, 0x9366, 0x200E, 0x407D, 0x0046, 0x435C, 0x13B1, 0x21E0, 0x410D,
+0x530D, 0x435C, 0x13B1, 0x2276, 0x1840, 0x40B2, 0x0046, 0x2F98, 0x480C,
+0x490D, 0x4A0E, 0x4B0F, 0x5031, 0x0060, 0x1674, 0x0110, 0x140A, 0x8221,
+0x4381, 0x0000, 0x4381, 0x0002, 0xB2B2, 0x070A, 0x2BFD, 0x4291, 0x0720,
+0x0000, 0x4381, 0x0002, 0x421F, 0x1A16, 0x1202, 0xC232, 0x4303, 0x4F82,
+0x04C0, 0x4192, 0x0002, 0x04C8, 0x4F82, 0x04C4, 0x421C, 0x04CA, 0x4292,
+0x04CC, 0x04CA, 0x4192, 0x0004, 0x04C8, 0x421D, 0x04CA, 0x4132, 0x403E,
+0x8000, 0x430F, 0x13B1, 0x4964, 0x421E, 0x1A18, 0x4E0F, 0xE33F, 0x5F0F,
+0x7F0F, 0x5E0C, 0x6F0D, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x008A, 0x2F44,
+0x412C, 0x411D, 0x0002, 0x403E, 0x09C4, 0x430F, 0x13B1, 0x4D20, 0x403E,
+0x1000, 0x430F, 0x13B1, 0x4964, 0x403E, 0x01B8, 0x430F, 0x13B1, 0x4D20,
+0x403E, 0x00DC, 0x430F, 0x13B1, 0x4964, 0x4A2F, 0x0FEF, 0x1840, 0x4C8F,
+0x2F12, 0x431F, 0x5A2F, 0x923F, 0x2001, 0x430F, 0x4F8A, 0x0000, 0x4291,
+0x0722, 0x0000, 0x4381, 0x0002, 0x421F, 0x1A16, 0x1202, 0xC232, 0x4303,
+0x4F82, 0x04C0, 0x4192, 0x0002, 0x04C8, 0x4F82, 0x04C4, 0x421C, 0x04CA,
+0x4292, 0x04CC, 0x04CA, 0x4192, 0x0004, 0x04C8, 0x421D, 0x04CA, 0x4132,
+0x403E, 0x8000, 0x430F, 0x13B1, 0x4964, 0x421E, 0x1A18, 0x4E0F, 0xE33F,
+0x5F0F, 0x7F0F, 0x5E0C, 0x6F0D, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x1840,
+0x421A, 0x2F48, 0x0AEA, 0x9381, 0x0002, 0x381F, 0x2003, 0x9391, 0x0000,
+0x281B, 0x412C, 0x411D, 0x0002, 0x403E, 0x09C4, 0x430F, 0x13B1, 0x4D20,
+0x403E, 0x1000, 0x430F, 0x13B1, 0x4964, 0x403E, 0x012C, 0x430F, 0x13B1,
+0x4D20, 0x403E, 0x0096, 0x430F, 0x13B1, 0x4964, 0x1840, 0x4C8A, 0x2F34,
+0x3C03, 0x1840, 0x438A, 0x2F34, 0x431F, 0x1840, 0x521F, 0x2F48, 0x923F,
+0x2001, 0x430F, 0x1840, 0x4F82, 0x2F48, 0x4291, 0x0724, 0x0000, 0x4381,
+0x0002, 0x421F, 0x1A16, 0x1202, 0xC232, 0x4303, 0x4F82, 0x04C0, 0x4192,
+0x0002, 0x04C8, 0x4F82, 0x04C4, 0x421C, 0x04CA, 0x4292, 0x04CC, 0x04CA,
+0x4192, 0x0004, 0x04C8, 0x421D, 0x04CA, 0x4132, 0x403E, 0x8000, 0x430F,
+0x13B1, 0x4964, 0x421E, 0x1A18, 0x4E0F, 0xE33F, 0x5F0F, 0x7F0F, 0x5E0C,
+0x6F0D, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x008A, 0x2F46, 0x412C, 0x411D,
+0x0002, 0x403E, 0x09C4, 0x430F, 0x13B1, 0x4D20, 0x403E, 0x1000, 0x430F,
+0x13B1, 0x4964, 0x403E, 0x012C, 0x430F, 0x13B1, 0x4D20, 0x403E, 0x0096,
+0x430F, 0x13B1, 0x4964, 0x4A2F, 0x0FEF, 0x1840, 0x4C8F, 0x2F24, 0x431F,
+0x5A2F, 0x923F, 0x2001, 0x430F, 0x4F8A, 0x0000, 0x421C, 0x0726, 0x430D,
+0x13B1, 0x43BC, 0x430E, 0x403F, 0x447A, 0x13B1, 0x35E4, 0x430E, 0x403F,
+0x4020, 0x13B1, 0x35E4, 0x430E, 0x403F, 0x4580, 0x13B1, 0x34A4, 0x13B1,
+0x4EE0, 0x1840, 0x4C82, 0x2F22, 0x5221, 0x160A, 0x0110, 0x143B, 0x430A,
+0x403B, 0x0190, 0x430F, 0x1840, 0x4C82, 0x2E14, 0x903C, 0x0960, 0x2C02,
+0x403B, 0x0320, 0x4382, 0x070C, 0x1840, 0x421C, 0x2E14, 0x430D, 0x13B1,
+0x43BC, 0x430E, 0x403F, 0x447A, 0x13B1, 0x34A4, 0x430E, 0x403F, 0x444D,
+0x13B1, 0x35E4, 0x13B1, 0x4EE0, 0x13B1, 0x4F46, 0x90B2, 0x0C11, 0x0794,
+0x2804, 0x40B2, 0x0C10, 0x0794, 0x3C0E, 0x90B2, 0x0551, 0x0794, 0x2C0A,
+0x40B2, 0x0552, 0x0794, 0x3C06, 0x421C, 0x0794, 0x503C, 0x0064, 0x13B1,
+0x4F46, 0x903A, 0x0003, 0x34AC, 0x4B0F, 0x4F0B, 0x533B, 0x931F, 0x38A7,
+0x430C, 0x430F, 0x4308, 0x3C0A, 0xD392, 0x0700, 0x13B1, 0x2A16, 0xC392,
+0x0700, 0x403C, 0x0014, 0x13B1, 0x4E9C, 0x480F, 0x4F08, 0x5318, 0x903F,
+0x002B, 0x3BF0, 0x13B1, 0x45EC, 0x403F, 0xFFF6, 0x1840, 0x521F, 0x2E14,
+0x9F0C, 0x2C3D, 0x430A, 0x1840, 0x421F, 0x2E14, 0x8C0F, 0x903F, 0x01F5,
+0x3807, 0x421E, 0x0794, 0x503E, 0x0064, 0x903E, 0x0C11, 0x2BC6, 0x903F,
+0x0065, 0x380E, 0x421E, 0x0794, 0x503E, 0x001E, 0x903E, 0x0C11, 0x2C07,
+0x421C, 0x0794, 0x503C, 0x001E, 0x13B1, 0x4F46, 0x3FBB, 0x903F, 0x0015,
+0x380E, 0x421F, 0x0794, 0x503F, 0x0005, 0x903F, 0x0C11, 0x2C07, 0x421C,
+0x0794, 0x503C, 0x0005, 0x13B1, 0x4F46, 0x3FAA, 0x421F, 0x0794, 0x531F,
+0x903F, 0x0C11, 0x2FA4, 0x421C, 0x0794, 0x531C, 0x13B1, 0x4F46, 0x3F9E,
+0x403F, 0x000A, 0x1840, 0x521F, 0x2E14, 0x9C0F, 0x2C44, 0x4C0F, 0x1840,
+0x821F, 0x2E14, 0x430A, 0x903F, 0x01F5, 0x380E, 0x421E, 0x0794, 0x503E,
+0xFF9C, 0x903E, 0x0551, 0x2807, 0x421C, 0x0794, 0x503C, 0xFF9C, 0x13B1,
+0x4F46, 0x3F81, 0x903F, 0x0065, 0x380E, 0x421E, 0x0794, 0x503E, 0xFFE2,
+0x903E, 0x0551, 0x2807, 0x421C, 0x0794, 0x503C, 0xFFE2, 0x13B1, 0x4F46,
+0x3F70, 0x903F, 0x0015, 0x380E, 0x421F, 0x0794, 0x503F, 0xFFFB, 0x903F,
+0x0551, 0x2807, 0x421C, 0x0794, 0x503C, 0xFFFB, 0x13B1, 0x4F46, 0x3F5F,
+0x421F, 0x0794, 0x533F, 0x903F, 0x0551, 0x2B59, 0x421C, 0x0794, 0x533C,
+0x13B1, 0x4F46, 0x3F53, 0x531A, 0x3F51, 0x42B2, 0x070C, 0x903A, 0x0003,
+0x3802, 0x431C, 0x3C01, 0x430C, 0x1638, 0x0110, 0x143B, 0x430A, 0x403B,
+0x0190, 0x430F, 0x903C, 0x0898, 0x2C02, 0x403B, 0x0320, 0x4382, 0x070C,
+0x1840, 0x421C, 0x2E14, 0x430D, 0x13B1, 0x43BC, 0x430E, 0x403F, 0x447A,
+0x13B1, 0x34A4, 0x403E, 0x6000, 0x403F, 0xC4D5, 0x13B1, 0x35E4, 0x403E,
+0x0800, 0x403F, 0x45C0, 0x13B1, 0x31C4, 0x13B1, 0x4EE0, 0x13B1, 0x4F3A,
+0x90B2, 0x0D01, 0x0784, 0x280A, 0x40B2, 0x0D00, 0x0784, 0x3C06, 0x421C,
+0x0784, 0x503C, 0xFF9C, 0x13B1, 0x4F3A, 0x903A, 0x0003, 0x34A6, 0x4B0F,
+0x4F0B, 0x533B, 0x931F, 0x38A1, 0x430C, 0x430F, 0x4308, 0x3C0A, 0xD392,
+0x0700, 0x13B1, 0x2A16, 0xC392, 0x0700, 0x403C, 0x0014, 0x13B1, 0x4E9C,
+0x480F, 0x4F08, 0x5318, 0x903F, 0x002B, 0x3BF0, 0x13B1, 0x456A, 0x403F,
+0xFFF6, 0x1840, 0x521F, 0x2E14, 0x9F0C, 0x2C38, 0x1840, 0x421F, 0x2E14,
+0x8C0F, 0x903F, 0x01F5, 0x3806, 0x421E, 0x0784, 0x503E, 0xFF9C, 0x930E,
+0x23C8, 0x903F, 0x0065, 0x380D, 0x421E, 0x0784, 0x503E, 0xFFE2, 0x930E,
+0x2407, 0x421C, 0x0784, 0x503C, 0xFFE2, 0x13B1, 0x4F3A, 0x3FBE, 0x903F,
+0x0015, 0x380D, 0x421F, 0x0784, 0x503F, 0xFFFB, 0x930F, 0x2407, 0x421C,
+0x0784, 0x503C, 0xFFFB, 0x13B1, 0x4F3A, 0x3FAE, 0x421F, 0x0784, 0x533F,
+0x930F, 0x27A9, 0x421C, 0x0784, 0x533C, 0x13B1, 0x4F3A, 0x3FA3, 0x403F,
+0x000A, 0x1840, 0x521F, 0x2E14, 0x9C0F, 0x2C43, 0x4C0F, 0x1840, 0x821F,
+0x2E14, 0x903F, 0x01F5, 0x380E, 0x421E, 0x0784, 0x503E, 0x0064, 0x903E,
+0x0D01, 0x2C07, 0x421C, 0x0784, 0x503C, 0x0064, 0x13B1, 0x4F3A, 0x3F87,
+0x903F, 0x0065, 0x380E, 0x421E, 0x0784, 0x503E, 0x001E, 0x903E, 0x0D01,
+0x2C07, 0x421C, 0x0784, 0x503C, 0x001E, 0x13B1, 0x4F3A, 0x3F76, 0x903F,
+0x0015, 0x380E, 0x421F, 0x0784, 0x503F, 0x0005, 0x903F, 0x0D01, 0x2C07,
+0x421C, 0x0784, 0x503C, 0x0005, 0x13B1, 0x4F3A, 0x3F65, 0x421F, 0x0784,
+0x531F, 0x903F, 0x0D01, 0x2F5F, 0x421C, 0x0784, 0x531C, 0x13B1, 0x4F3A,
+0x3F59, 0x531A, 0x3F57, 0x42B2, 0x070C, 0x903A, 0x0003, 0x3802, 0x431C,
+0x3C01, 0x430C, 0x1638, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x13B1, 0x4024,
+0x4A0F, 0xDB0F, 0x930F, 0x245D, 0x008F, 0x2F74, 0x0FCE, 0x00AE, 0x0001,
+0x0FCD, 0x00AD, 0x0008, 0x0D0C, 0xDFDC, 0x0002, 0x0000, 0x4303, 0x0D0C,
+0xCFEC, 0x0000, 0x4303, 0x0D0C, 0xDEEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC,
+0x0000, 0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303, 0x0D0C, 0xCEEC, 0x0000,
+0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303,
+0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303, 0x0D0C,
+0xDEEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C, 0xCFEC,
+0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C, 0xCEEC, 0x0000,
+0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0D0C, 0xCFDC, 0x0002, 0x0000,
+0x4303, 0x533A, 0x633B, 0x4A0C, 0xDB0C, 0x930C, 0x23AB, 0x13B1, 0x48D6,
+0x161A, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x13B1, 0x4024, 0x4A0F, 0xDB0F,
+0x930F, 0x245D, 0x008F, 0x2F74, 0x0FCE, 0x00AE, 0x0001, 0x0FCD, 0x00AD,
+0x0008, 0x0D0C, 0xDFDC, 0x0002, 0x0000, 0x4303, 0x0D0C, 0xCFDC, 0x0002,
+0x0000, 0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303, 0x0D0C, 0xDEEC, 0x0000,
+0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303,
+0x0D0C, 0xCEEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C,
+0xCFEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303, 0x0D0C, 0xCFEC,
+0x0000, 0x4303, 0x0D0C, 0xDEEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000,
+0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303, 0x0D0C, 0xDFEC, 0x0000, 0x4303,
+0x0D0C, 0xCEEC, 0x0000, 0x4303, 0x0D0C, 0xCFEC, 0x0000, 0x4303, 0x0D0C,
+0xDFEC, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x533A,
+0x633B, 0x4A0C, 0xDB0C, 0x930C, 0x23AB, 0x3F95, 0x4303, 0xE03F, 0x8000,
+0x1800, 0x1246, 0x4D06, 0x5606, 0x9036, 0xFF01, 0x2CAD, 0x4F06, 0x5606,
+0x9036, 0xFF01, 0x2C0E, 0x4D06, 0x5606, 0x9036, 0xFF00, 0x200B, 0x4F06,
+0x5606, 0x9036, 0xFF00, 0x209E, 0x4D06, 0xEF06, 0x5606, 0x289A, 0x433D,
+0x3C98, 0x4F06, 0x5606, 0x9036, 0xFF00, 0x2407, 0xB03F, 0x7FFF, 0x2007,
+0x4D06, 0x5606, 0x208D, 0x288C, 0x4E0C, 0x4F0D, 0x3C89, 0xB03D, 0x7FFF,
+0x27FA, 0x1800, 0x1249, 0x1800, 0x1248, 0x1800, 0x1247, 0x4D06, 0x4F07,
+0x5606, 0x5707, 0x9607, 0x2809, 0x2002, 0x9C0E, 0x2806, 0xED0F, 0xEF0D,
+0xED0F, 0xEC0E, 0xEE0C, 0xEC0E, 0x4F06, 0x5606, 0x6909, 0x1086, 0xD07F,
+0x0080, 0x4D08, 0x5808, 0x6909, 0x1088, 0xF378, 0xD07D, 0x0080, 0x4307,
+0x8846, 0x2415, 0x9076, 0xFFF1, 0x2C0D, 0x9076, 0xFFE8, 0x2846, 0x4E07,
+0x4F0E, 0x430F, 0x5076, 0x0010, 0x2409, 0x9347, 0x2402, 0xD037, 0x0100,
+0x110F, 0x100E, 0x1007, 0x5356, 0x23FB, 0x4906, 0x1106, 0xE906, 0xB316,
+0x242F, 0xE337, 0x5317, 0x7E0C, 0x7F4D, 0x2010, 0x930C, 0x2007, 0x9307,
+0x2438, 0x1087, 0x474D, 0x8038, 0x0018, 0x3C06, 0x108C, 0x4C4D, 0xED0C,
+0x1087, 0xD70C, 0x8238, 0x4307, 0x5707, 0x6C0C, 0x6D4D, 0x2C09, 0x8318,
+0x5707, 0x6C0C, 0x6D4D, 0x2C04, 0x8318, 0x5C0C, 0x6D4D, 0x2BFC, 0x9318,
+0x3411, 0x430D, 0x3C05, 0x5358, 0x9378, 0x200C, 0x403D, 0xFF00, 0x430C,
+0x1009, 0x100D, 0x3C12, 0x5E0C, 0x6F4D, 0x2FF4, 0x5707, 0x6C0C, 0x6D4D,
+0x1088, 0xD80D, 0x1009, 0x100D, 0x100C, 0x2806, 0x9307, 0x2002, 0xB31C,
+0x2402, 0x531C, 0x630D, 0x1800, 0x4177, 0x1800, 0x4178, 0x1800, 0x4179,
+0x1800, 0x4176, 0x0110, 0x140A, 0x8031, 0x0006, 0x4381, 0x0002, 0x4381,
+0x0004, 0x4381, 0x0000, 0x13B1, 0x4CD4, 0x4C81, 0x0002, 0x13B1, 0x456A,
+0x4C81, 0x0004, 0x008A, 0x2F08, 0x938A, 0x0000, 0x2408, 0xD3D2, 0x0263,
+0x403C, 0x01F4, 0x13B1, 0x4D82, 0x438A, 0x0000, 0x13B1, 0x4F0A, 0x903C,
+0x0119, 0x280A, 0xC3D2, 0x0263, 0x439A, 0x0000, 0x403C, 0x03E8, 0x13B1,
+0x4D82, 0x431C, 0x3C88, 0x90B1, 0x0640, 0x0002, 0x2804, 0x90B1, 0x0ED9,
+0x0002, 0x2808, 0x1840, 0x9382, 0x2E16, 0x2404, 0x1840, 0x4382, 0x2E16,
+0x3C77, 0x90B1, 0x0641, 0x0002, 0x2813, 0x90B1, 0x0ED8, 0x0002, 0x2C0F,
+0x430C, 0x13B1, 0x4F46, 0x411F, 0x0002, 0x1840, 0x4F82, 0x2E14, 0x1840,
+0x4392, 0x2E16, 0x1840, 0x4392, 0x2E18, 0x3C08, 0x1840, 0x9382, 0x2E18,
+0x245C, 0x1840, 0x9382, 0x2E16, 0x2458, 0x1840, 0x421E, 0x2E14, 0x4E0F,
+0x503F, 0xFFF6, 0x9F81, 0x0004, 0x2C23, 0x811E, 0x0004, 0x4E81, 0x0000,
+0x9382, 0x0784, 0x2448, 0x403F, 0x0784, 0x90B1, 0x01F5, 0x0000, 0x3804,
+0x4F2C, 0x503C, 0xFF9C, 0x3C3C, 0x90B1, 0x0065, 0x0000, 0x3804, 0x4F2C,
+0x503C, 0xFFF6, 0x3C34, 0x90B1, 0x0015, 0x0000, 0x4F2C, 0x3803, 0x503C,
+0xFFFB, 0x3C2C, 0x533C, 0x3C2A, 0x4E0F, 0x503F, 0x000A, 0x911F, 0x0004,
+0x2C26, 0x411F, 0x0004, 0x8E0F, 0x4F81, 0x0000, 0x90B2, 0x0D01, 0x0784,
+0x2C1D, 0x403F, 0x0784, 0x90B1, 0x01F5, 0x0000, 0x3804, 0x4F2C, 0x503C,
+0x0064, 0x3C11, 0x90B1, 0x0065, 0x0000, 0x3804, 0x4F2C, 0x503C, 0x000A,
+0x3C09, 0x90B1, 0x0015, 0x0000, 0x4F2C, 0x3803, 0x503C, 0x0005, 0x3C01,
+0x531C, 0x13B1, 0x4F3A, 0x430C, 0x5031, 0x0006, 0x160A, 0x0110, 0x1800,
+0x1246, 0x4D06, 0x5606, 0x9036, 0xFF01, 0x2C96, 0x4F06, 0x5606, 0x9036,
+0xFF01, 0x2C0A, 0x4F06, 0xF036, 0x8000, 0xE60D, 0xB03D, 0x7FFF, 0x2005,
+0xB03F, 0x7FFF, 0x2087, 0x433D, 0x3C85, 0xB03F, 0x7FFF, 0x2006, 0x430C,
+0xF03D, 0x8000, 0xD03D, 0x7F80, 0x3C7C, 0x4F06, 0x5606, 0x9036, 0xFF00,
+0x2009, 0x4D06, 0x5606, 0x9036, 0xFF00, 0x27EB, 0xC03D, 0x7FFF, 0x430C,
+0x3C6E, 0x4D06, 0x5606, 0x9036, 0xFF00, 0x2469, 0x1800, 0x124A, 0x1800,
+0x124B, 0x1800, 0x1248, 0x4D0B, 0x4C0A, 0x5F0F, 0x5D0D, 0x4F08, 0x100F,
+0x108D, 0x1088, 0xF37D, 0xF378, 0x8038, 0x007F, 0x880D, 0x3026, 0x4D08,
+0xD03F, 0x0080, 0xD07B, 0x0080, 0x431C, 0x430D, 0x8E0A, 0x7F4B, 0x2C2C,
+0x8318, 0x301A, 0x5A0A, 0x6B4B, 0x5E0A, 0x6F4B, 0x5A0A, 0x6B4B, 0x2825,
+0x8E0A, 0x7F4B, 0xD312, 0x6C0C, 0x6D4D, 0x2BF7, 0x9038, 0x00FF, 0x3803,
+0x403D, 0xFF00, 0x3C08, 0x9308, 0x2027, 0xD31C, 0x933C, 0x2002, 0x937D,
+0x2422, 0x430D, 0x430C, 0x6F0F, 0x100D, 0x3C24, 0x6C0C, 0x6D4D, 0x2808,
+0x930A, 0x23E9, 0x934B, 0x23E7, 0xB32C, 0x23E5, 0xC31C, 0x3FE3, 0x5A0A,
+0x6B4B, 0x3004, 0x6C0C, 0x6D4D, 0x2BFA, 0x3FDC, 0x8E0A, 0x7F4B, 0x2FEB,
+0x6C0C, 0x6D4D, 0x2FD6, 0x5A0A, 0x6B4B, 0x5E0A, 0x6F4B, 0x3FCD, 0x1088,
+0xD80D, 0x6F0F, 0x100D, 0x100C, 0x630C, 0x630D, 0x1800, 0x4178, 0x1800,
+0x417B, 0x1800, 0x417A, 0x1800, 0x4176, 0x0110, 0x1800, 0x1246, 0x4D06,
+0x5606, 0x9036, 0xFF01, 0x2C93, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0E,
+0x4F06, 0xF036, 0x8000, 0xE60D, 0x4D06, 0x5606, 0x9036, 0xFF00, 0x2008,
+0x4F06, 0x5606, 0x2082, 0x433D, 0x3C80, 0x4F0D, 0x4E0C, 0x3C7D, 0x4F06,
+0x5606, 0x9036, 0xFF00, 0x4036, 0x7FFF, 0x2007, 0xB60D, 0x27F2, 0xC60D,
+0xD03D, 0x7F80, 0x430C, 0x3C6F, 0xB60D, 0x246D, 0xB60F, 0x2002, 0xC60D,
+0x3FF8, 0x1800, 0x1248, 0x4D08, 0x5808, 0x1088, 0xF378, 0x4F06, 0x5606,
+0x1086, 0xF376, 0x5608, 0x4D06, 0x8038, 0x007E, 0x303C, 0x1202, 0xC232,
+0xD03D, 0x0080, 0xD03F, 0x0080, 0x4E82, 0x04C0, 0x4C82, 0x04C8, 0x4E82,
+0x04C4, 0x421E, 0x04CA, 0x4292, 0x04CC, 0x04CA, 0x4382, 0x04CC, 0x4DC2,
+0x04C8, 0x4C82, 0x04C4, 0x4FC2, 0x04C8, 0x4FC2, 0x04C4, 0x421F, 0x04CA,
+0x4292, 0x04CC, 0x04CA, 0x4DC2, 0x04C8, 0x421C, 0x04CA, 0x4132, 0x5E0E,
+0x6F0F, 0x6C0C, 0x2C04, 0x5E0E, 0x6F0F, 0x6C0C, 0x8318, 0x9038, 0x00FF,
+0x340E, 0x9308, 0x2012, 0x933C, 0x2008, 0xF03F, 0xFE00, 0x903F, 0xFE00,
+0x2003, 0x403D, 0x0100, 0x3C04, 0x430D, 0x3C02, 0x403D, 0xFF00, 0x5606,
+0x100D, 0x430C, 0x3C14, 0x33F7, 0x484D, 0xEC4D, 0xEC0D, 0x108D, 0xEF4C,
+0xEF0C, 0x108C, 0x5606, 0x100D, 0x100C, 0x2808, 0x934F, 0x2004, 0x930E,
+0x2002, 0xB31C, 0x2402, 0x531C, 0x630D, 0x1800, 0x4178, 0x1800, 0x4176,
+0x0110, 0x145B, 0x4C0A, 0x13B1, 0x4024, 0x008B, 0x2EE2, 0x0BC8, 0x00A8,
+0x000D, 0x0BC9, 0x00A9, 0x000C, 0x0BC6, 0x00A6, 0x0008, 0x1840, 0x9392,
+0x2F02, 0x200D, 0x060F, 0xD9EF, 0x0000, 0x060F, 0xC8EF, 0x0000, 0x0B3F,
+0x000E, 0x486E, 0x596E, 0xDECF, 0x0000, 0x3C18, 0x4B5F, 0x0001, 0x5B6F,
+0x5B5F, 0x0002, 0x0607, 0x4F4E, 0x596E, 0xDEC7, 0x0000, 0x0607, 0xC8E7,
+0x0000, 0x0B37, 0x000E, 0xDFC7, 0x0000, 0x486E, 0x596E, 0xDEC7, 0x0000,
+0xCBD7, 0x0003, 0x0000, 0x060F, 0xC9EF, 0x0000, 0x4037, 0x0005, 0x470C,
+0x13B1, 0x4D82, 0x060F, 0xC8EF, 0x0000, 0x470C, 0x13B1, 0x4D82, 0x403C,
+0x0064, 0x13B1, 0x4D82, 0x060F, 0xD8EF, 0x0000, 0x470C, 0x13B1, 0x4D82,
+0x403C, 0x0064, 0x13B1, 0x4D82, 0x060F, 0xC8EF, 0x0000, 0x930A, 0x200B,
+0x060F, 0xCBEF, 0x0000, 0x470C, 0x13B1, 0x4E9C, 0x060F, 0xDBEF, 0x0000,
+0x470C, 0x3C02, 0x403C, 0x000A, 0x13B1, 0x4E9C, 0x060F, 0xD8EF, 0x0000,
+0x470C, 0x13B1, 0x4D82, 0x403C, 0x0032, 0x13B1, 0x4D82, 0x930A, 0x2006,
+0x060F, 0xCBEF, 0x0000, 0x470C, 0x13B1, 0x4D82, 0x060F, 0xD9EF, 0x0000,
+0x470C, 0x13B1, 0x4D82, 0x403C, 0x0032, 0x13B1, 0x4D82, 0x930A, 0x2006,
+0x060F, 0xDBEF, 0x0000, 0x470C, 0x13B1, 0x4D82, 0x060F, 0xC8EF, 0x0000,
+0x470C, 0x13B1, 0x4D82, 0x403C, 0x0032, 0x13B1, 0x4D82, 0x930A, 0x2402,
+0x13B1, 0x48D6, 0x1656, 0x0110, 0x145B, 0x13B1, 0x4024, 0x008A, 0x2EE2,
+0x0ACB, 0x00AB, 0x000D, 0x0AC8, 0x00A8, 0x000C, 0x0AC9, 0x00A9, 0x0008,
+0x1840, 0x9392, 0x2F02, 0x200D, 0x090F, 0xD8EF, 0x0000, 0x090F, 0xCBEF,
+0x0000, 0x0A3F, 0x000E, 0x4B6E, 0x586E, 0xDECF, 0x0000, 0x3C18, 0x4A5F,
+0x0001, 0x5A6F, 0x5A5F, 0x0002, 0x090D, 0x4F4E, 0x586E, 0xDECD, 0x0000,
+0x090E, 0xCBEE, 0x0000, 0x0A3E, 0x000E, 0xDFCE, 0x0000, 0x4B6F, 0x586F,
+0xDFCE, 0x0000, 0xCADE, 0x0003, 0x0000, 0x090F, 0xC8EF, 0x0000, 0x4036,
+0x0005, 0x460C, 0x13B1, 0x4D82, 0x090F, 0xCBEF, 0x0000, 0x460C, 0x13B1,
+0x4D82, 0x403C, 0x0064, 0x13B1, 0x4D82, 0x090F, 0xDBEF, 0x0000, 0x460C,
+0x13B1, 0x4D82, 0x403C, 0x0064, 0x13B1, 0x4D82, 0x090F, 0xCBEF, 0x0000,
+0x090F, 0xCAEF, 0x0000, 0x460C, 0x13B1, 0x4E9C, 0x090F, 0xDAEF, 0x0000,
+0x460C, 0x13B1, 0x4E9C, 0x090F, 0xDBEF, 0x0000, 0x460C, 0x13B1, 0x4D82,
+0x403C, 0x0032, 0x13B1, 0x4D82, 0x090F, 0xCAEF, 0x0000, 0x460C, 0x13B1,
+0x4D82, 0x090F, 0xD8EF, 0x0000, 0x460C, 0x13B1, 0x4D82, 0x403C, 0x0032,
+0x13B1, 0x4D82, 0x090F, 0xDAEF, 0x0000, 0x460C, 0x13B1, 0x4D82, 0x090F,
+0xCBEF, 0x0000, 0x460C, 0x13B1, 0x4D82, 0x403C, 0x0032, 0x13B1, 0x4D82,
+0x13B1, 0x48D6, 0x1656, 0x0110, 0x141B, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x008E, 0x2F60, 0x1840, 0x425F, 0x30EF, 0xBE5F, 0x000C, 0x2403,
+0x13B1, 0x4A70, 0x3C02, 0x13B1, 0x4BD2, 0x0ECD, 0x00AD, 0x000D, 0x0ECA,
+0x00AA, 0x000E, 0x0ECB, 0x00AB, 0x0008, 0x00AE, 0x000C, 0x934C, 0x0B0F,
+0x242B, 0xDEEF, 0x0000, 0x13B1, 0x4C56, 0xC0F2, 0x0020, 0x0282, 0xC232,
+0x4303, 0x0A0F, 0xCEEF, 0x0000, 0x0B0F, 0xCDEF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0B0F, 0xDDEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0A0F, 0xDEEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2,
+0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x4E6E, 0x3C2B, 0xCEEF,
+0x0000, 0x13B1, 0x4BA6, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x0A0F,
+0xCEEF, 0x0000, 0x0B0F, 0xCDEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x0B0F,
+0xDDEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0A0F,
+0xDEEF, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282,
+0x3C03, 0xC0F2, 0x0020, 0x0282, 0x4E6E, 0xE37E, 0x1840, 0x4EC2, 0x30EF,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x161A, 0x0110, 0x93C2, 0x0204, 0x43F2, 0x0204, 0x93C2,
+0x020A, 0x43C2, 0x020A, 0xD0F2, 0x00FC, 0x0205, 0xF0F2, 0x0003, 0x020B,
+0x93C2, 0x0224, 0x43F2, 0x0224, 0x93C2, 0x022A, 0x43C2, 0x022A, 0x93C2,
+0x0225, 0x43F2, 0x0225, 0x93C2, 0x022B, 0x43C2, 0x022B, 0xD0F2, 0x0036,
+0x0244, 0xC0F2, 0x0040, 0x0244, 0xD0F2, 0x0020, 0x0242, 0xF0F2, 0x00EB,
+0x0242, 0xD3E2, 0x0263, 0xD3E2, 0x0265, 0xD0F2, 0x0017, 0x0282, 0xC2F2,
+0x0282, 0xD0F2, 0x0097, 0x0284, 0xC2F2, 0x0284, 0xD2F2, 0x0286, 0xC0F2,
+0x0020, 0x0282, 0xC232, 0x4303, 0x40B2, 0x2D52, 0x01C0, 0x43A2, 0x01C2,
+0x40F2, 0x0011, 0x01D7, 0x4382, 0x01C0, 0xD232, 0x9382, 0x4A00, 0x2404,
+0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0xD3E2, 0x0242,
+0x3C00, 0x403F, 0x001F, 0x533F, 0x2FFE, 0xC3E2, 0x0242, 0x008F, 0x2F4A,
+0x438F, 0x0000, 0x40FF, 0x003C, 0x0001, 0x4FA2, 0x0202, 0x3C00, 0x403F,
+0x001F, 0x533F, 0x2FFE, 0xD0F2, 0x0080, 0x020B, 0x3C00, 0x403F, 0x0D03,
+0x533F, 0x2FFE, 0xD3E2, 0x0242, 0x1840, 0x43C2, 0x2F9C, 0x1840, 0x43D2,
+0x2F9D, 0x1840, 0x4382, 0x2F5E, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x13B1,
+0x44DA, 0x4A0F, 0xDB0F, 0x930F, 0x2441, 0x13B1, 0x106A, 0x13B1, 0x4594,
+0x903C, 0x189C, 0x2FFB, 0x008B, 0x2EF4, 0x1840, 0x93C2, 0x2F9A, 0x240B,
+0x0B3F, 0x0004, 0xCBDF, 0x0002, 0x0000, 0xCBEF, 0x0000, 0xDBDF, 0x0001,
+0x0000, 0x3C24, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x425E, 0x0223,
+0xF07E, 0x0020, 0x1840, 0x4EC2, 0x2F9B, 0x0B3F, 0x0004, 0xCBDF, 0x0001,
+0x0000, 0xDBDF, 0x0002, 0x0000, 0xC0F2, 0x0020, 0x0223, 0xDBEF, 0x0000,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x403C, 0x0003, 0x13B1, 0x4D82, 0x3C2C, 0xC0F2, 0x0020,
+0x0282, 0xC232, 0x4303, 0x008B, 0x2EF4, 0x0B3F, 0x0004, 0xCBDF, 0x0001,
+0x0000, 0x0B3F, 0x0004, 0xCBEF, 0x0000, 0x1840, 0x93C2, 0x2F9A, 0x2008,
+0x403C, 0x0003, 0x13B1, 0x4E9C, 0x1840, 0xD2D2, 0x2F9B, 0x0223, 0x0B3F,
+0x0004, 0xDBDF, 0x0002, 0x0000, 0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2,
+0x0020, 0x0282, 0x3C03, 0xC0F2, 0x0020, 0x0282, 0x13B1, 0x451A, 0x42B2,
+0x070C, 0x161A, 0x0110, 0x13B1, 0x4024, 0x008F, 0x2F74, 0x0FCE, 0x00AE,
+0x0008, 0x0E0D, 0xDFDD, 0x0002, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0D,
+0xDFDD, 0x0001, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0D, 0xDFED, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0D, 0xCFED, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0D, 0xDFED, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0D, 0xCFED, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0D, 0xDFED, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0D, 0xCFED, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0D, 0xDFED, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0D, 0xCFED, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0D, 0xDFED, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0D, 0xCFED, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0D, 0xDFED, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E0D, 0xCFED, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0D, 0xDFED, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E0D, 0xCFDD, 0x0001, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0E0D, 0xCFED, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E0E, 0xDFEE,
+0x0000, 0x4303, 0x4303, 0x4303, 0x13B1, 0x48D6, 0x430C, 0x0110, 0x1840,
+0x9392, 0x2F02, 0x2003, 0x403E, 0x0005, 0x3C07, 0x1840, 0x92B2, 0x2F02,
+0x2002, 0x13B1, 0x48D6, 0x422E, 0x435D, 0x434C, 0x13B1, 0x243C, 0x430E,
+0x407D, 0x000D, 0x434C, 0x13B1, 0x243C, 0x1840, 0x43C2, 0x2F9C, 0x008F,
+0x2E8E, 0x1880, 0x40FF, 0x4F84, 0x0000, 0x1880, 0x40FF, 0x4F60, 0x0004,
+0x1880, 0x40FF, 0x4F64, 0x0008, 0x1880, 0x40FF, 0x4F80, 0x0010, 0x1880,
+0x40FF, 0x4F78, 0x0014, 0x1880, 0x40FF, 0x4F06, 0x0018, 0x1880, 0x40FF,
+0x4F00, 0x001C, 0x1880, 0x40FF, 0x4E1C, 0x0024, 0x1880, 0x40FF, 0x4E12,
+0x0028, 0x1880, 0x40FF, 0x4F8A, 0x0030, 0x1880, 0x40FF, 0x4F54, 0x003C,
+0x1880, 0x40FF, 0x4F88, 0x0034, 0x1880, 0x40FF, 0x4F58, 0x0038, 0x1880,
+0x40FF, 0x4E0E, 0x002C, 0x1880, 0x40FF, 0x4F7C, 0x000C, 0x1880, 0x40FF,
+0x4F4C, 0x0040, 0x1880, 0x40FF, 0x4F50, 0x0044, 0x1880, 0x40FF, 0x4F5C,
+0x0048, 0x1880, 0x40FF, 0x4F40, 0x004C, 0x1880, 0x40FF, 0x4E0A, 0x0020,
+0x1880, 0x40FF, 0x4F6C, 0x0050, 0x1840, 0x4392, 0x2E1A, 0x0110, 0x140A,
+0x831C, 0x245B, 0x831C, 0x2455, 0x832C, 0x244F, 0x822C, 0x2448, 0x823C,
+0x2441, 0x803C, 0x0010, 0x2434, 0x803C, 0x0020, 0x242C, 0x803C, 0x0040,
+0x2433, 0x803C, 0x0F8A, 0x240D, 0x803C, 0x1000, 0x240F, 0x803C, 0x2000,
+0x2411, 0x803C, 0x2000, 0x2413, 0x803C, 0x2000, 0x2415, 0x3C3F, 0x403E,
+0x012A, 0x403A, 0x004B, 0x3C3E, 0x403E, 0x015E, 0x403A, 0x004B, 0x3C39,
+0x403E, 0x0089, 0x403A, 0x001E, 0x3C34, 0x403E, 0x0058, 0x403A, 0x0015,
+0x3C2F, 0x403E, 0x0030, 0x403A, 0x000C, 0x3C2A, 0x403E, 0x00EE, 0x403A,
+0x00EE, 0x3C25, 0x403E, 0x0076, 0x403A, 0x001C, 0x3C20, 0x403E, 0x0058,
+0x403A, 0x0015, 0x3C1B, 0x403E, 0x003A, 0x403A, 0x000E, 0x3C16, 0x403E,
+0x001C, 0x403A, 0x0007, 0x3C11, 0x403E, 0x000D, 0x422A, 0x3C0D, 0x403E,
+0x0005, 0x432A, 0x3C09, 0x403E, 0x0003, 0x403A, 0x0003, 0x3C04, 0x403E,
+0x0076, 0x403A, 0x0076, 0x407D, 0x0006, 0x434C, 0x13B1, 0x243C, 0x4A0E,
+0x407D, 0x000A, 0x434C, 0x13B1, 0x243C, 0x160A, 0x0110, 0x008F, 0x2E1E,
+0x1880, 0x40FF, 0x4198, 0x0000, 0x1880, 0x40FF, 0x4250, 0x0004, 0x1880,
+0x40FF, 0x45F4, 0x0008, 0x1880, 0x40FF, 0x42FC, 0x000C, 0x1880, 0x40FF,
+0x10F8, 0x0010, 0x1880, 0x40FF, 0x4666, 0x0014, 0x1880, 0x40FF, 0x40E0,
+0x0018, 0x1880, 0x40FF, 0x4EB8, 0x001C, 0x1880, 0x40FF, 0x4E9C, 0x0020,
+0x1880, 0x40FF, 0x4D82, 0x0024, 0x1800, 0x43CF, 0x0028, 0x1880, 0x40FF,
+0x24D8, 0x002C, 0x1880, 0x40FF, 0x1004, 0x0030, 0x1880, 0x40FF, 0x0FDE,
+0x0034, 0x1880, 0x40FF, 0x0FAC, 0x0048, 0x1880, 0x40FF, 0x0F64, 0x004C,
+0x1880, 0x40FF, 0x0F86, 0x0050, 0x1880, 0x40FF, 0x4E20, 0x0038, 0x1880,
+0x40FF, 0x4F12, 0x003C, 0x1880, 0x40FF, 0x4DF2, 0x0040, 0x1880, 0x40FF,
+0x371E, 0x0044, 0x1880, 0x40FF, 0x3856, 0x0068, 0x1800, 0x40FF, 0xFDFE,
+0x006C, 0x1880, 0x40FF, 0x3332, 0x0054, 0x1880, 0x40FF, 0x4920, 0x0058,
+0x1880, 0x40FF, 0x223C, 0x005C, 0x1880, 0x40FF, 0x4F70, 0x0060, 0x1880,
+0x40FF, 0x4ED4, 0x0064, 0x0110, 0x143B, 0x40F2, 0x003F, 0x0225, 0x008F,
+0x2F4C, 0x0FCE, 0x00AE, 0x000D, 0x0FCD, 0x00AD, 0x0008, 0x1840, 0x93C2,
+0x2F9C, 0x0D0B, 0x2403, 0xDEEB, 0x0000, 0x3C02, 0xCEEB, 0x0000, 0x0FCC,
+0x00AC, 0x000C, 0x1840, 0x93C2, 0x2F9D, 0x0D0B, 0x2403, 0xDCEB, 0x0000,
+0x3C02, 0xCCEB, 0x0000, 0x008A, 0x2F02, 0x939A, 0x0000, 0x2404, 0x90BA,
+0x0006, 0x0000, 0x2008, 0x4E6B, 0x5C6B, 0x0F38, 0x000E, 0x4BC8, 0x0000,
+0x4BC2, 0x0223, 0x4A2B, 0x932B, 0x2407, 0x930B, 0x2405, 0x903B, 0x0007,
+0x2402, 0x923B, 0x2013, 0x0D0B, 0x4F5D, 0x0002, 0x5F6D, 0xDDCB, 0x0000,
+0x4E6B, 0x5C6B, 0x5F5B, 0x0002, 0x5F5B, 0x0001, 0x5F6B, 0x0F3F, 0x000E,
+0x4BCF, 0x0000, 0x4BC2, 0x0223, 0x435D, 0x407C, 0x000A, 0x13B1, 0x21E0,
+0xC3E2, 0x0263, 0x403C, 0x000A, 0x13B1, 0x4D82, 0x1638, 0x0110, 0x140A,
+0x4C4A, 0x1840, 0x421F, 0x2F02, 0x903F, 0x0006, 0x2004, 0x13B1, 0x164A,
+0x432E, 0x3C05, 0x931F, 0x2011, 0x13B1, 0x164A, 0x431E, 0x435D, 0x434C,
+0x13B1, 0x243C, 0x430E, 0x407D, 0x000D, 0x434C, 0x13B1, 0x243C, 0x1840,
+0x421C, 0x2F04, 0x3C20, 0x932F, 0x2402, 0x930F, 0x2009, 0x13B1, 0x164A,
+0x430E, 0x435D, 0x434C, 0x13B1, 0x243C, 0x430E, 0x3C0B, 0x903F, 0x0007,
+0x2013, 0x13B1, 0x164A, 0x430E, 0x435D, 0x434C, 0x13B1, 0x243C, 0x431E,
+0x407D, 0x000D, 0x434C, 0x13B1, 0x243C, 0x1840, 0x421C, 0x2F06, 0x13B1,
+0x3E58, 0x3C17, 0x903F, 0x0005, 0x2010, 0x422E, 0x435D, 0x434C, 0x13B1,
+0x243C, 0x430E, 0x407D, 0x000D, 0x434C, 0x13B1, 0x243C, 0x1840, 0x4392,
+0x2F02, 0x4A4C, 0x3C02, 0x923F, 0x2002, 0x13B1, 0x164A, 0x430C, 0x160A,
+0x0110, 0x4382, 0x0340, 0x40B2, 0x02C0, 0x0340, 0x4392, 0x0360, 0xD0B2,
+0x0026, 0x0340, 0x4382, 0x0400, 0x40B2, 0x02C0, 0x0400, 0x40B2, 0x08A0,
+0x0412, 0xC0B2, 0x0010, 0x0402, 0x4382, 0x03C0, 0x40B2, 0x0022, 0x03C0,
+0x13B1, 0x4CAC, 0x13B1, 0x4C2A, 0x13B1, 0x451A, 0x4382, 0x0504, 0x4382,
+0x0502, 0x1840, 0x4382, 0x2E16, 0x1840, 0x4382, 0x2E18, 0x1840, 0x4382,
+0x2F08, 0x1840, 0x4382, 0x2E12, 0x13B1, 0x3A84, 0x1840, 0x43A2, 0x2F02,
+0x1840, 0x4382, 0x2E12, 0x432C, 0x13B1, 0x10F8, 0x1840, 0x4392, 0x2E1A,
+0x008C, 0x2EF4, 0x018E, 0x4FC2, 0x008D, 0x0007, 0x13B1, 0x4E36, 0x403E,
+0x0023, 0x407D, 0x0006, 0x434C, 0x13B1, 0x243C, 0x403E, 0x0023, 0x407D,
+0x000A, 0x434C, 0x13B1, 0x243C, 0x430E, 0x407D, 0x0007, 0x434C, 0x13B1,
+0x243C, 0x430C, 0x0110, 0x140A, 0x4C0A, 0x4382, 0x070C, 0x4A0F, 0x803F,
+0x0640, 0x903F, 0x0899, 0x2812, 0x431C, 0x13B1, 0x4D82, 0x13B1, 0x3D6E,
+0x1840, 0x4382, 0x2E14, 0x1840, 0x4382, 0x2E16, 0x1840, 0x4382, 0x2E18,
+0x42B2, 0x070C, 0x430C, 0x3C38, 0x1840, 0x9A82, 0x2F0E, 0x2012, 0x1840,
+0x9392, 0x2F10, 0x200E, 0x1840, 0x421C, 0x2F0C, 0x13B1, 0x4F46, 0x1840,
+0x421C, 0x2F0A, 0x13B1, 0x4F3A, 0x42B2, 0x070C, 0x430C, 0x3C22, 0x4A0C,
+0x13B1, 0x2C68, 0x930C, 0x2405, 0x4A0C, 0x13B1, 0x2E4C, 0x930C, 0x2006,
+0x4A0C, 0x13B1, 0x2C68, 0x4A0C, 0x13B1, 0x2E4C, 0x1840, 0x4292, 0x0784,
+0x2F0A, 0x1840, 0x4292, 0x0794, 0x2F0C, 0x1840, 0x4A82, 0x2F0E, 0x1840,
+0x4392, 0x2F10, 0x1840, 0x4382, 0x2E16, 0x430C, 0x160A, 0x0110, 0x145B,
+0x0CC7, 0x0DC6, 0x13B1, 0x4CD4, 0x430D, 0x13B1, 0x43BC, 0x4C0A, 0x4D0B,
+0x13B1, 0x45EC, 0x430D, 0x13B1, 0x43BC, 0x4C08, 0x4D09, 0x403E, 0x4000,
+0x403F, 0x44CE, 0x4A0C, 0x4B0D, 0x13B1, 0x4EF6, 0x930C, 0x242C, 0x403E,
+0x8000, 0x403F, 0x456D, 0x4A0C, 0x4B0D, 0x13B1, 0x4EEC, 0x930C, 0x2422,
+0x4A0C, 0x4B0D, 0x13B1, 0x4EE0, 0x1840, 0x4C82, 0x2E14, 0x1840, 0x4392,
+0x2E16, 0x1840, 0x4392, 0x2E18, 0x1840, 0x92B2, 0x2F02, 0x2402, 0x13B1,
+0x4024, 0xD3D2, 0x0265, 0xD3D2, 0x0263, 0x403C, 0x000A, 0x13B1, 0x4D82,
+0x1840, 0x92B2, 0x2F02, 0x2406, 0x13B1, 0x48D6, 0x3C03, 0x1840, 0x4382,
+0x2E16, 0x4887, 0x0000, 0x4987, 0x0002, 0x4A86, 0x0000, 0x4B86, 0x0002,
+0x430C, 0x1656, 0x0110, 0x930D, 0x3409, 0x1800, 0x1248, 0xE33C, 0xE33D,
+0x531C, 0x630D, 0x4038, 0x0197, 0x3C04, 0x1800, 0x1248, 0x4038, 0x0097,
+0x903D, 0x0100, 0x2C1D, 0x930D, 0x200F, 0x903C, 0x0100, 0x2806, 0x108C,
+0x4C4D, 0xC03C, 0x00FF, 0x8238, 0x3C06, 0x930C, 0x240D, 0x4C0D, 0x430C,
+0x8038, 0x0010, 0x8318, 0x5C0C, 0x6D4D, 0x2BFC, 0x1108, 0x104D, 0x100C,
+0x1088, 0xD80D, 0x1800, 0x4178, 0x0110, 0x1800, 0x1247, 0x4347, 0x903D,
+0x0200, 0x2808, 0xC312, 0x100D, 0x100C, 0x1047, 0x5318, 0x903D, 0x0200,
+0x2FF8, 0x1108, 0x104D, 0x100C, 0x1088, 0xD80D, 0x6747, 0x2806, 0xC312,
+0x1047, 0x2001, 0x2802, 0x531C, 0x630D, 0x1800, 0x4177, 0x1800, 0x4178,
+0x0110, 0xC0F2, 0x0020, 0x0282, 0xC232, 0x4303, 0x934C, 0x200B, 0x407C,
+0x00C8, 0x13B1, 0x4CFA, 0x403C, 0x7401, 0x13B1, 0x4D42, 0x434C, 0x13B1,
+0x102A, 0x407C, 0x0044, 0x13B1, 0x4CFA, 0x431C, 0x13B1, 0x4D82, 0x1840,
+0x43D2, 0x2F9D, 0x1840, 0x43D2, 0x2F9C, 0x13B1, 0x4024, 0x431C, 0x430D,
+0x13B1, 0x3B82, 0x13B1, 0x48D6, 0x407C, 0x0024, 0x13B1, 0x4CFA, 0x431C,
+0x13B1, 0x4D82, 0x430C, 0x430D, 0x13B1, 0x3B82, 0x435C, 0x13B1, 0x102A,
+0x407C, 0x0054, 0x13B1, 0x4CFA, 0x403C, 0x0200, 0x430D, 0x13B1, 0x4B7A,
+0xD232, 0x9382, 0x4A00, 0x2404, 0xD0F2, 0x0020, 0x0282, 0x3C03, 0xC0F2,
+0x0020, 0x0282, 0x430C, 0x0110, 0x4382, 0x070C, 0x43C2, 0x0710, 0x43C2,
+0x0711, 0x43C2, 0x0712, 0x43C2, 0x0713, 0xF0F2, 0x00AC, 0x0243, 0xD0F2,
+0x0053, 0x024B, 0xC3A2, 0x0700, 0x40B2, 0x0270, 0x0700, 0x40B2, 0x0208,
+0x0702, 0x4303, 0x403F, 0x01C0, 0x533F, 0x2FFE, 0xD3A2, 0x0700, 0x0110,
+0x1840, 0x4382, 0x2F44, 0x1840, 0x4382, 0x2F46, 0x1840, 0x4382, 0x2F48,
+0x1840, 0x4382, 0x2F22, 0xF0F2, 0x00A5, 0x0243, 0xD0F2, 0x005A, 0x024B,
+0xC3A2, 0x0700, 0x40B2, 0x09F0, 0x0700, 0x40B2, 0x02FA, 0x0702, 0x40F2,
+0x0011, 0x0710, 0x40F2, 0x0013, 0x0711, 0x40F2, 0x0014, 0x0712, 0x40F2,
+0x0096, 0x0713, 0x3FD1, 0x4303, 0x008F, 0x2F24, 0x4F1C, 0x0002, 0x5F2C,
+0x5F1C, 0x0004, 0x5F1C, 0x0006, 0x5F1C, 0x0008, 0x5F1C, 0x000A, 0x5F1C,
+0x000C, 0x5F1C, 0x000E, 0x0B5C, 0x503C, 0xFFEC, 0x0110, 0xC3A2, 0x0700,
+0x40F2, 0x0012, 0x0710, 0xD3A2, 0x0700, 0xD392, 0x0700, 0xB392, 0x070A,
+0x2BFD, 0x421C, 0x0720, 0x430D, 0x13B1, 0x43BC, 0x430E, 0x403F, 0x4020,
+0x13B1, 0x35E4, 0x430E, 0x403F, 0x3980, 0x13B1, 0x35E4, 0x430E, 0x403F,
+0x43D2, 0x13B1, 0x35E4, 0x430E, 0x403F, 0x4316, 0x13B1, 0x34A4, 0x430E,
+0x403F, 0x447A, 0x13B1, 0x35E4, 0x0180, 0x4EE0, 0x008F, 0x2F12, 0x3FBE,
+0x4303, 0x140A, 0x930C, 0x2431, 0x13B1, 0x4024, 0x008A, 0x2EE2, 0x0A3F,
+0x0008, 0xCADF, 0x000D, 0x0000, 0x403C, 0x0005, 0x13B1, 0x4D82, 0x0A3F,
+0x0008, 0xCAEF, 0x0000, 0x0A3F, 0x000E, 0xDAEF, 0x0000, 0x4A5E, 0x0002,
+0x5A5E, 0x0001, 0xE37E, 0x0A3F, 0x0008, 0xFECF, 0x0000, 0x0A3F, 0x000E,
+0xFECF, 0x0000, 0xFEC2, 0x0223, 0xD0F2, 0x0081, 0x0265, 0xD0F2, 0x0081,
+0x0263, 0x403C, 0x000A, 0x13B1, 0x4D82, 0x13B1, 0x48D6, 0x3C03, 0xF0F2,
+0x007E, 0x0263, 0x160A, 0x0110, 0x008F, 0x2E12, 0x4C8F, 0x0000, 0x1840,
+0x421E, 0x2F02, 0x931E, 0x2406, 0x903E, 0x0005, 0x2403, 0x903E, 0x0006,
+0x2014, 0x008D, 0x2E8E, 0x931C, 0x2005, 0x1800, 0x40FD, 0xF384, 0x0034,
+0x3C0B, 0x932C, 0x2005, 0x1800, 0x40FD, 0xF852, 0x0034, 0x3C04, 0x1800,
+0x40FD, 0xF5F4, 0x0034, 0x932E, 0x2402, 0x930E, 0x200B, 0x931C, 0x2005,
+0x1880, 0x40F2, 0x301C, 0x2EC2, 0x0110, 0x1880, 0x40F2, 0x30F0, 0x2EC2,
+0x0110, 0x141B, 0x13B1, 0x4024, 0x008A, 0x2F75, 0x008B, 0x2F7C, 0x0B0F,
+0xDAEF, 0x0000, 0x4303, 0x4303, 0x4303, 0x0B0F, 0xCAEF, 0x0000, 0x4303,
+0x4303, 0x4303, 0x403C, 0x000F, 0x13B1, 0x4E9C, 0x0B0F, 0xDAEF, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0B0F, 0xCAEF, 0x0000, 0x4303, 0x4303, 0x4303,
+0x403C, 0x000F, 0x13B1, 0x4E9C, 0x0B0F, 0xDAEF, 0x0000, 0x4303, 0x4303,
+0x4303, 0x13B1, 0x48D6, 0x430C, 0x161A, 0x0110, 0x1800, 0x1246, 0x4D06,
+0x5606, 0x9036, 0xFF01, 0x2C05, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2802,
+0xC312, 0x3C1C, 0xB03D, 0x7FFF, 0x2415, 0x4F06, 0x5606, 0x2003, 0xFD0D,
+0x33F6, 0x3C12, 0x2807, 0xFD0D, 0x340F, 0x9D0F, 0x200E, 0x9C0E, 0x200C,
+0x3C0A, 0xFD0D, 0x33EB, 0x9F0D, 0x2007, 0x9E0C, 0x2005, 0x3C03, 0x4F06,
+0x5606, 0x2001, 0xD312, 0x1800, 0x4176, 0x0110, 0x143B, 0x008F, 0x2F86,
+0x930C, 0x241F, 0x0FCE, 0x00AE, 0x0008, 0x533C, 0x3C03, 0x533C, 0x930A,
+0x2002, 0x4D7B, 0x423A, 0xB35B, 0x0E08, 0x2804, 0xDFD8, 0x0001, 0x0000,
+0x3C03, 0xCFD8, 0x0001, 0x0000, 0x0E08, 0xCFE8, 0x0000, 0x4303, 0x0E08,
+0xDFE8, 0x0000, 0x035B, 0x533A, 0x930C, 0x23E6, 0x0F3B, 0x0008, 0xDFDB,
+0x0001, 0x0000, 0x1638, 0x0110, 0x1800, 0x1246, 0x4D06, 0x5606, 0x9036,
+0xFF01, 0x2C20, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C1B, 0xB03F, 0x7FFF,
+0x2415, 0x4D06, 0x5606, 0x2003, 0xFF0F, 0x3013, 0x3C13, 0x2807, 0xFF0F,
+0x3410, 0x9F0D, 0x200E, 0x9E0C, 0x240B, 0x3C0B, 0xFF0F, 0x3008, 0x9D0F,
+0x2007, 0x9C0E, 0x2404, 0x3C04, 0x4D06, 0x5606, 0x2001, 0xC312, 0x1800,
+0x4176, 0x0110, 0x1800, 0x1246, 0x1800, 0x1247, 0x4D06, 0xD07D, 0x0080,
+0x6606, 0x6707, 0x1086, 0xF376, 0x8076, 0x007F, 0x2C03, 0x430C, 0x430D,
+0x3C13, 0x8076, 0x0018, 0x2C07, 0xE376, 0x240E, 0x110D, 0x100C, 0x8356,
+0x23FC, 0x3C09, 0x9236, 0x3803, 0x433C, 0x433D, 0x3C04, 0x5C0C, 0x6D0D,
+0x8356, 0x2FFC, 0x1007, 0x1800, 0x4177, 0x1800, 0x4176, 0x0110, 0x143B,
+0x930C, 0x2421, 0x008F, 0x2F74, 0x0FCE, 0x00AE, 0x0008, 0x533C, 0x3C03,
+0x533C, 0x930A, 0x2002, 0x4D7B, 0x423A, 0xB35B, 0x0E08, 0x2804, 0xDFD8,
+0x0001, 0x0000, 0x3C03, 0xCFD8, 0x0001, 0x0000, 0x0E08, 0xCFE8, 0x0000,
+0x4303, 0x0E08, 0xDFE8, 0x0000, 0x035B, 0x533A, 0x930C, 0x23E6, 0x1638,
+0x0110, 0x008F, 0x2F4C, 0x0F3E, 0x0008, 0x4E6E, 0xBF5E, 0x000D, 0x2002,
+0x434E, 0x3C01, 0x435E, 0x1840, 0x4EC2, 0x2F9C, 0x0F3E, 0x0008, 0x4E6E,
+0xBF5E, 0x000C, 0x2002, 0x434E, 0x3C01, 0x435E, 0x1840, 0x4EC2, 0x2F9D,
+0xD3E2, 0x0263, 0x434D, 0x407C, 0x000A, 0x13B1, 0x21E0, 0x403C, 0x000A,
+0x0180, 0x4E9C, 0x1840, 0x4C82, 0x2F5E, 0xD3E2, 0x0242, 0x3C00, 0x403F,
+0x001F, 0x533F, 0x2FFE, 0xC3E2, 0x0242, 0x3C00, 0x403F, 0x001F, 0x533F,
+0x2FFE, 0xD0F2, 0x0080, 0x020B, 0x3C00, 0x403F, 0x0D03, 0x533F, 0x2FFE,
+0xD3E2, 0x0242, 0x1840, 0x43C2, 0x2F9C, 0x1840, 0x43D2, 0x2F9D, 0x0110,
+0x1800, 0x1249, 0x4309, 0x930F, 0x3405, 0xE33E, 0xE33F, 0x531E, 0x630F,
+0xD319, 0x930D, 0x3405, 0xE33C, 0xE33D, 0x531C, 0x630D, 0xE339, 0x13B1,
+0x49A8, 0xB319, 0x2404, 0xE33C, 0xE33D, 0x531C, 0x630D, 0xB329, 0x2404,
+0xE33E, 0xE33F, 0x531E, 0x630F, 0x1800, 0x4179, 0x0110, 0x1800, 0x1249,
+0x1800, 0x124A, 0x1800, 0x124B, 0x430A, 0x430B, 0x4039, 0x0020, 0x5C0C,
+0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C, 0x5339, 0x23F6,
+0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F, 0x1800, 0x417B,
+0x1800, 0x417A, 0x1800, 0x4179, 0x0110, 0x120D, 0x120C, 0x8221, 0x436F,
+0x410E, 0x522E, 0x407D, 0x0014, 0x407C, 0x0007, 0x13B1, 0x22DA, 0x410D,
+0x530D, 0x436C, 0x13B1, 0x2276, 0x412E, 0xF03E, 0x000F, 0x412C, 0x411D,
+0x0002, 0x035D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C,
+0xDE0D, 0x5231, 0x0110, 0x8231, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381,
+0x0004, 0x4381, 0x0006, 0x407F, 0x0003, 0x0CCE, 0x407D, 0x0023, 0x407C,
+0x0007, 0x13B1, 0x238C, 0x410D, 0x530D, 0x407C, 0x0003, 0x13B1, 0x2358,
+0x410F, 0x530F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x5231, 0x0110, 0x002F,
+0x2F68, 0x1840, 0xC2DF, 0x2F6C, 0x0000, 0x002F, 0x2F68, 0x1840, 0xC2DF,
+0x2F6D, 0x0000, 0x4303, 0x4303, 0x4303, 0x002F, 0x2F68, 0x1840, 0xD2DF,
+0x2F6C, 0x0000, 0x002F, 0x2F68, 0x1840, 0xD2DF, 0x2F6D, 0x0000, 0x0110,
+0x118C, 0x118E, 0x1800, 0x1249, 0x4309, 0x930E, 0x3403, 0xE33E, 0x531E,
+0xD319, 0x930C, 0x3403, 0xE33C, 0x531C, 0xE339, 0x13B1, 0x4DA6, 0xB319,
+0x2402, 0xE33C, 0x531C, 0xB329, 0x2402, 0xE33E, 0x531E, 0x1800, 0x4179,
+0x0110, 0x120F, 0x120E, 0x120D, 0x120C, 0x8231, 0x426F, 0x410E, 0x523E,
+0x407D, 0x0040, 0x407C, 0x0007, 0x13B1, 0x22DA, 0x410D, 0x530D, 0x426C,
+0x13B1, 0x2276, 0x410F, 0x530F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x5031,
+0x0010, 0x0110, 0x120D, 0x120C, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002,
+0x436F, 0x410E, 0x522E, 0x407D, 0x0020, 0x407C, 0x0007, 0x13B1, 0x238C,
+0x410D, 0x530D, 0x436C, 0x13B1, 0x2358, 0x412C, 0x411D, 0x0002, 0x5231,
+0x0110, 0x008F, 0x2F86, 0x0FCE, 0x00AE, 0x0008, 0xB35C, 0x0E0D, 0x2804,
+0xDFDD, 0x0001, 0x0000, 0x3C03, 0xCFDD, 0x0001, 0x0000, 0x0E0D, 0xCFED,
+0x0000, 0x4303, 0x0E0E, 0xDFEE, 0x0000, 0x0110, 0x120D, 0x120C, 0x8221,
+0x436F, 0x410E, 0x522E, 0x407D, 0x0020, 0x407C, 0x0007, 0x13B1, 0x22DA,
+0x410D, 0x530D, 0x436C, 0x13B1, 0x2276, 0x412C, 0x411D, 0x0002, 0x5231,
+0x0110, 0x002F, 0x2F68, 0x1840, 0xC2DF, 0x2F6C, 0x0000, 0x002F, 0x2F68,
+0x1840, 0xC2DF, 0x2F6D, 0x0000, 0x4303, 0x4303, 0x4303, 0x002F, 0x2F68,
+0x1840, 0xD2DF, 0x2F6D, 0x0000, 0x0110, 0x002F, 0x2F68, 0x1840, 0xC2DF,
+0x2F6C, 0x0000, 0x002F, 0x2F68, 0x1840, 0xC2DF, 0x2F6D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x002F, 0x2F68, 0x1840, 0xD2DF, 0x2F6D, 0x0000, 0x0110,
+0x002F, 0x2F68, 0x1840, 0xD2DF, 0x2F6C, 0x0000, 0x002F, 0x2F68, 0x1840,
+0xC2DF, 0x2F6D, 0x0000, 0x4303, 0x4303, 0x4303, 0x002F, 0x2F68, 0x1840,
+0xD2DF, 0x2F6D, 0x0000, 0x0110, 0xD0B2, 0x0080, 0x01B0, 0xD0B2, 0x0020,
+0x01B0, 0xD392, 0x01B0, 0x40B2, 0x02A0, 0x0790, 0xD0B2, 0x0100, 0x0790,
+0xD0B2, 0x8000, 0x0790, 0xD3A2, 0x0790, 0x4382, 0x0794, 0x0110, 0x002F,
+0x2F68, 0x1840, 0xD2DF, 0x2F6C, 0x0000, 0x002F, 0x2F68, 0x1840, 0xC2DF,
+0x2F6D, 0x0000, 0x4303, 0x4303, 0x4303, 0x002F, 0x2F68, 0x1840, 0xD2DF,
+0x2F6D, 0x0000, 0x0110, 0x008C, 0x2F60, 0x410E, 0x522E, 0x008D, 0x0009,
+0x13B1, 0x4E36, 0x1840, 0x43C2, 0x30EF, 0x1840, 0x43C2, 0x30F0, 0x1840,
+0x43C2, 0x30F1, 0x1840, 0x4382, 0x2F72, 0x0110, 0xD0B2, 0x0080, 0x01B0,
+0xD0B2, 0x0020, 0x01B0, 0xD392, 0x01B0, 0x40B2, 0x02A0, 0x0780, 0xD0B2,
+0x0100, 0x0780, 0xD0B2, 0x8000, 0x0780, 0xD3A2, 0x0780, 0x0110, 0x008F,
+0x2F34, 0x4F1C, 0x0002, 0x5F2C, 0x5F1C, 0x0004, 0x5F1C, 0x0006, 0x5F1C,
+0x0008, 0x5F1C, 0x000A, 0x5F1C, 0x000C, 0x5F1C, 0x000E, 0x0B5C, 0x0110,
+0x140A, 0x8321, 0x4C4A, 0x4C4D, 0x435C, 0x13B1, 0x21E0, 0x410D, 0x530D,
+0x435C, 0x13B1, 0x2276, 0x1840, 0x4A82, 0x2F98, 0x416C, 0x5321, 0x160A,
+0x0110, 0x1202, 0xC232, 0x4303, 0x4C82, 0x04D0, 0x4D82, 0x04D2, 0x4E82,
+0x04E0, 0x4F82, 0x04E2, 0x421C, 0x04E4, 0x421D, 0x04E6, 0x4132, 0x0110,
+0x8321, 0x4C0E, 0x407D, 0x0010, 0x407C, 0x0007, 0x13B1, 0x243C, 0x410D,
+0x530D, 0x435C, 0x13B1, 0x2276, 0x412C, 0x5321, 0x0110, 0x8321, 0x4381,
+0x0000, 0x4C4D, 0x407C, 0x0003, 0x13B1, 0x24A8, 0x410D, 0x530D, 0x435C,
+0x13B1, 0x2358, 0x416C, 0x5321, 0x0110, 0x930C, 0x240D, 0xC392, 0x0402,
+0xD0B2, 0x0014, 0x0400, 0xB392, 0x0402, 0x2BFD, 0xC0B2, 0x0010, 0x0400,
+0x533C, 0x23F3, 0x0110, 0xF37C, 0xF37E, 0x4E0F, 0x4C0D, 0x430E, 0x431C,
+0x5D0D, 0x6E0E, 0x9F0E, 0x2801, 0x8F0E, 0x6C0C, 0x2BF9, 0x0110, 0x8321,
+0x4C4D, 0x407C, 0x0005, 0x13B1, 0x21E0, 0x410D, 0x530D, 0x435C, 0x13B1,
+0x2276, 0x416C, 0x5321, 0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE, 0x3C04,
+0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110, 0x4382, 0x0400,
+0x40B2, 0x02C0, 0x0400, 0x40B2, 0x08A0, 0x0412, 0xC0B2, 0x0010, 0x0402,
+0x0110, 0x3C03, 0x4303, 0x3C01, 0x4303, 0x430C, 0x430D, 0x430E, 0x430F,
+0x0110, 0x3FFA, 0x4303, 0x930D, 0x2403, 0x1840, 0x4D82, 0x2F04, 0x930C,
+0x2403, 0x1840, 0x4C82, 0x2F06, 0x0110, 0x1800, 0x124C, 0x4EBC, 0x0000,
+0x03EC, 0x00BD, 0x0001, 0x23FA, 0x1800, 0x417C, 0x0110, 0x934C, 0x2403,
+0x407D, 0x0009, 0x3C01, 0x427D, 0x434C, 0x0180, 0x21E0, 0x008C, 0x2F74,
+0x410E, 0x522E, 0x008D, 0x0009, 0x0180, 0x4E36, 0x008C, 0x2F4C, 0x410E,
+0x522E, 0x008D, 0x0009, 0x0180, 0x4E36, 0x008C, 0x2F86, 0x410E, 0x522E,
+0x008D, 0x0009, 0x0180, 0x4E36, 0x002F, 0x2F8E, 0x1840, 0xD2DF, 0x2F86,
+0x0000, 0x0110, 0x3C02, 0x184C, 0x100F, 0x533C, 0x930C, 0x23FB, 0x0110,
+0x13B1, 0x3F40, 0x1380, 0x2E1E, 0xD2A2, 0x0508, 0x0110, 0x1840, 0x4382,
+0x2E16, 0x13B1, 0x3D6E, 0x430C, 0x0110, 0x430C, 0x430D, 0x430E, 0x430F,
+0x0110, 0x3FFA, 0x4303, 0x4C0E, 0x407D, 0x0007, 0x434C, 0x0180, 0x243C,
+0x13B1, 0x4836, 0x2802, 0x430C, 0x430D, 0x0110, 0x13B1, 0x47E0, 0x430C,
+0x630C, 0x0110, 0x13B1, 0x4730, 0x430C, 0x630C, 0x0110, 0x430C, 0x430D,
+0x0110, 0x3FFC, 0x4303, 0x1840, 0x421C, 0x2F22, 0x0110, 0x1840, 0x4C82,
+0x2E1C, 0x0110, 0x1840, 0x4382, 0x2F98, 0x0110, 0x1840, 0x4C82, 0x2F72,
+0x0110, 0x1840, 0x425C, 0x30F1, 0x0110, 0x1840, 0x425C, 0x2F98, 0x0110,
+0x4C82, 0x0784, 0x0110, 0x433C, 0x433D, 0x0110, 0x4C82, 0x0794, 0x0110,
+0x433C, 0x0110, 0x433C, 0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x433C,
+0x0110, 0x430C, 0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x437C, 0x0110,
+0x0180, 0x2A16, 0x434C, 0x0110, 0x430C, 0x0110, 0x434C, 0x0110, 0x434C,
+0x0110, 0x430C, 0x0110, 0x0110, 0x0110, 0x0000, 0x0000, 0x0260, 0x0000,
+0x0262, 0x0000, 0x1020, 0x0264, 0x0000, 0x0000, 0x0000, 0x0220, 0x0000,
+0x0222, 0x0000, 0x0108, 0x0224, 0x0000, 0x0201, 0x0804, 0x0220, 0x0000,
+0x0222, 0x0000, 0x2010, 0x0224, 0x0000, 0x1004, 0x0020, 0x0242, 0x0000,
+0x0080, 0x0282, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+};
+
+const uint32_t MSP_FetHilImage_address[] =
+{
+0x00001880, 0x0000CC00, 0x00010000,
+};
+const uint32_t MSP_FetHilImage_length_of_sections[] =
+{
+0x00000040, 0x00001900, 0x00004700,
+};
+const uint32_t MSP_FetHilImage_sections = 0x00000003;
+const uint32_t MSP_FetHilImage_termination = 0x00000000;
+const uint32_t MSP_FetHilImage_start = 0x00001880;
+const uint32_t MSP_FetHilImage_finish = 0x00018E00;
+const uint32_t MSP_FetHilImage_length = 0x00017580;
+
+#define MSP_FETHILIMAGE_TERMINATION 0x00000000
+#define MSP_FETHILIMAGE_START 0x00001880
+#define MSP_FETHILIMAGE_FINISH 0x00018E00
+#define MSP_FETHILIMAGE_LENGTH 0x00017580
+#define MSP_FETHILIMAGE_SECTIONS 0x00000003
diff --git a/Bios/include/UifBiosCore.h b/Bios/include/UifBiosCore.h
new file mode 100644
index 0000000..e7a4660
--- /dev/null
+++ b/Bios/include/UifBiosCore.h
@@ -0,0 +1,411 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t UifBiosCoreImage[] =
+{
+0xF556, 0xE6E8, 0xFAB4, 0xEF40, 0xFAC4, 0xFA5A, 0xF8F6, 0xF3E0, 0xF7BA,
+0xF97E, 0xF834, 0xF4FC, 0xF286, 0xF93C, 0xF9BE, 0xFA90, 0xF95E, 0xF99E,
+0xF91A, 0xF85C, 0xF6CC, 0x1000, 0x18FF, 0x2500, 0xDFFF, 0xFDFA, 0xFDFF,
+0x1000, 0x18FF, 0x2500, 0xDFFF, 0x1000, 0x10FF, 0x0200, 0x09FF, 0x1100,
+0x18FF, 0x0100, 0x0080, 0x0040, 0x0001, 0x1C7E, 0x2144, 0x8205, 0x0000,
+0x0000, 0x0101, 0x0101, 0x1C75, 0xDFFE, 0xFDDA, 0xFFFF, 0xFFFF, 0x0000,
+0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0100,
+0xFFFF, 0xFFFF, 0x0000, 0x0100, 0x1B90, 0x1C7E, 0x4031, 0x24E0, 0x403C,
+0x1A2A, 0x403D, 0x0253, 0x12B0, 0xFA48, 0x403C, 0x1A00, 0x403D, 0xE060,
+0x403E, 0x002A, 0x12B0, 0xFB10, 0x12B0, 0xF766, 0x12B0, 0xFB14, 0x120A,
+0x120B, 0x120D, 0x120C, 0x120F, 0x120E, 0xD0F2, 0x0040, 0x0021, 0xD3D2,
+0x1B5C, 0xB0F2, 0x00A0, 0x0072, 0x2002, 0x434E, 0x3C01, 0x435E, 0x934E,
+0x2405, 0x403C, 0x8006, 0x12B0, 0xF7E4, 0x3D46, 0x425E, 0x0076, 0x4EC2,
+0x1C74, 0x407F, 0x0010, 0x421D, 0x1B82, 0x4D6D, 0xF07D, 0x00FC, 0x9F4D,
+0x2016, 0x907E, 0x0011, 0x2008, 0xB3E2, 0x1C75, 0x2802, 0x12B0, 0xFAE4,
+0x43C2, 0x1C75, 0x3D2E, 0x907E, 0x0013, 0x2003, 0x42F2, 0x1C75, 0x3D28,
+0x9F4E, 0x200A, 0x4FC2, 0x1C79, 0x3D23, 0x9FC2, 0x1C79, 0x2004, 0xDFC2,
+0x1C74, 0x43C2, 0x1C79, 0x403A, 0x1A2A, 0x4A6F, 0xB3DF, 0x1A30, 0x2805,
+0x403C, 0x8009, 0x12B0, 0xF7E4, 0x3D11, 0x4A6F, 0x5F0F, 0x938F, 0x1A3A,
+0x2015, 0x40B2, 0x000A, 0x1B5A, 0x4382, 0x1A44, 0x425E, 0x1C74, 0xB35E,
+0x2806, 0x532E, 0x4A6F, 0x5F0F, 0x4E8F, 0x1A3E, 0x3C06, 0x503E, 0x0003,
+0x4A6F, 0x5F0F, 0x4E8F, 0x1A3E, 0x4A6F, 0x5F0F, 0x90BF, 0x0104, 0x1A3A,
+0x2C37, 0x425E, 0x1C74, 0x4E4D, 0x4A6F, 0x5F0F, 0xB39F, 0x1A3A, 0x2807,
+0x108D, 0xDD82, 0x1B88, 0xE292, 0x1B88, 0x1A44, 0x3C02, 0x4D82, 0x1B88,
+0x4A6F, 0x5F0F, 0x4F1D, 0x1A32, 0x4A6F, 0x5F0F, 0x4F1C, 0x1A3A, 0x4C0B,
+0x531B, 0x4B8F, 0x1A3A, 0x5C0D, 0x4ECD, 0x0000, 0x4A6E, 0x5E0E, 0x4A6F,
+0x5F0F, 0x9F9E, 0x1A3A, 0x1A3E, 0x2CC9, 0x4382, 0x1B5A, 0x93B2, 0x1A44,
+0x20A0, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x0091, 0x0001, 0x203A,
+0x434E, 0x3C06, 0x403C, 0x800A, 0x12B0, 0xF7E4, 0x3CB5, 0x435E, 0x934E,
+0x20AC, 0xB3E2, 0x1A4C, 0x2BFA, 0x421F, 0x1B52, 0x4F5E, 0x0002, 0xF07E,
+0x003F, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9F5E, 0x0002, 0x23ED, 0x421F,
+0x1B52, 0x93CF, 0x0003, 0x2007, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x92EF,
+0x0000, 0x2810, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB,
+0x0004, 0x0003, 0x23D7, 0xF0F2, 0x00F8, 0x1A4C, 0x4382, 0x1B5E, 0x3C80,
+0xF0F2, 0x00F8, 0x1A4C, 0x3C7C, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF,
+0x0092, 0x0001, 0x4A6F, 0x2039, 0x5F0F, 0x4F1F, 0x1A32, 0x93CF, 0x0002,
+0x2010, 0x435C, 0x12B0, 0xF95E, 0x434C, 0x12B0, 0xF99E, 0x43C2, 0x1C72,
+0x434C, 0x12B0, 0xF164, 0x12B0, 0xF1F8, 0x12B0, 0xF80C, 0x3C5D, 0x434E,
+0x3C01, 0x435E, 0x934E, 0x2058, 0x425E, 0x1A4C, 0xF07E, 0x0003, 0x907E,
+0x0003, 0x23F6, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB,
+0x0002, 0x0002, 0x23EC, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32,
+0x9FDB, 0x0004, 0x0003, 0x23E2, 0xC3E2, 0x1A4C, 0x3C3A, 0x5F0F, 0x4F1F,
+0x1A32, 0x93CF, 0x0002, 0x200B, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF,
+0x008B, 0x0001, 0x2003, 0x12B0, 0xF1F8, 0x3C2F, 0x4A6F, 0xD3DF, 0x1A30,
+0x53D2, 0x1A2A, 0x93E2, 0x1A2A, 0x2821, 0x43C2, 0x1A2A, 0x3C1E, 0x40B2,
+0x8003, 0x1A42, 0x4A6F, 0x5F0F, 0x4F1B, 0x1A32, 0x4A6F, 0x5F0F, 0x5F1B,
+0x1A3E, 0xEB92, 0xFFFF, 0x1A44, 0xE3B2, 0x1A44, 0x43A2, 0x1B84, 0x43D2,
+0x1C76, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x4FD2, 0x0002, 0x1C77, 0x40B2,
+0x1A42, 0x1B86, 0x4A6F, 0x5F0F, 0x438F, 0x1A3A, 0x4382, 0x1A44, 0xC0F2,
+0x0040, 0x0021, 0xC3D2, 0x1B5C, 0x413E, 0x413F, 0x413C, 0x413D, 0x413B,
+0x413A, 0x1300, 0x120A, 0x120B, 0x1208, 0x1209, 0x4C0A, 0x433B, 0x4308,
+0x4C5E, 0x0001, 0x9EC2, 0x1A2B, 0x2003, 0x93C2, 0x1A2C, 0x3809, 0x4EC2,
+0x1A2B, 0x4C5F, 0x0004, 0x4F82, 0x1A2E, 0xD392, 0x1B9E, 0x3C02, 0xC392,
+0x1B9E, 0x93CC, 0x0002, 0x3803, 0xD3A2, 0x1B9E, 0x3C02, 0xC3A2, 0x1B9E,
+0x4CD2, 0x0002, 0x1A2C, 0x93C2, 0x1C72, 0x2005, 0x434C, 0x12B0, 0xF95E,
+0x43D2, 0x1C72, 0x4A5E, 0x0001, 0x907E, 0x0081, 0x2045, 0xB392, 0x1B9E,
+0x2806, 0x4A19, 0x0004, 0x432C, 0x1292, 0xE01C, 0x3C02, 0x4219, 0x1A2E,
+0x9309, 0x2004, 0x4A0C, 0x12B0, 0xE572, 0x4C08, 0x9308, 0x2030, 0x407D,
+0x0093, 0x4A5C, 0x0002, 0x1292, 0xE000, 0x90B2, 0x0064, 0x1C68, 0x2802,
+0x4382, 0x1C68, 0x421F, 0x1C68, 0x4F0E, 0x531E, 0x4E82, 0x1C68, 0x5F0F,
+0x498F, 0x1BA0, 0x4982, 0x1C6A, 0x421F, 0x1A26, 0x9F19, 0x0008, 0x2C69,
+0x421F, 0x1B9C, 0x5909, 0x5909, 0x590F, 0x4F1F, 0x0002, 0x930F, 0x2460,
+0x421C, 0x1B9E, 0x128F, 0x4C0B, 0x930C, 0x205A, 0x1292, 0xE002, 0x403B,
+0x8000, 0x3C55, 0x480B, 0x3C53, 0x807E, 0x0051, 0x2436, 0x835E, 0x2439,
+0x835E, 0x2440, 0x835E, 0x2443, 0x835E, 0x2446, 0x807E, 0x002D, 0x2409,
+0x826E, 0x2413, 0x826E, 0x240B, 0x836E, 0x2415, 0x835E, 0x241B, 0x3C3C,
+0x435D, 0x4A0C, 0x12B0, 0xECB8, 0x4C0B, 0x3C36, 0x434D, 0x4A0C, 0x12B0,
+0xECB8, 0x4C0B, 0x3C30, 0x4A5C, 0x0006, 0x12B0, 0xF164, 0x4C0B, 0x3C2A,
+0x4A5C, 0x0006, 0xD07C, 0x0040, 0x12B0, 0xF8D0, 0x4C0B, 0x3C22, 0x4A5C,
+0x0006, 0xD07C, 0x0040, 0x12B0, 0xF8AA, 0x4C0B, 0x3C1A, 0x4A0C, 0x12B0,
+0xF64C, 0x4C0B, 0x3C15, 0x4A0C, 0x12B0, 0xE9A6, 0x4C0B, 0x931C, 0x200F,
+0x12B0, 0xF736, 0x3C0C, 0x4A0C, 0x12B0, 0xEFFE, 0x4C0B, 0x3C07, 0x4A0C,
+0x12B0, 0xF446, 0x4C0B, 0x3C02, 0x12B0, 0xF5B0, 0x903B, 0x8000, 0x2425,
+0x4A5C, 0x0002, 0x930B, 0x380C, 0x407D, 0x0091, 0x1292, 0xE000, 0x930C,
+0x381B, 0x4B0C, 0x1292, 0xE008, 0x1292, 0xE002, 0x3C15, 0x407D, 0x0092,
+0x1292, 0xE000, 0x4B0C, 0x1292, 0xE008, 0x903B, 0x8002, 0x2009, 0x425C,
+0x1A2C, 0x535C, 0xF07C, 0x003F, 0x2001, 0x435C, 0x1292, 0xE008, 0x1292,
+0xE002, 0x430C, 0x4030, 0xFAAA, 0x120A, 0x120B, 0x8221, 0x430A, 0x4C5E,
+0x0006, 0x934E, 0x2057, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1292, 0xE000,
+0x930C, 0x384C, 0x421A, 0xFDD6, 0x421F, 0xFDD8, 0x4A81, 0x0000, 0x4F81,
+0x0002, 0x421B, 0xE008, 0x421F, 0x1A26, 0x903F, 0x1B90, 0x2409, 0x4F1C,
+0x0002, 0x128B, 0x421F, 0x1A26, 0x4F1C, 0x0004, 0x128B, 0x3C04, 0x4A0C,
+0x128B, 0x4A0C, 0x128B, 0x421C, 0x1B7E, 0x128B, 0x421C, 0x1B80, 0x128B,
+0x422D, 0x410C, 0x530C, 0x1292, 0xE006, 0x421C, 0xFFDE, 0x128B, 0x430C,
+0x128B, 0x430C, 0x128B, 0x430C, 0x128B, 0x430C, 0x128B, 0x430C, 0x128B,
+0x430C, 0x128B, 0x430C, 0x128B, 0x430C, 0x128B, 0x421F, 0x1A26, 0x4F5C,
+0x0006, 0x128B, 0x432C, 0x128B, 0x403C, 0x0102, 0x128B, 0x421C, 0x1B7A,
+0x421D, 0x1B7C, 0x1292, 0xE00A, 0x431A, 0x3C54, 0x403A, 0xFFFD, 0x3C51,
+0x935E, 0x201B, 0x421F, 0x1A26, 0x938F, 0x0008, 0x2413, 0x407D, 0x0093,
+0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C, 0x3808, 0x421F, 0x1A26, 0x4F1C,
+0x0008, 0x1292, 0xE008, 0x431A, 0x3C3A, 0x403A, 0xFFFC, 0x3C37, 0x403A,
+0xFFFE, 0x3C34, 0x936E, 0x2021, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1292,
+0xE000, 0x930C, 0x3816, 0x430B, 0x3C0D, 0x4B0C, 0x1292, 0xE008, 0x421E,
+0x1B9C, 0x4B0F, 0x5F0F, 0x5F0F, 0x5F0E, 0x4E2C, 0x1292, 0xE008, 0x531B,
+0x421F, 0x1A26, 0x9F1B, 0x0008, 0x2BEE, 0x431A, 0x3C14, 0x403A, 0xFFFB,
+0x3C11, 0x907E, 0x0003, 0x200E, 0x407D, 0x0091, 0x4C5C, 0x0002, 0x1292,
+0xE000, 0x930C, 0x3804, 0x1292, 0xE002, 0x403A, 0xFFFA, 0x12B0, 0xFA7E,
+0x931A, 0x2004, 0x403A, 0x8000, 0x1292, 0xE002, 0x4A0C, 0x5221, 0x413B,
+0x413A, 0x4130, 0x120A, 0x120B, 0x403E, 0x1A46, 0x4E6F, 0xB3DF, 0x1A4C,
+0x2CA4, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x90FF, 0x0093, 0x0001, 0x4E6F,
+0x2407, 0x5F0F, 0x4F1F, 0x1B52, 0xC0FF, 0x0080, 0x0002, 0x3C18, 0x5F0F,
+0x4F1F, 0x1B52, 0x93CF, 0x0002, 0x3803, 0x93C2, 0x1C7B, 0x240F, 0x93F2,
+0x1C7B, 0x2403, 0x53D2, 0x1C7B, 0x3C02, 0x43D2, 0x1C7B, 0x4E6F, 0x5F0F,
+0x4F1F, 0x1B52, 0x42DF, 0x1C7B, 0x0003, 0x4E6F, 0x5F0F, 0x4F1D, 0x1A4E,
+0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4DCF, 0x0000, 0x4E6F, 0x5F0F, 0x4F1F,
+0x1B52, 0xB3DF, 0x0000, 0x2C0E, 0x4E6F, 0x5F0F, 0x4F1D, 0x1B52, 0x4E6F,
+0x5F0F, 0x4F1C, 0x1A4E, 0x531C, 0x4C8F, 0x1A4E, 0x5C0D, 0x43CD, 0x0000,
+0x430D, 0x430C, 0x3C11, 0x4C0A, 0x5A0A, 0x4E6F, 0x5F0F, 0x4F0B, 0x5F0F,
+0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5B0F, 0x5F0A, 0xEA1D,
+0x1A50, 0x531C, 0x4E6F, 0x5F0F, 0x4F1F, 0x1A4E, 0x531F, 0xC312, 0x100F,
+0x9F0C, 0x2BE6, 0xE33D, 0x4E6F, 0x5F0F, 0x4F1B, 0x1A4E, 0x100B, 0x5B0B,
+0x4E6F, 0x5F0F, 0x4F0A, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F,
+0x5F0F, 0x5A0F, 0x5F0B, 0x4D8B, 0x1A52, 0x4E6F, 0xD3DF, 0x1A4C, 0x4E6F,
+0xC2FF, 0x1A4C, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x93CF, 0x0002, 0x3802,
+0x43C2, 0x1C7B, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x90FF, 0x0093, 0x0001,
+0x2003, 0x4E6F, 0xD3EF, 0x1A4C, 0x4E6F, 0x5F0F, 0x4F1C, 0x1A4E, 0x503C,
+0x0003, 0x12B0, 0xF9DC, 0x53D2, 0x1A46, 0x93C2, 0x1A46, 0x2402, 0x43C2,
+0x1A46, 0x12B0, 0xFAE4, 0x430C, 0x413B, 0x413A, 0x4130, 0x43C2, 0x0022,
+0x43C2, 0x002A, 0x43C2, 0x001A, 0x43C2, 0x001E, 0x43C2, 0x0032, 0x43C2,
+0x0036, 0x43C2, 0x0026, 0x43C2, 0x002E, 0x43C2, 0x001B, 0x43C2, 0x001F,
+0x43C2, 0x0033, 0x43C2, 0x0037, 0x43C2, 0x0021, 0x43C2, 0x0029, 0x43C2,
+0x0019, 0x43C2, 0x001D, 0x43C2, 0x0031, 0x43C2, 0x0035, 0xC0F2, 0x0080,
+0x0057, 0x430F, 0x3C05, 0x4303, 0x533E, 0x930E, 0x23FC, 0x531F, 0x903F,
+0x00FF, 0x2C07, 0xB3E2, 0x0002, 0x2804, 0xC3E2, 0x0002, 0x437E, 0x3FF3,
+0xC0F2, 0x0040, 0x0019, 0xD0F2, 0x0080, 0x0057, 0xD0F2, 0x0040, 0x0057,
+0xC032, 0x0020, 0x430F, 0xC3E2, 0x0002, 0x437E, 0x3C02, 0x4303, 0x533E,
+0x930E, 0x23FC, 0xB3E2, 0x0002, 0x2802, 0x430F, 0x3C01, 0x531F, 0x903F,
+0x000A, 0x2BEF, 0xD3E2, 0x0000, 0xD0F2, 0x00C0, 0x0058, 0x40B2, 0x1200,
+0x1B76, 0x40B2, 0x007A, 0x1B78, 0x40F2, 0x0057, 0x1C73, 0x40F2, 0x00FC,
+0x0021, 0x40F2, 0x0003, 0x0022, 0xC0F2, 0x0020, 0x0021, 0xD0F2, 0x0040,
+0x0021, 0xD0F2, 0x0060, 0x0022, 0xD0F2, 0x0060, 0x0029, 0xD0F2, 0x0060,
+0x002A, 0xD0F2, 0x0030, 0x001B, 0xD0F2, 0x0010, 0x001A, 0xD0F2, 0x0015,
+0x001D, 0xD0F2, 0x007D, 0x001E, 0xD0F2, 0x000B, 0x0032, 0x40B2, 0x0021,
+0x1B68, 0x43D2, 0x1B6A, 0x40B2, 0x0021, 0x1B72, 0x43E2, 0x1B74, 0x40B2,
+0x1C74, 0x1B82, 0x40B2, 0x1C75, 0x1A00, 0x40B2, 0xFF55, 0x1B7E, 0x40B2,
+0x0140, 0x1B80, 0x40B2, 0x0007, 0x1B7A, 0x4382, 0x1B7C, 0x4382, 0x0182,
+0x40B2, 0x270F, 0x0192, 0x40B2, 0x01D6, 0x0180, 0xD0F2, 0x0040, 0x0019,
+0xD232, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C18, 0x0004,
+0x4809, 0x5C19, 0x0008, 0x8329, 0x4336, 0x93D2, 0x1C7C, 0x2076, 0x403B,
+0xF4A2, 0x480C, 0x128B, 0x834C, 0x2407, 0x835C, 0x2408, 0x835C, 0x2409,
+0x835C, 0x240A, 0x3C0A, 0xF038, 0xFE00, 0x3C07, 0xF038, 0xFF00, 0x3C04,
+0xF038, 0xFF80, 0x3C01, 0xC318, 0x490C, 0x128B, 0x834C, 0x2407, 0x835C,
+0x2408, 0x835C, 0x2409, 0x835C, 0x240A, 0x3C0A, 0xF039, 0xFE00, 0x3C07,
+0xF039, 0xFF00, 0x3C04, 0xF039, 0xFF80, 0x3C01, 0xC319, 0x490C, 0x128B,
+0x4C4C, 0x5C0C, 0x4C1F, 0xE04A, 0x5F0F, 0x5F09, 0x4036, 0xFFFE, 0xB318,
+0x2C3E, 0x9908, 0x2C3C, 0xB392, 0x012C, 0x2FFD, 0x40B2, 0xA593, 0x012A,
+0x40B2, 0xA500, 0x012C, 0x4316, 0x3C0A, 0x907A, 0x0003, 0x2002, 0x43B8,
+0x0000, 0x5A0A, 0x4A1F, 0xE04A, 0x5F0F, 0x5F08, 0x9908, 0x2C1F, 0x480C,
+0x128B, 0x4C4A, 0x480C, 0x12B0, 0xF884, 0x934C, 0x240F, 0x934A, 0x2404,
+0x935A, 0x2402, 0x936A, 0x23E6, 0x40B2, 0xA502, 0x0128, 0x43B8, 0x0000,
+0xB392, 0x012C, 0x2FFD, 0x3FE2, 0x40B2, 0xA500, 0x0128, 0x40B2, 0xA510,
+0x012C, 0x4036, 0xFFFE, 0x40B2, 0xA500, 0x0128, 0x40B2, 0xA510, 0x012C,
+0x460C, 0x4030, 0xFAA8, 0x120A, 0x120B, 0x1208, 0x1209, 0x8031, 0x0012,
+0x434A, 0xC0F2, 0x0040, 0x0021, 0xC3D2, 0x1B5C, 0x3C16, 0x403D, 0x0014,
+0x434C, 0x12B0, 0xF85C, 0x4A4D, 0x403C, 0x1A2A, 0x1292, 0xE00C, 0x4AC2,
+0x1C7A, 0x5B0B, 0x4B1C, 0x1A32, 0x12B0, 0xE388, 0x425A, 0x1C7A, 0x4A4F,
+0xC3DF, 0x1A30, 0x93C2, 0x1C76, 0x240F, 0x421E, 0x1B86, 0x421D, 0x1B84,
+0x425C, 0x1C77, 0x12B0, 0xF5FE, 0x43C2, 0x1C76, 0xC0F2, 0x0040, 0x0021,
+0xC3D2, 0x1B5C, 0x434B, 0x3C41, 0x4B48, 0x5808, 0x5808, 0x5808, 0x481F,
+0x1A06, 0x421E, 0x1A26, 0x9E1F, 0x0008, 0x2C35, 0x421E, 0x1B9C, 0x5F0F,
+0x5F0F, 0x5F0E, 0x4E19, 0x0002, 0x9309, 0x242C, 0x93C8, 0x1A0D, 0x2429,
+0x485D, 0x1A0C, 0x485C, 0x1A0B, 0x1292, 0xE000, 0x930C, 0x3821, 0x481C,
+0x1A08, 0x410F, 0x530F, 0x120F, 0x430F, 0x431E, 0x4C6D, 0x503D, 0xFFFD,
+0x503C, 0x0006, 0x1292, 0xE00E, 0x403C, 0x0003, 0x1289, 0x5321, 0x931C,
+0x2009, 0x1292, 0xE002, 0xB3D8, 0x1A0A, 0x2804, 0x485C, 0x1A0B, 0x12B0,
+0xF164, 0x410C, 0x530C, 0x1292, 0xE010, 0x535B, 0x926B, 0x2BBD, 0x4A4E,
+0x4A4B, 0xB3DB, 0x1A30, 0x2F8E, 0x535A, 0x936A, 0x2801, 0x434A, 0x9A4E,
+0x23F6, 0x3F9D, 0x120A, 0x120B, 0x120D, 0x120C, 0x120F, 0x120E, 0x421F,
+0x1A00, 0x93CF, 0x0000, 0x2404, 0x40F2, 0x000A, 0x1C75, 0x3C65, 0x403D,
+0x1A47, 0x4D6C, 0x4D6F, 0xB3DF, 0x1A4C, 0x2C0B, 0x53D2, 0x1A47, 0x93C2,
+0x1A47, 0x2402, 0x43C2, 0x1A47, 0x9CC2, 0x1A47, 0x23F2, 0x3C53, 0x4D6E,
+0x5E0E, 0x4D6F, 0x5F0F, 0x9F9E, 0x1A4E, 0x1A48, 0x4D6F, 0x2C0F, 0x5F0F,
+0x4F1E, 0x1B52, 0x4D6F, 0x5F0F, 0x4F1D, 0x1A48, 0x4D0A, 0x531A, 0x4A8F,
+0x1A48, 0x5D0E, 0x4EE2, 0x0077, 0x3C3B, 0xC3DF, 0x1A4C, 0x4D6F, 0x5F0F,
+0x438F, 0x1A48, 0x4D6C, 0x4D6F, 0xB3EF, 0x1A4C, 0x2C02, 0x4382, 0x1B5E,
+0x53D2, 0x1A47, 0x93C2, 0x1A47, 0x2402, 0x43C2, 0x1A47, 0x4D6F, 0xB3DF,
+0x1A4C, 0x281C, 0x4D6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F6E, 0x4D6F, 0x5F0F,
+0x9F1E, 0x1A48, 0x2812, 0x4D6F, 0x5F0F, 0x4F1E, 0x1B52, 0x4D6F, 0x5F0F,
+0x4F1A, 0x1A48, 0x4A0B, 0x531B, 0x4B8F, 0x1A48, 0x5A0E, 0x4EE2, 0x0077,
+0x40B2, 0x0032, 0x1B5E, 0x4D6F, 0xB3DF, 0x1A4C, 0x2C03, 0x9CC2, 0x1A47,
+0x23D2, 0x413E, 0x413F, 0x413C, 0x413D, 0x413B, 0x413A, 0x1300, 0x120A,
+0x120B, 0x1208, 0x1209, 0x4C08, 0x4D4A, 0x4309, 0x3C01, 0x5319, 0x9229,
+0x2C0C, 0x490F, 0x5F0F, 0x5F0F, 0x5F0F, 0x9C9F, 0x0004, 0x1A06, 0x23F5,
+0x9CDF, 0x0002, 0x1A0B, 0x23F1, 0x4309, 0x3C01, 0x5319, 0x9229, 0x2C07,
+0x490F, 0x5F0F, 0x5F0F, 0x5F0F, 0x93BF, 0x1A06, 0x23F6, 0x9229, 0x2C46,
+0x5909, 0x5909, 0x5909, 0x4C6B, 0x907B, 0x0006, 0x282A, 0x535B, 0x4B0C,
+0x12B0, 0xF300, 0x4C89, 0x1A08, 0x930C, 0x241F, 0x430F, 0x3C08, 0x480E,
+0x5F0E, 0x491D, 0x1A08, 0x5F0D, 0x4EED, 0x0000, 0x531F, 0x9B0F, 0x2BF6,
+0xF35A, 0x4AC9, 0x1A0A, 0x485E, 0x0002, 0xD07E, 0x0040, 0x4EC9, 0x1A0B,
+0x40F9, 0x0093, 0x1A0C, 0x4899, 0x0004, 0x1A06, 0x43D9, 0x1A0D, 0x431C,
+0x3C1A, 0x403C, 0xFFFC, 0x3C17, 0x4389, 0x1A08, 0xF35A, 0x4AC9, 0x1A0A,
+0x4C5E, 0x0002, 0xD07E, 0x0040, 0x4EC9, 0x1A0B, 0x40F9, 0x0093, 0x1A0C,
+0x4C99, 0x0004, 0x1A06, 0x43D9, 0x1A0D, 0x431C, 0x3C02, 0x403C, 0xFFFD,
+0x4030, 0xFAAA, 0x120D, 0x120C, 0x120F, 0x120E, 0x90B2, 0x000E, 0x011E,
+0x205F, 0xD232, 0x93A2, 0x1B5A, 0x2806, 0xB3D2, 0x1B5C, 0x2C03, 0x53B2,
+0x1B5A, 0x3C09, 0x9392, 0x1B5A, 0x2006, 0x4382, 0x1B5A, 0x403C, 0x8004,
+0x12B0, 0xF7E4, 0x93A2, 0x1B5E, 0x2805, 0x93C2, 0x1C75, 0x2002, 0x53B2,
+0x1B5E, 0x425E, 0x1B62, 0x421F, 0x1B64, 0xC312, 0x100F, 0x921F, 0x1B66,
+0x7F4F, 0xF35F, 0xF35E, 0xEF4E, 0x421F, 0x1B68, 0x2404, 0xD2DF, 0x1B6A,
+0x0000, 0x3C03, 0xC2DF, 0x1B6A, 0x0000, 0x9382, 0x1B66, 0x2403, 0x53B2,
+0x1B66, 0x3C06, 0xB3E2, 0x1B62, 0x2803, 0x4292, 0x1B64, 0x1B66, 0x425E,
+0x1B6C, 0x421F, 0x1B6E, 0xC312, 0x100F, 0x921F, 0x1B70, 0x7F4F, 0xF35F,
+0xF35E, 0xEF4E, 0x421F, 0x1B72, 0x2404, 0xD2DF, 0x1B74, 0x0000, 0x3C03,
+0xC2DF, 0x1B74, 0x0000, 0x9382, 0x1B70, 0x2403, 0x53B2, 0x1B70, 0x3C06,
+0xB3E2, 0x1B6C, 0x2803, 0x4292, 0x1B6E, 0x1B70, 0x413E, 0x413F, 0x413C,
+0x413D, 0x1300, 0x120A, 0x8031, 0x0006, 0x410C, 0x530C, 0x403E, 0xE056,
+0x403D, 0x0006, 0x12B0, 0xFAD4, 0x12B0, 0xF736, 0x90B2, 0x2520, 0x251E,
+0x2853, 0x90B2, 0xFDDA, 0x251E, 0x2C4F, 0x421F, 0x1A02, 0x90BF, 0x5137,
+0x0000, 0x201F, 0x434A, 0x3C0F, 0x4A4F, 0x5F0F, 0x421E, 0x1A04, 0x5F0E,
+0x93BE, 0x0000, 0x2006, 0x93BF, 0x2500, 0x2403, 0x4F9F, 0x2500, 0x24E0,
+0x535A, 0x907A, 0x0010, 0x2BEE, 0x421D, 0x251E, 0x421E, 0x1B7A, 0x421F,
+0x1B7C, 0x403C, 0xE000, 0x128D, 0x4C82, 0x1A26, 0x421F, 0x1A26, 0x903F,
+0x1B90, 0x2423, 0x4F92, 0x000A, 0x1B9C, 0x9382, 0x1B9C, 0x241D, 0x434A,
+0x3C16, 0x421F, 0x1B9C, 0x4A4E, 0x5E0E, 0x5E0E, 0x5E0F, 0x4F2F, 0x933F,
+0x240C, 0x903F, 0xFF00, 0x2809, 0x4AC1, 0x0004, 0x43C1, 0x0005, 0x434D,
+0x410C, 0x530C, 0x12B0, 0xECB8, 0x535A, 0x421F, 0x1A26, 0x9F1A, 0x0008,
+0x2BE5, 0x430C, 0x3C01, 0x433C, 0x5031, 0x0006, 0x413A, 0x4130, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x4C0B, 0x4D08, 0x430C, 0x9382,
+0x1B54, 0x203B, 0x4309, 0x9809, 0x2C4E, 0x4036, 0x1A46, 0x466F, 0x5F0F,
+0x90BF, 0x00FF, 0x1A4E, 0x281E, 0x466F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F5A,
+0x0001, 0x466F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F57, 0x0002, 0x466F, 0x5F0F,
+0x4F1F, 0x1B52, 0xD0FF, 0x0080, 0x0002, 0x403D, 0x0014, 0x434C, 0x12B0,
+0xF85C, 0x12B0, 0xE6E8, 0x4A4D, 0x474C, 0x12B0, 0xF556, 0x466F, 0x5F0F,
+0x539F, 0x1A4E, 0x4B07, 0x5907, 0x466F, 0x5F0F, 0x4F1E, 0x1B52, 0x466F,
+0x5F0F, 0x5F1E, 0x1A4E, 0x47EE, 0x0000, 0x5319, 0x3FC6, 0x93B2, 0x1B54,
+0x2413, 0x4309, 0x3C0B, 0x4B0F, 0x590F, 0x4217, 0x1B54, 0x5217, 0x1B58,
+0x4FE7, 0x0000, 0x5319, 0x5392, 0x1B58, 0x9D09, 0x2C04, 0x9292, 0x1B56,
+0x1B58, 0x2BEF, 0x4030, 0xFAA6, 0x120A, 0x120B, 0x1208, 0x1209, 0x4C0B,
+0x433C, 0x93D2, 0x1C7C, 0x2051, 0x4B6E, 0xB392, 0x1B9E, 0x2826, 0x4B92,
+0x0004, 0x1C6E, 0x421F, 0x1C6E, 0x4F0D, 0x5B1D, 0x0008, 0x4D82, 0x1C70,
+0x4F82, 0x1C6C, 0x503B, 0x000C, 0x503E, 0xFFF5, 0xC312, 0x100E, 0x5E0E,
+0x4B08, 0x5E08, 0xB31F, 0x2C0C, 0x9D0F, 0x2C0A, 0x40B2, 0xA593, 0x012A,
+0x40B2, 0xA500, 0x012C, 0x40B2, 0xA540, 0x0128, 0x3C0B, 0x403C, 0xFFFD,
+0x3C08, 0x522B, 0x503E, 0xFFFD, 0xC312, 0x100E, 0x5E0E, 0x4B08, 0x5E08,
+0x933C, 0x201D, 0x421C, 0x1C6C, 0x12B0, 0xF4A2, 0x3C07, 0x4BB9, 0x0000,
+0x4A5F, 0xE05C, 0x5F0F, 0x5F82, 0x1C6C, 0x4219, 0x1C6C, 0x9219, 0x1C70,
+0x2C0B, 0x980B, 0x2C09, 0x490C, 0x12B0, 0xF4A2, 0x4C4A, 0x490C, 0x12B0,
+0xF790, 0x934C, 0x23E9, 0x431C, 0x4030, 0xFAAA, 0x120A, 0x120B, 0x1208,
+0x1209, 0x4C0A, 0x4D0B, 0x4348, 0x3C11, 0x4849, 0x5909, 0x403C, 0x0102,
+0x12B0, 0xF300, 0x4C89, 0x1A36, 0x9389, 0x1A36, 0x2002, 0x12B0, 0xFAF2,
+0x4999, 0x1A36, 0x1A32, 0x5358, 0x9368, 0x2BED, 0x4348, 0x3C04, 0x40B2,
+0x1A50, 0x1B52, 0x4358, 0x9348, 0x27FA, 0x43C2, 0x0070, 0x43D2, 0x0070,
+0xD0F2, 0x00C0, 0x0004, 0xD0F2, 0x0010, 0x0070, 0x93C2, 0x0057, 0x3803,
+0x407E, 0x0020, 0x3C02, 0x407E, 0x0010, 0x4EC2, 0x0071, 0x421C, 0x1B76,
+0x421D, 0x1B78, 0x4A0E, 0x4B0F, 0x12B0, 0xF694, 0x4CC2, 0x0074, 0x108C,
+0x4CC2, 0x0075, 0x42D2, 0x1C73, 0x0073, 0xC3D2, 0x0070, 0x43C2, 0x1C75,
+0xD0F2, 0x00C0, 0x0000, 0x93C2, 0x0076, 0xC0F2, 0x0040, 0x0021, 0xC3D2,
+0x1B5C, 0x4030, 0xFAAA, 0x120A, 0x120B, 0x1208, 0x934C, 0x2024, 0x430A,
+0x430B, 0x922B, 0x2C3E, 0x4B08, 0x5808, 0x5808, 0x5808, 0x481F, 0x1A06,
+0x933F, 0x2416, 0x421E, 0x1B9C, 0x5F0F, 0x5F0F, 0x5F0E, 0x90BE, 0xFF00,
+0x0000, 0x2C0D, 0x481C, 0x1A08, 0x930C, 0x2402, 0x12B0, 0xF372, 0x4388,
+0x1A08, 0x43B8, 0x1A06, 0x43D8, 0x1A0D, 0x531A, 0x531B, 0x3FDE, 0x430B,
+0x3C01, 0x531B, 0x922B, 0x2C07, 0x4B0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x9CCF,
+0x1A0B, 0x23F6, 0x922B, 0x2C0F, 0x5B0B, 0x5B0B, 0x5B0B, 0x4B1C, 0x1A08,
+0x930C, 0x2402, 0x12B0, 0xF372, 0x438B, 0x1A08, 0x43BB, 0x1A06, 0x43DB,
+0x1A0D, 0x431A, 0x4A0C, 0x4030, 0xFAAC, 0x434F, 0xB0F2, 0x0040, 0x0000,
+0x2804, 0xC0F2, 0x0040, 0x0000, 0x435F, 0x43C2, 0x1A2A, 0x434E, 0x3C13,
+0x4E4D, 0x43CD, 0x1A30, 0x43C2, 0x1A2B, 0x43C2, 0x1A2C, 0x5D0D, 0x4D1C,
+0x1A32, 0x43CC, 0x0000, 0x438D, 0x1A42, 0x438D, 0x1A3A, 0x438D, 0x1A3E,
+0x535E, 0x936E, 0x2BEB, 0x4382, 0x1B5A, 0x403D, 0x012C, 0x42D2, 0x0076,
+0x1C78, 0x42D2, 0x0076, 0x1C78, 0x42D2, 0x0076, 0x1C78, 0xC0F2, 0x0040,
+0x0002, 0xF0F2, 0x000E, 0x0072, 0x434E, 0x3C02, 0x4303, 0x535E, 0x937E,
+0x23FC, 0x533D, 0x2404, 0xB0F2, 0x0040, 0x0002, 0x2FE5, 0x934F, 0x2403,
+0xD0F2, 0x0040, 0x0000, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x430C, 0x421E,
+0x1B8E, 0xB35E, 0x2421, 0x438A, 0x0000, 0x438A, 0x0002, 0x403B, 0xF834,
+0x4A0C, 0x128B, 0x930C, 0x2402, 0x433C, 0x3C26, 0x4A0C, 0x531C, 0x128B,
+0x930C, 0x2403, 0x403C, 0xFFFE, 0x3C1E, 0x4A0C, 0x532C, 0x128B, 0x930C,
+0x2403, 0x403C, 0xFFFD, 0x3C16, 0x503A, 0x0003, 0x4A0C, 0x128B, 0x3C11,
+0x9E82, 0x1B8C, 0x2C03, 0x403C, 0xFFFB, 0x3C0B, 0x4EBA, 0x0000, 0x4EBA,
+0x0002, 0x52A2, 0x1B8E, 0x9292, 0x1B8E, 0x1B8C, 0x2C01, 0x431C, 0x413B,
+0x413A, 0x4130, 0x120A, 0x531C, 0xC31C, 0x421E, 0x1A28, 0x421D, 0xE054,
+0x8E0D, 0x4C0F, 0x522F, 0x9F0D, 0x280F, 0x43DE, 0x0000, 0x421F, 0x1A28,
+0x5C0F, 0x522F, 0x4F82, 0x1A28, 0x4F8E, 0x0002, 0x421F, 0x1A28, 0x8C0F,
+0x4F0C, 0x3C1C, 0x421F, 0xE052, 0x3C01, 0x4D0F, 0x9E0F, 0x2C15, 0x4F1D,
+0x0002, 0x93CF, 0x0000, 0x23F8, 0x4D0A, 0x8F0A, 0x822A, 0x9C0A, 0x2BF3,
+0x4F0A, 0x522A, 0x43DF, 0x0000, 0x4A0D, 0x5C0D, 0x4F0C, 0x12B0, 0xF9FA,
+0x4A0C, 0x3C01, 0x430C, 0x413A, 0x4130, 0x120A, 0x421E, 0xE052, 0x4E0D,
+0x930C, 0x2004, 0x3C2E, 0x4E0D, 0x4E1E, 0x0002, 0x921E, 0x1A28, 0x2C28,
+0x4E0F, 0x522F, 0x9F0C, 0x23F6, 0x93CE, 0x0000, 0x2421, 0x4E1F, 0x0002,
+0x921F, 0x1A28, 0x2C02, 0x4F0C, 0x3C01, 0x4E0C, 0x4C6A, 0x93CD, 0x0000,
+0x2008, 0x934A, 0x2002, 0x4C1F, 0x0002, 0x4F8D, 0x0002, 0x4D0E, 0x3C07,
+0x934A, 0x2003, 0x4C9E, 0x0002, 0x0002, 0x43CE, 0x0000, 0x929E, 0x1A28,
+0x0002, 0x2002, 0x4E82, 0x1A28, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x4C0A, 0x4D0B, 0x4E08, 0x4F09, 0x4116, 0x000C, 0x403E,
+0x0006, 0x403D, 0x1B8A, 0x460C, 0x12B0, 0xFA16, 0x4296, 0x1B54, 0x000C,
+0x4296, 0x1B56, 0x000E, 0x4296, 0x1B58, 0x0010, 0x4A82, 0x1B8A, 0x4A0F,
+0x5B0F, 0x4F82, 0x1B8C, 0x4A82, 0x1B8E, 0x9318, 0x240B, 0x9308, 0x2003,
+0x43B2, 0x1B54, 0x3C02, 0x4882, 0x1B54, 0x4982, 0x1B56, 0x4382, 0x1B58,
+0x430C, 0x4030, 0xFAA8, 0x120A, 0x120B, 0x1208, 0x4C0A, 0x4308, 0x430B,
+0x90FA, 0x000B, 0x0000, 0x201A, 0x407D, 0x0093, 0x4A5C, 0x0002, 0x1292,
+0xE000, 0x930C, 0x380F, 0x4A1B, 0x0004, 0x4B08, 0x5A18, 0x0008, 0x3C04,
+0x4B2C, 0x1292, 0xE008, 0x532B, 0x980B, 0x2BFA, 0x403B, 0x8000, 0x3C05,
+0x403B, 0x8007, 0x3C02, 0x403B, 0x800B, 0x903B, 0x8000, 0x2002, 0x1292,
+0xE002, 0x4B0C, 0x4030, 0xFAAC, 0x434F, 0x434E, 0x3C01, 0x536E, 0x936E,
+0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE03E, 0x2BF8, 0x9C8D, 0xE040, 0x2BF5,
+0x936E, 0x2C02, 0x436F, 0x3C11, 0x434E, 0x3C01, 0x536E, 0x926E, 0x2C08,
+0x4E4D, 0x5D0D, 0x9D1C, 0xE042, 0x2BF8, 0x9C8D, 0xE044, 0x2BF5, 0x926E,
+0x2C02, 0x407F, 0x0003, 0x934F, 0x2006, 0x503C, 0xDB00, 0x903C, 0x00FF,
+0x2C01, 0x435F, 0x4F4C, 0x4130, 0x120A, 0x8321, 0x4C0A, 0x430C, 0x421E,
+0x1B8E, 0xB35E, 0x2413, 0x410C, 0x530C, 0x12B0, 0xF834, 0x416D, 0x930C,
+0x2008, 0x410C, 0x530C, 0x12B0, 0xF834, 0x416F, 0x108F, 0x5F0D, 0x3C01,
+0x433C, 0x4D8A, 0x0000, 0x3C0F, 0x9E82, 0x1B8C, 0x2C03, 0x403C, 0xFFFE,
+0x3C09, 0x4EAA, 0x0000, 0x53A2, 0x1B8E, 0x9292, 0x1B8E, 0x1B8C, 0x2C01,
+0x431C, 0x5321, 0x413A, 0x4130, 0x403E, 0x1A46, 0x4E6F, 0xB0FF, 0x000B,
+0x1A4C, 0x2403, 0x93A2, 0x1B5E, 0x2FF6, 0x4E6F, 0xB0FF, 0x000B, 0x1A4C,
+0x2405, 0x12B0, 0xFB08, 0x403C, 0x8007, 0x4130, 0x4E6F, 0x5F0F, 0x4F1F,
+0x1B52, 0x4DCF, 0x0001, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4CCF, 0x0002,
+0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x43CF, 0x0003, 0x4E6F, 0x5F0F, 0x40BF,
+0x0003, 0x1A4E, 0x430C, 0x4130, 0x120A, 0x430F, 0x403F, 0xFDFC, 0x40B2,
+0xA593, 0x012A, 0x40B2, 0xA500, 0x012C, 0x40B2, 0xA502, 0x0128, 0x43BF,
+0x0000, 0xB392, 0x012C, 0x2FFD, 0x40B2, 0xA500, 0x0128, 0x40B2, 0xA510,
+0x012C, 0x430A, 0x3C06, 0x403D, 0x001E, 0x434C, 0x12B0, 0xF91A, 0x531A,
+0x903A, 0x0064, 0x2BF7, 0x4382, 0x0120, 0x413A, 0x4130, 0x120A, 0x120B,
+0x1208, 0x4D0A, 0x4E0B, 0x407D, 0x0092, 0x1292, 0xE000, 0x930C, 0x3819,
+0x930B, 0x2004, 0x4A0C, 0x1292, 0xE008, 0x3C0F, 0x4308, 0x3C08, 0x480E,
+0x5E0E, 0x4B0F, 0x5E0F, 0x4F2C, 0x1292, 0xE008, 0x5318, 0x9A08, 0x2C03,
+0x9038, 0x007E, 0x2BF3, 0x1292, 0xE002, 0x430C, 0x3C01, 0x433C, 0x4030,
+0xFAAC, 0x433F, 0x4C5E, 0x0004, 0x934E, 0x2012, 0x43C2, 0x1C7C, 0x40B2,
+0xA510, 0x012C, 0x12B0, 0xEE6E, 0x430C, 0x12B0, 0xF6CC, 0x434C, 0x12B0,
+0xF99E, 0x435C, 0x12B0, 0xF95E, 0x430F, 0x3C0B, 0x935E, 0x2009, 0x43D2,
+0x1C7C, 0x403C, 0x001E, 0x12B0, 0xF6CC, 0x12B0, 0xF702, 0x431F, 0x4F0C,
+0x4130, 0x1209, 0x120A, 0x120B, 0x430A, 0x430B, 0x4039, 0x0020, 0x5C0C,
+0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C, 0x5339, 0x23F6,
+0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F, 0x413B, 0x413A,
+0x4139, 0x4130, 0xC232, 0x4303, 0x4C0F, 0x5F0F, 0x4F82, 0x1B64, 0x4C82,
+0x1B66, 0x4F82, 0x1B6E, 0x4C82, 0x1B70, 0x930C, 0x2406, 0x40F2, 0x0003,
+0x1B62, 0x43E2, 0x1B6C, 0x3C04, 0x43C2, 0x1B62, 0x43C2, 0x1B6C, 0xD232,
+0x430C, 0x4130, 0x120A, 0x120B, 0x430A, 0x3C11, 0x4A0B, 0x5B0B, 0x5B0B,
+0x5B0B, 0x4B1C, 0x1A08, 0x930C, 0x2402, 0x12B0, 0xF372, 0x438B, 0x1A08,
+0x43BB, 0x1A06, 0x43DB, 0x1A0D, 0x531A, 0x922A, 0x3BED, 0x413B, 0x413A,
+0x4130, 0x40B2, 0x1B90, 0x1A26, 0x4382, 0x1B9C, 0x434E, 0x3C0C, 0x4E4F,
+0x5F0F, 0x421D, 0x1A04, 0x5F0D, 0x93BD, 0x0000, 0x2003, 0x40BF, 0xFB18,
+0x24E0, 0x535E, 0x907E, 0x0010, 0x2BF1, 0x430C, 0x4130, 0x434C, 0x12B0,
+0xFB00, 0x12B0, 0xE848, 0x403C, 0x0800, 0x403D, 0x0007, 0x12B0, 0xF0B6,
+0x12B0, 0xEE6E, 0x434C, 0x12B0, 0xF99E, 0x435C, 0x12B0, 0xF95E, 0x4030,
+0xEAB6, 0x434F, 0x434E, 0x3C01, 0x536E, 0x907E, 0x0006, 0x2C08, 0x4E4D,
+0x5D0D, 0x9D1C, 0xE02A, 0x2BF7, 0x9C8D, 0xE02C, 0x2BF4, 0x907E, 0x0006,
+0x2C01, 0x435F, 0x4F4C, 0x4130, 0x120A, 0x4C0A, 0x403E, 0x0006, 0x4C0D,
+0x403C, 0x1B8A, 0x12B0, 0xFA16, 0x4A92, 0x000C, 0x1B54, 0x4A92, 0x000E,
+0x1B56, 0x4A92, 0x0010, 0x1B58, 0x430C, 0x413A, 0x4130, 0x120A, 0x4C0A,
+0xC0F2, 0x0040, 0x0000, 0x12B0, 0xF1F8, 0x4A82, 0x1B84, 0x43D2, 0x1C76,
+0x4382, 0x1B86, 0x43C2, 0x1C77, 0xD0F2, 0x0040, 0x0000, 0x413A, 0x4130,
+0x403E, 0x0114, 0x430D, 0x403C, 0x1A46, 0x12B0, 0xFA30, 0x4382, 0x1B5E,
+0x43C2, 0x1C74, 0x434E, 0x3C04, 0x40B2, 0x1A50, 0x1B52, 0x435E, 0x934E,
+0x27FA, 0x4130, 0x430F, 0x9292, 0x1B8E, 0x1B8C, 0x2C02, 0x433F, 0x3C0B,
+0x421E, 0x1B8E, 0x4EEC, 0x0000, 0x5392, 0x1B8E, 0x9292, 0x1B8E, 0x1B8C,
+0x2C01, 0x431F, 0x4F0C, 0x4130, 0x936C, 0x2C10, 0x4C4C, 0x5C0C, 0x4C0F,
+0x5C0C, 0x5C0C, 0x5F0C, 0x938C, 0x1B66, 0x2007, 0x5D0D, 0x4D8C, 0x1B64,
+0x4D8C, 0x1B66, 0xC3EC, 0x1B62, 0x430C, 0x4130, 0x434F, 0x434E, 0x3C01,
+0x536E, 0x926E, 0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE036, 0x2BF8, 0x9C8D,
+0xE038, 0x2BF5, 0x926E, 0x2C01, 0x435F, 0x4F4C, 0x4130, 0x907C, 0x0040,
+0x240E, 0x430F, 0x3C01, 0x531F, 0x922F, 0x3409, 0x4F0E, 0x5E0E, 0x5E0E,
+0x5E0E, 0x9CCE, 0x1A0B, 0x23F6, 0x43DE, 0x1A0D, 0x431C, 0x4130, 0x907C,
+0x0040, 0x240E, 0x430F, 0x3C01, 0x531F, 0x922F, 0x3409, 0x4F0E, 0x5E0E,
+0x5E0E, 0x5E0E, 0x9CCE, 0x1A0B, 0x23F6, 0x43CE, 0x1A0D, 0x431C, 0x4130,
+0x4D4D, 0x5D0D, 0x5D0C, 0x4C1E, 0x0008, 0x4E82, 0x1B8A, 0x4E6F, 0x5F0E,
+0x4E82, 0x1B8C, 0x421F, 0x1B8A, 0x522F, 0x4F82, 0x1B8E, 0x430C, 0x4130,
+0x936C, 0x2C0D, 0x4C4C, 0x5C0C, 0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x5D0D,
+0x4D8C, 0x1B64, 0x4D8C, 0x1B66, 0x43EC, 0x1B62, 0x430C, 0x4130, 0x429C,
+0x1B8E, 0x0000, 0x421F, 0x1B8C, 0x821F, 0x1B8E, 0x531F, 0x4F8D, 0x0000,
+0x421F, 0x1B8C, 0x522F, 0x4F82, 0x1B8E, 0x431C, 0x4130, 0x936C, 0x2C0C,
+0x4C4C, 0x5C0C, 0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x43DC, 0x1B62, 0x438C,
+0x1B64, 0x438C, 0x1B66, 0x430C, 0x4130, 0x425F, 0x1A46, 0x5F0F, 0x4F1F,
+0x1B52, 0x4F5E, 0x0001, 0x425F, 0x1A46, 0x5F0F, 0x4F1F, 0x1B52, 0x4CCF,
+0x0001, 0x4E4C, 0x4130, 0x936C, 0x2C0C, 0x4C4C, 0x5C0C, 0x4C0F, 0x5C0C,
+0x5C0C, 0x5F0C, 0x43CC, 0x1B62, 0x438C, 0x1B64, 0x438C, 0x1B66, 0x430C,
+0x4130, 0x8321, 0x4C0D, 0x433C, 0x3C01, 0x533D, 0x930D, 0x2406, 0x410C,
+0x530C, 0x12B0, 0xF834, 0x933C, 0x23F7, 0x5321, 0x4130, 0x425F, 0x1A47,
+0x5F0F, 0x438F, 0x1A48, 0x425F, 0x1A46, 0x5F0F, 0x4C8F, 0x1A4E, 0x425F,
+0x1A46, 0xD3DF, 0x1A4C, 0x4130, 0x4C1F, 0x0002, 0x4F0E, 0x8D0E, 0x903E,
+0x0005, 0x2806, 0x4D8C, 0x0002, 0x43CD, 0x0000, 0x4F8D, 0x0002, 0x4130,
+0x120A, 0x4C0A, 0x3C04, 0x4DEA, 0x0000, 0x531A, 0x531D, 0x4E0F, 0x533E,
+0x930F, 0x23F8, 0x413A, 0x4130, 0x120A, 0x4C0A, 0x3C03, 0x4DCA, 0x0000,
+0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A, 0x4130, 0x4C0F, 0x5D0F,
+0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB, 0x4130, 0x120D, 0x120C,
+0x422D, 0x410C, 0x530C, 0x12B0, 0xEF40, 0x5221, 0x4130, 0x3C02, 0xC3E2,
+0x0002, 0xB3E2, 0x0002, 0x2FFB, 0xD3E2, 0x0000, 0x1300, 0x430F, 0x3C02,
+0x4303, 0x531F, 0x933F, 0x23FC, 0x4382, 0x0120, 0x4130, 0x3C04, 0x4DFC,
+0x0000, 0x531C, 0x533E, 0x930E, 0x23FA, 0x430C, 0x4130, 0x4135, 0x4134,
+0x4137, 0x4136, 0x4139, 0x4138, 0x413B, 0x413A, 0x4130, 0x124C, 0x431D,
+0x410C, 0x530C, 0x12B0, 0xEF40, 0x5321, 0x4130, 0x120C, 0x432D, 0x410C,
+0x530C, 0x12B0, 0xEF40, 0x5321, 0x4130, 0x120C, 0x4EFC, 0x0000, 0x531C,
+0x831D, 0x23FB, 0x413C, 0x4130, 0x40B2, 0x0032, 0x1B5E, 0xD0F2, 0x0080,
+0x0002, 0x4130, 0x434C, 0x12B0, 0xF95E, 0x435C, 0x12B0, 0xF99E, 0x3FFF,
+0x40B2, 0x5A80, 0x0120, 0x4130, 0x4030, 0xF80C, 0x4030, 0xFB1A, 0x4030,
+0xFA16, 0x4030, 0xFB0C, 0x1300, 0x3FFF, 0xCCCC, 0x0016, 0xEBC2, 0xE0B2,
+0xED96, 0xFA6C, 0xE08A, 0x000F, 0x2112, 0xFEDF,
+};
+
+const uint32_t UifBiosCoreImage_address[] =
+{
+0x0000E000, 0x0000FDD6, 0x0000FDEA, 0x0000FDF2, 0x0000FDF6,
+};
+const uint32_t UifBiosCoreImage_length_of_sections[] =
+{
+0x00000D8E, 0x00000002, 0x00000002, 0x00000001, 0x00000005,
+};
+const uint32_t UifBiosCoreImage_sections = 0x00000005;
+const uint32_t UifBiosCoreImage_termination = 0x00000000;
+const uint32_t UifBiosCoreImage_start = 0x0000E000;
+const uint32_t UifBiosCoreImage_finish = 0x0000FE00;
+const uint32_t UifBiosCoreImage_length = 0x00001E00;
+
+#define UIFBIOSCOREIMAGE_TERMINATION 0x00000000
+#define UIFBIOSCOREIMAGE_START 0x0000E000
+#define UIFBIOSCOREIMAGE_FINISH 0x0000FE00
+#define UIFBIOSCOREIMAGE_LENGTH 0x00001E00
+#define UIFBIOSCOREIMAGE_SECTIONS 0x00000005
diff --git a/Bios/include/UifHal.h b/Bios/include/UifHal.h
index 269d068..0be5695 100644
--- a/Bios/include/UifHal.h
+++ b/Bios/include/UifHal.h
@@ -1,2623 +1,718 @@
-/*
- * UifHal.h
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* http://srecord.sourceforge.net/ */
-const uint16_t halImage[] =
-{
-0xD75E, 0x45DE, 0x2918, 0xC48C, 0x8205, 0x0004, 0x0000, 0x0000, 0x0000,
-0xDA36, 0x0001, 0xD92C, 0x0002, 0xD15A, 0x0003, 0xCE0E, 0x0004, 0xCBBE,
-0x0005, 0x9C78, 0x0006, 0xD994, 0x0007, 0xAAE4, 0x0008, 0xD126, 0x0009,
-0xCEEE, 0x000A, 0xBABA, 0x000B, 0xAF0E, 0x000C, 0x95DC, 0x000D, 0xD4A4,
-0x000E, 0xD8CC, 0x000F, 0xD5E8, 0x0010, 0xB8CA, 0x0011, 0x6676, 0x0012,
-0x4F68, 0x0013, 0x5F3A, 0x0014, 0xAD68, 0x0015, 0xA18C, 0x0016, 0x9942,
-0x0017, 0x9F8E, 0x0018, 0xA474, 0x0019, 0xC50C, 0x001A, 0xC5FC, 0x001B,
-0x8222, 0x001C, 0xC060, 0x001D, 0xBE36, 0x001E, 0xA566, 0x001F, 0x3838,
-0x0020, 0x2F0E, 0x0021, 0xC960, 0x0022, 0xC946, 0x0023, 0x8D64, 0x0024,
-0x8D5C, 0x0025, 0x910C, 0x0026, 0x5CB6, 0x0027, 0x54EC, 0x0028, 0x7102,
-0x0029, 0xAA04, 0x002A, 0xB178, 0x002B, 0x9248, 0x002C, 0x9B6C, 0x002D,
-0xA658, 0x002E, 0xBEC2, 0x002F, 0x7BA2, 0x0030, 0xB972, 0x0031, 0xB610,
-0x0032, 0x8FCC, 0x0033, 0x33D4, 0x0034, 0xC916, 0x0035, 0x8D52, 0x0036,
-0x8BF4, 0x0037, 0xA748, 0x0038, 0xC588, 0x0039, 0x6CF6, 0x003A, 0x40B0,
-0x003B, 0x68C8, 0x003C, 0xBFD6, 0x003D, 0xB3D4, 0x003E, 0xB30C, 0x003F,
-0xB81C, 0x0040, 0x74AC, 0x0041, 0xA380, 0x0042, 0xB0AC, 0x0043, 0x8944,
-0x0044, 0x485A, 0x0045, 0x9A5A, 0x0046, 0x9D84, 0x0047, 0x79EE, 0x0048,
-0x523E, 0x0049, 0x5790, 0x004A, 0xAE3C, 0x004B, 0xCAE6, 0x004C, 0xBA1A,
-0x004D, 0x7EFE, 0x004E, 0xA920, 0x004F, 0x6F06, 0xAFDE, 0x46F0, 0x406E,
-0x3F54, 0x3F34, 0x3EFC, 0x3DC2, 0xD8C4, 0xD1EA, 0xD1BA, 0x4762, 0x8678,
-0x4534, 0x452C, 0x4526, 0x4520, 0x4516, 0x450E, 0x44CA, 0x448E, 0xDA10,
-0x5555, 0x5555, 0x1711, 0x1711, 0x1B16, 0x1711, 0x0108, 0x0402, 0x0030,
-0x0031, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000,
-0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120,
-0x5A80, 0x0000, 0x0000, 0x015C, 0x5A80, 0x0000, 0x0000, 0x015C, 0x5A80,
-0x0000, 0x0000, 0x015C, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000,
-0x0000, 0x015C, 0x5A80, 0x0000, 0x0000, 0x015C, 0x5A83, 0x0000, 0x0000,
-0x0120, 0x5A80, 0x0120, 0x5A80, 0x015C, 0x5A80, 0x0000, 0x0000, 0x0000,
-0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0301, 0x0705, 0x0281,
-0x0000, 0x0000, 0xFF04, 0x0FFF, 0x0600, 0x0001, 0x0000, 0x0180, 0x0000,
-0x0000, 0x0000, 0x0000, 0x0109, 0x0503, 0x8107, 0x0002, 0x0000, 0x0400,
-0xFFFF, 0x000F, 0x0106, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000,
-0x0A00, 0x0A02, 0x020A, 0x0A0A, 0x0A02, 0x0008, 0x0808, 0x0800, 0x020A,
-0x080A, 0x0800, 0x0008, 0x0108, 0x0109, 0x0009, 0x0008, 0x0308, 0x030B,
-0x020B, 0x020A, 0x010A, 0x0009, 0x0008, 0x0308, 0x020B, 0x020A, 0x010A,
-0x0009, 0x0308, 0x020B, 0xFF0A, 0x40B2, 0x5A80, 0x0120, 0xC232, 0x40F2,
-0x0087, 0x0057, 0x45C2, 0x0056, 0x46C2, 0x0057, 0x43C2, 0x0058, 0xEA0A,
-0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x40B2, 0x5A80,
-0x0120, 0xC232, 0xD072, 0x0040, 0x4032, 0x0040, 0x40F2, 0x0080, 0x0052,
-0x43C2, 0x0050, 0x45C2, 0x0051, 0x40F2, 0x0080, 0x0053, 0x43C2, 0x0054,
-0xEA0A, 0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x0001,
-0x0A00, 0x401E, 0x8B60, 0x8D8C, 0x8F8E, 0x8890, 0x9291, 0x9493, 0x9695,
-0x7574, 0x7776, 0x9897, 0x9A99, 0x9C9B, 0x9E9D, 0x289F, 0x2A29, 0x2C2B,
-0x2E2D, 0x302F, 0x8A8A, 0xA8A8, 0xB5B0, 0xBDBC, 0xBFBE, 0xC1C0, 0xD5D4,
-0xD6D6, 0x8ED8, 0x318F, 0xFF01, 0x1204, 0x1205, 0x1206, 0x1207, 0x1208,
-0x1209, 0x120A, 0x120B, 0x120C, 0x120D, 0x120E, 0x120F, 0x403C, 0x139A,
-0x403D, 0x017A, 0x12B0, 0xD346, 0x403C, 0x128E, 0x403D, 0x2876, 0x403E,
-0x00A1, 0x12B0, 0xDA32, 0x413F, 0x413E, 0x413D, 0x413C, 0x413B, 0x413A,
-0x4139, 0x4138, 0x4137, 0x4136, 0x4135, 0x4134, 0x4030, 0xC48C, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8221, 0xB2D2,
-0x2780, 0x1100, 0x2404, 0x40B2, 0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x403A, 0x150C, 0x403B,
-0x1504, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0x4259, 0x277E, 0x4946,
-0xE376, 0x4218, 0x2784, 0xF6C8, 0x0000, 0xD9C8, 0x0000, 0xD232, 0x4B27,
-0xEAE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B27, 0xEAE7, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B27, 0xEAE7, 0x0000, 0x4C81, 0x0000, 0x4D81, 0x0002,
-0x4304, 0x4305, 0x430C, 0x430D, 0x430E, 0x403F, 0x8000, 0xBC81, 0x0000,
-0x2019, 0xBD81, 0x0002, 0x240D, 0x3C15, 0xB31C, 0x2BF7, 0xBC81, 0x0000,
-0x2003, 0xBD81, 0x0002, 0x240A, 0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2,
-0x0010, 0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2,
-0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303,
-0xF6C8, 0x0000, 0x5404, 0x6505, 0x4217, 0x2782, 0xB2D7, 0x2781, 0x0000,
-0x2002, 0x4347, 0x3C01, 0x4357, 0xD704, 0xD9C8, 0x0000, 0xD232, 0x4B27,
-0xEAE7, 0x0000, 0xC312, 0x100F, 0x100E, 0x100D, 0x100C, 0x4C07, 0xDD07,
-0xDE07, 0xDF07, 0x9307, 0x23C2, 0xB2D2, 0x2780, 0x1100, 0x241E, 0x40B2,
-0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF,
-0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8, 0x0000, 0xD232, 0x4B2F,
-0xEAEF, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4B2F, 0xEAEF, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392,
-0x01F0, 0x4B2F, 0xEAEF, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0x440C, 0x450D, 0x430E, 0x430F,
-0x5221, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x120D, 0x120C, 0xB2D2, 0x2780, 0x1100, 0x2404, 0x40B2,
-0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x403A, 0x150C, 0x403B, 0x1504, 0x4B2F, 0xEAEF, 0x0000,
-0xC232, 0x4303, 0x4258, 0x277E, 0x4846, 0xE376, 0x4219, 0x2784, 0xF6C9,
-0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0x40B2, 0x2845,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000,
-0xC232, 0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000,
-0xC232, 0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF,
-0x0000, 0x4304, 0x4305, 0x430C, 0x403D, 0x8000, 0xBC81, 0x0000, 0x2019,
-0xBD81, 0x0002, 0x240D, 0x3C15, 0xB31C, 0x2BF7, 0xBC81, 0x0000, 0x2003,
-0xBD81, 0x0002, 0x240A, 0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2, 0x0010,
-0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0xF6C9,
-0x0000, 0x5404, 0x6505, 0x4217, 0x2782, 0xB2D7, 0x2781, 0x0000, 0x2002,
-0x4347, 0x3C01, 0x4357, 0xD704, 0xD8C9, 0x0000, 0xD232, 0x4B27, 0xEAE7,
-0x0000, 0xC312, 0x100D, 0x100C, 0x4C07, 0xDD07, 0x9307, 0x23C6, 0xB2D2,
-0x2780, 0x1100, 0x241E, 0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000, 0xC232, 0x4303, 0xF6C9, 0x0000,
-0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0x40B2, 0x2845, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000, 0xC232,
-0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000,
-0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4B2F, 0xEAEF, 0x0000, 0xC232,
-0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000,
-0x440C, 0x450D, 0x3F13, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x120D, 0x120C, 0xB2D2, 0x2780, 0x1100, 0x2404, 0x40B2,
-0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x403F, 0x150C, 0x403E, 0x1504, 0x4E2B, 0xEFEB, 0x0000,
-0xC232, 0x4303, 0x425A, 0x277E, 0x421B, 0x2784, 0xCACB, 0x0000, 0xDACB,
-0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2,
-0x0010, 0x01E8, 0xD392, 0x01E8, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303,
-0xCACB, 0x0000, 0xDACB, 0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0xD0B2,
-0x0010, 0x01E8, 0xD392, 0x01E8, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303,
-0xCACB, 0x0000, 0xDACB, 0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0x430C,
-0x430D, 0x4304, 0x4235, 0xB481, 0x0000, 0x2019, 0xB581, 0x0002, 0x240D,
-0x3C15, 0xB314, 0x2BF7, 0xB481, 0x0000, 0x2003, 0xB581, 0x0002, 0x240A,
-0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0,
-0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4E28, 0xEFE8, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000, 0x5C0C, 0x6D0D,
-0x4218, 0x2782, 0xB2D8, 0x2781, 0x0000, 0x2002, 0x4348, 0x3C01, 0x4358,
-0xD80C, 0xDACB, 0x0000, 0xD232, 0x4E28, 0xEFE8, 0x0000, 0xC312, 0x1005,
-0x1004, 0x4408, 0xD508, 0x9308, 0x23C6, 0xB2D2, 0x2780, 0x1100, 0x241E,
-0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4E27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000, 0xDACB, 0x0000, 0xD232,
-0x4E27, 0xEFE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000,
-0xDACB, 0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000,
-0xDACB, 0x0000, 0xD232, 0x4E2B, 0xEFEB, 0x0000, 0x4C0F, 0xC312, 0x100D,
-0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D, 0xF03D,
-0x000F, 0x3E21, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x120C, 0x8031, 0x0034, 0x4381, 0x0006, 0x4381, 0x000C, 0x4381,
-0x000A, 0x40B1, 0x0BB8, 0x0004, 0x403A, 0x1360, 0x403B, 0x1358, 0x4038,
-0x1354, 0x4074, 0x0042, 0x4075, 0x0021, 0x4037, 0x2401, 0x4079, 0x00C8,
-0x4076, 0x0082, 0xB31C, 0x29A9, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD8BC,
-0x2404, 0x403C, 0xFFFE, 0x4030, 0x33CC, 0x403C, 0x142C, 0x12B0, 0xD8BC,
-0x2404, 0x403C, 0xFFFD, 0x4030, 0x33CC, 0x403C, 0x1432, 0x12B0, 0xD8BC,
-0x2404, 0x403C, 0xFFFC, 0x4030, 0x33CC, 0x403C, 0x1428, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2404, 0x403C, 0xFFFB, 0x4030, 0x33CC, 0x403C,
-0x1424, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2404, 0x403C, 0xFFFA,
-0x4030, 0x33CC, 0x403C, 0x1430, 0x12B0, 0xD8BC, 0x2403, 0x403C, 0xFFF9,
-0x3DFD, 0x403C, 0x142E, 0x12B0, 0xD8E4, 0x2003, 0x403C, 0xFFF8, 0x3DF5,
-0x403C, 0x1436, 0x12B0, 0xD8E4, 0x27F8, 0x403C, 0x1434, 0x12B0, 0xD8E4,
-0x27F3, 0x464C, 0x12A8, 0x403C, 0x4030, 0x12B0, 0x8E8E, 0x403C, 0x0C04,
-0x12B0, 0x8E8E, 0x12B0, 0x8F56, 0x435C, 0x12AA, 0x4381, 0x0000, 0x412F,
-0x5F0F, 0x4F81, 0x0002, 0x421F, 0x1432, 0x511F, 0x0002, 0x4F81, 0x0008,
-0x12B0, 0x8E8A, 0x12B0, 0x8F96, 0x411C, 0x0008, 0x12B0, 0x8F1A, 0x411F,
-0x0002, 0x4C8F, 0x13C4, 0x12B0, 0xD8EC, 0x5391, 0x0000, 0x90B1, 0x0030,
-0x0000, 0x3BE2, 0x12B0, 0x8EEE, 0x403C, 0x4582, 0x12B0, 0x8F26, 0x4C82,
-0x1438, 0x12B0, 0x8EE6, 0x403C, 0x4682, 0x12B0, 0x8F26, 0x4C82, 0x143A,
-0x12B0, 0x8EE6, 0x403C, 0x4982, 0x12B0, 0x8F26, 0x4C82, 0x143C, 0x12B0,
-0x8EE6, 0x403C, 0x4882, 0x12B0, 0x8F26, 0x4C82, 0x143E, 0x12B0, 0x8EE6,
-0x403C, 0x4A82, 0x12B0, 0x8F26, 0x4C82, 0x1440, 0x12B0, 0x8EE6, 0x403C,
-0x4B82, 0x12B0, 0x8F26, 0x4C82, 0x1442, 0x12B0, 0x8EE6, 0x403C, 0x4C82,
-0x12B0, 0x8F26, 0x4C82, 0x1444, 0x12B0, 0x8EDA, 0x12B0, 0x8EB8, 0x403C,
-0x0128, 0x12B0, 0x8F1A, 0x4C82, 0x1446, 0x12B0, 0x8EDA, 0x454C, 0x12A8,
-0x12B0, 0x8EB8, 0x403C, 0x012A, 0x12B0, 0x8F1A, 0x4C82, 0x1448, 0x12B0,
-0x8F02, 0x4C82, 0x144A, 0x12B0, 0xD8EC, 0xE0B2, 0x3300, 0x1446, 0xE0B2,
-0x3300, 0x1448, 0xE0B2, 0x3300, 0x144A, 0x12B0, 0x8F5E, 0x403C, 0xA544,
-0x12B0, 0x8EC8, 0x12B0, 0x8FA6, 0x12B0, 0x8EFC, 0x4C81, 0x0000, 0x12B0,
-0xD8EC, 0x91E2, 0x142E, 0x2404, 0x12B0, 0x8FA6, 0x12B0, 0x8EC4, 0x410C,
-0x503C, 0x000E, 0x403E, 0x0007, 0x12B0, 0xD494, 0x4291, 0x1428, 0x000E,
-0x4291, 0x1424, 0x0010, 0x4291, 0x1430, 0x0012, 0x4291, 0x142E, 0x0014,
-0x4291, 0x1436, 0x0018, 0x4291, 0x1434, 0x001A, 0x410C, 0x503C, 0x000E,
-0x12B0, 0xA096, 0x12B0, 0x8EEE, 0x403C, 0x4032, 0x12B0, 0xD6D6, 0x430C,
-0x12B0, 0x8EA8, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F, 0x240B, 0x9382,
-0x1380, 0x2408, 0x407C, 0x0090, 0x12A8, 0x403C, 0x0088, 0x12AB, 0x431C,
-0x12AB, 0x12B0, 0x8F42, 0x12B0, 0x8E94, 0x12B0, 0xD8A8, 0x53B1, 0x0004,
-0x421E, 0x1432, 0x4E0F, 0x503F, 0x0020, 0x9F0C, 0x2805, 0x4E0F, 0x503F,
-0x0026, 0x9C0F, 0x2C03, 0x9381, 0x0004, 0x23ED, 0x4E0C, 0x12B0, 0xABBC,
-0x3C68, 0x410C, 0x503C, 0x000A, 0x12B0, 0xD8D4, 0x4C81, 0x0006, 0x12B0,
-0x8F96, 0x411C, 0x0002, 0x12B0, 0x8FBC, 0x411C, 0x000A, 0x12B0, 0x8E8E,
-0x53A1, 0x0002, 0x9191, 0x0008, 0x0002, 0x2C03, 0x9381, 0x0006, 0x27E6,
-0x12B0, 0xD8EC, 0x411F, 0x0002, 0x821F, 0x1432, 0x503F, 0xFFA0, 0xC312,
-0x100F, 0x4F81, 0x0000, 0x12B0, 0x8EEE, 0x403C, 0x4036, 0x12B0, 0xD6D6,
-0x412C, 0x12B0, 0xD6D6, 0x12B0, 0xD5A2, 0x435C, 0x12AA, 0x12B0, 0x8EE6,
-0x403C, 0x4035, 0x12B0, 0xD6D6, 0x421C, 0x1428, 0x12B0, 0x8EA8, 0x412E,
-0x5E0E, 0x5E82, 0x1428, 0x6382, 0x142A, 0x412E, 0x8E82, 0x1424, 0x7382,
-0x1426, 0x12B0, 0x8F42, 0x503C, 0x0028, 0x12B0, 0x8E94, 0x40B1, 0x0BB8,
-0x0004, 0x12B0, 0xD8A8, 0x53B1, 0x0004, 0x421F, 0x1432, 0x503F, 0x005C,
-0x9F0C, 0x2403, 0x9381, 0x0004, 0x23F3, 0x421C, 0x1432, 0x12B0, 0xABBC,
-0x9381, 0x0004, 0x2003, 0x40B1, 0xFFF7, 0x0006, 0x421F, 0x1424, 0xD21F,
-0x1426, 0x930F, 0x2424, 0x9381, 0x0006, 0x2021, 0x9381, 0x0004, 0x241E,
-0x421F, 0x1432, 0x503F, 0x0060, 0x4F81, 0x0002, 0x421C, 0x1424, 0x421D,
-0x1426, 0x5C0C, 0x6D0D, 0x421E, 0x142C, 0x930D, 0x2003, 0x9E0C, 0x2C01,
-0x4C0E, 0x5F0E, 0x4E81, 0x0008, 0x12B0, 0x8E8A, 0x494C, 0x12A8, 0x403C,
-0x2408, 0x12AB, 0x3F81, 0xB3A1, 0x0034, 0x2C03, 0x9391, 0x0006, 0x2452,
-0x410C, 0x503C, 0x001C, 0x403E, 0x2796, 0x423D, 0x12B0, 0xD454, 0x410F,
-0x503F, 0x0024, 0x120F, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x001E,
-0x4214, 0x1112, 0x1294, 0x000E, 0x403C, 0x0003, 0x1292, 0x1190, 0x410C,
-0x503C, 0x0026, 0x421F, 0x1112, 0x129F, 0x0010, 0x403C, 0x1438, 0x12B0,
-0xA096, 0x12B0, 0x8E8A, 0x12B0, 0x8F8A, 0x403C, 0x0128, 0x12B0, 0x8FBC,
-0x421C, 0x1446, 0x12B0, 0x8EC8, 0x12B0, 0x8F5E, 0x421C, 0x1448, 0x12B0,
-0x8EC8, 0x12B0, 0x8F9C, 0x12B0, 0x8EFC, 0x4C44, 0x12B0, 0xD8EC, 0x5321,
-0x94C2, 0x144A, 0x2404, 0x12B0, 0x8F9C, 0x12B0, 0x8EC4, 0xB3A1, 0x0034,
-0x2806, 0x430C, 0x421F, 0x1112, 0x129F, 0x0008, 0x3C0F, 0x9391, 0x0006,
-0x2009, 0x407C, 0x0091, 0x421F, 0x1112, 0x129F, 0x0012, 0x4381, 0x0006,
-0x3C03, 0x40B1, 0xFFF6, 0x0006, 0x411C, 0x0006, 0x5031, 0x0036, 0x4030,
-0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
-0x120C, 0x8031, 0x0042, 0x4381, 0x0006, 0x4381, 0x000C, 0x4381, 0x000A,
-0x40B1, 0x0BB8, 0x0004, 0x4037, 0x1356, 0x403A, 0x1360, 0x403B, 0x1358,
-0x4038, 0x1354, 0x4075, 0x0021, 0x4079, 0x00C8, 0x4076, 0x0082, 0x4074,
-0x0088, 0xB31C, 0x2931, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD94C, 0x2403,
-0x403C, 0xFFFE, 0x3DFF, 0x403C, 0x1456, 0x12B0, 0xD94C, 0x2403, 0x403C,
-0xFFFD, 0x3DF7, 0x403C, 0x145C, 0x12B0, 0xD94C, 0x2403, 0x403C, 0xFFFC,
-0x3DEF, 0x403C, 0x1452, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFFB, 0x3DE4, 0x403C, 0x144C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x930C, 0x2403, 0x403C, 0xFFFA, 0x3DD9, 0x403C, 0x145A, 0x12B0, 0xD94C,
-0x2403, 0x403C, 0xFFF9, 0x3DD1, 0x403C, 0x1458, 0x12B0, 0xD924, 0x2003,
-0x403C, 0xFFF8, 0x3DC9, 0x403C, 0x1460, 0x12B0, 0xD924, 0x27F8, 0x403C,
-0x145E, 0x12B0, 0xD924, 0x27F3, 0x12B0, 0x5A32, 0x403C, 0x0560, 0x12B0,
-0x5A9C, 0x4E82, 0x1462, 0x4F82, 0x1464, 0x12B0, 0x5A32, 0x403C, 0x0660,
-0x12B0, 0x5A7E, 0x4E82, 0x1466, 0x4F82, 0x1468, 0x12B0, 0x5A32, 0x403C,
-0x0960, 0x12B0, 0x5A9C, 0x4E82, 0x146A, 0x4F82, 0x146C, 0x12B0, 0x5A32,
-0x403C, 0x0860, 0x12B0, 0x5A7E, 0x4E82, 0x146E, 0x4F82, 0x1470, 0x12B0,
-0x5A32, 0x403C, 0x0A60, 0x12B0, 0x5A9C, 0x4E82, 0x1472, 0x4F82, 0x1474,
-0x12B0, 0x5A32, 0x403C, 0x0B60, 0x12B0, 0x5A7E, 0x4E82, 0x1476, 0x4F82,
-0x1478, 0x12B0, 0x5A32, 0x403C, 0x0C60, 0x12B0, 0x5A9C, 0x4E82, 0x147A,
-0x4F82, 0x147C, 0x12B0, 0x5A42, 0x12B0, 0x5A24, 0x403C, 0x0128, 0x12B0,
-0x5A4A, 0x4C82, 0x147E, 0x12B0, 0x5B48, 0x12B0, 0x5A24, 0x403C, 0x012A,
-0x12B0, 0x5A4A, 0x4C82, 0x1480, 0x12B0, 0x5BC2, 0x4C82, 0x1482, 0x12B0,
-0x5B38, 0xE0B2, 0x3300, 0x147E, 0xE0B2, 0x3300, 0x1480, 0xE0B2, 0x3300,
-0x1482, 0x12B0, 0x5A5C, 0x403C, 0x012A, 0x12B0, 0x5C46, 0x403C, 0xA544,
-0x12B0, 0x5B32, 0x12B0, 0x5B48, 0x12B0, 0x5C60, 0x12B0, 0x5A24, 0x12B0,
-0x5A2A, 0x421C, 0x1458, 0x12B0, 0x5B32, 0x12B0, 0x5BC2, 0x4C81, 0x0000,
-0x12B0, 0x5B38, 0x91E2, 0x1458, 0x2408, 0x12B0, 0x5A5C, 0x12B0, 0x5A2A,
-0x421C, 0x1458, 0x12B0, 0x5B26, 0x410C, 0x503C, 0x0016, 0x403E, 0x000E,
-0x12B0, 0xD494, 0x4291, 0x1452, 0x0016, 0x4291, 0x1454, 0x0018, 0x4291,
-0x144C, 0x001A, 0x4291, 0x144E, 0x001C, 0x4291, 0x145A, 0x001E, 0x4381,
-0x0020, 0x4291, 0x1458, 0x0022, 0x4381, 0x0024, 0x4291, 0x1460, 0x002A,
-0x4381, 0x002C, 0x4291, 0x145E, 0x002E, 0x4381, 0x0030, 0x410C, 0x503C,
-0x0016, 0x12B0, 0x9702, 0x12B0, 0x5AE2, 0x460C, 0x12B0, 0x5A56, 0x430C,
-0x12B0, 0x5A66, 0x4291, 0x145C, 0x0000, 0x12B0, 0x5B76, 0x494C, 0x12A8,
-0x403C, 0x0401, 0x12AB, 0x454C, 0x12A8, 0x407C, 0x00A8, 0x12A8, 0x12B0,
-0x5AFA, 0x503E, 0x0022, 0x430F, 0x930D, 0x2002, 0x9E0C, 0x2809, 0x421E,
-0x145C, 0x503E, 0x002C, 0x9D0F, 0x2803, 0x2005, 0x9C0E, 0x2C03, 0x9381,
-0x0004, 0x23EB, 0x421F, 0x144C, 0xD21F, 0x144E, 0x930F, 0x2492, 0x9381,
-0x0006, 0x208F, 0x9381, 0x0004, 0x248C, 0x421F, 0x145C, 0x503F, 0x006C,
-0x4F81, 0x0008, 0x421C, 0x144C, 0x421D, 0x144E, 0x5C0C, 0x6D0D, 0x421E,
-0x1456, 0x930D, 0x2003, 0x9E0C, 0x2C01, 0x4C0E, 0x5F0E, 0x4E81, 0x0002,
-0x421F, 0x145C, 0x503F, 0x0068, 0x12B0, 0x5B72, 0x12B0, 0x5A42, 0x407C,
-0x0048, 0x12A8, 0x423C, 0x12AB, 0x3C13, 0x410C, 0x503C, 0x000A, 0x12B0,
-0xD944, 0x4C81, 0x0006, 0x12B0, 0x5A24, 0x411C, 0x0008, 0x12B0, 0x5C46,
-0x411C, 0x000A, 0x12B0, 0x5B6C, 0x53A1, 0x0008, 0x9191, 0x0002, 0x0008,
-0x2C03, 0x9381, 0x0006, 0x27E6, 0x12B0, 0x5B38, 0x411F, 0x0008, 0x821F,
-0x145C, 0x503F, 0xFF94, 0xC312, 0x100F, 0x4F81, 0x0002, 0x12B0, 0x5AE2,
-0x403C, 0x0086, 0x12B0, 0x5A56, 0x411C, 0x0002, 0x12B0, 0x5A66, 0x421C,
-0x1452, 0x421D, 0x1454, 0x12B0, 0x5B3E, 0xD03C, 0x0085, 0x4C81, 0x0000,
-0x12B0, 0x5AE2, 0x412C, 0x12B0, 0x5A56, 0x421C, 0x1452, 0x12B0, 0x5A66,
-0x411E, 0x0002, 0x5E0E, 0x5E82, 0x1452, 0x6382, 0x1454, 0x411E, 0x0002,
-0x8E82, 0x144C, 0x7382, 0x144E, 0x421F, 0x145C, 0x503F, 0x002E, 0x12B0,
-0x5B72, 0x407C, 0x00A8, 0x12A8, 0x40B1, 0x0BB8, 0x0004, 0x12B0, 0x5AFA,
-0x503E, 0x0068, 0x9E0C, 0x2002, 0x930D, 0x276C, 0x9381, 0x0004, 0x23F5,
-0x3F68, 0xB3A1, 0x0042, 0x2819, 0x410C, 0x503C, 0x000E, 0x403E, 0x279E,
-0x12B0, 0xD586, 0x120F, 0x12B0, 0xD298, 0x12B0, 0x5BC8, 0x5321, 0x91E2,
-0x1482, 0x2402, 0x12B0, 0x5B16, 0x421C, 0x1450, 0x421F, 0x1112, 0x129F,
-0x0008, 0x3C21, 0x9391, 0x0006, 0x2009, 0x407C, 0x0091, 0x421F, 0x1112,
-0x129F, 0x0012, 0x4381, 0x0006, 0x3C15, 0x410C, 0x503C, 0x000E, 0x403E,
-0x27A6, 0x12B0, 0xD586, 0x120F, 0x12B0, 0xD298, 0x12B0, 0x5BC8, 0x5321,
-0x91E2, 0x1482, 0x2402, 0x12B0, 0x5B16, 0x40B1, 0xFFF6, 0x0006, 0x411C,
-0x0006, 0x5031, 0x0044, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x120C, 0x8031, 0x0032, 0x4381, 0x0004,
-0x4381, 0x000A, 0x4381, 0x0008, 0x40B1, 0x0BB8, 0x0000, 0x403A, 0x1360,
-0x403B, 0x1358, 0x4038, 0x1354, 0x4074, 0x0021, 0x4037, 0x2401, 0x4075,
-0x0042, 0x4079, 0x0082, 0x4076, 0x00C8, 0xB31C, 0x2926, 0x410C, 0x503C,
-0x000A, 0x12B0, 0x80B0, 0x2403, 0x403C, 0xFFFE, 0x3DFA, 0x403C, 0x13A4,
-0x12B0, 0x80B0, 0x2403, 0x403C, 0xFFFD, 0x3DF2, 0x403C, 0x13AA, 0x12B0,
-0x80B0, 0x2403, 0x403C, 0xFFFC, 0x3DEA, 0x403C, 0x13A0, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3DDF, 0x403C, 0x139A,
-0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA, 0x3DD4,
-0x403C, 0x13A8, 0x12B0, 0x80B0, 0x2403, 0x403C, 0xFFF9, 0x3DCC, 0x403C,
-0x13A6, 0x12B0, 0x80A0, 0x2003, 0x403C, 0xFFF8, 0x3DC4, 0x403C, 0x13AE,
-0x12B0, 0x80A0, 0x27F8, 0x403C, 0x13AC, 0x12B0, 0x80A0, 0x27F3, 0x12B0,
-0xD314, 0x403C, 0x4582, 0x12B0, 0x8100, 0x4C82, 0x13B0, 0x12B0, 0xD310,
-0x403C, 0x4682, 0x12B0, 0x8100, 0x4C82, 0x13B2, 0x12B0, 0xD310, 0x403C,
-0x4982, 0x12B0, 0x8100, 0x4C82, 0x13B4, 0x12B0, 0xD310, 0x403C, 0x4882,
-0x12B0, 0x8100, 0x4C82, 0x13B6, 0x12B0, 0xD310, 0x403C, 0x4A82, 0x12B0,
-0x8100, 0x4C82, 0x13B8, 0x12B0, 0xD310, 0x403C, 0x4B82, 0x12B0, 0x8100,
-0x4C82, 0x13BA, 0x12B0, 0xD310, 0x403C, 0x4C82, 0x12B0, 0x8100, 0x4C82,
-0x13BC, 0x12B0, 0x812C, 0x12B0, 0x809A, 0x403C, 0x0128, 0x12B0, 0x80B8,
-0x4C82, 0x13BE, 0x12B0, 0x8174, 0x12B0, 0x8130, 0x12B0, 0x809A, 0x403C,
-0x012A, 0x12B0, 0x80B8, 0x4C82, 0x13C0, 0x12B0, 0x815E, 0x4C82, 0x13C2,
-0x12B0, 0x8174, 0xE0B2, 0x3300, 0x13BE, 0xE0B2, 0x3300, 0x13C0, 0xE0B2,
-0x3300, 0x13C2, 0x12B0, 0x8130, 0x12B0, 0xD646, 0x12B0, 0x809A, 0x403C,
-0x012A, 0x12B0, 0x8184, 0x403C, 0xA544, 0x12B0, 0x8146, 0x12B0, 0x8154,
-0x12B0, 0x814E, 0x12B0, 0x815E, 0x4C81, 0x0002, 0x12B0, 0x8174, 0x91D2,
-0x0002, 0x13A6, 0x2406, 0x12B0, 0x8154, 0xD03C, 0x0040, 0x12B0, 0x8146,
-0x410C, 0x503C, 0x0014, 0x403E, 0x0007, 0x12B0, 0xD494, 0x4291, 0x13A0,
-0x0014, 0x4291, 0x139A, 0x0016, 0x4291, 0x13A8, 0x0018, 0x4291, 0x13A6,
-0x001A, 0x4291, 0x13AE, 0x001E, 0x4291, 0x13AC, 0x0020, 0x410C, 0x503C,
-0x0014, 0x12B0, 0xB49C, 0x12B0, 0xD314, 0x403C, 0x4032, 0x12B0, 0x80F8,
-0x430C, 0x12B0, 0x8114, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F, 0x240B,
-0x9382, 0x1380, 0x2408, 0x407C, 0x0090, 0x12A8, 0x403C, 0x0088, 0x12AB,
-0x431C, 0x12AB, 0x12B0, 0xD2AC, 0x12AB, 0x9382, 0x1506, 0x2402, 0x12B0,
-0x80DC, 0x12B0, 0x80E4, 0x12B0, 0x811C, 0x435C, 0x12B0, 0x8200, 0x403C,
-0x0401, 0x12AB, 0x444C, 0x12A8, 0x407C, 0x00A8, 0x12A8, 0x12B0, 0x80C4,
-0x503F, 0x0020, 0x9F0C, 0x2806, 0x421F, 0x13AA, 0x503F, 0x0026, 0x9C0F,
-0x2C03, 0x9381, 0x0000, 0x23F1, 0x421F, 0x139A, 0xD21F, 0x139C, 0x930F,
-0x2498, 0x9381, 0x0004, 0x2095, 0x9381, 0x0000, 0x2492, 0x421F, 0x13AA,
-0x503F, 0x0060, 0x4F81, 0x0006, 0x421C, 0x139A, 0x421D, 0x139C, 0x5C0C,
-0x6D0D, 0x421E, 0x13A4, 0x930D, 0x2003, 0x9E0C, 0x2C01, 0x4C0E, 0x5F0E,
-0x4E81, 0x0002, 0x12B0, 0xD2AC, 0x503C, 0x005C, 0x12AB, 0x9382, 0x1506,
-0x2402, 0x12B0, 0x80DC, 0x12B0, 0x80E4, 0x12B0, 0x812C, 0x464C, 0x12A8,
-0x403C, 0x2408, 0x12AB, 0x3C14, 0x410C, 0x523C, 0x12B0, 0x80A8, 0x4C81,
-0x0004, 0x12B0, 0x809A, 0x411C, 0x0006, 0x12B0, 0x8184, 0x411C, 0x0008,
-0x12B0, 0x814E, 0x434C, 0x12AA, 0x53A1, 0x0006, 0x9191, 0x0002, 0x0006,
-0x2C03, 0x9381, 0x0004, 0x27E5, 0x12B0, 0x8174, 0x411F, 0x0006, 0x821F,
-0x13AA, 0x503F, 0xFFA0, 0xC312, 0x100F, 0x4F81, 0x0002, 0x12B0, 0xD314,
-0x403C, 0x4036, 0x12B0, 0x80F8, 0x411C, 0x0002, 0x12B0, 0x80F8, 0x12B0,
-0xD36A, 0x12B0, 0xD310, 0x403C, 0x4035, 0x12B0, 0x80F8, 0x421C, 0x13A0,
-0x12B0, 0x8114, 0x411E, 0x0002, 0x5E0E, 0x5E82, 0x13A0, 0x6382, 0x13A2,
-0x411E, 0x0002, 0x8E82, 0x139A, 0x7382, 0x139C, 0x12B0, 0xD2AC, 0x503C,
-0x0028, 0x12AB, 0x9382, 0x1506, 0x2402, 0x12B0, 0x80DC, 0x12B0, 0x80E4,
-0x12B0, 0x811C, 0x407C, 0x00A8, 0x12A8, 0x40B1, 0x0BB8, 0x0000, 0x12B0,
-0x80C4, 0x503F, 0x005C, 0x9F0C, 0x2766, 0x9381, 0x0000, 0x23F7, 0x3F62,
-0xB3A1, 0x0032, 0x2819, 0x410C, 0x503C, 0x000C, 0x403E, 0x2786, 0x12B0,
-0xD5DA, 0x120F, 0x12B0, 0xD2D4, 0x12B0, 0x818C, 0x5321, 0x91E2, 0x13C2,
-0x2402, 0x12B0, 0x8164, 0x421C, 0x139E, 0x421F, 0x1112, 0x129F, 0x0008,
-0x3C21, 0x9391, 0x0004, 0x2009, 0x407C, 0x0091, 0x421F, 0x1112, 0x129F,
-0x0012, 0x4381, 0x0004, 0x3C15, 0x410C, 0x503C, 0x000C, 0x403E, 0x278E,
-0x12B0, 0xD5DA, 0x120F, 0x12B0, 0xD2D4, 0x12B0, 0x818C, 0x5321, 0x91E2,
-0x13C2, 0x2402, 0x12B0, 0x8164, 0x40B1, 0xFFF6, 0x0004, 0x411C, 0x0004,
-0x5031, 0x0034, 0x4030, 0xD41E, 0x120A, 0x120B, 0x425E, 0x2780, 0x421A,
-0x2784, 0x403F, 0x150C, 0x403B, 0x1504, 0x934C, 0x204F, 0x9392, 0x14FE,
-0x201E, 0x4B2D, 0xD3DD, 0x0000, 0xDECA, 0x0000, 0xB2B2, 0x136C, 0x4B2B,
-0x2803, 0xDFEB, 0x0000, 0x3C02, 0xCFEB, 0x0000, 0x431C, 0x12B0, 0xD1BA,
-0xC2DA, 0x277E, 0x0000, 0xC0F2, 0x0020, 0x0029, 0x431C, 0x12B0, 0xD1BA,
-0x436C, 0x12B0, 0x8678, 0x3DDF, 0x425D, 0x277E, 0x525D, 0x277F, 0x5E4D,
-0xDDCA, 0x0000, 0xB2B2, 0x136C, 0x4B2E, 0x2803, 0xCFEE, 0x0000, 0x3C02,
-0xDFEE, 0x0000, 0xD0F2, 0x0040, 0x0029, 0xC0F2, 0x0020, 0x0029, 0x431C,
-0x12B0, 0xD1BA, 0x93A2, 0x14FE, 0x2003, 0x407C, 0x0003, 0x3FDE, 0x9392,
-0x14FE, 0x2004, 0xD2DA, 0x277E, 0x0000, 0x3C03, 0x4B2F, 0xC3DF, 0x0000,
-0x403C, 0x0005, 0x12B0, 0xD1BA, 0x3FD1, 0x9392, 0x14FE, 0x201C, 0x4B2D,
-0xD3DD, 0x0000, 0xDECA, 0x0000, 0xB2B2, 0x136C, 0x4B2B, 0x2803, 0xDFEB,
-0x0000, 0x3C02, 0xCFEB, 0x0000, 0x431C, 0x12B0, 0xD1BA, 0xC2DA, 0x277E,
-0x0000, 0xC0F2, 0x0020, 0x0029, 0x431C, 0x12B0, 0xD1BA, 0x434C, 0x3FB0,
-0x425D, 0x277E, 0x525D, 0x277F, 0x5E4D, 0xDDCA, 0x0000, 0xB2B2, 0x136C,
-0x4B2E, 0x2803, 0xCFEE, 0x0000, 0x3C02, 0xDFEE, 0x0000, 0xD0F2, 0x0040,
-0x0029, 0xC0F2, 0x0020, 0x0029, 0x431C, 0x12B0, 0xD1BA, 0x93A2, 0x14FE,
-0x23B6, 0x435C, 0x3F92, 0x12B0, 0x3C92, 0x430C, 0x4130, 0x434C, 0x1292,
-0x1360, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x2401, 0x1292, 0x1358,
-0x407C, 0x0021, 0x1292, 0x1354, 0x435C, 0x1292, 0x1360, 0x407C, 0x0028,
-0x1292, 0x1354, 0x430C, 0x4210, 0x1358, 0x4130, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x4C0A, 0x4038, 0x1354, 0x407C, 0x00C8, 0x12A8, 0x4039,
-0x1358, 0x403C, 0x3401, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x4030,
-0x12A9, 0x4036, 0x1360, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x4A0C, 0x822C,
-0x12A9, 0x9382, 0x1506, 0x2404, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x434C,
-0x12A6, 0x407C, 0x0021, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A6,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x435C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF, 0x12A9, 0x434C, 0x12A6,
-0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A6, 0x434C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x4A0C, 0x832C, 0x12A9, 0x4030, 0xD424,
-0x120A, 0x120B, 0x1208, 0x4C0A, 0x407C, 0x0082, 0x1292, 0x1354, 0x4038,
-0x1360, 0x435C, 0x12A8, 0x403C, 0x4030, 0x1292, 0x1358, 0x434C, 0x12A8,
-0x435C, 0x12A8, 0x4A0C, 0x832C, 0x1292, 0x1358, 0x434C, 0x12A8, 0x435C,
-0x12A8, 0x434C, 0x12A8, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x407C, 0x0021,
-0x1292, 0x1354, 0x430C, 0x1292, 0x1358, 0x4030, 0xD428, 0x930C, 0x2002,
-0x430F, 0x3C01, 0x431F, 0x4F82, 0x1500, 0x9392, 0x14FE, 0x2008, 0x930F,
-0x2403, 0x403F, 0x6418, 0x3C0A, 0x403F, 0x654A, 0x3C07, 0x930F, 0x2403,
-0x403F, 0x937E, 0x3C02, 0x403F, 0x941A, 0x4F82, 0x1364, 0x4130, 0x930C,
-0x2405, 0x403F, 0x3DFE, 0x403E, 0x3DCA, 0x3C04, 0x403F, 0x3EA6, 0x403E,
-0x3DFC, 0x4E82, 0x1366, 0x4F82, 0x1362, 0x4130, 0x430F, 0xB3A2, 0x136C,
-0x2805, 0x930C, 0x2003, 0x4382, 0x14FE, 0x3C11, 0xB2A2, 0x136C, 0x2805,
-0x931C, 0x2003, 0x4392, 0x14FE, 0x3C09, 0xB3A2, 0x136C, 0x2805, 0x932C,
-0x2003, 0x43A2, 0x14FE, 0x3C01, 0x433F, 0xB2B2, 0x136C, 0x2804, 0x403E,
-0x0032, 0x436D, 0x3C03, 0x403E, 0x001D, 0x426D, 0x4DC2, 0x150C, 0x4E82,
-0x1504, 0x9392, 0x14FE, 0x2032, 0x40B2, 0x7434, 0x134E, 0x40B2, 0x72E0,
-0x1350, 0x40B2, 0xDA2E, 0x1352, 0x40B2, 0x6AE4, 0x1354, 0x40B2, 0x7838,
-0x1356, 0x40B2, 0x7D52, 0x1358, 0x40B2, 0x2D2A, 0x135A, 0x40B2, 0x2B56,
-0x135C, 0x40B2, 0x2968, 0x135E, 0x40B2, 0xB6C0, 0x1360, 0x9382, 0x1500,
-0x2003, 0x403E, 0x654A, 0x3C02, 0x403E, 0x6418, 0x403D, 0xC6DC, 0x40B2,
-0x0006, 0x01EE, 0x40B2, 0x0006, 0x01F6, 0x40B2, 0x284B, 0x01F2, 0x3C2A,
-0x40B2, 0xCA04, 0x134E, 0x40B2, 0xCEC6, 0x1350, 0x40B2, 0x9824, 0x1352,
-0x40B2, 0xC40A, 0x1354, 0x40B2, 0xC1FA, 0x1356, 0x40B2, 0xB76E, 0x1358,
-0x40B2, 0x850C, 0x135A, 0x40B2, 0xAC92, 0x135C, 0x40B2, 0x94B2, 0x135E,
-0x40B2, 0xD4C4, 0x1360, 0x9382, 0x1500, 0x2003, 0x403E, 0x941A, 0x3C02,
-0x403E, 0x937E, 0x403D, 0xC7A6, 0x42A2, 0x01F6, 0x4D82, 0x1368, 0x4E82,
-0x1364, 0x4F0C, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0xB2B2, 0x136C,
-0x2807, 0x429C, 0x1502, 0x0000, 0x429D, 0x1502, 0x0000, 0x3C0F, 0xB2F2,
-0x001D, 0x2804, 0x431C, 0x12B0, 0x4620, 0x3C01, 0x430C, 0x4C8A, 0x0000,
-0x430C, 0x12B0, 0x4620, 0x4C8B, 0x0000, 0x430C, 0x413B, 0x413A, 0x4130,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031,
-0x0020, 0x4381, 0x000C, 0x4381, 0x000E, 0x4038, 0x1358, 0x4039, 0x1354,
-0x9382, 0x138E, 0x2412, 0x407C, 0x00F4, 0x12B0, 0xD3AC, 0x4C0B, 0x407C,
-0x00F4, 0x12A9, 0xC21B, 0x138E, 0xD21B, 0x1392, 0x4B0C, 0x12A8, 0x403C,
-0x0014, 0x1292, 0x275A, 0x4037, 0x135C, 0x421F, 0x1382, 0xD21F, 0x1384,
-0x930F, 0x2419, 0x407C, 0x0054, 0x12A9, 0x12B0, 0xBFBC, 0x4C0A, 0x4D0B,
-0x407C, 0x0054, 0x12A9, 0xC21A, 0x1382, 0xC21B, 0x1384, 0xD21A, 0x138A,
-0xD21B, 0x138C, 0x4A0C, 0x4B0D, 0x12A7, 0x403C, 0x0014, 0x1292, 0x275A,
-0x407C, 0x00D0, 0x12B0, 0xD3AC, 0x4074, 0x0028, 0x934C, 0x3882, 0x444C,
-0x12B0, 0xD3AC, 0xB03C, 0x0020, 0x2C7C, 0x407C, 0x00B0, 0x12A9, 0x431C,
-0x12B0, 0xBFB8, 0x4C81, 0x001C, 0x4D81, 0x001E, 0x403C, 0x0003, 0x12B0,
-0xBFB8, 0x4C81, 0x0018, 0x4D81, 0x001A, 0x403C, 0x0005, 0x12B0, 0xBFB8,
-0x4C81, 0x0014, 0x4D81, 0x0016, 0x403C, 0x0007, 0x12B0, 0xBFB8, 0x4C81,
-0x0010, 0x4D81, 0x0012, 0x403C, 0x0081, 0x12B0, 0xBFB8, 0x4C0A, 0x4D0B,
-0x432C, 0x12B0, 0xBFB8, 0x422C, 0x430D, 0x12A7, 0x433C, 0x403D, 0x000F,
-0x12A7, 0x403C, 0x0006, 0x12B0, 0xBF66, 0x403C, 0x0080, 0x12B0, 0xBF66,
-0x403C, 0x0088, 0x430D, 0x12A7, 0x403C, 0x000E, 0x430D, 0x12A7, 0x12B0,
-0xBF7E, 0x403C, 0x0007, 0x12A8, 0x4306, 0x407C, 0x00D0, 0x12B0, 0xD3AC,
-0x5316, 0x934C, 0x3803, 0x9036, 0x0BB8, 0x3BF6, 0x407C, 0x00B0, 0x12A9,
-0x12B0, 0xBFBC, 0x411C, 0x001C, 0x411D, 0x001E, 0x12A7, 0x432C, 0x430D,
-0x12A7, 0x411C, 0x0018, 0x411D, 0x001A, 0x12A7, 0x422C, 0x430D, 0x12A7,
-0x411C, 0x0014, 0x411D, 0x0016, 0x12A7, 0x403C, 0x0006, 0x430D, 0x12A7,
-0x411C, 0x0010, 0x411D, 0x0012, 0x12A7, 0x403C, 0x0080, 0x430D, 0x12A7,
-0x4A0C, 0x4B0D, 0x12A7, 0x12B0, 0xBF7E, 0x403C, 0x0005, 0x12A8, 0x4077,
-0x00C8, 0x12B0, 0xBF5C, 0x444C, 0x12A9, 0x403A, 0x0032, 0x430B, 0x430C,
-0x12A8, 0x533A, 0x633B, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C04, 0x4A0F,
-0xDB0F, 0x930F, 0x23F3, 0x12B0, 0xBF7E, 0x403C, 0x0007, 0x12A8, 0x403C,
-0x0006, 0x12A8, 0x12B0, 0xBF5C, 0x444C, 0x12B0, 0xD3AC, 0x4036, 0x1360,
-0xB23C, 0x2C06, 0x3C18, 0x12B0, 0xBFB0, 0x444C, 0x12B0, 0xD3AC, 0xB23C,
-0x2811, 0x411C, 0x000C, 0x411D, 0x000E, 0x4C0E, 0x4D0F, 0x531E, 0x630F,
-0x4E81, 0x000C, 0x4F81, 0x000E, 0x930D, 0x2003, 0x903C, 0x7530, 0x2BE8,
-0x444C, 0x12A9, 0x434C, 0x12A6, 0x430C, 0x12A8, 0xB03C, 0x0100, 0x2002,
-0x4345, 0x3C01, 0x4355, 0x435C, 0x12A6, 0x531A, 0x630B, 0x9345, 0x2005,
-0x930B, 0x2003, 0x903A, 0x2710, 0x2BEB, 0x12B0, 0xBFA6, 0x407C, 0x0021,
-0x12A9, 0x4035, 0x135A, 0x430C, 0x430D, 0x12A5, 0x4C0A, 0x4D0B, 0x444C,
-0x12B0, 0xD3AC, 0xB03C, 0x0020, 0x2803, 0x503A, 0xFFFE, 0x3C02, 0x503A,
-0xFFFC, 0x633B, 0x903A, 0xFFFE, 0x2010, 0x930B, 0x200E, 0x12B0, 0xBF84,
-0x403C, 0xFFFE, 0x12B0, 0xD3A0, 0x4C0B, 0x12B0, 0xBF4C, 0x4B81, 0x0006,
-0x4381, 0x0008, 0x3C04, 0x4A81, 0x0006, 0x4B81, 0x0008, 0x12B0, 0xBF7E,
-0x403C, 0x000E, 0x12A8, 0x444C, 0x12B0, 0xD3AC, 0x410C, 0x532C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x12B0,
-0xBF84, 0x411C, 0x0002, 0x12B0, 0xD3A0, 0x4C81, 0x0004, 0x12B0, 0xBF4C,
-0x415F, 0x0004, 0xDF81, 0x0000, 0x434C, 0x12A6, 0x474C, 0x12A9, 0x403C,
-0x0500, 0x12A8, 0x12B0, 0xBF88, 0x411C, 0x0002, 0x12B0, 0xD9E4, 0x407C,
-0x00A1, 0x12A9, 0x412C, 0xD03C, 0x0080, 0x12A8, 0x434C, 0x12A6, 0x12B0,
-0xBF9C, 0x435C, 0x12A6, 0x12B0, 0xBF54, 0x4074, 0x0082, 0x444C, 0x12B0,
-0xBF96, 0x403C, 0x0260, 0x12B0, 0xBFC2, 0x9382, 0x1398, 0x2403, 0x403C,
-0x0FF6, 0x3C02, 0x403C, 0x018C, 0x12B0, 0xBF70, 0x9382, 0x1398, 0x2402,
-0x12B0, 0xBF9C, 0x12B0, 0xBF92, 0x430C, 0x12A8, 0x4C0A, 0x12B0, 0xBFB0,
-0x430C, 0x12A8, 0x12B0, 0xBF54, 0x12B0, 0xBF4C, 0x9382, 0x1398, 0x2002,
-0x12B0, 0xBF9C, 0x12B0, 0xBF8E, 0x4A81, 0x000A, 0x434C, 0x12A6, 0x444C,
-0x12B0, 0xBF96, 0x440C, 0x12B0, 0xBFC2, 0x4A0C, 0xF03C, 0xFFEF, 0x12B0,
-0xBF70, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0021, 0x12A9, 0x430C,
-0x12B0, 0xD9E4, 0x12B0, 0xBFA6, 0x12B0, 0xBF8E, 0x423D, 0x410C, 0x522C,
-0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031, 0x0020, 0x4030, 0xD41E,
-0x934C, 0x240E, 0x9392, 0x14FE, 0x2006, 0x421F, 0x2784, 0xD2DF, 0x277E,
-0x0000, 0x3C04, 0x421F, 0x1504, 0xC3DF, 0x0000, 0x3DD2, 0x9392, 0x14FE,
-0x2006, 0x421F, 0x2784, 0xC2DF, 0x277E, 0x0000, 0x3FF6, 0x421F, 0x1504,
-0xD3DF, 0x0000, 0x3FF1, 0x934C, 0x2410, 0x9392, 0x14FE, 0x2006, 0x421F,
-0x2784, 0xD2DF, 0x2780, 0x0000, 0x3C06, 0xC0F2, 0x0020, 0x0029, 0xD0F2,
-0x0040, 0x0029, 0x3DB2, 0x9392, 0x14FE, 0x2006, 0x421F, 0x2784, 0xC2DF,
-0x2780, 0x0000, 0x3FF6, 0xC0F2, 0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029,
-0x3FEF, 0x421F, 0x1504, 0x4F6C, 0x4130, 0x421F, 0x1504, 0x4CCF, 0x0000,
-0x4130, 0x425C, 0x0029, 0x4130, 0x4CC2, 0x0029, 0x4130, 0x421F, 0x2784,
-0x4F6C, 0x4130, 0x421F, 0x2784, 0x3FF0, 0x934C, 0x2407, 0xD2E2, 0x001D,
-0xD0F2, 0x0010, 0x001D, 0x434E, 0x3C06, 0xC0F2, 0x0010, 0x001D, 0xC2E2,
-0x001D, 0x435E, 0x4EC2, 0x150E, 0x4130, 0x403E, 0xBAEC, 0x403F, 0x0041,
-0x43D2, 0x150D, 0xD0F2, 0x0080, 0x002A, 0xD0F2, 0x0080, 0x002E, 0x40B2,
-0x0028, 0x0172, 0x40B2, 0x0090, 0x0162, 0x40B2, 0x0114, 0x0160, 0x3C02,
-0x533E, 0x633F, 0x93C2, 0x150D, 0x2404, 0x4E0D, 0xDF0D, 0x930D, 0x23F7,
-0x4382, 0x0162, 0xC0F2, 0x0080, 0x002E, 0xC0F2, 0x0080, 0x002A, 0x4130,
-0x4C0F, 0xDD0F, 0x930F, 0x2410, 0x12B0, 0x455E, 0x93C2, 0x150E, 0x2404,
-0xD0F2, 0x0020, 0x001D, 0x3C03, 0xD0F2, 0x0040, 0x001D, 0x403C, 0x000A,
-0x4030, 0xD1BA, 0xF0F2, 0x009F, 0x001D, 0x4130, 0x53D2, 0x1512, 0x90F2,
-0x000A, 0x1512, 0x201A, 0x43C2, 0x1512, 0x4382, 0x0160, 0xC3A2, 0x01A0,
-0x40F2, 0x0012, 0x0080, 0xD3A2, 0x01A0, 0xD392, 0x01A0, 0xB392, 0x01A4,
-0x2BFD, 0x90B2, 0x0FFF, 0x0140, 0x3404, 0x40B2, 0x0114, 0x0160, 0x1300,
-0x43C2, 0x150D, 0x1300, 0x4C0F, 0x430C, 0x922F, 0x2C14, 0x5F0F, 0x4F1C,
-0x0140, 0x5F1C, 0x0148, 0x5F1C, 0x0150, 0x5F1C, 0x0158, 0x4F1E, 0x2776,
-0x12B0, 0xD08A, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF37D, 0x12B0, 0xD0D8,
-0x4130, 0x120A, 0x120B, 0x1208, 0x4C0A, 0x9A82, 0x1508, 0x242C, 0x4A0C,
-0x430D, 0x12B0, 0xBC0C, 0x403E, 0x41A3, 0x403F, 0xC4D6, 0x12B0, 0x87E6,
-0x4C0E, 0x4D0F, 0x403C, 0xF000, 0x403D, 0x457F, 0x12B0, 0x87E2, 0x12B0,
-0xD712, 0x4C08, 0x5038, 0x0055, 0x4A0C, 0x403E, 0x0014, 0x12B0, 0xD036,
-0x8C08, 0x9038, 0x1000, 0x3802, 0x4038, 0x0FFF, 0x9308, 0x3401, 0x4308,
-0x4882, 0x01C8, 0xD3A2, 0x01C0, 0x4A82, 0x1508, 0x3C1A, 0x431C, 0x12B0,
-0x4620, 0x4C0B, 0x4A0F, 0x503F, 0x000A, 0x9B0F, 0x2C07, 0x90B2, 0x0FFF,
-0x01C8, 0x2C0D, 0x5392, 0x01C8, 0x3C0A, 0x4A0F, 0x503F, 0xFFF6, 0x9F0B,
-0x2C05, 0x9382, 0x01C8, 0x2402, 0x53B2, 0x01C8, 0x4030, 0xD428, 0x120A,
-0x4C0A, 0x930A, 0x2428, 0x93C2, 0x132E, 0x2419, 0xC2F2, 0x0031, 0xC0F2,
-0x0020, 0x0029, 0x4A82, 0x1502, 0x4A0C, 0x503C, 0x0032, 0x12B0, 0x4652,
-0x421F, 0x1504, 0xD2FF, 0x0000, 0x431C, 0x12B0, 0xD1BA, 0xD0F2, 0x0020,
-0x0029, 0x43C2, 0x132E, 0x3C16, 0x4A82, 0x1502, 0x4A0C, 0x503C, 0x0032,
-0x12B0, 0x4652, 0x421F, 0x1504, 0xD2FF, 0x0000, 0x3C0A, 0x421F, 0x1504,
-0xC2FF, 0x0000, 0x1292, 0x2756, 0x4382, 0x1502, 0x43D2, 0x132E, 0x430C,
-0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x430C, 0x12B0, 0x4620, 0x4C0A,
-0x431C, 0x12B0, 0x4620, 0x4C0B, 0x403C, 0x0003, 0x12B0, 0x4620, 0x4C08,
-0x903A, 0x06A4, 0x3813, 0x421F, 0x150A, 0x503F, 0xFFF6, 0x9F0A, 0x3806,
-0x421F, 0x150A, 0x503F, 0x000A, 0x9A0F, 0x3402, 0x4A82, 0x150A, 0x421C,
-0x150A, 0x12B0, 0x4652, 0x3C07, 0x9382, 0x1502, 0x2422, 0x421C, 0x1502,
-0x12B0, 0x46F0, 0x9382, 0x1502, 0x241B, 0x93C2, 0x150F, 0x2418, 0x8B08,
-0x9038, 0x0097, 0x3814, 0x53D2, 0x1511, 0x90F2, 0x000B, 0x1511, 0x2810,
-0x43D2, 0x1510, 0x12B0, 0xD8C4, 0xC2F2, 0x001D, 0x4382, 0x1502, 0x435C,
-0x421F, 0x1112, 0x129F, 0x0020, 0x3C02, 0x43C2, 0x1511, 0x430C, 0x4030,
-0xD428, 0x9392, 0x14FE, 0x2016, 0x421F, 0x2784, 0xD2DF, 0x2780, 0x0000,
-0x421F, 0x1504, 0xD2DF, 0x150C, 0x0000, 0x431C, 0x12B0, 0xD1BA, 0x421F,
-0x2784, 0xC2DF, 0x277E, 0x0000, 0xD0F2, 0x0020, 0x0029, 0x3C0F, 0x421F,
-0x1504, 0xD2DF, 0x150C, 0x0000, 0xD0F2, 0x0020, 0x0029, 0x431C, 0x12B0,
-0xD1BA, 0x421F, 0x1504, 0xD3DF, 0x0000, 0x403C, 0x0005, 0x4030, 0xD1BA,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x120C,
-0x8031, 0x003A, 0x4381, 0x000C, 0x4381, 0x0016, 0x4381, 0x0018, 0x4381,
-0x000A, 0x4381, 0x0008, 0x430A, 0x403B, 0x1360, 0x4038, 0x1358, 0x4039,
-0x1354, 0x4036, 0x1112, 0xB31C, 0x28B3, 0x410C, 0x503C, 0x000C, 0x12B0,
-0xD768, 0x2403, 0x403C, 0xFFFE, 0x3DA5, 0x432C, 0x462F, 0x129F, 0x001A,
-0x410C, 0x503C, 0x0006, 0x12B0, 0xD768, 0x2403, 0x403C, 0xFFFC, 0x3D98,
-0x410C, 0x503C, 0x0016, 0x462F, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C,
-0xFFFB, 0x3D8D, 0x403C, 0x1484, 0x462F, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFFA, 0x3D83, 0x410C, 0x523C, 0x12B0, 0xD768, 0x2403, 0x403C,
-0xFFF9, 0x3D7B, 0x410C, 0x503C, 0x000A, 0x462F, 0x129F, 0x0016, 0x933C,
-0x2003, 0x403C, 0xFFF8, 0x3D70, 0x422C, 0x462F, 0x129F, 0x001A, 0x933C,
-0x27F7, 0x4191, 0x0016, 0x001A, 0x4191, 0x0018, 0x001C, 0x4291, 0x1484,
-0x001E, 0x4291, 0x1486, 0x0020, 0x4191, 0x0008, 0x0022, 0x4381, 0x0024,
-0x4191, 0x000A, 0x0026, 0x4381, 0x0028, 0x410C, 0x503C, 0x001A, 0x12B0,
-0xC388, 0x407C, 0x0028, 0x12A9, 0x430C, 0x12A8, 0x12B0, 0xC966, 0x403C,
-0x0080, 0x12A8, 0x434C, 0x12B0, 0xD9BC, 0x403C, 0x1400, 0x12B0, 0xD0FE,
-0x411C, 0x0006, 0x12A8, 0x12B0, 0xD106, 0x403C, 0x4303, 0x12A8, 0x434C,
-0x12AB, 0x12B0, 0xD430, 0x12B0, 0xD9BC, 0x403C, 0x0401, 0x12A8, 0x407C,
-0x0021, 0x12A9, 0x407C, 0x00A8, 0x12A9, 0x4381, 0x0002, 0x4381, 0x0004,
-0x4304, 0x4305, 0x403C, 0x0005, 0x12B0, 0xCDD8, 0x2004, 0x90B1, 0xABAD,
-0x0004, 0x2405, 0x9305, 0x2003, 0x9034, 0x012C, 0x2BF2, 0x9305, 0x2003,
-0x9034, 0x012C, 0x2802, 0x403A, 0xFFF7, 0xB392, 0x1484, 0x280E, 0x53B2,
-0x1484, 0x63B2, 0x1486, 0x4392, 0x149A, 0x3C07, 0x470C, 0x128F, 0x4C0A,
-0x53B2, 0x1484, 0x63B2, 0x1486, 0x4624, 0x4037, 0x149C, 0x421F, 0x1484,
-0xD21F, 0x1486, 0x930F, 0x2426, 0x930A, 0x2024, 0x441F, 0x0016, 0xB392,
-0x1484, 0x2BE9, 0x403C, 0x149E, 0x128F, 0x4C0A, 0x4304, 0x4305, 0x47A1,
-0x0000, 0x4217, 0x149E, 0x407C, 0x0086, 0x12A9, 0x430C, 0x12A8, 0x5314,
-0x6305, 0x23DA, 0x9034, 0x0BB8, 0x2FD7, 0xB32C, 0x2BF6, 0x403C, 0x0011,
-0x12A8, 0x412C, 0x12A8, 0x470C, 0x12A8, 0x3FCD, 0x9382, 0x149A, 0x242D,
-0x930A, 0x202B, 0x421F, 0x1484, 0xD21F, 0x1486, 0x930F, 0x2025, 0xB3A1,
-0x003A, 0x28AC, 0x470C, 0x1294, 0x0016, 0x4C0A, 0x4304, 0x4305, 0x4727,
-0x407C, 0x0086, 0x12A9, 0x430C, 0x12A8, 0x5314, 0x6305, 0x2003, 0x9034,
-0x0BB8, 0x2803, 0x403C, 0xFFBF, 0x3CA9, 0xB32C, 0x2BF3, 0x403C, 0x0011,
-0x12A8, 0x470C, 0x12A8, 0x403C, 0xAAAA, 0x12A8, 0x4382, 0x149A, 0x3C03,
-0xB3A1, 0x003A, 0x287F, 0x4304, 0x4305, 0x4381, 0x0002, 0x4381, 0x0004,
-0x403C, 0x000A, 0x12B0, 0xCDD8, 0x2004, 0x90B1, 0xCAFE, 0x0004, 0x2405,
-0x9305, 0x2003, 0x9034, 0x012C, 0x2BF2, 0x9305, 0x2003, 0x9034, 0x012C,
-0x2851, 0x403A, 0xFFBF, 0x410C, 0x503C, 0x000E, 0x403E, 0x27AE, 0x12B0,
-0xD540, 0x120F, 0x12B0, 0xD578, 0x4627, 0x1297, 0x000E, 0x12B0, 0xD25C,
-0x12B0, 0xC966, 0x403C, 0x0A60, 0x12B0, 0xD0F2, 0x5321, 0x12B0, 0xD37C,
-0x12B0, 0xD38E, 0x4034, 0x0501, 0x9382, 0x1398, 0x2404, 0x12B0, 0xD9BE,
-0x440C, 0x12A8, 0x4077, 0x0042, 0x12B0, 0xC974, 0x41A2, 0x148A, 0x4582,
-0x148C, 0x12B0, 0xC966, 0x403C, 0x0B60, 0x12B0, 0xD0F2, 0x12B0, 0xD37C,
-0x12B0, 0xD38E, 0x9382, 0x1398, 0x2404, 0x12B0, 0xD9BE, 0x440C, 0x12A8,
-0x12B0, 0xC974, 0x412F, 0x4F82, 0x148E, 0x4582, 0x1490, 0xD50F, 0x930F,
-0x2409, 0x90B2, 0xFFFE, 0x148A, 0x2003, 0x9382, 0x148C, 0x2402, 0x403A,
-0xFFF6, 0x410C, 0x503C, 0x000E, 0x403E, 0x27B6, 0x12B0, 0xD540, 0x120F,
-0x12B0, 0xD578, 0x462B, 0x129B, 0x000E, 0x12B0, 0xD25C, 0x421C, 0x1488,
-0x462F, 0x129F, 0x0008, 0x3C18, 0x931A, 0x2006, 0x407C, 0x0091, 0x1294,
-0x0012, 0x430A, 0x3C11, 0x410C, 0x503C, 0x000E, 0x403E, 0x27BE, 0x12B0,
-0xD540, 0x120F, 0x12B0, 0xD578, 0x1294, 0x000E, 0x12B0, 0xD25C, 0x403A,
-0xFFF6, 0x5321, 0x4A0C, 0x5031, 0x003C, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x407A, 0x0006, 0x403B, 0x150C, 0x4038, 0x1504,
-0x4039, 0x0190, 0xD0F2, 0x0040, 0x0029, 0x4216, 0x2758, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF,
-0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0x537A, 0x23CE, 0xC0F2, 0x0040,
-0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xD0F2,
-0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C,
-0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000,
-0xC0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029,
-0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF,
-0x0000, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040,
-0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xCBEF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2,
-0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xCBEF, 0x0000, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xCBEF, 0x0000, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF,
-0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x490C,
-0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0x403C, 0x000A, 0x1292,
-0x275A, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x0010, 0x410C, 0x503C, 0x0006, 0x403E, 0x0005,
-0x12B0, 0xD494, 0x4381, 0x0004, 0x410C, 0x532C, 0x421F, 0x1112, 0x129F,
-0x0016, 0x930C, 0x2403, 0x403C, 0xFFD3, 0x3D49, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0016, 0x933C, 0x2003, 0x403C, 0xFFD2, 0x3D3F, 0x403A, 0x1360,
-0x435C, 0x12AA, 0x403B, 0x1354, 0x4074, 0x0028, 0x444C, 0x12AB, 0x4038,
-0x1358, 0x430C, 0x12A8, 0x4079, 0x00C8, 0xB03C, 0x0200, 0x2C1D, 0x407C,
-0x0088, 0x12AB, 0x407C, 0x0034, 0x1292, 0x1356, 0x12B0, 0xD5FA, 0x444C,
-0x12AB, 0x4036, 0x0032, 0x3C02, 0x9306, 0x240A, 0x430C, 0x12A8, 0x5336,
-0x933C, 0x27F9, 0xB03C, 0x0200, 0x2BF6, 0x9306, 0x2003, 0x403C, 0xFFD4,
-0x3D0F, 0xB32C, 0x2807, 0x434C, 0x12AA, 0x12B0, 0xCAB0, 0x435C, 0x12AA,
-0x3C02, 0x12B0, 0xCAB0, 0x407C, 0x0048, 0x12AB, 0x435C, 0x1292, 0x1356,
-0x435C, 0x12AA, 0x4307, 0x12B0, 0xC2A6, 0x2406, 0x12B0, 0xC2C8, 0x5317,
-0x9037, 0x000A, 0x2BF7, 0x9037, 0x000A, 0x2003, 0x403C, 0xFFD1, 0x3CEC,
-0x12B0, 0xC292, 0x407C, 0x0030, 0x12AB, 0x403C, 0x0003, 0x12A8, 0x430C,
-0x12A8, 0x4076, 0x0090, 0x93A2, 0x137C, 0x200D, 0x9382, 0x137E, 0x200A,
-0x12B0, 0xCAA6, 0x403C, 0x000F, 0x12A8, 0x12B0, 0xCAA6, 0x403C, 0x000C,
-0x12A8, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F, 0x2414, 0x9382, 0x1380,
-0x2411, 0x464C, 0x12AB, 0x403C, 0x0089, 0x12A8, 0x430C, 0x12A8, 0x4C07,
-0x464C, 0x12AB, 0x403C, 0x0088, 0x12A8, 0xD037, 0x0010, 0x470C, 0x12A8,
-0x4077, 0x0082, 0x12B0, 0xC286, 0x4035, 0xC0EA, 0x12B0, 0xCA9C, 0x239B,
-0x12B0, 0xCABA, 0x934C, 0x3405, 0x12B0, 0xC286, 0x12B0, 0xCA9C, 0x2392,
-0x12B0, 0xC280, 0x430C, 0x12B0, 0xCAE2, 0x238C, 0x4306, 0x444C, 0x12AB,
-0x3C04, 0x12B0, 0xCA9C, 0x2385, 0x5316, 0x430C, 0x12A8, 0x934C, 0x3803,
-0x9036, 0x000A, 0x2BF5, 0x9036, 0x000A, 0x277A, 0x407C, 0x0021, 0x12B0,
-0xCABC, 0x822C, 0x4C81, 0x0008, 0x4381, 0x000A, 0x9306, 0x2019, 0x12B0,
-0xCABA, 0xB03C, 0x0020, 0x2818, 0x53A1, 0x0008, 0x12B0, 0xC280, 0x403C,
-0xC032, 0x12B0, 0xCAE2, 0x2361, 0x12B0, 0xC280, 0x403C, 0x0010, 0x12B0,
-0xCAE2, 0x235A, 0x40B1, 0x0010, 0x0004, 0x3C04, 0x12B0, 0xC292, 0x4391,
-0x000E, 0x12B0, 0xD5FA, 0x12B0, 0xC2A6, 0x2370, 0x12B0, 0xC2D8, 0x12B0,
-0xCAC2, 0x12B0, 0xC2C2, 0x434C, 0x12AA, 0x430C, 0x12A8, 0x4C81, 0x0006,
-0x12B0, 0xC2F8, 0x415F, 0x0006, 0xDF81, 0x0000, 0x12B0, 0xC2D8, 0x407C,
-0x0048, 0x12AB, 0x427C, 0x1292, 0x1356, 0x12B0, 0xCAC2, 0x12AB, 0x412C,
-0x12A8, 0x435C, 0x12AA, 0x12B0, 0xC2F8, 0x12B0, 0xCAD4, 0x403C, 0x4030,
-0x12A8, 0x12B0, 0xC2C8, 0x403C, 0x0C04, 0x12A8, 0x9382, 0x1506, 0x2402,
-0x12B0, 0xC2C8, 0x434C, 0x12AA, 0x407C, 0x0021, 0x12AB, 0x9382, 0x1506,
-0x2002, 0x435C, 0x12AA, 0x12B0, 0xC2D0, 0x12B0, 0xCAD4, 0x403C, 0x4282,
-0x12B0, 0xC2B8, 0x474C, 0x12AB, 0x403C, 0x00FE, 0x12B0, 0xC2B8, 0x12B0,
-0xC2C8, 0x430C, 0x12A8, 0x4C81, 0x000C, 0x12B0, 0xC2D0, 0xD191, 0x0004,
-0x000C, 0x403D, 0x000A, 0x410C, 0x503C, 0x0006, 0x421F, 0x1112, 0x129F,
-0x0006, 0x430C, 0x5031, 0x0010, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x001A, 0x4308, 0x4309,
-0x430A, 0x430B, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381, 0x0002, 0x4381,
-0x0004, 0x4381, 0x000E, 0x4381, 0x0010, 0x40B1, 0x0010, 0x0006, 0x4381,
-0x0008, 0x4304, 0x4305, 0x4306, 0x4307, 0x410C, 0x503C, 0x000A, 0x12B0,
-0xD66A, 0x3403, 0x403C, 0xFFC6, 0x3C7B, 0x410C, 0x532C, 0x12B0, 0xD66A,
-0x3403, 0x403C, 0xFFC4, 0x3C73, 0x410C, 0x503C, 0x000E, 0x12B0, 0xD66A,
-0x3BF7, 0x410C, 0x503C, 0x0006, 0x12B0, 0xD66A, 0x3403, 0x403C, 0xFFC3,
-0x3C64, 0x411C, 0x0002, 0x411D, 0x0004, 0x411E, 0x000E, 0x411F, 0x0010,
-0x4C81, 0x0012, 0x4D81, 0x0014, 0x4E81, 0x0016, 0x4F81, 0x0018, 0x92A1,
-0x000A, 0x2033, 0x9381, 0x000C, 0x2030, 0x42B1, 0x0006, 0x4381, 0x0008,
-0x43C1, 0x0000, 0x411C, 0x0012, 0x411D, 0x0014, 0x411E, 0x0016, 0x411F,
-0x0018, 0x416B, 0x12B0, 0xCF16, 0xF31C, 0x5404, 0x6505, 0x6606, 0x6707,
-0xDC04, 0x53D1, 0x0000, 0x92F1, 0x0000, 0x2BEA, 0x444C, 0x1292, 0x1354,
-0x4C48, 0x4309, 0x430A, 0x430B, 0x480C, 0x490D, 0x421F, 0x1112, 0x129F,
-0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F, 0x000A, 0x3C1D, 0x4C04,
-0x4D05, 0x4E06, 0x4F07, 0x411E, 0x000A, 0x411F, 0x000C, 0x930F, 0x20C1,
-0x903E, 0x000B, 0x2CBE, 0x5E0E, 0x4E10, 0x5370, 0x5386, 0x5394, 0x5394,
-0x539C, 0x5328, 0x53B4, 0x5418, 0x542A, 0x543A, 0x544C, 0x54C4, 0x1292,
-0x134E, 0x430C, 0x5031, 0x001A, 0x4030, 0xD41E, 0x434C, 0x1292, 0x2754,
-0x3FF7, 0x1292, 0x2756, 0x411F, 0x0002, 0xD11F, 0x0004, 0x930F, 0x27EF,
-0x430C, 0x1292, 0x274A, 0x3FEB, 0x411E, 0x0006, 0x411F, 0x0008, 0x830F,
-0x2029, 0x823E, 0x240B, 0x823E, 0x240D, 0x822E, 0x240F, 0x803E, 0x000C,
-0x2414, 0x803E, 0x0020, 0x2414, 0x3C1C, 0x1292, 0x1356, 0x4C48, 0x3FAA,
-0x1292, 0x1358, 0x4C08, 0x3FA6, 0xF035, 0x000F, 0x450D, 0x1292, 0x135A,
-0x4C08, 0x4D09, 0x3F9E, 0x1292, 0x135C, 0x3FFA, 0x460E, 0x470F, 0x1292,
-0x135E, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B, 0x3F92, 0x403C, 0xFFC2, 0x3FBA,
-0x407C, 0x0054, 0x1292, 0x1354, 0x440C, 0x450D, 0x1292, 0x135C, 0x3FB0,
-0x407C, 0x00F4, 0x1292, 0x1354, 0x440C, 0x1292, 0x1358, 0x3FA8, 0x407C,
-0x0046, 0x1292, 0x1354, 0x430C, 0x430D, 0x430E, 0x430F, 0x3FDC, 0x90B1,
-0x0010, 0x0006, 0x2015, 0x9381, 0x0008, 0x2012, 0x4C07, 0x12B0, 0xD954,
-0x12B0, 0xDA04, 0x531A, 0x630B, 0x202A, 0x903A, 0x0BB8, 0x2C27, 0xB31C,
-0x2BF6, 0x431C, 0x1292, 0x1358, 0x470C, 0x3FDB, 0x90B1, 0x0020, 0x0006,
-0x201C, 0x9381, 0x0008, 0x2019, 0x4C07, 0x4D08, 0x12B0, 0xD954, 0x12B0,
-0xDA04, 0x531A, 0x630B, 0x2010, 0x903A, 0x0BB8, 0x2C0D, 0xB32C, 0x2BF6,
-0x403C, 0x0011, 0x1292, 0x1358, 0x470C, 0x1292, 0x1358, 0x480C, 0x1292,
-0x1358, 0x3F66, 0x403C, 0xFFCF, 0x3F64, 0x12B0, 0xD954, 0x12B0, 0xDA04,
-0xB23C, 0x2B33, 0x403C, 0x0014, 0x1292, 0x1358, 0x12B0, 0xDA04, 0x4C08,
-0x12B0, 0xDA04, 0x4C09, 0x3F28, 0x403C, 0xFFC5, 0x3F50, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0010, 0x410C,
-0x503C, 0x0006, 0x403E, 0x0005, 0x12B0, 0xD494, 0x4381, 0x0004, 0x410C,
-0x532C, 0x421F, 0x1112, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFD3,
-0x3D30, 0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x933C, 0x2003, 0x403C,
-0xFFD2, 0x3D26, 0x403A, 0x1360, 0x435C, 0x12AA, 0x403B, 0x1354, 0x4075,
-0x0028, 0x454C, 0x12AB, 0x4038, 0x1358, 0x430C, 0x12A8, 0x4034, 0x1356,
-0x4077, 0x00C8, 0xB03C, 0x0200, 0x2C18, 0x12B0, 0xD69A, 0x12B0, 0xD790,
-0x454C, 0x12AB, 0x4039, 0x0032, 0x3C02, 0x9309, 0x240A, 0x430C, 0x12A8,
-0x5339, 0x933C, 0x27F9, 0xB03C, 0x0200, 0x2BF6, 0x9309, 0x2003, 0x403C,
-0xFFD4, 0x3CF9, 0xB32C, 0x2807, 0x434C, 0x12AA, 0x12B0, 0xD79A, 0x435C,
-0x12AA, 0x3C02, 0x12B0, 0xD79A, 0x407C, 0x0048, 0x12AB, 0x435C, 0x12A4,
-0x435C, 0x12AA, 0x4309, 0x12B0, 0xBB78, 0x2406, 0x12B0, 0xBB8A, 0x5319,
-0x9039, 0x000A, 0x2BF7, 0x9039, 0x000A, 0x2003, 0x403C, 0xFFD1, 0x3CD7,
-0x12B0, 0xBB92, 0x407C, 0x0030, 0x12AB, 0x403C, 0x0003, 0x12A8, 0x430C,
-0x12A8, 0x93A2, 0x137C, 0x201B, 0x9382, 0x137E, 0x2018, 0x407C, 0x00B0,
-0x12AB, 0x4039, 0x135C, 0x403C, 0x0082, 0x430D, 0x12A9, 0x403C, 0x000F,
-0x430D, 0x12A9, 0x407C, 0x00B0, 0x12AB, 0x403C, 0x0082, 0x430D, 0x12A9,
-0x403C, 0x000C, 0x430D, 0x12A9, 0x4076, 0x0082, 0x12B0, 0xBB5A, 0x403C,
-0x4303, 0x12B0, 0xBBDE, 0x4309, 0x454C, 0x12AB, 0x3C07, 0x12B0, 0xC172,
-0x4C0F, 0xDD0F, 0x930F, 0x23A1, 0x5319, 0x430C, 0x12A8, 0x934C, 0x3803,
-0x9039, 0x000A, 0x2BF2, 0x9039, 0x000A, 0x2796, 0x407C, 0x0021, 0x12AB,
-0x430C, 0x430D, 0x1292, 0x135A, 0x503C, 0xFFFE, 0x633D, 0x4C81, 0x0008,
-0x4D81, 0x000A, 0x9309, 0x201B, 0x454C, 0x12AB, 0x430C, 0x12A8, 0xB03C,
-0x0020, 0x2818, 0x53A1, 0x0008, 0x12B0, 0xBB5A, 0x403C, 0xC032, 0x12B0,
-0xD5CC, 0x2376, 0x12B0, 0xBB5A, 0x403C, 0x0010, 0x12B0, 0xD5CC, 0x236F,
-0x40B1, 0x0010, 0x0004, 0x3C04, 0x12B0, 0xBB92, 0x4391, 0x000E, 0x12B0,
-0xD790, 0x12B0, 0xBB78, 0x2384, 0x12B0, 0xBBBE, 0x12B0, 0xBB62, 0x435C,
-0x12AA, 0x434C, 0x12AA, 0x430C, 0x12A8, 0x4C81, 0x0006, 0x12B0, 0xBBEA,
-0x415F, 0x0006, 0xDF81, 0x0000, 0x12B0, 0xBBBE, 0x407C, 0x0048, 0x12AB,
-0x427C, 0x12A4, 0x12B0, 0xBB62, 0x412C, 0x12A8, 0x435C, 0x12AA, 0x12B0,
-0xBBEA, 0x12B0, 0xD69A, 0x464C, 0x12AB, 0x403C, 0x0080, 0x12A8, 0x12B0,
-0xBB8A, 0x403C, 0x0C04, 0x12A8, 0x434C, 0x12AA, 0x407C, 0x0021, 0x12B0,
-0xBB5C, 0x12B0, 0xBBAA, 0x407C, 0x0088, 0x12AB, 0x403C, 0x0034, 0x12A8,
-0x12B0, 0xBB5A, 0x403C, 0x0260, 0x12B0, 0xBBDE, 0x12B0, 0xBB5A, 0x403C,
-0x00FC, 0x12B0, 0xBBDE, 0x430C, 0x12A8, 0x4C07, 0x12B0, 0xBB8A, 0x430C,
-0x12A8, 0x12B0, 0xBBAA, 0xD117, 0x0004, 0x4781, 0x000C, 0x403D, 0x000A,
-0x410C, 0x503C, 0x0006, 0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031,
-0x0010, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x0022, 0x4381, 0x0006, 0x4381, 0x0008, 0x4381,
-0x0002, 0x4381, 0x0004, 0x4381, 0x0000, 0x410C, 0x503C, 0x0006, 0x421F,
-0x1112, 0x129F, 0x0018, 0x410C, 0x532C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x407C, 0x0046, 0x1292, 0x1354,
-0x430C, 0x430D, 0x430E, 0x430F, 0x1292, 0x135E, 0x4C08, 0x4D09, 0x4E0A,
-0x4F0B, 0x9381, 0x0000, 0x2022, 0x421E, 0x14B2, 0xF31E, 0x4A06, 0xF316,
-0x960E, 0x241B, 0xB31A, 0x2819, 0x431C, 0x421F, 0x1112, 0x129F, 0x0008,
-0x403C, 0x0080, 0x421F, 0x1112, 0x129F, 0x0008, 0x480C, 0x490D, 0x421F,
-0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F, 0x000A,
-0x431C, 0x3CE0, 0x9381, 0x0000, 0x2009, 0x421F, 0x14B4, 0xF03F, 0x8000,
-0x4B07, 0xF037, 0x8000, 0x970F, 0x24D3, 0x422C, 0x421F, 0x1112, 0x129F,
-0x0008, 0x480C, 0x490D, 0x421F, 0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D,
-0x421F, 0x1112, 0x129F, 0x000A, 0x930B, 0x38BE, 0x9381, 0x0000, 0x20BB,
-0x410C, 0x503C, 0x000A, 0x403E, 0x27CE, 0x423D, 0x12B0, 0xD454, 0x410F,
-0x503F, 0x0012, 0x120F, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x000C,
-0x4217, 0x1112, 0x1297, 0x000E, 0x403C, 0x0003, 0x1292, 0x1230, 0x410C,
-0x503C, 0x0014, 0x421F, 0x1112, 0x129F, 0x0010, 0x4036, 0x1360, 0x434C,
-0x12A6, 0x407C, 0x00C1, 0x1292, 0x1354, 0x403C, 0xFFFE, 0x430D, 0x1292,
-0x135A, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0042, 0x1292, 0x1354,
-0x4037, 0x1358, 0x430C, 0x12A7, 0x4C05, 0x435C, 0x12A6, 0x434C, 0x12A6,
-0x435C, 0x12A6, 0x407C, 0x0028, 0x1292, 0x1354, 0x430C, 0x12A7, 0x434C,
-0x12A6, 0x4074, 0x0082, 0x444C, 0x1292, 0x1354, 0x435C, 0x12A6, 0x403C,
-0x0080, 0x12A7, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C,
-0x1400, 0x12A7, 0x444C, 0x1292, 0x1354, 0x434C, 0x12A6, 0x435C, 0x12A6,
-0x5325, 0x450C, 0x12A7, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x403C, 0x4303,
-0x12A7, 0x434C, 0x12A6, 0x407C, 0x0021, 0x1292, 0x1354, 0x430C, 0x430D,
-0x1292, 0x135A, 0x434C, 0x12A6, 0x444C, 0x1292, 0x1354, 0x435C, 0x12A6,
-0x432C, 0x12A7, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x1401, 0x12A7,
-0x444C, 0x1292, 0x1354, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x430C, 0x12A7,
-0x434C, 0x12A6, 0x435C, 0x12A6, 0x403C, 0x3FFD, 0x12A7, 0x434C, 0x12A6,
-0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0021, 0x1292, 0x1354, 0x430C,
-0x430D, 0x1292, 0x135A, 0x435C, 0x12A6, 0x407C, 0x00C8, 0x1292, 0x1354,
-0x403C, 0x0501, 0x12A7, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x434C, 0x12A6,
-0x407C, 0x0042, 0x1292, 0x1354, 0x435C, 0x12A6, 0x5321, 0x431C, 0x3C01,
-0x432C, 0x9381, 0x0000, 0x2402, 0x430C, 0x3C08, 0x4882, 0x14AE, 0x4982,
-0x14B0, 0x4A82, 0x14B2, 0x4B82, 0x14B4, 0x5031, 0x0022, 0x4030, 0xD41E,
-0x407C, 0x00C1, 0x4820, 0x403C, 0x012C, 0x4030, 0x5C46, 0x444C, 0x12A8,
-0x403C, 0x0034, 0x12AB, 0x464C, 0x4030, 0x5AF4, 0x12B0, 0x5B54, 0x4030,
-0x5B6C, 0x12B0, 0x5C46, 0x12B0, 0x5CAE, 0x430C, 0x4B20, 0x12B0, 0x5AEA,
-0x3FF0, 0x12B0, 0x5B54, 0x12B0, 0x5C38, 0x4820, 0x12B0, 0x5A56, 0x403C,
-0x3FFD, 0x12AB, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12B0, 0x5BA6, 0x4A20,
-0x12B0, 0x5AD2, 0x4C81, 0x0002, 0x12B0, 0x5ABA, 0x4C81, 0x0004, 0x12B0,
-0x5AC6, 0x411E, 0x0002, 0x411F, 0x0004, 0x4130, 0x12B0, 0x5AD2, 0x4C81,
-0x0004, 0x12B0, 0x5ABA, 0x4C81, 0x0002, 0x12B0, 0x5AC6, 0x411E, 0x0004,
-0x411F, 0x0002, 0x4130, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x430C, 0x4B20,
-0x434C, 0x12AA, 0x12B0, 0x5BB2, 0x435C, 0x4A20, 0x12B0, 0x5A56, 0x403C,
-0x00FC, 0x12B0, 0x5AEA, 0x430C, 0x4B20, 0x12B0, 0x5B98, 0x4030, 0x5AF4,
-0x12AB, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12A8, 0x435C, 0x4A20, 0x431C,
-0x1292, 0x275A, 0x454C, 0x12A8, 0x430C, 0x430D, 0x1292, 0x135A, 0x53B1,
-0x0006, 0x421E, 0x145C, 0x4130, 0x12B0, 0x5A5C, 0x403C, 0x012C, 0x12B0,
-0x5C46, 0x421C, 0x1482, 0xD03C, 0x0040, 0x12B0, 0x5B32, 0x4030, 0x5B38,
-0x12AB, 0x435C, 0x4A20, 0x12B0, 0x5C2E, 0x4A20, 0x12B0, 0xD196, 0xF03C,
-0x0F00, 0x4130, 0x12B0, 0x5B38, 0x12B0, 0x5B54, 0x4030, 0x5B6C, 0x464C,
-0x12A8, 0x403C, 0x3FFF, 0x12AB, 0x434C, 0x12AA, 0x494C, 0x12A8, 0x403C,
-0x2409, 0x4130, 0x12AB, 0x4030, 0x5CAE, 0x4F81, 0x0002, 0x12B0, 0x5B98,
-0x12A8, 0x403C, 0x0080, 0x12AB, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x411C,
-0x0002, 0x12AB, 0x434C, 0x12AA, 0x454C, 0x3F70, 0x444C, 0x12A8, 0x407C,
-0x0034, 0x12A7, 0x464C, 0x4130, 0x12B0, 0x5BBC, 0x12B0, 0x5BB2, 0x435C,
-0x4130, 0x444C, 0x12A8, 0x407C, 0x0024, 0x4720, 0x12A8, 0x4030, 0x5CAE,
-0x12B0, 0x5C6A, 0x4B20, 0x403C, 0x0003, 0x1292, 0x11E4, 0x410C, 0x503C,
-0x0036, 0x421F, 0x1112, 0x129F, 0x0010, 0x403C, 0x1462, 0x12B0, 0x9702,
-0x12B0, 0x5B54, 0x12B0, 0x5C38, 0x12A8, 0x403C, 0x0128, 0x12B0, 0x5C46,
-0x421C, 0x147E, 0x12B0, 0x5C52, 0x403C, 0x012A, 0x12B0, 0x5C46, 0x421C,
-0x1480, 0x12B0, 0x5C52, 0x403C, 0x012C, 0x12B0, 0x5C46, 0x421C, 0x1482,
-0x12AB, 0x435C, 0x12AA, 0x12B0, 0x5C6A, 0x12AB, 0x4C81, 0x0004, 0x3F85,
-0x12B0, 0x5C9A, 0x12A8, 0x435C, 0x4130, 0x12B0, 0x5CAC, 0x12B0, 0x5C60,
-0x407C, 0x00C1, 0x4130, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x4820,
-0x12B0, 0x5B32, 0x12B0, 0x5C8A, 0x12B0, 0x5C60, 0x3EE2, 0x407C, 0x0048,
-0x12A8, 0x427C, 0x4720, 0x12B0, 0x5C8A, 0x407C, 0x00C1, 0x12A8, 0x403C,
-0x012C, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12B0, 0x5BBC, 0x430C,
-0x4130, 0x12B0, 0x5C9A, 0x12B0, 0x5AF4, 0x12B0, 0x5B54, 0x4030, 0x5CAC,
-0x434C, 0x12AA, 0x494C, 0x12A8, 0x403C, 0x2401, 0x12AB, 0x454C, 0x4130,
-0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x000C, 0x410C, 0x532C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFDA, 0x3D29, 0x410C,
-0x421F, 0x1112, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFD9, 0x3D1F,
-0x403A, 0x1354, 0x407B, 0x00C8, 0x4B4C, 0x12AA, 0x4038, 0x1358, 0x403C,
-0x2401, 0x12A8, 0x407C, 0x0028, 0x12AA, 0x907C, 0x0089, 0x2403, 0x403C,
-0xFFD0, 0x3D0B, 0x12B0, 0xD7D6, 0x4C04, 0x4039, 0x1360, 0x435C, 0x12A9,
-0x4037, 0x135C, 0x4035, 0x1356, 0xB034, 0x0200, 0x2C34, 0x12B0, 0xB564,
-0x407C, 0x0034, 0x12A5, 0x4C44, 0x407C, 0x00B0, 0x12AA, 0x403C, 0x0089,
-0x430D, 0x12A7, 0x430C, 0x430D, 0x12A7, 0xD034, 0x0040, 0x12B0, 0xB578,
-0x12B0, 0xD6A6, 0x12B0, 0xB578, 0xF034, 0xFFBF, 0x12B0, 0xD6A6, 0x12B0,
-0xB5EC, 0x407C, 0x0028, 0x12AA, 0x4036, 0x0032, 0x3C02, 0x9306, 0x240B,
-0x430C, 0x12A8, 0x4C04, 0x5336, 0x933C, 0x27F8, 0xB03C, 0x0200, 0x2BF5,
-0x9306, 0x2003, 0x403C, 0xFFDB, 0x3CC9, 0xB324, 0x2807, 0x434C, 0x12A9,
-0x12B0, 0xB5EC, 0x435C, 0x12A9, 0x3C02, 0x12B0, 0xB5EC, 0x407C, 0x0082,
-0x12B0, 0xB5AE, 0x403C, 0x4303, 0x12B0, 0xB5B4, 0x407C, 0x0042, 0x12AA,
-0x12B0, 0xCCFA, 0x2003, 0x403C, 0xFFD1, 0x3CAD, 0x93A2, 0x137C, 0x200F,
-0x9382, 0x137E, 0x200C, 0x12B0, 0xB56A, 0x403C, 0x000F, 0x430D, 0x12A7,
-0x12B0, 0xB56A, 0x403C, 0x000C, 0x430D, 0x12A7, 0x12B0, 0xB5DA, 0x12B0,
-0xB5DA, 0x403C, 0x0401, 0x12A8, 0x407C, 0x0098, 0x12AA, 0x12B0, 0xD68E,
-0x12B0, 0xD68E, 0x12B0, 0xB564, 0x407C, 0x0024, 0x12A5, 0x4306, 0x4077,
-0x0021, 0x12B0, 0xB586, 0x903C, 0xFFFE, 0x2002, 0x930D, 0x240B, 0x903C,
-0x0F00, 0x2002, 0x930D, 0x2406, 0x12B0, 0xD9F4, 0x5316, 0x9036, 0x000A,
-0x2BEE, 0x9036, 0x000A, 0x27C0, 0x434C, 0x12A9, 0x12B0, 0xB55C, 0x12B0,
-0xB55C, 0x474C, 0x12AA, 0x430C, 0x12A8, 0x12B0, 0xCCFA, 0x27B3, 0x12B0,
-0xB5F6, 0x12B0, 0xB5BA, 0x12B0, 0xB55C, 0x430C, 0x12A8, 0x4C81, 0x0004,
-0x12B0, 0xB5D0, 0x415F, 0x0004, 0xDF81, 0x0000, 0x12B0, 0xB5F6, 0x407C,
-0x0048, 0x12AA, 0x427C, 0x12A5, 0x12B0, 0xB5BA, 0x412C, 0x12A8, 0x435C,
-0x12A9, 0x12B0, 0xB5D0, 0x12B0, 0xB586, 0x4C81, 0x0006, 0x4D81, 0x0008,
-0x12B0, 0xB564, 0x407C, 0x0034, 0x12A5, 0x407C, 0x0082, 0x12AA, 0x403C,
-0x0080, 0x12A8, 0x12B0, 0xD9F4, 0x403C, 0x0C04, 0x12B0, 0xB5B4, 0x474C,
-0x12B0, 0xB5AE, 0x12B0, 0xB592, 0x12B0, 0xB564, 0x403C, 0x0034, 0x12A8,
-0x407C, 0x0082, 0x12B0, 0xB5AE, 0x403C, 0x0260, 0x12B0, 0xB5A6, 0x407C,
-0x0082, 0x12B0, 0xB5AE, 0x403C, 0x00FC, 0x12B0, 0xB5A6, 0x430C, 0x12A8,
-0x4C0B, 0x12B0, 0xD9F4, 0x430C, 0x12A8, 0x12B0, 0xB592, 0x4B81, 0x000A,
-0x423D, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031,
-0x000C, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x0016, 0x403B, 0x1112, 0x410C, 0x503C, 0x000A,
-0x12B0, 0xD7B8, 0x2403, 0x403C, 0xFFE8, 0x3D25, 0x410C, 0x523C, 0x12B0,
-0xD7B8, 0x2403, 0x403C, 0xFFE7, 0x3D1D, 0x410C, 0x503C, 0x0012, 0x4B2F,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3D12, 0x410C, 0x503C,
-0x0006, 0x12B0, 0xD7B8, 0x2403, 0x403C, 0xFFE5, 0x3D09, 0x410C, 0x522C,
-0x12B0, 0xD7B8, 0x2403, 0x403C, 0xFFE4, 0x3D01, 0x410C, 0x532C, 0x4B2F,
-0x129F, 0x0016, 0x933C, 0x2003, 0x403C, 0xFFE3, 0x3CF7, 0x410C, 0x4B2F,
-0x129F, 0x0016, 0x933C, 0x2002, 0x4381, 0x0000, 0x403A, 0x1354, 0x4077,
-0x00C8, 0x474C, 0x12AA, 0x403B, 0x1358, 0x403C, 0x3401, 0x12AB, 0x4078,
-0x0082, 0x484C, 0x12AA, 0x403C, 0x4032, 0x12AB, 0x4039, 0x1360, 0x12B0,
-0xD984, 0x411C, 0x0006, 0x12AB, 0x12B0, 0xD984, 0x403C, 0x3FFD, 0x12AB,
-0x12B0, 0xD620, 0x12B0, 0xD3C4, 0x484C, 0x12AA, 0x403C, 0x3FFF, 0x12AB,
-0x12B0, 0xD98C, 0x403C, 0x2409, 0x12AB, 0x435C, 0x12A9, 0x434C, 0x12A9,
-0x407C, 0x0048, 0x12AA, 0x427C, 0x1292, 0x1356, 0x407C, 0x00C1, 0x12AA,
-0x411C, 0x000A, 0x12AB, 0x407C, 0x00A1, 0x12AA, 0x411C, 0x0008, 0x12AB,
-0x435C, 0x12A9, 0x12B0, 0xD98C, 0x403C, 0x2401, 0x12AB, 0x4076, 0x0021,
-0x464C, 0x12AA, 0x435C, 0x12B0, 0xD98E, 0x403C, 0x3401, 0x12AB, 0x484C,
-0x12AA, 0x403C, 0x4030, 0x12AB, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x411C,
-0x0012, 0x12AB, 0x9382, 0x1506, 0x2404, 0x434C, 0x12A9, 0x435C, 0x12A9,
-0x434C, 0x12A9, 0x464C, 0x12AA, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A9,
-0x12B0, 0xD3C4, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0010, 0x4077,
-0x0090, 0x474C, 0x12AA, 0x403C, 0x0003, 0x12B0, 0xDA28, 0x4C81, 0x000C,
-0x403C, 0x000B, 0x12B0, 0xDA28, 0x4C04, 0x4C81, 0x000E, 0x403C, 0x0013,
-0x12B0, 0xDA28, 0x4C05, 0x4C81, 0x0010, 0x432C, 0x12B0, 0xDA28, 0x403C,
-0x000A, 0x12B0, 0xDA28, 0x403C, 0x0012, 0x12B0, 0xDA28, 0x432C, 0x12AB,
-0x411C, 0x000C, 0x12AB, 0x403C, 0x000A, 0x12AB, 0x440C, 0x12AB, 0x403C,
-0x0012, 0x12AB, 0x450C, 0x12AB, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F,
-0x2420, 0x9382, 0x1380, 0x2410, 0x474C, 0x12AA, 0x403C, 0x0089, 0x12B0,
-0xDA28, 0x4C04, 0x474C, 0x12AA, 0x403C, 0x0088, 0x12AB, 0xF034, 0xFFEF,
-0x440C, 0x12AB, 0x93A2, 0x137C, 0x200A, 0x9382, 0x137E, 0x2007, 0x474C,
-0x12AA, 0x480C, 0x12AB, 0x403C, 0x000F, 0x12AB, 0x407C, 0x0030, 0x12AA,
-0x411C, 0x0004, 0x12AB, 0x9381, 0x0002, 0x240C, 0x484C, 0x12AA, 0x411C,
-0x0002, 0x12AB, 0x434C, 0x12A9, 0x464C, 0x12AA, 0x435C, 0x12A9, 0x3C02,
-0x464C, 0x12AA, 0x407C, 0x00A8, 0x12AA, 0x9381, 0x0000, 0x2402, 0x1292,
-0x2756, 0x430C, 0x5031, 0x0016, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x8221, 0x4E0A, 0x4F0B, 0x4C0F, 0x823F,
-0x2408, 0x823F, 0x2434, 0x822F, 0x2436, 0x803F, 0x000C, 0x2438, 0x3CDA,
-0x40B1, 0x0080, 0x0000, 0x4381, 0x0002, 0x4C08, 0x4039, 0x150C, 0x4036,
-0x1504, 0x4037, 0x0190, 0x930C, 0x246A, 0x4A0E, 0x4B0F, 0xF12E, 0xF11F,
-0x0002, 0x9318, 0x4E0D, 0xDF0D, 0x2026, 0x930D, 0xD0F2, 0x0040, 0x0029,
-0x4214, 0x2758, 0x470C, 0x2026, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xC0F2, 0x0040, 0x0029,
-0x3C25, 0x40B1, 0x8000, 0x0000, 0x3FD1, 0x4381, 0x0000, 0x42B1, 0x0002,
-0x3FCE, 0x4381, 0x0000, 0x40B1, 0x8000, 0x0002, 0x3FC8, 0x930D, 0xC0F2,
-0x0040, 0x0029, 0x4214, 0x2758, 0x470C, 0x27DA, 0x1284, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2,
-0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x421F, 0x2782, 0x4FE2, 0x1513, 0x462F,
-0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC9EF, 0x0000, 0x5A0A, 0x6B0B,
-0x5338, 0x9308, 0x2396, 0xB0F2, 0x0040, 0x1100, 0xD0F2, 0x0040, 0x0029,
-0x4214, 0x2758, 0x470C, 0x285D, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2, 0x0040, 0x0029,
-0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F, 0xD3DF, 0x0000,
-0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC9EF,
-0x0000, 0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000,
-0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2, 0x0040,
-0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F,
-0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F,
-0xC9EF, 0x0000, 0x430C, 0x430D, 0x5221, 0x4030, 0xD420, 0x1284, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284,
-0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000,
-0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC9EF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284,
-0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C,
-0x1284, 0xC0F2, 0x0040, 0x0029, 0x3FA2, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x4C0A, 0x4D0B, 0x4218, 0x01F2, 0x40B2, 0x2839, 0x01EA, 0x40B2,
-0x2845, 0x01F2, 0x4C0F, 0xDD0F, 0x930F, 0x2482, 0x4039, 0x150C, 0x4036,
-0x1504, 0x533A, 0x633B, 0x435C, 0x1292, 0x1360, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x462F, 0xE9EF, 0x0000, 0xC232, 0x4303, 0x425E, 0x277E,
-0x4E4F, 0xE37F, 0x421D, 0x2784, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462F, 0xE9EF, 0x0000, 0x434C, 0x1292, 0x1360, 0x4A0F, 0xDB0F, 0x930F,
-0x2382, 0x4882, 0x01F2, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x4C0A, 0x4D0B, 0x4218, 0x01F2, 0x40B2, 0x283F, 0x01EA, 0x40B2,
-0x284B, 0x01F2, 0x4C0F, 0xDD0F, 0x930F, 0x2482, 0x4039, 0x150C, 0x4036,
-0x1504, 0x533A, 0x633B, 0x435C, 0x1292, 0x1360, 0x434C, 0x1292, 0x1360,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x462F, 0xE9EF, 0x0000, 0xC232,
-0x4303, 0x425E, 0x277E, 0x4E4F, 0xE37F, 0x421D, 0x2784, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462F, 0xE9EF, 0x0000, 0x4A0F, 0xDB0F, 0x930F,
-0x2382, 0x3F66, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x000C, 0x410C, 0x532C, 0x421F, 0x1112, 0x129F, 0x0016,
-0x930C, 0x2403, 0x403C, 0xFFDA, 0x3D10, 0x410C, 0x421F, 0x1112, 0x129F,
-0x0016, 0x930C, 0x2403, 0x403C, 0xFFD9, 0x3D06, 0x403A, 0x1354, 0x407B,
-0x00C8, 0x4B4C, 0x12AA, 0x4038, 0x1358, 0x4039, 0x2401, 0x12B0, 0xD736,
-0x907C, 0x0089, 0x2403, 0x403C, 0xFFD0, 0x3CF4, 0x407C, 0x0028, 0x12B0,
-0xD9EE, 0x4C04, 0x4036, 0x1360, 0x435C, 0x12A6, 0x4075, 0x0090, 0xB034,
-0x0200, 0x2C2F, 0x407C, 0x0088, 0x12AA, 0x407C, 0x0034, 0x1292, 0x1356,
-0x454C, 0x12AA, 0x403C, 0x0089, 0x12A8, 0x430C, 0x12B0, 0xD612, 0xD037,
-0x0040, 0x470C, 0x12B0, 0xD612, 0xF037, 0xFFBF, 0x470C, 0x12A8, 0x4B4C,
-0x12AA, 0x12B0, 0xD736, 0x4037, 0x0032, 0x3C02, 0x9307, 0x240B, 0x430C,
-0x12A8, 0x4C04, 0x5337, 0x933C, 0x27F8, 0xB03C, 0x0200, 0x2BF5, 0x9307,
-0x2003, 0x403C, 0xFFDB, 0x3CB7, 0xB324, 0x2803, 0x12B0, 0xCF4A, 0x3C02,
-0x12B0, 0xCF42, 0x12B0, 0xD48E, 0x435C, 0x12A6, 0x403C, 0x4303, 0x12B0,
-0xD71E, 0x12B0, 0xCC02, 0x2003, 0x403C, 0xFFD1, 0x3CA2, 0x93A2, 0x137C,
-0x200D, 0x9382, 0x137E, 0x200A, 0x12B0, 0xD89E, 0x403C, 0x000F, 0x12A8,
-0x12B0, 0xD89E, 0x403C, 0x000C, 0x12A8, 0x12B0, 0xCF52, 0x12B0, 0xCF52,
-0x403C, 0x0401, 0x12A8, 0x407C, 0x0098, 0x12AA, 0x12B0, 0xD6EE, 0x12B0,
-0xD6EE, 0x407C, 0x0088, 0x12AA, 0x407C, 0x0024, 0x1292, 0x1356, 0x4307,
-0x4075, 0x0021, 0x12B0, 0xD9EC, 0x903C, 0xFFFE, 0x2409, 0x903C, 0x0F00,
-0x2406, 0x12B0, 0xD9AC, 0x5317, 0x9037, 0x000A, 0x2BF2, 0x9037, 0x000A,
-0x27C4, 0x434C, 0x12A6, 0x12B0, 0xD9CC, 0x434C, 0x12A6, 0x12B0, 0xD9EC,
-0x12B0, 0xCC02, 0x27B9, 0x12B0, 0xCFD6, 0x12B0, 0xD3B2, 0x12B0, 0xCFEE,
-0x430C, 0x12A8, 0x4C81, 0x0004, 0x12B0, 0xD6BE, 0x415F, 0x0004, 0xDF81,
-0x0000, 0x12B0, 0xCFD6, 0x407C, 0x0048, 0x12AA, 0x427C, 0x1292, 0x1356,
-0x12B0, 0xD3B2, 0x412C, 0x12A8, 0x435C, 0x12A6, 0x12B0, 0xD6BE, 0x12B0,
-0xD9EC, 0x4C81, 0x0006, 0x4381, 0x0008, 0x12B0, 0xD484, 0x403C, 0x4030,
-0x12A8, 0x12B0, 0xD9AC, 0x403C, 0x0C04, 0x12A8, 0x9382, 0x1506, 0x2402,
-0x12B0, 0xD9AC, 0x434C, 0x12A6, 0x454C, 0x12AA, 0x9382, 0x1506, 0x2002,
-0x435C, 0x12A6, 0x12B0, 0xCF4A, 0x12B0, 0xD484, 0x403C, 0x4282, 0x12B0,
-0xD71E, 0x435C, 0x12A6, 0x12B0, 0xD48E, 0x403C, 0x00FE, 0x12B0, 0xD71E,
-0x12B0, 0xD9CC, 0x430C, 0x12A8, 0x4C81, 0x000A, 0x12B0, 0xCF4A, 0x423D,
-0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031, 0x000C,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x0010, 0x4381, 0x000A, 0x4381, 0x0004, 0x403B, 0x1112,
-0x410C, 0x503C, 0x000E, 0x12B0, 0xDA22, 0x410C, 0x503C, 0x000C, 0x12B0,
-0xDA22, 0x410C, 0x503C, 0x0006, 0x4B2F, 0x129F, 0x0018, 0x410C, 0x532C,
-0x12B0, 0xDA22, 0x410C, 0x503C, 0x000A, 0x12B0, 0xDA22, 0x410C, 0x12B0,
-0xDA22, 0x410C, 0x522C, 0x12B0, 0xDA22, 0x403B, 0x1360, 0x434C, 0x12AB,
-0x4038, 0x1354, 0x407A, 0x0082, 0x12B0, 0xD934, 0x4039, 0x1358, 0x4A0C,
-0x12A9, 0x4076, 0x00C8, 0x464C, 0x12A8, 0x403C, 0x1401, 0x12B0, 0xD604,
-0x411C, 0x0002, 0x12A9, 0x12B0, 0xD60A, 0x403C, 0x3FFD, 0x12B0, 0xD62E,
-0x4077, 0x0021, 0x12B0, 0xD63A, 0x435C, 0x12AB, 0x464C, 0x12A8, 0x403C,
-0x0501, 0x12B0, 0xD62E, 0x407C, 0x0042, 0x12A8, 0x435C, 0x12AB, 0x12B0,
-0xD864, 0x403C, 0x0500, 0x12A9, 0x407C, 0x00C1, 0x12A8, 0x411C, 0x000E,
-0x430D, 0x1292, 0x135A, 0x435C, 0x12AB, 0x407C, 0x00A1, 0x12A8, 0x411C,
-0x000C, 0x12B0, 0xD862, 0x403C, 0x0501, 0x12A9, 0x435C, 0x12AB, 0x12B0,
-0xD60A, 0xB0B1, 0x0010, 0x0002, 0x2805, 0x50B1, 0xFFFE, 0x0006, 0x63B1,
-0x0008, 0x411C, 0x0006, 0x411D, 0x0008, 0x12B0, 0xD196, 0x4C04, 0xF034,
-0x0F00, 0x5034, 0x0080, 0x4115, 0x0006, 0x407C, 0x0028, 0x12A8, 0x430C,
-0x12B0, 0xDA1C, 0x12B0, 0xD934, 0x440C, 0x12B0, 0xD862, 0x403C, 0x1400,
-0x12B0, 0xD604, 0x450C, 0x12A9, 0x12B0, 0xD60A, 0x403C, 0x4303, 0x12B0,
-0xDA1C, 0x12B0, 0xD63A, 0x9381, 0x0000, 0x240A, 0x12B0, 0xD830, 0x12B0,
-0xD934, 0x412C, 0x12B0, 0xDA1C, 0x474C, 0x12A8, 0x3C08, 0x435C, 0x12AB,
-0x12B0, 0xD830, 0x474C, 0x12A8, 0x434C, 0x12AB, 0x435C, 0x12AB, 0x407C,
-0x0030, 0x12A8, 0x411C, 0x000A, 0x12A9, 0x9382, 0x138E, 0x2413, 0x407C,
-0x00F4, 0x12A8, 0x430C, 0x12A9, 0x4C0B, 0x407C, 0x00F4, 0x12A8, 0xC21B,
-0x138E, 0xD21B, 0x1390, 0x4B0C, 0x12A9, 0x403C, 0x0014, 0x1292, 0x275A,
-0x421F, 0x1382, 0xD21F, 0x1384, 0x930F, 0x241C, 0x407C, 0x0054, 0x12A8,
-0x430C, 0x430D, 0x1292, 0x135C, 0x4C0A, 0x4D0B, 0x407C, 0x0054, 0x12A8,
-0xC21A, 0x1382, 0xC21B, 0x1384, 0xD21A, 0x1386, 0xD21B, 0x1388, 0x4A0C,
-0x4B0D, 0x1292, 0x135C, 0x403C, 0x0014, 0x1292, 0x275A, 0x407C, 0x00A8,
-0x12A8, 0x9381, 0x0004, 0x2402, 0x1292, 0x2756, 0x430C, 0x5031, 0x0010,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x403F,
-0x150C, 0x403D, 0x1504, 0x403A, 0x2839, 0x403B, 0x277E, 0xB2D2, 0x2780,
-0x1100, 0x2419, 0x4A82, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0x4217, 0x2784, 0xCBE7, 0x0000,
-0x4217, 0x2784, 0xDBE7, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x3C1B,
-0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0x4217, 0x2784, 0xCBE7, 0x0000, 0x4217,
-0x2784, 0xDBE7, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x4A82, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232,
-0x4303, 0x4B68, 0xE378, 0x4219, 0x2784, 0xF8C9, 0x0000, 0xDBE9, 0x0000,
-0xD232, 0x4D27, 0xEFE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x4076, 0x0080,
-0xB64C, 0x2408, 0x3C10, 0xB356, 0x2BFB, 0xB64C, 0x2409, 0x4A82, 0x01EA,
-0x3C09, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000,
-0xC232, 0x4303, 0xF8C9, 0x0000, 0x5E4E, 0x4217, 0x2782, 0xB2D7, 0x2781,
-0x0000, 0x2002, 0x4347, 0x3C01, 0x4357, 0xD74E, 0xDBE9, 0x0000, 0xD232,
-0x4D27, 0xEFE7, 0x0000, 0x1106, 0x23D1, 0x93D2, 0x1396, 0x2004, 0x43C2,
-0x1100, 0x43C2, 0x1396, 0xB2D2, 0x2780, 0x1100, 0x241D, 0x4A82, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232,
-0x4303, 0xF8C9, 0x0000, 0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000,
-0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x3C1A,
-0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBE9, 0x0000, 0xD232,
-0x4D27, 0xEFE7, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBE9, 0x0000, 0xD232,
-0x4D2B, 0xEFEB, 0x0000, 0x4E4C, 0x4030, 0xD422, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0010, 0x403A, 0x1354,
-0x407C, 0x0028, 0x12AA, 0x4C4C, 0x4036, 0x135C, 0x403B, 0x1358, 0x903C,
-0x0091, 0x2003, 0x12B0, 0xBCBA, 0x3C0B, 0x903C, 0x0099, 0x2008, 0x12B0,
-0xBCBA, 0x407C, 0x0054, 0x12AA, 0x430C, 0x431D, 0x12A6, 0x12B0, 0xBCC6,
-0x403C, 0x6D8E, 0x430D, 0x12A6, 0x407C, 0x0030, 0x12AA, 0x403C, 0x0005,
-0x12AB, 0x4078, 0x00C8, 0x484C, 0x12AA, 0x403C, 0x1501, 0x12AB, 0x4307,
-0x12B0, 0xBCB0, 0x3C03, 0x430C, 0x12AB, 0x5317, 0xB03C, 0x0200, 0x2C03,
-0x9037, 0x0032, 0x3BF7, 0x9037, 0x0032, 0x34BB, 0x4039, 0x1360, 0x12B0,
-0xBC9C, 0x403C, 0x0C01, 0x12AB, 0x403C, 0x0028, 0x1292, 0x275A, 0x403C,
-0x0401, 0x12B0, 0xBCA6, 0x12B0, 0xBCA8, 0x12B0, 0xBCA8, 0x12B0, 0xBCA8,
-0x12B0, 0xBC9C, 0x403C, 0x0501, 0x12B0, 0xBCA6, 0x407C, 0x0030, 0x12AA,
-0x403C, 0x000E, 0x12AB, 0x12B0, 0xBCB0, 0x4035, 0x1112, 0x410C, 0x532C,
-0x452F, 0x129F, 0x0016, 0x410C, 0x452F, 0x129F, 0x0016, 0x12B0, 0xBC92,
-0x4034, 0x135A, 0x411C, 0x0002, 0x12B0, 0xBCD4, 0x4C81, 0x0006, 0x12B0,
-0xBC8A, 0x415F, 0x0006, 0xDF81, 0x0000, 0x12B0, 0xBCF4, 0x411C, 0x0002,
-0x12B0, 0xBCE6, 0x412C, 0x12B0, 0xBD08, 0x407C, 0x0021, 0x12AA, 0x430C,
-0x430D, 0x12A4, 0x903C, 0xFFFE, 0x200F, 0x930D, 0x200D, 0x12B0, 0xBC92,
-0x403C, 0xFFFE, 0x12B0, 0xBCD4, 0x4C81, 0x0008, 0x12B0, 0xBC8A, 0x4381,
-0x000A, 0x3C07, 0x503C, 0xFFFC, 0x633D, 0x4C81, 0x0008, 0x4D81, 0x000A,
-0x4381, 0x000C, 0x431C, 0x452F, 0x129F, 0x001A, 0x4307, 0x470C, 0x503C,
-0x1102, 0x452F, 0x129F, 0x0014, 0x475F, 0x1102, 0x907F, 0x003C, 0x2C28,
-0x4FD1, 0x12F2, 0x0004, 0x93C1, 0x0004, 0x2422, 0x431C, 0x474E, 0x12B0,
-0xD6CA, 0xBC82, 0x1144, 0x2002, 0x430F, 0x3C01, 0x431F, 0x4F81, 0x000E,
-0x12B0, 0xBCF4, 0x403C, 0x0110, 0x12B0, 0xBCE6, 0x415C, 0x0004, 0x503C,
-0x9600, 0x12B0, 0xBD08, 0x12B0, 0xBCF4, 0x403C, 0x011E, 0x12B0, 0xBCE6,
-0x411C, 0x000E, 0x12B0, 0xBD08, 0x5317, 0x9037, 0x0010, 0x3BC9, 0x12B0,
-0xBCC6, 0x403C, 0x000E, 0x430D, 0x12A6, 0x403C, 0x00B0, 0x430D, 0x12A6,
-0x403C, 0x0045, 0x430D, 0x12A6, 0x423D, 0x410C, 0x503C, 0x0006, 0x452F,
-0x129F, 0x0006, 0x430C, 0x3C01, 0x433C, 0x5031, 0x0010, 0x4030, 0xD41E,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031,
-0x005C, 0x4334, 0x410C, 0x503C, 0x0016, 0x403E, 0x27FB, 0x403D, 0x001F,
-0x12B0, 0xD454, 0x430A, 0x3C08, 0x410C, 0x503C, 0x0036, 0x5A0C, 0x4B2F,
-0x129F, 0x0014, 0x531A, 0x403B, 0x1112, 0x4036, 0x0016, 0x960A, 0x2BF2,
-0x4039, 0x0003, 0x4108, 0x5038, 0x004C, 0xB0F1, 0x0010, 0x003E, 0x2C14,
-0x1208, 0x460F, 0x410E, 0x532E, 0x403D, 0x001F, 0x410C, 0x503C, 0x0018,
-0x4B27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1244, 0x480C, 0x4B2F, 0x129F,
-0x0010, 0x5321, 0x4107, 0x5037, 0x0036, 0x1208, 0x430F, 0x430E, 0x460D,
-0x470C, 0x4B25, 0x1295, 0x000E, 0x490C, 0x1292, 0x1234, 0x480C, 0x4B2F,
-0x129F, 0x0010, 0x407C, 0x0046, 0x1292, 0x1354, 0x430C, 0x430D, 0x430E,
-0x430F, 0x1292, 0x135E, 0x5321, 0x930F, 0x3402, 0x430C, 0x3C98, 0xB0F1,
-0x0010, 0x003E, 0x2C82, 0x407C, 0x0046, 0x1292, 0x1354, 0x430C, 0x430D,
-0x430E, 0x430F, 0x1292, 0x135E, 0x531A, 0xB31E, 0x2C03, 0x903A, 0x01F4,
-0x2BF4, 0x903A, 0x01F4, 0x2C80, 0x1208, 0x430F, 0x431E, 0x460D, 0x470C,
-0x4B27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1230, 0x4C04, 0x480C, 0x4B2F,
-0x129F, 0x0010, 0x40F1, 0x0005, 0x0018, 0x43C1, 0x0019, 0x41D1, 0x0002,
-0x001A, 0x41D1, 0x0003, 0x001B, 0x41D1, 0x0004, 0x001C, 0x41D1, 0x0005,
-0x001D, 0x43E1, 0x001E, 0x41D1, 0x0006, 0x001F, 0x41D1, 0x0007, 0x0020,
-0x41D1, 0x0008, 0x0021, 0x41D1, 0x0009, 0x0022, 0x42E1, 0x0023, 0x41D1,
-0x000A, 0x0024, 0x41D1, 0x000B, 0x0025, 0x41D1, 0x000C, 0x0026, 0x41D1,
-0x000D, 0x0027, 0x40F1, 0x0006, 0x0028, 0x41D1, 0x000E, 0x0029, 0x41D1,
-0x000F, 0x002A, 0x41D1, 0x0010, 0x002B, 0x41D1, 0x0011, 0x002C, 0x40F1,
-0x0080, 0x002D, 0x41D1, 0x0012, 0x002E, 0x41D1, 0x0013, 0x002F, 0x41D1,
-0x0014, 0x0030, 0x41D1, 0x0015, 0x0031, 0x1208, 0x430F, 0x430E, 0x403D,
-0x001F, 0x410C, 0x503C, 0x001A, 0x4B27, 0x1297, 0x000E, 0x490C, 0x1292,
-0x1244, 0x480C, 0x4B2F, 0x129F, 0x0010, 0x5221, 0x3C11, 0x1208, 0x430F,
-0x431E, 0x460D, 0x470C, 0x4B27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1230,
-0x480C, 0x4B2F, 0x129F, 0x0010, 0x4304, 0x5321, 0x440C, 0x5031, 0x005C,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x0012, 0x403B, 0x1112, 0x410C, 0x503C, 0x000A, 0x12B0,
-0xCCD2, 0x2403, 0x403C, 0xFFE8, 0x3CD6, 0x410C, 0x523C, 0x12B0, 0xCCD2,
-0x2403, 0x403C, 0xFFE7, 0x3CCE, 0x410C, 0x503C, 0x000E, 0x4B2F, 0x129F,
-0x0018, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3CC3, 0x410C, 0x503C, 0x0006,
-0x12B0, 0xCCD2, 0x2403, 0x403C, 0xFFE5, 0x3CBA, 0x410C, 0x522C, 0x12B0,
-0xCCD2, 0x2403, 0x403C, 0xFFE4, 0x3CB2, 0x410C, 0x532C, 0x4B2F, 0x129F,
-0x0016, 0x933C, 0x2003, 0x403C, 0xFFE3, 0x3CA8, 0x410C, 0x4B2F, 0x129F,
-0x0016, 0x933C, 0x2002, 0x4381, 0x0000, 0x403A, 0x1354, 0x4074, 0x0088,
-0x444C, 0x12AA, 0x403B, 0x1356, 0x407C, 0x0034, 0x12AB, 0x4078, 0x0082,
-0x484C, 0x12AA, 0x4039, 0x1360, 0x435C, 0x12A9, 0x4036, 0x1358, 0x480C,
-0x12B0, 0xCCBE, 0x411C, 0x0006, 0x12B0, 0xCCBE, 0x403C, 0x3FFD, 0x12B0,
-0xDA0A, 0x407C, 0x0042, 0x12B0, 0xCCDC, 0x484C, 0x12AA, 0x403C, 0x3FFF,
-0x12A6, 0x12B0, 0xD812, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12A9, 0x434C,
-0x12A9, 0x407C, 0x0048, 0x12AA, 0x427C, 0x12AB, 0x407C, 0x00C1, 0x12AA,
-0x411C, 0x000A, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12AA, 0x411C,
-0x0008, 0x12A6, 0x435C, 0x12A9, 0x12B0, 0xD812, 0x403C, 0x2401, 0x12A6,
-0x4077, 0x0021, 0x12B0, 0xCCF2, 0x411C, 0x000E, 0x411D, 0x0010, 0x12B0,
-0xD196, 0x4C05, 0xF035, 0x0F00, 0xD035, 0x0080, 0x4191, 0x000E, 0x000C,
-0x444C, 0x12AA, 0x407C, 0x0034, 0x12AB, 0x484C, 0x12AA, 0x450C, 0x12B0,
-0xDA0A, 0x435C, 0x12A9, 0x411C, 0x000C, 0x12B0, 0xDA0A, 0x474C, 0x12B0,
-0xCCDC, 0x93A2, 0x137C, 0x200F, 0x9382, 0x137E, 0x200C, 0x407C, 0x00B0,
-0x12AA, 0x480C, 0x430D, 0x1292, 0x135C, 0x403C, 0x000F, 0x430D, 0x1292,
-0x135C, 0x407C, 0x0030, 0x12AA, 0x411C, 0x0004, 0x12A6, 0x9381, 0x0002,
-0x2409, 0x484C, 0x12AA, 0x411C, 0x0002, 0x12B0, 0xDA0A, 0x12B0, 0xCCF2,
-0x3C02, 0x474C, 0x12AA, 0x407C, 0x00A8, 0x12AA, 0x9381, 0x0000, 0x2402,
-0x1292, 0x2756, 0x430C, 0x5031, 0x0012, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x421F, 0x01F2, 0x40B2, 0x2839, 0x01EA, 0x40B2, 0x2845, 0x01F2,
-0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x403E, 0x150C, 0x403D, 0x1504,
-0x4D2B, 0xEEEB, 0x0000, 0xC232, 0x4303, 0x425C, 0x277E, 0x4C4A, 0xE37A,
-0x421B, 0x2784, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D2B, 0xEEEB,
-0x0000, 0x4F82, 0x01F2, 0x430C, 0x4030, 0xD428, 0x120A, 0x120B, 0x1208,
-0x40B2, 0x2839, 0x01EA, 0x407E, 0x0006, 0x403F, 0x150C, 0x403D, 0x1504,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2B, 0xEFEB, 0x0000, 0xC232,
-0x4303, 0x425C, 0x277E, 0x4C4A, 0xE37A, 0x421B, 0x2784, 0xFACB, 0x0000,
-0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEFE8, 0x0000, 0x537E, 0x23E6, 0x40B2,
-0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2E, 0xEFEE,
-0x0000, 0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D2B,
-0xEFEB, 0x0000, 0x3FC1, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x005C, 0x4337, 0x410C, 0x503C, 0x0016, 0x403E,
-0x281A, 0x403D, 0x001F, 0x12B0, 0xD454, 0x4304, 0x403A, 0x0016, 0x403B,
-0x1112, 0x4108, 0x5038, 0x0036, 0x480C, 0x540C, 0x4B2F, 0x129F, 0x0014,
-0x5314, 0x9A04, 0x2BF8, 0x4039, 0x0003, 0x4106, 0x5036, 0x004C, 0xB0F1,
-0x0010, 0x003E, 0x2C0F, 0x1206, 0x4A0F, 0x410E, 0x532E, 0x403D, 0x001F,
-0x410C, 0x503C, 0x0018, 0x4B25, 0x1295, 0x000E, 0x12B0, 0xD55C, 0x5321,
-0x1206, 0x430F, 0x430E, 0x4A0D, 0x480C, 0x4B25, 0x1295, 0x000E, 0x490C,
-0x1292, 0x1234, 0x12B0, 0xD562, 0x5321, 0xB0F1, 0x0010, 0x003E, 0x2C73,
-0x407C, 0x00D0, 0x1292, 0x1354, 0x430C, 0x1292, 0x1358, 0x5314, 0x934C,
-0x3803, 0x9034, 0x01F4, 0x2BF7, 0x9034, 0x01F4, 0x2C81, 0x1206, 0x12B0,
-0xD56A, 0x490C, 0x1292, 0x1230, 0x4C07, 0x12B0, 0xD562, 0x40F1, 0x0005,
-0x0018, 0x43C1, 0x0019, 0x41D1, 0x0002, 0x001A, 0x41D1, 0x0003, 0x001B,
-0x41D1, 0x0004, 0x001C, 0x41D1, 0x0005, 0x001D, 0x43E1, 0x001E, 0x41D1,
-0x0006, 0x001F, 0x41D1, 0x0007, 0x0020, 0x41D1, 0x0008, 0x0021, 0x41D1,
-0x0009, 0x0022, 0x42E1, 0x0023, 0x41D1, 0x000A, 0x0024, 0x41D1, 0x000B,
-0x0025, 0x41D1, 0x000C, 0x0026, 0x41D1, 0x000D, 0x0027, 0x40F1, 0x0006,
-0x0028, 0x41D1, 0x000E, 0x0029, 0x41D1, 0x000F, 0x002A, 0x41D1, 0x0010,
-0x002B, 0x41D1, 0x0011, 0x002C, 0x40F1, 0x0080, 0x002D, 0x41D1, 0x0012,
-0x002E, 0x41D1, 0x0013, 0x002F, 0x41D1, 0x0014, 0x0030, 0x41D1, 0x0015,
-0x0031, 0x1206, 0x430F, 0x430E, 0x403D, 0x001F, 0x410C, 0x503C, 0x001A,
-0x4B2A, 0x129A, 0x000E, 0x12B0, 0xD55C, 0x5221, 0x3C1E, 0x407C, 0x0028,
-0x1292, 0x1354, 0x4C4C, 0x903C, 0x0089, 0x240C, 0x903C, 0x008D, 0x2409,
-0x903C, 0x0091, 0x2406, 0x903C, 0x0095, 0x2403, 0x903C, 0x0099, 0x2009,
-0x1206, 0x12B0, 0xD56A, 0x490C, 0x1292, 0x1230, 0x12B0, 0xD562, 0x5321,
-0x4307, 0x470C, 0x5031, 0x005C, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x4C4A, 0x403B, 0x150C, 0x4038, 0x1504, 0x4039, 0x0190,
-0xB0F2, 0x0040, 0x1100, 0xD0F2, 0x0040, 0x0029, 0x4216, 0x2758, 0x490C,
-0x280F, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x3C0E, 0x1286, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0xC0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xCBEF, 0x0000, 0xD0F2, 0x0040, 0x0029, 0x4216, 0x2758,
-0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xC0F2, 0x0040,
-0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xC0F2,
-0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C,
-0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000,
-0x4A4E, 0x430F, 0x423C, 0x12B0, 0x61B6, 0x4030, 0xD424, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0xB2D2, 0x2780, 0x1100, 0x2404, 0x40B2, 0x2839,
-0x01EA, 0x3C03, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x403F, 0x150C, 0x403D, 0x1504, 0x4D2B, 0xEFEB, 0x0000, 0xC232,
-0x4303, 0x425A, 0x277E, 0x4A4B, 0xE37B, 0x4218, 0x2784, 0xFBC8, 0x0000,
-0xDAC8, 0x0000, 0xD232, 0x4D2E, 0xEFEE, 0x0000, 0x40B2, 0x2845, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2E, 0xEFEE, 0x0000, 0xC232,
-0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D2E, 0xEFEE, 0x0000,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2E, 0xEFEE, 0x0000, 0xC232,
-0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D2E, 0xEFEE, 0x0000,
-0x4079, 0x0080, 0xB94C, 0x2409, 0x3C11, 0xB359, 0x2BFB, 0xB94C, 0x240A,
-0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0,
-0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4D26, 0xEFE6, 0x0000, 0xC232, 0x4303, 0xFBC8, 0x0000, 0x5E4E, 0x4216,
-0x2782, 0xB2D6, 0x2781, 0x0000, 0x2002, 0x4346, 0x3C01, 0x4356, 0xD64E,
-0xDAC8, 0x0000, 0xD232, 0x4D26, 0xEFE6, 0x0000, 0x1109, 0x23D0, 0x93D2,
-0x1396, 0x2004, 0x43C2, 0x1100, 0x43C2, 0x1396, 0xB2D2, 0x2780, 0x1100,
-0x241E, 0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000,
-0xD232, 0x4D29, 0xEFE9, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8,
-0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D29, 0xEFE9, 0x0000, 0xD0B2, 0x0010,
-0x01F0, 0xD392, 0x01F0, 0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8,
-0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D2B, 0xEFEB, 0x0000, 0x4E4C, 0x4030,
-0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031,
-0x000A, 0x4381, 0x0000, 0x430B, 0x430A, 0x4309, 0x4338, 0x4381, 0x0002,
-0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0008, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFC1, 0x3CB5, 0x430B, 0x3C01,
-0x531B, 0x912B, 0x2C0E, 0x410C, 0x532C, 0x4B0F, 0x5F0F, 0x5F0C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x930C, 0x37F2, 0x403C, 0xFFC0, 0x3CA2, 0x430C,
-0x1292, 0x274E, 0x434C, 0x1292, 0x276C, 0x434C, 0x1292, 0x2754, 0x1292,
-0x134E, 0x434C, 0x1292, 0x276C, 0x1292, 0x1350, 0x430A, 0x430B, 0x4308,
-0x4116, 0x0002, 0x4117, 0x0004, 0x4039, 0x0011, 0x407C, 0x0086, 0x1292,
-0x1354, 0x430C, 0x1292, 0x1358, 0x4C09, 0x531A, 0x630B, 0x930B, 0x2806,
-0x2003, 0x903A, 0x0BB8, 0x2802, 0x4318, 0x3C08, 0xB329, 0x2C06, 0x930B,
-0x2BEE, 0x2003, 0x903A, 0x0BB8, 0x2BEA, 0x930B, 0x2804, 0x2011, 0x903A,
-0x0BB8, 0x2C0E, 0x4039, 0x0011, 0x490C, 0x1292, 0x1358, 0x4C09, 0x460C,
-0x1292, 0x1358, 0x4C09, 0x470C, 0x1292, 0x1358, 0x4C09, 0x9318, 0x2003,
-0x403C, 0xFFCE, 0x3C56, 0x90B1, 0x0003, 0x0000, 0x2843, 0x435C, 0x1292,
-0x276C, 0x403C, 0x00C8, 0x1292, 0x275A, 0x430A, 0x430B, 0x4308, 0x4116,
-0x0006, 0x4114, 0x0008, 0x4037, 0x0011, 0x407C, 0x0086, 0x1292, 0x1354,
-0x430C, 0x1292, 0x1358, 0x4C09, 0x531A, 0x630B, 0x930B, 0x2806, 0x2003,
-0x903A, 0x0BB8, 0x2802, 0x4318, 0x3C08, 0xB329, 0x2C06, 0x930B, 0x2BEE,
-0x2003, 0x903A, 0x0BB8, 0x2BEA, 0x930B, 0x2804, 0x2011, 0x903A, 0x0BB8,
-0x2C0E, 0x4037, 0x0011, 0x470C, 0x1292, 0x1358, 0x4C09, 0x460C, 0x1292,
-0x1358, 0x4C09, 0x440C, 0x1292, 0x1358, 0x4C09, 0x9318, 0x2003, 0x403C,
-0xFFCE, 0x3C0F, 0x407C, 0x0028, 0x1292, 0x1354, 0x4C4A, 0x903A, 0x0095,
-0x2403, 0x403C, 0xFFCE, 0x3C04, 0x435C, 0x1292, 0x276C, 0x430C, 0x5031,
-0x000A, 0x4030, 0xD420, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x003A, 0x4306, 0x4304, 0x430A, 0x403B, 0x1112,
-0x4107, 0x5037, 0x0014, 0x470C, 0x5A0C, 0x4B2F, 0x129F, 0x0014, 0x531A,
-0x903A, 0x0016, 0x2BF7, 0x4038, 0x1354, 0xB0F1, 0x0010, 0x001C, 0x2807,
-0x4226, 0x407C, 0x0028, 0x12A8, 0xB26C, 0x2C01, 0x4314, 0x407C, 0x00B0,
-0x12A8, 0x4039, 0x135C, 0x403C, 0x0003, 0x12B0, 0xD7CC, 0x4C81, 0x0010,
-0x4D81, 0x0012, 0x403C, 0x0005, 0x12B0, 0xD7CC, 0x4C81, 0x000C, 0x4D81,
-0x000E, 0x403C, 0x0007, 0x12B0, 0xD7CC, 0x4C81, 0x0008, 0x4D81, 0x000A,
-0x403C, 0x0081, 0x12B0, 0xD7CC, 0x4C81, 0x0004, 0x4D81, 0x0006, 0x431C,
-0x12B0, 0xD7CC, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x12B0, 0xD652, 0x460C,
-0x430D, 0x12A9, 0x422C, 0x430D, 0x12A9, 0x433C, 0x433D, 0x12A9, 0x403C,
-0x0006, 0x12B0, 0xD7EA, 0x403C, 0x0080, 0x12B0, 0xD7EA, 0x4106, 0x5036,
-0x002A, 0x1206, 0x430F, 0x430E, 0x403D, 0x0016, 0x470C, 0x4B25, 0x1295,
-0x000E, 0x403C, 0x0003, 0x1292, 0x11E8, 0x12B0, 0xD858, 0x5321, 0x9305,
-0x2409, 0x450C, 0x3C56, 0x4304, 0x407C, 0x0021, 0x12A8, 0x407C, 0x00A8,
-0x12A8, 0x407C, 0x00D0, 0x12A8, 0x430C, 0x1292, 0x1358, 0x531A, 0x934C,
-0x3803, 0x903A, 0x0064, 0x2BF7, 0x903A, 0x0064, 0x2803, 0x403C, 0xFFCC,
-0x3C3D, 0x9304, 0x23E5, 0x12B0, 0xD652, 0x411C, 0x0010, 0x411D, 0x0012,
-0x12A9, 0x422C, 0x430D, 0x12A9, 0x411C, 0x000C, 0x411D, 0x000E, 0x12A9,
-0x403C, 0x0006, 0x430D, 0x12A9, 0x411C, 0x0008, 0x411D, 0x000A, 0x12A9,
-0x403C, 0x0080, 0x430D, 0x12A9, 0x411C, 0x0004, 0x411D, 0x0006, 0x12A9,
-0x430C, 0x430D, 0x12A9, 0x412C, 0x411D, 0x0002, 0x12A9, 0x1206, 0x430F,
-0x431E, 0x403D, 0x0016, 0x470C, 0x4B27, 0x1297, 0x000E, 0x403C, 0x0003,
-0x1292, 0x11E4, 0x12B0, 0xD858, 0x5321, 0x9305, 0x23A9, 0x430C, 0x5031,
-0x003A, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0xB2D2,
-0x2780, 0x1100, 0x2404, 0x40B2, 0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x403D, 0x150C, 0x403A,
-0x1504, 0x4A2F, 0xEDEF, 0x0000, 0xC232, 0x4303, 0x425B, 0x277E, 0x4B48,
-0xE378, 0x4219, 0x2784, 0xF8C9, 0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2F,
-0xEDEF, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4A2F, 0xEDEF, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9,
-0x0000, 0xD232, 0x4A2F, 0xEDEF, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4A2F, 0xEDEF, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9,
-0x0000, 0xD232, 0x4A2F, 0xEDEF, 0x0000, 0x4036, 0x8000, 0xB60C, 0x2409,
-0x3C11, 0xB316, 0x2BFB, 0xB60C, 0x240A, 0x40B2, 0x2839, 0x01EA, 0x3C09,
-0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4A2E, 0xEDEE, 0x0000, 0xC232,
-0x4303, 0xF8C9, 0x0000, 0x5F0F, 0x421E, 0x2782, 0xB2DE, 0x2781, 0x0000,
-0x2002, 0x434E, 0x3C01, 0x435E, 0xDE0F, 0xDBC9, 0x0000, 0xD232, 0x4A2E,
-0xEDEE, 0x0000, 0xC312, 0x1006, 0x9306, 0x23CE, 0xB2D2, 0x2780, 0x1100,
-0x241E, 0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4A2E, 0xEDEE, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9, 0x0000,
-0xD232, 0x4A2E, 0xEDEE, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4A2E, 0xEDEE, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2E, 0xEDEE, 0x0000, 0xD0B2, 0x0010,
-0x01F0, 0xD392, 0x01F0, 0x4A2E, 0xEDEE, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2B, 0xEDEB, 0x0000, 0x4F0C, 0x4030,
-0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x4C0A, 0x430B,
-0xB31C, 0x287C, 0x4037, 0x14CA, 0x470C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x930C, 0x2403, 0x403C, 0xFFFB, 0x3CB6, 0x403C, 0x14C6, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA, 0x3CAB, 0x472E, 0x471F,
-0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0x503E, 0x0080,
-0x4E82, 0x14D2, 0x47A2, 0x14CA, 0x4382, 0x14CC, 0x4038, 0x1354, 0x407C,
-0x0028, 0x12A8, 0x4039, 0x1358, 0x430C, 0x12A9, 0x4036, 0x1360, 0x434C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x435C, 0x12A6, 0x421C, 0x14D2, 0x12A9,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x1400, 0x12A9, 0x407C,
-0x0082, 0x12A8, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x472C, 0x12A9, 0x434C,
-0x12A6, 0x435C, 0x12A6, 0x403C, 0x4303, 0x12A9, 0x434C, 0x12A6, 0x407C,
-0x0021, 0x12A8, 0x430C, 0x430D, 0x1292, 0x135A, 0x407C, 0x00C8, 0x12A8,
-0x403C, 0x0500, 0x12A9, 0x435C, 0x12A6, 0x407C, 0x00C2, 0x12A8, 0x3C12,
-0x403C, 0x14CE, 0x421F, 0x1112, 0x129F, 0x0016, 0x4C0B, 0x421C, 0x14CE,
-0x1292, 0x1358, 0x434C, 0x1292, 0x1360, 0x53B2, 0x14C6, 0x63B2, 0x14C8,
-0x421F, 0x14C6, 0xD21F, 0x14C8, 0x930F, 0x2414, 0x930B, 0x2012, 0x435C,
-0x1292, 0x1360, 0xB392, 0x14C6, 0x2BE0, 0x403C, 0x14D0, 0x421F, 0x1112,
-0x129F, 0x0016, 0x4C0B, 0x421C, 0x14D0, 0x1292, 0x1358, 0x3FDF, 0xB32A,
-0x2812, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x0501, 0x1292, 0x1358,
-0x421C, 0x14D4, 0x421F, 0x1112, 0x129F, 0x0008, 0x435C, 0x1292, 0x1360,
-0x3C17, 0x931B, 0x2008, 0x407C, 0x0091, 0x421F, 0x1112, 0x129F, 0x0012,
-0x430B, 0x3C0D, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x0501, 0x1292,
-0x1358, 0x403B, 0xFFF6, 0x435C, 0x1292, 0x1360, 0x4B0C, 0x4030, 0xD422,
-0x407C, 0x00C1, 0x4820, 0x12B0, 0x80A8, 0x933C, 0x4130, 0x421F, 0x1112,
-0x4F10, 0x0016, 0x12B0, 0x80A8, 0x930C, 0x4130, 0x12B0, 0x8184, 0x12B0,
-0x813E, 0x430C, 0x4B20, 0x431C, 0x1292, 0x275A, 0x444C, 0x12A8, 0x430C,
-0x12AB, 0x53B1, 0x0002, 0x421F, 0x13AA, 0x4130, 0x434C, 0x12AA, 0x435C,
-0x4A20, 0x434C, 0x12AA, 0x444C, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C,
-0x12AA, 0x4130, 0x12B0, 0xD36E, 0x494C, 0x4820, 0x12B0, 0x80F8, 0x403C,
-0x00FE, 0x12B0, 0xD36E, 0x12B0, 0x80DC, 0x430C, 0x4B20, 0x12B0, 0x80F8,
-0x12B0, 0xD36A, 0x12B0, 0x8126, 0x470C, 0x4030, 0x814E, 0x434C, 0x4030,
-0x8200, 0x12B0, 0x811C, 0x12B0, 0xD84E, 0x12B0, 0x8126, 0x403C, 0x2409,
-0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12B0, 0x814E, 0x4030, 0x8174,
-0x12AB, 0x435C, 0x4A20, 0x12B0, 0x817A, 0x421C, 0x13A6, 0x4130, 0x12B0,
-0xD2E8, 0x4B20, 0x12B0, 0x817A, 0x421C, 0x13C2, 0xD03C, 0x0040, 0x12B0,
-0x814E, 0x12B0, 0x81EE, 0x4A20, 0x12B0, 0x8206, 0x12A8, 0x403C, 0x012C,
-0x12AB, 0x407C, 0x00A1, 0x4820, 0x403C, 0x0003, 0x1292, 0x1190, 0x410C,
-0x503C, 0x0026, 0x421F, 0x1112, 0x129F, 0x0010, 0x403C, 0x13B0, 0x12B0,
-0xB49C, 0x12B0, 0x8206, 0x12A8, 0x403C, 0x0128, 0x12B0, 0x8184, 0x421C,
-0x13BE, 0x12B0, 0x8214, 0x403C, 0x012A, 0x12B0, 0x8184, 0x421C, 0x13C0,
-0x12B0, 0x8214, 0x403C, 0x012C, 0x12B0, 0x8184, 0x421C, 0x13C2, 0x12AB,
-0x435C, 0x12AA, 0x12B0, 0xD2E8, 0x12AB, 0x4C81, 0x0004, 0x3FC3, 0x12B0,
-0x81FE, 0x470C, 0x12AB, 0x444C, 0x12A8, 0x435C, 0x4130, 0x434C, 0x12AA,
-0x464C, 0x4820, 0x12B0, 0xD146, 0x12B0, 0xD646, 0x407C, 0x00C1, 0x4130,
-0x12B0, 0x814E, 0x12B0, 0xD140, 0x12B0, 0xD646, 0x3F3C, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0030, 0x4304,
-0x430A, 0x430B, 0x4038, 0x1112, 0x4109, 0x5039, 0x000A, 0x490C, 0x5B0C,
-0x482F, 0x129F, 0x0014, 0x531B, 0x903B, 0x0016, 0x2BF7, 0x4036, 0x1354,
-0xB0F1, 0x0010, 0x0012, 0x2807, 0x4224, 0x407C, 0x0028, 0x12A6, 0xB26C,
-0x2C01, 0x431A, 0x407C, 0x0090, 0x12A6, 0x4037, 0x1358, 0x403C, 0x0003,
-0x12B0, 0xDA16, 0x4C81, 0x0008, 0x403C, 0x0005, 0x12B0, 0xDA16, 0x4C81,
-0x0006, 0x403C, 0x0007, 0x12B0, 0xDA16, 0x4C81, 0x0004, 0x403C, 0x0081,
-0x12B0, 0xDA16, 0x4C81, 0x0002, 0x431C, 0x12B0, 0xDA16, 0x4C81, 0x0000,
-0x12B0, 0xD880, 0x440C, 0x12A7, 0x422C, 0x12A7, 0x433C, 0x12A7, 0x403C,
-0x0006, 0x12A7, 0x431C, 0x12A7, 0x403C, 0x0080, 0x12A7, 0x431C, 0x12A7,
-0x4104, 0x5034, 0x0020, 0x1204, 0x430F, 0x430E, 0x403D, 0x0016, 0x490C,
-0x4825, 0x1295, 0x000E, 0x403C, 0x0003, 0x1292, 0x1194, 0x12B0, 0xD88A,
-0x5321, 0x9305, 0x2409, 0x450C, 0x3C46, 0x430A, 0x407C, 0x0021, 0x12A6,
-0x407C, 0x00A8, 0x12A6, 0x407C, 0x00D0, 0x12A6, 0x430C, 0x12A7, 0x531B,
-0x934C, 0x3803, 0x903B, 0x0032, 0x2BF8, 0x903B, 0x0032, 0x2803, 0x403C,
-0xFFCC, 0x3C2E, 0x930A, 0x23E6, 0x12B0, 0xD880, 0x411C, 0x0008, 0x12A7,
-0x422C, 0x12A7, 0x411C, 0x0006, 0x12A7, 0x403C, 0x0006, 0x12A7, 0x411C,
-0x0004, 0x12A7, 0x403C, 0x0080, 0x12A7, 0x411C, 0x0002, 0x12B0, 0xDA16,
-0x412C, 0x12A7, 0x1204, 0x430F, 0x431E, 0x403D, 0x0016, 0x490C, 0x482B,
-0x129B, 0x000E, 0x403C, 0x0003, 0x1292, 0x1190, 0x12B0, 0xD88A, 0x5321,
-0x9305, 0x23B9, 0x430C, 0x5031, 0x0030, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x4C08, 0x4E0A, 0x4F0B, 0x4039,
-0x150C, 0x4036, 0x1504, 0x4037, 0x0190, 0xB0F2, 0x0040, 0x1100, 0xD0F2,
-0x0040, 0x0029, 0x4214, 0x2758, 0x470C, 0x280F, 0x1284, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2,
-0x0040, 0x0029, 0x3C0E, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xC0F2, 0x0040, 0x0029, 0x470C,
-0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000,
-0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC9EF, 0x0000,
-0xC0F2, 0x0040, 0x0029, 0x4214, 0x2758, 0x470C, 0x1284, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2,
-0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC9EF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284,
-0xD0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000,
-0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC9EF, 0x0000, 0x4A0E, 0x4B0F, 0x480C, 0x12B0, 0x61B6,
-0x4030, 0xD420, 0x120D, 0x120C, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002,
-0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2867, 0x01EA,
-0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA, 0x40B2, 0x286D,
-0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8,
-0xB27D, 0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0x4EC1, 0x0002, 0xB26D,
-0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0x51D1, 0x0002, 0x0002, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xDEC1,
-0x0002, 0xB36D, 0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2, 0x0031, 0xC2F2,
-0x0031, 0xD2F2, 0x0031, 0x51D1, 0x0002, 0x0002, 0xB2E2, 0x0030, 0x7E4E,
-0x535E, 0xDEC1, 0x0002, 0xB35D, 0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2,
-0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0x51D1, 0x0002, 0x0002, 0xB2E2,
-0x0030, 0x7E4E, 0x535E, 0xDEC1, 0x0002, 0xD0F2, 0x000E, 0x0033, 0xD0F2,
-0x0010, 0x0078, 0x41D2, 0x0005, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x42D1,
-0x007E, 0x0001, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079,
-0x2BFD, 0x425E, 0x007E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033,
-0xB31C, 0x2804, 0xD0F2, 0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2,
-0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E,
-0xDEC1, 0x0000, 0xD392, 0x01F0, 0x412F, 0x4F0C, 0x411D, 0x0002, 0xC312,
-0x100D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D,
-0xF03D, 0x000F, 0x5231, 0x4130, 0x120A, 0x120B, 0x1208, 0x4C4A, 0x9392,
-0x14FE, 0x2006, 0x421F, 0x2784, 0xC2DF, 0x277E, 0x0000, 0x3C04, 0x421F,
-0x1504, 0xD3DF, 0x0000, 0x403B, 0xD1BA, 0x4038, 0x0005, 0x480C, 0x128B,
-0x431C, 0x128B, 0x934A, 0x2402, 0x935A, 0x201A, 0x9392, 0x14FE, 0x2006,
-0x421F, 0x2784, 0xC2DF, 0x2780, 0x0000, 0x3C06, 0xC0F2, 0x0020, 0x0029,
-0xC0F2, 0x0040, 0x0029, 0x480C, 0x128B, 0x9392, 0x14FE, 0x2016, 0x421F,
-0x2784, 0xD2DF, 0x277E, 0x0000, 0x3C14, 0x9392, 0x14FE, 0x2006, 0x421F,
-0x2784, 0xD2DF, 0x2780, 0x0000, 0x3FEC, 0xC0F2, 0x0020, 0x0029, 0xD0F2,
-0x0040, 0x0029, 0x3FE5, 0x421F, 0x1504, 0xC3DF, 0x0000, 0x480C, 0x128B,
-0x403C, 0x0064, 0x128B, 0x935A, 0x2403, 0x907A, 0x0003, 0x2021, 0x9392,
-0x14FE, 0x2006, 0x421F, 0x2784, 0xC2DF, 0x2780, 0x0000, 0x3C06, 0xC0F2,
-0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029, 0x480C, 0x128B, 0x403C, 0x0028,
-0x12B0, 0xD1EA, 0x934A, 0x2402, 0x936A, 0x2018, 0xC232, 0x4303, 0x421F,
-0x2784, 0xC2DF, 0x277E, 0x0000, 0x3C14, 0x9392, 0x14FE, 0x2006, 0x421F,
-0x2784, 0xD2DF, 0x2780, 0x0000, 0x3FE5, 0xC0F2, 0x0020, 0x0029, 0xD0F2,
-0x0040, 0x0029, 0x3FDE, 0x421F, 0x1504, 0xD3DF, 0x0000, 0x935A, 0x2006,
-0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x431C, 0x12B0, 0xD1EA,
-0x934A, 0x2402, 0x936A, 0x2007, 0x421F, 0x2784, 0xD2DF, 0x277E, 0x0000,
-0xD232, 0x3C04, 0x421F, 0x1504, 0xC3DF, 0x0000, 0x403C, 0x0028, 0x12B0,
-0xD1EA, 0x907A, 0x0003, 0x2006, 0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040,
-0x0029, 0x480C, 0x128B, 0x4030, 0xD428, 0xE03F, 0x8000, 0x1206, 0x4D06,
-0x5606, 0x9036, 0xFF01, 0x2C9E, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0E,
-0x4D06, 0x5606, 0x9036, 0xFF00, 0x200B, 0x4F06, 0x5606, 0x9036, 0xFF00,
-0x208F, 0x4D06, 0xEF06, 0x5606, 0x288B, 0x433D, 0x3C89, 0x4F06, 0x5606,
-0x9036, 0xFF00, 0x2407, 0xB03F, 0x7FFF, 0x2007, 0x4D06, 0x5606, 0x207E,
-0x287D, 0x4E0C, 0x4F0D, 0x3C7A, 0xB03D, 0x7FFF, 0x27FA, 0x1209, 0x1208,
-0x1207, 0x4D06, 0x4F07, 0x5606, 0x5707, 0x9607, 0x2809, 0x2002, 0x9C0E,
-0x2806, 0xED0F, 0xEF0D, 0xED0F, 0xEC0E, 0xEE0C, 0xEC0E, 0x4F06, 0x5606,
-0x6909, 0x1086, 0xD07F, 0x0080, 0x4D08, 0x5808, 0x6909, 0x1088, 0xF378,
-0xD07D, 0x0080, 0x4307, 0x8846, 0x2415, 0x9076, 0xFFF1, 0x2C0D, 0x9076,
-0xFFE8, 0x283D, 0x4E07, 0x4F0E, 0x430F, 0x5076, 0x0010, 0x2409, 0x9347,
-0x2402, 0xD037, 0x0100, 0x110F, 0x100E, 0x1007, 0x5356, 0x23FB, 0x4906,
-0x1106, 0xE906, 0xB316, 0x2426, 0xE337, 0x5317, 0x7E0C, 0x7F4D, 0x2010,
-0x930C, 0x2007, 0x9307, 0x242F, 0x1087, 0x474D, 0x8038, 0x0018, 0x3C06,
-0x108C, 0x4C4D, 0xED0C, 0x1087, 0xD70C, 0x8238, 0x4307, 0x5707, 0x6C0C,
-0x6D4D, 0x2C09, 0x8318, 0x5707, 0x6C0C, 0x6D4D, 0x2C04, 0x8318, 0x5C0C,
-0x6D4D, 0x2BFC, 0x9318, 0x3408, 0x430D, 0x3C1C, 0x5E0C, 0x6F4D, 0x2C14,
-0x5707, 0x6C0C, 0x6D4D, 0x1088, 0xD80D, 0x1009, 0x100D, 0x100C, 0x2806,
-0x9307, 0x2002, 0xB31C, 0x2402, 0x531C, 0x630D, 0x4137, 0x4138, 0x4139,
-0x4136, 0x4130, 0x5358, 0x9378, 0x23EC, 0x403D, 0xFF00, 0x430C, 0x1009,
-0x100D, 0x3FF2, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x002E, 0x410C, 0x503C, 0x0018, 0x403E, 0x27E6, 0x403D,
-0x0015, 0x12B0, 0xD454, 0x403A, 0x1112, 0x410C, 0x4A2F, 0x129F, 0x0018,
-0x410C, 0x522C, 0x4A2F, 0x129F, 0x0018, 0x430F, 0x410B, 0x503B, 0x0018,
-0x4B07, 0x5F07, 0x4FD7, 0x1102, 0x0005, 0x531F, 0x903F, 0x0010, 0x3BF7,
-0x4107, 0x5237, 0x1207, 0x430F, 0x430E, 0x403D, 0x0015, 0x4B0C, 0x4A28,
-0x1298, 0x000E, 0x12B0, 0xD4F4, 0x411C, 0x0002, 0x411D, 0x0004, 0x12B0,
-0xD196, 0x4C04, 0xF034, 0x0F00, 0x5034, 0x0080, 0x4115, 0x0002, 0x4038,
-0x1354, 0x407C, 0x0028, 0x12A8, 0x4039, 0x1358, 0x430C, 0x12A9, 0x4036,
-0x1360, 0x434C, 0x12A6, 0x12B0, 0xD8DE, 0x435C, 0x12A6, 0x440C, 0x12A9,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x1400, 0x12B0, 0xD8DC,
-0x434C, 0x12A6, 0x435C, 0x12A6, 0x450C, 0x12A9, 0x434C, 0x12A6, 0x435C,
-0x12A6, 0x403C, 0x4303, 0x12A9, 0x434C, 0x12A6, 0x407C, 0x0021, 0x12A8,
-0x430C, 0x430D, 0x1292, 0x135A, 0x435C, 0x12A6, 0x407C, 0x00C8, 0x12A8,
-0x403C, 0x0501, 0x12B0, 0xD8DC, 0x411C, 0x0002, 0x832C, 0x12A9, 0x407C,
-0x0022, 0x12A8, 0x411C, 0x0006, 0x411D, 0x0008, 0x1292, 0x1364, 0x407C,
-0x0062, 0x12A8, 0x430C, 0x12A9, 0x4A2F, 0x129F, 0x0008, 0x430F, 0x5321,
-0x4B0E, 0x5F0E, 0x4FDE, 0x1102, 0x0005, 0x531F, 0x903F, 0x0010, 0x3BF7,
-0x1207, 0x430F, 0x430E, 0x403D, 0x0015, 0x4B0C, 0x4A2B, 0x129B, 0x000E,
-0x12B0, 0xD4F4, 0x430C, 0x5031, 0x0030, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C4A, 0x425B, 0x2780,
-0x4218, 0x2784, 0x4259, 0x277E, 0x494E, 0x525E, 0x277F, 0x5B4E, 0xDEC8,
-0x0000, 0x4036, 0x1504, 0xB2B2, 0x136C, 0x462F, 0x2804, 0xC2DF, 0x150C,
-0x0000, 0x3C03, 0xD2DF, 0x150C, 0x0000, 0xD0F2, 0x0040, 0x0029, 0xC0F2,
-0x0020, 0x0029, 0x4037, 0xD1BA, 0x403C, 0x000A, 0x1287, 0x9392, 0x14FE,
-0x2003, 0xC9C8, 0x0000, 0x3C03, 0x462F, 0xD3DF, 0x0000, 0x4034, 0x0005,
-0x440C, 0x1287, 0x431C, 0x1287, 0x934A, 0x2402, 0x935A, 0x2004, 0xC0F2,
-0x0040, 0x0029, 0x3C0E, 0x9392, 0x14FE, 0x2003, 0xDBC8, 0x0000, 0x3C06,
-0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x440C, 0x1287, 0x4035,
-0xD1EA, 0x403C, 0x000A, 0x1285, 0x9392, 0x14FE, 0x2003, 0xD9C8, 0x0000,
-0x3C03, 0x462F, 0xC3DF, 0x0000, 0x440C, 0x1287, 0x403C, 0x0019, 0x1287,
-0x935A, 0x2403, 0x907A, 0x0003, 0x2031, 0x9392, 0x14FE, 0x2003, 0xCBC8,
-0x0000, 0x3C06, 0xC0F2, 0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029, 0x440C,
-0x1287, 0x403C, 0x0028, 0x1285, 0x462F, 0xD3DF, 0x0000, 0x935A, 0x2006,
-0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x431C, 0x1285, 0x462F,
-0xC3DF, 0x0000, 0x403C, 0x0028, 0x1285, 0x907A, 0x0003, 0x2006, 0xC0F2,
-0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x440C, 0x1287, 0x4030, 0xD41E,
-0x9392, 0x14FE, 0x2003, 0xDBC8, 0x0000, 0x3FD5, 0xC0F2, 0x0020, 0x0029,
-0xD0F2, 0x0040, 0x0029, 0x3FCE, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x1204, 0x1205, 0x4327, 0x407C, 0x0028, 0x1292, 0x1354, 0x4C4C,
-0x903C, 0x0089, 0x240B, 0x903C, 0x0091, 0x2408, 0x903C, 0x0095, 0x2405,
-0x903C, 0x0099, 0x2402, 0x432C, 0x3C30, 0x407C, 0x00B0, 0x1292, 0x1354,
-0x403B, 0x135C, 0x403C, 0x009F, 0x12B0, 0xD6E4, 0x4C0A, 0xB03C, 0x0100,
-0x2821, 0x4034, 0x009D, 0x4038, 0x1112, 0x4C4E, 0xF07E, 0x0006, 0x926E,
-0x201B, 0x423C, 0x12B0, 0xD1D2, 0x403C, 0x009E, 0x430D, 0x12AB, 0x12B0,
-0xD74A, 0x4307, 0x403C, 0x009A, 0x430D, 0x12AB, 0x470C, 0x5C0C, 0x5C0C,
-0x430D, 0x12B0, 0xD1D8, 0x5317, 0x9237, 0x2BF3, 0x4317, 0x470C, 0x4030,
-0xD41E, 0x4309, 0x403C, 0x009B, 0x12B0, 0xD6E4, 0x12B0, 0xD18A, 0x4C06,
-0x421F, 0x14C0, 0xB23A, 0x2813, 0xB03A, 0x0200, 0x280B, 0x403C, 0x009E,
-0x430D, 0x12AB, 0xC31A, 0x12B0, 0xD74A, 0x4239, 0x8219, 0x14C0, 0x3C1A,
-0x9F0C, 0x2418, 0x4C09, 0x8F09, 0x3C15, 0x9F0C, 0x2405, 0x4382, 0x14C4,
-0x4C82, 0x14C0, 0x3FD7, 0x5392, 0x14C4, 0x90B2, 0x0014, 0x14C4, 0x2008,
-0xB03A, 0x0200, 0x2804, 0x4239, 0x4C82, 0x14C0, 0x3C05, 0x4C09, 0x4682,
-0x14C0, 0x9319, 0x3BC5, 0x460A, 0x432C, 0x12B0, 0xD1D2, 0x490C, 0x12B0,
-0xD1D2, 0x533A, 0x930A, 0x3402, 0x403A, 0x0007, 0x403C, 0x009A, 0x430D,
-0x12AB, 0x4A0C, 0x5C0C, 0x5C0C, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D, 0x12B0,
-0xD1D8, 0x440C, 0x12B0, 0xD6E4, 0x12B0, 0xD1D2, 0x960A, 0x23E7, 0x3FA3,
-0x403E, 0x001C, 0x403D, 0x12B8, 0x411C, 0x0002, 0x4210, 0x14A8, 0x12B0,
-0xC920, 0x430C, 0x4030, 0xA286, 0x12B0, 0xC94E, 0x4030, 0xA286, 0x12B0,
-0xCE3E, 0x3FF6, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x0040, 0x4C05, 0x40B1, 0x0007, 0x0002, 0x4308, 0x4036,
-0x0006, 0x4381, 0x0000, 0x4039, 0x1112, 0x410C, 0x492F, 0x129F, 0x0016,
-0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C6A, 0x410C, 0x532C, 0x492F, 0x129F,
-0x0016, 0x930C, 0x3403, 0x403C, 0xFFBE, 0x3C60, 0x90B1, 0x000F, 0x0002,
-0x2002, 0x4036, 0x0009, 0x12B0, 0xD86C, 0x4034, 0x0015, 0x440E, 0x410D,
-0x522D, 0x412C, 0x1292, 0x14AA, 0x12B0, 0x8E82, 0x4037, 0x0028, 0x460E,
-0xD03E, 0x0080, 0x480C, 0x12B0, 0xD4B8, 0x12B0, 0xD40C, 0x2402, 0x12B0,
-0x8E82, 0x4A0F, 0xDB0F, 0x930F, 0x2002, 0x433C, 0x3C3B, 0x903B, 0x0020,
-0x280F, 0x2003, 0x903A, 0xA761, 0x280B, 0x480F, 0x5338, 0x930F, 0x2015,
-0x4038, 0x0007, 0x460F, 0x5336, 0x930F, 0x200F, 0x3FEC, 0x940B, 0x2804,
-0x200E, 0x903A, 0x83D0, 0x2C0B, 0x5318, 0x9238, 0x2805, 0x4308, 0x5316,
-0x9681, 0x0002, 0x2BDE, 0x5337, 0x9317, 0x37CC, 0x440E, 0x410D, 0x522D,
-0x12B0, 0x8D4A, 0x9317, 0x3BD4, 0x480C, 0x12B0, 0xD4B8, 0x492F, 0x129F,
-0x0008, 0xD036, 0x0080, 0x460C, 0x492F, 0x129F, 0x0008, 0x430C, 0x492F,
-0x129F, 0x0008, 0x430C, 0x5031, 0x0040, 0x4030, 0xD41E, 0x440E, 0x403D,
-0x128E, 0x3F60, 0x12B0, 0x8F72, 0x12AB, 0x4030, 0x8F56, 0x12AB, 0x12B0,
-0x8F3A, 0x434C, 0x12AA, 0x407C, 0x00A8, 0x12A8, 0x454C, 0x4820, 0x12B0,
-0xD6D6, 0x12B0, 0xD5A2, 0x12B0, 0x8ED6, 0x435C, 0x4A20, 0x435C, 0x12AA,
-0x12B0, 0x8FC4, 0x4030, 0x8F96, 0xD03C, 0x0040, 0x12AB, 0x12B0, 0x8ED6,
-0x454C, 0x12A8, 0x435C, 0x4A20, 0x435C, 0x12AA, 0x434C, 0x12AA, 0x494C,
-0x12A8, 0x470C, 0x4B20, 0x12B0, 0x8EDA, 0x435C, 0x12AA, 0x494C, 0x12A8,
-0x403C, 0x3401, 0x12AB, 0x464C, 0x4820, 0x12AB, 0x435C, 0x12AA, 0x12B0,
-0x8F12, 0x12B0, 0x8EB8, 0x403C, 0x012C, 0x4030, 0x8F1A, 0x12B0, 0x8EDA,
-0x454C, 0x4820, 0x12B0, 0x8FBC, 0x12B0, 0x8F56, 0x430C, 0x4B20, 0x12B0,
-0xD6D6, 0x403C, 0x00FE, 0x12B0, 0xD5A6, 0x12B0, 0x8F3A, 0x430C, 0x4B20,
-0x12B0, 0x8F56, 0x435C, 0x4A20, 0x464C, 0x12A8, 0x403C, 0x4030, 0x12B0,
-0x8F54, 0x421C, 0x1432, 0x4130, 0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20,
-0x12B0, 0x8F72, 0x12B0, 0x8F54, 0x12B0, 0x8F8A, 0x403C, 0x012A, 0x4030,
-0x8FBC, 0x464C, 0x12A8, 0x403C, 0x3FFF, 0x12AB, 0x434C, 0x12AA, 0x494C,
-0x12A8, 0x403C, 0x2409, 0x4130, 0x407C, 0x0048, 0x12A8, 0x427C, 0x1292,
-0x1356, 0x407C, 0x00C1, 0x4820, 0x12B0, 0x8FB0, 0x421C, 0x144A, 0x4130,
-0x12B0, 0x8FB0, 0x421C, 0x142E, 0x4130, 0x12B0, 0x8FC4, 0x12B0, 0x8F8A,
-0x403C, 0x012C, 0x12AB, 0x407C, 0x00A1, 0x4820, 0x12B0, 0x8F72, 0x12AB,
-0x3FC5, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8031, 0x001C,
-0x403F, 0x27E2, 0x4FF1, 0x0008, 0x4FF1, 0x0009, 0x4FF1, 0x000A, 0x4FF1,
-0x000B, 0x403B, 0x1112, 0x410C, 0x4B2F, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFDD, 0x3C7F, 0x410C, 0x522C, 0x4B2F, 0x129F, 0x0018, 0x930C,
-0x3403, 0x403C, 0xFFDC, 0x3C75, 0x4108, 0x5038, 0x000C, 0x1208, 0x12B0,
-0xD3D6, 0x12B0, 0xD3FA, 0x5321, 0x930A, 0x3402, 0x4A0C, 0x3C68, 0x412C,
-0x411D, 0x0002, 0x503C, 0xFFFC, 0x633D, 0x12B0, 0xD196, 0x4C0A, 0xF03A,
-0x0F00, 0xD03A, 0x0080, 0x4127, 0x8227, 0x4039, 0x1354, 0x407C, 0x0088,
-0x12A9, 0x407C, 0x0034, 0x1292, 0x1356, 0x12B0, 0xD966, 0x4036, 0x1358,
-0x4A0C, 0x12A6, 0x403A, 0x1360, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x470C,
-0x12A6, 0x434C, 0x12AA, 0x407C, 0x0021, 0x12A9, 0x435C, 0x12AA, 0x434C,
-0x12AA, 0x407C, 0x0088, 0x12A9, 0x407C, 0x0024, 0x1292, 0x1356, 0x435C,
-0x12B0, 0xD964, 0x403C, 0x3FFF, 0x12A6, 0x434C, 0x12AA, 0x407C, 0x00C8,
-0x12A9, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12AA, 0x434C, 0x12B0, 0xD964,
-0x412C, 0x832C, 0x12A6, 0x407C, 0x0022, 0x12A9, 0x411C, 0x0004, 0x411D,
-0x0006, 0x1292, 0x1364, 0x407C, 0x0062, 0x12A9, 0x430C, 0x12A6, 0x4B2F,
-0x129F, 0x0008, 0x435C, 0x12AA, 0x1292, 0x1366, 0x1208, 0x12B0, 0xD3D6,
-0x12B0, 0xD3FA, 0x4A0C, 0x5321, 0x5031, 0x001C, 0x4030, 0xD422, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x4327, 0x407C, 0x0028,
-0x1292, 0x1354, 0x4C46, 0x9036, 0x0089, 0x240B, 0x9036, 0x0091, 0x2408,
-0x9036, 0x0095, 0x2405, 0x9036, 0x0099, 0x2402, 0x432C, 0x3C2D, 0x407C,
-0x0090, 0x1292, 0x1354, 0x403A, 0x1358, 0x403C, 0x009F, 0x12B0, 0xD9C6,
-0x4C06, 0xB03C, 0x0100, 0x281E, 0x403B, 0x009D, 0x4038, 0x1112, 0x4C4E,
-0xF07E, 0x0006, 0x926E, 0x2018, 0x423C, 0x12B0, 0xD014, 0x403C, 0x009E,
-0x12AA, 0xD036, 0x0040, 0x460C, 0x12AA, 0x4309, 0x403C, 0x009A, 0x12AA,
-0x490C, 0x12B0, 0xD01A, 0x5319, 0x9239, 0x2BF7, 0x4317, 0x470C, 0x4030,
-0xD420, 0x4304, 0x403C, 0x009B, 0x12B0, 0xD9C6, 0x4C09, 0x1089, 0x1189,
-0x1109, 0x1109, 0x421F, 0x14C0, 0xB236, 0x2814, 0xB036, 0x0200, 0x280C,
-0x403C, 0x009E, 0x12AA, 0xC316, 0xD036, 0x0040, 0x460C, 0x12AA, 0x4234,
-0x8214, 0x14C0, 0x3C1A, 0x9F09, 0x2418, 0x4904, 0x8F04, 0x3C15, 0x9F09,
-0x2405, 0x4382, 0x14C2, 0x4982, 0x14C0, 0x3FD4, 0x5392, 0x14C2, 0x90B2,
-0x0014, 0x14C2, 0x2008, 0xB036, 0x0200, 0x2804, 0x4234, 0x4982, 0x14C0,
-0x3C05, 0x4904, 0x4982, 0x14C0, 0x9314, 0x3BC2, 0x4906, 0x432C, 0x12B0,
-0xD014, 0x440C, 0x12B0, 0xD014, 0x5336, 0x9306, 0x3402, 0x4036, 0x0007,
-0x403C, 0x009A, 0x12AA, 0x460C, 0x12B0, 0xD01A, 0x12B0, 0xD9C4, 0x12B0,
-0xD014, 0x9906, 0x23EF, 0x3FA8, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x8231, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x410C, 0x522C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x4038, 0x1354, 0x407C, 0x0048, 0x12A8, 0x435C,
-0x1292, 0x1356, 0x4039, 0x1360, 0x435C, 0x12A9, 0x430B, 0x4036, 0x1358,
-0x407C, 0x0028, 0x12A8, 0x430C, 0x12A6, 0xF07C, 0x0081, 0x907C, 0x0081,
-0x2408, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x531B, 0x903B, 0x000A, 0x2BEE,
-0x412C, 0x411D, 0x0002, 0x503C, 0xFFFE, 0x633D, 0x12B0, 0xD196, 0x4C0B,
-0xF03B, 0x0F00, 0xD03B, 0x0080, 0x412A, 0x832A, 0x407C, 0x0088, 0x12A8,
-0x407C, 0x0034, 0x1292, 0x1356, 0x407C, 0x0082, 0x12A8, 0x4B0C, 0x12A6,
-0x434C, 0x12A9, 0x435C, 0x12A9, 0x4A0C, 0x12A6, 0x434C, 0x12A9, 0x407C,
-0x0021, 0x12A8, 0x12B0, 0xD99C, 0x407C, 0x0088, 0x12A8, 0x407C, 0x0024,
-0x1292, 0x1356, 0x435C, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF,
-0x12A6, 0x434C, 0x12A9, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A6,
-0x435C, 0x12A9, 0x407C, 0x00C2, 0x12A8, 0x430A, 0x430B, 0x3C0A, 0x12B0,
-0xD99C, 0x430C, 0x12A6, 0x421F, 0x1112, 0x129F, 0x0008, 0x531A, 0x630B,
-0x911B, 0x0006, 0x2BF3, 0x2003, 0x911A, 0x0004, 0x2BEF, 0x12B0, 0xD99C,
-0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021, 0x12A8,
-0x435C, 0x12A9, 0x430C, 0x5231, 0x4030, 0xD424, 0x120A, 0x120B, 0x4C0A,
-0x4D0B, 0x4C0F, 0xDD0F, 0x930F, 0x2443, 0x533A, 0x633B, 0x435C, 0x1292,
-0x1360, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303, 0xD2F2,
-0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303, 0xD2F2,
-0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC2F2,
-0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC2F2,
-0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303, 0xC2F2,
-0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
-0x4303, 0x434C, 0x1292, 0x1360, 0x4303, 0x4A0F, 0xDB0F, 0x930F, 0x23BD,
-0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0x4C0F, 0xDD0F,
-0x930F, 0x2443, 0x533A, 0x633B, 0x435C, 0x1292, 0x1360, 0x4303, 0x434C,
-0x1292, 0x1360, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303,
-0xD2F2, 0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303,
-0xD2F2, 0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303,
-0xC2F2, 0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303,
-0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303,
-0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0x4303, 0x4303, 0x4303,
-0x4303, 0x4303, 0x4A0F, 0xDB0F, 0x930F, 0x23BD, 0x3FB1, 0x120F, 0x120E,
-0x120D, 0x120C, 0x8231, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004,
-0x4381, 0x0006, 0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2,
-0x2867, 0x01EA, 0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA,
-0x40B2, 0x286D, 0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x41D2,
-0x000F, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x403F, 0x007E, 0x4FE1, 0x0007,
-0x41D2, 0x000E, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0006, 0x41D2,
-0x000D, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0005, 0x4EC2, 0x007F,
-0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0004, 0x41D2, 0x000B, 0x007F, 0xB3D2,
-0x0079, 0x2BFD, 0x4FE1, 0x0003, 0x4DC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
-0x4FE1, 0x0002, 0x41D2, 0x0009, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1,
-0x0001, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
-0x4F6E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033, 0xB31C, 0x2804,
-0xD0F2, 0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2,
-0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xDEC1, 0x0000,
-0xD392, 0x01F0, 0x412C, 0x411D, 0x0002, 0x411E, 0x0004, 0x411F, 0x0006,
-0x5031, 0x0010, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x4306, 0x4307, 0x4308, 0x4309, 0x430A, 0x430B, 0x430F, 0x430C,
-0x430D, 0x4304, 0x3C01, 0x5314, 0x9224, 0x347B, 0x407C, 0x0028, 0x1292,
-0x1354, 0x4C46, 0x9036, 0x0089, 0x2403, 0x9036, 0x008D, 0x201E, 0x4307,
-0x4308, 0x4309, 0x403A, 0x0FF0, 0x430B, 0x460C, 0x421F, 0x1112, 0x129F,
-0x0008, 0x470C, 0x421F, 0x1112, 0x129F, 0x0008, 0x480C, 0x490D, 0x421F,
-0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F, 0x000A,
-0x430C, 0x3C53, 0x9036, 0x0091, 0x2406, 0x9036, 0x0099, 0x2403, 0x9036,
-0x0095, 0x23CB, 0x407C, 0x00E8, 0x1292, 0x1354, 0x430C, 0x1292, 0x1358,
-0x4C0F, 0x4F07, 0x407C, 0x00E1, 0x1292, 0x1354, 0x430C, 0x430D, 0x1292,
-0x135A, 0x4C08, 0x4D09, 0x480C, 0x490D, 0xF33C, 0xF30D, 0x5C0C, 0x6D0D,
-0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x480E, 0x490F, 0x4F0E,
-0xE33F, 0x5F0F, 0x7F0F, 0x4C08, 0x4D09, 0x5E08, 0x6F09, 0x480F, 0xD90F,
-0x930F, 0x2404, 0x480A, 0x490B, 0x522A, 0x630B, 0x460C, 0x421F, 0x1112,
-0x129F, 0x0008, 0x470C, 0x421F, 0x1112, 0x129F, 0x0008, 0x480C, 0x490D,
-0x421F, 0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F,
-0x000A, 0x430C, 0x3C01, 0x433C, 0x4030, 0xD420, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8321, 0x4C0A, 0x4A2C, 0x4A1D,
-0x0002, 0x12B0, 0xD196, 0x4C06, 0xF036, 0x0F00, 0xD036, 0x0085, 0x403B,
-0x1354, 0x4075, 0x0088, 0x454C, 0x12AB, 0x4034, 0x1356, 0x407C, 0x0034,
-0x12A4, 0x4077, 0x0082, 0x474C, 0x12AB, 0x4038, 0x1360, 0x435C, 0x12A8,
-0x4039, 0x1358, 0x460C, 0x12B0, 0xC9E6, 0x4076, 0x0042, 0x12B0, 0xC9B6,
-0x4A2C, 0x12B0, 0xC9BC, 0x4A1C, 0x0004, 0x4A1D, 0x0006, 0x12B0, 0x5B3E,
-0xD03C, 0x0086, 0x12B0, 0xC9EC, 0x4A1C, 0x0004, 0x12B0, 0xC9BC, 0x4A1C,
-0x0008, 0x4A1D, 0x000A, 0x12B0, 0x5B3E, 0xD03C, 0x0089, 0x12B0, 0xC9EC,
-0x4A1C, 0x0008, 0x12B0, 0xC9BC, 0x4A1C, 0x000C, 0x4A1D, 0x000E, 0x12B0,
-0x5B3E, 0xD50C, 0x4C81, 0x0000, 0x12B0, 0xD0CE, 0x12A8, 0x412C, 0x12B0,
-0xC9E6, 0x12B0, 0xC9B6, 0x4A1C, 0x000C, 0x12B0, 0xC9BC, 0x4A1C, 0x0010,
-0x4A1D, 0x0012, 0x12B0, 0x5B3E, 0xD03C, 0x008A, 0x12B0, 0xC9EC, 0x4A1C,
-0x0010, 0x12B0, 0xC9BC, 0x4A1C, 0x0014, 0x4A1D, 0x0016, 0x12B0, 0x5B3E,
-0xD03C, 0x008B, 0x12B0, 0xC9EC, 0x4A1C, 0x0014, 0x12B0, 0xC9BC, 0x4A1C,
-0x0018, 0x4A1D, 0x001A, 0x12B0, 0x5B3E, 0xD03C, 0x008C, 0x12B0, 0xC9EC,
-0x4A1C, 0x0018, 0x12B0, 0xC9BC, 0x5321, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8321, 0x430A, 0x430B,
-0x4378, 0x4345, 0x43C1, 0x0000, 0x4304, 0x12B0, 0xCA04, 0xD3D2, 0x0031,
-0x4216, 0x2758, 0x4037, 0x000A, 0x470C, 0x1286, 0xC2F2, 0x0031, 0x470C,
-0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xC3D2, 0x0031, 0x470C, 0x1286,
-0xC2F2, 0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xC2F2,
-0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xB318, 0x2C03,
-0xC3E2, 0x0031, 0x3C02, 0xD3E2, 0x0031, 0xC312, 0x1008, 0xC2F2, 0x0031,
-0x470C, 0x1286, 0xD2F2, 0x0031, 0xC312, 0x100B, 0x100A, 0xB2E2, 0x0030,
-0x2809, 0xD03B, 0x8000, 0x93C1, 0x0000, 0x2008, 0x4345, 0x43D1, 0x0000,
-0x3C04, 0x93C1, 0x0000, 0x2001, 0x5314, 0x5165, 0x9075, 0x0020, 0x2009,
-0x43C1, 0x0000, 0x4345, 0x4A4E, 0xC35E, 0x907E, 0x00FE, 0x2405, 0x5314,
-0x9034, 0x00FF, 0x23CE, 0x4304, 0xD3D2, 0x0031, 0x470C, 0x1286, 0xC2F2,
-0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0xC2F2, 0x0031, 0x470C, 0x1286,
-0xD2F2, 0x0031, 0x470C, 0x1286, 0xC3D2, 0x0031, 0x470C, 0x1286, 0xC2F2,
-0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xD3D2, 0x0031,
-0x470C, 0x1286, 0x440C, 0x5321, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x8231, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F,
-0x0018, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x411B, 0x0004, 0x832B,
-0x4038, 0x1354, 0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1356, 0x4039,
-0x1360, 0x435C, 0x12A9, 0x4307, 0x4036, 0x1358, 0x407C, 0x0028, 0x12A8,
-0x430C, 0x12A6, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2406, 0x12B0, 0xD96C,
-0x5317, 0x9037, 0x000A, 0x2BF0, 0x4077, 0x00C8, 0x474C, 0x12A8, 0x403C,
-0x3401, 0x12A6, 0x407C, 0x0082, 0x12A8, 0x403C, 0x4030, 0x12A6, 0x12B0,
-0xD96C, 0x4B0C, 0x12A6, 0x9382, 0x1506, 0x2402, 0x12B0, 0xD96C, 0x434C,
-0x12A9, 0x407C, 0x0021, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A9,
-0x12B0, 0xD524, 0x435C, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF,
-0x12A6, 0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C, 0x2409, 0x12A6, 0x435C,
-0x12A9, 0x407C, 0x00C2, 0x12A8, 0x430A, 0x430B, 0x3C0C, 0x435C, 0x12A9,
-0x434C, 0x12A9, 0x430C, 0x12A6, 0x421F, 0x1112, 0x129F, 0x0008, 0x531A,
-0x630B, 0x911B, 0x0002, 0x2BF1, 0x2002, 0x912A, 0x2BEE, 0x435C, 0x12A9,
-0x12B0, 0xD524, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A9, 0x430C, 0x5231,
-0x4030, 0xD422, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8031,
-0x007C, 0x4381, 0x0000, 0x410C, 0x522C, 0x403E, 0x003C, 0x12B0, 0xD494,
-0x410C, 0x532C, 0x12B0, 0xD706, 0x3403, 0x403C, 0xFFEB, 0x3C6D, 0x410C,
-0x12B0, 0xD706, 0x2403, 0x403C, 0xFFC1, 0x3C66, 0x4306, 0x3C01, 0x5316,
-0x9126, 0x2C0B, 0x410C, 0x522C, 0x460F, 0x5F0F, 0x5F0C, 0x12B0, 0xD706,
-0x37F5, 0x403C, 0xFFC0, 0x3C56, 0x411C, 0x0002, 0x1292, 0x274E, 0x4216,
-0x2754, 0x12B0, 0xD9DC, 0x435C, 0x12B0, 0xD9DE, 0x430A, 0x430B, 0x4038,
-0x1354, 0x407C, 0x0086, 0x12A8, 0x4039, 0x1358, 0x430C, 0x12A9, 0x531A,
-0x630B, 0x2014, 0x903A, 0x0BB8, 0x2C11, 0xB32C, 0x2BF6, 0x403C, 0x0011,
-0x12A9, 0x403C, 0xA55A, 0x12A9, 0x403C, 0x1E1E, 0x12A9, 0x407C, 0x0028,
-0x12A8, 0x907C, 0x0091, 0x2403, 0x403C, 0xFFCE, 0x3C26, 0x12B0, 0xD9DC,
-0x4306, 0x3C19, 0x430A, 0x430B, 0x460F, 0x5F0F, 0x510F, 0x4F17, 0x0004,
-0x407C, 0x0086, 0x12A8, 0x430C, 0x12A9, 0x531A, 0x630B, 0x23EA, 0x903A,
-0x0BB8, 0x2FE7, 0xB31C, 0x2BF6, 0x431C, 0x12A9, 0x470C, 0x12A9, 0x5316,
-0x9126, 0x2BE5, 0x407C, 0x0028, 0x12A8, 0x907C, 0x0091, 0x23D8, 0x430C,
-0x5031, 0x007C, 0x4030, 0xD422, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x8321, 0x4C0A, 0x4306, 0x403B, 0x1360, 0x4038, 0x1358, 0x4039, 0x1354,
-0xB31C, 0x282B, 0x403C, 0x14E2, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x2403, 0x403C, 0xFFF5, 0x3C68, 0x403C, 0x14DE, 0x421F, 0x1112, 0x129F,
-0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C5D, 0x407C, 0x0082, 0x12A9,
-0x403C, 0x3FFF, 0x12A8, 0x12B0, 0xD7F4, 0x403C, 0x2409, 0x12A8, 0x435C,
-0x12AB, 0x434C, 0x12AB, 0x407C, 0x0048, 0x12A9, 0x403C, 0x0018, 0x12A8,
-0x5292, 0x14DE, 0x14DE, 0x6292, 0x14E0, 0x14E0, 0x3C1F, 0x410C, 0x129F,
-0x0014, 0x4C06, 0x407C, 0x00C1, 0x12A9, 0x421C, 0x14E2, 0x421D, 0x14E4,
-0x1292, 0x135A, 0x407C, 0x00A1, 0x12A9, 0x416C, 0x1292, 0x1356, 0x435C,
-0x12AB, 0x434C, 0x12AB, 0x5392, 0x14E2, 0x6382, 0x14E4, 0x53B2, 0x14DE,
-0x63B2, 0x14E0, 0x421F, 0x1112, 0x421E, 0x14DE, 0xD21E, 0x14E0, 0x930E,
-0x2402, 0x9306, 0x27D7, 0xB32A, 0x280B, 0x12B0, 0xD7F4, 0x403C, 0x2401,
-0x12A8, 0x407C, 0x0021, 0x12A9, 0x435C, 0x12AB, 0x3C0A, 0x9316, 0x2006,
-0x407C, 0x0091, 0x129F, 0x0012, 0x4306, 0x3C02, 0x4036, 0xFFF3, 0x460C,
-0x5321, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x000A, 0x4338, 0x4039, 0x1112, 0x410C, 0x522C,
-0x492F, 0x129F, 0x0014, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C6B, 0x431C,
-0x492F, 0x129F, 0x001A, 0x410C, 0x492F, 0x129F, 0x0018, 0x930C, 0x3403,
-0x403C, 0xFFCD, 0x3C5E, 0x43C1, 0x0004, 0x430C, 0x1292, 0x274E, 0x930C,
-0x2403, 0x403C, 0xFFEA, 0x3C54, 0x90B1, 0xA55A, 0x0000, 0x2004, 0x90B1,
-0xA55A, 0x0002, 0x2408, 0x90B1, 0x5AA5, 0x0000, 0x2040, 0x90B1, 0x5AA5,
-0x0002, 0x203C, 0x4216, 0x276C, 0x434C, 0x1286, 0x435C, 0x1292, 0x2754,
-0x1292, 0x134E, 0x434C, 0x1286, 0x4357, 0x1292, 0x1350, 0x430A, 0x430B,
-0x4304, 0x4191, 0x0002, 0x0008, 0x41A1, 0x0006, 0x407C, 0x0086, 0x1292,
-0x1354, 0x4035, 0x1358, 0x430C, 0x12A5, 0x531A, 0x630B, 0x2003, 0x903A,
-0x0BB8, 0x2802, 0x4314, 0x3C0B, 0xB32C, 0x2BF4, 0x403C, 0x0011, 0x12A5,
-0x411C, 0x0008, 0x12A5, 0x411C, 0x0006, 0x12A5, 0x435C, 0x1286, 0x403C,
-0x0BB8, 0x1292, 0x275A, 0x9314, 0x2003, 0x403C, 0xFFCE, 0x3C08, 0x474C,
-0x492F, 0x129F, 0x0004, 0x9347, 0x2401, 0x4308, 0x480C, 0x5031, 0x000A,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x4335, 0x4309, 0x4036, 0x1358, 0x4037, 0x1354, 0x3C06, 0x9309,
-0x2404, 0x9319, 0x2402, 0x4308, 0x3C01, 0x4318, 0x480C, 0x1292, 0x274E,
-0x4214, 0x2754, 0x435C, 0x12B0, 0xD740, 0x430A, 0x430B, 0x407C, 0x0086,
-0x12A7, 0x430C, 0x12A6, 0x531A, 0x630B, 0x2003, 0x903A, 0x0BB8, 0x2803,
-0x4035, 0xFFCF, 0x3C07, 0xB31C, 0x2BF3, 0x431C, 0x12A6, 0x403C, 0xA55A,
-0x12A6, 0x12B0, 0xD284, 0x240F, 0x903A, 0x0091, 0x2413, 0x903A, 0x0099,
-0x2013, 0x12B0, 0xD682, 0x407C, 0x0054, 0x12A7, 0x430C, 0x431D, 0x1292,
-0x135C, 0x12B0, 0xD474, 0x484C, 0x12B0, 0xD47C, 0x430C, 0x3C34, 0x12B0,
-0xD682, 0x3FF6, 0x5319, 0x9229, 0x3BBB, 0x4309, 0x432C, 0x1292, 0x274E,
-0x434C, 0x12B0, 0x8AA4, 0x12B0, 0x4BFE, 0x12B0, 0xCC42, 0x403C, 0x000A,
-0x1292, 0x275A, 0x12B0, 0xCF8C, 0x436C, 0x12B0, 0x8AA4, 0x12B0, 0x4BFE,
-0x12B0, 0xCF66, 0x403C, 0x000A, 0x1292, 0x275A, 0x12B0, 0xD284, 0x2406,
-0x903A, 0x0091, 0x2403, 0x903A, 0x0099, 0x2004, 0x12B0, 0xD474, 0x436C,
-0x3FCD, 0x5319, 0x9039, 0x0003, 0x3BD7, 0x450C, 0x4030, 0xD41E, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x8031, 0x0018, 0x4C0B, 0x4E0A, 0x4D0E,
-0x430F, 0x403C, 0x0005, 0x1292, 0x14A4, 0x4A0E, 0x430F, 0x403C, 0x0006,
-0x1292, 0x14A4, 0x4B0C, 0x430D, 0x1292, 0x14A6, 0x407C, 0x00A8, 0x1292,
-0x1354, 0x4382, 0x0160, 0xC392, 0x0160, 0x40B2, 0x0200, 0x0160, 0x40B2,
-0x02E9, 0x0172, 0x4382, 0x0170, 0xD0B2, 0x0016, 0x0160, 0x4218, 0x14A0,
-0x4309, 0x403F, 0xEA5E, 0x4303, 0x430B, 0x533F, 0x633B, 0x2FFD, 0x421A,
-0x14A0, 0x430B, 0xC0B2, 0x0010, 0x0160, 0xC3A2, 0x0160, 0x410C, 0x403E,
-0x27C6, 0x423D, 0x12B0, 0xD454, 0x410F, 0x523F, 0x120F, 0x430F, 0x430E,
-0x423D, 0x410C, 0x532C, 0x4216, 0x1112, 0x1296, 0x000E, 0x403C, 0x0003,
-0x1292, 0x14AC, 0x410C, 0x503C, 0x000A, 0x421F, 0x1112, 0x129F, 0x0010,
-0x5321, 0x9309, 0x2005, 0x9A08, 0x2C03, 0x880A, 0x790B, 0x3C04, 0x8A08,
-0x7309, 0x480A, 0x490B, 0x1292, 0x14A2, 0x4382, 0x14A0, 0x4C0E, 0x4D0F,
-0x5C0C, 0x6D0D, 0x5E0C, 0x6F0D, 0x503C, 0x001F, 0x630D, 0x403E, 0x03E8,
-0x430F, 0x12B0, 0xCE6E, 0x4A0E, 0x4B0F, 0x12B0, 0xCD32, 0x5031, 0x0018,
-0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A,
-0x430B, 0x4038, 0x1360, 0x4039, 0x1358, 0x4036, 0x1354, 0xB31C, 0x2828,
-0x403C, 0x14DA, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C,
-0xFFF5, 0x3C62, 0x403C, 0x14D6, 0x421F, 0x1112, 0x129F, 0x0018, 0x933C,
-0x2003, 0x403C, 0xFFF4, 0x3C57, 0x407C, 0x0082, 0x12A6, 0x403C, 0x3FFF,
-0x12A9, 0x12B0, 0xD7E0, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x12B0,
-0xD7E0, 0x403C, 0x2418, 0x12A9, 0x5292, 0x14D6, 0x14D6, 0x6292, 0x14D8,
-0x14D8, 0x3C1C, 0x410C, 0x129F, 0x0014, 0x4C0B, 0x407C, 0x00C1, 0x12A6,
-0x421C, 0x14DA, 0x12A9, 0x407C, 0x00A1, 0x12A6, 0x416C, 0x1292, 0x1356,
-0x435C, 0x12A8, 0x434C, 0x12A8, 0x5392, 0x14DA, 0x6382, 0x14DC, 0x53B2,
-0x14D6, 0x63B2, 0x14D8, 0x421F, 0x1112, 0x421E, 0x14D6, 0xD21E, 0x14D8,
-0x930E, 0x2402, 0x930B, 0x27DA, 0xB32A, 0x280B, 0x12B0, 0xD7E0, 0x403C,
-0x2401, 0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x12A8, 0x3C0A, 0x931B,
-0x2006, 0x407C, 0x0091, 0x129F, 0x0012, 0x430B, 0x3C02, 0x403B, 0xFFF3,
-0x4B0C, 0x5321, 0x4030, 0xD424, 0x434C, 0x12A7, 0x484C, 0x4B20, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C0A, 0x403B,
-0x1354, 0x12B0, 0xA15C, 0x403C, 0x3401, 0x12A9, 0x4076, 0x0082, 0x464C,
-0x12AB, 0x403C, 0x4035, 0x12A9, 0x4037, 0x1360, 0x434C, 0x12A7, 0x4074,
-0x0042, 0x12B0, 0xA170, 0x4A2C, 0x12B0, 0xA178, 0x4035, 0x2401, 0x450C,
-0x12A9, 0x435C, 0x12B0, 0xA090, 0x12B0, 0xD252, 0x403C, 0x4036, 0x12B0,
-0xA16A, 0x4A1C, 0x0002, 0x12B0, 0xD246, 0x403C, 0x4039, 0x12B0, 0xA16A,
-0x4A1C, 0x0004, 0x12B0, 0xD246, 0x403C, 0x4038, 0x12B0, 0xA16A, 0x4A1C,
-0x0006, 0x12B0, 0xD246, 0x403C, 0x403A, 0x12B0, 0xA16A, 0x4A1C, 0x0008,
-0x12B0, 0xD246, 0x403C, 0x403B, 0x12B0, 0xA16A, 0x4A1C, 0x000A, 0x12B0,
-0xD246, 0x403C, 0x403C, 0x12B0, 0xA16A, 0x4A1C, 0x000C, 0x12B0, 0xA178,
-0x12B0, 0xA154, 0x4030, 0xD41E, 0x450C, 0x12A9, 0x435C, 0x4720, 0x4078,
-0x00C8, 0x484C, 0x12AB, 0x4039, 0x1358, 0x4130, 0x12A9, 0x434C, 0x12A7,
-0x12B0, 0xD5B6, 0x464C, 0x4B20, 0x12B0, 0xD5B0, 0x464C, 0x12AB, 0x403C,
-0x3FFD, 0x12B0, 0xD5B0, 0x434C, 0x3F82, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x8231, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFF2, 0x3C6A, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C5F, 0x4038, 0x1354, 0x407C, 0x0082,
-0x12A8, 0x4039, 0x1358, 0x403C, 0x3FFF, 0x12A9, 0x4036, 0x1360, 0x434C,
-0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x12B0, 0xD9D4,
-0x430A, 0x430B, 0x3C16, 0x407C, 0x00C1, 0x12A8, 0x412C, 0x12A9, 0x407C,
-0x00A1, 0x12A8, 0x12B0, 0xD9D4, 0x430C, 0x12A9, 0x421F, 0x1112, 0x129F,
-0x0008, 0x53A1, 0x0000, 0x6381, 0x0002, 0x531A, 0x630B, 0x911B, 0x0006,
-0x2BE7, 0x2003, 0x911A, 0x0004, 0x2BE3, 0x12B0, 0xD9D4, 0x407C, 0x00C8,
-0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6,
-0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1356, 0x435C, 0x12A6, 0x430B,
-0x407C, 0x0028, 0x12A8, 0x430C, 0x12A9, 0xF07C, 0x0081, 0x907C, 0x0081,
-0x2408, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x531B, 0x903B, 0x000A, 0x2BEE,
-0x430C, 0x5231, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x1204, 0x1205, 0x8031, 0x003E, 0x4C05, 0x4308, 0x4039, 0x001B,
-0x4381, 0x0000, 0x430A, 0x430B, 0x4036, 0x1112, 0x410C, 0x462F, 0x129F,
-0x0016, 0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C5C, 0x12B0, 0xD86C, 0x403E,
-0x001C, 0x410D, 0x532D, 0x412C, 0x1292, 0x14AA, 0x12B0, 0x8D42, 0x3C02,
-0x4709, 0x4314, 0x480F, 0x531F, 0x990F, 0x2C1B, 0x4907, 0x5807, 0xC312,
-0x1007, 0x4304, 0x430E, 0x470C, 0x12B0, 0xD4BC, 0x12B0, 0xD40C, 0x2402,
-0x12B0, 0x8D42, 0x4A0F, 0xDB0F, 0x930F, 0x2415, 0x903B, 0x0020, 0x2804,
-0x23E4, 0x903A, 0xA761, 0x2FE1, 0x4708, 0x3FE1, 0x9304, 0x240A, 0x430E,
-0x480C, 0x12B0, 0xD4BC, 0x4C0D, 0x412C, 0x12B0, 0x9E8C, 0x4C0A, 0x4D0B,
-0x403E, 0x0015, 0x410D, 0x532D, 0x12B0, 0x8D4A, 0x503A, 0x6478, 0x603B,
-0xFFEC, 0x903B, 0x0010, 0x2806, 0x2003, 0x903A, 0xB559, 0x2802, 0x433C,
-0x3C10, 0x430C, 0x12B0, 0xD8B6, 0x480C, 0x12B0, 0xD4BC, 0x12B0, 0xD8B6,
-0x12B0, 0xD8B2, 0x12B0, 0xD8B2, 0x430C, 0x12B0, 0xD8B6, 0x430C, 0x5031,
-0x003E, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x8221, 0x4316, 0x403B, 0x1358, 0x4038, 0x1354, 0x4039, 0x1360, 0x3C03,
-0x9326, 0x2001, 0x4226, 0x434C, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x435C,
-0x12A9, 0x464C, 0x108C, 0xF03C, 0x0F00, 0x503C, 0x0060, 0x12AB, 0x407C,
-0x00C8, 0x12A8, 0x403C, 0x1401, 0x12AB, 0x407C, 0x0082, 0x12A8, 0x12B0,
-0xD914, 0x9382, 0x1398, 0x2403, 0x403C, 0x0FF6, 0x3C02, 0x403C, 0x018C,
-0x12AB, 0x12B0, 0xD914, 0x403C, 0x3FFD, 0x12AB, 0x434C, 0x12A9, 0x9382,
-0x1398, 0x2402, 0x12B0, 0xD65E, 0x12B0, 0xD876, 0x430C, 0x12AB, 0x4C07,
-0x12B0, 0xD914, 0x430C, 0x12AB, 0x4C0A, 0x12B0, 0xD914, 0x12B0, 0xD914,
-0x12B0, 0xD914, 0x9382, 0x1398, 0x2002, 0x12B0, 0xD65E, 0x434C, 0x12A9,
-0x12B0, 0xD876, 0x4781, 0x0000, 0x4A81, 0x0002, 0x403D, 0x0003, 0x410C,
-0x421F, 0x1112, 0x129F, 0x0006, 0x5316, 0x9036, 0x0010, 0x2BA7, 0x407C,
-0x0086, 0x12A8, 0x430C, 0x12AB, 0xB23C, 0x2807, 0x403C, 0x0014, 0x12AB,
-0x430C, 0x12AB, 0x430C, 0x12AB, 0x430C, 0x5221, 0x4030, 0xD422, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A, 0x430B, 0x4038, 0x1360,
-0x4039, 0x1358, 0x4036, 0x1354, 0xB31C, 0x2844, 0x403C, 0x14EA, 0x421F,
-0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C5B, 0x403C,
-0x14E6, 0x421F, 0x1112, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4,
-0x3C50, 0x407C, 0x0082, 0x12A6, 0x403C, 0x3FFF, 0x12A9, 0x12B0, 0xD808,
-0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x12B0, 0xD808, 0x403C, 0x2408,
-0x12A9, 0x3C1B, 0x410C, 0x129F, 0x0016, 0x4C0B, 0x407C, 0x00C1, 0x12A6,
-0x421C, 0x14EA, 0x12A9, 0x407C, 0x00A1, 0x12A6, 0x412C, 0x12A9, 0x435C,
-0x12A8, 0x434C, 0x12A8, 0x53A2, 0x14EA, 0x6382, 0x14EC, 0x53B2, 0x14E6,
-0x63B2, 0x14E8, 0x421F, 0x1112, 0x421E, 0x14E6, 0xD21E, 0x14E8, 0x930E,
-0x2402, 0x930B, 0x27DB, 0xB32A, 0x280B, 0x12B0, 0xD808, 0x403C, 0x2401,
-0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x12A8, 0x3C0A, 0x931B, 0x2006,
-0x407C, 0x0091, 0x129F, 0x0012, 0x430B, 0x3C02, 0x403B, 0xFFF3, 0x4B0C,
-0x5321, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8031,
-0x001C, 0x403F, 0x27DE, 0x4FF1, 0x0008, 0x4FF1, 0x0009, 0x4FF1, 0x000A,
-0x4FF1, 0x000B, 0x403A, 0x1112, 0x410C, 0x522C, 0x4A2F, 0x129F, 0x0018,
-0x930C, 0x2403, 0x403C, 0xFFDD, 0x3C58, 0x410C, 0x4A2F, 0x129F, 0x0018,
-0x930C, 0x3403, 0x403C, 0xFFDC, 0x3C4F, 0x410B, 0x503B, 0x000C, 0x120B,
-0x12B0, 0xD442, 0x12B0, 0xD334, 0x5321, 0x9308, 0x3402, 0x480C, 0x3C42,
-0x4038, 0x1354, 0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1356, 0x4039,
-0x1360, 0x435C, 0x12A9, 0x4306, 0x407C, 0x0028, 0x12A8, 0x430C, 0x1292,
-0x1358, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2408, 0x434C, 0x12A9, 0x435C,
-0x12A9, 0x5316, 0x9036, 0x000A, 0x2BED, 0x411C, 0x0004, 0x411D, 0x0006,
-0x1292, 0x1362, 0x407C, 0x0022, 0x12A8, 0x412C, 0x411D, 0x0002, 0x1292,
-0x1364, 0x407C, 0x0062, 0x12A8, 0x430C, 0x1292, 0x1358, 0x4A2F, 0x129F,
-0x0008, 0x435C, 0x12A9, 0x1292, 0x1366, 0x120B, 0x12B0, 0xD442, 0x12B0,
-0xD334, 0x480C, 0x5321, 0x5031, 0x001C, 0x4030, 0xD424, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A, 0x4306, 0x403B, 0x1360, 0x4038,
-0x1358, 0x4039, 0x1354, 0xB31C, 0x2843, 0x403C, 0x14F2, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C5A, 0x403C, 0x14EE,
-0x421F, 0x1112, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C4F,
-0x407C, 0x0082, 0x12A9, 0x403C, 0x3FFF, 0x12A8, 0x12B0, 0xD81C, 0x403C,
-0x2409, 0x12B0, 0xD826, 0x407C, 0x0048, 0x12A9, 0x423C, 0x12A8, 0x3C1B,
-0x410C, 0x129F, 0x0016, 0x4C06, 0x407C, 0x00C1, 0x12A9, 0x421C, 0x14F2,
-0x421D, 0x14F4, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12A9, 0x412C, 0x12B0,
-0xD826, 0x53A2, 0x14F2, 0x6382, 0x14F4, 0x53B2, 0x14EE, 0x63B2, 0x14F0,
-0x421F, 0x1112, 0x421E, 0x14EE, 0xD21E, 0x14F0, 0x930E, 0x2402, 0x9306,
-0x27DB, 0xB32A, 0x280B, 0x12B0, 0xD81C, 0x403C, 0x2401, 0x12A8, 0x407C,
-0x0021, 0x12A9, 0x435C, 0x12AB, 0x3C0A, 0x9316, 0x2006, 0x407C, 0x0091,
-0x129F, 0x0012, 0x4306, 0x3C02, 0x4036, 0xFFF3, 0x460C, 0x5321, 0x4030,
-0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x8031, 0x002A, 0x430A, 0x4038,
-0x1360, 0x434C, 0x12A8, 0x403B, 0x1354, 0x407C, 0x00C8, 0x12AB, 0x4039,
-0x1358, 0x403C, 0x0500, 0x12A9, 0x12B0, 0xD2FC, 0x407C, 0x00A1, 0x12AB,
-0x403C, 0x0003, 0x12A9, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x12AB, 0x403C,
-0x0501, 0x12A9, 0x12B0, 0xD676, 0x434C, 0x12A8, 0x12B0, 0xD2FC, 0x434C,
-0x12A8, 0x407C, 0x0042, 0x12AB, 0x430C, 0x12A9, 0x4C09, 0x12B0, 0xD676,
-0x9309, 0x383B, 0x4308, 0x4109, 0x5039, 0x0010, 0x490C, 0x580C, 0x421F,
-0x1112, 0x129F, 0x0014, 0x5318, 0x9038, 0x0016, 0x2BF6, 0x490F, 0x580F,
-0x40FF, 0x00DE, 0x0000, 0x40FF, 0x00AD, 0x0001, 0x40FF, 0x00BA, 0x0002,
-0x40FF, 0x00BE, 0x0003, 0x410F, 0x120F, 0x430F, 0x431E, 0x403D, 0x001A,
-0x490C, 0x4218, 0x1112, 0x1298, 0x000E, 0x403C, 0x0003, 0x1292, 0x1258,
-0x410C, 0x532C, 0x421F, 0x1112, 0x129F, 0x0010, 0x407C, 0x0054, 0x12AB,
-0x403C, 0x0200, 0x430D, 0x1292, 0x135C, 0x5321, 0x3C01, 0x433A, 0x4A0C,
-0x5031, 0x002A, 0x4030, 0xD426, 0x120A, 0x120B, 0x8031, 0x001C, 0x43C1,
-0x0000, 0x4381, 0x0002, 0x403C, 0x0005, 0x1292, 0x275A, 0x407C, 0x0028,
-0x1292, 0x1354, 0x4CC1, 0x0000, 0x407A, 0x0091, 0x9AC1, 0x0000, 0x2002,
-0x430F, 0x3C07, 0x421F, 0x14B6, 0x531F, 0x931F, 0x2002, 0x43F1, 0x0000,
-0x4F82, 0x14B6, 0x932F, 0x384A, 0x4382, 0x14B6, 0x1292, 0x2756, 0x434C,
-0x1292, 0x2754, 0x1292, 0x134E, 0x407C, 0x00C8, 0x1292, 0x1354, 0x4CC1,
-0x0000, 0x9AC1, 0x0000, 0x2038, 0x407C, 0x0086, 0x1292, 0x1354, 0x9A4C,
-0x2032, 0x422C, 0x1292, 0x1358, 0x903C, 0x1207, 0x202C, 0x430C, 0x1292,
-0x1358, 0x903C, 0xA55A, 0x2024, 0x410C, 0x522C, 0x403E, 0x27D6, 0x423D,
-0x12B0, 0xD454, 0x410F, 0x503F, 0x000C, 0x120F, 0x430F, 0x430E, 0x423D,
-0x410C, 0x503C, 0x0006, 0x421B, 0x1112, 0x129B, 0x000E, 0x403C, 0x0003,
-0x1292, 0x1230, 0x410C, 0x503C, 0x000E, 0x421F, 0x1112, 0x129F, 0x0010,
-0x4AC1, 0x0002, 0x5321, 0x3C02, 0x43F1, 0x0000, 0x416C, 0x5031, 0x001C,
-0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x403B, 0x1112, 0x403C, 0x14B8, 0x12B0, 0xD894, 0x2402, 0x433C, 0x3C61,
-0x403C, 0x14BC, 0x12B0, 0xD894, 0x23F9, 0x403C, 0x14BE, 0x12B0, 0xD894,
-0x23F4, 0x403C, 0x14BA, 0x4B2F, 0x129F, 0x0016, 0x933C, 0x27ED, 0x9382,
-0x14BA, 0x2402, 0x435C, 0x3C01, 0x434C, 0x1292, 0x2754, 0x1292, 0x134E,
-0x4038, 0x1358, 0x4216, 0x14BC, 0x90B2, 0x0011, 0x14B8, 0x430A, 0x430B,
-0x4309, 0x2019, 0x4217, 0x14BE, 0x407C, 0x0086, 0x1292, 0x1354, 0x430C,
-0x12A8, 0x531A, 0x630B, 0x2003, 0x903A, 0x0BB8, 0x2802, 0x4319, 0x3C1B,
-0xB32C, 0x2BF4, 0x403C, 0x0011, 0x12A8, 0x460C, 0x12A8, 0x470C, 0x3C11,
-0x407C, 0x0086, 0x1292, 0x1354, 0x430C, 0x12A8, 0x531A, 0x630B, 0x23EC,
-0x903A, 0x0BB8, 0x2FE9, 0xB31C, 0x2BF6, 0x431C, 0x12A8, 0x460C, 0x12A8,
-0x9382, 0x14BA, 0x2406, 0x434C, 0x1292, 0x276E, 0x435C, 0x1292, 0x276C,
-0x403C, 0x003C, 0x1292, 0x275A, 0x9309, 0x239E, 0x430C, 0x4030, 0xD422,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8231, 0x410C, 0x522C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C5C, 0x410C,
-0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C52,
-0x4038, 0x1354, 0x407C, 0x0082, 0x12A8, 0x4039, 0x1358, 0x403C, 0x3FFF,
-0x12A9, 0x4036, 0x1360, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C,
-0x2409, 0x12A9, 0x12B0, 0xD93C, 0x407C, 0x0048, 0x12A8, 0x403C, 0x0019,
-0x12A9, 0x51A1, 0x0000, 0x6191, 0x0002, 0x0002, 0x430A, 0x430B, 0x3C1A,
-0x407C, 0x00C1, 0x12A8, 0x411C, 0x0004, 0x411D, 0x0006, 0x1292, 0x135A,
-0x407C, 0x00A1, 0x12A8, 0x12B0, 0xD93C, 0x430C, 0x12A9, 0x421F, 0x1112,
-0x129F, 0x0004, 0x5391, 0x0004, 0x6381, 0x0006, 0x531A, 0x630B, 0x911B,
-0x0002, 0x2BE3, 0x2002, 0x912A, 0x2BE0, 0x12B0, 0xD93C, 0x407C, 0x00C8,
-0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6,
-0x430C, 0x5231, 0x4030, 0xD424, 0x8231, 0x410C, 0x522C, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFCB, 0x3C29, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFCA, 0x3C1F, 0x411E,
-0x0004, 0x411F, 0x0006, 0x930F, 0x204D, 0x903E, 0x000F, 0x2C4A, 0x5E0E,
-0x4E10, 0xAB28, 0xABB6, 0xAB46, 0xAB52, 0xAB4C, 0xAB66, 0xAB72, 0xAB7E,
-0xAB8A, 0xAB90, 0xAB96, 0xAB5A, 0xAB9C, 0xABA4, 0xABAA, 0xABB0, 0x412C,
-0x1292, 0x2750, 0x430C, 0x5231, 0x4130, 0x412C, 0x1292, 0x2752, 0x3FF9,
-0x41A2, 0x137C, 0x4192, 0x0002, 0x137E, 0x3FF3, 0x41A2, 0x1382, 0x4192,
-0x0002, 0x1384, 0x3FED, 0x41A2, 0x1386, 0x4192, 0x0002, 0x1388, 0x3FE7,
-0x41A2, 0x138A, 0x4192, 0x0002, 0x138C, 0x3FE1, 0x41A2, 0x138E, 0x3FDE,
-0x41A2, 0x1390, 0x3FDB, 0x41A2, 0x1392, 0x3FD8, 0x412C, 0x1292, 0x2770,
-0x3FD4, 0x41A2, 0x1380, 0x3FD1, 0x41A2, 0x1506, 0x3FCE, 0x41A2, 0x1398,
-0x3FCB, 0x403C, 0xFFC9, 0x3FC9, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x1204, 0x4C0A, 0x403B, 0x1354, 0x407C, 0x0088, 0x12AB, 0x407C,
-0x0034, 0x1292, 0x1356, 0x12B0, 0xA15C, 0x403C, 0x2401, 0x12A9, 0x407C,
-0x0028, 0x12AB, 0x4036, 0x0032, 0x430C, 0x12A9, 0x5336, 0x933C, 0x2403,
-0xB03C, 0x0200, 0x2C02, 0x9306, 0x23F6, 0x407C, 0x0082, 0x12AB, 0x403C,
-0x4030, 0x12A9, 0x4037, 0x1360, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x403C,
-0x0C04, 0x12B0, 0xD8FC, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x435C, 0x12A7,
-0x407C, 0x0082, 0x12AB, 0x403C, 0x3FFF, 0x12A9, 0x12B0, 0xA08E, 0x403C,
-0x2409, 0x12B0, 0xA156, 0x12B0, 0xA08E, 0x403C, 0x2408, 0x12A9, 0x4306,
-0x407C, 0x00C1, 0x12AB, 0x4604, 0x5404, 0x4A0C, 0x540C, 0x12A9, 0x407C,
-0x00A1, 0x12AB, 0x441C, 0x13C4, 0x12B0, 0xD8FC, 0x5316, 0x9036, 0x0030,
-0x3BED, 0x12B0, 0xA08E, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12B0,
-0xD5B8, 0x4030, 0xD420, 0x120D, 0x120C, 0x8221, 0x4381, 0x0000, 0x4381,
-0x0002, 0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2867,
-0x01EA, 0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA, 0x40B2,
-0x286D, 0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392,
-0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x41D2, 0x0007,
-0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x403F, 0x007E, 0x4FE1, 0x0003, 0x4DC2,
-0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0002, 0x41D2, 0x0005, 0x007F,
-0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0001, 0xC0F2, 0x0010, 0x0078, 0x4CC2,
-0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4F6E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2,
-0x00F1, 0x0033, 0xB31C, 0x2804, 0xD0F2, 0x0003, 0x0031, 0x3C04, 0xC3E2,
-0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030,
-0x7E4E, 0x535E, 0xDEC1, 0x0000, 0xD392, 0x01F0, 0x412C, 0x411D, 0x0002,
-0x5231, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8231,
-0x4308, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403,
-0x4038, 0xFFDF, 0x3C53, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x3403, 0x4038, 0xFFDE, 0x3C49, 0x4039, 0x1354, 0x407C, 0x0082, 0x12A9,
-0x4036, 0x1358, 0x403C, 0x3FFF, 0x12A6, 0x4037, 0x1360, 0x12B0, 0xD7AE,
-0x403C, 0x2409, 0x12A6, 0x435C, 0x12A7, 0x12B0, 0xD7AE, 0x403C, 0x2419,
-0x12A6, 0x51A1, 0x0000, 0x6191, 0x0002, 0x0002, 0x430A, 0x430B, 0x3C19,
-0x407C, 0x00C1, 0x12A9, 0x411C, 0x0004, 0x12A6, 0x407C, 0x00A1, 0x12A9,
-0x435C, 0x12A7, 0x434C, 0x12A7, 0x430C, 0x12A6, 0x421F, 0x1112, 0x129F,
-0x0004, 0x5391, 0x0004, 0x6381, 0x0006, 0x531A, 0x630B, 0x911B, 0x0002,
-0x2BE4, 0x2002, 0x912A, 0x2BE1, 0x12B0, 0xD7AE, 0x403C, 0x2401, 0x12A6,
-0x407C, 0x0021, 0x12A9, 0x435C, 0x12A7, 0x480C, 0x5231, 0x4030, 0xD422,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031, 0x000C,
-0x4337, 0x4381, 0x0008, 0x4381, 0x000A, 0x4381, 0x0004, 0x4381, 0x0006,
-0x43C1, 0x0000, 0x4214, 0x12F0, 0x4381, 0x0002, 0x4036, 0x1112, 0x410C,
-0x523C, 0x462F, 0x129F, 0x0018, 0x410C, 0x522C, 0x462F, 0x129F, 0x0018,
-0x410C, 0x532C, 0x462F, 0x129F, 0x0016, 0x411B, 0x0006, 0x12B0, 0xA838,
-0x4CC1, 0x0000, 0xF03B, 0xC000, 0x9381, 0x0002, 0x2415, 0x462F, 0x4F1F,
-0x0008, 0x90F1, 0x0091, 0x0000, 0x422C, 0x2005, 0x12B0, 0xD6FA, 0x430C,
-0x430D, 0x3C04, 0x12B0, 0xD6FA, 0x430C, 0x4B0D, 0x12B0, 0xD700, 0x4307,
-0x3C1B, 0x90F1, 0x0091, 0x0000, 0x2402, 0x432F, 0x3C01, 0x431F, 0x4F82,
-0x12F0, 0x9F04, 0x2410, 0x931F, 0x2005, 0x12B0, 0xD21A, 0x12B0, 0xD6FE,
-0x4317, 0x93A2, 0x12F0, 0x2006, 0x12B0, 0xD21A, 0x4B0D, 0x12B0, 0xD700,
-0x4317, 0x470C, 0x5031, 0x000C, 0x4030, 0xD420, 0x120A, 0x120B, 0x1208,
-0x8231, 0x403A, 0x1112, 0x410C, 0x522C, 0x4A2F, 0x129F, 0x0014, 0x930C,
-0x342B, 0x403C, 0xFFC8, 0x3C55, 0x434C, 0x1292, 0x276E, 0x1292, 0x2762,
-0x4C4B, 0x415E, 0x0002, 0xF07E, 0x000F, 0x416F, 0xF07F, 0x000F, 0xCF4B,
-0xDE4B, 0x1292, 0x276A, 0x4C48, 0x415E, 0x0003, 0xF07E, 0x007C, 0x415F,
-0x0001, 0xF07F, 0x007C, 0xCF48, 0xDE48, 0x4B4C, 0x1292, 0x2760, 0x484C,
-0x1292, 0x2768, 0x53F1, 0x0004, 0x411C, 0x0006, 0x1292, 0x275A, 0x93C1,
-0x0004, 0x2429, 0x410C, 0x532C, 0x12B0, 0xD77C, 0x3403, 0x403C, 0xFFC7,
-0x3C22, 0x410C, 0x12B0, 0xD77C, 0x3BF9, 0x410C, 0x503C, 0x0006, 0x12B0,
-0xD77C, 0x3BF3, 0xB0B1, 0x0040, 0x0000, 0x2809, 0xB0B1, 0x0040, 0x0002,
-0x2802, 0x435C, 0x3C01, 0x434C, 0x1292, 0x276C, 0xB0B1, 0x0100, 0x0000,
-0x2BB5, 0xB0B1, 0x0100, 0x0002, 0x2BAE, 0x435C, 0x3FAD, 0x430C, 0x5231,
-0x4030, 0xD428, 0xC3A2, 0x01A0, 0x40B2, 0x22F0, 0x01A0, 0x40B2, 0x0206,
-0x01A2, 0x407E, 0x0010, 0x4EC2, 0x0080, 0x407F, 0x0011, 0x4FC2, 0x0081,
-0x407D, 0x0012, 0x4DC2, 0x0082, 0x407C, 0x0013, 0x4CC2, 0x0083, 0x4EC2,
-0x0084, 0x4FC2, 0x0085, 0x4DC2, 0x0086, 0x4CC2, 0x0087, 0x4EC2, 0x0088,
-0x4FC2, 0x0089, 0x4DC2, 0x008A, 0x4CC2, 0x008B, 0x4EC2, 0x008C, 0x4FC2,
-0x008D, 0x4DC2, 0x008E, 0x4CC2, 0x008F, 0xD3A2, 0x01A0, 0xD392, 0x01A0,
-0x40B2, 0x0FFF, 0x01C8, 0x40B2, 0x03A0, 0x01C0, 0xD3D2, 0x0078, 0x40F2,
-0x0017, 0x0078, 0x40F2, 0x0053, 0x0079, 0x43E2, 0x007C, 0x43C2, 0x007D,
-0x43C2, 0x007B, 0xC3D2, 0x0078, 0xDEC2, 0x0005, 0x4382, 0x0122, 0x4382,
-0x0124, 0x40B2, 0x13C0, 0x01E8, 0x4292, 0x2784, 0x01EC, 0x40B2, 0x13C0,
-0x01F0, 0x4292, 0x2784, 0x01F4, 0x42A2, 0x01F6, 0x4382, 0x14FE, 0x4382,
-0x1500, 0x430C, 0x12B0, 0x3F54, 0x430C, 0x4130, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x8221, 0x4319, 0x403A, 0x1358, 0x403B, 0x1354,
-0x4038, 0x1360, 0x3C03, 0x9329, 0x2001, 0x4229, 0x410C, 0x12B0, 0xD97C,
-0x410C, 0x531C, 0x12B0, 0xD97C, 0x410C, 0x532C, 0x12B0, 0xD97C, 0x43C1,
-0x0003, 0x412C, 0x411D, 0x0002, 0x12B0, 0xD196, 0x4C06, 0xF036, 0x0F00,
-0x5036, 0x0080, 0x4127, 0x434C, 0x12A8, 0x407C, 0x0082, 0x12AB, 0x435C,
-0x12A8, 0x490F, 0xF03F, 0x000F, 0x5F06, 0x460C, 0x12AA, 0x407C, 0x00C8,
-0x12AB, 0x403C, 0x1401, 0x12AA, 0x407C, 0x0082, 0x12AB, 0x12B0, 0xD7C4,
-0x470C, 0x12B0, 0xD7C2, 0x403C, 0x3FFD, 0x12B0, 0xD974, 0x407C, 0x0021,
-0x12AB, 0x430C, 0x430D, 0x1292, 0x135A, 0x435C, 0x12A8, 0x407C, 0x00C8,
-0x12AB, 0x403C, 0x0501, 0x12B0, 0xD974, 0x407C, 0x0042, 0x12AB, 0x435C,
-0x12A8, 0x5319, 0x9039, 0x0010, 0x2BAD, 0x430C, 0x5221, 0x4030, 0xD422,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8231, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C52, 0x410C, 0x522C,
-0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C47,
-0x4038, 0x1354, 0x407C, 0x0082, 0x12A8, 0x4039, 0x1358, 0x403C, 0x3FFF,
-0x12A9, 0x4036, 0x1360, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C,
-0x2409, 0x12A9, 0x12B0, 0xD9B4, 0x430A, 0x430B, 0x3C19, 0x407C, 0x00C1,
-0x12A8, 0x412C, 0x411D, 0x0002, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12A8,
-0x12B0, 0xD9B4, 0x430C, 0x12A9, 0x421F, 0x1112, 0x129F, 0x0008, 0x53A1,
-0x0000, 0x6381, 0x0002, 0x531A, 0x630B, 0x911B, 0x0006, 0x2BE4, 0x2003,
-0x911A, 0x0004, 0x2BE0, 0x12B0, 0xD9B4, 0x407C, 0x00C8, 0x12A8, 0x403C,
-0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6, 0x430C, 0x5231,
-0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C0A, 0x4038,
-0x1354, 0x407C, 0x00C8, 0x12A8, 0x4039, 0x1358, 0x403C, 0x3401, 0x12A9,
-0x407C, 0x0082, 0x12A8, 0x403C, 0x4030, 0x12A9, 0x4036, 0x1360, 0x12B0,
-0xD91C, 0x4A0C, 0x12A9, 0x9382, 0x1506, 0x2402, 0x12B0, 0xD91C, 0x434C,
-0x12A6, 0x407C, 0x0021, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A6,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x435C,
-0x12A6, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C08,
-0x4E0A, 0x4F0B, 0x4039, 0x1354, 0x407C, 0x0088, 0x12A9, 0x407C, 0x0034,
-0x1292, 0x1356, 0x12B0, 0xD53A, 0x4036, 0x1360, 0x435C, 0x12A6, 0x12B0,
-0xD54E, 0xDC08, 0xD038, 0x0080, 0x480C, 0x12B0, 0xD04E, 0x4A0C, 0x12B0,
-0xD04E, 0x403C, 0x3FFD, 0x12B0, 0xD05C, 0x434C, 0x12A6, 0x407C, 0x0088,
-0x12A9, 0x12B0, 0xD9FC, 0x3FCE, 0x120A, 0x120B, 0x1208, 0x8321, 0x430A,
-0xB31C, 0x2851, 0x403C, 0x14F6, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x2403, 0x403C, 0xFFD7, 0x3C4F, 0x403C, 0x14FA, 0x421F, 0x1112, 0x129F,
-0x0018, 0x933C, 0x203E, 0x403C, 0xFFD6, 0x3C44, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0016, 0x4C0A, 0x403B, 0x1360, 0x434C, 0x12AB, 0x4038, 0x1354,
-0x407C, 0x00C8, 0x12A8, 0x403C, 0x0500, 0x1292, 0x1358, 0x407C, 0x00C1,
-0x12A8, 0x421C, 0x14F6, 0x421D, 0x14F8, 0x1292, 0x135A, 0x435C, 0x12AB,
-0x407C, 0x00A1, 0x12A8, 0x412C, 0x1292, 0x1358, 0x434C, 0x12AB, 0x407C,
-0x00C8, 0x12A8, 0x403C, 0x0501, 0x1292, 0x1358, 0x435C, 0x12AB, 0x434C,
-0x12AB, 0x435C, 0x12AB, 0x53A2, 0x14F6, 0x6382, 0x14F8, 0x53B2, 0x14FA,
-0x63B2, 0x14FC, 0x421F, 0x14FA, 0xD21F, 0x14FC, 0x930F, 0x2402, 0x930A,
-0x27BD, 0x4A0C, 0x5321, 0x4030, 0xD428, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x000C, 0x4037, 0x1112, 0x410C,
-0x522C, 0x472F, 0x129F, 0x0018, 0x410C, 0x523C, 0x472F, 0x129F, 0x0018,
-0x410C, 0x472F, 0x129F, 0x0018, 0x411C, 0x0004, 0x411D, 0x0006, 0x12B0,
-0xD464, 0x411B, 0x0004, 0x4038, 0x1354, 0x407C, 0x0028, 0x12A8, 0x4039,
-0x1358, 0x430C, 0x12A9, 0x4036, 0x1360, 0x12B0, 0xC808, 0x4075, 0x00C8,
-0x12B0, 0xC83C, 0x4074, 0x0021, 0x12B0, 0xC81E, 0x407C, 0x00C2, 0x12A8,
-0x430A, 0x430B, 0x3C0B, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x430C, 0x12A9,
-0x472F, 0x129F, 0x0008, 0x531A, 0x630B, 0x911B, 0x000A, 0x2BF2, 0x2003,
-0x911A, 0x0008, 0x2BEE, 0x12B0, 0xD786, 0x412C, 0x411D, 0x0002, 0x12B0,
-0xD464, 0x412B, 0x12B0, 0xD786, 0x12B0, 0xC808, 0x12B0, 0xC83C, 0x12B0,
-0xC81E, 0x430C, 0x5031, 0x000C, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C0A, 0x403B, 0x1354, 0x4078,
-0x00C8, 0x484C, 0x12AB, 0x4039, 0x1358, 0x403C, 0x3401, 0x12A9, 0x4076,
-0x0082, 0x464C, 0x12AB, 0x403C, 0x4035, 0x12A9, 0x4037, 0x1360, 0x434C,
-0x12A7, 0x4074, 0x0042, 0x12B0, 0xD3EE, 0x4A2C, 0x12B0, 0xD172, 0x4035,
-0x2401, 0x12B0, 0xD110, 0x403C, 0x4036, 0x12B0, 0xD3E8, 0x4A1C, 0x0002,
-0x12B0, 0xD10C, 0x403C, 0x4039, 0x12B0, 0xD3E8, 0x4A1C, 0x0004, 0x12B0,
-0xD10C, 0x403C, 0x4038, 0x12B0, 0xD3E8, 0x4A1C, 0x0006, 0x12B0, 0xD10C,
-0x403C, 0x403A, 0x12B0, 0xD3E8, 0x4A1C, 0x0008, 0x12B0, 0xD10C, 0x403C,
-0x403B, 0x12B0, 0xD3E8, 0x4A1C, 0x000A, 0x12B0, 0xD10C, 0x403C, 0x403C,
-0x12B0, 0xD3E8, 0x4A1C, 0x000C, 0x12B0, 0xD172, 0x450C, 0x12A9, 0x435C,
-0x12A7, 0x4030, 0xD41E, 0x435C, 0x12A9, 0x434C, 0x4920, 0x407C, 0x0088,
-0x4A20, 0x407C, 0x00B0, 0x12AA, 0x403C, 0x0082, 0x430D, 0x4720, 0x407C,
-0x00B0, 0x12AA, 0x403C, 0x0088, 0x430D, 0x4720, 0x474C, 0x12AA, 0x430C,
-0x430D, 0x4210, 0x135A, 0x434C, 0x12A9, 0x407C, 0x0088, 0x12AA, 0x407C,
-0x0024, 0x12A5, 0x435C, 0x4920, 0x12B0, 0xB5B4, 0x407C, 0x0042, 0x12AA,
-0x435C, 0x4920, 0x12A8, 0x434C, 0x4920, 0x407C, 0x00C1, 0x12AA, 0x411C,
-0x0004, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x4A20, 0x434C, 0x12B0,
-0xB5EA, 0x474C, 0x3FEA, 0x434C, 0x12A9, 0x4B4C, 0x12AA, 0x403C, 0x2C01,
-0x12A8, 0x435C, 0x12A9, 0x4B4C, 0x12AA, 0x403C, 0x2401, 0x4820, 0x407C,
-0x0082, 0x12AA, 0x403C, 0x3FFF, 0x12B0, 0xB5B4, 0x4B4C, 0x12AA, 0x403C,
-0x2409, 0x12A8, 0x3FA6, 0x120A, 0x120B, 0x1208, 0x1209, 0x8221, 0x4381,
-0x0000, 0x4381, 0x0002, 0x4318, 0x403A, 0x1360, 0x403B, 0x1354, 0x3C03,
-0x9328, 0x2001, 0x4228, 0x410C, 0x12B0, 0xD9A4, 0x410C, 0x531C, 0x12B0,
-0xD9A4, 0x410C, 0x532C, 0x12B0, 0xD9A4, 0x9038, 0x000F, 0x2433, 0x930C,
-0x2033, 0x412C, 0x411D, 0x0002, 0x12B0, 0xD196, 0xF03C, 0x0F00, 0x4809,
-0xD039, 0x0080, 0xDC09, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0034, 0x1292,
-0x1356, 0x12B0, 0xD06E, 0x490C, 0x12B0, 0xD06A, 0x412C, 0x12B0, 0xD06A,
-0x403C, 0x3FFD, 0x12B0, 0xD078, 0x434C, 0x12AA, 0x407C, 0x0088, 0x12AB,
-0x407C, 0x0024, 0x1292, 0x1356, 0x435C, 0x12AA, 0x5318, 0x9038, 0x0010,
-0x2BC0, 0x430C, 0x5221, 0x4030, 0xD426, 0x930C, 0x37CD, 0x403C, 0xFFD8,
-0x3FF8, 0x120A, 0x120B, 0x1208, 0xC232, 0x4303, 0x425E, 0x2780, 0x4E4F,
-0xE37F, 0x421D, 0x2784, 0x403A, 0x277E, 0xBEC2, 0x1100, 0x2407, 0xFFCD,
-0x0000, 0xCAED, 0x0000, 0xDECD, 0x0000, 0x3C04, 0xFFCD, 0x0000, 0xCAED,
-0x0000, 0xDAED, 0x0000, 0x403B, 0x150C, 0x4038, 0x1504, 0x934C, 0x2418,
-0xDECD, 0x0000, 0xDECD, 0x0000, 0x4A6C, 0xE37C, 0xFCCD, 0x0000, 0xDAED,
-0x0000, 0x482F, 0xEBEF, 0x0000, 0xC232, 0x4303, 0xFCCD, 0x0000, 0xDAED,
-0x0000, 0xD232, 0x482F, 0xEBEF, 0x0000, 0x3C18, 0xFFCD, 0x0000, 0xFFCD,
-0x0000, 0x4A6C, 0xE37C, 0xFCCD, 0x0000, 0xDAED, 0x0000, 0x482E, 0xEBEE,
-0x0000, 0xC232, 0x4303, 0xFCCD, 0x0000, 0xDAED, 0x0000, 0xD232, 0x482E,
-0xEBEE, 0x0000, 0x4F4E, 0x4EC2, 0x1100, 0x4030, 0xD428, 0x120C, 0x8321,
-0x4381, 0x0000, 0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2,
-0x2867, 0x01EA, 0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA,
-0x40B2, 0x286D, 0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x41D2,
-0x0003, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x42D1, 0x007E, 0x0001, 0xC0F2,
-0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x425E, 0x007E,
-0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033, 0xB31C, 0x2804, 0xD0F2,
-0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xDEC1, 0x0000, 0xD392,
-0x01F0, 0x412C, 0x5221, 0x4130, 0x120A, 0x8031, 0x0006, 0x403A, 0x1112,
-0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C, 0x00B0, 0x1292, 0x1354,
-0x3C16, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1, 0x0040, 0x0002, 0x2802,
-0x4382, 0x14C0, 0x416C, 0x430D, 0x1292, 0x135C, 0x411C, 0x0002, 0x411D,
-0x0004, 0x1292, 0x135C, 0x53F1, 0x0001, 0x93C1, 0x0001, 0x242A, 0x410C,
-0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2815, 0x416E, 0xC35E, 0x907E,
-0x008A, 0x2004, 0x421C, 0x1144, 0x430D, 0x3C08, 0x416C, 0x430D, 0x1292,
-0x135C, 0x430C, 0x430D, 0x1292, 0x135C, 0x4A2F, 0x129F, 0x000A, 0x3FDF,
-0x410C, 0x532C, 0x4A2F, 0x129F, 0x0018, 0x416E, 0xC35E, 0x907E, 0x008A,
-0x23C1, 0x4192, 0x0002, 0x1144, 0x3FD1, 0x430C, 0x5031, 0x0006, 0x413A,
-0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1292, 0x2756, 0x430B, 0x3C05,
-0x930B, 0x2403, 0x903B, 0x0003, 0x2005, 0x4308, 0x4219, 0x274E, 0x430C,
-0x3C11, 0x931B, 0x2402, 0x922B, 0x2003, 0x4318, 0x431C, 0x3C0A, 0x932B,
-0x2406, 0x903B, 0x0005, 0x2403, 0x903B, 0x0006, 0x2003, 0x4328, 0x432C,
-0x1289, 0x434C, 0x1292, 0x2754, 0x1292, 0x134E, 0x1292, 0x1350, 0x407C,
-0x0028, 0x1292, 0x1354, 0x4C4A, 0x1292, 0x2756, 0x903A, 0x0089, 0x2409,
-0x903A, 0x0091, 0x2406, 0x903A, 0x0095, 0x2403, 0x903A, 0x0099, 0x2008,
-0x4A0C, 0x12B0, 0xD904, 0x480C, 0x12B0, 0xD904, 0x430C, 0x3C0C, 0x531B,
-0x903B, 0x0007, 0x2BBE, 0x433C, 0x12B0, 0xD904, 0x403C, 0xAAAA, 0x12B0,
-0xD904, 0x433C, 0x4030, 0xD426, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x435B, 0x4038, 0x1360,
-0x4039, 0x1358, 0x4036, 0x1354, 0x3C03, 0x936B, 0x2001, 0x426B, 0x407C,
-0x0088, 0x12A6, 0x403C, 0x0034, 0x12A9, 0x12B0, 0xD230, 0x4B4C, 0x108C,
-0xF03C, 0x0F00, 0xD03C, 0x0060, 0x12B0, 0xD23A, 0x12B0, 0xD230, 0x403C,
-0x00FC, 0x12B0, 0xD23A, 0x430C, 0x12A9, 0x4C07, 0x434C, 0x12A8, 0x435C,
-0x12A8, 0x430C, 0x12A9, 0x4C0A, 0x434C, 0x12A8, 0x407C, 0x0088, 0x12A6,
-0x407C, 0x0024, 0x1292, 0x1356, 0x435C, 0x12A8, 0x4781, 0x0000, 0x4A81,
-0x0002, 0x403D, 0x0003, 0x410C, 0x421F, 0x1112, 0x129F, 0x0006, 0x535B,
-0x907B, 0x0010, 0x2BC3, 0x430C, 0x5221, 0x4030, 0xD422, 0x120A, 0x120B,
-0x1208, 0x1209, 0x434C, 0x1292, 0x276E, 0x4218, 0x275A, 0x4039, 0x0028,
-0x490C, 0x1288, 0x434C, 0x1292, 0x276C, 0x490C, 0x1288, 0x435C, 0x1292,
-0x276C, 0x490C, 0x1288, 0x435C, 0x1292, 0x276E, 0x490C, 0x1288, 0x435C,
-0x12B0, 0xD6B2, 0x430A, 0x430B, 0x407C, 0x0086, 0x1292, 0x1354, 0x430C,
-0x1292, 0x1358, 0x531A, 0x630B, 0x2020, 0x903A, 0x0BB8, 0x2C1D, 0xB31C,
-0x2BF5, 0x431C, 0x1292, 0x1358, 0x403C, 0xA55A, 0x1292, 0x1358, 0x1292,
-0x2756, 0x490C, 0x1288, 0x434C, 0x12B0, 0xD6B2, 0x494C, 0x1292, 0x1354,
-0x4C4C, 0x903C, 0x0095, 0x2408, 0x903C, 0x0091, 0x2405, 0x903C, 0x0099,
-0x2402, 0x433C, 0x3C01, 0x430C, 0x4030, 0xD426, 0x120A, 0x120B, 0x1208,
-0x8221, 0x430A, 0x430B, 0x4381, 0x0000, 0x4381, 0x0002, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x407C, 0x0028, 0x1292, 0x1354, 0x4C48, 0x9038,
-0x0089, 0x240B, 0x9038, 0x0091, 0x2408, 0x9038, 0x0095, 0x2405, 0x9038,
-0x0099, 0x2402, 0x432C, 0x3C2B, 0x407C, 0x00D0, 0x1292, 0x1354, 0x430C,
-0x1292, 0x1358, 0x4C08, 0x531A, 0x630B, 0x4C0F, 0xE33F, 0x5F0F, 0x7F0F,
-0xB12C, 0x2008, 0xB11F, 0x0002, 0x2005, 0x930B, 0x2003, 0x903A, 0x000A,
-0x2BEC, 0x930B, 0x200F, 0x903A, 0x000A, 0x2C0C, 0x431B, 0x431C, 0x421F,
-0x1112, 0x129F, 0x0008, 0x480C, 0x421F, 0x1112, 0x129F, 0x0008, 0x3C01,
-0x432B, 0x4B0C, 0x5221, 0x4030, 0xD428, 0x464C, 0x12AB, 0x435C, 0x4A20,
-0x407C, 0x00C1, 0x12AB, 0x411C, 0x0004, 0x430D, 0x1292, 0x135A, 0x407C,
-0x00A1, 0x4B20, 0x454C, 0x12AB, 0x430C, 0x12A8, 0xF07C, 0x0081, 0x907C,
-0x0081, 0x4130, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x407C, 0x0021, 0x12AB,
-0x430C, 0x430D, 0x1292, 0x135A, 0x4C81, 0x000A, 0x4D81, 0x000C, 0x4130,
-0x434C, 0x12AA, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0024, 0x12A4, 0x435C,
-0x4A20, 0x464C, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12AA, 0x474C,
-0x12AB, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12A8,
-0x434C, 0x12AA, 0x407C, 0x0042, 0x3FB9, 0x434C, 0x12AA, 0x12B0, 0xD790,
-0x407C, 0x0021, 0x3FB2, 0x930D, 0x3408, 0x1208, 0xE33C, 0xE33D, 0x531C,
-0x630D, 0x4038, 0x0197, 0x3C03, 0x1208, 0x4038, 0x0097, 0x903D, 0x0100,
-0x2C1C, 0x930D, 0x200F, 0x903C, 0x0100, 0x2806, 0x108C, 0x4C4D, 0xC03C,
-0x00FF, 0x8238, 0x3C06, 0x930C, 0x240D, 0x4C0D, 0x430C, 0x8038, 0x0010,
-0x8318, 0x5C0C, 0x6D4D, 0x2BFC, 0x1108, 0x104D, 0x100C, 0x1088, 0xD80D,
-0x4138, 0x4130, 0x1207, 0x4347, 0x903D, 0x0200, 0x2808, 0xC312, 0x100D,
-0x100C, 0x1047, 0x5318, 0x903D, 0x0200, 0x2FF8, 0x1108, 0x104D, 0x100C,
-0x1088, 0xD80D, 0x6747, 0x2806, 0xC312, 0x1047, 0x2001, 0x2802, 0x531C,
-0x630D, 0x4137, 0x4138, 0x4130, 0x435C, 0x12A9, 0x4030, 0xBCA8, 0x434C,
-0x12A9, 0x407C, 0x00C1, 0x4A20, 0x434C, 0x12A9, 0x435C, 0x4030, 0xBD02,
-0x12AB, 0x434C, 0x12A9, 0x435C, 0x4920, 0x407C, 0x0028, 0x12AA, 0x430C,
-0x4B20, 0x407C, 0x00F4, 0x12AA, 0x403C, 0x4020, 0x4B20, 0x407C, 0x00B0,
-0x12AA, 0x403C, 0x0088, 0x430D, 0x4620, 0x430D, 0x12A4, 0x435C, 0x12A9,
-0x434C, 0x12A9, 0x407C, 0x0042, 0x3FE7, 0x430D, 0x12A4, 0x435C, 0x12A9,
-0x407C, 0x00A1, 0x4A20, 0x12B0, 0xBD00, 0x403C, 0x0500, 0x12AB, 0x3FCB,
-0x434C, 0x12A9, 0x484C, 0x4A20, 0x12AB, 0x12B0, 0xBD00, 0x403C, 0x0501,
-0x12AB, 0x435C, 0x12A9, 0x4030, 0xBCA8, 0x120A, 0x43C2, 0x1100, 0x43C2,
-0x1396, 0x4382, 0x1112, 0x403A, 0xD202, 0x403E, 0x000A, 0x430D, 0x403C,
-0x1114, 0x128A, 0x403E, 0x0010, 0x430D, 0x403C, 0x1102, 0x128A, 0x403E,
-0x0020, 0x430D, 0x403C, 0x111E, 0x128A, 0x4382, 0x113E, 0x43C2, 0x1140,
-0x4382, 0x1142, 0x40B2, 0x0417, 0x1144, 0x4382, 0x14FE, 0x40B2, 0x0BB8,
-0x1502, 0x43D2, 0x150F, 0x43C2, 0x1510, 0x4382, 0x136C, 0x4382, 0x136E,
-0x4382, 0x150A, 0x43C2, 0x1511, 0x4382, 0x1508, 0x403E, 0x0006, 0x430D,
-0x403C, 0x137C, 0x128A, 0x403E, 0x0012, 0x430D, 0x403C, 0x1382, 0x128A,
-0x4392, 0x1398, 0x413A, 0x4130, 0x435C, 0x12A9, 0x434C, 0x4920, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x12B0, 0xD270, 0x3C0F, 0x12B0,
-0xBE18, 0x12B0, 0xBDEE, 0x12B0, 0xBDAA, 0x430C, 0x12A6, 0x4C8B, 0x0000,
-0x434C, 0x12A9, 0x12B0, 0xBDFE, 0x532B, 0x480F, 0x5338, 0x930F, 0x23ED,
-0x4030, 0xD422, 0x407C, 0x00C1, 0x12A7, 0x4A0C, 0x12A6, 0x407C, 0x00A1,
-0x4720, 0x407C, 0x00C8, 0x12A7, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021,
-0x12A7, 0x435C, 0x12A9, 0x532A, 0x4130, 0x407C, 0x0082, 0x12A7, 0x403C,
-0x3FFF, 0x12A6, 0x434C, 0x12A9, 0x407C, 0x00C8, 0x12A7, 0x403C, 0x2409,
-0x12A6, 0x3FBA, 0x120A, 0x120B, 0x1208, 0x1209, 0x8321, 0x431A, 0x403B,
-0x1360, 0x4038, 0x1358, 0x4039, 0x1354, 0x3C03, 0x932A, 0x2001, 0x422A,
-0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x903A, 0x000F, 0x2429, 0x930C,
-0x2029, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x3401, 0x12A8, 0x407C, 0x0082,
-0x12A9, 0x4A0C, 0xD03C, 0x4030, 0x12B0, 0xD772, 0x412C, 0x12B0, 0xD772,
-0x403C, 0x3FFD, 0x12B0, 0xD4E4, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x12A9,
-0x403C, 0x2401, 0x12A8, 0x435C, 0x12AB, 0x531A, 0x903A, 0x0010, 0x2BD0,
-0x430C, 0x5321, 0x4030, 0xD426, 0x930C, 0x37D7, 0x403C, 0xFFD8, 0x3FF8,
-0x120A, 0x120B, 0x8031, 0x0006, 0x403A, 0x1112, 0x410C, 0x531C, 0x4A2F,
-0x129F, 0x0014, 0x407C, 0x00B0, 0x1292, 0x1354, 0x403B, 0x135C, 0x3C19,
-0x410C, 0x532C, 0x4A2F, 0x129F, 0x0018, 0x416C, 0x430D, 0x12AB, 0x411C,
-0x0002, 0x411D, 0x0004, 0x12AB, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1,
-0x0040, 0x0002, 0x2802, 0x4382, 0x14C0, 0x53F1, 0x0001, 0x93C1, 0x0001,
-0x2411, 0x410C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BDD, 0x416C,
-0x430D, 0x12AB, 0x430C, 0x430D, 0x12AB, 0x4A2F, 0x129F, 0x000A, 0x3FEA,
-0x430C, 0x5031, 0x0006, 0x413B, 0x413A, 0x4130, 0x435C, 0x12A6, 0x4030,
-0xBFB0, 0x12B0, 0xBFB0, 0x434C, 0x4620, 0x474C, 0x12A9, 0x403C, 0x1501,
-0x4820, 0x430D, 0x12A7, 0x431C, 0x430D, 0x4720, 0x12B0, 0xBFAE, 0x403C,
-0x3FFD, 0x12A8, 0x434C, 0x4620, 0x407C, 0x0030, 0x4920, 0x434C, 0x12A6,
-0x407C, 0x00C1, 0x4920, 0x434C, 0x12A6, 0x407C, 0x0042, 0x12A9, 0x435C,
-0x4620, 0x474C, 0x12A9, 0x403C, 0x0501, 0x4820, 0x474C, 0x12A9, 0x403C,
-0x0501, 0x12A8, 0x434C, 0x12A6, 0x435C, 0x4620, 0x430D, 0x12A7, 0x430C,
-0x430D, 0x4720, 0x12A8, 0x474C, 0x12A9, 0x403C, 0x1401, 0x12A8, 0x444C,
-0x12A9, 0x4030, 0xBFB0, 0x120A, 0x120B, 0x1208, 0x8231, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x4038, 0x1360, 0x434C, 0x12A8, 0x430A, 0x430B, 0x3C1E, 0x407C, 0x00C1,
-0x1292, 0x1354, 0x412C, 0x411D, 0x0002, 0x1292, 0x135A, 0x435C, 0x12A8,
-0x434C, 0x12A8, 0x407C, 0x0042, 0x1292, 0x1354, 0x430C, 0x1292, 0x1358,
-0x421F, 0x1112, 0x129F, 0x0008, 0x53A1, 0x0000, 0x6381, 0x0002, 0x531A,
-0x630B, 0x911B, 0x0006, 0x2BDF, 0x2003, 0x911A, 0x0004, 0x2BDB, 0x435C,
-0x12A8, 0x434C, 0x12A8, 0x435C, 0x12A8, 0x430C, 0x5231, 0x4030, 0xD428,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x435A, 0x403B, 0x1360, 0x4038,
-0x1358, 0x4039, 0x1354, 0x3C03, 0x936A, 0x2001, 0x426A, 0x407C, 0x00C8,
-0x12A9, 0x403C, 0x3401, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x4A4C, 0x108C,
-0xF03C, 0x0F00, 0xD03C, 0x4082, 0x12B0, 0xD514, 0x407C, 0x0082, 0x12A9,
-0x403C, 0x00FE, 0x12B0, 0xD514, 0x434C, 0x12AB, 0x435C, 0x12AB, 0x430C,
-0x12A8, 0x4C06, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x2401,
-0x12A8, 0x435C, 0x12AB, 0x460C, 0x421F, 0x1112, 0x129F, 0x0008, 0x535A,
-0x907A, 0x0010, 0x2BCB, 0x430C, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208,
-0x1209, 0x4308, 0x430A, 0x430B, 0x3C08, 0xB329, 0x2836, 0x930B, 0x3804,
-0x2033, 0x903A, 0x1388, 0x2C30, 0x434C, 0x1292, 0x1360, 0x407C, 0x0028,
-0x1292, 0x1354, 0x430C, 0x1292, 0x1358, 0x4C09, 0x9318, 0x380B, 0xB32C,
-0x2C16, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x3400, 0x1292, 0x1358,
-0x3C0D, 0x9308, 0x200B, 0xB32C, 0x2809, 0x407C, 0x00C8, 0x1292, 0x1354,
-0x403C, 0x3402, 0x1292, 0x1358, 0x4318, 0x435C, 0x1292, 0x1360, 0x531A,
-0x630B, 0x9038, 0x000A, 0x3BCB, 0x433C, 0x433D, 0x3C02, 0x430C, 0x430D,
-0x4030, 0xD426, 0x120A, 0x120B, 0x1208, 0x1209, 0x4308, 0x430A, 0x430B,
-0x3C08, 0xB329, 0x2836, 0x930B, 0x3804, 0x2033, 0x903A, 0x1388, 0x2C30,
-0x434C, 0x1292, 0x1360, 0x407C, 0x0028, 0x1292, 0x1354, 0x430C, 0x1292,
-0x1358, 0x4C09, 0x9318, 0x380B, 0xB32C, 0x2C16, 0x407C, 0x00C8, 0x1292,
-0x1354, 0x403C, 0x3400, 0x1292, 0x1358, 0x3C0D, 0x9308, 0x200B, 0xB32C,
-0x2809, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x3402, 0x1292, 0x1358,
-0x4318, 0x435C, 0x1292, 0x1360, 0x531A, 0x630B, 0x9038, 0x000A, 0x3BCB,
-0x433C, 0x433D, 0x3C02, 0x430C, 0x430D, 0x4030, 0xD426, 0x40B2, 0x0006,
-0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2867, 0x01EA, 0x40B2, 0x2871,
-0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA, 0x40B2, 0x286D, 0x01F2, 0xD0B2,
-0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8, 0xD0F2, 0x000E,
-0x0033, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
-0x425E, 0x007E, 0x5E4E, 0xF0F2, 0x00F1, 0x0033, 0xB35C, 0x2804, 0xD0F2,
-0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7F4F, 0x535F, 0xD392, 0x01F0, 0xDF4E,
-0x4E4C, 0x4130, 0x474C, 0x4030, 0xC2C2, 0x474C, 0x12B0, 0xC2C2, 0x403C,
-0xD034, 0x4820, 0x407C, 0x0021, 0x12AB, 0x430C, 0x12A8, 0x4C81, 0x000A,
-0x4381, 0x000C, 0x4130, 0x444C, 0x12AB, 0x430C, 0x12A8, 0xF07C, 0x0081,
-0x907C, 0x0081, 0x4130, 0x12A8, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12AB,
-0x435C, 0x4A20, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x12B0, 0xD5F6, 0x435C,
-0x4A20, 0x474C, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12AA, 0x494C,
-0x12AB, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12B0,
-0xD5F6, 0x407C, 0x0021, 0x4030, 0xC2C2, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x403A, 0x1354, 0x407B, 0x0088, 0x4B4C,
-0x12AA, 0x4038, 0x1358, 0x403C, 0x0034, 0x12A8, 0x4079, 0x0082, 0x494C,
-0x12AA, 0x4036, 0x1360, 0x435C, 0x12A6, 0x403C, 0x0960, 0x12A8, 0x434C,
-0x12A6, 0x4077, 0x0042, 0x12B0, 0xCFF6, 0x4C04, 0x12B0, 0xD90C, 0x4C05,
-0x12B0, 0xD4D4, 0x4B4C, 0x12AA, 0x403C, 0x0034, 0x12A8, 0x12B0, 0xD8F4,
-0x403C, 0x0A60, 0x12A8, 0x434C, 0x12A6, 0x12B0, 0xCFF6, 0x4C07, 0x12B0,
-0xD90C, 0x12B0, 0xD4D4, 0x470D, 0x440C, 0xD50D, 0x4030, 0xD41E, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C05, 0x4C2A,
-0x4C1B, 0x0002, 0x4038, 0x1360, 0x434C, 0x12A8, 0x4039, 0x1354, 0x4074,
-0x0082, 0x12B0, 0xC866, 0x4036, 0x1358, 0x12B0, 0xC876, 0x503C, 0x0085,
-0x12A6, 0x4077, 0x00C8, 0x12B0, 0xC886, 0x451A, 0x0004, 0x451B, 0x0006,
-0x12B0, 0xC86E, 0x503C, 0x0086, 0x12B0, 0xC884, 0x451A, 0x0008, 0x451B,
-0x000A, 0x12B0, 0xC86E, 0x503C, 0x0089, 0x12B0, 0xC884, 0x451A, 0x000C,
-0x451B, 0x000E, 0x12B0, 0xC86E, 0x503C, 0x0088, 0x12B0, 0xC884, 0x4030,
-0xD41E, 0x42B2, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2859, 0x01EA,
-0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2851, 0x01EA, 0x40B2, 0x286D,
-0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8,
-0xD0F2, 0x000E, 0x0033, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2,
-0x0079, 0x2BFD, 0xF0F2, 0x00F1, 0x0033, 0xB35C, 0x2804, 0xD0F2, 0x0003,
-0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0x425C, 0x007E, 0x5C4C, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xD392,
-0x01F0, 0xDE4C, 0x4130, 0x120A, 0x120B, 0x1208, 0x4C08, 0x4E0A, 0x4F0B,
-0x12B0, 0xBD1C, 0x4A82, 0x136C, 0x4B82, 0x136E, 0xB23A, 0x2804, 0x432F,
-0x403B, 0x0535, 0x3C03, 0x431F, 0x403B, 0x07CF, 0x4B82, 0x1378, 0x4F82,
-0x1374, 0x403E, 0x000A, 0x403D, 0x253A, 0x403C, 0x1114, 0x12B0, 0xD1A2,
-0x4882, 0x1112, 0x12B0, 0xCD6A, 0x9382, 0x128C, 0x2009, 0xB2B2, 0x136C,
-0x2C06, 0x40B2, 0xFFFE, 0x128A, 0x4292, 0x275C, 0x128C, 0x12B0, 0xAFDE,
-0x40B2, 0x040F, 0x1144, 0x40B2, 0x0052, 0x111A, 0x40B2, 0x1146, 0x111C,
-0x403C, 0x1114, 0x4030, 0xD428, 0x120A, 0x120B, 0x8221, 0x403A, 0x1112,
-0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C, 0x0090, 0x1292, 0x1354,
-0x403B, 0x1358, 0x3C16, 0x410C, 0x532C, 0x4A2F, 0x129F, 0x0016, 0x416C,
-0x12AB, 0x411C, 0x0002, 0x12AB, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1,
-0x0040, 0x0002, 0x2802, 0x4382, 0x14C0, 0x53F1, 0x0001, 0x93C1, 0x0001,
-0x240F, 0x410C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BE0, 0x416C,
-0x12AB, 0x430C, 0x12AB, 0x4A2F, 0x129F, 0x0008, 0x3FEC, 0x430C, 0x5221,
-0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x8221, 0x4291,
-0x2772, 0x0000, 0x4291, 0x2774, 0x0002, 0x403A, 0x1360, 0x434C, 0x12AA,
-0x403B, 0x1354, 0x4078, 0x00C8, 0x484C, 0x12AB, 0x4039, 0x1358, 0x12B0,
-0xD72A, 0x403C, 0xFF80, 0x12B0, 0xD504, 0x412C, 0x12B0, 0xD0A2, 0x434C,
-0x12AA, 0x484C, 0x12AB, 0x12B0, 0xD72A, 0x403C, 0xFF82, 0x12B0, 0xD504,
-0x411C, 0x0002, 0x12B0, 0xD0A2, 0x407C, 0x0054, 0x12AB, 0x403C, 0x0200,
-0x430D, 0x1292, 0x135C, 0x430C, 0x5221, 0x4030, 0xD426, 0x120A, 0x120B,
-0x8221, 0x403A, 0x1112, 0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C,
-0x0090, 0x1292, 0x1354, 0x403B, 0x1358, 0x3C12, 0x410C, 0x532C, 0x4A2F,
-0x129F, 0x0016, 0x90F1, 0x0088, 0x0000, 0x2002, 0xD391, 0x0002, 0x416C,
-0x12AB, 0x411C, 0x0002, 0x12AB, 0x53F1, 0x0001, 0x93C1, 0x0001, 0x240F,
-0x410C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BE4, 0x416C, 0x12AB,
-0x430C, 0x12AB, 0x4A2F, 0x129F, 0x0008, 0x3FEC, 0x430C, 0x5221, 0x413B,
-0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x4038, 0x1354, 0x4079, 0x00C8, 0x494C, 0x12A8, 0x12B0, 0xD844, 0x407B,
-0x0082, 0x4B4C, 0x12A8, 0x403C, 0x4982, 0x12A6, 0x4037, 0x1360, 0x434C,
-0x12A7, 0x4074, 0x0042, 0x12B0, 0xCE9C, 0x4C0A, 0x12B0, 0xD322, 0x494C,
-0x12A8, 0x403C, 0x3401, 0x12A6, 0x4B4C, 0x12A8, 0x403C, 0x4A82, 0x12A6,
-0x434C, 0x12A7, 0x12B0, 0xCE9C, 0x4C0B, 0x12B0, 0xD322, 0x4A0C, 0x4B0D,
-0x4030, 0xD420, 0x120A, 0x407C, 0x0044, 0x1292, 0x1354, 0x431C, 0x1292,
-0x275A, 0x43D2, 0x1396, 0x407C, 0x0024, 0x1292, 0x1354, 0x421A, 0x2784,
-0xC2DA, 0x2780, 0x0000, 0xC2DA, 0x277E, 0x0000, 0xD2DA, 0x277E, 0x0000,
-0x431C, 0x430D, 0x12B0, 0x45AE, 0xD2DA, 0x2780, 0x0000, 0x403C, 0x0003,
-0x1292, 0x275A, 0x430C, 0x430D, 0x12B0, 0x45AE, 0x407C, 0x0054, 0x1292,
-0x1354, 0x403C, 0x0200, 0x430D, 0x1292, 0x135C, 0x430C, 0x413A, 0x4130,
-0x120A, 0x120B, 0x1208, 0x1209, 0x4C0A, 0x4D0B, 0x4038, 0x1354, 0x407C,
-0x0088, 0x12A8, 0x407C, 0x0034, 0x1292, 0x1356, 0x407C, 0x0082, 0x12A8,
-0x12B0, 0xD54E, 0xD03C, 0x0080, 0x1292, 0x1358, 0x4039, 0x1360, 0x434C,
-0x12A9, 0x435C, 0x12A9, 0x4A0C, 0x1292, 0x1358, 0x434C, 0x12A9, 0x407C,
-0x0021, 0x12A8, 0x12B0, 0xBDAA, 0x407C, 0x0088, 0x12A8, 0x12B0, 0xD9FC,
-0x435C, 0x12A9, 0x4030, 0xD426, 0x120A, 0x403A, 0x1354, 0x934C, 0x200A,
-0x407C, 0x00C8, 0x12AA, 0x403C, 0x7401, 0x1292, 0x1358, 0x434C, 0x12B0,
-0x453A, 0x407C, 0x0044, 0x12AA, 0x431C, 0x1292, 0x275A, 0x431C, 0x430D,
-0x12B0, 0x45AE, 0x407C, 0x0024, 0x12AA, 0x431C, 0x1292, 0x275A, 0x430C,
-0x430D, 0x12B0, 0x45AE, 0x435C, 0x12B0, 0x453A, 0x407C, 0x0054, 0x12AA,
-0x403C, 0x0200, 0x430D, 0x1292, 0x135C, 0x430C, 0x413A, 0x4130, 0x434C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x435C, 0x12A6, 0x4A0C, 0x12A9, 0x434C,
-0x4620, 0x444C, 0x12A8, 0x430C, 0x430D, 0x1292, 0x135A, 0x454C, 0x12A8,
-0x403C, 0x0501, 0x12A9, 0x435C, 0x12A6, 0x444C, 0x4820, 0x454C, 0x12A8,
-0x403C, 0x1400, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x434C, 0x12A6, 0x435C,
-0x12A6, 0x4B0C, 0x12A9, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x403C, 0x4303,
-0x3FD9, 0x444C, 0x12A9, 0x435C, 0x4820, 0x434C, 0x12A8, 0x12B0, 0xC866,
-0x4A0C, 0x4B0D, 0x12B0, 0xD196, 0xF03C, 0x0F00, 0x4130, 0x12A6, 0x474C,
-0x12A9, 0x403C, 0x1401, 0x12A6, 0x444C, 0x12A9, 0x12B0, 0xD800, 0x4A0C,
-0x12B0, 0xD7FE, 0x403C, 0x3FFD, 0x12B0, 0xD95C, 0x12B0, 0xD430, 0x12A8,
-0x474C, 0x12A9, 0x403C, 0x0501, 0x12B0, 0xD95C, 0x407C, 0x0042, 0x4030,
-0xC868, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C08, 0x4E0A, 0x4039,
-0x1354, 0x407C, 0x00C8, 0x12A9, 0x12B0, 0xD844, 0x12B0, 0xD53A, 0xD038,
-0x4030, 0x480C, 0x12A6, 0x4038, 0x1360, 0x12B0, 0xD532, 0x4A0C, 0x12A6,
-0x12B0, 0xD532, 0x403C, 0x3FFD, 0x12A6, 0x12B0, 0xD7A4, 0x12B0, 0xD83A,
-0x12A9, 0x403C, 0x2401, 0x12A6, 0x435C, 0x12A8, 0x4030, 0xD424, 0x12B0,
-0xC920, 0x430C, 0x4030, 0x8D6A, 0x40B2, 0xC304, 0x14A2, 0x40B2, 0xB2B0,
-0x14A4, 0x40B2, 0xC744, 0x14A6, 0x40B2, 0xCB78, 0x14A8, 0x40B2, 0xCB30,
-0x14AA, 0x4292, 0x11E4, 0x14AC, 0x4130, 0x12B0, 0xC94E, 0x4030, 0x8D6A,
-0x12B0, 0xCE4C, 0x40B2, 0xCDA2, 0x14A6, 0x12B0, 0xCE5A, 0x431C, 0x4130,
-0x12B0, 0xCE3E, 0x3FDA, 0x434C, 0x12AB, 0x407C, 0x0082, 0x12A9, 0x435C,
-0x4B20, 0x474C, 0x12A9, 0x435C, 0x12AB, 0x430C, 0x12A8, 0x4C81, 0x0002,
-0x12B0, 0xD756, 0x12AB, 0x430C, 0x12A8, 0x4C05, 0x12B0, 0xD756, 0x12B0,
-0xD754, 0x12B0, 0xD754, 0x12AB, 0x9382, 0x1398, 0x2005, 0x407C, 0x00C8,
-0x12A9, 0x440C, 0x12A8, 0x434C, 0x12AB, 0x474C, 0x3FDC, 0x12B0, 0xD0BE,
-0x4820, 0x12B0, 0xC9E6, 0x12B0, 0xC9B6, 0x403C, 0x3FFD, 0x12B0, 0xC9E6,
-0x464C, 0x12AB, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x454C, 0x12AB, 0x407C,
-0x0024, 0x12A4, 0x435C, 0x4820, 0x12A9, 0x434C, 0x4820, 0x4C81, 0x0002,
-0x454C, 0x12B0, 0xD0CE, 0x12A8, 0x411C, 0x0002, 0x12A9, 0x434C, 0x12A8,
-0x3FD9, 0xD3E2, 0x0031, 0xD3D2, 0x0031, 0xD2F2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031,
-0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xC3D2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0x430C, 0x4130, 0x1206, 0x1207, 0x4D06, 0xD07D, 0x0080, 0x6606,
-0x6707, 0x1086, 0xF376, 0x8076, 0x007F, 0x2814, 0x8076, 0x0018, 0x280A,
-0x9236, 0x3412, 0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x4137, 0x4136,
-0x4130, 0xE376, 0x27FA, 0x110D, 0x100C, 0x8356, 0x23FC, 0x3FF5, 0x430C,
-0x430D, 0x3FF2, 0x433C, 0x433D, 0x3FEF, 0x1285, 0x4C0F, 0xDD0F, 0x930F,
-0x4130, 0x464C, 0x12AB, 0x403C, 0x0082, 0x4820, 0x494C, 0x12AB, 0x403C,
-0x3400, 0x4820, 0x444C, 0x12AB, 0x430C, 0x4820, 0x407C, 0x00C1, 0x12AB,
-0x411C, 0x0004, 0x12A8, 0x407C, 0x00A1, 0x4130, 0x494C, 0x12AB, 0x403C,
-0x3401, 0x12A8, 0x474C, 0x4B20, 0x12A8, 0x3FDB, 0x120A, 0x120B, 0x1292,
-0x134E, 0x1292, 0x1350, 0x407A, 0x0003, 0x407C, 0x0028, 0x1292, 0x1354,
-0x403C, 0xAAAA, 0x1292, 0x1358, 0x4C0B, 0x903C, 0x5555, 0x2006, 0x403C,
-0x5555, 0x421F, 0x1112, 0x129F, 0x0008, 0x537A, 0x23EC, 0x4B0C, 0x421F,
-0x1112, 0x129F, 0x0008, 0x430C, 0x413B, 0x413A, 0x4130, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x4C0A, 0x4D0B, 0x4E07, 0x12B0, 0xD5BE,
-0x3C12, 0x12B0, 0xCFB2, 0x12B0, 0xD2C0, 0x12B0, 0xCFCE, 0x430C, 0x12A9,
-0x4C8B, 0x0000, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x12B0, 0xD358, 0x532A,
-0x532B, 0x470F, 0x5337, 0x930F, 0x23EA, 0x4030, 0xD422, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x4C0A, 0x4D07, 0x4E0B, 0x12B0, 0xD5BE,
-0x3C11, 0x12B0, 0xCFB2, 0x407C, 0x0048, 0x12A6, 0x427C, 0x1292, 0x1356,
-0x12B0, 0xD2C0, 0x473C, 0x12A9, 0x12B0, 0xD83A, 0x12B0, 0xD358, 0x532A,
-0x4B0F, 0x533B, 0x930F, 0x23EB, 0x4030, 0xD422, 0x8321, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0014, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C15, 0x416C,
-0x1292, 0x274E, 0x930C, 0x2403, 0x403C, 0xFFEA, 0x3C0D, 0x434C, 0x1292,
-0x2754, 0x1292, 0x134E, 0x1292, 0x1350, 0x435C, 0x421F, 0x1112, 0x129F,
-0x0004, 0x430C, 0x5321, 0x4130, 0x435C, 0x12A6, 0x407C, 0x0048, 0x12AA,
-0x435C, 0x1292, 0x1356, 0x435C, 0x12A6, 0x4307, 0x407C, 0x0028, 0x12AA,
-0x430C, 0x12A8, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2408, 0x434C, 0x12A6,
-0x435C, 0x12A6, 0x5317, 0x9037, 0x000A, 0x2BEE, 0x9037, 0x000A, 0x4130,
-0x120A, 0x407C, 0x0086, 0x12B0, 0x7674, 0x421A, 0x275A, 0x403C, 0x000A,
-0x128A, 0x431E, 0x430F, 0x403C, 0x0010, 0x12B0, 0x839C, 0x403C, 0x000A,
-0x128A, 0x403E, 0xA55A, 0x430F, 0x403C, 0x0010, 0x12B0, 0x839C, 0x403C,
-0x000F, 0x128A, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x12B0, 0xD270, 0x3C10, 0x12B0, 0xBE18, 0x407C, 0x0048, 0x12A7,
-0x427C, 0x1292, 0x1356, 0x12B0, 0xBDEE, 0x4B3C, 0x12A6, 0x12B0, 0xBDAA,
-0x12B0, 0xBDFE, 0x480F, 0x5338, 0x930F, 0x23EC, 0x4030, 0xD422, 0x12A6,
-0x434C, 0x12A9, 0x407C, 0x0042, 0x12B0, 0xCCF4, 0x484C, 0x4030, 0xCCF4,
-0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x12B0, 0xCCF4, 0x434C, 0x12A9,
-0x444C, 0x12AA, 0x407C, 0x0024, 0x12AB, 0x435C, 0x4920, 0x474C, 0x12AA,
-0x435C, 0x4920, 0x435C, 0x12A9, 0x407C, 0x0048, 0x12AA, 0x435C, 0x12A5,
-0x435C, 0x12A9, 0x4306, 0x12B0, 0xD7D6, 0xF07C, 0x0081, 0x907C, 0x0081,
-0x2408, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x5316, 0x9036, 0x000A, 0x2BF1,
-0x9036, 0x000A, 0x4130, 0x1209, 0x120A, 0x120B, 0x430A, 0x430B, 0x4039,
-0x0020, 0x5C0C, 0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C,
-0x5339, 0x23F6, 0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F,
-0x413B, 0x413A, 0x4139, 0x4130, 0x434E, 0x4E4F, 0x5F0F, 0x5F0F, 0x4F9F,
-0x2544, 0x1146, 0x4F9F, 0x2546, 0x1148, 0x535E, 0x907E, 0x0050, 0x2BF3,
-0x407E, 0x0050, 0x4E4F, 0x5F0F, 0x5F0F, 0x43BF, 0x1146, 0x438F, 0x1148,
-0x535E, 0x907E, 0x0052, 0x2BF5, 0x4130, 0x120A, 0x120B, 0x1208, 0x4C0A,
-0x407C, 0x0082, 0x1292, 0x1354, 0x403C, 0x4030, 0x1292, 0x1358, 0x4038,
-0x1360, 0x12B0, 0xCFCE, 0x4A0C, 0x1292, 0x1358, 0x12B0, 0xCFCE, 0x12B0,
-0xCFCE, 0x435C, 0x12A8, 0x4030, 0xD428, 0x1292, 0x275A, 0x407C, 0x0086,
-0x12A9, 0x430C, 0x12A8, 0xB23C, 0x280C, 0x403C, 0x0014, 0x12A8, 0x430C,
-0x12A8, 0x4C07, 0x430C, 0x12A8, 0x4781, 0x0004, 0x4C81, 0x0006, 0x5314,
-0x6305, 0x90B1, 0xBABE, 0x0004, 0x4130, 0x8221, 0x4381, 0x0002, 0x4381,
-0x0000, 0x410D, 0x410C, 0x532C, 0x1292, 0x274C, 0x411C, 0x0002, 0x421F,
-0x1112, 0x129F, 0x0008, 0x412C, 0x421F, 0x1112, 0x129F, 0x0008, 0x430C,
-0x5221, 0x4130, 0x12B0, 0xCE4C, 0x40B2, 0xB242, 0x14A6, 0x4030, 0xCE5A,
-0x40B2, 0xC670, 0x14A2, 0x40B2, 0xC8C0, 0x14A4, 0x4130, 0x40B2, 0xCC80,
-0x14A8, 0x40B2, 0xBDB2, 0x14AA, 0x4292, 0x1190, 0x14AC, 0x4130, 0x1202,
-0xC232, 0x4303, 0x4C82, 0x0130, 0x4E82, 0x0138, 0x4C82, 0x0134, 0x421C,
-0x013A, 0x4292, 0x013C, 0x013A, 0x4F82, 0x0138, 0x4D82, 0x0134, 0x4E82,
-0x0138, 0x421D, 0x013A, 0x1300, 0x444C, 0x12A8, 0x435C, 0x12A7, 0x4B4C,
-0x12A8, 0x403C, 0x00FE, 0x12A6, 0x434C, 0x12A7, 0x444C, 0x12A8, 0x435C,
-0x12A7, 0x434C, 0x12A7, 0x435C, 0x12A7, 0x430C, 0x4620, 0xD3D2, 0x0031,
-0xC3D2, 0x0031, 0x403C, 0x0005, 0x1292, 0x2758, 0xD3D2, 0x0031, 0xC3D2,
-0x0031, 0x403C, 0x0005, 0x1292, 0x2758, 0xD3D2, 0x0031, 0x430C, 0x4130,
-0x120A, 0x8321, 0x433A, 0x43C1, 0x0000, 0x410C, 0x421F, 0x1112, 0x129F,
-0x0014, 0x933C, 0x2404, 0x416C, 0x1292, 0x1368, 0x430A, 0x4A0C, 0x5321,
-0x413A, 0x4130, 0x907B, 0x0010, 0x2807, 0x4D0C, 0x4E0D, 0x4F0E, 0x430F,
-0x807B, 0x0010, 0x3FF6, 0x934B, 0x2407, 0xC312, 0x100F, 0x100E, 0x100D,
-0x100C, 0x835B, 0x23F9, 0x4130, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x490C,
-0x4820, 0x12B0, 0xCF3E, 0x435C, 0x4620, 0x434C, 0x12A6, 0x4B4C, 0x12AA,
-0x403C, 0x2C01, 0x12A8, 0x435C, 0x4030, 0xCF40, 0x407C, 0x00F4, 0x12B0,
-0x7674, 0x403C, 0x000A, 0x1292, 0x275A, 0x403E, 0x4020, 0x430F, 0x403C,
-0x0010, 0x12B0, 0x839C, 0x403C, 0x000A, 0x4210, 0x275A, 0xD0F2, 0x0040,
-0x0029, 0x421F, 0x1504, 0xC2DF, 0x150C, 0x0000, 0x431C, 0x1292, 0x275A,
-0x421F, 0x1504, 0xD3DF, 0x0000, 0xC0F2, 0x0020, 0x0029, 0x4130, 0x407C,
-0x0082, 0x12A6, 0x403C, 0x3FFF, 0x12A9, 0x434C, 0x12A8, 0x407C, 0x00C8,
-0x12A6, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x434C, 0x4820, 0x12B0,
-0xD48E, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x403C,
-0x2409, 0x12A8, 0x435C, 0x12A6, 0x434C, 0x4620, 0x474C, 0x12B0, 0xD8F6,
-0x12B0, 0xD8F4, 0x403C, 0x00FC, 0x12A8, 0x434C, 0x12A6, 0x474C, 0x12B0,
-0xD8F6, 0x430C, 0x4820, 0x482F, 0x4F10, 0x0008, 0x5C0C, 0x5C0C, 0x12AA,
-0x12B0, 0xD9C4, 0x430D, 0x482F, 0x129F, 0x000A, 0x12B0, 0xD9C4, 0x3FF1,
-0xF37C, 0xF37E, 0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E, 0x9F0E,
-0x2801, 0x8F0E, 0x6C0C, 0x2BF9, 0x4130, 0x12B0, 0xD05C, 0x407C, 0x0082,
-0x12A9, 0x435C, 0x4620, 0x1292, 0x1358, 0x434C, 0x12A6, 0x407C, 0x0042,
-0x3FF6, 0x12B0, 0xD078, 0x407C, 0x0082, 0x12AB, 0x435C, 0x4A20, 0x1292,
-0x1358, 0x434C, 0x12AA, 0x407C, 0x0042, 0x3FF6, 0xF37C, 0xF37E, 0x1202,
-0xC232, 0x4303, 0x4C82, 0x0130, 0x4E82, 0x0138, 0x421C, 0x013A, 0x421D,
-0x013C, 0x1300, 0x12A9, 0x434C, 0x12AA, 0x484C, 0x12AB, 0x403C, 0x0501,
-0x12A9, 0x435C, 0x12AA, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x464C, 0x12AB,
-0x435C, 0x12A8, 0x474C, 0x12AB, 0x435C, 0x4130, 0x12AB, 0x407C, 0x0034,
-0x12A4, 0x3FF7, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D,
-0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x4130, 0x12A8, 0x407C, 0x00C8,
-0x12A9, 0x403C, 0x1401, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x12B0, 0xD756,
-0x4B20, 0x12B0, 0xD172, 0x450C, 0x12A9, 0x435C, 0x12A7, 0x484C, 0x12AB,
-0x403C, 0x3401, 0x12A9, 0x464C, 0x4B20, 0x407C, 0x0094, 0x1292, 0x1354,
-0x434C, 0x1292, 0x1356, 0x421F, 0x1112, 0x129F, 0x0004, 0x430C, 0x4130,
-0x12B0, 0x81EE, 0x12AA, 0x12B0, 0xD84E, 0x12B0, 0x81FE, 0x403C, 0x2409,
-0x12B0, 0x814E, 0x434C, 0x4A20, 0x8321, 0x410C, 0x421F, 0x1112, 0x129F,
-0x0016, 0x412C, 0x1292, 0x274A, 0x430C, 0x5321, 0x4130, 0x12B0, 0xD594,
-0x464C, 0x12AB, 0x403C, 0x3FFD, 0x12B0, 0xD594, 0x434C, 0x12A7, 0x484C,
-0x4B20, 0xC312, 0x100D, 0x100C, 0xC312, 0x100D, 0x100C, 0x108C, 0x108D,
-0xED4C, 0xED0C, 0xF37D, 0x4130, 0x120A, 0x4C0A, 0x3C03, 0x4DFA, 0x0000,
-0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A, 0x4130, 0x4C0F, 0x930F,
-0x2408, 0x421E, 0x1378, 0x930E, 0x2402, 0x533E, 0x3FFC, 0x533F, 0x3FF6,
-0x4130, 0x482F, 0x4F10, 0x0008, 0x12AB, 0x12B0, 0xD6E2, 0x482F, 0x129F,
-0x000A, 0x12B0, 0xD6E2, 0x3FF4, 0x4C0F, 0x930F, 0x2408, 0x421E, 0x1374,
-0x930E, 0x2402, 0x533E, 0x3FFC, 0x533F, 0x3FF6, 0x4130, 0x120A, 0x4C0A,
-0x3C03, 0x4DCA, 0x0000, 0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A,
-0x4130, 0x422C, 0x462F, 0x129F, 0x0008, 0x430C, 0x430D, 0x462F, 0x129F,
-0x000A, 0x430C, 0x4130, 0x407C, 0x0082, 0x12A6, 0x435C, 0x4820, 0x12A9,
-0x434C, 0x12A8, 0x407C, 0x0042, 0x3FF7, 0x12B0, 0xA178, 0x12B0, 0xA154,
-0x484C, 0x12AB, 0x403C, 0x3401, 0x12A9, 0x464C, 0x4B20, 0x403C, 0x0003,
-0x1292, 0x1230, 0x410C, 0x503C, 0x002E, 0x462F, 0x4F10, 0x0010, 0x4C0A,
-0x4D0B, 0x4E08, 0x4039, 0x1360, 0x4036, 0x1358, 0x4037, 0x1354, 0x4130,
-0x434C, 0x12B0, 0xD740, 0x407C, 0x0028, 0x12A7, 0x4C4A, 0x903A, 0x0095,
-0x4130, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x0012, 0x4214, 0x1112,
-0x4410, 0x000E, 0x12B0, 0xD314, 0x403C, 0x4030, 0x12AB, 0x12B0, 0x80DC,
-0x421C, 0x13AA, 0x4130, 0x407C, 0x00C1, 0x12A6, 0x4A0C, 0x430D, 0x1292,
-0x135A, 0x407C, 0x00A1, 0x4620, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C,
-0x0010, 0x4215, 0x1112, 0x4510, 0x000E, 0x12B0, 0xD140, 0x407C, 0x00C1,
-0x12B0, 0x817E, 0x12B0, 0x813E, 0x430C, 0x4130, 0x407C, 0x00C1, 0x12AB,
-0x403C, 0x0182, 0x430D, 0x1292, 0x135A, 0x435C, 0x4820, 0x12B0, 0x811C,
-0x464C, 0x12A8, 0x403C, 0x3401, 0x12AB, 0x494C, 0x4820, 0x434C, 0x12A7,
-0x494C, 0x12A8, 0x403C, 0x2401, 0x12A6, 0x435C, 0x4720, 0x403C, 0x0003,
-0x1292, 0x118C, 0x4C08, 0x4B0C, 0x4A2F, 0x4F10, 0x0010, 0x4C0F, 0x5D0F,
-0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB, 0x4130, 0x12A6, 0x403C,
-0x2401, 0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x4820, 0x403C, 0x3FFD,
-0x12AB, 0x434C, 0x12AA, 0x454C, 0x12A8, 0x435C, 0x4A20, 0x9382, 0x1398,
-0x2403, 0x403C, 0x0FF6, 0x4130, 0x403C, 0x018C, 0x4130, 0x12A8, 0x12B0,
-0xD756, 0x12AB, 0x403C, 0x3FFD, 0x12A8, 0x434C, 0x4B20, 0x12B0, 0xD9E4,
-0x434C, 0x12A6, 0x407C, 0x0042, 0x12A9, 0x430C, 0x4820, 0x407C, 0x00C1,
-0x12AA, 0x411C, 0x0004, 0x12A8, 0x407C, 0x00A1, 0x4A20, 0x434C, 0x12A9,
-0x474C, 0x12AA, 0x403C, 0x2401, 0x12AB, 0x435C, 0x4920, 0x430F, 0x430E,
-0x422D, 0x410C, 0x503C, 0x000C, 0x4B27, 0x4710, 0x000E, 0x12A9, 0x434C,
-0x12A7, 0x444C, 0x12AB, 0x435C, 0x12A7, 0x464C, 0x4B20, 0x403C, 0x0003,
-0x1292, 0x11E0, 0x4C0A, 0x480C, 0x4B2F, 0x4F10, 0x0010, 0x4C0D, 0x411C,
-0x0002, 0x12B0, 0x9E8C, 0x4C0A, 0x4D0B, 0x9305, 0x4130, 0x4135, 0x4134,
-0x4137, 0x4136, 0x4139, 0x4138, 0x413B, 0x413A, 0x4130, 0x407C, 0x0021,
-0x12A9, 0x430C, 0x430D, 0x1292, 0x135A, 0x435C, 0x4130, 0x430F, 0x430E,
-0x422D, 0x410C, 0x503C, 0x000C, 0x4A28, 0x4810, 0x000E, 0x120C, 0x4EFC,
-0x0000, 0x531C, 0x831D, 0x23FB, 0x413C, 0x4130, 0x12B0, 0xD196, 0x4C0A,
-0xF03A, 0x0F00, 0x503A, 0x0080, 0x4130, 0x435C, 0x12B0, 0xD47C, 0x4A4C,
-0x421F, 0x1112, 0x4F10, 0x0004, 0x4B4C, 0x12AA, 0x403C, 0x3401, 0x12A8,
-0x407C, 0x0082, 0x4A20, 0x120C, 0x438C, 0x0000, 0x532C, 0x831E, 0x23FB,
-0x413C, 0x4130, 0x403C, 0x113E, 0x421F, 0x1112, 0x129F, 0x0016, 0x430C,
-0x4130, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x4130,
-0x934C, 0x2403, 0xD3E2, 0x0031, 0x4130, 0xC3E2, 0x0031, 0x4130, 0x434C,
-0x12A6, 0x4B4C, 0x12AA, 0x12B0, 0xD9FC, 0x435C, 0x4620, 0x12A8, 0x434C,
-0x12AB, 0x407C, 0x0042, 0x12A9, 0x435C, 0x4B20, 0x403C, 0x0003, 0x1292,
-0x122C, 0x470C, 0x4A2F, 0x4F10, 0x0010, 0x430D, 0x1292, 0x135A, 0x435C,
-0x12AA, 0x407C, 0x00A1, 0x4B20, 0x12A8, 0x434C, 0x12AB, 0x407C, 0x0042,
-0x12A9, 0x435C, 0x4B20, 0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C, 0x2401,
-0x4620, 0x12B0, 0xD7A4, 0x435C, 0x12A8, 0x407C, 0x0082, 0x4920, 0x423D,
-0x12B0, 0xD454, 0x410F, 0x503F, 0x002C, 0x4130, 0x4A0C, 0x4B0D, 0x12B0,
-0xD196, 0xF03C, 0x0F00, 0x4130, 0x490C, 0x1292, 0x1244, 0x460C, 0x4B2F,
-0x4F10, 0x0010, 0x430F, 0x431E, 0x4A0D, 0x480C, 0x4B27, 0x4710, 0x000E,
-0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x0012, 0x4130, 0x423D, 0x12B0,
-0xD454, 0x410F, 0x503F, 0x0034, 0x4130, 0x12A9, 0x434C, 0x12A7, 0x444C,
-0x12AB, 0x435C, 0x4720, 0x403C, 0x3FFD, 0x12AB, 0x434C, 0x12AA, 0x444C,
-0x4820, 0x12A9, 0x434C, 0x12A7, 0x444C, 0x12AB, 0x435C, 0x4720, 0x4038,
-0x1360, 0x4039, 0x1358, 0x4036, 0x1354, 0x4130, 0x12A8, 0x12B0, 0xC172,
-0x4C0F, 0xDD0F, 0x930F, 0x4130, 0x423D, 0x12B0, 0xD454, 0x410F, 0x503F,
-0x0024, 0x4130, 0x435C, 0x421F, 0x1112, 0x129F, 0x0004, 0x430C, 0x4130,
-0x434C, 0x12AA, 0x494C, 0x12AB, 0x403C, 0x2401, 0x4820, 0x12A9, 0x4A4C,
-0x12A8, 0x434C, 0x12AB, 0x435C, 0x4B20, 0x12A8, 0x4C07, 0x454C, 0x12AA,
-0x403C, 0x0088, 0x4820, 0x434C, 0x12A9, 0x407C, 0x0042, 0x12AA, 0x435C,
-0x4920, 0x12B0, 0xDA1C, 0x435C, 0x12AB, 0x434C, 0x4B20, 0x474C, 0x12A8,
-0x430C, 0x430D, 0x4210, 0x135A, 0x407C, 0x0048, 0x12A8, 0x427C, 0x4210,
-0x1356, 0x407C, 0x00B0, 0x12A8, 0x432C, 0x430D, 0x4920, 0x407C, 0x00C8,
-0x12A8, 0x403C, 0x0501, 0x4B20, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x4130, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x435C, 0x4820, 0x407C, 0x00F4,
-0x12A7, 0x403C, 0x4020, 0x4620, 0x403C, 0x0080, 0x12A8, 0x403C, 0x0880,
-0x4820, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0034, 0x4420, 0x440C, 0x440D,
-0xE33D, 0x5D0D, 0x7D0D, 0x4720, 0x1292, 0x2754, 0x1292, 0x134E, 0x4210,
-0x1350, 0x12B0, 0xCF3E, 0x454C, 0x12AA, 0x435C, 0x4620, 0x934E, 0x2403,
-0x5C0C, 0x835E, 0x23FD, 0x4130, 0x12B0, 0xD5A6, 0x435C, 0x12AA, 0x464C,
-0x4820, 0x440C, 0x430D, 0x12AB, 0x430C, 0x430D, 0x4B20, 0x403C, 0x0080,
-0x12A8, 0x403C, 0x0880, 0x4820, 0x128F, 0x430C, 0x430D, 0x462F, 0x4F10,
-0x000A, 0x421F, 0x1112, 0x129F, 0x0016, 0x930C, 0x4130, 0x12B0, 0xCA50,
-0x2802, 0x430C, 0x430D, 0x4130, 0x12A8, 0x434C, 0x12A6, 0x407C, 0x0042,
-0x4A20, 0x403C, 0x0500, 0x12A9, 0x407C, 0x00C1, 0x4B20, 0x490C, 0x12A8,
-0x407C, 0x0028, 0x4A20, 0x1284, 0x1292, 0x134E, 0x4210, 0x1350, 0xD03A,
-0x0040, 0x4A0C, 0x430D, 0x4B20, 0x12AB, 0x434C, 0x12AB, 0x435C, 0x4130,
-0x5392, 0x14A0, 0xC392, 0x0160, 0x1300, 0x462F, 0x129F, 0x0016, 0x930C,
-0x4130, 0x12B0, 0xD4E4, 0x407C, 0x0082, 0x4920, 0x4A2F, 0x129F, 0x0016,
-0x930C, 0x4130, 0x407C, 0x0028, 0x12A8, 0x430C, 0x4920, 0x474C, 0x12AB,
-0x403C, 0x2401, 0x4820, 0x474C, 0x12AB, 0x403C, 0x3400, 0x4820, 0x434C,
-0x12A8, 0x407C, 0x0042, 0x4920, 0x434C, 0x12A7, 0x407C, 0x00C8, 0x4920,
-0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x12AA, 0x434C, 0x12A8, 0x435C,
-0x4820, 0x430D, 0x12A9, 0x430C, 0x430D, 0x4920, 0x407C, 0x0028, 0x12AA,
-0x430C, 0x4820, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x4620, 0x430D, 0x12A9,
-0x431C, 0x430D, 0x4920, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x4920, 0x12A6,
-0x434C, 0x12A8, 0x435C, 0x4820, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x4620,
-0x434C, 0x12A9, 0x407C, 0x00C8, 0x4A20, 0x434C, 0x12AB, 0x407C, 0x00C8,
-0x4920, 0x12A8, 0x435C, 0x12AB, 0x434C, 0x4B20, 0x464C, 0x12A8, 0x403C,
-0x0401, 0x4920, 0x12B0, 0xCFCE, 0x407C, 0x00C8, 0x4130, 0x4036, 0x1358,
-0x403C, 0x3401, 0x4620, 0x494C, 0x12A8, 0x403C, 0x3FFF, 0x4B20, 0x4C05,
-0x460C, 0x4B2F, 0x4F10, 0x0010, 0x12A9, 0x434C, 0x12AB, 0x464C, 0x4820,
-0x403C, 0x0C04, 0x430D, 0x4210, 0x14A6, 0x407C, 0x0042, 0x12A8, 0x435C,
-0x4920, 0x407C, 0x0090, 0x12A6, 0x432C, 0x4720, 0x4C05, 0x440C, 0x482F,
-0x4F10, 0x0010, 0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x454C, 0x12AA,
-0x403C, 0x0082, 0x4820, 0x431C, 0x1292, 0x275A, 0x430C, 0x4B20, 0x403C,
-0x0080, 0x462F, 0x4F10, 0x0008, 0x12B0, 0xD8D4, 0x930C, 0x4130, 0x12B0,
-0x4802, 0x430C, 0x4130, 0x43D2, 0x1140, 0x430C, 0x4130, 0x421F, 0x1112,
-0x4F10, 0x0016, 0x12A9, 0x407C, 0x0082, 0x4820, 0x12B0, 0xD8D4, 0x933C,
-0x4130, 0x12B0, 0x8F12, 0x435C, 0x4A20, 0x494C, 0x12AA, 0x435C, 0x4620,
-0x12B0, 0xA156, 0x434C, 0x4720, 0x421F, 0x1112, 0x4F10, 0x0008, 0x12B0,
-0xD91C, 0x430C, 0x4820, 0x434C, 0x12A9, 0x435C, 0x4920, 0x434C, 0x12A6,
-0x435C, 0x4620, 0x12B0, 0xD944, 0x933C, 0x4130, 0x1292, 0x2748, 0x430C,
-0x4130, 0x4A4C, 0x12A8, 0x435C, 0x4B20, 0x435C, 0x12A6, 0x434C, 0x4620,
-0x421F, 0x1112, 0x4F10, 0x0016, 0x12B0, 0xD944, 0x930C, 0x4130, 0x407C,
-0x0086, 0x4210, 0x1354, 0x12B0, 0xD7FE, 0x434C, 0x4820, 0x12AA, 0x407C,
-0x0082, 0x4920, 0x434C, 0x12A9, 0x435C, 0x4920, 0x12B0, 0xD7C2, 0x434C,
-0x4820, 0x421F, 0x1112, 0x4F10, 0x0014, 0x12B0, 0xD620, 0x484C, 0x4A20,
-0x434C, 0x12A9, 0x474C, 0x4A20, 0x1292, 0x2756, 0x430C, 0x4130, 0x435C,
-0x12A9, 0x434C, 0x4920, 0x421F, 0x1112, 0x4F10, 0x0014, 0x434C, 0x12A6,
-0x435C, 0x4620, 0x435C, 0x12A6, 0x434C, 0x4620, 0x12AB, 0x407C, 0x00C8,
-0x4920, 0x4B0C, 0x12AA, 0x430C, 0x4A20, 0x12B0, 0xCFEE, 0x435C, 0x4620,
-0x435C, 0x12A6, 0x434C, 0x4620, 0x434C, 0x1286, 0x4210, 0x134E, 0x430D,
-0x12A5, 0x435C, 0x4620, 0x454C, 0x12AA, 0x430C, 0x4820, 0x434C, 0x12A9,
-0x435C, 0x4920, 0x407C, 0x0024, 0x4210, 0x1356, 0x430C, 0x4210, 0x1358,
-0x12A6, 0x434C, 0x4920, 0x4CC2, 0x007C, 0x4130, 0x12A7, 0x430C, 0x4720,
-0x12A9, 0x434C, 0x4B20, 0x4B2F, 0x4F10, 0x0016, 0x12AB, 0x430C, 0x4B20,
-0x431C, 0x4130, 0x4030, 0xD1A2, 0x430C, 0x4130, 0x5137,
-};
-
-const uint32_t halImage_address[] =
-{
-0x0000250A, 0x0000251E, 0x0000253A, 0x00002748, 0x0000DFFE,
-};
-const uint32_t halImage_length_of_sections[] =
-{
-0x00000002, 0x00000001, 0x000000A5, 0x00005979, 0x00000001,
-};
-const uint32_t halImage_sections = 0x00000005;
-const uint32_t halImage_termination = 0x00000000;
-const uint32_t halImage_start = 0x0000250A;
-const uint32_t halImage_finish = 0x0000E000;
-const uint32_t halImage_length = 0x0000BAF6;
-
-#define HALIMAGE_TERMINATION 0x00000000
-#define HALIMAGE_START 0x0000250A
-#define HALIMAGE_FINISH 0x0000E000
-#define HALIMAGE_LENGTH 0x0000BAF6
-#define HALIMAGE_SECTIONS 0x00000005
+/* http://srecord.sourceforge.net/ */
+const uint16_t UifHalImage[] =
+{
+0x50E0, 0x285E, 0x4D3C, 0x8B00, 0x0001, 0x0000, 0x0000, 0x0000, 0x0108,
+0x0402, 0x0030, 0x0031, 0x0032, 0x2040, 0x0029, 0x002A, 0x0401, 0x2040,
+0x1008, 0x001D, 0x001E, 0x1711, 0x1711, 0x1B16, 0x1711, 0x8000, 0xC040,
+0xA020, 0xE060, 0x9010, 0xD050, 0xB030, 0xF070, 0x8808, 0xC848, 0xA828,
+0xE868, 0x9818, 0xD858, 0xB838, 0xF878, 0x8404, 0xC444, 0xA424, 0xE464,
+0x9414, 0xD454, 0xB434, 0xF474, 0x8C0C, 0xCC4C, 0xAC2C, 0xEC6C, 0x9C1C,
+0xDC5C, 0xBC3C, 0xFC7C, 0x8202, 0xC242, 0xA222, 0xE262, 0x9212, 0xD252,
+0xB232, 0xF272, 0x8A0A, 0xCA4A, 0xAA2A, 0xEA6A, 0x9A1A, 0xDA5A, 0xBA3A,
+0xFA7A, 0x8606, 0xC646, 0xA626, 0xE666, 0x9616, 0xD656, 0xB636, 0xF676,
+0x8E0E, 0xCE4E, 0xAE2E, 0xEE6E, 0x9E1E, 0xDE5E, 0xBE3E, 0xFE7E, 0x8101,
+0xC141, 0xA121, 0xE161, 0x9111, 0xD151, 0xB131, 0xF171, 0x8909, 0xC949,
+0xA929, 0xE969, 0x9919, 0xD959, 0xB939, 0xF979, 0x8505, 0xC545, 0xA525,
+0xE565, 0x9515, 0xD555, 0xB535, 0xF575, 0x8D0D, 0xCD4D, 0xAD2D, 0xED6D,
+0x9D1D, 0xDD5D, 0xBD3D, 0xFD7D, 0x8303, 0xC343, 0xA323, 0xE363, 0x9313,
+0xD353, 0xB333, 0xF373, 0x8B0B, 0xCB4B, 0xAB2B, 0xEB6B, 0x9B1B, 0xDB5B,
+0xBB3B, 0xFB7B, 0x8707, 0xC747, 0xA727, 0xE767, 0x9717, 0xD757, 0xB737,
+0xF777, 0x8F0F, 0xCF4F, 0xAF2F, 0xEF6F, 0x9F1F, 0xDF5F, 0xBF3F, 0xFF7F,
+0xCACA, 0xCACA, 0x0000, 0x54D8, 0x0001, 0x5446, 0x0002, 0x5346, 0x0003,
+0x4FC2, 0x0004, 0x509A, 0x0005, 0x5548, 0x0006, 0x4EDA, 0x0007, 0x3802,
+0x0008, 0x559C, 0x0009, 0x55B0, 0x000A, 0x54A4, 0x000B, 0x3D0E, 0x000C,
+0x549C, 0x000D, 0x5480, 0x000E, 0x5478, 0x000F, 0x55E0, 0x0010, 0x4050,
+0x0011, 0x55D8, 0x0012, 0x55D4, 0x0013, 0x55D0, 0x0014, 0x55C8, 0x0015,
+0x55AC, 0x0016, 0x55A8, 0x0017, 0x55A4, 0x0018, 0x5598, 0x0019, 0x5590,
+0x001A, 0x558C, 0x001B, 0x5588, 0x001C, 0x5580, 0x001D, 0x557C, 0x001E,
+0x5578, 0x001F, 0x5574, 0x0020, 0x5564, 0x0021, 0x5558, 0x0022, 0x5550,
+0x0023, 0x554C, 0x0024, 0x5544, 0x0025, 0x5540, 0x0026, 0x550C, 0x0027,
+0x5508, 0x0028, 0x54F8, 0x0029, 0x54EC, 0x002A, 0x54D4, 0x002B, 0x54D0,
+0x002C, 0x54CC, 0x002D, 0x54C8, 0x002E, 0x54C4, 0x002F, 0x54C0, 0x0030,
+0x54BC, 0x0031, 0x54B8, 0x0032, 0x54B4, 0x0033, 0x54B0, 0x0034, 0x54AC,
+0x0035, 0x54A8, 0x0036, 0x54A0, 0x0037, 0x5498, 0x0038, 0x5494, 0x0039,
+0x5490, 0x003A, 0x548C, 0x003B, 0x5488, 0x003C, 0x547C, 0x003D, 0x5474,
+0x003E, 0x5470, 0x003F, 0x546C, 0x0040, 0x5468, 0x0041, 0x5464, 0x0042,
+0x5524, 0x0043, 0x55DC, 0x0044, 0x55C4, 0x0045, 0x55BC, 0x0046, 0x55B8,
+0x0047, 0x55B4, 0x0048, 0x5584, 0x0049, 0x3332, 0x004A, 0x5570, 0x004B,
+0x556C, 0x004C, 0x5568, 0x004D, 0x5554, 0x004E, 0x5510, 0x004F, 0x5504,
+0x0050, 0x5500, 0x0051, 0x55C0, 0x0052, 0x54E0, 0x0053, 0x54E4, 0x0054,
+0x55CC, 0x0055, 0x5594, 0x0056, 0x54E8, 0x0057, 0x54FC, 0x0058, 0x54F4,
+0x0059, 0x55A0, 0x005A, 0x5560, 0x005B, 0x52A2, 0x005C, 0x41C4, 0x005D,
+0x28AE, 0x005E, 0x410C, 0x005F, 0x3F90, 0x0060, 0x4B16, 0x0061, 0x4DE8,
+0x0062, 0x369C, 0x0063, 0x43CA, 0x0064, 0x4890, 0x0065, 0x3C16, 0x0066,
+0x4E3A, 0x0067, 0x5484, 0x0068, 0x4CDA, 0x0069, 0x555C, 0x006A, 0x54F0,
+0x006B, 0x54DC, 0x006C, 0x5460, 0x006D, 0x553C, 0x5122, 0x4D94, 0x55F2,
+0x500C, 0x3ACA, 0x55EE, 0x5436, 0x542E, 0x53AC, 0x51CE, 0x446A, 0x55EC,
+0x51B6, 0x5198, 0x541A, 0x55EA, 0x55E8, 0x55F0, 0x53DE, 0x53F6, 0x53EA,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFF01, 0x1204,
+0x1205, 0x1206, 0x1207, 0x1208, 0x1209, 0x120A, 0x120B, 0x120C, 0x120D,
+0x120E, 0x120F, 0x403C, 0x14FC, 0x403D, 0x00F4, 0x12B0, 0x538A, 0x403C,
+0x1306, 0x403D, 0x2668, 0x403E, 0x01F5, 0x12B0, 0x55E4, 0x413F, 0x413E,
+0x413D, 0x413C, 0x413B, 0x413A, 0x4139, 0x4138, 0x4137, 0x4136, 0x4135,
+0x4134, 0x4030, 0x4D3C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8031,
+0x0012, 0xB31C, 0x2885, 0x4382, 0x14FE, 0x4382, 0x1500, 0x4382, 0x1502,
+0x4382, 0x1504, 0x403B, 0x1558, 0x403C, 0x14FE, 0x4B2F, 0x129F, 0x0016,
+0x933C, 0x241C, 0x403C, 0x1506, 0x4B2F, 0x129F, 0x0016, 0x933C, 0x2415,
+0x403C, 0x1508, 0x4B2F, 0x129F, 0x0016, 0x933C, 0x240E, 0x403C, 0x150A,
+0x4B2F, 0x129F, 0x0018, 0x933C, 0x2407, 0x403C, 0x150E, 0x4B2F, 0x129F,
+0x0018, 0x933C, 0x2003, 0x433C, 0x4030, 0x2E06, 0x421F, 0x150E, 0xD21F,
+0x1510, 0x930F, 0x2003, 0x430C, 0x4030, 0x2E06, 0x42D2, 0x1502, 0x1505,
+0x42D2, 0x1501, 0x1504, 0x42D2, 0x1500, 0x1503, 0x42D2, 0x14FF, 0x1502,
+0x42D2, 0x14FE, 0x1501, 0x43C2, 0x1500, 0x4382, 0x14FE, 0x421C, 0x150E,
+0x421D, 0x1510, 0x425E, 0x1508, 0x12B0, 0x5282, 0x4C82, 0x150E, 0x4D82,
+0x1510, 0x12B0, 0x427A, 0x421E, 0x150E, 0x421F, 0x1510, 0x831E, 0x730F,
+0xDF0E, 0x930E, 0x2403, 0x403E, 0x0010, 0x3C01, 0x430E, 0x421B, 0x14FE,
+0xF03B, 0x0003, 0x5B0B, 0x5B0B, 0xDB1E, 0x1538, 0x4B1F, 0x153A, 0xD21E,
+0x1508, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430F, 0x410E, 0x530E, 0x430C,
+0x430D, 0x1292, 0x1590, 0x430F, 0x403E, 0x150A, 0x422C, 0x430D, 0x1292,
+0x1590, 0x9382, 0x1506, 0x20BA, 0x407C, 0x0091, 0x421F, 0x1558, 0x129F,
+0x0012, 0x421F, 0x1558, 0x129F, 0x0002, 0x410D, 0x503D, 0x0006, 0x410C,
+0x523C, 0x421F, 0x1558, 0x129F, 0x001A, 0x421F, 0x150E, 0xD21F, 0x1510,
+0x930F, 0x25F5, 0x9381, 0x0006, 0x25F0, 0x421F, 0x1508, 0x830F, 0x2403,
+0x831F, 0x2407, 0x3C0D, 0x411F, 0x0008, 0x4F6E, 0x4E81, 0x0000, 0x3C04,
+0x411F, 0x0008, 0x4FA1, 0x0000, 0x4381, 0x0002, 0x3C07, 0x411F, 0x0008,
+0x4FA1, 0x0000, 0x4F91, 0x0002, 0x0002, 0x412C, 0x411D, 0x0002, 0x425E,
+0x150A, 0xF07E, 0x0003, 0x5E4E, 0x5E4E, 0x5E4E, 0x12B0, 0x52F6, 0x4C81,
+0x0000, 0x4D81, 0x0002, 0x4C08, 0x4D09, 0x430A, 0x5808, 0x6909, 0x6A0A,
+0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x4076, 0x0028, 0xD038,
+0x0006, 0x4881, 0x000A, 0x4981, 0x000C, 0x4A81, 0x000E, 0x4381, 0x0010,
+0x410C, 0x503C, 0x000A, 0x1292, 0x157E, 0xF07C, 0x0007, 0x936C, 0x2402,
+0x5376, 0x23ED, 0x431C, 0x425E, 0x1508, 0x12B0, 0x5402, 0x411F, 0x0008,
+0x5C0F, 0x4F81, 0x0008, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D, 0x5C82, 0x150A,
+0x6D82, 0x150C, 0x9C81, 0x0006, 0x2806, 0x411F, 0x0006, 0x8C0F, 0x4F81,
+0x0006, 0x3C02, 0x4381, 0x0006, 0x53B2, 0x150E, 0x63B2, 0x1510, 0x421F,
+0x150E, 0xD21F, 0x1510, 0x930F, 0x257D, 0xB0B2, 0x0FFF, 0x150A, 0x2384,
+0x4218, 0x150A, 0x4219, 0x150C, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808,
+0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x4076, 0x0028, 0xD328, 0x4881,
+0x000A, 0x4981, 0x000C, 0x4A81, 0x000E, 0x4381, 0x0010, 0x410C, 0x503C,
+0x000A, 0x1292, 0x157E, 0xF07C, 0x0007, 0x936C, 0x275C, 0x5376, 0x275A,
+0x3FEC, 0x4381, 0x0000, 0x4381, 0x0002, 0x407A, 0x0028, 0x40B1, 0x0007,
+0x000A, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0010, 0x410C, 0x503C,
+0x000A, 0x1292, 0x157E, 0xB31C, 0x2870, 0x537A, 0x23EE, 0x3C6D, 0x421F,
+0x1558, 0x129F, 0x000A, 0x421F, 0x150E, 0xD21F, 0x1510, 0x930F, 0x2474,
+0x431C, 0x425E, 0x1508, 0x12B0, 0x5402, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D,
+0x5C82, 0x150A, 0x6D82, 0x150C, 0xB0B2, 0x0FFF, 0x150A, 0x2063, 0x12B0,
+0x427A, 0x407C, 0x000B, 0x1292, 0x1574, 0x4218, 0x150A, 0x4219, 0x150C,
+0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909,
+0x6A0A, 0x4076, 0x0028, 0x480C, 0xD32C, 0x4C81, 0x000A, 0x4981, 0x000C,
+0x4A81, 0x000E, 0x4381, 0x0010, 0x410C, 0x503C, 0x000A, 0x1292, 0x157E,
+0xF07C, 0x0007, 0x936C, 0x2402, 0x5376, 0x23EB, 0x4128, 0x4119, 0x0002,
+0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909,
+0x6A0A, 0x40F1, 0x0028, 0x0004, 0xD038, 0x0007, 0x4881, 0x000A, 0x4981,
+0x000C, 0x4A81, 0x000E, 0x4381, 0x0010, 0x410C, 0x503C, 0x000A, 0x1292,
+0x157E, 0xB31C, 0x2806, 0x4156, 0x0004, 0x5376, 0x46C1, 0x0004, 0x23EB,
+0xC312, 0x100F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C,
+0x110F, 0x100E, 0x100D, 0x100C, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x53B2,
+0x150E, 0x63B2, 0x1510, 0x421F, 0x150E, 0xD21F, 0x1510, 0x930F, 0x2454,
+0x4128, 0x4119, 0x0002, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909,
+0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x40F1, 0x0028, 0x0004, 0xD038, 0x0007,
+0x4881, 0x000A, 0x4981, 0x000C, 0x4A81, 0x000E, 0x4381, 0x0010, 0x410C,
+0x503C, 0x000A, 0x1292, 0x157E, 0xB31C, 0x2806, 0x4156, 0x0004, 0x5376,
+0x46C1, 0x0004, 0x23EB, 0xC312, 0x100F, 0x100E, 0x100D, 0x100C, 0x110F,
+0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x425E, 0x150A,
+0xF07E, 0x0003, 0x5E4E, 0x5E4E, 0x5E4E, 0x12B0, 0x5282, 0x4C81, 0x0000,
+0x4D81, 0x0002, 0x421F, 0x1508, 0x830F, 0x2405, 0x831F, 0x2408, 0x831F,
+0x272F, 0x3F32, 0x421F, 0x1558, 0x129F, 0x0004, 0x3F2D, 0x421F, 0x1558,
+0x129F, 0x0008, 0x3F28, 0x407C, 0x000A, 0x1292, 0x1574, 0x4128, 0x4119,
+0x0002, 0x430A, 0x5808, 0x6909, 0x6A0A, 0x5808, 0x6909, 0x6A0A, 0x5808,
+0x6909, 0x6A0A, 0x4076, 0x0028, 0xD038, 0x0007, 0x4881, 0x000A, 0x4981,
+0x000C, 0x4A81, 0x000E, 0x4381, 0x0010, 0x410C, 0x503C, 0x000A, 0x1292,
+0x157E, 0xB31C, 0x2802, 0x5376, 0x23EF, 0xC312, 0x100F, 0x100E, 0x100D,
+0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C,
+0x425E, 0x150A, 0xF07E, 0x0003, 0x5E4E, 0x5E4E, 0x5E4E, 0x12B0, 0x5282,
+0x4C81, 0x0000, 0x4D81, 0x0002, 0x421F, 0x1508, 0x830F, 0x2405, 0x831F,
+0x2408, 0x831F, 0x240B, 0x3C0E, 0x421F, 0x1558, 0x129F, 0x0004, 0x3C09,
+0x421F, 0x1558, 0x129F, 0x0008, 0x3C04, 0x421F, 0x1558, 0x129F, 0x000A,
+0x421F, 0x150E, 0xD21F, 0x1510, 0x930F, 0x2402, 0x431C, 0x3C0D, 0x4381,
+0x0000, 0x4381, 0x0002, 0x431E, 0x410D, 0x530D, 0x407C, 0x000C, 0x1292,
+0x158E, 0x12B0, 0x427A, 0x5031, 0x0012, 0x4030, 0x537E, 0x421F, 0x15C0,
+0xD2DF, 0x15BB, 0x0000, 0x4130, 0x120D, 0x120C, 0x8031, 0x000C, 0x4381,
+0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0008,
+0x4381, 0x000A, 0x415F, 0x000F, 0x4FD1, 0x2568, 0x0004, 0x4D4F, 0x4FD1,
+0x2568, 0x0005, 0x415F, 0x000D, 0x4FD1, 0x2568, 0x0006, 0x4C4F, 0x4FD1,
+0x2568, 0x0007, 0x40B2, 0x0006, 0x01EE, 0x40B2, 0x15DC, 0x01EA, 0xD0B2,
+0x0010, 0x01E8, 0xD392, 0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010,
+0x0078, 0x41D2, 0x0007, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x403F, 0x007E,
+0x4FE1, 0x0003, 0x41D2, 0x0006, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1,
+0x0002, 0x41D2, 0x0005, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0001,
+0xC0F2, 0x0010, 0x0078, 0x41D2, 0x0004, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
+0x4F6E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033, 0x421F, 0x15C0,
+0xD2DF, 0x15BB, 0x0000, 0xC2DF, 0x15BA, 0x0000, 0xB31C, 0x2804, 0xD2DF,
+0x15BC, 0x0000, 0x3C03, 0xC2DF, 0x15BC, 0x0000, 0xD2DF, 0x15BA, 0x0000,
+0x421F, 0x15BE, 0xB2DF, 0x15BD, 0x0000, 0x2002, 0x434E, 0x3C01, 0x435E,
+0xD16E, 0x4EC1, 0x0000, 0x42A2, 0x01F6, 0x40B2, 0x15E2, 0x01F2, 0xD0B2,
+0x0010, 0x01F0, 0xD392, 0x01F0, 0x4E4F, 0x4FD1, 0x2568, 0x000B, 0x415F,
+0x0001, 0x4FD1, 0x2568, 0x000A, 0x415F, 0x0002, 0x4FD1, 0x2568, 0x0009,
+0x415F, 0x0003, 0x4FD1, 0x2568, 0x0008, 0x411C, 0x0008, 0x411D, 0x000A,
+0x5031, 0x0010, 0x4130, 0x430C, 0x4130, 0x434C, 0x4130, 0x120A, 0x120B,
+0x1208, 0x8031, 0x0018, 0x4381, 0x0010, 0x4381, 0x0012, 0x4381, 0x0014,
+0x4381, 0x0016, 0x4381, 0x0008, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381,
+0x000E, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006,
+0x4C5F, 0x0003, 0x4FD1, 0x2568, 0x000B, 0x4C5F, 0x0002, 0x4FD1, 0x2568,
+0x000A, 0x4C5F, 0x0001, 0x4FD1, 0x2568, 0x0009, 0x4C6F, 0x4FD1, 0x2568,
+0x0008, 0x40B2, 0x0006, 0x01EE, 0x40B2, 0x15DC, 0x01EA, 0xD0B2, 0x0010,
+0x01E8, 0xD392, 0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078,
+0x41D2, 0x0008, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x403F, 0x007E, 0x4FE1,
+0x0010, 0x41D2, 0x0009, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0011,
+0x41D2, 0x000A, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0012, 0x41D2,
+0x000B, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0013, 0xF0F2, 0x00F1,
+0x0033, 0x425E, 0x15BA, 0x4E4F, 0xE37F, 0x421D, 0x15C0, 0xFFCD, 0x0000,
+0xB3DC, 0x0004, 0x2804, 0xD2DD, 0x15BC, 0x0000, 0x3C03, 0xC2DD, 0x15BC,
+0x0000, 0xDECD, 0x0000, 0x425A, 0x15BD, 0x421B, 0x15BE, 0xBACB, 0x0000,
+0x2002, 0x4348, 0x3C01, 0x4358, 0x48C1, 0x0004, 0xFFCD, 0x0000, 0xB3EC,
+0x0004, 0x2804, 0xD2DD, 0x15BC, 0x0000, 0x3C03, 0xC2DD, 0x15BC, 0x0000,
+0xDECD, 0x0000, 0xBACB, 0x0000, 0x2002, 0x4348, 0x3C01, 0x4358, 0x5848,
+0xD8C1, 0x0004, 0xFFCD, 0x0000, 0xD2DD, 0x15BB, 0x0000, 0xB2EC, 0x0004,
+0x2804, 0xD2DD, 0x15BC, 0x0000, 0x3C03, 0xC2DD, 0x15BC, 0x0000, 0xDECD,
+0x0000, 0xBACB, 0x0000, 0x2002, 0x434E, 0x3C01, 0x435E, 0x5E4E, 0x5E4E,
+0xDEC1, 0x0004, 0x42A2, 0x01F6, 0x40B2, 0x15E2, 0x01F2, 0xD0B2, 0x0010,
+0x01F0, 0xD392, 0x01F0, 0x415F, 0x0010, 0x4FD1, 0x2568, 0x0000, 0x415F,
+0x0011, 0x4FD1, 0x2568, 0x0001, 0x415F, 0x0012, 0x4FD1, 0x2568, 0x0002,
+0x415F, 0x0013, 0x4FD1, 0x2568, 0x0003, 0x410F, 0x530F, 0x4F3C, 0x4F3D,
+0x4F3E, 0x4F3F, 0x5031, 0x0018, 0x4030, 0x5382, 0x8321, 0x4C4D, 0x434F,
+0x43C1, 0x0000, 0x42B2, 0x01EE, 0x40B2, 0x15D4, 0x01EA, 0xD0B2, 0x0010,
+0x01E8, 0xD392, 0x01E8, 0x40B2, 0x0003, 0x01EE, 0x43A2, 0x01F6, 0x40B2,
+0x15E6, 0x01EA, 0x40B2, 0x15EA, 0x01F2, 0x43C1, 0x0000, 0x3C16, 0xD0B2,
+0x0010, 0x01F0, 0xD392, 0x01F0, 0x421E, 0x15BE, 0xB2DE, 0x15BD, 0x0000,
+0x2002, 0x434C, 0x3C01, 0x435C, 0x416E, 0x12B0, 0x5402, 0xDC4F, 0x416E,
+0x535E, 0x4EC1, 0x0000, 0x90F1, 0x0003, 0x0000, 0x2C0C, 0x431C, 0x416E,
+0x12B0, 0x5402, 0xBC4D, 0x27E0, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
+0x3FDF, 0xB27D, 0x421E, 0x15C0, 0x2804, 0xD2DE, 0x15BC, 0x0000, 0x3C03,
+0xC2DE, 0x15BC, 0x0000, 0x421E, 0x15C0, 0xD2DE, 0x15BB, 0x0000, 0xC2DE,
+0x15BA, 0x0000, 0xD2DE, 0x15BA, 0x0000, 0x421E, 0x15BE, 0xB2DE, 0x15BD,
+0x0000, 0x2002, 0x434C, 0x3C01, 0x435C, 0x416E, 0x42A2, 0x01F6, 0x40B2,
+0x15E2, 0x01F2, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x12B0, 0x5402,
+0xDF4C, 0x5321, 0x4130, 0x421F, 0x15C0, 0xC2DF, 0x15BB, 0x0000, 0x4130,
+0x421F, 0x15C0, 0xD2DF, 0x15BC, 0x0000, 0xD2DF, 0x15BB, 0x0000, 0x425E,
+0x15BA, 0xDECF, 0x0000, 0x4E4D, 0xE37D, 0xFDCF, 0x0000, 0xDECF, 0x0000,
+0xFDCF, 0x0000, 0xDECF, 0x0000, 0xFDCF, 0x0000, 0xDECF, 0x0000, 0xFDCF,
+0x0000, 0xDECF, 0x0000, 0xFDCF, 0x0000, 0xDECF, 0x0000, 0xFDCF, 0x0000,
+0xDECF, 0x0000, 0xC2DF, 0x15BB, 0x0000, 0xFDCF, 0x0000, 0xDECF, 0x0000,
+0x430C, 0x4130, 0x120A, 0x120B, 0x1208, 0x930C, 0x2420, 0x403F, 0x15C0,
+0x403E, 0x15BA, 0x533C, 0x3C03, 0x533C, 0x930A, 0x2002, 0x4D7B, 0x423A,
+0xB35B, 0x4F28, 0x2804, 0xD2D8, 0x15BB, 0x0000, 0x3C03, 0xC2D8, 0x15BB,
+0x0000, 0x4F28, 0xCEE8, 0x0000, 0x4303, 0x4F28, 0xDEE8, 0x0000, 0x110B,
+0x533A, 0x930C, 0x23E6, 0x4030, 0x5382, 0x403C, 0x15BA, 0x410E, 0x532E,
+0x403D, 0x000D, 0x12B0, 0x539C, 0x425D, 0x15BA, 0x425E, 0x15BB, 0x4E4F,
+0xDD0F, 0x108F, 0xDF0E, 0x4E82, 0x15D4, 0x4E82, 0x15D6, 0x4D0F, 0x108F,
+0x4F82, 0x15D8, 0x4F82, 0x15DA, 0x4E82, 0x15DC, 0x4F82, 0x15DE, 0x4F82,
+0x15E0, 0x4E82, 0x15E2, 0x4F82, 0x15E4, 0x425E, 0x15BC, 0x4E0C, 0x108C,
+0x4C82, 0x15E6, 0xDD0E, 0x4E0D, 0x108D, 0xDD0E, 0x4E82, 0x15E8, 0x4F82,
+0x15EA, 0x4130, 0x421F, 0x15C0, 0xD2DF, 0x15BC, 0x0000, 0x4130, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x001E,
+0x4381, 0x001A, 0x4381, 0x001C, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381,
+0x0014, 0x4381, 0x0016, 0x40B1, 0x0010, 0x0008, 0x4381, 0x000A, 0x4381,
+0x0004, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0012,
+0x410C, 0x503C, 0x001A, 0x421F, 0x1558, 0x129F, 0x0018, 0x930C, 0x3403,
+0x403C, 0xFFC6, 0x3D80, 0x410C, 0x530C, 0x421F, 0x1558, 0x129F, 0x0018,
+0x930C, 0x3809, 0x410C, 0x503C, 0x0014, 0x421F, 0x1558, 0x129F, 0x0018,
+0x930C, 0x3403, 0x403C, 0xFFC4, 0x3D6C, 0x410C, 0x523C, 0x421F, 0x1558,
+0x129F, 0x0018, 0x4C81, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFC3, 0x3D5F,
+0x4124, 0x4115, 0x0002, 0x4116, 0x0014, 0x4117, 0x0016, 0x92A1, 0x001A,
+0x2032, 0x9381, 0x001C, 0x202F, 0x42B1, 0x0008, 0x4381, 0x000A, 0x43C1,
+0x0006, 0x440C, 0x450D, 0x460E, 0x470F, 0x415B, 0x0006, 0x12B0, 0x5236,
+0xF31C, 0x410B, 0x503B, 0x000C, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x5808,
+0x6909, 0x6A0A, 0x6B0B, 0xDC08, 0x4881, 0x000C, 0x4981, 0x000E, 0x4A81,
+0x0010, 0x4B81, 0x0012, 0x415E, 0x0006, 0x535E, 0x4EC1, 0x0006, 0x927E,
+0x2BDC, 0x415C, 0x000C, 0x1292, 0x1572, 0x3C47, 0x4481, 0x000C, 0x4581,
+0x000E, 0x4681, 0x0010, 0x4781, 0x0012, 0x411E, 0x001A, 0x411F, 0x001C,
+0x930F, 0x210D, 0x903E, 0x0014, 0x2D0A, 0x5E0E, 0x4E10, 0x3476, 0x349E,
+0x34AA, 0x34AA, 0x34C0, 0x3444, 0x34E2, 0x3576, 0x358C, 0x359E, 0x35CC,
+0x3602, 0x3614, 0x34B2, 0x34A4, 0x34D6, 0x3624, 0x3636, 0x364A, 0x34BA,
+0x35C4, 0x1292, 0x156E, 0x3CF3, 0x1292, 0x1570, 0x3CF0, 0x444C, 0x1292,
+0x14CE, 0x3CEC, 0x431C, 0x1292, 0x14E4, 0x3CE8, 0x1292, 0x14F6, 0x3CE5,
+0x1292, 0x14D0, 0x412F, 0xD11F, 0x0002, 0x930F, 0x24DE, 0x430C, 0x1292,
+0x14C4, 0x3CDA, 0x444C, 0x1292, 0x1574, 0x4C4C, 0x430D, 0x3C92, 0x411E,
+0x0008, 0x411F, 0x000A, 0x830F, 0x2041, 0x823E, 0x240E, 0x823E, 0x2416,
+0x822E, 0x2419, 0x803E, 0x000C, 0x241F, 0x803E, 0x0003, 0x242F, 0x803E,
+0x001D, 0x241E, 0x3C31, 0x444C, 0x1292, 0x1576, 0x4C48, 0x4309, 0x430A,
+0x430B, 0x480C, 0x490D, 0x3C4A, 0x440C, 0x1292, 0x1578, 0x4C08, 0x3FF5,
+0x440C, 0x450D, 0xF03D, 0x000F, 0x1292, 0x157A, 0x4C08, 0x4D09, 0x3FED,
+0x440C, 0x450D, 0x1292, 0x157C, 0x3FF8, 0x410F, 0x503F, 0x000C, 0x4F3C,
+0x4F3D, 0x4F3E, 0x4F3F, 0x1292, 0x1580, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B,
+0x3FDC, 0x410C, 0x503C, 0x000C, 0x1292, 0x157E, 0x3FF5, 0x403C, 0xFFC2,
+0x3C8F, 0x407C, 0x0054, 0x1292, 0x1572, 0x411C, 0x000C, 0x411D, 0x000E,
+0x1292, 0x157C, 0x3C7F, 0x407C, 0x00F4, 0x1292, 0x1572, 0x411C, 0x000C,
+0x1292, 0x1578, 0x3C76, 0x407C, 0x0046, 0x1292, 0x1572, 0x430C, 0x430D,
+0x430E, 0x430F, 0x1292, 0x1580, 0x4E0A, 0x4F0B, 0x421F, 0x1558, 0x129F,
+0x000A, 0x4A0C, 0x4B0D, 0x3C5B, 0x444C, 0x1292, 0x1586, 0x3C5F, 0x90B1,
+0x0010, 0x0008, 0x2007, 0x9381, 0x000A, 0x2004, 0x440C, 0x12B0, 0x4806,
+0x3C0B, 0x90B1, 0x0020, 0x0008, 0x2009, 0x9381, 0x000A, 0x2006, 0x450D,
+0x440C, 0x12B0, 0x4324, 0x935C, 0x2047, 0x403C, 0xFFCF, 0x3C49, 0x12B0,
+0x5160, 0x421F, 0x1558, 0x129F, 0x000A, 0x430C, 0x430D, 0x3C33, 0x440C,
+0x1292, 0x14CA, 0x403C, 0x156E, 0x12B0, 0x1880, 0x3C33, 0x411E, 0x0008,
+0x410D, 0x503D, 0x0014, 0x444C, 0x1292, 0x158E, 0x3C16, 0x411F, 0x0008,
+0x410E, 0x503E, 0x0014, 0x440C, 0x450D, 0x1292, 0x1590, 0x3C0C, 0x1211,
+0x000A, 0x410D, 0x503D, 0x0016, 0x440E, 0x450F, 0x411C, 0x000C, 0x1292,
+0x1592, 0x5321, 0x931C, 0x3403, 0x403F, 0xFFBA, 0x3C01, 0x430F, 0x4F81,
+0x0004, 0x411C, 0x0014, 0x411D, 0x0016, 0x421F, 0x1558, 0x129F, 0x000A,
+0x3C03, 0x40B1, 0xFFC5, 0x0004, 0x9381, 0x0018, 0x266E, 0x411C, 0x0004,
+0x5031, 0x001E, 0x4030, 0x5378, 0x120A, 0x120B, 0x1208, 0x1209, 0x8031,
+0x0006, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4039, 0x0028,
+0x410C, 0x522C, 0x421F, 0x1558, 0x129F, 0x0016, 0x43A1, 0x0000, 0x4381,
+0x0002, 0x4038, 0x1592, 0x1203, 0x410D, 0x532D, 0x421E, 0x154C, 0x421F,
+0x154E, 0x430C, 0x12A8, 0x5321, 0x933C, 0x248B, 0x93C2, 0x1550, 0x341E,
+0x403A, 0x0014, 0xB3A2, 0x1550, 0x4A0E, 0x430F, 0x2807, 0x410C, 0x530C,
+0x12B0, 0x4B90, 0xD391, 0x0000, 0x3C06, 0x410C, 0x530C, 0x12B0, 0x4B90,
+0xC391, 0x0000, 0x4A0E, 0x430F, 0x412C, 0x411D, 0x0002, 0x12B0, 0x4A1A,
+0xC0B2, 0x0080, 0x1550, 0x40B1, 0x000B, 0x0000, 0x40B1, 0xA05F, 0x0002,
+0x403A, 0xEDF0, 0x403B, 0xE000, 0x1203, 0x410D, 0x532D, 0x4A0E, 0x4B0F,
+0x430C, 0x12A8, 0x5321, 0x933C, 0x2456, 0xC3A1, 0x0000, 0xD2A1, 0x0000,
+0x1203, 0x410D, 0x532D, 0x4A0E, 0x4B0F, 0x430C, 0x12A8, 0x5321, 0x933C,
+0x2448, 0x1213, 0x410D, 0x532D, 0x4A0E, 0x4B0F, 0x430C, 0x12A8, 0x5321,
+0x933C, 0x243E, 0xB3A1, 0x0002, 0x2C02, 0x5339, 0x23F1, 0x40B1, 0x0003,
+0x0000, 0x40B1, 0xA05F, 0x0002, 0x1203, 0x410D, 0x532D, 0x4A0E, 0x4B0F,
+0x430C, 0x12A8, 0x5321, 0x933C, 0x2429, 0x40B1, 0x0003, 0x0000, 0x4381,
+0x0002, 0x1203, 0x410D, 0x532D, 0x421E, 0x154C, 0x421F, 0x154E, 0x430C,
+0x12A8, 0x5321, 0x933C, 0x2418, 0x421F, 0x1554, 0xD21F, 0x1556, 0x930F,
+0x240E, 0x12B0, 0x4914, 0x930C, 0x200E, 0x9381, 0x0004, 0x2402, 0x1292,
+0x14D0, 0x430C, 0x5031, 0x0006, 0x4030, 0x5380, 0x12B0, 0x4998, 0x930C,
+0x27F2, 0x433C, 0x3FF6, 0x8031, 0x000C, 0x410C, 0x523C, 0x421F, 0x1558,
+0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFCB, 0x3C2F, 0x410C, 0x530C,
+0x421F, 0x1558, 0x129F, 0x0018, 0x930C, 0x3864, 0x411E, 0x0008, 0x411F,
+0x000A, 0x930F, 0x2095, 0x903E, 0x0018, 0x2C92, 0x5E0E, 0x4E10, 0x3844,
+0x3962, 0x3874, 0x3880, 0x3878, 0x3894, 0x38AC, 0x38B8, 0x38C4, 0x38D0,
+0x38D6, 0x3888, 0x38DC, 0x3906, 0x3962, 0x390C, 0x3918, 0x38A0, 0x38CA,
+0x3912, 0x391E, 0x392A, 0x3936, 0x394A, 0x3956, 0x41A2, 0x1536, 0x430C,
+0x5031, 0x000C, 0x4130, 0x412C, 0x1292, 0x14CC, 0x3FF8, 0x41A2, 0x1512,
+0x4192, 0x0002, 0x1514, 0x3FF2, 0x41A2, 0x151A, 0x4192, 0x0002, 0x151C,
+0x3FEC, 0x41A2, 0x151E, 0x4192, 0x0002, 0x1520, 0x3FE6, 0x41A2, 0x1522,
+0x4192, 0x0002, 0x1524, 0x3FE0, 0x41A2, 0x1526, 0x4192, 0x0002, 0x1528,
+0x3FDA, 0x41A2, 0x152A, 0x3FD7, 0x41A2, 0x152C, 0x3FD4, 0x41A2, 0x152E,
+0x3FD1, 0x41A2, 0x1530, 0x3FCE, 0x4381, 0x0004, 0x4381, 0x0006, 0x410C,
+0x522C, 0x421F, 0x1558, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFCA,
+0x3FC0, 0x411D, 0x0004, 0x412C, 0x1292, 0x14DE, 0x3FB9, 0x41A2, 0x1516,
+0x3FB6, 0x41A2, 0x1532, 0x3FB3, 0x41A2, 0x1534, 0x3FB0, 0x41A2, 0x1518,
+0x3FAD, 0x41A2, 0x1548, 0x4192, 0x0002, 0x154A, 0x3FA7, 0x41A2, 0x154C,
+0x4192, 0x0002, 0x154E, 0x3FA1, 0x412E, 0x411F, 0x0002, 0xD03E, 0x0080,
+0x4E82, 0x1550, 0x4F82, 0x1552, 0x3F97, 0x41A2, 0x1554, 0x4192, 0x0002,
+0x1556, 0x3F91, 0x41A2, 0x1306, 0x4192, 0x0002, 0x1308, 0x3F8B, 0x403C,
+0xFFC9, 0x3F89, 0xE03F, 0x8000, 0x1206, 0x4D06, 0x5606, 0x9036, 0xFF01,
+0x2CA7, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0E, 0x4D06, 0x5606, 0x9036,
+0xFF00, 0x200B, 0x4F06, 0x5606, 0x9036, 0xFF00, 0x2098, 0x4D06, 0xEF06,
+0x5606, 0x2894, 0x433D, 0x3C92, 0x4F06, 0x5606, 0x9036, 0xFF00, 0x2407,
+0xB03F, 0x7FFF, 0x2007, 0x4D06, 0x5606, 0x2087, 0x2886, 0x4E0C, 0x4F0D,
+0x3C83, 0xB03D, 0x7FFF, 0x27FA, 0x1209, 0x1208, 0x1207, 0x4D06, 0x4F07,
+0x5606, 0x5707, 0x9607, 0x2809, 0x2002, 0x9C0E, 0x2806, 0xED0F, 0xEF0D,
+0xED0F, 0xEC0E, 0xEE0C, 0xEC0E, 0x4F06, 0x5606, 0x6909, 0x1086, 0xD07F,
+0x0080, 0x4D08, 0x5808, 0x6909, 0x1088, 0xF378, 0xD07D, 0x0080, 0x4307,
+0x8846, 0x2415, 0x9076, 0xFFF1, 0x2C0D, 0x9076, 0xFFE8, 0x2846, 0x4E07,
+0x4F0E, 0x430F, 0x5076, 0x0010, 0x2409, 0x9347, 0x2402, 0xD037, 0x0100,
+0x110F, 0x100E, 0x1007, 0x5356, 0x23FB, 0x4906, 0x1106, 0xE906, 0xB316,
+0x242F, 0xE337, 0x5317, 0x7E0C, 0x7F4D, 0x2010, 0x930C, 0x2007, 0x9307,
+0x2438, 0x1087, 0x474D, 0x8038, 0x0018, 0x3C06, 0x108C, 0x4C4D, 0xED0C,
+0x1087, 0xD70C, 0x8238, 0x4307, 0x5707, 0x6C0C, 0x6D4D, 0x2C09, 0x8318,
+0x5707, 0x6C0C, 0x6D4D, 0x2C04, 0x8318, 0x5C0C, 0x6D4D, 0x2BFC, 0x9318,
+0x3411, 0x430D, 0x3C05, 0x5358, 0x9378, 0x200C, 0x403D, 0xFF00, 0x430C,
+0x1009, 0x100D, 0x3C12, 0x5E0C, 0x6F4D, 0x2FF4, 0x5707, 0x6C0C, 0x6D4D,
+0x1088, 0xD80D, 0x1009, 0x100D, 0x100C, 0x2806, 0x9307, 0x2002, 0xB31C,
+0x2402, 0x531C, 0x630D, 0x4137, 0x4138, 0x4139, 0x4136, 0x4130, 0x120A,
+0x120B, 0x4C0A, 0x430B, 0x903C, 0x0007, 0x2448, 0x923C, 0x2446, 0x433B,
+0x40B2, 0x5528, 0x156E, 0x40B2, 0x552C, 0x1570, 0x40B2, 0x5530, 0x1572,
+0x40B2, 0x5534, 0x1576, 0x40B2, 0x5538, 0x1578, 0x40B2, 0x5444, 0x157A,
+0x40B2, 0x543E, 0x157C, 0x40B2, 0x52F4, 0x1580, 0x40B2, 0x52EA, 0x1582,
+0x40B2, 0x52DC, 0x157E, 0x40B2, 0x52DA, 0x1584, 0x40B2, 0x52E8, 0x1586,
+0x40B2, 0x52DE, 0x158C, 0x40B2, 0x52E6, 0x1588, 0x40B2, 0x52E2, 0x158A,
+0x403F, 0x5514, 0x403E, 0x551C, 0x403D, 0x5518, 0x403A, 0x5520, 0x403C,
+0x5454, 0x4C82, 0x1594, 0x4A82, 0x1592, 0x4D82, 0x1590, 0x4E82, 0x158E,
+0x4F82, 0x1574, 0x4B0C, 0x413B, 0x413A, 0x4130, 0x4C82, 0x156A, 0x403C,
+0x1598, 0x403E, 0x2546, 0x403D, 0x000D, 0x12B0, 0x539C, 0x403F, 0x001A,
+0x121F, 0x1596, 0x832F, 0x23FC, 0x12B0, 0x32C0, 0x4292, 0x159E, 0x01EC,
+0x4292, 0x159E, 0x01F4, 0x5031, 0x001A, 0x903A, 0x0007, 0x2402, 0x923A,
+0x239C, 0x40B2, 0x552C, 0x1570, 0x40B2, 0x5530, 0x1572, 0x40B2, 0x5444,
+0x157A, 0x40B2, 0x52DE, 0x158C, 0x40B2, 0x52E8, 0x1586, 0x40B2, 0x52EA,
+0x1582, 0x40B2, 0x52E6, 0x1588, 0x40B2, 0x52E2, 0x158A, 0x40B2, 0x3214,
+0x156E, 0x40B2, 0x2F60, 0x1576, 0x40B2, 0x2F5C, 0x1578, 0x40B2, 0x2E1A,
+0x157C, 0x40B2, 0x5424, 0x1580, 0x40B2, 0x2F64, 0x157E, 0x40B2, 0x52DA,
+0x1584, 0x403F, 0x3124, 0x403E, 0x4642, 0x403D, 0x3DF2, 0x403A, 0x4A9A,
+0x403C, 0x5360, 0x3F9B, 0x120A, 0x120B, 0x1208, 0x1209, 0x8221, 0x4038,
+0x0028, 0x43A1, 0x0000, 0x4381, 0x0002, 0x4039, 0x1592, 0x1203, 0x410D,
+0x532D, 0x421E, 0x154C, 0x421F, 0x154E, 0x430C, 0x12A9, 0x5321, 0x933C,
+0x245D, 0x40B1, 0x0003, 0x0000, 0x40B1, 0xA05F, 0x0002, 0xB392, 0x1550,
+0x2806, 0x40B1, 0x000B, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x403A, 0xEDF0,
+0x403B, 0xE000, 0x1203, 0x410D, 0x532D, 0x4A0E, 0x4B0F, 0x430C, 0x12A9,
+0x5321, 0x933C, 0x2440, 0xC3A1, 0x0000, 0xD2A1, 0x0000, 0x1203, 0x410D,
+0x532D, 0x4A0E, 0x4B0F, 0x430C, 0x12A9, 0x5321, 0x933C, 0x2432, 0x1213,
+0x410D, 0x532D, 0x4A0E, 0x4B0F, 0x430C, 0x12A9, 0x5321, 0x933C, 0x2428,
+0xB3A1, 0x0002, 0x2C02, 0x5338, 0x23F1, 0x40B1, 0x0003, 0x0000, 0x40B1,
+0xA05F, 0x0002, 0x1203, 0x410D, 0x532D, 0x4A0E, 0x4B0F, 0x430C, 0x12A9,
+0x5321, 0x933C, 0x2413, 0x40B1, 0x0003, 0x0000, 0x4381, 0x0002, 0x1203,
+0x410D, 0x532D, 0x421E, 0x154C, 0x421F, 0x154E, 0x430C, 0x12A9, 0x5321,
+0x933C, 0x2402, 0x9308, 0x2002, 0x433C, 0x3C01, 0x430C, 0x5221, 0x4030,
+0x5380, 0x120A, 0x8231, 0x403A, 0x1558, 0x410C, 0x522C, 0x4A2F, 0x129F,
+0x0014, 0x930C, 0x340F, 0x403C, 0xFFC8, 0x3C61, 0x434C, 0x1292, 0x14EA,
+0x415E, 0x0004, 0x537E, 0x4EC1, 0x0004, 0x411C, 0x0006, 0x1292, 0x14D4,
+0x93C1, 0x0004, 0x2451, 0x410C, 0x532C, 0x4A2F, 0x129F, 0x0016, 0x930C,
+0x380F, 0x410C, 0x530C, 0x4A2F, 0x129F, 0x0016, 0x930C, 0x3808, 0x410C,
+0x503C, 0x0006, 0x4A2F, 0x129F, 0x0016, 0x930C, 0x3403, 0x403C, 0xFFC7,
+0x3C39, 0xB0B1, 0x0040, 0x0000, 0x2809, 0xB0B1, 0x0040, 0x0002, 0x2802,
+0x435C, 0x3C01, 0x434C, 0x1292, 0x14DA, 0xB0B1, 0x0100, 0x0000, 0x2809,
+0xB0B1, 0x0100, 0x0002, 0x2802, 0x435C, 0x3C01, 0x434C, 0x1292, 0x14DC,
+0xB391, 0x0000, 0x2808, 0xB391, 0x0002, 0x2802, 0x435C, 0x3C01, 0x434C,
+0x1292, 0x14E6, 0xB2B1, 0x0000, 0x2808, 0xB2B1, 0x0002, 0x2802, 0x435C,
+0x3C01, 0x434C, 0x1292, 0x14E8, 0xB3A1, 0x0000, 0x2BA8, 0xB3A1, 0x0002,
+0x2BA2, 0x435C, 0x3FA1, 0x430C, 0x5231, 0x413A, 0x4130, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x8031, 0x000C, 0x4C0A, 0x4D0B, 0x4E06, 0x4F09,
+0x4348, 0x4E2C, 0x4E1D, 0x0002, 0x430E, 0x5C0C, 0x6D0D, 0x6E0E, 0x5C0C,
+0x6D0D, 0x6E0E, 0x5C0C, 0x6D0D, 0x6E0E, 0x4C81, 0x0004, 0x4D81, 0x0006,
+0x4E81, 0x0008, 0x4381, 0x000A, 0x4A0E, 0x4B0F, 0xF03E, 0x00F0, 0xF03F,
+0xFF00, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430E, 0x410D, 0x530D, 0x427C,
+0x1292, 0x158E, 0x932C, 0x2029, 0xC312, 0x104A, 0xF03A, 0x0006, 0x490E,
+0xF31E, 0x5E0A, 0x410F, 0x522F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0xDA0C,
+0x4C81, 0x0004, 0x4D81, 0x0006, 0x4E81, 0x0008, 0x4F81, 0x000A, 0x407C,
+0x000B, 0x1292, 0x1574, 0x935C, 0x200D, 0x410C, 0x522C, 0x1292, 0x157E,
+0xB31C, 0x2804, 0x5358, 0x9078, 0x0028, 0x2BF6, 0x9078, 0x0028, 0x2002,
+0x433C, 0x3C0A, 0x9319, 0x2007, 0x431E, 0x460D, 0x407C, 0x000C, 0x1292,
+0x158E, 0x3C01, 0x432C, 0x5031, 0x000C, 0x4030, 0x537E, 0x9382, 0x156C,
+0x205C, 0x90B2, 0x0007, 0x156A, 0x2403, 0x92B2, 0x156A, 0x2017, 0x421F,
+0x15A0, 0xD2DF, 0x159B, 0x0000, 0x421F, 0x15AE, 0xD2DF, 0x15A9, 0x0000,
+0x421F, 0x15A4, 0xD2DF, 0x15A3, 0x0000, 0x431C, 0x1292, 0x14D4, 0x421F,
+0x15AE, 0xD2DF, 0x15A8, 0x0000, 0x40B2, 0x5528, 0x156E, 0x40B2, 0x552C,
+0x1570, 0x40B2, 0x5530, 0x1572, 0x40B2, 0x5534, 0x1576, 0x40B2, 0x5538,
+0x1578, 0x40B2, 0x5444, 0x157A, 0x40B2, 0x543E, 0x157C, 0x40B2, 0x52F4,
+0x1580, 0x40B2, 0x52EA, 0x1582, 0x40B2, 0x52DC, 0x157E, 0x40B2, 0x52DA,
+0x1584, 0x40B2, 0x52E8, 0x1586, 0x40B2, 0x52DE, 0x158C, 0x40B2, 0x52E6,
+0x1588, 0x40B2, 0x52E2, 0x158A, 0x40B2, 0x5514, 0x1574, 0x40B2, 0x551C,
+0x158E, 0x40B2, 0x5518, 0x1590, 0x40B2, 0x5520, 0x1592, 0x40B2, 0x5454,
+0x1594, 0x4392, 0x156C, 0x403C, 0x0005, 0x4210, 0x14D4, 0x120A, 0x120B,
+0x1208, 0x1209, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x430A, 0x430B,
+0x4038, 0x4A1A, 0x4039, 0x1558, 0x410C, 0x530C, 0x492F, 0x129F, 0x0018,
+0x4A0E, 0x4B0F, 0x412C, 0x411D, 0x0002, 0x1288, 0x930C, 0x243E, 0x531A,
+0x630B, 0x2003, 0x903A, 0x0010, 0x2BED, 0x410C, 0x530C, 0x492F, 0x129F,
+0x0018, 0x403E, 0x0010, 0x430F, 0x412C, 0x411D, 0x0002, 0x1288, 0x930C,
+0x242A, 0x410C, 0x530C, 0x492F, 0x129F, 0x0018, 0x403E, 0x0014, 0x430F,
+0x412C, 0x411D, 0x0002, 0x1288, 0x930C, 0x241C, 0x410C, 0x530C, 0x492F,
+0x129F, 0x0018, 0x403E, 0x0011, 0x430F, 0x412C, 0x411D, 0x0002, 0x1288,
+0x930C, 0x240E, 0x410C, 0x530C, 0x492F, 0x129F, 0x0018, 0x403E, 0x0012,
+0x430F, 0x412C, 0x411D, 0x0002, 0x1288, 0x930C, 0x2002, 0x433C, 0x3C01,
+0x430C, 0x5221, 0x4030, 0x5380, 0x120A, 0x120B, 0x1208, 0x430B, 0x1292,
+0x14D0, 0x3C3B, 0x932B, 0x2403, 0x903B, 0x0005, 0x2002, 0x4318, 0x3C08,
+0x931B, 0x2405, 0x922B, 0x2403, 0x903B, 0x0006, 0x2001, 0x4328, 0x480C,
+0x1292, 0x14CA, 0x434C, 0x1292, 0x14CE, 0x1292, 0x156E, 0x1292, 0x1570,
+0x407C, 0x0028, 0x1292, 0x1572, 0x4C4A, 0x1292, 0x14D0, 0x907A, 0x0089,
+0x241A, 0x907A, 0x008D, 0x2417, 0x907A, 0x0091, 0x2414, 0x907A, 0x0095,
+0x2411, 0x907A, 0x0098, 0x240E, 0x907A, 0x0099, 0x240B, 0x531B, 0x903B,
+0x0007, 0x2C13, 0x930B, 0x2403, 0x903B, 0x0003, 0x23C5, 0x4308, 0x3FD2,
+0x4A0C, 0x421F, 0x1558, 0x129F, 0x0008, 0x480C, 0x421F, 0x1558, 0x129F,
+0x0008, 0x430C, 0x3C0C, 0x433C, 0x421F, 0x1558, 0x129F, 0x0008, 0x403C,
+0xAAAA, 0x421F, 0x1558, 0x129F, 0x0008, 0x433C, 0x4030, 0x5382, 0x120A,
+0x120B, 0x1208, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x430A, 0x403B,
+0x1558, 0x4038, 0x4B90, 0x4A0E, 0x430F, 0x410C, 0x530C, 0x1288, 0x930C,
+0x243C, 0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A, 0x531A, 0x903A,
+0x0010, 0x2BEF, 0x403E, 0x0010, 0x430F, 0x410C, 0x530C, 0x1288, 0x930C,
+0x242A, 0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A, 0x403E, 0x0014,
+0x430F, 0x410C, 0x530C, 0x1288, 0x930C, 0x241C, 0x412C, 0x411D, 0x0002,
+0x4B2F, 0x129F, 0x000A, 0x403E, 0x0011, 0x430F, 0x410C, 0x530C, 0x1288,
+0x930C, 0x240E, 0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A, 0x403E,
+0x0012, 0x430F, 0x410C, 0x530C, 0x1288, 0x930C, 0x2002, 0x433C, 0x3C07,
+0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A, 0x430C, 0x5221, 0x4030,
+0x5382, 0x120A, 0x120B, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x12B0,
+0x4C08, 0x930C, 0x2402, 0x433C, 0x3C4A, 0x403A, 0x1590, 0x431F, 0x410E,
+0x530E, 0x403C, 0x00FC, 0x430D, 0x12AA, 0x403B, 0x1558, 0x412F, 0xD11F,
+0x0002, 0x930F, 0x2433, 0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A,
+0x431F, 0x410E, 0x530E, 0x403C, 0x00F8, 0x430D, 0x12AA, 0x412C, 0x411D,
+0x0002, 0x4B2F, 0x129F, 0x000A, 0x431F, 0x410E, 0x530E, 0x403C, 0x00F4,
+0x430D, 0x12AA, 0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A, 0x434C,
+0x4B2F, 0x129F, 0x0004, 0x431F, 0x410E, 0x530E, 0x430C, 0x430D, 0x12AA,
+0x412E, 0x411F, 0x0002, 0xF03E, 0xFFC0, 0x4E82, 0x1538, 0x4F82, 0x153A,
+0x412C, 0x411D, 0x0002, 0x4B2F, 0x129F, 0x000A, 0x430C, 0x5221, 0x413B,
+0x413A, 0x4130, 0x120A, 0x120B, 0x8231, 0x430A, 0x4381, 0x0000, 0x4381,
+0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x403B, 0x158E, 0x431E, 0x410D,
+0x530D, 0x426C, 0x12AB, 0x431E, 0x410D, 0x530D, 0x426C, 0x12AB, 0x41A1,
+0x0004, 0x4191, 0x0002, 0x0006, 0xB0B1, 0x0010, 0x0000, 0x2803, 0xD0B1,
+0x0010, 0x0004, 0xB0B1, 0x0020, 0x0000, 0x2803, 0xD0B1, 0x0020, 0x0004,
+0x93C1, 0x0000, 0x3403, 0xD0B1, 0x0080, 0x0004, 0xB3A1, 0x0000, 0x2802,
+0xD3A1, 0x0004, 0x411F, 0x0004, 0xD11F, 0x0006, 0x930F, 0x2414, 0x430E,
+0x410D, 0x522D, 0x426C, 0x12AB, 0x431E, 0x410D, 0x530D, 0x426C, 0x12AB,
+0x431E, 0x410D, 0x530D, 0x426C, 0x12AB, 0xB0F1, 0x00B2, 0x0000, 0x2401,
+0x433A, 0x4A0C, 0x5231, 0x413B, 0x413A, 0x4130, 0x120A, 0x8031, 0x000C,
+0x40B1, 0x0011, 0x0006, 0x4381, 0x0004, 0x4381, 0x0002, 0x4381, 0x0000,
+0x4381, 0x0008, 0x4381, 0x000A, 0x4C81, 0x0004, 0x4D81, 0x0002, 0x407C,
+0x0086, 0x1292, 0x1572, 0x403A, 0x1578, 0x430C, 0x12AA, 0x4C81, 0x0000,
+0x411E, 0x0008, 0x411F, 0x000A, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x4C81,
+0x0008, 0x4D81, 0x000A, 0x930F, 0x2003, 0x903E, 0x0BB8, 0x2802, 0x431C,
+0x3C1E, 0xB3A1, 0x0000, 0x2C07, 0x9381, 0x000A, 0x2004, 0x90B1, 0x0BB8,
+0x0008, 0x2BDF, 0x9381, 0x000A, 0x2010, 0x90B1, 0x0BB8, 0x0008, 0x2C0C,
+0x40B1, 0x0011, 0x0006, 0x411C, 0x0006, 0x12AA, 0x411C, 0x0004, 0x12AA,
+0x411C, 0x0002, 0x12AA, 0x430C, 0x5031, 0x000C, 0x413A, 0x4130, 0x120A,
+0x120B, 0x8221, 0x430A, 0x4382, 0x14FC, 0x12B0, 0x4C08, 0x930C, 0x2402,
+0x433C, 0x3C40, 0x12B0, 0x4C74, 0x930C, 0x2401, 0x433A, 0x407B, 0x0028,
+0x40B1, 0x0003, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x1203, 0x410D, 0x532D,
+0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x1213,
+0x410D, 0x532D, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1292, 0x1592,
+0x5321, 0xB3A1, 0x0002, 0x2C03, 0x537B, 0x2403, 0x3FEF, 0x934B, 0x2001,
+0x433A, 0x1213, 0x410D, 0x532D, 0x403E, 0xED30, 0x403F, 0xE000, 0x430C,
+0x1292, 0x1592, 0x411C, 0x0002, 0x411D, 0x0004, 0x421F, 0x1558, 0x129F,
+0x000A, 0x4A0C, 0x5321, 0x5221, 0x413B, 0x413A, 0x4130, 0x120A, 0x120B,
+0x1208, 0x430C, 0x12B0, 0x5054, 0x4C0A, 0x431C, 0x12B0, 0x5054, 0x4C0B,
+0x403C, 0x0003, 0x12B0, 0x5054, 0x4C08, 0x903A, 0x06A4, 0x3813, 0x421F,
+0x15B6, 0x503F, 0xFFF6, 0x9F0A, 0x3806, 0x421F, 0x15B6, 0x503F, 0x000A,
+0x9A0F, 0x3402, 0x4A82, 0x15B6, 0x421C, 0x15B6, 0x12B0, 0x450A, 0x3C07,
+0x9382, 0x15B2, 0x2422, 0x421C, 0x15B2, 0x12B0, 0x4D94, 0x9382, 0x15B2,
+0x241B, 0x93C2, 0x15ED, 0x2418, 0x8B08, 0x9038, 0x0097, 0x3814, 0x5392,
+0x15B8, 0x90B2, 0x0191, 0x15B8, 0x2810, 0x43D2, 0x15EE, 0x1292, 0x14D0,
+0xC2F2, 0x001D, 0x4382, 0x15B2, 0x435C, 0x421F, 0x1558, 0x129F, 0x0022,
+0x3C02, 0x4382, 0x15B8, 0x430C, 0x4030, 0x5382, 0x120A, 0x120B, 0x1208,
+0x4C0A, 0x9A82, 0x15B4, 0x242C, 0x4A0C, 0x430D, 0x12B0, 0x4788, 0x403E,
+0x41A3, 0x403F, 0xC4D6, 0x12B0, 0x396C, 0x4C0E, 0x4D0F, 0x403C, 0xF000,
+0x403D, 0x457F, 0x12B0, 0x3968, 0x12B0, 0x540E, 0x4C08, 0x5038, 0x0055,
+0x4A0C, 0x403E, 0x0014, 0x12B0, 0x52C2, 0x8C08, 0x9038, 0x1000, 0x3802,
+0x4038, 0x0FFF, 0x9308, 0x3401, 0x4308, 0x4882, 0x01C8, 0xD3A2, 0x01C0,
+0x4A82, 0x15B4, 0x3C1A, 0x431C, 0x12B0, 0x5054, 0x4C0B, 0x4A0F, 0x503F,
+0x000A, 0x9B0F, 0x2C07, 0x90B2, 0x0FFF, 0x01C8, 0x2C0D, 0x5392, 0x01C8,
+0x3C0A, 0x4A0F, 0x503F, 0xFFF6, 0x9F0B, 0x2C05, 0x9382, 0x01C8, 0x2402,
+0x53B2, 0x01C8, 0x4030, 0x5382, 0xC3A2, 0x01A0, 0x40B2, 0x22F0, 0x01A0,
+0x40B2, 0x0206, 0x01A2, 0x407E, 0x0010, 0x4EC2, 0x0080, 0x407F, 0x0011,
+0x4FC2, 0x0081, 0x407D, 0x0012, 0x4DC2, 0x0082, 0x407C, 0x0013, 0x4CC2,
+0x0083, 0x4EC2, 0x0084, 0x4FC2, 0x0085, 0x4DC2, 0x0086, 0x4CC2, 0x0087,
+0x4EC2, 0x0088, 0x4FC2, 0x0089, 0x4DC2, 0x008A, 0x4CC2, 0x008B, 0x4EC2,
+0x008C, 0x4FC2, 0x008D, 0x4DC2, 0x008E, 0x4CC2, 0x008F, 0xD3A2, 0x01A0,
+0xD392, 0x01A0, 0x40B2, 0x0FFF, 0x01C8, 0x40B2, 0x03A0, 0x01C0, 0xD3D2,
+0x0078, 0x40F2, 0x0017, 0x0078, 0x40F2, 0x0053, 0x0079, 0x43E2, 0x007C,
+0x43C2, 0x007D, 0x43C2, 0x007B, 0xC3D2, 0x0078, 0xDEC2, 0x0005, 0x4130,
+0x120A, 0x120B, 0x1208, 0x8231, 0x4D0A, 0x434B, 0xC312, 0x104C, 0x4C48,
+0xF038, 0x0006, 0xF31E, 0x5E08, 0x4D2C, 0x4A1D, 0x0002, 0x430E, 0x5C0C,
+0x6D0D, 0x6E0E, 0x5C0C, 0x6D0D, 0x6E0E, 0x5C0C, 0x6D0D, 0x6E0E, 0xD80C,
+0x4C81, 0x0000, 0x4D81, 0x0002, 0x4E81, 0x0004, 0x4381, 0x0006, 0x407C,
+0x000A, 0x1292, 0x1574, 0x935C, 0x2020, 0x410C, 0x530C, 0x1292, 0x157E,
+0x4C48, 0xF078, 0x0003, 0x9368, 0x2013, 0xC312, 0x100F, 0x100E, 0x100D,
+0x100C, 0x110F, 0x100E, 0x100D, 0x100C, 0x110F, 0x100E, 0x100D, 0x100C,
+0x4C8A, 0x0000, 0x4D8A, 0x0002, 0x432C, 0x3C05, 0x535B, 0x907B, 0x0028,
+0x2BE0, 0x433C, 0x5231, 0x4030, 0x5382, 0x12B0, 0x3ECA, 0x9382, 0x156C,
+0x2404, 0x421C, 0x156A, 0x12B0, 0x3ACA, 0x90B2, 0x0007, 0x156A, 0x2403,
+0x92B2, 0x156A, 0x2039, 0x425E, 0x1598, 0x525E, 0x1599, 0x525E, 0x159A,
+0x421F, 0x159E, 0xDECF, 0x0000, 0x421F, 0x15A0, 0xDECF, 0x0000, 0x421F,
+0x15A0, 0xC2DF, 0x159B, 0x0000, 0x421F, 0x15AE, 0x425E, 0x15A9, 0x525E,
+0x15A8, 0xDECF, 0x0000, 0x421F, 0x15A4, 0xD2DF, 0x15A2, 0x0000, 0x421F,
+0x15A4, 0xC2DF, 0x15A3, 0x0000, 0x12B0, 0x4F28, 0x421F, 0x15A4, 0xD2DF,
+0x15A2, 0x0000, 0x403C, 0x0005, 0x12B0, 0x51CE, 0x421F, 0x15AE, 0xC2DF,
+0x15A8, 0x0000, 0x403C, 0x0005, 0x12B0, 0x51CE, 0x4382, 0x156C, 0x4130,
+0x930D, 0x3408, 0x1208, 0xE33C, 0xE33D, 0x531C, 0x630D, 0x4038, 0x0197,
+0x3C03, 0x1208, 0x4038, 0x0097, 0x903D, 0x0100, 0x2C1C, 0x930D, 0x200F,
+0x903C, 0x0100, 0x2806, 0x108C, 0x4C4D, 0xC03C, 0x00FF, 0x8238, 0x3C06,
+0x930C, 0x240D, 0x4C0D, 0x430C, 0x8038, 0x0010, 0x8318, 0x5C0C, 0x6D4D,
+0x2BFC, 0x1108, 0x104D, 0x100C, 0x1088, 0xD80D, 0x4138, 0x4130, 0x1207,
+0x4347, 0x903D, 0x0200, 0x2808, 0xC312, 0x100D, 0x100C, 0x1047, 0x5318,
+0x903D, 0x0200, 0x2FF8, 0x1108, 0x104D, 0x100C, 0x1088, 0xD80D, 0x6747,
+0x2806, 0xC312, 0x1047, 0x2001, 0x2802, 0x531C, 0x630D, 0x4137, 0x4138,
+0x4130, 0x8031, 0x000A, 0x4391, 0x0008, 0x4C81, 0x0006, 0x4381, 0x0000,
+0x4381, 0x0002, 0x4381, 0x0004, 0x407C, 0x0086, 0x1292, 0x1572, 0x430C,
+0x1292, 0x1578, 0x4C81, 0x0000, 0x411E, 0x0002, 0x411F, 0x0004, 0x4E0C,
+0x4F0D, 0x531C, 0x630D, 0x4C81, 0x0002, 0x4D81, 0x0004, 0x930F, 0x2003,
+0x903E, 0x0BB8, 0x2802, 0x431C, 0x3C1A, 0xB391, 0x0000, 0x2C07, 0x9381,
+0x0004, 0x2004, 0x90B1, 0x0BB8, 0x0002, 0x2BDE, 0x9381, 0x0004, 0x200C,
+0x90B1, 0x0BB8, 0x0002, 0x2C08, 0x411C, 0x0008, 0x1292, 0x1578, 0x411C,
+0x0006, 0x1292, 0x1578, 0x430C, 0x5031, 0x000A, 0x4130, 0x8031, 0x0006,
+0x4381, 0x0000, 0x410C, 0x530C, 0x421F, 0x1558, 0x129F, 0x0016, 0x933C,
+0x2430, 0x9381, 0x0000, 0x2002, 0x431E, 0x3C01, 0x422E, 0x403F, 0x05FA,
+0x4E81, 0x0002, 0x4F81, 0x0004, 0x1203, 0x410D, 0x522D, 0x403E, 0xED0C,
+0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2417, 0x1213,
+0x410D, 0x522D, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1292, 0x1592,
+0x5321, 0x933C, 0x240A, 0x9381, 0x0000, 0x2009, 0x411F, 0x0004, 0xF03F,
+0xFF00, 0x903F, 0x0200, 0x2402, 0x433C, 0x3C01, 0x430C, 0x5031, 0x0006,
+0x4130, 0x8231, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381,
+0x0006, 0x431E, 0x410D, 0x530D, 0x426C, 0x1292, 0x158E, 0xC0B1, 0x4000,
+0x0002, 0xD0B1, 0x1000, 0x0002, 0x430E, 0x410D, 0x530D, 0x426C, 0x1292,
+0x158E, 0x4392, 0x14FC, 0x4391, 0x0004, 0x40B1, 0xA05F, 0x0006, 0x1203,
+0x410D, 0x503D, 0x0006, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1292,
+0x1592, 0x5321, 0x933C, 0x2002, 0x433C, 0x3C0E, 0xC0B1, 0x1000, 0x0002,
+0x430E, 0x410D, 0x530D, 0x426C, 0x1292, 0x158E, 0x403C, 0x00C8, 0x1292,
+0x14D4, 0x430C, 0x5231, 0x4130, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002,
+0x12B0, 0x4C08, 0x930C, 0x2033, 0x1213, 0x410D, 0x532D, 0x403E, 0xED10,
+0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2426, 0xB3A1,
+0x0000, 0x280F, 0xC3A1, 0x0000, 0x1203, 0x410D, 0x532D, 0x403E, 0xED10,
+0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2414, 0x4392,
+0x14FC, 0x4391, 0x0000, 0x40B1, 0xA05F, 0x0002, 0x1203, 0x410D, 0x532D,
+0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C,
+0x2002, 0x433C, 0x3C01, 0x430C, 0x5221, 0x4130, 0x120A, 0x120B, 0x1208,
+0x120D, 0x120C, 0x8221, 0x4E0A, 0x4F0B, 0x4078, 0x0028, 0x4381, 0x0000,
+0x4381, 0x0002, 0x1203, 0x410D, 0x503D, 0x0006, 0x403E, 0xEDF8, 0x403F,
+0xE000, 0x430C, 0x1292, 0x1592, 0xD31B, 0x4A81, 0x0006, 0x4B81, 0x0008,
+0x1203, 0x410D, 0x523D, 0x403E, 0xEDF4, 0x403F, 0xE000, 0x430C, 0x1292,
+0x1592, 0x5221, 0x1213, 0x410D, 0x532D, 0x403E, 0xEDF0, 0x403F, 0xE000,
+0x430C, 0x1292, 0x1592, 0x5378, 0x5321, 0x9348, 0x2407, 0xB391, 0x0002,
+0x2BEF, 0x431C, 0x5231, 0x4030, 0x5382, 0x430C, 0x3FFB, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8221, 0x4E08, 0x4F09, 0x4D04,
+0x4116, 0x0014, 0x4381, 0x0000, 0x4381, 0x0002, 0x4C4B, 0x108B, 0x4037,
+0x1590, 0x431F, 0x410E, 0x530E, 0x430C, 0x4B0D, 0x12A7, 0x932C, 0x2016,
+0xD3A1, 0x0000, 0x430F, 0x410E, 0x530E, 0x430C, 0x4B0D, 0x12A7, 0x932C,
+0x200C, 0x4881, 0x0000, 0x4981, 0x0002, 0x430F, 0x410E, 0x530E, 0x4B0D,
+0x422C, 0x12A7, 0x932C, 0x2402, 0x433C, 0x3C06, 0x460F, 0x440E, 0x403C,
+0x000C, 0x4B0D, 0x12A7, 0x5221, 0x4030, 0x537A, 0x8221, 0x4391, 0x0000,
+0x40B1, 0xA05F, 0x0002, 0x1203, 0x410D, 0x532D, 0x403E, 0xEDF0, 0x403F,
+0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2425, 0x40B1, 0x0401,
+0x0000, 0x40B1, 0x0100, 0x0002, 0x1203, 0x410D, 0x532D, 0x403E, 0xEDFC,
+0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2412, 0x40B1,
+0x001F, 0x0000, 0x4381, 0x0002, 0x1203, 0x410D, 0x532D, 0x403E, 0xED30,
+0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2002, 0x433C,
+0x3C01, 0x430C, 0x5221, 0x4130, 0x120A, 0x120B, 0x120F, 0x120E, 0x8221,
+0x4C0A, 0x1203, 0x410D, 0x503D, 0x0006, 0x403E, 0xEDF4, 0x403F, 0xE000,
+0x430C, 0x1292, 0x1592, 0x407B, 0x0028, 0x4381, 0x0002, 0x4381, 0x0004,
+0x5321, 0x1213, 0x410D, 0x532D, 0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C,
+0x1292, 0x1592, 0x537B, 0x5321, 0x934B, 0x2403, 0xB391, 0x0002, 0x2BEF,
+0x1213, 0x4A0D, 0x403E, 0xEDF8, 0x403F, 0xE000, 0x430C, 0x1292, 0x1592,
+0x5321, 0x934B, 0x2002, 0x430C, 0x3C01, 0x431C, 0x5231, 0x413B, 0x413A,
+0x4130, 0x120A, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x403A, 0x00C8,
+0x431E, 0x410D, 0x530D, 0x426C, 0x1292, 0x158E, 0x412E, 0x411F, 0x0002,
+0xD03F, 0x5000, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430E, 0x410D, 0x530D,
+0x426C, 0x1292, 0x158E, 0x431E, 0x410D, 0x530D, 0x426C, 0x1292, 0x158E,
+0x533A, 0x411F, 0x0002, 0xF03F, 0xA000, 0x903F, 0xA000, 0x2403, 0x930A,
+0x2403, 0x3FEF, 0x930A, 0x2002, 0x433C, 0x3C01, 0x430C, 0x5221, 0x413A,
+0x4130, 0x120A, 0x8231, 0x40B1, 0x695A, 0x0004, 0x4381, 0x0006, 0x4381,
+0x0000, 0x4381, 0x0002, 0x403A, 0x0064, 0x1203, 0x410D, 0x503D, 0x0006,
+0x403E, 0x4000, 0x403F, 0xE004, 0x430C, 0x1292, 0x1592, 0x5321, 0x1213,
+0x410D, 0x532D, 0x403E, 0x4020, 0x403F, 0xE004, 0x430C, 0x1292, 0x1592,
+0x533A, 0x5321, 0xB2B1, 0x0000, 0x2803, 0x533A, 0x2403, 0x3FEE, 0x930A,
+0x2002, 0x433C, 0x3C01, 0x430C, 0x5231, 0x413A, 0x4130, 0x120A, 0x430A,
+0x1292, 0x14D0, 0x403C, 0x0007, 0x1292, 0x14CA, 0x434C, 0x1292, 0x14CE,
+0x1292, 0x156E, 0x1292, 0x1594, 0x903C, 0xFFFE, 0x2002, 0x933D, 0x240C,
+0x421F, 0x1558, 0x129F, 0x0008, 0x403C, 0x0007, 0x421F, 0x1558, 0x129F,
+0x0008, 0x430C, 0x3C0F, 0x531A, 0x922A, 0x2BE1, 0x433C, 0x421F, 0x1558,
+0x129F, 0x0008, 0x403C, 0xAAAA, 0x421F, 0x1558, 0x129F, 0x0008, 0x433C,
+0x413A, 0x4130, 0x120A, 0x4C0A, 0x12B0, 0x525E, 0x4392, 0x1566, 0x40B2,
+0x07CF, 0x1568, 0x403E, 0x000C, 0x403D, 0x253A, 0x403C, 0x155A, 0x12B0,
+0x532C, 0x4A82, 0x1558, 0x12B0, 0x5204, 0x9382, 0x1304, 0x2006, 0x40B2,
+0xFFFE, 0x1302, 0x4292, 0x14D6, 0x1304, 0x12B0, 0x5122, 0x40B2, 0x0070,
+0x1562, 0x40B2, 0x1146, 0x1564, 0x43D2, 0x1560, 0x403C, 0x155A, 0x413A,
+0x4130, 0x4C0F, 0x930C, 0x241D, 0x503C, 0x0032, 0x93C2, 0x14FA, 0x2411,
+0xC2F2, 0x0031, 0xC0F2, 0x0020, 0x0029, 0x4F82, 0x15B2, 0x12B0, 0x450A,
+0x12B0, 0x544E, 0x431C, 0x12B0, 0x51CE, 0x43C2, 0x14FA, 0x3C0F, 0x4F82,
+0x15B2, 0x12B0, 0x450A, 0x12B0, 0x544E, 0x3C08, 0x12B0, 0x545A, 0x1292,
+0x14D0, 0x4382, 0x15B2, 0x43D2, 0x14FA, 0x430C, 0x4130, 0x8221, 0x43A1,
+0x0000, 0x4381, 0x0002, 0x1203, 0x410D, 0x532D, 0x421E, 0x154C, 0x421F,
+0x154E, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2412, 0x4381, 0x0000,
+0x40B1, 0xA05F, 0x0002, 0x1203, 0x410D, 0x532D, 0x403E, 0xEDF0, 0x403F,
+0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C, 0x2002, 0x433C, 0x3C01,
+0x430C, 0x5221, 0x4130, 0x120A, 0x8221, 0x433A, 0x4381, 0x0000, 0x4381,
+0x0002, 0x421F, 0x1554, 0xD21F, 0x1556, 0x930F, 0x2414, 0x431E, 0x410D,
+0x530D, 0x426C, 0x1292, 0x158E, 0xB0B1, 0x2000, 0x0002, 0x280D, 0x12B0,
+0x4C08, 0x930C, 0x2004, 0x12B0, 0x4C74, 0x930C, 0x2402, 0x432C, 0x3C04,
+0x12B0, 0x4E8A, 0x4C0A, 0x4A0C, 0x5221, 0x413A, 0x4130, 0x8221, 0x4381,
+0x0000, 0x4381, 0x0002, 0x9382, 0x14FC, 0x241D, 0x1213, 0x410D, 0x532D,
+0x403E, 0xEDF0, 0x403F, 0xE000, 0x430C, 0x1292, 0x1592, 0x5321, 0x933C,
+0x2002, 0x433C, 0x3C0F, 0xB3A1, 0x0002, 0x280B, 0x412C, 0x411D, 0x0002,
+0x421F, 0x1558, 0x129F, 0x000A, 0x4382, 0x14FC, 0x431C, 0x3C01, 0x432C,
+0x5221, 0x4130, 0x9382, 0x152A, 0x240C, 0x407C, 0x00F4, 0x1292, 0x1572,
+0x421C, 0x152C, 0x1292, 0x1578, 0x403C, 0x0014, 0x1292, 0x14D4, 0x421F,
+0x151A, 0xD21F, 0x151C, 0x930F, 0x240E, 0x407C, 0x0054, 0x1292, 0x1572,
+0x421C, 0x151E, 0x421D, 0x1520, 0x1292, 0x157C, 0x403C, 0x0014, 0x1292,
+0x14D4, 0x1292, 0x14D0, 0x430C, 0x4130, 0x120A, 0x8231, 0x410A, 0x530A,
+0x4A0E, 0x43FE, 0x0000, 0x43FE, 0x0001, 0x532E, 0x4A0F, 0x523F, 0x9F0E,
+0x23F7, 0x4A0D, 0x403C, 0x0033, 0x12B0, 0x3272, 0x40F1, 0x003C, 0x0000,
+0x40F1, 0x00E7, 0x0001, 0x4A0D, 0x403C, 0x0010, 0x12B0, 0x3272, 0x43F1,
+0x0000, 0x4A0D, 0x423C, 0x12B0, 0x3272, 0x5231, 0x413A, 0x4130, 0x1206,
+0x1207, 0x4D06, 0xD07D, 0x0080, 0x6606, 0x6707, 0x1086, 0xF376, 0x8076,
+0x007F, 0x2C03, 0x430C, 0x430D, 0x3C13, 0x8076, 0x0018, 0x2C07, 0xE376,
+0x240E, 0x110D, 0x100C, 0x8356, 0x23FC, 0x3C09, 0x9236, 0x3803, 0x433C,
+0x433D, 0x3C04, 0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x4137, 0x4136,
+0x4130, 0x8231, 0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0000, 0x4381,
+0x0002, 0x410D, 0x530D, 0x410C, 0x522C, 0x1292, 0x14C8, 0x411C, 0x0004,
+0x411D, 0x0006, 0x12B0, 0x540E, 0x421F, 0x1558, 0x129F, 0x0008, 0x412C,
+0x411D, 0x0002, 0x12B0, 0x540E, 0x421F, 0x1558, 0x129F, 0x0008, 0x430C,
+0x5231, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0xB2F2, 0x001D, 0x280B,
+0x431C, 0x12B0, 0x5054, 0x430D, 0x12B0, 0x4788, 0x4C8A, 0x0000, 0x4D8A,
+0x0002, 0x3C04, 0x438C, 0x0000, 0x438C, 0x0002, 0x430C, 0x12B0, 0x5054,
+0x430D, 0x12B0, 0x4788, 0x4C8B, 0x0000, 0x4D8B, 0x0002, 0x430C, 0x413B,
+0x413A, 0x4130, 0x430F, 0x922C, 0x2C1E, 0x5C0C, 0x4C1F, 0x0140, 0x5C1F,
+0x0148, 0x5C1F, 0x0150, 0x5C1F, 0x0158, 0x1202, 0xC232, 0x4303, 0x4F82,
+0x0130, 0x4C92, 0x2560, 0x0138, 0x421C, 0x013A, 0x421D, 0x013C, 0x4132,
+0x108C, 0x108D, 0xED4C, 0xED0C, 0xF37D, 0x12B0, 0x5312, 0x4C0F, 0x4F0C,
+0x4130, 0x8321, 0x410C, 0x530C, 0x421F, 0x1558, 0x129F, 0x0014, 0x930C,
+0x3403, 0x403C, 0xFFEB, 0x3C15, 0x416C, 0x1292, 0x14CA, 0x930C, 0x2403,
+0x403C, 0xFFEA, 0x3C0D, 0x434C, 0x1292, 0x14CE, 0x1292, 0x156E, 0x1292,
+0x1570, 0x435C, 0x421F, 0x1558, 0x129F, 0x0004, 0x430C, 0x5321, 0x4130,
+0x53D2, 0x15EF, 0x90F2, 0x000A, 0x15EF, 0x201A, 0x43C2, 0x15EF, 0x4382,
+0x0160, 0xC3A2, 0x01A0, 0x40F2, 0x0012, 0x0080, 0xD3A2, 0x01A0, 0xD392,
+0x01A0, 0xB392, 0x01A4, 0x2BFD, 0x90B2, 0x0FFF, 0x0140, 0x3404, 0x40B2,
+0x0114, 0x0160, 0x1300, 0x43C2, 0x15EC, 0x1300, 0x12B0, 0x45A8, 0x4382,
+0x0122, 0x4382, 0x0124, 0x40B2, 0x13C0, 0x01E8, 0x4292, 0x159E, 0x01EC,
+0x40B2, 0x13C0, 0x01F0, 0x4292, 0x159E, 0x01F4, 0x42A2, 0x01F6, 0x40B2,
+0x0007, 0x156A, 0x403C, 0x0007, 0x12B0, 0x3ACA, 0x4392, 0x156C, 0x430C,
+0x4130, 0x120A, 0x120B, 0x407C, 0x0086, 0x1292, 0x1572, 0x403B, 0x1578,
+0x430C, 0x12AB, 0xB23C, 0x280B, 0x403C, 0x0014, 0x12AB, 0x430C, 0x12AB,
+0x4C0A, 0x430C, 0x12AB, 0x4C0D, 0x4A0C, 0x3C02, 0x430C, 0x430D, 0x413B,
+0x413A, 0x4130, 0x934C, 0x421F, 0x15AE, 0x2404, 0xC2DF, 0x15A8, 0x0000,
+0x3C03, 0xD2DF, 0x15A8, 0x0000, 0x403C, 0x0005, 0x4030, 0x51CE, 0x934C,
+0x421F, 0x15A4, 0x2404, 0xD2DF, 0x15A2, 0x0000, 0x3C03, 0xC2DF, 0x15A2,
+0x0000, 0x3FF0, 0x930C, 0x2418, 0x4382, 0x0160, 0xC392, 0x0160, 0x40B2,
+0x0200, 0x0160, 0x40B2, 0x02E9, 0x0172, 0x4382, 0x0170, 0xD0B2, 0x0014,
+0x0160, 0xB392, 0x0160, 0x2BFD, 0x4382, 0x0160, 0xC392, 0x0160, 0x533C,
+0x23E8, 0x4130, 0x403F, 0x1146, 0x403E, 0x130A, 0x4EBF, 0x0000, 0x4EBF,
+0x0002, 0x4EBF, 0x0004, 0x4EBF, 0x0006, 0x523F, 0x903E, 0x14C2, 0x23F4,
+0x43B2, 0x12FE, 0x4382, 0x1300, 0x43B2, 0x1302, 0x4382, 0x1304, 0x4130,
+0x907B, 0x0010, 0x2807, 0x4D0C, 0x4E0D, 0x4F0E, 0x430F, 0x807B, 0x0010,
+0x3FF6, 0x934B, 0x2407, 0xC312, 0x100F, 0x100E, 0x100D, 0x100C, 0x835B,
+0x23F9, 0x4130, 0x4382, 0x156A, 0x40B2, 0x0CE4, 0x15B2, 0x43D2, 0x15ED,
+0x43C2, 0x15EE, 0x4382, 0x15B6, 0x4382, 0x15B8, 0x4382, 0x15B4, 0x4382,
+0x14FC, 0x4130, 0x907E, 0x0010, 0x2805, 0x4D0C, 0x430D, 0x2409, 0x807E,
+0x0010, 0x934E, 0x2405, 0xC312, 0x100D, 0x100C, 0x835E, 0x23FB, 0x4130,
+0x1292, 0x1594, 0x4C0F, 0xDD0F, 0x930F, 0x2406, 0x421F, 0x1558, 0x129F,
+0x000A, 0x430C, 0x4130, 0x433C, 0x4130, 0xF37C, 0xF37E, 0x4E0F, 0x4C0D,
+0x430E, 0x431C, 0x5D0D, 0x6E0E, 0x9F0E, 0x2801, 0x8F0E, 0x6C0C, 0x2BF9,
+0x4130, 0x3C07, 0x3C06, 0x434C, 0x4130, 0x430C, 0x4130, 0x4130, 0x4130,
+0x430C, 0x430D, 0x430E, 0x430F, 0x4130, 0x3FFA, 0x907E, 0x0010, 0x2804,
+0x4C0D, 0x430C, 0x807E, 0x0010, 0x934E, 0x2404, 0x5C0C, 0x6D0D, 0x835E,
+0x23FC, 0x4130, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D,
+0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x4130, 0x120A, 0x4C0A, 0x3C04,
+0x4DEA, 0x0000, 0x531A, 0x531D, 0x4E0F, 0x533E, 0x930F, 0x23F8, 0x413A,
+0x4130, 0x8321, 0x410C, 0x530C, 0x421F, 0x1558, 0x129F, 0x0016, 0x412C,
+0x1292, 0x14C4, 0x430C, 0x5321, 0x4130, 0x407C, 0x000E, 0x1292, 0x1574,
+0x4C4C, 0x430D, 0x935C, 0x2003, 0x430C, 0x1292, 0x157C, 0x4130, 0x4135,
+0x4134, 0x4137, 0x4136, 0x4139, 0x4138, 0x413B, 0x413A, 0x4130, 0x4C0F,
+0x5D0F, 0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB, 0x4130, 0x120C,
+0x4EBC, 0x0000, 0x532C, 0x831D, 0x23FB, 0x413C, 0x4130, 0x3C02, 0x3C00,
+0x3C00, 0x533C, 0x930C, 0x23FB, 0x4130, 0x421F, 0x15C0, 0xC2DF, 0x15BC,
+0x0000, 0x4130, 0x421F, 0x15C0, 0xD2DF, 0x15BA, 0x0000, 0x4130, 0x421F,
+0x15C0, 0xC2DF, 0x15BA, 0x0000, 0x4130, 0x934C, 0x2402, 0x4030, 0x2E0E,
+0x4030, 0x3208, 0x934C, 0x2402, 0x4030, 0x3326, 0x4030, 0x53BA, 0x934C,
+0x2402, 0x4030, 0x53C6, 0x4030, 0x53D2, 0x934E, 0x2403, 0x5C0C, 0x835E,
+0x23FD, 0x4130, 0x12B0, 0x4F76, 0x2802, 0x430C, 0x430D, 0x4130, 0x930C,
+0x2402, 0x43E2, 0x007C, 0x4130, 0x430C, 0x430D, 0x430E, 0x430F, 0x4130,
+0x12B0, 0x3ECA, 0x430C, 0x4130, 0x12B0, 0x46DC, 0x430C, 0x4130, 0x430C,
+0x430D, 0x4130, 0x3FFC, 0x1292, 0x14C2, 0x430C, 0x4130, 0xD2F2, 0x001D,
+0x4130, 0x433C, 0x433D, 0x4130, 0xC2F2, 0x001D, 0x4130, 0x430C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x430C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x430C, 0x4130, 0x430C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x434C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x430C,
+0x4130, 0x430C, 0x4130, 0x434C, 0x4130, 0x434C, 0x4130, 0x430C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x4030, 0x532C, 0x4130, 0x4130, 0x4130, 0x4130,
+0x4130, 0x4130, 0x5137,
+};
+
+const uint32_t UifHalImage_address[] =
+{
+0x0000250C, 0x0000251E, 0x0000253A, 0x0000DFFE,
+};
+const uint32_t UifHalImage_length_of_sections[] =
+{
+0x00000001, 0x00000001, 0x0000185D, 0x00000001,
+};
+const uint32_t UifHalImage_sections = 0x00000004;
+const uint32_t UifHalImage_termination = 0x00000000;
+const uint32_t UifHalImage_start = 0x0000250C;
+const uint32_t UifHalImage_finish = 0x0000E000;
+const uint32_t UifHalImage_length = 0x0000BAF4;
+
+#define UIFHALIMAGE_TERMINATION 0x00000000
+#define UIFHALIMAGE_START 0x0000250C
+#define UIFHALIMAGE_FINISH 0x0000E000
+#define UIFHALIMAGE_LENGTH 0x0000BAF4
+#define UIFHALIMAGE_SECTIONS 0x00000004
diff --git a/Bios/include/UifHalMsp430.h b/Bios/include/UifHalMsp430.h
new file mode 100644
index 0000000..89dccf0
--- /dev/null
+++ b/Bios/include/UifHalMsp430.h
@@ -0,0 +1,2623 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t UifHalMsp430Image[] =
+{
+0xD8B2, 0xC8B6, 0x28BC, 0xC296, 0x8B00, 0x0001, 0x0000, 0x0000, 0x0000,
+0x5555, 0x5555, 0x1711, 0x1711, 0x1B16, 0x1711, 0x0108, 0x0402, 0x0030,
+0x0031, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000,
+0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120,
+0x5A80, 0x0000, 0x0000, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000, 0x5A80,
+0x0000, 0x0000, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000,
+0x0000, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000, 0x5A83, 0x0000, 0x0000,
+0x0120, 0x5A80, 0x0120, 0x5A80, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0301, 0x0705, 0x0281, 0x0000,
+0x0000, 0xFF04, 0x0FFF, 0x0600, 0x0001, 0x0000, 0x0180, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0109, 0x0503, 0x8107, 0x0002, 0x0000, 0x0400, 0xFFFF,
+0x000F, 0x0106, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0A00,
+0x0A02, 0x020A, 0x0A0A, 0x0A02, 0x0008, 0x0808, 0x0800, 0x020A, 0x080A,
+0x0800, 0x0008, 0x0108, 0x0109, 0x0009, 0x0008, 0x0308, 0x030B, 0x020B,
+0x020A, 0x010A, 0x0009, 0x0008, 0x0308, 0x020B, 0x020A, 0x010A, 0x0009,
+0x0308, 0x020B, 0xFF0A, 0xCACA, 0xCACA, 0x40B2, 0x5A80, 0x0120, 0xC232,
+0xC0F2, 0x003F, 0x0057, 0xD0F2, 0x0007, 0x0057, 0x45C2, 0x0056, 0x46C2,
+0x0057, 0x43C2, 0x0058, 0xEA0A, 0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC,
+0x4303, 0x3FFF, 0x40B2, 0x5A80, 0x0120, 0xC232, 0xD072, 0x0040, 0x4032,
+0x0040, 0x40F2, 0x0080, 0x0052, 0x43C2, 0x0050, 0x45C2, 0x0051, 0xD0F2,
+0x0080, 0x0053, 0xC0F2, 0x005F, 0x0054, 0xEA0A, 0xE909, 0x5319, 0x23FE,
+0x531A, 0x23FC, 0x4303, 0x3FFF, 0x0001, 0x0000, 0xDBD8, 0x0001, 0xD99E,
+0x0002, 0xCFE4, 0x0003, 0xC844, 0x0004, 0xC682, 0x0005, 0xA708, 0x0006,
+0xC4C4, 0x0007, 0x8B9E, 0x0008, 0xCFFE, 0x0009, 0xCB54, 0x000A, 0xBCFC,
+0x000B, 0xA8A0, 0x000C, 0xC5F2, 0x000D, 0xDB5C, 0x000E, 0xDBC0, 0x000F,
+0xD5BE, 0x0010, 0xADC2, 0x0011, 0xA2E2, 0x0012, 0x601E, 0x0013, 0x5742,
+0x0014, 0x6816, 0x0015, 0x9D8E, 0x0016, 0x90E0, 0x0017, 0x93E6, 0x0018,
+0x91E4, 0x0019, 0x99CA, 0x001A, 0xBB72, 0x001B, 0xDBD4, 0x001C, 0x771A,
+0x001D, 0xB9DE, 0x001E, 0xB7A0, 0x001F, 0x7A3A, 0x0020, 0x4848, 0x0021,
+0x3F0E, 0x0022, 0xCC50, 0x0023, 0xCBD2, 0x0024, 0xCB7E, 0x0025, 0xCBFC,
+0x0026, 0x8426, 0x0027, 0x5D48, 0x0028, 0x62DC, 0x0029, 0x714A, 0x002A,
+0x98D4, 0x002B, 0xA496, 0x002C, 0x8A7C, 0x002D, 0x8CBA, 0x002E, 0x9ABE,
+0x002F, 0xAFC2, 0x0030, 0x754C, 0x0031, 0xAE6E, 0x0032, 0xABA8, 0x0033,
+0x82C6, 0x0034, 0x43E6, 0x0035, 0xCBA8, 0x0036, 0xCC26, 0x0037, 0x8576,
+0x0038, 0x97DC, 0x0039, 0xBEF4, 0x003A, 0x5A5E, 0x003B, 0x5044, 0x003C,
+0x658A, 0x003D, 0xB5E4, 0x003E, 0x9CA2, 0x003F, 0xA202, 0x0040, 0xA56C,
+0x0041, 0x734C, 0x0042, 0x8164, 0x0043, 0xA63A, 0x0044, 0x7D30, 0x0045,
+0x4C8A, 0x0046, 0xAF18, 0x0047, 0x9E78, 0x0048, 0xA7D4, 0x0049, 0x53F6,
+0x004A, 0xDAA6, 0x004B, 0xC16E, 0x004C, 0xC10A, 0x004D, 0xC74E, 0x004E,
+0x7BBE, 0x004F, 0xB4B6, 0x0050, 0x6CF0, 0x0051, 0xDB88, 0x0052, 0xCE0C,
+0x0053, 0xC46E, 0x0054, 0xC412, 0x0055, 0xDA56, 0x0056, 0xDBD0, 0x0057,
+0xB106, 0x0058, 0xDBC4, 0x0059, 0xC78E, 0x005A, 0x880E, 0x005B, 0xDB6C,
+0x005C, 0xDB9C, 0x005D, 0xDB74, 0x005E, 0xDB8C, 0x005F, 0xDBAC, 0x0060,
+0xDB68, 0x0061, 0xDB58, 0x0062, 0xDB94, 0x0063, 0xDB70, 0x0064, 0xDB90,
+0x0065, 0xDBA0, 0x0066, 0xDBA4, 0x0067, 0xDB80, 0x0068, 0xDBA8, 0x0069,
+0xDB1E, 0x006A, 0xDBB4, 0x006B, 0xDBC8, 0x006C, 0xDBCC, 0x006D, 0xB8C4,
+0xC6C8, 0xC2F6, 0xDBE4, 0xC7CC, 0x347E, 0xC926, 0x37E0, 0x3476, 0xD4FA,
+0xC95E, 0xB246, 0x37E8, 0x32E6, 0x3294, 0xD88A, 0xDBE6, 0x3292, 0x8DC8,
+0x32CE, 0x8E38, 0x32B6, 0xDBB8, 0xDBE2, 0xDBB0, 0xDBE0, 0xDBE8, 0x8E50,
+0x0000, 0xFF01, 0x1204, 0x1205, 0x1206, 0x1207, 0x1208, 0x1209, 0x120A,
+0x120B, 0x120C, 0x120D, 0x120E, 0x120F, 0x403C, 0x1568, 0x403D, 0x0203,
+0x12B0, 0xD35E, 0x403C, 0x1306, 0x403D, 0x265A, 0x403E, 0x0261, 0x12B0,
+0xDBBC, 0x413F, 0x413E, 0x413D, 0x413C, 0x413B, 0x413A, 0x4139, 0x4138,
+0x4137, 0x4136, 0x4135, 0x4134, 0x4030, 0xC296, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8231, 0x12B0, 0x2E6E, 0x2403,
+0x12B0, 0x309E, 0x3C02, 0x12B0, 0x2E76, 0x12B0, 0x2EF2, 0x403D, 0x8000,
+0xBC81, 0x0000, 0x2014, 0xBD81, 0x0002, 0x240C, 0x3C10, 0xB31C, 0x2BF7,
+0xBC81, 0x0000, 0x2003, 0xBD81, 0x0002, 0x2406, 0x12B0, 0x309E, 0x3C05,
+0x12B0, 0x2EE6, 0x3C04, 0x12B0, 0x2E76, 0x12B0, 0x2F6A, 0x12B0, 0x2E90,
+0x23EB, 0x12B0, 0x2E6E, 0x2403, 0x12B0, 0x2F5C, 0x3C02, 0x12B0, 0x2EDC,
+0x12B0, 0x2E7E, 0x440C, 0x450D, 0x5231, 0x4030, 0xD316, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x4CC2, 0x1768, 0x12B0, 0x31AA, 0x403A,
+0x261D, 0x403B, 0x2552, 0x12B0, 0x2E6E, 0x2405, 0x4A82, 0x01EA, 0x12B0,
+0x2A7E, 0x3C06, 0x12B0, 0x2E76, 0x12B0, 0x2A7E, 0x4A82, 0x01EA, 0x12B0,
+0x2F6A, 0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0x4B68, 0xE378, 0x4219,
+0x2558, 0xF8C9, 0x0000, 0x12B0, 0x2A9E, 0x12B0, 0x2F38, 0x12B0, 0x2A96,
+0x12B0, 0x2A96, 0x434E, 0x4076, 0x0080, 0xB64C, 0x2408, 0x3C0C, 0xB356,
+0x2BFB, 0xB64C, 0x2406, 0x4A82, 0x01EA, 0x3C05, 0x12B0, 0x2EE6, 0x3C04,
+0x12B0, 0x2E76, 0x12B0, 0x2F6A, 0x12B0, 0x2A6E, 0x5E4E, 0x4217, 0x2556,
+0xB2D7, 0x2555, 0x0000, 0x2002, 0x4347, 0x3C01, 0x4357, 0xD74E, 0x12B0,
+0x2A9E, 0x1106, 0x23E1, 0x12B0, 0x31B4, 0x2407, 0x4A82, 0x01EA, 0x12B0,
+0x2A96, 0x12B0, 0x2ED4, 0x3C06, 0x12B0, 0x2E76, 0x12B0, 0x2A96, 0x12B0,
+0x2EE6, 0x12B0, 0x2A6E, 0xDBE9, 0x0000, 0xD232, 0x4D2B, 0xEFEB, 0x0000,
+0x4E4C, 0x4030, 0xD31A, 0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9,
+0x0000, 0x4130, 0x12B0, 0x2AAC, 0x4217, 0x2558, 0xCBE7, 0x0000, 0x4217,
+0x2558, 0xDBE7, 0x0000, 0x4030, 0x2AA2, 0x12B0, 0x2AAC, 0xF8C9, 0x0000,
+0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x4130, 0x12B0, 0x2F6A,
+0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0x4130, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x120F, 0x120E, 0x120D, 0x120C, 0x8031, 0x0010,
+0x12B0, 0x2E6E, 0x2403, 0x12B0, 0x309E, 0x3C02, 0x12B0, 0x2E76, 0x12B0,
+0x306E, 0x403F, 0x170A, 0x12B0, 0x2C50, 0xC232, 0x4303, 0x425C, 0x2552,
+0x4C46, 0xE376, 0x421E, 0x2558, 0xF6CE, 0x0000, 0x12B0, 0x2C4A, 0x12B0,
+0x2F38, 0x12B0, 0x2C80, 0x12B0, 0x2C80, 0x4381, 0x0008, 0x4381, 0x000A,
+0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381,
+0x0004, 0x40B1, 0x8000, 0x0006, 0x410B, 0x530B, 0xBBB1, 0x0010, 0x2022,
+0xBBB1, 0x0012, 0x201F, 0xBBB1, 0x0014, 0x201C, 0xBBB1, 0x0016, 0x2414,
+0x3C18, 0xB318, 0x2BEF, 0x410B, 0x530B, 0xBBB1, 0x0010, 0x2009, 0xBBB1,
+0x0012, 0x2006, 0xBBB1, 0x0014, 0x2003, 0xBBB1, 0x0016, 0x2406, 0x12B0,
+0x309E, 0x3C05, 0x12B0, 0x2EE6, 0x3C04, 0x12B0, 0x2E76, 0x12B0, 0x2F6A,
+0x12B0, 0x2C50, 0xC232, 0x4303, 0xF6CE, 0x0000, 0x12B0, 0x2C3A, 0x5808,
+0x6909, 0x6A0A, 0x6B0B, 0x12B0, 0x2C58, 0x421B, 0x2556, 0xB2DB, 0x2555,
+0x0000, 0x2002, 0x4347, 0x3C01, 0x4357, 0x12B0, 0x2C3A, 0xD708, 0x12B0,
+0x2C58, 0x12B0, 0x2C4A, 0x410B, 0x530B, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B,
+0xC312, 0x100B, 0x100A, 0x1009, 0x1008, 0x4881, 0x0000, 0x4981, 0x0002,
+0x4A81, 0x0004, 0x4B81, 0x0006, 0x480B, 0xD90B, 0xDA0B, 0xD11B, 0x0006,
+0x930B, 0x23AE, 0x12B0, 0x2E6E, 0x2409, 0x12B0, 0x30A6, 0x12B0, 0x2C6A,
+0x12B0, 0x2C50, 0x12B0, 0x2ED4, 0x3C06, 0x12B0, 0x2E76, 0x12B0, 0x2C80,
+0x12B0, 0x2EE6, 0x12B0, 0x2C6A, 0x4F2F, 0xEDEF, 0x0000, 0x410F, 0x523F,
+0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x5031, 0x0018, 0x4030, 0xD31A, 0x410B,
+0x503B, 0x000A, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B, 0x4130, 0xDCCE, 0x0000,
+0xD232, 0x4F2B, 0xEDEB, 0x0000, 0x4130, 0x4881, 0x000A, 0x4981, 0x000C,
+0x4A81, 0x000E, 0x4B81, 0x0010, 0x4130, 0x4F2B, 0xEDEB, 0x0000, 0xC232,
+0x4303, 0xF6CE, 0x0000, 0xDCCE, 0x0000, 0xD232, 0x4130, 0x12B0, 0x2F6A,
+0x12B0, 0x2C6A, 0x3FE3, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
+0x1204, 0x1205, 0x120F, 0x120E, 0x120D, 0x120C, 0x8221, 0x411F, 0x001E,
+0x4F81, 0x0002, 0x4347, 0xF31F, 0x4F81, 0x0000, 0x4191, 0x0020, 0x0020,
+0x410F, 0x522F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x12B0, 0x2ABC, 0x4C08,
+0x4D09, 0x4E0A, 0x4F0B, 0x108F, 0x4F46, 0xF036, 0x00C7, 0xB226, 0x2C71,
+0x9076, 0x0083, 0x2003, 0x4077, 0x002A, 0x3C53, 0xB036, 0x0040, 0x2806,
+0x464E, 0xF07E, 0x00C0, 0x907E, 0x00C0, 0x2066, 0x9076, 0x0081, 0x2003,
+0x12B0, 0x2DD4, 0x3C3F, 0x464E, 0xF07E, 0x00C3, 0x935E, 0x2404, 0x934E,
+0x2402, 0x936E, 0x2023, 0x9381, 0x0000, 0x2454, 0x90B1, 0x0021, 0x0020,
+0x2850, 0x407C, 0x0054, 0x12B0, 0x298C, 0x430C, 0x430D, 0x12B0, 0x290C,
+0x4C04, 0x4D05, 0xD035, 0x0200, 0x450D, 0x12B0, 0x290C, 0xF035, 0xFDFF,
+0x440C, 0x450D, 0x12B0, 0x290C, 0x12B0, 0x2DD4, 0x412F, 0x533F, 0x4F81,
+0x0000, 0x3C18, 0x9076, 0x0003, 0x2413, 0x9076, 0x0082, 0x2410, 0x9076,
+0x0080, 0x240D, 0x464E, 0xF07E, 0x00C0, 0x907E, 0x00C0, 0x2407, 0x9346,
+0x2405, 0x9366, 0x2403, 0x4077, 0x003A, 0x3C02, 0x4077, 0x001A, 0x9381,
+0x0002, 0x2417, 0x411F, 0x0002, 0x533F, 0x4F81, 0x0002, 0x9077, 0x003A,
+0x278A, 0x9077, 0x002A, 0x2787, 0x9076, 0x0082, 0x2407, 0x9076, 0x0080,
+0x2404, 0x9346, 0x2402, 0x9366, 0x2002, 0x12B0, 0x2DD4, 0x480C, 0x490D,
+0x4A0E, 0x4B0F, 0x5031, 0x000C, 0x4030, 0xD316, 0x407C, 0x0046, 0x4030,
+0x298C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
+0x8231, 0x12B0, 0x2E6E, 0x2403, 0x12B0, 0x309E, 0x3C02, 0x12B0, 0x2E76,
+0x12B0, 0x2EF2, 0x423D, 0xBC81, 0x0000, 0x2014, 0xBD81, 0x0002, 0x240C,
+0x3C10, 0xB31C, 0x2BF7, 0xBC81, 0x0000, 0x2003, 0xBD81, 0x0002, 0x2406,
+0x12B0, 0x309E, 0x3C05, 0x12B0, 0x2EE6, 0x3C04, 0x12B0, 0x2E76, 0x12B0,
+0x2F6A, 0x12B0, 0x2E90, 0x23EB, 0x12B0, 0x2E6E, 0x2403, 0x12B0, 0x2F5C,
+0x3C02, 0x12B0, 0x2EDC, 0x12B0, 0x2E7E, 0x440F, 0xC312, 0x1005, 0x1004,
+0x1105, 0x1004, 0x1105, 0x1004, 0x1105, 0x1004, 0xDF05, 0xF035, 0x000F,
+0x4030, 0x2982, 0xB2D2, 0x2554, 0x1766, 0x4130, 0x40B2, 0x2623, 0x01EA,
+0x4130, 0x12B0, 0x2F2E, 0x12B0, 0x2F4E, 0xD232, 0x4B2F, 0xEAEF, 0x0000,
+0x4130, 0x4B29, 0xEAE9, 0x0000, 0xC232, 0x4303, 0xC2D8, 0x2552, 0x0000,
+0x5404, 0x6505, 0x4219, 0x2556, 0xB2D9, 0x2555, 0x0000, 0x2002, 0x4349,
+0x3C01, 0x4359, 0xD904, 0xD2D8, 0x2552, 0x0000, 0xD232, 0x4B29, 0xEAE9,
+0x0000, 0xC312, 0x100D, 0x100C, 0x4C09, 0xDD09, 0x9309, 0x4130, 0x12B0,
+0x2F38, 0x4030, 0x2F6A, 0x40B2, 0x2623, 0x01EA, 0x12B0, 0x2F40, 0xD0B2,
+0x0010, 0x01F0, 0xD392, 0x01F0, 0x4130, 0x12B0, 0x2F6A, 0x403A, 0x1760,
+0x403B, 0x170A, 0x12B0, 0x2F2E, 0x4218, 0x2558, 0x12B0, 0x2E82, 0x12B0,
+0x2F38, 0x12B0, 0x2F40, 0x12B0, 0x2F40, 0x4C81, 0x0002, 0x4D81, 0x0004,
+0x4381, 0x0006, 0x4381, 0x0008, 0x4304, 0x4305, 0x430C, 0x4130, 0x4B2F,
+0xEAEF, 0x0000, 0x4030, 0x2AB6, 0x40B2, 0x2629, 0x01EA, 0x4130, 0x12B0,
+0x2F6A, 0x12B0, 0x2F2E, 0x12B0, 0x2F4E, 0x3F9C, 0xC2D8, 0x2552, 0x0000,
+0xD2D8, 0x2552, 0x0000, 0x4130, 0x40B2, 0x261D, 0x01EA, 0x12B0, 0x2F40,
+0x12B0, 0x2F38, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4130, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x12B0, 0x2E6E, 0x2403, 0x12B0, 0x309E,
+0x3C02, 0x12B0, 0x2E76, 0x12B0, 0x306E, 0x403A, 0x170A, 0x4A2F, 0xEDEF,
+0x0000, 0xC232, 0x4303, 0x425B, 0x2552, 0x4B48, 0xE378, 0x4219, 0x2558,
+0xF8C9, 0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2F, 0xEDEF, 0x0000, 0x12B0,
+0x2F38, 0x12B0, 0x3078, 0x12B0, 0x3078, 0x430F, 0x4036, 0x8000, 0xB60C,
+0x2408, 0x3C0C, 0xB316, 0x2BFB, 0xB60C, 0x2406, 0x12B0, 0x309E, 0x3C05,
+0x12B0, 0x2EE6, 0x3C04, 0x12B0, 0x2E76, 0x12B0, 0x2F6A, 0x12B0, 0x3066,
+0x12B0, 0x2A74, 0x5F0F, 0x421E, 0x2556, 0xB2DE, 0x2555, 0x0000, 0x2002,
+0x434E, 0x3C01, 0x435E, 0xDE0F, 0xDBC9, 0x0000, 0xD232, 0x12B0, 0x3066,
+0xC312, 0x1006, 0x23DB, 0x12B0, 0x2E6E, 0x2407, 0x12B0, 0x30A6, 0x12B0,
+0x305E, 0x12B0, 0x2ED4, 0x3C08, 0x12B0, 0x2E76, 0x12B0, 0x2F6A, 0x12B0,
+0x305E, 0x12B0, 0x2EE6, 0x12B0, 0x3066, 0x12B0, 0x2A74, 0xDBC9, 0x0000,
+0xD232, 0x4A2B, 0xEDEB, 0x0000, 0x4F0C, 0x4030, 0xD31C, 0x12B0, 0x3066,
+0x12B0, 0x308E, 0x4A2E, 0xEDEE, 0x0000, 0x4130, 0x12B0, 0x2F6A, 0x403D,
+0x1760, 0x4130, 0x12B0, 0x2F6A, 0x4A2F, 0xEDEF, 0x0000, 0x12B0, 0x308E,
+0x4A2F, 0xEDEF, 0x0000, 0x4130, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9,
+0x0000, 0xD232, 0x4130, 0x40B2, 0x261D, 0x01EA, 0x4130, 0x40B2, 0x261D,
+0x01EA, 0x4030, 0x2F6A, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x12B0,
+0x2E6E, 0x2403, 0x12B0, 0x309E, 0x3C02, 0x12B0, 0x2E76, 0x12B0, 0x2F6A,
+0x12B0, 0x31AA, 0x4D2B, 0xEFEB, 0x0000, 0xC232, 0x4303, 0x425A, 0x2552,
+0x4A4B, 0xE37B, 0x4218, 0x2558, 0xFBC8, 0x0000, 0xDAC8, 0x0000, 0xD232,
+0x4D2E, 0xEFEE, 0x0000, 0x12B0, 0x2F38, 0x12B0, 0xD1BC, 0x12B0, 0xD1BC,
+0x434E, 0x4079, 0x0080, 0xB94C, 0x2408, 0x3C0C, 0xB359, 0x2BFB, 0xB94C,
+0x2406, 0x12B0, 0x309E, 0x3C05, 0x12B0, 0x2EE6, 0x3C04, 0x12B0, 0x2E76,
+0x12B0, 0x2F6A, 0x4D26, 0xEFE6, 0x0000, 0xC232, 0x4303, 0xFBC8, 0x0000,
+0x5E4E, 0x4216, 0x2556, 0xB2D6, 0x2555, 0x0000, 0x2002, 0x4346, 0x3C01,
+0x4356, 0xD64E, 0xDAC8, 0x0000, 0xD232, 0x4D26, 0xEFE6, 0x0000, 0x1109,
+0x23D8, 0x12B0, 0x31B4, 0x2407, 0x12B0, 0x30A6, 0x12B0, 0xD6AC, 0x12B0,
+0x2ED4, 0x3C08, 0x12B0, 0x2E76, 0x12B0, 0x2F6A, 0x12B0, 0xD6AC, 0x12B0,
+0x2EE6, 0x12B0, 0x3194, 0x4D2B, 0xEFEB, 0x0000, 0x4E4C, 0x4030, 0xD31C,
+0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000,
+0xD232, 0x4130, 0x403F, 0x1760, 0x403D, 0x170A, 0x4130, 0x93D2, 0x1767,
+0x2004, 0x43C2, 0x1766, 0x43C2, 0x1767, 0x3E55, 0x480C, 0x1292, 0x153E,
+0x4B2F, 0xC3DF, 0x0000, 0x4130, 0x421B, 0x2558, 0x4258, 0x2552, 0xD8CB,
+0x0000, 0x4130, 0x403C, 0x0005, 0x12AA, 0x4030, 0x3226, 0x4258, 0x2552,
+0x4849, 0xE379, 0x4216, 0x2558, 0xF9C6, 0x0000, 0x4B0C, 0x12AA, 0x431C,
+0x12AA, 0x9392, 0x1706, 0x4130, 0x403C, 0x0005, 0x12B0, 0x3228, 0x4038,
+0x000A, 0x480C, 0x12AA, 0x12B0, 0x3756, 0x480C, 0x12AA, 0x4B2F, 0xC3DF,
+0x0000, 0x480C, 0x12AA, 0x4B2F, 0xD3DF, 0x0000, 0x4130, 0x403C, 0x0005,
+0x12AA, 0x4849, 0xE379, 0xF9CB, 0x0000, 0x4036, 0x0064, 0x460C, 0x12AA,
+0xC2DB, 0x2554, 0x0000, 0x460C, 0x12AA, 0xD8CB, 0x0000, 0x460C, 0x12AA,
+0xF9CB, 0x0000, 0x403C, 0x000A, 0x1292, 0x153E, 0xD8CB, 0x0000, 0x460C,
+0x12AA, 0x9392, 0x1706, 0x2004, 0xD2DB, 0x2554, 0x0000, 0x3C02, 0x12B0,
+0x3322, 0x403C, 0x0005, 0x12AA, 0x460C, 0x12AA, 0xF9CB, 0x0000, 0x460C,
+0x4130, 0x4130, 0x934C, 0x2409, 0x9392, 0x1706, 0x2003, 0x12B0, 0x393C,
+0x3C05, 0x12B0, 0x3948, 0x3C02, 0x12B0, 0x3984, 0x403C, 0x0005, 0x4210,
+0x1540, 0x934C, 0x421F, 0x2558, 0x2404, 0xD2DF, 0x2554, 0x0000, 0x4130,
+0xC2DF, 0x2554, 0x0000, 0x4130, 0x934C, 0x421F, 0x2558, 0x2404, 0xD2DF,
+0x2553, 0x0000, 0x4130, 0xC2DF, 0x2553, 0x0000, 0x4130, 0x934C, 0x2409,
+0x9392, 0x1706, 0x2003, 0x12B0, 0x330E, 0x3C0B, 0x12B0, 0x3322, 0x3C08,
+0x9392, 0x1706, 0x2003, 0x12B0, 0x3950, 0x3C02, 0x12B0, 0x3756, 0x3FD0,
+0x421F, 0x2558, 0xD2DF, 0x2554, 0x0000, 0x4130, 0xC3DF, 0x0000, 0x12B0,
+0x396C, 0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x4130, 0x934C,
+0x2407, 0xD2E2, 0x001D, 0xD0F2, 0x0010, 0x001D, 0x434E, 0x3C06, 0xC0F2,
+0x0010, 0x001D, 0xC2E2, 0x001D, 0x435E, 0x4EC2, 0x1761, 0x4130, 0x403E,
+0xBAEC, 0x403F, 0x0041, 0x43D2, 0x1762, 0xD0F2, 0x0080, 0x002A, 0xD0F2,
+0x0080, 0x002E, 0x40B2, 0x0028, 0x0172, 0x40B2, 0x0090, 0x0162, 0x40B2,
+0x0114, 0x0160, 0x3C02, 0x533E, 0x633F, 0x93C2, 0x1762, 0x2404, 0x4E0D,
+0xDF0D, 0x930D, 0x23F7, 0x4382, 0x0162, 0xC0F2, 0x0080, 0x002E, 0xC0F2,
+0x0080, 0x002A, 0x4130, 0x4C0F, 0xDD0F, 0x930F, 0x2410, 0x12B0, 0x3354,
+0x93C2, 0x1761, 0x2404, 0xD0F2, 0x0020, 0x001D, 0x3C03, 0xD0F2, 0x0040,
+0x001D, 0x403C, 0x000A, 0x4210, 0x1540, 0xF0F2, 0x009F, 0x001D, 0x4130,
+0x9382, 0x170C, 0x204D, 0x9392, 0x1706, 0x2010, 0x12B0, 0x330E, 0x421F,
+0x170A, 0xD2DF, 0x1760, 0x0000, 0x431C, 0x1292, 0x1540, 0x421F, 0x2558,
+0xC2DF, 0x2552, 0x0000, 0x3C0F, 0x421F, 0x170A, 0xD2DF, 0x1760, 0x0000,
+0xD0F2, 0x0020, 0x0029, 0x431C, 0x1292, 0x1540, 0x421F, 0x170A, 0xD3DF,
+0x0000, 0x40B2, 0xDB98, 0x170E, 0x40B2, 0xDB84, 0x1710, 0x40B2, 0xDBDC,
+0x1712, 0x40B2, 0xDB7C, 0x1716, 0x40B2, 0xDB78, 0x1718, 0x40B2, 0xDA4C,
+0x171A, 0x40B2, 0xDA46, 0x171C, 0x40B2, 0xCE4A, 0x1720, 0x40B2, 0xCE40,
+0x1722, 0x40B2, 0xCE3E, 0x1726, 0x40B2, 0xCE34, 0x172C, 0x40B2, 0xCE3C,
+0x1728, 0x40B2, 0xCE38, 0x172A, 0x12B0, 0x3592, 0x4392, 0x170C, 0x3F1C,
+0x12B0, 0x33D4, 0x430C, 0x4130, 0x430F, 0x930C, 0x2003, 0x4382, 0x1706,
+0x3C0B, 0x931C, 0x2003, 0x4392, 0x1706, 0x3C06, 0x932C, 0x2003, 0x43A2,
+0x1706, 0x3C01, 0x433F, 0x40B2, 0x001D, 0x170A, 0x42E2, 0x1760, 0x12B0,
+0x3592, 0x421E, 0x1708, 0x9392, 0x1706, 0x2039, 0x40B2, 0xA9F0, 0x170E,
+0x40B2, 0xA968, 0x1710, 0x40B2, 0x298C, 0x1712, 0x40B2, 0x30B0, 0x1716,
+0x40B2, 0x2F76, 0x1718, 0x40B2, 0x2DDC, 0x171A, 0x40B2, 0x290C, 0x171C,
+0x40B2, 0x2ABC, 0x1720, 0x40B2, 0x2C8A, 0x1722, 0x40B2, 0xBE00, 0x1726,
+0x40B2, 0xDB3C, 0x172C, 0x931E, 0x2003, 0x403E, 0xCCF2, 0x3C07, 0x932E,
+0x2003, 0x403E, 0xAB50, 0x3C02, 0x403E, 0xAAEC, 0x403D, 0xC03C, 0x40B2,
+0x0006, 0x01EE, 0x40B2, 0x0006, 0x01F6, 0x40B2, 0x262F, 0x01F2, 0x3C2E,
+0x40B2, 0x3E82, 0x170E, 0x40B2, 0xD446, 0x1710, 0x40B2, 0x3A34, 0x1712,
+0x40B2, 0x3DFA, 0x1716, 0x40B2, 0x3DA0, 0x1718, 0x40B2, 0x3CC0, 0x171A,
+0x40B2, 0x39E6, 0x171C, 0x40B2, 0x3A92, 0x1720, 0x40B2, 0x3B66, 0x1722,
+0x40B2, 0x39D6, 0x1726, 0x40B2, 0xDB42, 0x172C, 0x930E, 0x2402, 0x932E,
+0x2003, 0x403E, 0x3EE2, 0x3C02, 0x403E, 0x3EB2, 0x403D, 0xC234, 0x42A2,
+0x01F6, 0x4D82, 0x172A, 0x4E82, 0x1728, 0x4F0C, 0x4130, 0x40B2, 0xCE2E,
+0x171E, 0x40B2, 0xCE2C, 0x1724, 0x40B2, 0xCE30, 0x1714, 0x40B2, 0xDB60,
+0x172E, 0x40B2, 0xDB64, 0x1730, 0x40B2, 0xDB54, 0x1732, 0x40B2, 0xDB4E,
+0x1734, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
+0x4C4A, 0x9382, 0x170C, 0x2404, 0x421C, 0x1706, 0x12B0, 0x347E, 0x403B,
+0x1540, 0x4038, 0x0005, 0x403F, 0x1760, 0x4039, 0x2552, 0x4036, 0x170A,
+0x934A, 0x2033, 0x9392, 0x1706, 0x2009, 0x12B0, 0x379A, 0x2003, 0xDAC7,
+0x0000, 0x3C35, 0x12B0, 0x3322, 0x3C32, 0x12B0, 0x3764, 0x2084, 0x12B0,
+0x374A, 0x12B0, 0x37D6, 0x2003, 0xDAC7, 0x0000, 0x3C02, 0x12B0, 0x3322,
+0x12B0, 0x3736, 0x2003, 0xD9E7, 0x0000, 0x3C02, 0x12B0, 0x3750, 0x12B0,
+0x373C, 0x2003, 0xCAC7, 0x0000, 0x3C02, 0x12B0, 0x3756, 0x12B0, 0x3968,
+0x12B0, 0x374A, 0x12B0, 0x397E, 0x462F, 0x12B0, 0x331A, 0x3C68, 0x9392,
+0x1706, 0x2026, 0x12B0, 0x379A, 0x2003, 0xCAC7, 0x0000, 0x3C02, 0x12B0,
+0x3756, 0x12B0, 0x3736, 0x2003, 0xD9E7, 0x0000, 0x3C02, 0x12B0, 0x3750,
+0x12B0, 0x373C, 0x2003, 0xDAC7, 0x0000, 0x3C02, 0x12B0, 0x3322, 0x480C,
+0x12AB, 0x12B0, 0x3974, 0xF4C7, 0x0000, 0x12B0, 0x397E, 0xD9E7, 0x0000,
+0xD232, 0x12B0, 0x396C, 0x3C3F, 0x12B0, 0x3764, 0x2034, 0xC232, 0x4303,
+0x9392, 0x1706, 0x2003, 0xC9E7, 0x0000, 0x3C02, 0x12B0, 0x374A, 0x480C,
+0x12AB, 0x422C, 0x12B0, 0x3744, 0x2003, 0xCAC7, 0x0000, 0x3C02, 0x12B0,
+0x3756, 0x12B0, 0x3736, 0x2003, 0xD9E7, 0x0000, 0x3C02, 0x12B0, 0x3750,
+0x480C, 0x12AB, 0x403C, 0x0032, 0x12B0, 0x3744, 0x2003, 0xCAC7, 0x0000,
+0x3C02, 0x12B0, 0x3756, 0x12B0, 0x3968, 0x462F, 0x12B0, 0xD24A, 0x12B0,
+0x3750, 0x480C, 0x12AB, 0xD232, 0x3C0A, 0x9392, 0x1706, 0x2003, 0xD9E7,
+0x0000, 0x3C02, 0x12B0, 0x3750, 0x480C, 0x12AB, 0x4382, 0x170C, 0x4030,
+0xD318, 0x480C, 0x4030, 0x3744, 0x480C, 0x12AB, 0x403C, 0x0064, 0x12AB,
+0x4030, 0x3202, 0x462F, 0x4030, 0x322C, 0x462F, 0x4030, 0x31CC, 0xC0F2,
+0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029, 0x4130, 0x425A, 0x2554, 0x4217,
+0x2558, 0x496E, 0x525E, 0x2553, 0x5A4E, 0xDEC7, 0x0000, 0x462E, 0xDFEE,
+0x0000, 0x12B0, 0x378C, 0x431C, 0x12AB, 0x93A2, 0x1706, 0x4130, 0xD0F2,
+0x0040, 0x0029, 0xC0F2, 0x0020, 0x0029, 0x4130, 0x4627, 0xD3D7, 0x0000,
+0x425A, 0x2554, 0x4217, 0x2558, 0xDAC7, 0x0000, 0x462E, 0xCFEE, 0x0000,
+0x431C, 0x12AB, 0x4964, 0xE374, 0xF4C7, 0x0000, 0xC0F2, 0x0020, 0x0029,
+0x12B0, 0x37DA, 0x2003, 0xF4C7, 0x0000, 0x3C03, 0x462F, 0xD3DF, 0x0000,
+0x480C, 0x12AB, 0x431C, 0x4030, 0x3744, 0x12B0, 0x35BE, 0x430C, 0x4130,
+0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x403A, 0x1540, 0x403B, 0x0005,
+0x421F, 0x1706, 0x831F, 0x2403, 0x831F, 0x2438, 0x3C94, 0x935C, 0x200A,
+0x12B0, 0x31EA, 0x2004, 0xC2D6, 0x2554, 0x0000, 0x3C0E, 0x12B0, 0x3756,
+0x3C0B, 0x934C, 0x208A, 0x12B0, 0x31EA, 0x2004, 0xD2D6, 0x2554, 0x0000,
+0x3C02, 0x12B0, 0x3322, 0x4B0C, 0x12B0, 0x3200, 0x2003, 0xD8C6, 0x0000,
+0x3C02, 0x12B0, 0x3948, 0x12B0, 0x395C, 0x2004, 0xD2D6, 0x2554, 0x0000,
+0x3C02, 0x12B0, 0x3322, 0x4B0C, 0x12AA, 0x12B0, 0x3974, 0xF9C6, 0x0000,
+0x12B0, 0x397E, 0xD8C6, 0x0000, 0xD232, 0x12B0, 0x396C, 0x3C5F, 0x935C,
+0x202D, 0xC232, 0x4303, 0x12B0, 0x3984, 0x4B0C, 0x12AA, 0x422C, 0x12B0,
+0x3200, 0x2003, 0x12B0, 0x3950, 0x3C02, 0x12B0, 0x3756, 0x4B0C, 0x12AA,
+0x12B0, 0x39A0, 0x4B0C, 0x12AA, 0x403C, 0x0032, 0x12B0, 0x3200, 0x2003,
+0x12B0, 0x3950, 0x3C02, 0x12B0, 0x3756, 0x4B0C, 0x12AA, 0x12B0, 0x396C,
+0x421F, 0x170A, 0x12B0, 0xD24A, 0x12B0, 0x3948, 0x4B0C, 0x12AA, 0xD232,
+0x3C32, 0x934C, 0x2030, 0x4038, 0x170A, 0x482F, 0xD3DF, 0x0000, 0x12B0,
+0x31FA, 0x2003, 0x12B0, 0x330E, 0x3C02, 0x12B0, 0x3322, 0x4B0C, 0x12B0,
+0x3200, 0x2003, 0x12B0, 0x393C, 0x3C03, 0x482F, 0xC3DF, 0x0000, 0x12B0,
+0x395C, 0x2003, 0x12B0, 0x3950, 0x3C02, 0x12B0, 0x3756, 0x4B0C, 0x12AA,
+0x12B0, 0x396C, 0x482F, 0xD3DF, 0x0000, 0x12B0, 0x397E, 0x482F, 0x12B0,
+0x331A, 0x3C02, 0x12B0, 0x39A0, 0x4B0C, 0x12AA, 0x4030, 0xD31C, 0x421F,
+0x2558, 0xD2DF, 0x2552, 0x0000, 0x4130, 0x421F, 0x170A, 0x4030, 0x31CC,
+0x421F, 0x2558, 0xC2DF, 0x2554, 0x0000, 0x4130, 0x4B0C, 0x12AA, 0x403C,
+0x0064, 0x4030, 0x3200, 0x480C, 0x12AB, 0x403C, 0x0028, 0x4210, 0x153E,
+0x12B0, 0x396C, 0xC232, 0x4303, 0x4130, 0x431C, 0x4210, 0x153E, 0x9392,
+0x1706, 0x2006, 0x421F, 0x2558, 0xC2DF, 0x2552, 0x0000, 0x4130, 0x421F,
+0x170A, 0xD3DF, 0x0000, 0x4130, 0x9392, 0x1706, 0x2002, 0x4030, 0x393C,
+0x421F, 0x170A, 0xC3DF, 0x0000, 0x4130, 0x12B0, 0x39CC, 0xD2F2, 0x0031,
+0x4130, 0x12B0, 0x39CC, 0xD3D2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303,
+0xC2F2, 0x0031, 0x4303, 0x4130, 0x934C, 0x2403, 0xD3E2, 0x0031, 0x4130,
+0xC3E2, 0x0031, 0x4130, 0x120D, 0x120C, 0x8221, 0x12B0, 0x3B4A, 0x12B0,
+0x3B54, 0x41D2, 0x0007, 0x007F, 0x12B0, 0x3B2C, 0x403F, 0x007E, 0x4FE1,
+0x0003, 0x4DC2, 0x007F, 0x12B0, 0x3B2C, 0x4FE1, 0x0002, 0x41D2, 0x0005,
+0x007F, 0x12B0, 0x3B34, 0x2803, 0x12B0, 0x3D48, 0x3C02, 0x12B0, 0x3D5E,
+0x12B0, 0x3DF0, 0x411D, 0x0002, 0x5231, 0x4130, 0x4CC2, 0x1769, 0x42B2,
+0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x263D, 0x01EA, 0x40B2, 0x2655,
+0x01F2, 0x3C06, 0x40B2, 0x2635, 0x01EA, 0x40B2, 0x2651, 0x01F2, 0x12B0,
+0x3E70, 0x12B0, 0x3E32, 0xF0F2, 0x00F1, 0x0033, 0xB35C, 0x2803, 0x12B0,
+0x3D48, 0x3C02, 0x12B0, 0x3D5E, 0x12B0, 0x3EAA, 0x425C, 0x007E, 0xB2E2,
+0x0030, 0x7E4E, 0x535E, 0xD392, 0x01F0, 0x5C4C, 0xDE4C, 0x4130, 0x120F,
+0x120E, 0x120D, 0x120C, 0x8231, 0x12B0, 0x3B4A, 0x4381, 0x0004, 0x4381,
+0x0006, 0x12B0, 0x3B54, 0x41D2, 0x000F, 0x007F, 0x12B0, 0x3B2C, 0x403F,
+0x007E, 0x4FE1, 0x0007, 0x41D2, 0x000E, 0x007F, 0x12B0, 0x3B2C, 0x4FE1,
+0x0006, 0x41D2, 0x000D, 0x007F, 0x12B0, 0x3B2C, 0x4FE1, 0x0005, 0x4EC2,
+0x007F, 0x12B0, 0x3B2C, 0x4FE1, 0x0004, 0x41D2, 0x000B, 0x007F, 0x12B0,
+0x3B2C, 0x4FE1, 0x0003, 0x4DC2, 0x007F, 0x12B0, 0x3B2C, 0x4FE1, 0x0002,
+0x41D2, 0x0009, 0x007F, 0x12B0, 0x3B34, 0x2803, 0x12B0, 0x3D48, 0x3C02,
+0x12B0, 0x3D5E, 0x12B0, 0x3D88, 0x410F, 0x530F, 0x4F3C, 0x4F3D, 0x4F3E,
+0x4F3F, 0x5031, 0x0010, 0x4130, 0xB3D2, 0x0079, 0x2BFD, 0x4130, 0xB3D2,
+0x0079, 0x2BFD, 0x4FE1, 0x0003, 0x12B0, 0x3E38, 0x4F6E, 0x12B0, 0x3DE0,
+0x4130, 0x4381, 0x0002, 0x4381, 0x0004, 0x4130, 0x12B0, 0x3E4A, 0xD0F2,
+0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x4130, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x120F, 0x120E, 0x120D, 0x120C,
+0x8221, 0x411F, 0x001E, 0x4F81, 0x0002, 0x4347, 0xF31F, 0x4F81, 0x0000,
+0x4191, 0x0020, 0x0020, 0x410F, 0x522F, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F,
+0x12B0, 0x3A92, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B, 0x108F, 0x4F46, 0xF036,
+0x00C7, 0xB226, 0x2804, 0x12B0, 0x3CB8, 0x480C, 0x3C75, 0x9076, 0x0083,
+0x2003, 0x4077, 0x002A, 0x3C53, 0xB036, 0x0040, 0x2806, 0x464E, 0xF07E,
+0x00C0, 0x907E, 0x00C0, 0x2066, 0x9076, 0x0081, 0x2003, 0x12B0, 0x3CB8,
+0x3C3F, 0x464E, 0xF07E, 0x00C3, 0x935E, 0x2404, 0x934E, 0x2402, 0x936E,
+0x2023, 0x9381, 0x0000, 0x2454, 0x90B1, 0x0021, 0x0020, 0x2850, 0x407C,
+0x0054, 0x12B0, 0x3A34, 0x430C, 0x430D, 0x12B0, 0x39E6, 0x4C04, 0x4D05,
+0xD035, 0x0200, 0x450D, 0x12B0, 0x39E6, 0xF035, 0xFDFF, 0x440C, 0x450D,
+0x12B0, 0x39E6, 0x12B0, 0x3CB8, 0x412F, 0x533F, 0x4F81, 0x0000, 0x3C18,
+0x9076, 0x0003, 0x2413, 0x9076, 0x0082, 0x2410, 0x9076, 0x0080, 0x240D,
+0x464E, 0xF07E, 0x00C0, 0x907E, 0x00C0, 0x2407, 0x9346, 0x2405, 0x9366,
+0x2403, 0x4077, 0x003A, 0x3C02, 0x4077, 0x001A, 0x9381, 0x0002, 0x2417,
+0x411F, 0x0002, 0x533F, 0x4F81, 0x0002, 0x9077, 0x003A, 0x2786, 0x9077,
+0x002A, 0x2783, 0x9076, 0x0082, 0x2407, 0x9076, 0x0080, 0x2404, 0x9346,
+0x2402, 0x9366, 0x2002, 0x12B0, 0x3CB8, 0x480C, 0x490D, 0x4A0E, 0x4B0F,
+0x5031, 0x000C, 0x4030, 0xD316, 0x407C, 0x0046, 0x4030, 0x3A34, 0x120D,
+0x120C, 0x8221, 0x12B0, 0x3B4A, 0x12B0, 0x3E4A, 0xB27D, 0x12B0, 0x3D50,
+0x12B0, 0x3D68, 0x4EC1, 0x0002, 0xB26D, 0x12B0, 0x3D50, 0x12B0, 0x3D68,
+0x415F, 0x0002, 0x5F4F, 0xDE4F, 0x4FC1, 0x0002, 0xB36D, 0x12B0, 0x3D50,
+0x12B0, 0x3D7A, 0xB35D, 0x12B0, 0x3D50, 0x12B0, 0x3D7A, 0x12B0, 0x3B58,
+0x41D2, 0x0005, 0x007F, 0x12B0, 0x3DCA, 0x2803, 0x12B0, 0x3D48, 0x3C02,
+0x12B0, 0x3D5E, 0x12B0, 0x3D88, 0x412F, 0x4F0C, 0x411D, 0x0002, 0xC312,
+0x100D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D,
+0xF03D, 0x000F, 0x5231, 0x4130, 0xD0F2, 0x0003, 0x0031, 0x4130, 0x2803,
+0xD3E2, 0x0031, 0x4130, 0xC3E2, 0x0031, 0x4130, 0xC3E2, 0x0031, 0xD3D2,
+0x0031, 0x4130, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E,
+0x535E, 0x4130, 0x12B0, 0x3D68, 0x5F4F, 0xDE4F, 0x4FC1, 0x0004, 0x4130,
+0x12B0, 0x3D8E, 0x4130, 0x12B0, 0x3D68, 0xD15E, 0x0004, 0x4EC1, 0x0004,
+0xD392, 0x01F0, 0x4130, 0x120C, 0x8321, 0x4381, 0x0000, 0x12B0, 0x3B54,
+0x41D2, 0x0003, 0x007F, 0x12B0, 0x3DCA, 0x2803, 0x12B0, 0x3D48, 0x3C02,
+0x12B0, 0x3D5E, 0x12B0, 0x3DF0, 0x5221, 0x4130, 0xB3D2, 0x0079, 0x2BFD,
+0x42D1, 0x007E, 0x0003, 0x12B0, 0x3E38, 0x425E, 0x007E, 0x3EB2, 0x5E4E,
+0x4EC1, 0x0004, 0xF0F2, 0x00F1, 0x0033, 0xB31C, 0x4130, 0x12B0, 0x3D8E,
+0x411C, 0x0002, 0x4130, 0x12B0, 0x3E4A, 0x12B0, 0x3E32, 0x425E, 0x007E,
+0x5E4E, 0xF0F2, 0x00F1, 0x0033, 0xB35C, 0x2803, 0x12B0, 0x3D48, 0x3C02,
+0x12B0, 0x3D5E, 0x12B0, 0x3EAA, 0xB2E2, 0x0030, 0x7F4F, 0x535F, 0xD392,
+0x01F0, 0xDF4E, 0x4E4C, 0x4130, 0xD0F2, 0x000E, 0x0033, 0xC0F2, 0x0010,
+0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4130, 0x40B2, 0x0006,
+0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x264B, 0x01EA, 0x40B2, 0x2655,
+0x01F2, 0x3C06, 0x40B2, 0x2645, 0x01EA, 0x40B2, 0x2651, 0x01F2, 0xD0B2,
+0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8, 0x4130, 0xD3E2,
+0x0031, 0xD3D2, 0x0031, 0xD2F2, 0x0031, 0x12B0, 0x3EA2, 0x12B0, 0x3EA2,
+0xC3D2, 0x0031, 0x12B0, 0x3EAA, 0x430C, 0x4130, 0x12B0, 0x3EAA, 0x12B0,
+0x3EAA, 0xC2F2, 0x0031, 0x4030, 0x39B8, 0x120A, 0x120B, 0x4C0A, 0x4D0B,
+0x4C0F, 0xDD0F, 0x930F, 0x240D, 0x435C, 0x12B0, 0xC9CA, 0x434C, 0x1292,
+0x1726, 0x4303, 0x533A, 0x633B, 0x4A0F, 0xDB0F, 0x930F, 0x23F3, 0x413B,
+0x413A, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0x4C0F, 0xDD0F, 0x930F,
+0x240D, 0x435C, 0x1292, 0x1726, 0x4303, 0x434C, 0x12B0, 0xC9CA, 0x533A,
+0x633B, 0x4A0F, 0xDB0F, 0x930F, 0x23F3, 0x3FE7, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x120C, 0x8031, 0x0036, 0x4381,
+0x0006, 0x4381, 0x000C, 0x4381, 0x000A, 0x40B1, 0x0BB8, 0x0004, 0x4381,
+0x0000, 0x403A, 0x1726, 0x403B, 0x1718, 0x4038, 0x1712, 0x4074, 0x0042,
+0x4075, 0x0021, 0x4037, 0x2401, 0x4079, 0x00C8, 0x4076, 0x0082, 0xB31C,
+0x2940, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD9A6, 0x2404, 0x403C, 0xFFFE,
+0x4030, 0x43DE, 0x403C, 0x15FA, 0x12B0, 0xD9A6, 0x2404, 0x403C, 0xFFFD,
+0x4030, 0x43DE, 0x403C, 0x1600, 0x12B0, 0xD9A6, 0x2404, 0x403C, 0xFFFC,
+0x4030, 0x43DE, 0x403C, 0x15F6, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C,
+0x2404, 0x403C, 0xFFFB, 0x4030, 0x43DE, 0x403C, 0x15F2, 0x421F, 0x16F4,
+0x129F, 0x0018, 0x930C, 0x2404, 0x403C, 0xFFFA, 0x4030, 0x43DE, 0x403C,
+0x15FE, 0x12B0, 0xD9A6, 0x2404, 0x403C, 0xFFF9, 0x4030, 0x43DE, 0x403C,
+0x15FC, 0x12B0, 0xD9DE, 0x240A, 0x403C, 0x1604, 0x12B0, 0xD9DE, 0x2405,
+0x403C, 0x1602, 0x12B0, 0xD9DE, 0x2003, 0x403C, 0xFFF8, 0x3DF1, 0x464C,
+0x12A8, 0x403C, 0x4030, 0x12B0, 0x7E9E, 0x403C, 0x0C04, 0x12B0, 0x7E9E,
+0x12B0, 0x7EA0, 0x435C, 0x12AA, 0x412F, 0x5F0F, 0x4F81, 0x0008, 0x421F,
+0x1600, 0x511F, 0x0008, 0x4F81, 0x0002, 0x12B0, 0x7F9E, 0x411C, 0x0002,
+0x12B0, 0x7EC8, 0x4C81, 0x0002, 0x12B0, 0x7F82, 0x411F, 0x0008, 0x419F,
+0x0002, 0x1592, 0x412F, 0x531F, 0x4F81, 0x0000, 0x903F, 0x0030, 0x3BE0,
+0x12B0, 0x7F50, 0x403C, 0x4582, 0x12B0, 0x7FDC, 0x41A2, 0x1606, 0x12B0,
+0x7F50, 0x403C, 0x4682, 0x12B0, 0x7FDC, 0x41A2, 0x1608, 0x12B0, 0x7F50,
+0x403C, 0x4982, 0x12B0, 0x7FDC, 0x41A2, 0x160A, 0x12B0, 0x7F50, 0x403C,
+0x4882, 0x12B0, 0x7FDC, 0x41A2, 0x160C, 0x12B0, 0x7F50, 0x403C, 0x4A82,
+0x12B0, 0x7FDC, 0x41A2, 0x160E, 0x12B0, 0x7F50, 0x403C, 0x4B82, 0x12B0,
+0x7FDC, 0x41A2, 0x1610, 0x12B0, 0x7F50, 0x403C, 0x4C82, 0x12B0, 0x7FDC,
+0x41A2, 0x1612, 0x12B0, 0x7F9E, 0x403C, 0x0128, 0x12B0, 0x7FAE, 0x41A2,
+0x1614, 0x12B0, 0x7F9E, 0x403C, 0x012A, 0x12B0, 0x7FAE, 0x41A2, 0x1616,
+0x12B0, 0x7FA4, 0xE0B2, 0x3300, 0x1614, 0xE0B2, 0x3300, 0x1616, 0x412F,
+0xE03F, 0x3300, 0x4F82, 0x1618, 0x12B0, 0x7F1E, 0x12B0, 0x7EC2, 0x403C,
+0xA544, 0x12B0, 0x7F7C, 0x4291, 0x15FC, 0x0000, 0x12B0, 0x7F3E, 0x12B0,
+0x7F7C, 0x12B0, 0x7FA4, 0x91E2, 0x15FC, 0x240A, 0x421F, 0x15FC, 0xD03F,
+0x0040, 0x4F81, 0x0000, 0x12B0, 0x7F3E, 0x12B0, 0x7F7C, 0x410C, 0x503C,
+0x000E, 0x403E, 0x0007, 0x12B0, 0xD496, 0x4291, 0x15F6, 0x000E, 0x4291,
+0x15F2, 0x0010, 0x4291, 0x15FE, 0x0012, 0x4291, 0x15FC, 0x0014, 0x4291,
+0x1604, 0x0018, 0x4291, 0x1602, 0x001A, 0x410C, 0x503C, 0x000E, 0x12B0,
+0xA122, 0x12B0, 0x7F50, 0x403C, 0x4032, 0x12B0, 0x7ECE, 0x430C, 0x12B0,
+0x7F5E, 0x421F, 0x16CA, 0xD21F, 0x16CC, 0x930F, 0x240B, 0x9382, 0x16CE,
+0x2408, 0x407C, 0x0090, 0x12A8, 0x403C, 0x0088, 0x12AB, 0x431C, 0x12AB,
+0x4291, 0x1600, 0x0000, 0x12B0, 0x7EF4, 0x12B0, 0x7EA8, 0x503F, 0x0020,
+0x9F0C, 0x2806, 0x421F, 0x1600, 0x503F, 0x0026, 0x9C0F, 0x2C03, 0x9381,
+0x0004, 0x23F1, 0x421C, 0x1600, 0x12B0, 0xA3BE, 0x421F, 0x15F2, 0xD21F,
+0x15F4, 0x930F, 0x248E, 0x9381, 0x0006, 0x208B, 0x9381, 0x0004, 0x248E,
+0x421F, 0x1600, 0x503F, 0x0060, 0x4F81, 0x0002, 0x421C, 0x15F2, 0x421D,
+0x15F4, 0x5C0C, 0x6D0D, 0x421E, 0x15FA, 0x2003, 0x9E0C, 0x2C01, 0x4C0E,
+0x5F0E, 0x4E81, 0x0000, 0x12B0, 0x7EDA, 0x494C, 0x12A8, 0x403C, 0x2408,
+0x12AB, 0x3C17, 0x410C, 0x503C, 0x000A, 0x12B0, 0xD9BE, 0x4C81, 0x0006,
+0x407C, 0x00C1, 0x12A8, 0x411C, 0x0002, 0x12B0, 0x7EC2, 0x411C, 0x000A,
+0x12B0, 0x7E9E, 0x411F, 0x0002, 0x532F, 0x4F81, 0x0002, 0x91A1, 0x0002,
+0x2C03, 0x9381, 0x0006, 0x27E3, 0x12B0, 0x7F82, 0x411F, 0x0002, 0x821F,
+0x1600, 0x503F, 0xFFA0, 0xC312, 0x100F, 0x4F81, 0x0008, 0x12B0, 0x7F50,
+0x403C, 0x4036, 0x12B0, 0x7ECE, 0x411C, 0x0008, 0x12B0, 0x7F5E, 0x4291,
+0x15F6, 0x0000, 0x12B0, 0x7F50, 0x403C, 0x4035, 0x12B0, 0x7ECE, 0x412C,
+0x12B0, 0x7F5E, 0x411E, 0x0008, 0x5E0E, 0x5E82, 0x15F6, 0x6382, 0x15F8,
+0x411E, 0x0008, 0x8E82, 0x15F2, 0x7382, 0x15F4, 0x421F, 0x1600, 0x503F,
+0x0028, 0x4F81, 0x0000, 0x12B0, 0x7EF4, 0x40B1, 0x0BB8, 0x0004, 0x12B0,
+0x7EA8, 0x503F, 0x005C, 0x9F0C, 0x2403, 0x9381, 0x0004, 0x23F7, 0x421C,
+0x1600, 0x12B0, 0xA3BE, 0x9381, 0x0004, 0x2370, 0x40B1, 0xFFF7, 0x0006,
+0x3C06, 0xB3A1, 0x0036, 0x2C03, 0x9391, 0x0006, 0x2458, 0x410C, 0x503C,
+0x001C, 0x403E, 0x256A, 0x423D, 0x12B0, 0xD3B6, 0x410F, 0x503F, 0x0024,
+0x120F, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x001E, 0x4214, 0x16F4,
+0x1294, 0x000E, 0x403C, 0x0003, 0x1292, 0x1194, 0x410C, 0x503C, 0x0026,
+0x421F, 0x16F4, 0x129F, 0x0010, 0x403C, 0x1606, 0x12B0, 0xA122, 0x4214,
+0x1614, 0x12B0, 0x7EDA, 0x12B0, 0x7F2C, 0x403C, 0x0128, 0x12B0, 0x7F76,
+0x4214, 0x1616, 0x12B0, 0x7F1E, 0x12B0, 0x7F76, 0x4214, 0x1618, 0x12B0,
+0x7F72, 0x12B0, 0x7F9E, 0x403C, 0x012C, 0x12B0, 0x7EC8, 0x4C44, 0x12B0,
+0x7F82, 0x5321, 0x94C2, 0x1618, 0x2406, 0x4214, 0x1618, 0xD034, 0x0040,
+0x12B0, 0x7F72, 0xB3A1, 0x0036, 0x2806, 0x430C, 0x421F, 0x16F4, 0x129F,
+0x0008, 0x3C0F, 0x9391, 0x0006, 0x2009, 0x407C, 0x0091, 0x421F, 0x16F4,
+0x129F, 0x0012, 0x4381, 0x0006, 0x3C03, 0x40B1, 0xFFF6, 0x0006, 0x411C,
+0x0006, 0x5031, 0x0038, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x1207, 0x1204, 0x1205, 0x120C, 0x8031, 0x0046, 0x4381, 0x0006,
+0x4381, 0x000E, 0x4381, 0x000C, 0x40B1, 0x0BB8, 0x0004, 0x4037, 0x1716,
+0x403A, 0x1726, 0x403B, 0x1718, 0x4038, 0x1712, 0x4075, 0x0021, 0x4079,
+0x00C8, 0x4076, 0x0082, 0x4074, 0x0088, 0xB31C, 0x292D, 0x410C, 0x503C,
+0x000E, 0x12B0, 0xDA0E, 0x2403, 0x403C, 0xFFFE, 0x3DFE, 0x403C, 0x1624,
+0x12B0, 0xDA0E, 0x2403, 0x403C, 0xFFFD, 0x3DF6, 0x403C, 0x162A, 0x12B0,
+0xDA0E, 0x2403, 0x403C, 0xFFFC, 0x3DEE, 0x403C, 0x1620, 0x421F, 0x16F4,
+0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3DE3, 0x403C, 0x161A,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA, 0x3DD8,
+0x403C, 0x1628, 0x12B0, 0xDA0E, 0x2403, 0x403C, 0xFFF9, 0x3DD0, 0x403C,
+0x1626, 0x12B0, 0xDA86, 0x240A, 0x403C, 0x162E, 0x12B0, 0xDA86, 0x2405,
+0x403C, 0x162C, 0x12B0, 0xDA86, 0x2003, 0x403C, 0xFFF8, 0x3DBE, 0x12B0,
+0x6F1E, 0x403C, 0x0560, 0x12B0, 0x6FD4, 0x4E82, 0x1630, 0x4F82, 0x1632,
+0x12B0, 0x6F1E, 0x403C, 0x0660, 0x12B0, 0x6FB4, 0x4E82, 0x1634, 0x4F82,
+0x1636, 0x12B0, 0x6F1E, 0x403C, 0x0960, 0x12B0, 0x6FD4, 0x4E82, 0x1638,
+0x4F82, 0x163A, 0x12B0, 0x6F1E, 0x403C, 0x0860, 0x12B0, 0x6FB4, 0x4E82,
+0x163C, 0x4F82, 0x163E, 0x12B0, 0x6F1E, 0x403C, 0x0A60, 0x12B0, 0x6FD4,
+0x4E82, 0x1640, 0x4F82, 0x1642, 0x12B0, 0x6F1E, 0x403C, 0x0B60, 0x12B0,
+0x6FB4, 0x4E82, 0x1644, 0x4F82, 0x1646, 0x12B0, 0x6F1E, 0x403C, 0x0C60,
+0x12B0, 0x6FD4, 0x4E82, 0x1648, 0x4F82, 0x164A, 0x12B0, 0x6F36, 0x403C,
+0x0128, 0x12B0, 0x708E, 0x41A2, 0x164C, 0x12B0, 0x6F36, 0x403C, 0x012A,
+0x12B0, 0x708E, 0x41A2, 0x164E, 0x12B0, 0x708A, 0xE0B2, 0x3300, 0x164C,
+0xE0B2, 0x3300, 0x164E, 0x412F, 0xE03F, 0x3300, 0x4F82, 0x1650, 0x12B0,
+0x6F2C, 0x427C, 0x12A7, 0x12B0, 0x6F3A, 0x403C, 0x012A, 0x12B0, 0xDB30,
+0x403C, 0xA544, 0x12AB, 0x435C, 0x12AA, 0x12B0, 0x7096, 0x4291, 0x1626,
+0x0000, 0x12B0, 0x6F82, 0x12B0, 0x7096, 0x12B0, 0x708A, 0x91E2, 0x1626,
+0x240A, 0x421F, 0x1626, 0xD03F, 0x0040, 0x4F81, 0x0000, 0x12B0, 0x6F82,
+0x12B0, 0x7096, 0x410C, 0x503C, 0x0018, 0x403E, 0x000E, 0x12B0, 0xD496,
+0x4291, 0x1620, 0x0018, 0x4291, 0x1622, 0x001A, 0x4291, 0x161A, 0x001C,
+0x4291, 0x161C, 0x001E, 0x4291, 0x1628, 0x0020, 0x4381, 0x0022, 0x4291,
+0x1626, 0x0024, 0x4381, 0x0026, 0x4291, 0x162E, 0x002C, 0x4381, 0x002E,
+0x4291, 0x162C, 0x0030, 0x4381, 0x0032, 0x410C, 0x503C, 0x0018, 0x12B0,
+0x9BB0, 0x12B0, 0xD7EA, 0x12B0, 0x6F64, 0x460C, 0x12B0, 0x6F60, 0x430C,
+0x12B0, 0x6FA2, 0x4291, 0x162A, 0x0008, 0x12B0, 0x7056, 0x494C, 0x12A8,
+0x403C, 0x0401, 0x12AB, 0x454C, 0x12A8, 0x407C, 0x00A8, 0x12A8, 0x12B0,
+0x7030, 0x503E, 0x0022, 0x430F, 0x930D, 0x2002, 0x9E0C, 0x2809, 0x421E,
+0x162A, 0x503E, 0x002C, 0x9D0F, 0x2803, 0x2005, 0x9C0E, 0x2C03, 0x9381,
+0x0004, 0x23EB, 0x421F, 0x161A, 0xD21F, 0x161C, 0x930F, 0x2491, 0x9381,
+0x0006, 0x208E, 0x9381, 0x0004, 0x248B, 0x421F, 0x162A, 0x503F, 0x006C,
+0x4F81, 0x0002, 0x421C, 0x161A, 0x421D, 0x161C, 0x5C0C, 0x6D0D, 0x421E,
+0x1624, 0x2003, 0x9E0C, 0x2C01, 0x4C0E, 0x5F0E, 0x4E81, 0x0000, 0x421E,
+0x162A, 0x503E, 0x0068, 0x12B0, 0x7052, 0x12B0, 0x6F2C, 0x423C, 0x12AB,
+0x3C16, 0x410C, 0x503C, 0x000C, 0x12B0, 0xDA3E, 0x4C81, 0x0006, 0x12B0,
+0x6F3A, 0x411C, 0x0002, 0x12B0, 0xDB30, 0x411C, 0x000C, 0x12B0, 0x6F56,
+0x411F, 0x0002, 0x532F, 0x4F81, 0x0002, 0x91A1, 0x0002, 0x2C03, 0x9381,
+0x0006, 0x27E4, 0x12B0, 0x7096, 0x411F, 0x0002, 0x821F, 0x162A, 0x503F,
+0xFF94, 0xC312, 0x100F, 0x4F81, 0x0000, 0x12B0, 0xD7EA, 0x12B0, 0x6F64,
+0x403C, 0x0086, 0x12B0, 0x6F60, 0x412C, 0x12B0, 0x6FA2, 0x4291, 0x1620,
+0x0008, 0x4291, 0x1622, 0x000A, 0x12B0, 0xD7EA, 0x12B0, 0x6F64, 0x411C,
+0x0008, 0x411D, 0x000A, 0x12B0, 0xD4B4, 0x12B0, 0x6F60, 0x411C, 0x0008,
+0x12B0, 0x6FA2, 0x412E, 0x5E0E, 0x5E82, 0x1620, 0x6382, 0x1622, 0x412E,
+0x8E82, 0x161A, 0x7382, 0x161C, 0x421E, 0x162A, 0x503E, 0x002E, 0x12B0,
+0x7052, 0x407C, 0x00A8, 0x12A8, 0x40B1, 0x0BB8, 0x0004, 0x12B0, 0x7030,
+0x503E, 0x0068, 0x9E0C, 0x2002, 0x930D, 0x276C, 0x930F, 0x276A, 0x3FF5,
+0xB3A1, 0x0046, 0x281B, 0x410C, 0x503C, 0x0010, 0x403E, 0x2572, 0x12B0,
+0xD4C2, 0x120F, 0x12B0, 0xD222, 0x12B0, 0x709C, 0x5321, 0x91E2, 0x1650,
+0x2404, 0x12B0, 0x6F6C, 0x12B0, 0x7096, 0x421C, 0x161E, 0x421F, 0x16F4,
+0x129F, 0x0008, 0x3C23, 0x9391, 0x0006, 0x2009, 0x407C, 0x0091, 0x421F,
+0x16F4, 0x129F, 0x0012, 0x4381, 0x0006, 0x3C17, 0x410C, 0x503C, 0x0010,
+0x403E, 0x257A, 0x12B0, 0xD4C2, 0x120F, 0x12B0, 0xD222, 0x12B0, 0x709C,
+0x5321, 0x91E2, 0x1650, 0x2404, 0x12B0, 0x6F6C, 0x12B0, 0x7096, 0x40B1,
+0xFFF6, 0x0006, 0x411C, 0x0006, 0x5031, 0x0048, 0x4030, 0xD316, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x120C, 0x8031,
+0x0036, 0x4381, 0x0004, 0x4381, 0x000C, 0x4381, 0x000A, 0x40B1, 0x0BB8,
+0x0002, 0x403A, 0x1726, 0x403B, 0x1718, 0x4038, 0x1712, 0x4074, 0x0021,
+0x4037, 0x2401, 0x4075, 0x0042, 0x4079, 0x0082, 0x4076, 0x00C8, 0xB31C,
+0x291D, 0x410C, 0x503C, 0x000C, 0x12B0, 0xDAEE, 0x2403, 0x403C, 0xFFFE,
+0x3DEE, 0x403C, 0x1572, 0x12B0, 0xDAEE, 0x2403, 0x403C, 0xFFFD, 0x3DE6,
+0x403C, 0x1578, 0x12B0, 0xDAEE, 0x2403, 0x403C, 0xFFFC, 0x3DDE, 0x403C,
+0x156E, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFB,
+0x3DD3, 0x403C, 0x1568, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403,
+0x403C, 0xFFFA, 0x3DC8, 0x403C, 0x1576, 0x12B0, 0xDAEE, 0x2403, 0x403C,
+0xFFF9, 0x3DC0, 0x403C, 0x1574, 0x12B0, 0xDAFE, 0x240A, 0x403C, 0x157C,
+0x12B0, 0xDAFE, 0x2405, 0x403C, 0x157A, 0x12B0, 0xDAFE, 0x2003, 0x403C,
+0xFFF8, 0x3DAE, 0x12B0, 0x79F0, 0x403C, 0x4582, 0x12B0, 0x78EC, 0x41A2,
+0x157E, 0x12B0, 0x79F0, 0x403C, 0x4682, 0x12B0, 0x78EC, 0x41A2, 0x1580,
+0x12B0, 0x79F0, 0x403C, 0x4982, 0x12B0, 0x78EC, 0x41A2, 0x1582, 0x12B0,
+0x79F0, 0x403C, 0x4882, 0x12B0, 0x78EC, 0x41A2, 0x1584, 0x12B0, 0x79F0,
+0x403C, 0x4A82, 0x12B0, 0x78EC, 0x41A2, 0x1586, 0x12B0, 0x79F0, 0x403C,
+0x4B82, 0x12B0, 0x78EC, 0x41A2, 0x1588, 0x12B0, 0x79F0, 0x403C, 0x4C82,
+0x12B0, 0x78EC, 0x41A2, 0x158A, 0x12B0, 0x78AE, 0x403C, 0x0128, 0x12B0,
+0x7922, 0x41A2, 0x158C, 0x12B0, 0x78AE, 0x403C, 0x012A, 0x12B0, 0x7922,
+0x41A2, 0x158E, 0x12B0, 0x791E, 0xE0B2, 0x3300, 0x158C, 0xE0B2, 0x3300,
+0x158E, 0x412F, 0xE03F, 0x3300, 0x4F82, 0x1590, 0x12B0, 0xCF58, 0x12B0,
+0x79BE, 0x12B0, 0x78B2, 0x403C, 0x012A, 0x12B0, 0x799E, 0x403C, 0xA544,
+0x12B0, 0x78D6, 0x12B0, 0x792A, 0x4291, 0x1574, 0x0000, 0x12B0, 0x78CC,
+0x12B0, 0x792A, 0x12B0, 0x791E, 0x91E2, 0x1574, 0x240A, 0x421F, 0x1574,
+0xD03F, 0x0040, 0x4F81, 0x0000, 0x12B0, 0x78CC, 0x12B0, 0x792A, 0x410C,
+0x503C, 0x0016, 0x403E, 0x0007, 0x12B0, 0xD496, 0x4291, 0x156E, 0x0016,
+0x4291, 0x1568, 0x0018, 0x4291, 0x1576, 0x001A, 0x4291, 0x1574, 0x001C,
+0x4291, 0x157C, 0x0020, 0x4291, 0x157A, 0x0022, 0x410C, 0x503C, 0x0016,
+0x12B0, 0xA042, 0x12B0, 0x79F0, 0x403C, 0x4032, 0x12B0, 0xD920, 0x430C,
+0x12B0, 0xD64A, 0x12B0, 0x7A30, 0x421F, 0x16CA, 0xD21F, 0x16CC, 0x930F,
+0x240B, 0x9382, 0x16CE, 0x2408, 0x407C, 0x0090, 0x12A8, 0x403C, 0x0088,
+0x12AB, 0x431C, 0x12AB, 0x4291, 0x1578, 0x0000, 0x12B0, 0x79FA, 0x435C,
+0x12B0, 0xDAE0, 0x403C, 0x0401, 0x12AB, 0x444C, 0x12A8, 0x407C, 0x00A8,
+0x12A8, 0x12B0, 0xCEC4, 0x503F, 0x0020, 0x9F0C, 0x2806, 0x421F, 0x1578,
+0x503F, 0x0026, 0x9C0F, 0x2C03, 0x9381, 0x0002, 0x23F1, 0x421F, 0x1568,
+0xD21F, 0x156A, 0x930F, 0x2491, 0x9381, 0x0004, 0x208E, 0x9381, 0x0002,
+0x248B, 0x421F, 0x1578, 0x503F, 0x0060, 0x4F81, 0x0006, 0x421C, 0x1568,
+0x421D, 0x156A, 0x5C0C, 0x6D0D, 0x421E, 0x1572, 0x2003, 0x9E0C, 0x2C01,
+0x4C0E, 0x5F0E, 0x4E81, 0x0008, 0x421F, 0x1578, 0x503F, 0x005C, 0x12B0,
+0x79F6, 0x12B0, 0xCF58, 0x464C, 0x12A8, 0x403C, 0x2408, 0x12AB, 0x3C18,
+0x410C, 0x503C, 0x000A, 0x12B0, 0xDAF6, 0x4C81, 0x0004, 0x12B0, 0x78B2,
+0x411C, 0x0006, 0x12B0, 0x799E, 0x411C, 0x000A, 0x12B0, 0x78D6, 0x434C,
+0x12AA, 0x411F, 0x0006, 0x532F, 0x4F81, 0x0006, 0x9191, 0x0008, 0x0006,
+0x2C03, 0x9381, 0x0004, 0x27E1, 0x12B0, 0x792A, 0x411F, 0x0006, 0x821F,
+0x1578, 0x503F, 0xFFA0, 0xC312, 0x100F, 0x4F81, 0x0008, 0x12B0, 0x79F0,
+0x403C, 0x4036, 0x12B0, 0xD920, 0x411C, 0x0008, 0x12B0, 0xD64A, 0x12B0,
+0x7A30, 0x4291, 0x156E, 0x0000, 0x12B0, 0x79F0, 0x403C, 0x4035, 0x12B0,
+0xD920, 0x412C, 0x12B0, 0xD64A, 0x12B0, 0x7A30, 0x411E, 0x0008, 0x5E0E,
+0x5E82, 0x156E, 0x6382, 0x1570, 0x411E, 0x0008, 0x8E82, 0x1568, 0x7382,
+0x156A, 0x421F, 0x1578, 0x503F, 0x0028, 0x12B0, 0x79F6, 0x407C, 0x00A8,
+0x12A8, 0x40B1, 0x0BB8, 0x0002, 0x12B0, 0xCEC4, 0x503F, 0x005C, 0x9F0C,
+0x276D, 0x9381, 0x0002, 0x276A, 0x3FF6, 0xB3A1, 0x0036, 0x281B, 0x410C,
+0x503C, 0x000E, 0x403E, 0x255A, 0x12B0, 0xD4A6, 0x120F, 0x12B0, 0xD20E,
+0x12B0, 0x7930, 0x5321, 0x91E2, 0x1590, 0x2404, 0x12B0, 0x78B8, 0x12B0,
+0x792A, 0x421C, 0x156C, 0x421F, 0x16F4, 0x129F, 0x0008, 0x3C23, 0x9391,
+0x0004, 0x2009, 0x407C, 0x0091, 0x421F, 0x16F4, 0x129F, 0x0012, 0x4381,
+0x0004, 0x3C17, 0x410C, 0x503C, 0x000E, 0x403E, 0x2562, 0x12B0, 0xD4A6,
+0x120F, 0x12B0, 0xD20E, 0x12B0, 0x7930, 0x5321, 0x91E2, 0x1590, 0x2404,
+0x12B0, 0x78B8, 0x12B0, 0x792A, 0x40B1, 0xFFF6, 0x0004, 0x411C, 0x0004,
+0x5031, 0x0038, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x1207, 0x1204, 0x1205, 0x120C, 0x8031, 0x003A, 0x4381, 0x0012, 0x4381,
+0x0014, 0x4381, 0x0016, 0x4381, 0x0010, 0x4381, 0x000E, 0x4306, 0x403A,
+0x1726, 0x403B, 0x1718, 0x4038, 0x1712, 0x4039, 0x16F4, 0xB31C, 0x28B7,
+0x410C, 0x503C, 0x0012, 0x12B0, 0xD7A4, 0x2403, 0x403C, 0xFFFE, 0x3DB0,
+0x432C, 0x492F, 0x129F, 0x001C, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD7A4,
+0x2403, 0x403C, 0xFFFC, 0x3DA3, 0x410C, 0x503C, 0x0014, 0x492F, 0x129F,
+0x0018, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3D98, 0x403C, 0x1652, 0x492F,
+0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA, 0x3D8E, 0x410C, 0x503C,
+0x000E, 0x12B0, 0xD7A4, 0x2403, 0x403C, 0xFFF9, 0x3D85, 0x410C, 0x503C,
+0x0010, 0x492F, 0x129F, 0x0016, 0x933C, 0x2406, 0x422C, 0x492F, 0x129F,
+0x001C, 0x933C, 0x2003, 0x403C, 0xFFF8, 0x3D74, 0x4191, 0x0014, 0x0018,
+0x4191, 0x0016, 0x001A, 0x4291, 0x1652, 0x001C, 0x4291, 0x1654, 0x001E,
+0x4191, 0x000E, 0x0020, 0x4381, 0x0022, 0x4191, 0x0010, 0x0024, 0x4381,
+0x0026, 0x410C, 0x503C, 0x0018, 0x12B0, 0xBD7E, 0x4117, 0x000C, 0x407C,
+0x0028, 0x12A8, 0x430C, 0x12AB, 0x12B0, 0xD6DC, 0x403C, 0x0080, 0x12AB,
+0x434C, 0x12B0, 0xD9E6, 0x403C, 0x1400, 0x12B0, 0xD9C6, 0x12B0, 0xD832,
+0x470C, 0x12B0, 0xD830, 0x403C, 0x4303, 0x12AB, 0x434C, 0x12AA, 0x407C,
+0x0021, 0x12A8, 0x430C, 0x430D, 0x1292, 0x171A, 0x435C, 0x12B0, 0xD9E6,
+0x403C, 0x0401, 0x12AB, 0x407C, 0x0021, 0x12A8, 0x407C, 0x00A8, 0x12A8,
+0x4304, 0x4305, 0x403C, 0x0005, 0x12B0, 0xD2AA, 0x2003, 0x903D, 0xABAD,
+0x2405, 0x9305, 0x2003, 0x9034, 0x012C, 0x2BF3, 0x9305, 0x2003, 0x9034,
+0x012C, 0x2802, 0x4036, 0xFFF7, 0xB392, 0x1652, 0x280E, 0x53B2, 0x1652,
+0x63B2, 0x1654, 0x4392, 0x1668, 0x3C07, 0x450C, 0x128F, 0x4C06, 0x53B2,
+0x1652, 0x63B2, 0x1654, 0x4924, 0x4035, 0x166A, 0x421F, 0x1652, 0xD21F,
+0x1654, 0x930F, 0x2411, 0x9306, 0x200F, 0x441F, 0x0016, 0xB392, 0x1652,
+0x2BE9, 0x403C, 0x166C, 0x128F, 0x4C06, 0x421D, 0x166C, 0x452C, 0x12B0,
+0xB064, 0x3FE2, 0x4037, 0x16EC, 0x9382, 0x1668, 0x241C, 0x9306, 0x201A,
+0x421F, 0x1652, 0xD21F, 0x1654, 0x930F, 0x2014, 0xB3A1, 0x003A, 0x28C7,
+0x450C, 0x1294, 0x0016, 0x4C06, 0x403D, 0xAAAA, 0x452C, 0x12B0, 0xB064,
+0x935C, 0x2403, 0x4382, 0x1668, 0x3C06, 0x403C, 0xFFBF, 0x3CC7, 0xB3A1,
+0x003A, 0x28AB, 0x4304, 0x4305, 0x403C, 0x000A, 0x12B0, 0xD2AA, 0x2003,
+0x903D, 0xCAFE, 0x2405, 0x9305, 0x2003, 0x9034, 0x012C, 0x2BF3, 0x9305,
+0x2003, 0x9034, 0x012C, 0x2883, 0x4036, 0xFFBF, 0x410C, 0x522C, 0x403E,
+0x2582, 0x12B0, 0xD07E, 0x120F, 0x12B0, 0xD70C, 0x4924, 0x1294, 0x000E,
+0x12B0, 0xD25E, 0x407C, 0x0028, 0x12A8, 0x5321, 0x907C, 0x0098, 0x2403,
+0x4034, 0x018C, 0x3C02, 0x4034, 0x014C, 0x12B0, 0xD6DC, 0x403C, 0x0A60,
+0x12B0, 0xCE88, 0x2403, 0x403C, 0x0FF6, 0x3C01, 0x440C, 0x12B0, 0xD578,
+0x4035, 0x0501, 0x9382, 0x16EA, 0x2404, 0x12B0, 0xD9E8, 0x450C, 0x12AB,
+0x4074, 0x0042, 0x12B0, 0xD718, 0x4C81, 0x0002, 0x12B0, 0xD9B6, 0x4C81,
+0x0000, 0x12B0, 0xCD64, 0x411E, 0x0002, 0x412F, 0x4E82, 0x1658, 0x4F82,
+0x165A, 0x407C, 0x0028, 0x12A8, 0x907C, 0x0098, 0x2403, 0x403F, 0x018C,
+0x3C02, 0x403F, 0x014C, 0x4F81, 0x0000, 0x12B0, 0xD6DC, 0x403C, 0x0B60,
+0x12B0, 0xCE88, 0x2403, 0x403C, 0x0FF6, 0x3C01, 0x412C, 0x12B0, 0xD578,
+0x9382, 0x16EA, 0x2404, 0x12B0, 0xD9E8, 0x450C, 0x12AB, 0x12B0, 0xD718,
+0x4C81, 0x0000, 0x12B0, 0xD9B6, 0x4C81, 0x0002, 0x12B0, 0xCD64, 0x412B,
+0x411F, 0x0002, 0x4B82, 0x165C, 0x4F82, 0x165E, 0xDF0B, 0x930B, 0x2409,
+0x90B2, 0xFFFE, 0x1658, 0x2003, 0x9382, 0x165A, 0x2402, 0x4036, 0xFFF6,
+0x410C, 0x522C, 0x403E, 0x258A, 0x12B0, 0xD07E, 0x120F, 0x12B0, 0xD70C,
+0x492B, 0x129B, 0x000E, 0x12B0, 0xD25E, 0x421C, 0x1656, 0x492F, 0x129F,
+0x0008, 0x3C17, 0x9316, 0x2006, 0x407C, 0x0091, 0x1294, 0x0012, 0x4306,
+0x3C10, 0x410C, 0x522C, 0x403E, 0x2592, 0x12B0, 0xD07E, 0x120F, 0x12B0,
+0xD70C, 0x1294, 0x000E, 0x12B0, 0xD25E, 0x4036, 0xFFF6, 0x5321, 0x460C,
+0x5031, 0x003C, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x1207, 0x1204, 0x1205, 0x8031, 0x0026, 0x4381, 0x0002, 0x4381, 0x0000,
+0x4304, 0x4305, 0x4382, 0x167C, 0x403A, 0x1718, 0x403B, 0x1712, 0x9382,
+0x16E2, 0x240F, 0x407C, 0x00F4, 0x12AB, 0x421C, 0x16E4, 0x12AA, 0xC21C,
+0x16E2, 0xD21C, 0x16E8, 0x12AA, 0x403C, 0x0014, 0x1292, 0x1540, 0x4037,
+0x171C, 0x421F, 0x16D2, 0xD21F, 0x16D4, 0x930F, 0x2411, 0x407C, 0x0054,
+0x12AB, 0x421C, 0x16D6, 0x421D, 0x16D8, 0x12A7, 0x421C, 0x16DE, 0x421D,
+0x16E0, 0x12A7, 0x403C, 0x0014, 0x1292, 0x1540, 0x407C, 0x00D0, 0x12B0,
+0xACCA, 0x4078, 0x0028, 0x934C, 0x387B, 0x12B0, 0xACC8, 0xB03C, 0x0020,
+0x2C76, 0x407C, 0x00B0, 0x12AB, 0x431C, 0x12B0, 0xAC80, 0x4C81, 0x0022,
+0x4D81, 0x0024, 0x403C, 0x0003, 0x12B0, 0xAC80, 0x4C81, 0x001E, 0x4D81,
+0x0020, 0x403C, 0x0005, 0x12B0, 0xAC80, 0x4C81, 0x001A, 0x4D81, 0x001C,
+0x403C, 0x0007, 0x12B0, 0xAC80, 0x4C81, 0x0016, 0x4D81, 0x0018, 0x403C,
+0x0081, 0x12B0, 0xAC80, 0x4C81, 0x0012, 0x4D81, 0x0014, 0x432C, 0x12B0,
+0xAC80, 0x422C, 0x430D, 0x12A7, 0x433C, 0x403D, 0x000F, 0x12B0, 0xAC76,
+0x431C, 0x430D, 0x12B0, 0xAC6C, 0x431C, 0x430D, 0x12A7, 0x403C, 0x0088,
+0x430D, 0x12A7, 0x403C, 0x000E, 0x430D, 0x12A7, 0x12B0, 0xAC86, 0x4039,
+0x0BB8, 0x407C, 0x00D0, 0x12B0, 0xACCA, 0x5339, 0x934C, 0x3802, 0x9309,
+0x23F7, 0x407C, 0x00B0, 0x12B0, 0xAC64, 0x411C, 0x0022, 0x411D, 0x0024,
+0x12A7, 0x432C, 0x430D, 0x12A7, 0x411C, 0x001E, 0x411D, 0x0020, 0x12A7,
+0x422C, 0x430D, 0x12A7, 0x411C, 0x001A, 0x411D, 0x001C, 0x12B0, 0xAC76,
+0x411C, 0x0016, 0x411D, 0x0018, 0x12B0, 0xAC6C, 0x411C, 0x0012, 0x411D,
+0x0014, 0x12A7, 0x407C, 0x0030, 0x12AB, 0x403C, 0x0005, 0x12AA, 0x4037,
+0x0032, 0x4079, 0x00C8, 0x494C, 0x12AB, 0x403C, 0x1501, 0x12AA, 0x484C,
+0x12AB, 0x430C, 0x12AA, 0x5337, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02,
+0x9307, 0x23F6, 0x12B0, 0xAC86, 0x403C, 0x0006, 0x12AA, 0x494C, 0x12AB,
+0x403C, 0x1501, 0x12B0, 0xACC6, 0x4036, 0x1726, 0xB23C, 0x2C05, 0x3C0F,
+0x12B0, 0xACBE, 0x12B0, 0xACC8, 0xB23C, 0x2809, 0x440E, 0x450F, 0x5314,
+0x6305, 0x930F, 0x2003, 0x903E, 0x7530, 0x2BF1, 0x484C, 0x12AB, 0x4037,
+0x2710, 0x434C, 0x12A6, 0x430C, 0x12AA, 0x4C04, 0x435C, 0x12A6, 0x5337,
+0xB034, 0x0100, 0x2C02, 0x9307, 0x23F3, 0x12B0, 0xACB4, 0x407C, 0x0021,
+0x12AB, 0x4037, 0x171A, 0x12B0, 0xAC66, 0x4C04, 0x4D05, 0x12B0, 0xACC8,
+0x4C0F, 0xF22F, 0x4F81, 0x0006, 0xB03C, 0x0020, 0x2803, 0x5034, 0xFFFE,
+0x3C02, 0x5034, 0xFFFC, 0x6335, 0x9034, 0xFFFE, 0x200B, 0x12B0, 0xAC92,
+0x403C, 0xFFFE, 0x12B0, 0xACDE, 0x4481, 0x000A, 0x4381, 0x000C, 0x3C04,
+0x4481, 0x000A, 0x4581, 0x000C, 0x407C, 0x0030, 0x12AB, 0x403C, 0x000E,
+0x12B0, 0xACC6, 0x410C, 0x532C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x410C,
+0x530C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x4114, 0x0002, 0x12B0, 0xAC92,
+0x440C, 0x12B0, 0xACDE, 0x4481, 0x0008, 0x444F, 0xD12F, 0x4F81, 0x0000,
+0x4F81, 0x0004, 0x4114, 0x0002, 0x434C, 0x12A6, 0x494C, 0x12AB, 0x403C,
+0x0500, 0x12AA, 0x12B0, 0xAC96, 0x440C, 0x430D, 0x12A7, 0x435C, 0x12A6,
+0x407C, 0x00A1, 0x12AB, 0x411C, 0x0004, 0x12AA, 0x434C, 0x12A6, 0x12B0,
+0xACAA, 0x12B0, 0xACF6, 0x484C, 0x12AB, 0x907C, 0x0098, 0x2403, 0x4034,
+0x018C, 0x3C02, 0x4034, 0x014C, 0x434C, 0x12A6, 0x4078, 0x0082, 0x484C,
+0x12B0, 0xACA4, 0x403C, 0x0260, 0x12B0, 0xACFC, 0x9382, 0x16EA, 0x2403,
+0x403C, 0x0FF6, 0x3C01, 0x440C, 0x12B0, 0xACD0, 0x9382, 0x16EA, 0x2402,
+0x12B0, 0xACAA, 0x12B0, 0xACA0, 0x430C, 0x12AA, 0x4C04, 0x12B0, 0xAC5C,
+0x12B0, 0xAC5C, 0x9382, 0x16EA, 0x2002, 0x12B0, 0xACAA, 0x12B0, 0xAC9C,
+0x4481, 0x000E, 0x434C, 0x12A6, 0x484C, 0x12B0, 0xACA4, 0x480C, 0x12B0,
+0xACFC, 0x440C, 0xF03C, 0xFFE7, 0x12B0, 0xACD0, 0x435C, 0x12A6, 0x434C,
+0x12A6, 0x407C, 0x0021, 0x12B0, 0xAC64, 0x435C, 0x12A6, 0x12B0, 0xACB4,
+0x12B0, 0xAC9C, 0x4191, 0x0006, 0x0010, 0x403D, 0x000A, 0x410C, 0x523C,
+0x421F, 0x16F4, 0x129F, 0x0006, 0x430C, 0x5031, 0x0026, 0x4030, 0xD316,
+0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031,
+0x001E, 0x4381, 0x001A, 0x4381, 0x001C, 0x4381, 0x0000, 0x4381, 0x0002,
+0x4381, 0x0014, 0x4381, 0x0016, 0x40B1, 0x0010, 0x0008, 0x4381, 0x000A,
+0x4381, 0x0004, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381,
+0x0012, 0x410C, 0x503C, 0x001A, 0x12B0, 0xD778, 0x3403, 0x403C, 0xFFC6,
+0x3D74, 0x410C, 0x530C, 0x12B0, 0xD778, 0x3806, 0x410C, 0x503C, 0x0014,
+0x12B0, 0xD778, 0x3403, 0x403C, 0xFFC4, 0x3D66, 0x410C, 0x523C, 0x421F,
+0x16F4, 0x129F, 0x0018, 0x4C81, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFC3,
+0x3D59, 0x4124, 0x4115, 0x0002, 0x4116, 0x0014, 0x4117, 0x0016, 0x92A1,
+0x001A, 0x2032, 0x9381, 0x001C, 0x202F, 0x42B1, 0x0008, 0x4381, 0x000A,
+0x43C1, 0x0006, 0x440C, 0x450D, 0x460E, 0x470F, 0x415B, 0x0006, 0x12B0,
+0xCC7A, 0xF31C, 0x410B, 0x503B, 0x000C, 0x4B38, 0x4B39, 0x4B3A, 0x4B3B,
+0x5808, 0x6909, 0x6A0A, 0x6B0B, 0xDC08, 0x4881, 0x000C, 0x4981, 0x000E,
+0x4A81, 0x0010, 0x4B81, 0x0012, 0x415E, 0x0006, 0x535E, 0x4EC1, 0x0006,
+0x927E, 0x2BDC, 0x415C, 0x000C, 0x1292, 0x1712, 0x3C47, 0x4481, 0x000C,
+0x4581, 0x000E, 0x4681, 0x0010, 0x4781, 0x0012, 0x411E, 0x001A, 0x411F,
+0x001C, 0x930F, 0x2107, 0x903E, 0x0014, 0x2D04, 0x5E0E, 0x4E10, 0x5528,
+0x5550, 0x555C, 0x555C, 0x5572, 0x54F6, 0x5594, 0x5628, 0x563E, 0x5650,
+0x567A, 0x56B0, 0x56BE, 0x5564, 0x5556, 0x5588, 0x56CE, 0x56E0, 0x56F4,
+0x556C, 0x5672, 0x1292, 0x170E, 0x3CED, 0x1292, 0x1710, 0x3CEA, 0x444C,
+0x1292, 0x153A, 0x3CE6, 0x431C, 0x1292, 0x1550, 0x3CE2, 0x1292, 0x1562,
+0x3CDF, 0x1292, 0x153C, 0x412F, 0xD11F, 0x0002, 0x930F, 0x24D8, 0x430C,
+0x1292, 0x1530, 0x3CD4, 0x444C, 0x1292, 0x1714, 0x4C4C, 0x430D, 0x3C90,
+0x411E, 0x0008, 0x411F, 0x000A, 0x830F, 0x2041, 0x823E, 0x240E, 0x823E,
+0x2416, 0x822E, 0x2419, 0x803E, 0x000C, 0x241F, 0x803E, 0x0003, 0x242F,
+0x803E, 0x001D, 0x241E, 0x3C31, 0x444C, 0x1292, 0x1716, 0x4C48, 0x4309,
+0x430A, 0x430B, 0x480C, 0x490D, 0x3C4A, 0x440C, 0x1292, 0x1718, 0x4C08,
+0x3FF5, 0x440C, 0x450D, 0xF03D, 0x000F, 0x1292, 0x171A, 0x4C08, 0x4D09,
+0x3FED, 0x440C, 0x450D, 0x1292, 0x171C, 0x3FF8, 0x410F, 0x503F, 0x000C,
+0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x1292, 0x1720, 0x4C08, 0x4D09, 0x4E0A,
+0x4F0B, 0x3FDC, 0x410C, 0x503C, 0x000C, 0x1292, 0x171E, 0x3FF5, 0x403C,
+0xFFC2, 0x3C89, 0x407C, 0x0054, 0x1292, 0x1712, 0x411C, 0x000C, 0x411D,
+0x000E, 0x1292, 0x171C, 0x3C79, 0x407C, 0x00F4, 0x1292, 0x1712, 0x411C,
+0x000C, 0x1292, 0x1718, 0x3C70, 0x407C, 0x0046, 0x1292, 0x1712, 0x430C,
+0x430D, 0x430E, 0x430F, 0x1292, 0x1720, 0x4E0A, 0x4F0B, 0x12B0, 0xDAC6,
+0x4A0C, 0x4B0D, 0x3C59, 0x444C, 0x1292, 0x1726, 0x3C5B, 0x90B1, 0x0010,
+0x0008, 0x2007, 0x9381, 0x000A, 0x2004, 0x440C, 0x12B0, 0xBC7A, 0x3C0B,
+0x90B1, 0x0020, 0x0008, 0x2009, 0x9381, 0x000A, 0x2006, 0x450D, 0x440C,
+0x12B0, 0xB064, 0x935C, 0x2043, 0x403C, 0xFFCF, 0x3C45, 0x12B0, 0xCA36,
+0x12B0, 0xDAC6, 0x430C, 0x430D, 0x3C33, 0x440C, 0x1292, 0x1536, 0x403C,
+0x170E, 0x12B0, 0x1880, 0x3C31, 0x411E, 0x0008, 0x410D, 0x503D, 0x0014,
+0x444C, 0x1292, 0x172E, 0x3C16, 0x411F, 0x0008, 0x410E, 0x503E, 0x0014,
+0x440C, 0x450D, 0x1292, 0x1730, 0x3C0C, 0x1211, 0x000A, 0x410D, 0x503D,
+0x0016, 0x440E, 0x450F, 0x411C, 0x000C, 0x1292, 0x1732, 0x5321, 0x931C,
+0x3403, 0x403F, 0xFFBA, 0x3C01, 0x430F, 0x4F81, 0x0004, 0x411C, 0x0014,
+0x411D, 0x0016, 0x12B0, 0xDAC6, 0x3C03, 0x40B1, 0xFFC5, 0x0004, 0x9381,
+0x0018, 0x267D, 0x411C, 0x0004, 0x5031, 0x001E, 0x4030, 0xD316, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0010,
+0x4304, 0x4306, 0x410C, 0x503C, 0x0006, 0x403E, 0x0005, 0x12B0, 0xD496,
+0x4381, 0x0004, 0x410C, 0x532C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C,
+0x2403, 0x403C, 0xFFD3, 0x3C6D, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F,
+0x0016, 0x933C, 0x2003, 0x403C, 0xFFD2, 0x3C62, 0x4382, 0x167C, 0x403A,
+0x1726, 0x435C, 0x12AA, 0x403B, 0x1712, 0x4077, 0x0028, 0x474C, 0x12AB,
+0x4038, 0x1718, 0x430C, 0x12A8, 0x4079, 0x00C8, 0xB03C, 0x0200, 0x2C1D,
+0x407C, 0x0088, 0x12AB, 0x407C, 0x0034, 0x1292, 0x1716, 0x4036, 0x0032,
+0x12B0, 0xD552, 0x474C, 0x12AB, 0x430C, 0x12A8, 0x5336, 0x933C, 0x2403,
+0xB03C, 0x0200, 0x2C03, 0x9306, 0x23F6, 0x3CC3, 0x9306, 0x24C1, 0x4C06,
+0x930C, 0x24BE, 0xB326, 0x2807, 0x434C, 0x12AA, 0x12B0, 0xCDDE, 0x435C,
+0x12AA, 0x3C02, 0x12B0, 0xCDDE, 0x9382, 0x16D0, 0x240F, 0x407C, 0x0054,
+0x12AB, 0x434C, 0x1292, 0x1716, 0x4C46, 0x407C, 0x0054, 0x12AB, 0xD076,
+0x0080, 0x464C, 0x1292, 0x1716, 0x407C, 0x0048, 0x12AB, 0x435C, 0x1292,
+0x1716, 0x435C, 0x12AA, 0x4076, 0x000A, 0x12B0, 0xBA8E, 0x240A, 0x12B0,
+0xBAB2, 0x5376, 0x23F9, 0x403C, 0xFFD1, 0x5031, 0x0010, 0x4030, 0xD316,
+0x12B0, 0xBA7A, 0x407C, 0x0030, 0x12AB, 0x403C, 0x0003, 0x12A8, 0x430C,
+0x12A8, 0x4076, 0x0090, 0x93A2, 0x16CA, 0x200D, 0x9382, 0x16CC, 0x200A,
+0x12B0, 0xD7D6, 0x403C, 0x000F, 0x12A8, 0x12B0, 0xD7D6, 0x403C, 0x000C,
+0x12A8, 0x90B2, 0x0003, 0x16CA, 0x2007, 0x9382, 0x16CC, 0x2004, 0x12B0,
+0xD7D6, 0x423C, 0x12A8, 0x421F, 0x16CA, 0xD21F, 0x16CC, 0x930F, 0x2414,
+0x9382, 0x16CE, 0x2411, 0x464C, 0x12AB, 0x403C, 0x0089, 0x12A8, 0x430C,
+0x12A8, 0x4C05, 0x464C, 0x12AB, 0x403C, 0x0088, 0x12A8, 0xD035, 0x0010,
+0x450C, 0x12A8, 0x4076, 0x0082, 0x12B0, 0xBA6E, 0x4035, 0xBAEE, 0x12B0,
+0xCDCC, 0x2040, 0x12B0, 0xCDD6, 0x934C, 0x3405, 0x12B0, 0xBA6E, 0x12B0,
+0xCDCC, 0x2037, 0x12B0, 0xBA68, 0x430C, 0x12B0, 0xCDE8, 0x2031, 0x474C,
+0x12AB, 0x3C04, 0x12B0, 0xCDCC, 0x202B, 0x5314, 0x430C, 0x12A8, 0x934C,
+0x3803, 0x9034, 0x000A, 0x2BF5, 0x9034, 0x000A, 0x2420, 0x407C, 0x0021,
+0x12B0, 0xCDD8, 0x822C, 0x4C81, 0x0008, 0x4381, 0x000A, 0x9304, 0x201C,
+0x12B0, 0xCDD6, 0xB03C, 0x0020, 0x281B, 0x53A1, 0x0008, 0x12B0, 0xBA68,
+0x403C, 0xC032, 0x12B0, 0xCDE8, 0x2007, 0x12B0, 0xBA68, 0x403C, 0x0010,
+0x12B0, 0xCDE8, 0x2403, 0x403C, 0xFFD4, 0x3F6F, 0x40B1, 0x0010, 0x0004,
+0x3C04, 0x12B0, 0xBA7A, 0x4391, 0x000E, 0x12B0, 0xD552, 0x12B0, 0xBA8E,
+0x2360, 0x4117, 0x0002, 0x12B0, 0xBAC2, 0x407C, 0x00C1, 0x12AB, 0x470C,
+0x12A8, 0x407C, 0x00A1, 0x12B0, 0xBAAA, 0x434C, 0x12AA, 0x430C, 0x12A8,
+0x4C07, 0x12B0, 0xBAE2, 0x4781, 0x0006, 0x4747, 0xD127, 0x4781, 0x0000,
+0x4114, 0x0002, 0x12B0, 0xBAC2, 0x407C, 0x0048, 0x12AB, 0x427C, 0x1292,
+0x1716, 0x407C, 0x00C1, 0x12AB, 0x440C, 0x12A8, 0x407C, 0x00A1, 0x12AB,
+0x470C, 0x12A8, 0x435C, 0x12AA, 0x12B0, 0xBAE2, 0x12B0, 0xD540, 0x403C,
+0x4030, 0x12B0, 0xBAB0, 0x403C, 0x0C04, 0x12B0, 0xBAB0, 0x407C, 0x0021,
+0x12AB, 0x12B0, 0xBABA, 0x12B0, 0xD540, 0x403C, 0x4282, 0x12B0, 0xBAA0,
+0x464C, 0x12AB, 0x403C, 0x00FE, 0x12B0, 0xBAA0, 0x12B0, 0xBAB2, 0x430C,
+0x12A8, 0x4C07, 0x12B0, 0xBABA, 0xD117, 0x0004, 0x4781, 0x000C, 0x403D,
+0x000A, 0x410C, 0x503C, 0x0006, 0x421F, 0x16F4, 0x129F, 0x0006, 0x430C,
+0x3EFF, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
+0x8031, 0x0014, 0x403B, 0x1712, 0x407C, 0x0028, 0x12AB, 0x4C4A, 0x4038,
+0x1718, 0x907C, 0x0099, 0x200D, 0x407C, 0x00F4, 0x12AB, 0x403C, 0x40A0,
+0x12A8, 0x407C, 0x0054, 0x12AB, 0x430C, 0x431D, 0x1292, 0x171C, 0x12B0,
+0xBF72, 0x403C, 0x6D8E, 0x430D, 0x1292, 0x171C, 0x407C, 0x0030, 0x12AB,
+0x403C, 0x0005, 0x12A8, 0x4079, 0x00C8, 0x494C, 0x12AB, 0x403C, 0x1501,
+0x12A8, 0x4307, 0x407C, 0x0028, 0x12AB, 0x430C, 0x12A8, 0xB03C, 0x0200,
+0x2C05, 0x470F, 0x5317, 0x903F, 0x0032, 0x2BF6, 0x9037, 0x0032, 0x2802,
+0x433C, 0x3D28, 0x4036, 0x1726, 0x12B0, 0xD6D0, 0x403C, 0x0C01, 0x12A8,
+0x403C, 0x0028, 0x1292, 0x1540, 0x403C, 0x0401, 0x12A8, 0x907A, 0x0091,
+0x2406, 0x907A, 0x0099, 0x2403, 0x907A, 0x0098, 0x2010, 0x407C, 0x0082,
+0x12AB, 0x12B0, 0xBFCA, 0x12B0, 0xBF82, 0x907A, 0x0091, 0x2002, 0x12B0,
+0xBFCA, 0x407C, 0x0042, 0x12AB, 0x3C06, 0x12B0, 0xBFCA, 0x12B0, 0xBFCA,
+0x12B0, 0xBFCA, 0x12B0, 0xBFCA, 0x12B0, 0xD6D0, 0x403C, 0x0501, 0x12B0,
+0xBF88, 0x407C, 0x0030, 0x12AB, 0x403C, 0x000E, 0x12A8, 0x12B0, 0xBF68,
+0x410C, 0x522C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x410C, 0x532C, 0x421F,
+0x16F4, 0x129F, 0x0016, 0x4191, 0x0004, 0x0010, 0x4381, 0x0012, 0x434C,
+0x12A6, 0x4075, 0x00C1, 0x454C, 0x12AB, 0x4037, 0x171A, 0x411C, 0x0010,
+0x12B0, 0xBF8E, 0x4481, 0x0006, 0x4444, 0xD114, 0x0002, 0x4481, 0x0002,
+0x4191, 0x0004, 0x0010, 0x4381, 0x0012, 0x12B0, 0xBFAC, 0x411C, 0x0010,
+0x12B0, 0xD586, 0x440C, 0x12B0, 0xBFBE, 0x12B0, 0xD998, 0x430C, 0x430D,
+0x12A7, 0x903C, 0xFFFE, 0x2409, 0x907A, 0x0091, 0x2406, 0x907A, 0x0099,
+0x2403, 0x907A, 0x0098, 0x200D, 0x434C, 0x12A6, 0x454C, 0x12AB, 0x403C,
+0xFFFE, 0x12B0, 0xBF8E, 0x4481, 0x0008, 0x4381, 0x000A, 0x3C07, 0x503C,
+0xFFFC, 0x633D, 0x4C81, 0x0008, 0x4D81, 0x000A, 0x4381, 0x000C, 0x431C,
+0x421F, 0x16F4, 0x129F, 0x001C, 0x4304, 0x440C, 0x503C, 0x1740, 0x421F,
+0x16F4, 0x129F, 0x0014, 0x93C4, 0x1740, 0x2429, 0x444C, 0x12B0, 0xCF00,
+0xF21C, 0x16F0, 0xF21D, 0x16F2, 0x4C0F, 0xDD0F, 0x930F, 0x2002, 0x430F,
+0x3C01, 0x431F, 0x4F81, 0x000E, 0x445F, 0x1740, 0x503F, 0x9600, 0x4F81,
+0x0000, 0x12B0, 0xBFAC, 0x403C, 0x0110, 0x12B0, 0xD586, 0x412C, 0x12B0,
+0xBFBE, 0x12B0, 0xBFAC, 0x403C, 0x011E, 0x12B0, 0xD586, 0x411C, 0x000E,
+0x12B0, 0xBFBE, 0x5314, 0x9034, 0x0020, 0x3BC9, 0x12B0, 0xBF72, 0x403C,
+0x000E, 0x430D, 0x1292, 0x171C, 0x907A, 0x0091, 0x2042, 0x434C, 0x12A6,
+0x454C, 0x12AB, 0x403C, 0x0102, 0x12B0, 0xBF9A, 0x4C0A, 0x435C, 0x12A6,
+0x12B0, 0xBFCA, 0x4A81, 0x0000, 0xB2B1, 0x0000, 0x2830, 0x12B0, 0xBF68,
+0x434C, 0x12A6, 0x407C, 0x0082, 0x12AB, 0x435C, 0x12A6, 0x403C, 0x0080,
+0x12A8, 0x434C, 0x12B0, 0xD6D6, 0x403C, 0x1400, 0x12A8, 0x407C, 0x0082,
+0x12AB, 0x12B0, 0xBF82, 0x403C, 0x4303, 0x12A8, 0x434C, 0x12B0, 0xD996,
+0x430C, 0x430D, 0x12A7, 0x12B0, 0xD594, 0x12B0, 0xD996, 0xC2B1, 0x0000,
+0x412A, 0x12B0, 0xBFAC, 0x403C, 0x0102, 0x12B0, 0xD586, 0x4A0C, 0x12B0,
+0xBFBE, 0x423D, 0x410C, 0x503C, 0x0006, 0x421F, 0x16F4, 0x129F, 0x0006,
+0x430C, 0x5031, 0x0014, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0018, 0x4381, 0x0002, 0x4305,
+0x410C, 0x522C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C,
+0xFFDA, 0x3C8F, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C,
+0x2403, 0x403C, 0xFFD9, 0x3C84, 0x4382, 0x167C, 0x403A, 0x1712, 0x407B,
+0x00C8, 0x4B4C, 0x12AA, 0x4038, 0x1718, 0x4034, 0x2401, 0x440C, 0x12A8,
+0x407C, 0x0028, 0x12AA, 0x907C, 0x0089, 0x2403, 0x403C, 0xFFD0, 0x3C6D,
+0x12B0, 0xD8BC, 0x4C81, 0x000A, 0x4039, 0x1726, 0x435C, 0x12A9, 0x4036,
+0x171C, 0x4037, 0x1716, 0xB0B1, 0x0200, 0x000A, 0x2C41, 0x12B0, 0xDB36,
+0x407C, 0x0034, 0x12A7, 0x407C, 0x00B0, 0x12AA, 0x403C, 0x0089, 0x430D,
+0x12A6, 0x430C, 0x430D, 0x12A6, 0x4C81, 0x0014, 0x4D81, 0x0016, 0x12B0,
+0xD63C, 0x411C, 0x0014, 0xD03C, 0x0040, 0x430D, 0x12A6, 0x4C81, 0x0006,
+0x4D81, 0x0008, 0x12B0, 0xD63C, 0x411C, 0x0006, 0xF03C, 0xFFBF, 0x430D,
+0x12A6, 0x4035, 0x0032, 0x12B0, 0xCAD0, 0x407C, 0x0028, 0x12AA, 0x430C,
+0x12A8, 0x5335, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C03, 0x9305, 0x23F6,
+0x3C05, 0x9305, 0x2403, 0x4C05, 0x930C, 0x2003, 0x403C, 0xFFDB, 0x3C1C,
+0xB325, 0x2805, 0x12B0, 0xCACC, 0x435C, 0x12A9, 0x3C02, 0x12B0, 0xCAD0,
+0x407C, 0x0082, 0x12B0, 0xCAE2, 0x403C, 0x4303, 0x12B0, 0xCAD8, 0x12B0,
+0xD1E6, 0x12B0, 0xD612, 0x240A, 0x12B0, 0xD0AE, 0x5375, 0x23F9, 0x403C,
+0xFFD1, 0x5031, 0x0018, 0x4030, 0xD316, 0x93A2, 0x16CA, 0x200F, 0x9382,
+0x16CC, 0x200C, 0x12B0, 0xD62E, 0x403C, 0x000F, 0x430D, 0x12A6, 0x12B0,
+0xD62E, 0x403C, 0x000C, 0x430D, 0x12A6, 0x12B0, 0xCAE8, 0x12B0, 0xCAE8,
+0x403C, 0x0401, 0x12A8, 0x407C, 0x0098, 0x12AA, 0x12B0, 0xD0B6, 0x12B0,
+0xD0B6, 0x12B0, 0xDB36, 0x407C, 0x0024, 0x12A7, 0x4076, 0x0021, 0x12B0,
+0xD658, 0x903C, 0xFFFE, 0x240D, 0x903C, 0x0F00, 0x240A, 0x12B0, 0xD0AE,
+0x411F, 0x0002, 0x531F, 0x4F81, 0x0002, 0x903F, 0x000A, 0x2BEE, 0x90B1,
+0x000A, 0x0002, 0x27BD, 0x12B0, 0xD0AE, 0x12B0, 0xD0AE, 0x434C, 0x12A9,
+0x464C, 0x12AA, 0x430C, 0x12A8, 0x435C, 0x12A9, 0x12B0, 0xD1E6, 0x12B0,
+0xD612, 0x2405, 0x12B0, 0xD0AE, 0x5375, 0x27A8, 0x3FF8, 0x12B0, 0xCB28,
+0x12B0, 0xD0F6, 0x12B0, 0xCAE2, 0x434C, 0x12A9, 0x430C, 0x12A8, 0x4C05,
+0x12B0, 0xCACC, 0x464C, 0x12B0, 0xCAE2, 0x4581, 0x000C, 0x4545, 0xD125,
+0x4581, 0x0000, 0x12B0, 0xCB28, 0x407C, 0x0048, 0x12AA, 0x427C, 0x12A7,
+0x12B0, 0xD0F6, 0x12AA, 0x450C, 0x12A8, 0x435C, 0x12A9, 0x12B0, 0xCACC,
+0x464C, 0x12B0, 0xCAE2, 0x12B0, 0xD658, 0x4C81, 0x000E, 0x4D81, 0x0010,
+0x12B0, 0xDB36, 0x407C, 0x0034, 0x12A7, 0x407C, 0x0082, 0x12AA, 0x403C,
+0x0080, 0x12B0, 0xD0C2, 0x403C, 0x0C04, 0x12B0, 0xD0C2, 0x464C, 0x12AA,
+0x12B0, 0xD236, 0x12B0, 0xDB36, 0x403C, 0x0034, 0x12A8, 0x407C, 0x0082,
+0x12B0, 0xCAE2, 0x403C, 0x0260, 0x12B0, 0xCAD8, 0x407C, 0x0082, 0x12B0,
+0xCAE2, 0x403C, 0x00FC, 0x12B0, 0xCAD8, 0x430C, 0x12A8, 0x4C0B, 0x12B0,
+0xD0AE, 0x430C, 0x12A8, 0x12B0, 0xD236, 0x4B81, 0x0012, 0x423D, 0x410C,
+0x503C, 0x000C, 0x421F, 0x16F4, 0x129F, 0x0006, 0x430C, 0x3F3C, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0012,
+0x4381, 0x0000, 0x4381, 0x0004, 0x410C, 0x523C, 0x421F, 0x16F4, 0x129F,
+0x0016, 0x930C, 0x2403, 0x403C, 0xFFDA, 0x3C8E, 0x410C, 0x503C, 0x0006,
+0x421F, 0x16F4, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFD9, 0x3C82,
+0x4382, 0x167C, 0x403A, 0x1712, 0x407B, 0x00C8, 0x4B4C, 0x12AA, 0x4038,
+0x1718, 0x4039, 0x2401, 0x12B0, 0xD7F4, 0x907C, 0x0089, 0x2403, 0x403C,
+0xFFD0, 0x3C6E, 0x407C, 0x0028, 0x12B0, 0xD9B0, 0x4C05, 0x4036, 0x1726,
+0x435C, 0x12A6, 0x4037, 0x1716, 0x4074, 0x0090, 0xB035, 0x0200, 0x2C32,
+0x407C, 0x0088, 0x12AA, 0x407C, 0x0034, 0x12A7, 0x444C, 0x12AA, 0x403C,
+0x0089, 0x12A8, 0x430C, 0x12B0, 0xD56A, 0xD035, 0x0040, 0x450C, 0x12B0,
+0xD56A, 0xF035, 0xFFBF, 0x450C, 0x12A8, 0x4035, 0x0032, 0x4B4C, 0x12AA,
+0x12B0, 0xD7F4, 0x430C, 0x12A8, 0x5335, 0x933C, 0x2403, 0xB03C, 0x0200,
+0x2C03, 0x9305, 0x23F6, 0x3C04, 0x9305, 0x2402, 0x4C81, 0x0004, 0xB3A1,
+0x0004, 0x2C03, 0x403C, 0xFFDB, 0x3C2C, 0xB3A1, 0x0004, 0x2803, 0x12B0,
+0xCCAE, 0x3C02, 0x12B0, 0xCCA6, 0x9382, 0x16D0, 0x240D, 0x407C, 0x0054,
+0x12AA, 0x434C, 0x12A7, 0x4C45, 0x407C, 0x0054, 0x12AA, 0xD075, 0x0080,
+0x454C, 0x12A7, 0x4075, 0x0082, 0x454C, 0x12AA, 0x435C, 0x12A6, 0x403C,
+0x4303, 0x12B0, 0xD700, 0x12B0, 0xD018, 0x12B0, 0xD1FA, 0x2409, 0x12B0,
+0xD1D2, 0x23FA, 0x403C, 0xFFD1, 0x5031, 0x0012, 0x4030, 0xD316, 0x93A2,
+0x16CA, 0x200D, 0x9382, 0x16CC, 0x200A, 0x12B0, 0xD9CE, 0x403C, 0x000F,
+0x12A8, 0x12B0, 0xD9CE, 0x403C, 0x000C, 0x12A8, 0x90B2, 0x0003, 0x16CA,
+0x2007, 0x9382, 0x16CC, 0x2004, 0x12B0, 0xD9CE, 0x423C, 0x12A8, 0x12B0,
+0xCCB6, 0x12B0, 0xCCB6, 0x403C, 0x0401, 0x12A8, 0x407C, 0x0098, 0x12AA,
+0x12B0, 0xD748, 0x12B0, 0xD748, 0x407C, 0x0088, 0x12AA, 0x407C, 0x0024,
+0x12A7, 0x4074, 0x0021, 0x12B0, 0xD9AE, 0x903C, 0xFFFE, 0x240C, 0x903C,
+0x0F00, 0x2409, 0x12B0, 0xD2EA, 0x412F, 0x531F, 0x4F81, 0x0000, 0x903F,
+0x000A, 0x2BEF, 0x90B1, 0x000A, 0x0000, 0x27B4, 0x434C, 0x12A6, 0x12B0,
+0xD2E6, 0x434C, 0x12A6, 0x12B0, 0xD9AE, 0x12B0, 0xD018, 0x12B0, 0xD1FA,
+0x2404, 0x12B0, 0xD1D2, 0x27A4, 0x3FF9, 0x12B0, 0xCD1A, 0x12B0, 0xD34C,
+0x435C, 0x12A6, 0x434C, 0x12A6, 0x430C, 0x12A8, 0x4C81, 0x0000, 0x12B0,
+0xD6A0, 0x41A1, 0x000A, 0x415F, 0x000A, 0xD11F, 0x0006, 0x4F81, 0x0006,
+0x4F81, 0x0004, 0x12B0, 0xCD1A, 0x407C, 0x0048, 0x12AA, 0x427C, 0x12A7,
+0x12B0, 0xD34C, 0x411C, 0x0004, 0x12A8, 0x435C, 0x12A6, 0x12B0, 0xD6A0,
+0x12B0, 0xD9AE, 0x4C81, 0x000C, 0x4381, 0x000E, 0x12B0, 0xD5F6, 0x403C,
+0x4030, 0x12B0, 0xD2E0, 0x403C, 0x0C04, 0x12B0, 0xD2E0, 0x444C, 0x12AA,
+0x12B0, 0xCCAE, 0x12B0, 0xD5F6, 0x403C, 0x4282, 0x12B0, 0xD700, 0x435C,
+0x12A6, 0x454C, 0x12AA, 0x403C, 0x00FE, 0x12B0, 0xD700, 0x12B0, 0xD2E6,
+0x430C, 0x12A8, 0x4C07, 0x12B0, 0xCCAE, 0x4781, 0x0010, 0x423D, 0x410C,
+0x503C, 0x000A, 0x421F, 0x16F4, 0x129F, 0x0006, 0x430C, 0x3F48, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0010,
+0x4306, 0x4307, 0x410C, 0x503C, 0x0006, 0x403E, 0x0005, 0x12B0, 0xD496,
+0x4381, 0x0004, 0x410C, 0x532C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C,
+0x2403, 0x403C, 0xFFD3, 0x3C58, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F,
+0x0016, 0x933C, 0x2003, 0x403C, 0xFFD2, 0x3C4D, 0x4382, 0x167C, 0x403A,
+0x1726, 0x435C, 0x12AA, 0x403B, 0x1712, 0x4074, 0x0028, 0x444C, 0x12AB,
+0x4038, 0x1718, 0x430C, 0x12A8, 0x4079, 0x00C8, 0xB03C, 0x0200, 0x2C18,
+0x12B0, 0xD524, 0x4036, 0x0032, 0x12B0, 0xD984, 0x444C, 0x12AB, 0x430C,
+0x12A8, 0x5336, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C03, 0x9306, 0x23F6,
+0x3C96, 0x9306, 0x2494, 0x4C06, 0x930C, 0x2491, 0xB326, 0x2807, 0x434C,
+0x12AA, 0x12B0, 0xD790, 0x435C, 0x12AA, 0x3C02, 0x12B0, 0xD790, 0x407C,
+0x0048, 0x12AB, 0x435C, 0x1292, 0x1716, 0x435C, 0x12AA, 0x4076, 0x000A,
+0x4075, 0x0081, 0x12B0, 0xB1AE, 0x240A, 0x12B0, 0xB1EA, 0x5376, 0x23F9,
+0x403C, 0xFFD1, 0x5031, 0x0010, 0x4030, 0xD316, 0x12B0, 0xB1D0, 0x407C,
+0x0030, 0x12AB, 0x403C, 0x0003, 0x12A8, 0x430C, 0x12A8, 0x93A2, 0x16CA,
+0x201B, 0x9382, 0x16CC, 0x2018, 0x407C, 0x00B0, 0x12AB, 0x4036, 0x171C,
+0x403C, 0x0082, 0x430D, 0x12A6, 0x403C, 0x000F, 0x430D, 0x12A6, 0x407C,
+0x00B0, 0x12AB, 0x403C, 0x0082, 0x430D, 0x12A6, 0x403C, 0x000C, 0x430D,
+0x12A6, 0x4076, 0x0082, 0x12B0, 0xB1A6, 0x403C, 0x4303, 0x12B0, 0xB22C,
+0x444C, 0x12AB, 0x3C09, 0x12B0, 0xBBF6, 0x4C0F, 0xDD0F, 0x930F, 0x2034,
+0x5317, 0x430C, 0x12A8, 0x430C, 0x12A8, 0x934C, 0x3803, 0x9037, 0x000A,
+0x2BF0, 0x9037, 0x000A, 0x2427, 0x407C, 0x0021, 0x12AB, 0x430C, 0x430D,
+0x1292, 0x171A, 0x503C, 0xFFFE, 0x633D, 0x4C81, 0x0008, 0x4D81, 0x000A,
+0x9307, 0x201E, 0x444C, 0x12AB, 0x430C, 0x12A8, 0xB03C, 0x0020, 0x281B,
+0x53A1, 0x0008, 0x12B0, 0xB1A6, 0x403C, 0xC032, 0x12B0, 0xD532, 0x2007,
+0x12B0, 0xB1A6, 0x403C, 0x0010, 0x12B0, 0xD532, 0x2403, 0x403C, 0xFFD4,
+0x3F8C, 0x40B1, 0x0010, 0x0004, 0x3C04, 0x12B0, 0xB1D0, 0x4391, 0x000E,
+0x12B0, 0xD984, 0x12B0, 0xB1AE, 0x237D, 0x12B0, 0xB208, 0x12B0, 0xB1BC,
+0x435C, 0x12AA, 0x434C, 0x12AA, 0x430C, 0x12A8, 0x4C07, 0x12B0, 0xB238,
+0x4781, 0x0006, 0x4747, 0xD127, 0x4781, 0x0000, 0x12B0, 0xB208, 0x407C,
+0x0048, 0x12AB, 0x427C, 0x1292, 0x1716, 0x12B0, 0xB1BC, 0x470C, 0x12A8,
+0x435C, 0x12AA, 0x12B0, 0xB238, 0x12B0, 0xD524, 0x464C, 0x12AB, 0x403C,
+0x0080, 0x12B0, 0xB1E8, 0x403C, 0x0C04, 0x12B0, 0xB1E8, 0x407C, 0x0021,
+0x12AB, 0x12B0, 0xB1F2, 0x407C, 0x0088, 0x12AB, 0x403C, 0x0034, 0x12A8,
+0x12B0, 0xB1A6, 0x403C, 0x0260, 0x12B0, 0xB22C, 0x12B0, 0xB1A6, 0x403C,
+0x00FC, 0x12B0, 0xB22C, 0x430C, 0x12A8, 0x4C07, 0x12B0, 0xB1EA, 0x430C,
+0x12A8, 0x12B0, 0xB1F2, 0xD117, 0x0004, 0x4781, 0x000C, 0x403D, 0x000A,
+0x410C, 0x503C, 0x0006, 0x421F, 0x16F4, 0x129F, 0x0006, 0x430C, 0x3F21,
+0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031,
+0x0014, 0x4381, 0x000E, 0x4381, 0x0008, 0x4381, 0x0006, 0x403B, 0x16F4,
+0x410C, 0x503C, 0x0012, 0x12B0, 0xDB2A, 0x410C, 0x503C, 0x0010, 0x12B0,
+0xDB2A, 0x410C, 0x503C, 0x000A, 0x4B2F, 0x129F, 0x0018, 0x410C, 0x522C,
+0x12B0, 0xDB2A, 0x410C, 0x503C, 0x000E, 0x12B0, 0xDB2A, 0x410C, 0x532C,
+0x12B0, 0xDB2A, 0x410C, 0x523C, 0x12B0, 0xDB2A, 0x410C, 0x503C, 0x0006,
+0x12B0, 0xDB2A, 0x4117, 0x0004, 0x403A, 0x1726, 0x434C, 0x12AA, 0x403B,
+0x1712, 0x4078, 0x0082, 0x12B0, 0xDA7E, 0x4039, 0x1718, 0x480C, 0x12A9,
+0x4076, 0x00C8, 0x464C, 0x12AB, 0x403C, 0x1401, 0x12B0, 0xD5CC, 0x470C,
+0x12A9, 0x12B0, 0xD5D2, 0x403C, 0x3FFD, 0x12B0, 0xD5B0, 0x4077, 0x0021,
+0x474C, 0x12AB, 0x430C, 0x12B0, 0xD970, 0x464C, 0x12AB, 0x403C, 0x0501,
+0x12B0, 0xD5B0, 0x407C, 0x0042, 0x12AB, 0x435C, 0x12AA, 0x4191, 0x0010,
+0x0000, 0x4114, 0x0012, 0x12B0, 0xD97C, 0x403C, 0x0500, 0x12A9, 0x407C,
+0x00C1, 0x12AB, 0x440C, 0x12B0, 0xD970, 0x407C, 0x00A1, 0x12AB, 0x412C,
+0x12B0, 0xD97A, 0x403C, 0x0501, 0x12A9, 0x435C, 0x12AA, 0x12B0, 0xD5D2,
+0xB0B1, 0x0010, 0x0004, 0x280B, 0x411E, 0x000A, 0x411F, 0x000C, 0x503E,
+0xFFFE, 0x633F, 0x4E81, 0x000A, 0x4F81, 0x000C, 0x411C, 0x000A, 0x411D,
+0x000C, 0x12B0, 0xCAC0, 0x4C05, 0xF035, 0x0F00, 0x5035, 0x0080, 0x4191,
+0x000A, 0x0000, 0x4074, 0x0028, 0x444C, 0x12AB, 0x430C, 0x12A9, 0x434C,
+0x12AA, 0x12B0, 0xDA7E, 0x450C, 0x12B0, 0xD97A, 0x403C, 0x1400, 0x12B0,
+0xD5CC, 0x412C, 0x12A9, 0x12B0, 0xD5D2, 0x403C, 0x4303, 0x12B0, 0xD90C,
+0x430C, 0x430D, 0x1292, 0x171A, 0x9381, 0x0002, 0x240B, 0x12B0, 0xD8E4,
+0x12B0, 0xDA7E, 0x411C, 0x0002, 0x12B0, 0xD90C, 0x444C, 0x12AB, 0x3C0A,
+0x435C, 0x12AA, 0x12B0, 0xD8E4, 0x474C, 0x12AB, 0x444C, 0x12AB, 0x434C,
+0x12AA, 0x430C, 0x12A9, 0xB32C, 0x2805, 0x464C, 0x12AB, 0x403C, 0x0403,
+0x12A9, 0x435C, 0x12AA, 0x407C, 0x0030, 0x12AB, 0x411C, 0x000E, 0x12A9,
+0x4037, 0x171C, 0x403A, 0x1540, 0x4038, 0x0014, 0x9381, 0x0006, 0x241E,
+0x9382, 0x16E2, 0x2407, 0x12B0, 0xD394, 0xD21C, 0x16E6, 0x12A9, 0x480C,
+0x12AA, 0x421F, 0x16D2, 0xD21F, 0x16D4, 0x930F, 0x2435, 0x12B0, 0xD3A6,
+0xC21C, 0x16D2, 0xC21D, 0x16D4, 0xD21C, 0x16DA, 0xD21D, 0x16DC, 0x12A7,
+0x480C, 0x12AA, 0x3C27, 0x444C, 0x12AB, 0x4C46, 0x9382, 0x16E2, 0x2407,
+0x12B0, 0xD394, 0xD21C, 0x16E8, 0x12A9, 0x480C, 0x12AA, 0x421F, 0x16D2,
+0xD21F, 0x16D4, 0x930F, 0x2409, 0x12B0, 0xD3A6, 0x421C, 0x16DE, 0x421D,
+0x16E0, 0x12A7, 0x480C, 0x12AA, 0x9076, 0x0099, 0x2008, 0x407C, 0x00F4,
+0x12AB, 0x430C, 0x12A9, 0xF03C, 0xFF7F, 0x12A9, 0x4392, 0x167C, 0x407C,
+0x00A8, 0x12AB, 0x9381, 0x0008, 0x2402, 0x1292, 0x153C, 0x430C, 0x5801,
+0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
+0x1205, 0x8031, 0x0016, 0x403B, 0x16F4, 0x410C, 0x503C, 0x000A, 0x12B0,
+0xD862, 0x2403, 0x403C, 0xFFE8, 0x3D24, 0x410C, 0x523C, 0x12B0, 0xD862,
+0x2403, 0x403C, 0xFFE7, 0x3D1C, 0x410C, 0x503C, 0x0012, 0x4B2F, 0x129F,
+0x0018, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3D11, 0x410C, 0x503C, 0x0006,
+0x12B0, 0xD862, 0x2403, 0x403C, 0xFFE5, 0x3D08, 0x410C, 0x522C, 0x12B0,
+0xD862, 0x2403, 0x403C, 0xFFE4, 0x3D00, 0x410C, 0x532C, 0x12B0, 0xD862,
+0x2403, 0x403C, 0xFFE3, 0x3CF8, 0x410C, 0x530C, 0x4B2F, 0x129F, 0x0016,
+0x933C, 0x2002, 0x4381, 0x0000, 0x432C, 0x4B2F, 0x129F, 0x001C, 0x4117,
+0x0006, 0x403A, 0x1712, 0x4076, 0x00C8, 0x464C, 0x12AA, 0x403B, 0x1718,
+0x403C, 0x3401, 0x12AB, 0x4078, 0x0082, 0x484C, 0x12AA, 0x403C, 0x4032,
+0x12AB, 0x4039, 0x1726, 0x12B0, 0xD2CE, 0x470C, 0x12AB, 0x12B0, 0xD2CE,
+0x403C, 0x3FFD, 0x12B0, 0xDB48, 0x407C, 0x0042, 0x12B0, 0xDA68, 0x12B0,
+0xD670, 0x4117, 0x0008, 0x4114, 0x000A, 0x484C, 0x12AA, 0x403C, 0x3FFF,
+0x12B0, 0xDB48, 0x464C, 0x12AA, 0x403C, 0x2409, 0x12B0, 0xD86C, 0x407C,
+0x0048, 0x12AA, 0x427C, 0x1292, 0x1716, 0x407C, 0x00C1, 0x12AA, 0x440C,
+0x12AB, 0x407C, 0x00A1, 0x12AA, 0x470C, 0x12B0, 0xD86C, 0x12B0, 0xD8D0,
+0x4077, 0x0021, 0x12B0, 0xDA66, 0x4114, 0x0012, 0x464C, 0x12AA, 0x403C,
+0x3401, 0x12AB, 0x484C, 0x12AA, 0x403C, 0x4030, 0x12B0, 0xDABE, 0x440C,
+0x12B0, 0xDABE, 0x474C, 0x12AA, 0x12B0, 0xD670, 0x4381, 0x000C, 0x4381,
+0x000E, 0x4381, 0x0010, 0x4076, 0x0090, 0x464C, 0x12AA, 0x403C, 0x0003,
+0x12B0, 0xDB24, 0x4C81, 0x000C, 0x403C, 0x000B, 0x12B0, 0xDB24, 0x4C04,
+0x4C81, 0x000E, 0x403C, 0x0013, 0x12B0, 0xDB24, 0x4C05, 0x4C81, 0x0010,
+0x432C, 0x12B0, 0xDB24, 0x403C, 0x000A, 0x12B0, 0xDB24, 0x403C, 0x0012,
+0x12B0, 0xDB24, 0x432C, 0x12AB, 0x411C, 0x000C, 0x12AB, 0x403C, 0x000A,
+0x12AB, 0x440C, 0x12AB, 0x403C, 0x0012, 0x12AB, 0x450C, 0x12AB, 0x421F,
+0x16CA, 0xD21F, 0x16CC, 0x930F, 0x242D, 0x9382, 0x16CE, 0x2410, 0x464C,
+0x12AA, 0x403C, 0x0089, 0x12B0, 0xDB24, 0x4C04, 0x464C, 0x12AA, 0x403C,
+0x0088, 0x12AB, 0xF034, 0xFFEF, 0x440C, 0x12AB, 0x93A2, 0x16CA, 0x200A,
+0x9382, 0x16CC, 0x2007, 0x464C, 0x12AA, 0x480C, 0x12AB, 0x403C, 0x000F,
+0x12AB, 0x90B2, 0x0003, 0x16CA, 0x2009, 0x9382, 0x16CC, 0x2006, 0x464C,
+0x12AA, 0x480C, 0x12AB, 0x423C, 0x12AB, 0x407C, 0x0030, 0x12AA, 0x411C,
+0x0004, 0x12AB, 0x9381, 0x0002, 0x2409, 0x484C, 0x12AA, 0x411C, 0x0002,
+0x12B0, 0xDB48, 0x12B0, 0xDA66, 0x3C02, 0x474C, 0x12AA, 0x4392, 0x167C,
+0x407C, 0x00A8, 0x12AA, 0x9381, 0x0000, 0x2402, 0x1292, 0x153C, 0x430C,
+0x5031, 0x0016, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x1207, 0x1204, 0x1205, 0x8031, 0x0026, 0x4381, 0x0002, 0x4381, 0x0008,
+0x4381, 0x0006, 0x4381, 0x000A, 0x410C, 0x532C, 0x421F, 0x16F4, 0x129F,
+0x0016, 0x410C, 0x523C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x410C, 0x503C,
+0x0006, 0x421F, 0x16F4, 0x129F, 0x0016, 0x410C, 0x503C, 0x000A, 0x421F,
+0x16F4, 0x129F, 0x0016, 0x432C, 0x421F, 0x16F4, 0x129F, 0x001C, 0x933C,
+0x2422, 0x1292, 0x172C, 0x907C, 0x0046, 0x2404, 0x407C, 0x0046, 0x1292,
+0x1712, 0x9382, 0x167C, 0x2018, 0x9381, 0x0002, 0x24E9, 0x422C, 0x421F,
+0x16F4, 0x129F, 0x0008, 0x430C, 0x430D, 0x421F, 0x16F4, 0x129F, 0x000A,
+0x430C, 0x430D, 0x421F, 0x16F4, 0x129F, 0x000A, 0x430C, 0x3CD7, 0x433C,
+0x3CD5, 0x433C, 0x433D, 0x433E, 0x433F, 0x1292, 0x1720, 0x4C08, 0x4D09,
+0x4E0A, 0x4F0B, 0x9382, 0x167C, 0x2423, 0x9381, 0x0008, 0x2420, 0xB03F,
+0x4000, 0x2C18, 0xB03F, 0x0400, 0x2815, 0x431C, 0x421F, 0x16F4, 0x129F,
+0x0008, 0x480C, 0x490D, 0x421F, 0x16F4, 0x129F, 0x000A, 0x4A0C, 0x4B0D,
+0x421F, 0x16F4, 0x129F, 0x000A, 0x4382, 0x167C, 0x431F, 0x3C01, 0x432F,
+0x931F, 0x2002, 0x431C, 0x3CA5, 0x9382, 0x167C, 0x2003, 0x9381, 0x0002,
+0x249E, 0x9381, 0x0006, 0x249B, 0x4B0F, 0x108F, 0x4F4C, 0xF07C, 0x00C0,
+0x907C, 0x0040, 0x2493, 0x4191, 0x0002, 0x0000, 0x4381, 0x0004, 0xB03B,
+0x4000, 0x2C1D, 0x930B, 0x3806, 0x4B0F, 0xF03F, 0x8300, 0x903F, 0x8300,
+0x2015, 0x407C, 0x0086, 0x1292, 0x1712, 0x907C, 0x0099, 0x200E, 0x422C,
+0x1292, 0x1718, 0x903C, 0x1207, 0x2008, 0x430C, 0x1292, 0x1718, 0x903C,
+0xA55A, 0x2002, 0x4391, 0x0004, 0x9381, 0x0000, 0x2012, 0x403F, 0x167E,
+0x4F34, 0x4F35, 0x4F36, 0x4F37, 0xF037, 0x4000, 0x4B0F, 0xF03F, 0x4000,
+0x9F07, 0x2005, 0x9381, 0x0004, 0x2002, 0x432C, 0x3C48, 0x422C, 0x421F,
+0x16F4, 0x129F, 0x0008, 0x480C, 0x490D, 0x421F, 0x16F4, 0x129F, 0x000A,
+0x4A0C, 0x4B0D, 0x421F, 0x16F4, 0x129F, 0x000A, 0xB03B, 0x4000, 0x2C03,
+0x9381, 0x0000, 0x2406, 0x9381, 0x0004, 0x242D, 0x9381, 0x0000, 0x202A,
+0x410C, 0x503C, 0x000C, 0x403E, 0x25A2, 0x423D, 0x12B0, 0xD3B6, 0x42D1,
+0x16EC, 0x000C, 0x42D1, 0x16ED, 0x000D, 0x410F, 0x503F, 0x0014, 0x120F,
+0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x000E, 0x4217, 0x16F4, 0x1297,
+0x000E, 0x403C, 0x0003, 0x1292, 0x1234, 0x410C, 0x503C, 0x0016, 0x421F,
+0x16F4, 0x129F, 0x0010, 0x4382, 0x167C, 0x5321, 0x431C, 0x9381, 0x0000,
+0x2402, 0x430C, 0x3C08, 0x4882, 0x167E, 0x4982, 0x1680, 0x4A82, 0x1682,
+0x4B82, 0x1684, 0x931C, 0x2403, 0x930C, 0x2401, 0x432C, 0x5031, 0x0026,
+0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8031,
+0x0060, 0x4336, 0x4308, 0x410C, 0x503C, 0x001C, 0x403E, 0x25DF, 0x403D,
+0x001F, 0x12B0, 0xD3B6, 0x4381, 0x0000, 0x3C07, 0x410C, 0x503C, 0x003C,
+0x580C, 0x129F, 0x0014, 0x5318, 0x403A, 0x16F4, 0x4A2F, 0x9038, 0x0012,
+0x2BF3, 0x410C, 0x530C, 0x129F, 0x0016, 0x4308, 0x3C07, 0x410C, 0x532C,
+0x580C, 0x4A2F, 0x129F, 0x0014, 0x5318, 0x9228, 0x2BF7, 0x4039, 0x0003,
+0x410B, 0x503B, 0x004E, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000,
+0x2815, 0x120B, 0x403F, 0x0016, 0x410E, 0x523E, 0x403D, 0x001F, 0x410C,
+0x503C, 0x001E, 0x4A27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1248, 0x4B0C,
+0x4A2F, 0x129F, 0x0010, 0x5321, 0x120B, 0x430F, 0x430E, 0x403D, 0x0012,
+0x410C, 0x503C, 0x003E, 0x4A27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1238,
+0x4B0C, 0x4A2F, 0x129F, 0x0010, 0x407C, 0x0046, 0x1292, 0x1712, 0x430C,
+0x430D, 0x430E, 0x430F, 0x1292, 0x1720, 0x5321, 0xB03F, 0x4000, 0x2802,
+0x430C, 0x3C9E, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2884,
+0x407C, 0x0046, 0x1292, 0x1712, 0x5318, 0x430C, 0x430D, 0x430E, 0x430F,
+0x1292, 0x1720, 0xB03F, 0x0400, 0x2C03, 0x9038, 0x01F4, 0x2BF3, 0x9038,
+0x01F4, 0x2C82, 0x120B, 0x430F, 0x431E, 0x422D, 0x410C, 0x522C, 0x4A27,
+0x1297, 0x000E, 0x490C, 0x1292, 0x1234, 0x4C06, 0x4B0C, 0x4A2F, 0x129F,
+0x0010, 0x40F1, 0x0005, 0x001E, 0x43C1, 0x001F, 0x41D1, 0x0008, 0x0020,
+0x41D1, 0x0009, 0x0021, 0x41D1, 0x000A, 0x0022, 0x41D1, 0x000B, 0x0023,
+0x43E1, 0x0024, 0x41D1, 0x000C, 0x0025, 0x41D1, 0x000D, 0x0026, 0x41D1,
+0x000E, 0x0027, 0x41D1, 0x000F, 0x0028, 0x42E1, 0x0029, 0x41D1, 0x0010,
+0x002A, 0x41D1, 0x0011, 0x002B, 0x41D1, 0x0012, 0x002C, 0x41D1, 0x0013,
+0x002D, 0x40F1, 0x0006, 0x002E, 0x41D1, 0x0014, 0x002F, 0x41D1, 0x0015,
+0x0030, 0x41D1, 0x0016, 0x0031, 0x41D1, 0x0017, 0x0032, 0x40F1, 0x0080,
+0x0033, 0x41D1, 0x0018, 0x0034, 0x41D1, 0x0019, 0x0035, 0x41D1, 0x001A,
+0x0036, 0x41D1, 0x001B, 0x0037, 0x120B, 0x430F, 0x430E, 0x403D, 0x001F,
+0x410C, 0x503C, 0x0020, 0x4A27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1248,
+0x4B0C, 0x4A2F, 0x129F, 0x0010, 0x5221, 0x3C12, 0x120B, 0x430F, 0x431E,
+0x422D, 0x410C, 0x522C, 0x4A27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1234,
+0x4C06, 0x4B0C, 0x4A2F, 0x129F, 0x0010, 0x5321, 0x460C, 0x5031, 0x0060,
+0x4030, 0xD31A, 0x444C, 0x12A8, 0x403C, 0x0034, 0x12AB, 0x4030, 0x6F64,
+0x12B0, 0x6F40, 0x407C, 0x0048, 0x4820, 0x12B0, 0x6F40, 0x407C, 0x00C1,
+0x4820, 0x464C, 0x12A8, 0x403C, 0x3FFF, 0x12AB, 0x434C, 0x12AA, 0x494C,
+0x12A8, 0x403C, 0x2409, 0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12B0,
+0x7022, 0x464C, 0x12A8, 0x435C, 0x4A20, 0x4214, 0x1650, 0xD034, 0x0040,
+0x12B0, 0x6F8E, 0x12A8, 0x440C, 0x12AB, 0x435C, 0x4A20, 0x12B0, 0x6F8E,
+0x12A8, 0x411C, 0x0002, 0x3FF7, 0x12B0, 0x7118, 0x403C, 0x012C, 0x430D,
+0x1292, 0x171A, 0x407C, 0x00A1, 0x4130, 0x12B0, 0x6F60, 0x403C, 0x3FFD,
+0x12B0, 0x7022, 0x12B0, 0x7000, 0x4A20, 0x12B0, 0x7012, 0x4C81, 0x0002,
+0x12B0, 0x6FF4, 0x4C81, 0x0004, 0x12B0, 0x7000, 0x12AA, 0x411E, 0x0002,
+0x411F, 0x0004, 0x4130, 0x12B0, 0x7012, 0x4C81, 0x0004, 0x12B0, 0x6FF4,
+0x4C81, 0x0002, 0x12B0, 0x7000, 0x12AA, 0x411E, 0x0004, 0x411F, 0x0002,
+0x4130, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x430C, 0x4B20, 0x434C, 0x12AA,
+0x444C, 0x12A8, 0x407C, 0x0024, 0x12A7, 0x435C, 0x4130, 0x12B0, 0x6F60,
+0x403C, 0x00FC, 0x12B0, 0x7022, 0x430C, 0x4B20, 0x12AB, 0x434C, 0x12AA,
+0x407C, 0x0042, 0x4030, 0x6F66, 0x431C, 0x1292, 0x1540, 0x454C, 0x12A8,
+0x430C, 0x430D, 0x1292, 0x171A, 0x411F, 0x0006, 0x533F, 0x4F81, 0x0006,
+0x421E, 0x162A, 0x4130, 0x4E81, 0x000A, 0x4381, 0x000C, 0x444C, 0x12A8,
+0x407C, 0x0034, 0x12A7, 0x464C, 0x12A8, 0x403C, 0x0080, 0x12AB, 0x434C,
+0x12AA, 0x435C, 0x12AA, 0x411C, 0x000A, 0x12AB, 0x434C, 0x12AA, 0x435C,
+0x12AA, 0x454C, 0x12A8, 0x3F92, 0x12B0, 0x710A, 0x12B0, 0x70FE, 0x4C81,
+0x0002, 0x12B0, 0x7138, 0x4130, 0x403C, 0x0003, 0x1292, 0x11E8, 0x410C,
+0x503C, 0x0038, 0x421F, 0x16F4, 0x129F, 0x0010, 0x403C, 0x1630, 0x12B0,
+0x9BB0, 0x4291, 0x164C, 0x0004, 0x12B0, 0x7118, 0x403C, 0x0128, 0x12B0,
+0x7128, 0x4291, 0x164E, 0x0004, 0x12B0, 0x7118, 0x403C, 0x012A, 0x12B0,
+0x7128, 0x4291, 0x1650, 0x0004, 0x12B0, 0x7118, 0x403C, 0x012C, 0x12B0,
+0x7128, 0x12B0, 0x710A, 0x12B0, 0x70FE, 0x4C81, 0x0004, 0x3FCC, 0x12B0,
+0xDB30, 0x12B0, 0x6F58, 0x430C, 0x4B20, 0x12B0, 0x6F40, 0x12B0, 0x6F3A,
+0x403C, 0x012C, 0x4130, 0x12B0, 0x6F40, 0x407C, 0x0048, 0x12A8, 0x427C,
+0x12A7, 0x3F09, 0x12B0, 0x6F96, 0x12A8, 0x411C, 0x0006, 0x12AB, 0x435C,
+0x12AA, 0x434C, 0x12AA, 0x494C, 0x12A8, 0x403C, 0x2401, 0x12AB, 0x454C,
+0x3F0E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031,
+0x0014, 0x403B, 0x16F4, 0x410C, 0x503C, 0x000E, 0x12B0, 0xD8DA, 0x2403,
+0x403C, 0xFFE8, 0x3CE9, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD8DA, 0x2403,
+0x403C, 0xFFE7, 0x3CE0, 0x410C, 0x503C, 0x0010, 0x4B2F, 0x129F, 0x0018,
+0x930C, 0x2403, 0x403C, 0xFFE6, 0x3CD5, 0x410C, 0x503C, 0x000A, 0x12B0,
+0xD8DA, 0x2403, 0x403C, 0xFFE5, 0x3CCC, 0x410C, 0x523C, 0x12B0, 0xD8DA,
+0x2403, 0x403C, 0xFFE4, 0x3CC4, 0x410C, 0x532C, 0x12B0, 0xD8DA, 0x2403,
+0x403C, 0xFFE3, 0x3CBC, 0x410C, 0x530C, 0x4B2F, 0x129F, 0x0016, 0x933C,
+0x2002, 0x4381, 0x0000, 0x432C, 0x4B2F, 0x129F, 0x001C, 0x4191, 0x000A,
+0x0004, 0x4381, 0x0006, 0x403A, 0x1712, 0x4074, 0x0088, 0x444C, 0x12AA,
+0x403B, 0x1716, 0x407C, 0x0034, 0x12AB, 0x4078, 0x0082, 0x484C, 0x12AA,
+0x4039, 0x1726, 0x435C, 0x12A9, 0x4036, 0x1718, 0x480C, 0x12B0, 0xCA8A,
+0x411C, 0x0004, 0x12B0, 0xCA8A, 0x403C, 0x3FFD, 0x12B0, 0xCA7A, 0x407C,
+0x0042, 0x12B0, 0xCA6C, 0x12B0, 0xD33A, 0x4117, 0x000C, 0x4191, 0x000E,
+0x0004, 0x4381, 0x0006, 0x484C, 0x12AA, 0x403C, 0x3FFF, 0x12A6, 0x12B0,
+0xCA80, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12A9, 0x434C, 0x12A9, 0x407C,
+0x0048, 0x12AA, 0x427C, 0x12AB, 0x407C, 0x00C1, 0x12AA, 0x411C, 0x0004,
+0x430D, 0x1292, 0x171A, 0x407C, 0x00A1, 0x12AA, 0x470C, 0x12A6, 0x435C,
+0x12A9, 0x12B0, 0xCA80, 0x403C, 0x2401, 0x12A6, 0x4077, 0x0021, 0x12B0,
+0xCA6A, 0x4191, 0x0010, 0x0004, 0x4191, 0x0012, 0x0006, 0x444C, 0x12AA,
+0x407C, 0x0034, 0x12AB, 0x484C, 0x12AA, 0x411C, 0x0004, 0x411D, 0x0006,
+0x12B0, 0xCAC0, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x12B0, 0xCA72, 0x411C,
+0x0004, 0x12B0, 0xCA72, 0x474C, 0x12AA, 0x12B0, 0xD33A, 0x93A2, 0x16CA,
+0x200F, 0x9382, 0x16CC, 0x200C, 0x407C, 0x00B0, 0x12AA, 0x480C, 0x430D,
+0x1292, 0x171C, 0x403C, 0x000F, 0x430D, 0x1292, 0x171C, 0x407C, 0x0030,
+0x12AA, 0x411C, 0x0008, 0x12A6, 0x9381, 0x0002, 0x2409, 0x484C, 0x12AA,
+0x411C, 0x0002, 0x12B0, 0xCA7A, 0x12B0, 0xCA6A, 0x3C02, 0x474C, 0x12AA,
+0x4392, 0x167C, 0x407C, 0x00A8, 0x12AA, 0x9381, 0x0000, 0x2402, 0x1292,
+0x153C, 0x430C, 0x5031, 0x0014, 0x4030, 0xD318, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x1204, 0x8031, 0x0060, 0x433A, 0x4309, 0x410C,
+0x503C, 0x0018, 0x403E, 0x25FE, 0x403D, 0x001F, 0x12B0, 0xD3B6, 0x4381,
+0x0000, 0x403B, 0x16F4, 0x410C, 0x503C, 0x003C, 0x590C, 0x4B2F, 0x129F,
+0x0014, 0x5319, 0x9039, 0x0012, 0x2BF5, 0x410C, 0x530C, 0x4B2F, 0x129F,
+0x0016, 0x4309, 0x4108, 0x5038, 0x0038, 0x480C, 0x590C, 0x4B2F, 0x129F,
+0x0014, 0x5319, 0x9229, 0x2BF8, 0x4036, 0x0003, 0x4107, 0x5037, 0x004E,
+0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2813, 0x1207, 0x403F,
+0x0016, 0x410E, 0x522E, 0x403D, 0x001F, 0x410C, 0x503C, 0x001A, 0x4B24,
+0x1294, 0x000E, 0x460C, 0x1292, 0x1248, 0x12B0, 0xD42E, 0x5321, 0x1207,
+0x430F, 0x430E, 0x403D, 0x0012, 0x410C, 0x503C, 0x003E, 0x4B24, 0x1294,
+0x000E, 0x460C, 0x1292, 0x1238, 0x12B0, 0xD42E, 0x5321, 0xB0F1, 0x0010,
+0x0044, 0x2803, 0xB2A1, 0x0000, 0x2872, 0x407C, 0x00D0, 0x1292, 0x1712,
+0x5319, 0x430C, 0x1292, 0x1718, 0x934C, 0x3803, 0x9039, 0x01F4, 0x2BF7,
+0x9039, 0x01F4, 0x2C80, 0x1207, 0x12B0, 0xD4EC, 0x12B0, 0xD426, 0x40F1,
+0x0005, 0x001A, 0x43C1, 0x001B, 0x41D1, 0x0004, 0x001C, 0x41D1, 0x0005,
+0x001D, 0x41D1, 0x0006, 0x001E, 0x41D1, 0x0007, 0x001F, 0x43E1, 0x0020,
+0x41D1, 0x0008, 0x0021, 0x41D1, 0x0009, 0x0022, 0x41D1, 0x000A, 0x0023,
+0x41D1, 0x000B, 0x0024, 0x42E1, 0x0025, 0x41D1, 0x000C, 0x0026, 0x41D1,
+0x000D, 0x0027, 0x41D1, 0x000E, 0x0028, 0x41D1, 0x000F, 0x0029, 0x40F1,
+0x0006, 0x002A, 0x41D1, 0x0010, 0x002B, 0x41D1, 0x0011, 0x002C, 0x41D1,
+0x0012, 0x002D, 0x41D1, 0x0013, 0x002E, 0x40F1, 0x0080, 0x002F, 0x41D1,
+0x0014, 0x0030, 0x41D1, 0x0015, 0x0031, 0x41D1, 0x0016, 0x0032, 0x41D1,
+0x0017, 0x0033, 0x1207, 0x430F, 0x430E, 0x403D, 0x001F, 0x410C, 0x503C,
+0x001C, 0x4B28, 0x1298, 0x000E, 0x460C, 0x1292, 0x1248, 0x12B0, 0xD42E,
+0x5221, 0x3C1E, 0x407C, 0x0028, 0x1292, 0x1712, 0x907C, 0x0089, 0x2411,
+0x907C, 0x008D, 0x240E, 0x907C, 0x0091, 0x240B, 0x907C, 0x0095, 0x2408,
+0x907C, 0x0098, 0x2405, 0x907C, 0x0099, 0x2402, 0x430A, 0x3C06, 0x1207,
+0x12B0, 0xD4EC, 0x12B0, 0xD426, 0x5321, 0x4A0C, 0x5031, 0x0060, 0x4030,
+0xD318, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031,
+0x003C, 0x430A, 0x4306, 0x4307, 0x403B, 0x16F4, 0x410C, 0x503C, 0x0018,
+0x5A0C, 0x4B2F, 0x129F, 0x0014, 0x531A, 0x903A, 0x0012, 0x2BF5, 0x432C,
+0x4B2F, 0x129F, 0x001C, 0x430A, 0x410C, 0x530C, 0x5A0C, 0x4B2F, 0x129F,
+0x0014, 0x531A, 0x922A, 0x2BF7, 0x4038, 0x1712, 0xB0F1, 0x0010, 0x0020,
+0x280A, 0x4226, 0x407C, 0x0028, 0x12A8, 0x430C, 0x1292, 0x1718, 0xB22C,
+0x2C01, 0x4317, 0x407C, 0x00B0, 0x12A8, 0x4039, 0x171C, 0x403C, 0x0003,
+0x12B0, 0xD7B8, 0x4C81, 0x0014, 0x4D81, 0x0016, 0x403C, 0x0005, 0x12B0,
+0xD7B8, 0x4C81, 0x0010, 0x4D81, 0x0012, 0x403C, 0x0007, 0x12B0, 0xD7B8,
+0x4C81, 0x000C, 0x4D81, 0x000E, 0x403C, 0x0081, 0x12B0, 0xD7B8, 0x4C81,
+0x0008, 0x4D81, 0x000A, 0x431C, 0x12B0, 0xD7B8, 0x4C81, 0x0004, 0x4D81,
+0x0006, 0x12B0, 0xD73C, 0x460C, 0x430D, 0x12A9, 0x422C, 0x430D, 0x12A9,
+0x433C, 0x433D, 0x12A9, 0x403C, 0x0006, 0x12B0, 0xD7FE, 0x403C, 0x0080,
+0x12B0, 0xD7FE, 0x4106, 0x5036, 0x002A, 0x1206, 0x430F, 0x430E, 0x403D,
+0x0012, 0x410C, 0x503C, 0x001A, 0x4B24, 0x1294, 0x000E, 0x403C, 0x0003,
+0x1292, 0x11EC, 0x12B0, 0xD812, 0x5321, 0x9304, 0x2055, 0x3C07, 0x4307,
+0x407C, 0x0021, 0x12A8, 0x407C, 0x00A8, 0x12A8, 0x407C, 0x00D0, 0x12A8,
+0x531A, 0x430C, 0x1292, 0x1718, 0x934C, 0x3803, 0x903A, 0x0064, 0x2BF7,
+0x903A, 0x0064, 0x2803, 0x403C, 0xFFCC, 0x3C3C, 0x9307, 0x23E5, 0x12B0,
+0xD73C, 0x411C, 0x0014, 0x411D, 0x0016, 0x12A9, 0x422C, 0x430D, 0x12A9,
+0x411C, 0x0010, 0x411D, 0x0012, 0x12A9, 0x403C, 0x0006, 0x430D, 0x12A9,
+0x411C, 0x000C, 0x411D, 0x000E, 0x12A9, 0x403C, 0x0080, 0x430D, 0x12A9,
+0x411C, 0x0008, 0x411D, 0x000A, 0x12A9, 0x430C, 0x430D, 0x12A9, 0x411C,
+0x0004, 0x411D, 0x0006, 0x12A9, 0x1206, 0x430F, 0x431E, 0x422D, 0x410C,
+0x532C, 0x4B27, 0x1297, 0x000E, 0x403C, 0x0003, 0x1292, 0x11E8, 0x12B0,
+0xD812, 0x5321, 0x440C, 0x5031, 0x003C, 0x4030, 0xD318, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0030, 0x430B,
+0x4304, 0x4306, 0x403A, 0x16F4, 0x410C, 0x503C, 0x000C, 0x5B0C, 0x4A2F,
+0x129F, 0x0014, 0x531B, 0x903B, 0x0012, 0x2BF5, 0x432C, 0x4A2F, 0x129F,
+0x001C, 0x430B, 0x410C, 0x523C, 0x5B0C, 0x4A2F, 0x129F, 0x0014, 0x531B,
+0x922B, 0x2BF7, 0x4038, 0x1718, 0x4039, 0x1712, 0xB0F1, 0x0010, 0x0014,
+0x2809, 0x4224, 0x407C, 0x0028, 0x12A9, 0x430C, 0x12A8, 0xB22C, 0x2C01,
+0x4316, 0x407C, 0x0090, 0x12A9, 0x403C, 0x0003, 0x12B0, 0xDB0C, 0x4C81,
+0x0006, 0x403C, 0x0005, 0x12B0, 0xDB0C, 0x4C81, 0x0004, 0x403C, 0x0007,
+0x12B0, 0xDB0C, 0x4C81, 0x0002, 0x403C, 0x0081, 0x12B0, 0xDB0C, 0x4C81,
+0x0000, 0x431C, 0x12B0, 0xDB0C, 0x4C07, 0x12B0, 0xD876, 0x440C, 0x12A8,
+0x422C, 0x12A8, 0x433C, 0x12A8, 0x403C, 0x0006, 0x12A8, 0x431C, 0x12A8,
+0x403C, 0x0080, 0x12A8, 0x431C, 0x12A8, 0x4104, 0x5034, 0x001E, 0x1204,
+0x430F, 0x430E, 0x403D, 0x0012, 0x410C, 0x503C, 0x000E, 0x4A25, 0x1295,
+0x000E, 0x403C, 0x0003, 0x1292, 0x1198, 0x12B0, 0xD8C6, 0x5321, 0x9305,
+0x2044, 0x3C07, 0x4306, 0x407C, 0x0021, 0x12A9, 0x407C, 0x00A8, 0x12A9,
+0x407C, 0x00D0, 0x12A9, 0x531B, 0x430C, 0x12A8, 0x934C, 0x3803, 0x903B,
+0x0032, 0x2BF8, 0x903B, 0x0032, 0x2803, 0x403C, 0xFFCC, 0x3C2C, 0x9306,
+0x23E6, 0x12B0, 0xD876, 0x411C, 0x0006, 0x12A8, 0x422C, 0x12A8, 0x411C,
+0x0004, 0x12A8, 0x403C, 0x0006, 0x12A8, 0x411C, 0x0002, 0x12A8, 0x403C,
+0x0080, 0x12A8, 0x412C, 0x12B0, 0xDB0C, 0x470C, 0x12A8, 0x1204, 0x430F,
+0x431E, 0x422D, 0x410C, 0x503C, 0x000A, 0x4A2B, 0x129B, 0x000E, 0x403C,
+0x0003, 0x1292, 0x1194, 0x12B0, 0xD8C6, 0x5321, 0x450C, 0x5031, 0x0030,
+0x4030, 0xD316, 0x12B0, 0xCF58, 0x407C, 0x00C1, 0x4820, 0x4215, 0x1590,
+0xD035, 0x0040, 0x12B0, 0x78DC, 0x12A8, 0x450C, 0x4030, 0x78D6, 0x12B0,
+0x78DC, 0x12A8, 0x411C, 0x0002, 0x12AB, 0x435C, 0x4A20, 0x12B0, 0x79B4,
+0x403C, 0x012C, 0x12AB, 0x407C, 0x00A1, 0x4130, 0x12B0, 0x7910, 0x12AA,
+0x494C, 0x12A8, 0x403C, 0x00FE, 0x12B0, 0x7910, 0x12AA, 0x12B0, 0x7A1A,
+0x430C, 0x12AB, 0x4C81, 0x0002, 0x4030, 0x7A30, 0x12AB, 0x434C, 0x12AA,
+0x454C, 0x12A8, 0x435C, 0x4130, 0x12B0, 0x79A6, 0x12B0, 0x798E, 0x4C81,
+0x0002, 0x12B0, 0x79DC, 0x4130, 0x403C, 0x0003, 0x1292, 0x1194, 0x410C,
+0x503C, 0x0028, 0x421F, 0x16F4, 0x129F, 0x0010, 0x403C, 0x157E, 0x12B0,
+0xA042, 0x4291, 0x158C, 0x0004, 0x12B0, 0x79B4, 0x403C, 0x0128, 0x12B0,
+0x79CA, 0x4291, 0x158E, 0x0004, 0x12B0, 0x79B4, 0x403C, 0x012A, 0x12B0,
+0x79CA, 0x4291, 0x1590, 0x0004, 0x12B0, 0x78DC, 0x12B0, 0x79D0, 0x12B0,
+0x79A6, 0x12B0, 0x798E, 0x4C81, 0x0004, 0x3FCE, 0x12B0, 0x799E, 0x435C,
+0x12AA, 0x434C, 0x12AA, 0x430C, 0x4B20, 0x12AB, 0x407C, 0x00A1, 0x4820,
+0x12B0, 0xCF58, 0x12B0, 0x78B2, 0x403C, 0x012C, 0x4130, 0x12B0, 0xCF58,
+0x12B0, 0x79BE, 0x3F7A, 0x407C, 0x0048, 0x12A8, 0x427C, 0x4210, 0x1716,
+0x12AB, 0x407C, 0x00A1, 0x12A8, 0x411C, 0x0006, 0x12AB, 0x435C, 0x12AA,
+0x434C, 0x12AA, 0x464C, 0x12A8, 0x470C, 0x12AB, 0x444C, 0x12A8, 0x435C,
+0x4A20, 0x12B0, 0x7A22, 0x4820, 0x4F81, 0x0002, 0x12B0, 0x7A22, 0x12A8,
+0x403C, 0x4030, 0x12B0, 0x7A18, 0x411C, 0x0002, 0x12B0, 0x7A18, 0x444C,
+0x12A8, 0x4030, 0x7A30, 0x12AB, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x464C,
+0x12A8, 0x403C, 0x3401, 0x12AB, 0x494C, 0x4130, 0x12B0, 0xDADE, 0x470C,
+0x4030, 0x78D6, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
+0x1205, 0x8031, 0x0022, 0x403F, 0x25B2, 0x4FF1, 0x000C, 0x4FF1, 0x000D,
+0x4FF1, 0x000E, 0x4FF1, 0x000F, 0x403A, 0x16F4, 0x410C, 0x530C, 0x4A2F,
+0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFDD, 0x3C9E, 0x410C, 0x523C,
+0x4A2F, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFDC, 0x3C94, 0x410B,
+0x503B, 0x0010, 0x120B, 0x12B0, 0xD298, 0x12B0, 0xD286, 0x5321, 0x9307,
+0x3402, 0x470C, 0x3C87, 0x4038, 0x1712, 0x407C, 0x0048, 0x12A8, 0x435C,
+0x1292, 0x1716, 0x4039, 0x1726, 0x435C, 0x12A9, 0x4077, 0x000A, 0x4036,
+0x1718, 0x12B0, 0xD84E, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2404, 0x12B0,
+0xD562, 0x5377, 0x23F5, 0x4074, 0x0082, 0x4077, 0x00C8, 0x9382, 0x16EE,
+0x242B, 0x4125, 0x8225, 0x474C, 0x12A8, 0x403C, 0x3401, 0x12A6, 0x444C,
+0x12A8, 0x12B0, 0xD55C, 0x450C, 0x12B0, 0xD560, 0x407C, 0x0021, 0x12A8,
+0x12B0, 0xD508, 0x435C, 0x12A9, 0x12B0, 0xD416, 0x403C, 0x3FFF, 0x12A6,
+0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12A9,
+0x434C, 0x12A9, 0x444C, 0x12A8, 0x411C, 0x0004, 0x832C, 0x3C13, 0x12B0,
+0xD416, 0x435C, 0x12A9, 0x12B0, 0xD55C, 0x411C, 0x0004, 0x832C, 0x12B0,
+0xD560, 0x12B0, 0xD562, 0x434C, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x430C,
+0x12A6, 0x407C, 0x0022, 0x12A8, 0x411C, 0x0008, 0x411D, 0x000A, 0x1292,
+0x1728, 0x407C, 0x0062, 0x12A8, 0x430C, 0x12A6, 0x4A2F, 0x129F, 0x0008,
+0x435C, 0x12A9, 0x9382, 0x16EE, 0x2409, 0x12B0, 0xD508, 0x407C, 0x0021,
+0x12A8, 0x435C, 0x12A9, 0x12B0, 0xD84E, 0x120B, 0x12B0, 0xD298, 0x12B0,
+0xD286, 0x470C, 0x5321, 0x5031, 0x0022, 0x4030, 0xD316, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x120C, 0x8231, 0x4381,
+0x0004, 0x403A, 0x1726, 0x403B, 0x1718, 0x4038, 0x1712, 0x4074, 0x0021,
+0x4079, 0x00C8, 0x4077, 0x0082, 0x4036, 0x16F4, 0xB31C, 0x2851, 0x403C,
+0x1698, 0x462F, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3C8F,
+0x403C, 0x1694, 0x462F, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA,
+0x3C85, 0x407C, 0x0028, 0x12A8, 0x4C4C, 0x4C82, 0x16A0, 0x421C, 0x1698,
+0x421D, 0x169A, 0x12B0, 0xCAC0, 0xF03C, 0x0F00, 0x503C, 0x0080, 0x4C82,
+0x169C, 0x4292, 0x1698, 0x1698, 0x4382, 0x169A, 0x4291, 0x1698, 0x0006,
+0x4C05, 0x407C, 0x0028, 0x12A8, 0x430C, 0x12B0, 0xDB12, 0x474C, 0x12A8,
+0x435C, 0x12AA, 0x450C, 0x12B0, 0xDB12, 0x12B0, 0xD138, 0x411C, 0x0006,
+0x12B0, 0xDB12, 0x435C, 0x12AA, 0x403C, 0x4303, 0x12B0, 0xDB12, 0x12B0,
+0xD456, 0x403C, 0x0500, 0x12B0, 0xDAB8, 0x407C, 0x00C2, 0x12A8, 0xB3A1,
+0x0008, 0x2C05, 0x12B0, 0xD8A8, 0x462F, 0x129F, 0x0002, 0x410D, 0x530D,
+0x410C, 0x532C, 0x462F, 0x129F, 0x001A, 0x3C12, 0x435C, 0x12AA, 0x411F,
+0x0002, 0x53A1, 0x0002, 0x4F2C, 0x12AB, 0x412F, 0x832F, 0x4F81, 0x0000,
+0x434C, 0x12AA, 0x53B2, 0x1694, 0x63B2, 0x1696, 0x421F, 0x1694, 0xD21F,
+0x1696, 0x930F, 0x2403, 0x9381, 0x0000, 0x23E5, 0x4035, 0x0501, 0xB3A1,
+0x0008, 0x2808, 0x12B0, 0xC356, 0x421C, 0x169E, 0x462F, 0x129F, 0x0008,
+0x3C0E, 0x421F, 0x1694, 0xD21F, 0x1696, 0x930F, 0x2403, 0x12B0, 0xD8A8,
+0x3C05, 0x12B0, 0xC356, 0x40B1, 0xFFF6, 0x0004, 0x411C, 0x0004, 0x5031,
+0x000A, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
+0x1204, 0x1205, 0x8031, 0x0040, 0x410C, 0x503C, 0x001A, 0x403E, 0x25BA,
+0x403D, 0x0025, 0x12B0, 0xD3B6, 0x42D1, 0x16EC, 0x001A, 0x42D1, 0x16ED,
+0x001B, 0x403A, 0x16F4, 0x410C, 0x530C, 0x4A2F, 0x129F, 0x0018, 0x410C,
+0x522C, 0x4A2F, 0x129F, 0x0018, 0x430F, 0x410B, 0x503B, 0x001A, 0x4B07,
+0x5F07, 0x4FD7, 0x1740, 0x0005, 0x531F, 0x903F, 0x0020, 0x3BF7, 0x4107,
+0x5237, 0x1207, 0x430F, 0x430E, 0x403D, 0x0025, 0x4B0C, 0x4A28, 0x1298,
+0x000E, 0x12B0, 0xD3E6, 0x411C, 0x0002, 0x411D, 0x0004, 0x12B0, 0xCAC0,
+0x4C04, 0xF034, 0x0F00, 0x5034, 0x0080, 0x4115, 0x0002, 0x4038, 0x1712,
+0x407C, 0x0028, 0x12A8, 0x4039, 0x1718, 0x430C, 0x12A9, 0x4036, 0x1726,
+0x434C, 0x12A6, 0x12B0, 0xD9F8, 0x435C, 0x12A6, 0x440C, 0x12A9, 0x434C,
+0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x1400, 0x12B0, 0xD9F6, 0x434C,
+0x12A6, 0x435C, 0x12A6, 0x450C, 0x12A9, 0x434C, 0x12A6, 0x435C, 0x12A6,
+0x403C, 0x4303, 0x12A9, 0x434C, 0x12A6, 0x407C, 0x0021, 0x12A8, 0x430C,
+0x430D, 0x1292, 0x171A, 0x435C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C,
+0x0501, 0x12B0, 0xD9F6, 0x411C, 0x0002, 0x832C, 0x12A9, 0x407C, 0x0022,
+0x12A8, 0x411C, 0x0006, 0x411D, 0x0008, 0x1292, 0x1728, 0x407C, 0x0062,
+0x12A8, 0x430C, 0x12A9, 0x4A2F, 0x129F, 0x0008, 0x430F, 0x5321, 0x4B0E,
+0x5F0E, 0x4FDE, 0x1740, 0x0005, 0x531F, 0x903F, 0x0020, 0x3BF7, 0x1207,
+0x430F, 0x430E, 0x403D, 0x0025, 0x4B0C, 0x4A2B, 0x129B, 0x000E, 0x12B0,
+0xD3E6, 0x430C, 0x5031, 0x0042, 0x4030, 0xD316, 0x12AB, 0x435C, 0x12AA,
+0x434C, 0x4A20, 0x431C, 0x1292, 0x1540, 0x430C, 0x12AB, 0x411F, 0x0006,
+0x533F, 0x4F81, 0x0006, 0x421F, 0x1600, 0x4130, 0x12AB, 0x4030, 0x7F8A,
+0x12B0, 0x7FBA, 0x4B20, 0x12B0, 0xD8F8, 0x435C, 0x12AA, 0x464C, 0x4820,
+0x464C, 0x12A8, 0x403C, 0x3FFF, 0x12AB, 0x434C, 0x12AA, 0x494C, 0x12A8,
+0x403C, 0x2409, 0x12AB, 0x3FD6, 0x464C, 0x12A8, 0x403C, 0x4030, 0x12AB,
+0x435C, 0x12AA, 0x434C, 0x12AA, 0x411C, 0x0002, 0x12AB, 0x12B0, 0xDACE,
+0x434C, 0x12AA, 0x407C, 0x00A8, 0x12A8, 0x454C, 0x4820, 0x12B0, 0x7EDA,
+0x12B0, 0x7F2C, 0x403C, 0x012A, 0x4130, 0x407C, 0x0048, 0x12A8, 0x427C,
+0x1292, 0x1716, 0x407C, 0x00C1, 0x4820, 0x12B0, 0x7F90, 0x12AB, 0x407C,
+0x00A1, 0x12A8, 0x411C, 0x0002, 0x4130, 0x494C, 0x12A8, 0x403C, 0x3401,
+0x12AB, 0x464C, 0x4820, 0x12B0, 0x7ECE, 0x403C, 0x3FFD, 0x12B0, 0xDA8E,
+0x12AA, 0x12B0, 0xDA9E, 0x4A20, 0x12B0, 0x7F90, 0x12B0, 0x7F88, 0x440C,
+0x12AB, 0x435C, 0x12AA, 0x12B0, 0x7FC6, 0x4A20, 0x12AB, 0x407C, 0x00A1,
+0x4820, 0x12B0, 0x7EDA, 0x12B0, 0x7F2C, 0x403C, 0x012C, 0x4130, 0x12B0,
+0x7FD2, 0x4820, 0x12B0, 0x7FD2, 0x12A8, 0x403C, 0x012C, 0x12B0, 0x7FBA,
+0x12AB, 0x4C81, 0x0002, 0x3FE4, 0x12B0, 0x7F88, 0x12B0, 0x7EA0, 0x430C,
+0x4130, 0x12B0, 0xD688, 0x454C, 0x12A8, 0x435C, 0x4130, 0x12B0, 0x7EDA,
+0x407C, 0x00C1, 0x4130, 0x12B0, 0xDA8E, 0x12AA, 0x464C, 0x12A8, 0x403C,
+0x00FE, 0x12AB, 0x434C, 0x12AA, 0x444C, 0x12A8, 0x12B0, 0xDACE, 0x430C,
+0x12AB, 0x4C81, 0x0002, 0x3FB5, 0xE03F, 0x8000, 0x1206, 0x4D06, 0x5606,
+0x9036, 0xFF01, 0x2CA7, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0E, 0x4D06,
+0x5606, 0x9036, 0xFF00, 0x200B, 0x4F06, 0x5606, 0x9036, 0xFF00, 0x2098,
+0x4D06, 0xEF06, 0x5606, 0x2894, 0x433D, 0x3C92, 0x4F06, 0x5606, 0x9036,
+0xFF00, 0x2407, 0xB03F, 0x7FFF, 0x2007, 0x4D06, 0x5606, 0x2087, 0x2886,
+0x4E0C, 0x4F0D, 0x3C83, 0xB03D, 0x7FFF, 0x27FA, 0x1209, 0x1208, 0x1207,
+0x4D06, 0x4F07, 0x5606, 0x5707, 0x9607, 0x2809, 0x2002, 0x9C0E, 0x2806,
+0xED0F, 0xEF0D, 0xED0F, 0xEC0E, 0xEE0C, 0xEC0E, 0x4F06, 0x5606, 0x6909,
+0x1086, 0xD07F, 0x0080, 0x4D08, 0x5808, 0x6909, 0x1088, 0xF378, 0xD07D,
+0x0080, 0x4307, 0x8846, 0x2415, 0x9076, 0xFFF1, 0x2C0D, 0x9076, 0xFFE8,
+0x2846, 0x4E07, 0x4F0E, 0x430F, 0x5076, 0x0010, 0x2409, 0x9347, 0x2402,
+0xD037, 0x0100, 0x110F, 0x100E, 0x1007, 0x5356, 0x23FB, 0x4906, 0x1106,
+0xE906, 0xB316, 0x242F, 0xE337, 0x5317, 0x7E0C, 0x7F4D, 0x2010, 0x930C,
+0x2007, 0x9307, 0x2438, 0x1087, 0x474D, 0x8038, 0x0018, 0x3C06, 0x108C,
+0x4C4D, 0xED0C, 0x1087, 0xD70C, 0x8238, 0x4307, 0x5707, 0x6C0C, 0x6D4D,
+0x2C09, 0x8318, 0x5707, 0x6C0C, 0x6D4D, 0x2C04, 0x8318, 0x5C0C, 0x6D4D,
+0x2BFC, 0x9318, 0x3411, 0x430D, 0x3C05, 0x5358, 0x9378, 0x200C, 0x403D,
+0xFF00, 0x430C, 0x1009, 0x100D, 0x3C12, 0x5E0C, 0x6F4D, 0x2FF4, 0x5707,
+0x6C0C, 0x6D4D, 0x1088, 0xD80D, 0x1009, 0x100D, 0x100C, 0x2806, 0x9307,
+0x2002, 0xB31C, 0x2402, 0x531C, 0x630D, 0x4137, 0x4138, 0x4139, 0x4136,
+0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
+0x8031, 0x0006, 0x403A, 0x1712, 0x407C, 0x0028, 0x12AA, 0x4C44, 0x4316,
+0x403B, 0x1718, 0x4038, 0x1726, 0x4079, 0x00C8, 0x4077, 0x0082, 0x3C03,
+0x9326, 0x2001, 0x4226, 0x4645, 0x1085, 0xF035, 0x0F00, 0x5035, 0x0060,
+0x407C, 0x0028, 0x12AA, 0x907C, 0x0098, 0x2403, 0x403F, 0x018C, 0x3C02,
+0x403F, 0x014C, 0x4F81, 0x0000, 0x12B0, 0xD37A, 0x450C, 0x12AB, 0x494C,
+0x12AA, 0x403C, 0x1401, 0x12B0, 0xD620, 0x9382, 0x16EA, 0x2403, 0x403C,
+0x0FF6, 0x3C01, 0x412C, 0x12AB, 0x12B0, 0xD626, 0x403C, 0x3FFD, 0x12AB,
+0x434C, 0x12A8, 0x9382, 0x16EA, 0x2402, 0x12B0, 0xD89E, 0x12B0, 0xD370,
+0x430C, 0x12AB, 0x4C81, 0x0000, 0x12B0, 0xD626, 0x430C, 0x12AB, 0x4C05,
+0x12B0, 0xD626, 0x12B0, 0xD626, 0x12B0, 0xD626, 0x9382, 0x16EA, 0x2002,
+0x12B0, 0xD89E, 0x434C, 0x12A8, 0x12B0, 0xD370, 0x41A1, 0x0002, 0x4581,
+0x0004, 0x403D, 0x0003, 0x410C, 0x532C, 0x421F, 0x16F4, 0x129F, 0x0006,
+0x9074, 0x0091, 0x2406, 0x9074, 0x0099, 0x2403, 0x9074, 0x0098, 0x2029,
+0x407C, 0x0028, 0x12AA, 0x430C, 0x12AB, 0x12B0, 0xD37A, 0x403C, 0x0080,
+0x12AB, 0x434C, 0x12A8, 0x494C, 0x12AA, 0x403C, 0x1400, 0x12B0, 0xD620,
+0x422C, 0x12AB, 0x12B0, 0xD626, 0x403C, 0x4303, 0x12AB, 0x434C, 0x12A8,
+0x407C, 0x0021, 0x12AA, 0x430C, 0x430D, 0x1292, 0x171A, 0x12B0, 0xD89E,
+0x435C, 0x12A8, 0x407C, 0x0021, 0x12AA, 0x5316, 0x9036, 0x0010, 0x2B70,
+0x12B0, 0xCA36, 0x430C, 0x5031, 0x0006, 0x4030, 0xD316, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031, 0x001E, 0x403F, 0x25B6,
+0x4FF1, 0x0008, 0x4FF1, 0x0009, 0x4FF1, 0x000A, 0x4FF1, 0x000B, 0x403A,
+0x16F4, 0x410C, 0x530C, 0x4A2F, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C,
+0xFFDD, 0x3C8D, 0x410C, 0x522C, 0x4A2F, 0x129F, 0x0018, 0x930C, 0x3403,
+0x403C, 0xFFDC, 0x3C83, 0x4104, 0x5034, 0x000C, 0x1204, 0x12B0, 0xD304,
+0x12B0, 0xD2F2, 0x5321, 0x930B, 0x3402, 0x4B0C, 0x3C76, 0x4126, 0x4117,
+0x0002, 0x5036, 0xFFFC, 0x6337, 0x403B, 0x1712, 0x407C, 0x0088, 0x12AB,
+0x407C, 0x0034, 0x1292, 0x1716, 0x407C, 0x0082, 0x12AB, 0x4038, 0x1718,
+0x460C, 0x470D, 0x12B0, 0xCAC0, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x12A8,
+0x4039, 0x1726, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x460C, 0x12A8, 0x434C,
+0x12A9, 0x435C, 0x12A9, 0x407C, 0x0021, 0x12AB, 0x434C, 0x12A9, 0x407C,
+0x0088, 0x12AB, 0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x12A9, 0x4126,
+0x407C, 0x0082, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x12B0, 0xD81C, 0x403C,
+0x2409, 0x12A8, 0x435C, 0x12A9, 0x434C, 0x12A9, 0x407C, 0x0082, 0x12AB,
+0x460C, 0x832C, 0x12A8, 0x407C, 0x0022, 0x12AB, 0x411C, 0x0004, 0x411D,
+0x0006, 0x1292, 0x1728, 0x407C, 0x0062, 0x12AB, 0x430C, 0x12A8, 0x4A2F,
+0x129F, 0x0008, 0x435C, 0x12A9, 0x12B0, 0xD81C, 0x403C, 0x2401, 0x12A8,
+0x407C, 0x0021, 0x12AB, 0x435C, 0x12A9, 0x407C, 0x0028, 0x12AB, 0x430C,
+0x12A8, 0x1204, 0x12B0, 0xD304, 0x12B0, 0xD2F2, 0x4B0C, 0x5321, 0x5031,
+0x001E, 0x4030, 0xD318, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
+0x1204, 0x4327, 0x407C, 0x0028, 0x1292, 0x1712, 0x907C, 0x0089, 0x2411,
+0x907C, 0x008D, 0x240E, 0x907C, 0x0091, 0x240B, 0x907C, 0x0095, 0x2408,
+0x907C, 0x0098, 0x2405, 0x907C, 0x0099, 0x2402, 0x432C, 0x3C86, 0x407C,
+0x0090, 0x1292, 0x1712, 0x403A, 0x1718, 0x403C, 0x009F, 0x12B0, 0xDA08,
+0x4C06, 0xB03C, 0x0100, 0x2877, 0x403B, 0x009D, 0x4038, 0x16F4, 0x4C4E,
+0xF07E, 0x0006, 0x926E, 0x2016, 0x4309, 0x403C, 0x0010, 0x12B0, 0xCE4C,
+0x403C, 0x009E, 0x12AA, 0xD036, 0x0040, 0x460C, 0x12AA, 0x403C, 0x009A,
+0x12AA, 0x490C, 0x12B0, 0xCE52, 0x5319, 0x9239, 0x2C58, 0x3FF6, 0x403C,
+0x009B, 0x12B0, 0xDA08, 0x4C09, 0x1089, 0xF379, 0x1109, 0x1109, 0x421F,
+0x168E, 0xB236, 0x2819, 0xB036, 0x0200, 0x2C02, 0x9349, 0x200C, 0x403C,
+0x009E, 0x12AA, 0xC316, 0xD036, 0x0040, 0x460C, 0x12AA, 0x4234, 0x8214,
+0x168E, 0x3C1B, 0x9F09, 0x2003, 0x4982, 0x168E, 0x3C35, 0x4904, 0x8F04,
+0x3C13, 0x9F09, 0x2403, 0x4382, 0x1690, 0x3FF5, 0x5392, 0x1690, 0x90B2,
+0x0014, 0x1690, 0x23EF, 0xB036, 0x0200, 0x2804, 0x4234, 0x4982, 0x168E,
+0x3C05, 0x4904, 0x4982, 0x168E, 0x9314, 0x381B, 0x4906, 0x8406, 0xF036,
+0x0007, 0x432C, 0x12B0, 0xCE4C, 0x440C, 0x12B0, 0xCE4C, 0x403C, 0x009A,
+0x12AA, 0x460C, 0x12B0, 0xCE52, 0x12B0, 0xDA06, 0x12B0, 0xCE4C, 0x5316,
+0x9236, 0x2801, 0x4306, 0x9906, 0x23F0, 0x4317, 0x470C, 0x4030, 0xD318,
+0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4324,
+0x407C, 0x0028, 0x1292, 0x1712, 0x907C, 0x0089, 0x2411, 0x907C, 0x008D,
+0x240E, 0x907C, 0x0091, 0x240B, 0x907C, 0x0095, 0x2408, 0x907C, 0x0098,
+0x2405, 0x907C, 0x0099, 0x2402, 0x432C, 0x3C85, 0x407C, 0x00B0, 0x1292,
+0x1712, 0x4039, 0x171C, 0x403C, 0x009F, 0x12B0, 0xD6C6, 0x4C08, 0xB03C,
+0x0100, 0x2876, 0x403A, 0x009D, 0x4036, 0x16F4, 0x4C4E, 0xF07E, 0x0006,
+0x926E, 0x2016, 0x4307, 0x403C, 0x0010, 0x12B0, 0xCEE2, 0x403C, 0x009E,
+0x430D, 0x12A9, 0x12B0, 0xD952, 0x403C, 0x009A, 0x430D, 0x12A9, 0x470C,
+0x12B0, 0xCEE8, 0x5317, 0x9237, 0x2C57, 0x3FF5, 0x403C, 0x009B, 0x12B0,
+0xD6C6, 0x12B0, 0xCAB4, 0x4C07, 0x421F, 0x168E, 0xB238, 0x2818, 0xB038,
+0x0200, 0x2C02, 0x930C, 0x200B, 0x403C, 0x009E, 0x430D, 0x12A9, 0xC318,
+0x12B0, 0xD952, 0x4235, 0x8215, 0x168E, 0x3C1B, 0x9F0C, 0x2003, 0x4C82,
+0x168E, 0x3C37, 0x4C05, 0x8F05, 0x3C13, 0x9F0C, 0x2403, 0x4382, 0x1692,
+0x3FF5, 0x5392, 0x1692, 0x90B2, 0x0014, 0x1692, 0x23EF, 0xB038, 0x0200,
+0x2804, 0x4235, 0x4C82, 0x168E, 0x3C05, 0x4C05, 0x4782, 0x168E, 0x9315,
+0x381D, 0x4708, 0x8508, 0xF038, 0x0007, 0x432C, 0x12B0, 0xCEE2, 0x450C,
+0x12B0, 0xCEE2, 0x403C, 0x009A, 0x430D, 0x12A9, 0x480C, 0x12B0, 0xCEE8,
+0x4A0C, 0x12B0, 0xD6C6, 0x12B0, 0xCEE2, 0x5318, 0x9238, 0x2801, 0x4308,
+0x9708, 0x23EE, 0x4314, 0x440C, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0040, 0x4C05, 0x40B1,
+0x0007, 0x0002, 0x4308, 0x4036, 0x0006, 0x4381, 0x0000, 0x4039, 0x16F4,
+0x410C, 0x530C, 0x492F, 0x129F, 0x0016, 0x930C, 0x3403, 0x403C, 0xFFFE,
+0x3C81, 0x410C, 0x532C, 0x492F, 0x129F, 0x0016, 0x930C, 0x3403, 0x403C,
+0xFFBE, 0x3C77, 0x90B1, 0x000F, 0x0002, 0x2002, 0x4036, 0x0009, 0x403C,
+0x0C04, 0x430D, 0x1292, 0x1674, 0x4034, 0x0018, 0x440E, 0x410D, 0x522D,
+0x412C, 0x1292, 0x1678, 0x440E, 0x403D, 0x130A, 0x412C, 0x1292, 0x1676,
+0x4037, 0x0028, 0x460E, 0xD03E, 0x0080, 0x480D, 0x5D0D, 0x5D0D, 0x5D0D,
+0x5D0D, 0x5D0D, 0x412C, 0x12B0, 0x92E6, 0x4C0A, 0x4D0B, 0x9305, 0x2406,
+0x440E, 0x403D, 0x130A, 0x412C, 0x1292, 0x1676, 0x4A0F, 0xDB0F, 0x930F,
+0x242C, 0x903B, 0x0020, 0x280F, 0x2003, 0x903A, 0xA761, 0x280B, 0x480F,
+0x5338, 0x930F, 0x2016, 0x4038, 0x0007, 0x460F, 0x5336, 0x930F, 0x2010,
+0x3C1A, 0x903B, 0x0015, 0x2804, 0x200E, 0x903A, 0x83D0, 0x2C0B, 0x5318,
+0x9238, 0x2805, 0x4308, 0x5316, 0x9681, 0x0002, 0x280B, 0x5337, 0x9317,
+0x37C2, 0x440E, 0x410D, 0x522D, 0x412C, 0x1292, 0x1676, 0x9317, 0x3402,
+0x433C, 0x3C14, 0x5808, 0x5808, 0x5808, 0x5808, 0x5808, 0x480C, 0x492F,
+0x129F, 0x0008, 0xD036, 0x0080, 0x460C, 0x492F, 0x129F, 0x0008, 0x430C,
+0x492F, 0x129F, 0x0008, 0x430C, 0x5031, 0x0040, 0x4030, 0xD316, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8231, 0x4381, 0x0004,
+0x4381, 0x0006, 0x4034, 0x4E20, 0x4381, 0x0000, 0x4381, 0x0002, 0x410C,
+0x522C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x411A, 0x0004, 0x411B, 0x0006,
+0xD23A, 0x4038, 0x1726, 0x434C, 0x12A8, 0x4039, 0x1712, 0x407C, 0x00C1,
+0x12A9, 0x4037, 0x171A, 0x12B0, 0xD096, 0x4036, 0x1718, 0x12B0, 0xD382,
+0xB31B, 0x2862, 0x407C, 0x0028, 0x12A9, 0x430C, 0x12A6, 0x434C, 0x12A8,
+0x407C, 0x0082, 0x12A9, 0x435C, 0x12A8, 0x403C, 0x0080, 0x12A6, 0x434C,
+0x12A8, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x1400, 0x12A6, 0x407C, 0x0082,
+0x12A9, 0x12B0, 0xD38C, 0x422C, 0x12A6, 0x12B0, 0xD38C, 0x403C, 0x4303,
+0x12A6, 0x434C, 0x12A8, 0x12B0, 0xD76C, 0x407C, 0x00C8, 0x12A9, 0x403C,
+0x0501, 0x12A6, 0x435C, 0x12A8, 0x407C, 0x0021, 0x12A9, 0x407C, 0x00C8,
+0x12A9, 0x403C, 0x1501, 0x12A6, 0x3C02, 0x12B0, 0xD38C, 0x440F, 0x5334,
+0x930F, 0x23FA, 0x12B0, 0xD76C, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x92A1,
+0x0000, 0x2003, 0x9381, 0x0002, 0x2409, 0x90B1, 0x0006, 0x0000, 0x2003,
+0x9381, 0x0002, 0x2402, 0x433C, 0x3C15, 0x411A, 0x0004, 0x411B, 0x0006,
+0xD23A, 0x434C, 0x12A8, 0x407C, 0x00C1, 0x12A9, 0x12B0, 0xD096, 0x12B0,
+0xD382, 0xF31B, 0x4B0C, 0x421F, 0x16F4, 0x129F, 0x0008, 0x430C, 0x5231,
+0x4030, 0xD318, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
+0x1205, 0x8031, 0x003E, 0x4C05, 0x4308, 0x4039, 0x001B, 0x4381, 0x0000,
+0x430A, 0x430B, 0x4036, 0x16F4, 0x410C, 0x530C, 0x462F, 0x129F, 0x0016,
+0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C79, 0x403C, 0x0C04, 0x430D, 0x1292,
+0x1674, 0x403E, 0x001D, 0x410D, 0x532D, 0x412C, 0x1292, 0x1678, 0x403E,
+0x001D, 0x403D, 0x133A, 0x412C, 0x1292, 0x1676, 0x3C02, 0x4709, 0x4314,
+0x480F, 0x531F, 0x990F, 0x2C25, 0x4907, 0x5807, 0xC312, 0x1007, 0x4304,
+0x430E, 0x470D, 0x5D0D, 0x5D0D, 0x5D0D, 0x412C, 0x12B0, 0x92E6, 0x4C0A,
+0x4D0B, 0x9305, 0x2407, 0x403E, 0x001D, 0x403D, 0x133A, 0x412C, 0x1292,
+0x1676, 0x4A0F, 0xDB0F, 0x930F, 0x2409, 0x903B, 0x0020, 0x2804, 0x23DA,
+0x903A, 0xA761, 0x2FD7, 0x4708, 0x3FD7, 0x9304, 0x240A, 0x430E, 0x480D,
+0x5D0D, 0x5D0D, 0x5D0D, 0x412C, 0x12B0, 0x92E6, 0x4C0A, 0x4D0B, 0x403E,
+0x0018, 0x410D, 0x532D, 0x412C, 0x1292, 0x1676, 0x503A, 0x6478, 0x603B,
+0xFFEC, 0x903B, 0x0010, 0x2806, 0x2003, 0x903A, 0xB559, 0x2802, 0x433C,
+0x3C1A, 0x430C, 0x462F, 0x129F, 0x0008, 0x5808, 0x5808, 0x5808, 0x480C,
+0x462F, 0x129F, 0x0008, 0x403C, 0x0080, 0x462F, 0x129F, 0x0008, 0x403C,
+0x0080, 0x462F, 0x129F, 0x0008, 0x430C, 0x462F, 0x129F, 0x0008, 0x430C,
+0x5031, 0x003E, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x8231, 0x410C, 0x522C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x410C, 0x530C,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x4038, 0x1712, 0x407C, 0x0048, 0x12A8,
+0x435C, 0x1292, 0x1716, 0x4039, 0x1726, 0x435C, 0x12A9, 0x407A, 0x000A,
+0x4036, 0x1718, 0x407C, 0x0028, 0x12A8, 0x430C, 0x12A6, 0xF07C, 0x0081,
+0x907C, 0x0081, 0x2404, 0x12B0, 0xD7C4, 0x537A, 0x23F2, 0x411A, 0x0004,
+0x411B, 0x0006, 0x503A, 0xFFFE, 0x633B, 0x407C, 0x0088, 0x12A8, 0x407C,
+0x0034, 0x1292, 0x1716, 0x407C, 0x0082, 0x12A8, 0x4A0C, 0x4B0D, 0x12B0,
+0xCAC0, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x12B0, 0xD7C2, 0x4A0C, 0x12B0,
+0xD7C2, 0x407C, 0x0021, 0x12A8, 0x434C, 0x12A9, 0x407C, 0x0088, 0x12A8,
+0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x12A9, 0x407C, 0x0082, 0x12A8,
+0x403C, 0x3FFF, 0x12A6, 0x12B0, 0xD826, 0x403C, 0x2409, 0x12A6, 0x435C,
+0x12A9, 0x407C, 0x00C2, 0x12A8, 0x430A, 0x430B, 0x3C0C, 0x435C, 0x12A9,
+0x434C, 0x12A9, 0x430C, 0x12A6, 0x421F, 0x16F4, 0x129F, 0x0008, 0x531A,
+0x630B, 0x911B, 0x0002, 0x2BF1, 0x2002, 0x912A, 0x2BEE, 0x435C, 0x12A9,
+0x12B0, 0xD826, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021, 0x12A8, 0x435C,
+0x12A9, 0x430C, 0x5231, 0x4030, 0xD31C, 0x8031, 0x000C, 0x410C, 0x523C,
+0x12B0, 0xD6F4, 0x3403, 0x403C, 0xFFCB, 0x3C2C, 0x410C, 0x530C, 0x12B0,
+0xD6F4, 0x3861, 0x411E, 0x0008, 0x411F, 0x000A, 0x930F, 0x2076, 0x903E,
+0x0018, 0x2C73, 0x5E0E, 0x4E10, 0x8BD4, 0x8CB4, 0x8C04, 0x8C10, 0x8C08,
+0x8C24, 0x8C3C, 0x8C48, 0x8C54, 0x8C60, 0x8C66, 0x8C18, 0x8C6C, 0x8C90,
+0x8CB4, 0x8C96, 0x8CA2, 0x8C30, 0x8C5A, 0x8C9C, 0x8C08, 0x8C08, 0x8C08,
+0x8C08, 0x8CA8, 0x41A2, 0x16EE, 0x430C, 0x5031, 0x000C, 0x4130, 0x412C,
+0x1292, 0x1538, 0x3FF8, 0x41A2, 0x16CA, 0x4192, 0x0002, 0x16CC, 0x3FF2,
+0x41A2, 0x16D2, 0x4192, 0x0002, 0x16D4, 0x3FEC, 0x41A2, 0x16D6, 0x4192,
+0x0002, 0x16D8, 0x3FE6, 0x41A2, 0x16DA, 0x4192, 0x0002, 0x16DC, 0x3FE0,
+0x41A2, 0x16DE, 0x4192, 0x0002, 0x16E0, 0x3FDA, 0x41A2, 0x16E2, 0x3FD7,
+0x41A2, 0x16E4, 0x3FD4, 0x41A2, 0x16E6, 0x3FD1, 0x41A2, 0x16E8, 0x3FCE,
+0x4381, 0x0004, 0x4381, 0x0006, 0x410C, 0x522C, 0x12B0, 0xD6F4, 0x3403,
+0x403C, 0xFFCA, 0x3FC3, 0x411D, 0x0004, 0x412C, 0x1292, 0x154A, 0x3FBC,
+0x41A2, 0x16CE, 0x3FB9, 0x41A2, 0x16EA, 0x3FB6, 0x41A2, 0x16EC, 0x3FB3,
+0x41A2, 0x16D0, 0x3FB0, 0x41A2, 0x1306, 0x4192, 0x0002, 0x1308, 0x3FAA,
+0x403C, 0xFFC9, 0x3FA8, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8321,
+0x4C0A, 0x4306, 0x403B, 0x1726, 0x4038, 0x1718, 0x4039, 0x1712, 0xB31C,
+0x282B, 0x403C, 0x16AE, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403,
+0x403C, 0xFFF5, 0x3C69, 0x403C, 0x16AA, 0x421F, 0x16F4, 0x129F, 0x0018,
+0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C5E, 0x407C, 0x0082, 0x12A9, 0x403C,
+0x3FFF, 0x12A8, 0x12B0, 0xD902, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12AB,
+0x434C, 0x12AB, 0x407C, 0x0048, 0x12A9, 0x403C, 0x0018, 0x12A8, 0x5292,
+0x16AA, 0x16AA, 0x6292, 0x16AC, 0x16AC, 0x3C20, 0x410C, 0x530C, 0x129F,
+0x0014, 0x4C06, 0x407C, 0x00C1, 0x12A9, 0x421C, 0x16AE, 0x421D, 0x16B0,
+0x1292, 0x171A, 0x407C, 0x00A1, 0x12A9, 0x416C, 0x1292, 0x1716, 0x435C,
+0x12AB, 0x434C, 0x12AB, 0x5392, 0x16AE, 0x6382, 0x16B0, 0x53B2, 0x16AA,
+0x63B2, 0x16AC, 0x421F, 0x16F4, 0x421E, 0x16AA, 0xD21E, 0x16AC, 0x930E,
+0x2402, 0x9306, 0x27D6, 0xB32A, 0x280B, 0x12B0, 0xD902, 0x403C, 0x2401,
+0x12A8, 0x407C, 0x0021, 0x12A9, 0x435C, 0x12AB, 0x3C0A, 0x9316, 0x2006,
+0x407C, 0x0091, 0x129F, 0x0012, 0x4306, 0x3C02, 0x4036, 0xFFF3, 0x460C,
+0x5321, 0x4030, 0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x403A,
+0x1540, 0x9392, 0x1706, 0x200E, 0x12B0, 0x31D2, 0x12B0, 0x31FE, 0x2004,
+0xD2DB, 0x2554, 0x0000, 0x3C02, 0x12B0, 0x3322, 0x12B0, 0x3232, 0x3C1D,
+0x403B, 0x170A, 0x4B2F, 0xC3DF, 0x0000, 0x12B0, 0x31FE, 0x2003, 0x12B0,
+0x330E, 0x3C02, 0x12B0, 0x3322, 0x12B0, 0x3208, 0x12B0, 0x31C4, 0x480C,
+0x12B0, 0x3200, 0x2003, 0x12B0, 0x330E, 0x3C02, 0x12B0, 0x3322, 0x12B0,
+0x31E0, 0x480C, 0x12AA, 0x4030, 0xD31C, 0x934C, 0x421F, 0x2558, 0x2404,
+0xD2DF, 0x2552, 0x0000, 0x4130, 0xC2DF, 0x2552, 0x0000, 0x4130, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x403A, 0x1540, 0x9392, 0x1706, 0x200E,
+0x12B0, 0x31D2, 0x12B0, 0x31FE, 0x2004, 0xD2DB, 0x2554, 0x0000, 0x3C02,
+0x12B0, 0x3322, 0x12B0, 0x3232, 0x3C28, 0x403B, 0x170A, 0x4B2F, 0xC3DF,
+0x0000, 0x12B0, 0x31FE, 0x2003, 0x12B0, 0x330E, 0x3C02, 0x12B0, 0x3322,
+0x12B0, 0x3208, 0x4039, 0x8E38, 0x434C, 0x1289, 0x12B0, 0x31C4, 0x435C,
+0x1289, 0x480C, 0x12AA, 0x434C, 0x1289, 0x9392, 0x1706, 0x2003, 0x12B0,
+0x330E, 0x3C02, 0x12B0, 0x3322, 0x12B0, 0x31E0, 0x435C, 0x1289, 0x480C,
+0x3FB0, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
+0x4C4A, 0x425B, 0x2554, 0x4218, 0x2558, 0x4259, 0x2552, 0x494E, 0x525E,
+0x2553, 0x5B4E, 0xDEC8, 0x0000, 0x4036, 0x170A, 0x462F, 0xD2DF, 0x1760,
+0x0000, 0x12B0, 0x378C, 0x4037, 0x1540, 0x403C, 0x000A, 0x12A7, 0x9392,
+0x1706, 0x2003, 0xC9C8, 0x0000, 0x3C02, 0x12B0, 0x374A, 0x4034, 0x0005,
+0x440C, 0x12A7, 0x431C, 0x12A7, 0x934A, 0x2402, 0x935A, 0x2004, 0xC0F2,
+0x0040, 0x0029, 0x3C0A, 0x9392, 0x1706, 0x2003, 0xDBC8, 0x0000, 0x3C02,
+0x12B0, 0x3322, 0x440C, 0x12A7, 0x4035, 0x153E, 0x403C, 0x000A, 0x12A5,
+0x9392, 0x1706, 0x2003, 0xD9C8, 0x0000, 0x3C02, 0x12B0, 0x3750, 0x440C,
+0x12A7, 0x403C, 0x0019, 0x12A7, 0x935A, 0x2403, 0x907A, 0x0003, 0x2009,
+0x9392, 0x1706, 0x2003, 0xCBC8, 0x0000, 0x3C0B, 0x12B0, 0x3756, 0x3C08,
+0x9392, 0x1706, 0x2003, 0xDBC8, 0x0000, 0x3C02, 0x12B0, 0x3322, 0x440C,
+0x12A7, 0x403C, 0x0028, 0x12A5, 0x12B0, 0x374A, 0x935A, 0x2002, 0x12B0,
+0x3322, 0x431C, 0x12A5, 0x12B0, 0x3750, 0x403C, 0x0028, 0x12A5, 0x907A,
+0x0003, 0x2002, 0x12B0, 0x3322, 0x440C, 0x12A7, 0x4030, 0xD316, 0x120A,
+0x120B, 0x8031, 0x001C, 0x43C1, 0x0000, 0x435A, 0x403C, 0x0005, 0x1292,
+0x1540, 0x407C, 0x0028, 0x1292, 0x1712, 0x907C, 0x0091, 0x240E, 0x907C,
+0x0095, 0x240B, 0x907C, 0x0098, 0x2408, 0x907C, 0x0099, 0x2405, 0x421F,
+0x1686, 0x531F, 0x436A, 0x3C01, 0x430F, 0x4F82, 0x1686, 0x932F, 0x3857,
+0x4382, 0x1686, 0x434C, 0x1292, 0x1544, 0x1292, 0x170E, 0x407C, 0x0028,
+0x1292, 0x1712, 0x4CC1, 0x0000, 0x416E, 0x907E, 0x0091, 0x2409, 0x907E,
+0x0095, 0x2406, 0x907E, 0x0098, 0x2403, 0x907E, 0x0099, 0x203D, 0x407C,
+0x0086, 0x1292, 0x1712, 0x916C, 0x2037, 0x435A, 0x422C, 0x1292, 0x1718,
+0x903C, 0x1207, 0x2030, 0x430C, 0x1292, 0x1718, 0x903C, 0xA55A, 0x2027,
+0x410C, 0x532C, 0x403E, 0x25AA, 0x423D, 0x12B0, 0xD3B6, 0x42D1, 0x16EC,
+0x0002, 0x42D1, 0x16ED, 0x0003, 0x410F, 0x503F, 0x000A, 0x120F, 0x430F,
+0x430E, 0x423D, 0x410C, 0x522C, 0x421B, 0x16F4, 0x129B, 0x000E, 0x403C,
+0x0003, 0x1292, 0x1234, 0x410C, 0x503C, 0x000C, 0x421F, 0x16F4, 0x129F,
+0x0010, 0x5321, 0x3C03, 0x43F1, 0x0000, 0x436A, 0x4A4C, 0x5031, 0x001C,
+0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8231,
+0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C,
+0xFFF2, 0x3C6E, 0x410C, 0x522C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C,
+0x3403, 0x403C, 0xFFF1, 0x3C63, 0x4038, 0x1712, 0x407C, 0x0082, 0x12A8,
+0x4039, 0x1718, 0x403C, 0x3FFF, 0x12A9, 0x4036, 0x1726, 0x434C, 0x12A6,
+0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x12B0, 0xDA1E, 0x430A,
+0x430B, 0x3C1B, 0x407C, 0x00C1, 0x12A8, 0x412C, 0x12A9, 0x407C, 0x00A1,
+0x12A8, 0x12B0, 0xDA1E, 0x430C, 0x12A9, 0x421F, 0x16F4, 0x129F, 0x0008,
+0x412E, 0x411F, 0x0002, 0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x531A, 0x630B, 0x911B, 0x0006, 0x2BE2, 0x2003, 0x911A, 0x0004, 0x2BDE,
+0x12B0, 0xDA1E, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C,
+0x0021, 0x12A8, 0x435C, 0x12A6, 0x407C, 0x0048, 0x12A8, 0x435C, 0x1292,
+0x1716, 0x435C, 0x12A6, 0x407A, 0x000A, 0x407C, 0x0028, 0x12A8, 0x430C,
+0x12A9, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2406, 0x434C, 0x12A6, 0x435C,
+0x12A6, 0x537A, 0x23F0, 0x430C, 0x5231, 0x4030, 0xD31C, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A, 0x430B, 0x4038, 0x1726, 0x4039,
+0x1718, 0x4036, 0x1712, 0xB31C, 0x2828, 0x403C, 0x16A6, 0x421F, 0x16F4,
+0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C63, 0x403C, 0x16A2,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C58,
+0x407C, 0x0082, 0x12A6, 0x403C, 0x3FFF, 0x12A9, 0x12B0, 0xD8EE, 0x403C,
+0x2409, 0x12A9, 0x435C, 0x12A8, 0x12B0, 0xD8EE, 0x403C, 0x2418, 0x12A9,
+0x5292, 0x16A2, 0x16A2, 0x6292, 0x16A4, 0x16A4, 0x3C1D, 0x410C, 0x530C,
+0x129F, 0x0014, 0x4C0B, 0x407C, 0x00C1, 0x12A6, 0x421C, 0x16A6, 0x12A9,
+0x407C, 0x00A1, 0x12A6, 0x416C, 0x1292, 0x1716, 0x435C, 0x12A8, 0x434C,
+0x12A8, 0x5392, 0x16A6, 0x6382, 0x16A8, 0x53B2, 0x16A2, 0x63B2, 0x16A4,
+0x421F, 0x16F4, 0x421E, 0x16A2, 0xD21E, 0x16A4, 0x930E, 0x2402, 0x930B,
+0x27D9, 0xB32A, 0x280B, 0x12B0, 0xD8EE, 0x403C, 0x2401, 0x12A9, 0x407C,
+0x0021, 0x12A6, 0x435C, 0x12A8, 0x3C0A, 0x931B, 0x2006, 0x407C, 0x0091,
+0x129F, 0x0012, 0x430B, 0x3C02, 0x403B, 0xFFF3, 0x4B0C, 0x5321, 0x4030,
+0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8031, 0x001A, 0x4C0B,
+0x4E0A, 0x4D0E, 0x430F, 0x403C, 0x0005, 0x1292, 0x1672, 0x4A0E, 0x430F,
+0x403C, 0x0006, 0x1292, 0x1672, 0x4B0C, 0x430D, 0x1292, 0x1674, 0x407C,
+0x00A8, 0x1292, 0x1712, 0x12B0, 0xCDAC, 0x4218, 0x166E, 0x4309, 0x403F,
+0xEA5E, 0x4303, 0x430B, 0x533F, 0x633B, 0x2FFD, 0x421A, 0x166E, 0x430B,
+0x12B0, 0xD67C, 0x410C, 0x530C, 0x403E, 0x259A, 0x423D, 0x12B0, 0xD3B6,
+0x410F, 0x523F, 0x120F, 0x430F, 0x430E, 0x423D, 0x410C, 0x532C, 0x4216,
+0x16F4, 0x1296, 0x000E, 0x403C, 0x0003, 0x1292, 0x167A, 0x410C, 0x503C,
+0x000A, 0x421F, 0x16F4, 0x129F, 0x0010, 0x5321, 0x9309, 0x2005, 0x9A08,
+0x2C03, 0x880A, 0x790B, 0x3C04, 0x8A08, 0x7309, 0x480A, 0x490B, 0x1292,
+0x1670, 0x4C0E, 0x4D0F, 0x5C0C, 0x6D0D, 0x5E0C, 0x6F0D, 0x503C, 0x001F,
+0x630D, 0x1202, 0xC232, 0x4303, 0x4C82, 0x0130, 0x40B2, 0x03E8, 0x0138,
+0x421C, 0x013A, 0x4292, 0x013C, 0x013A, 0x4D82, 0x0134, 0x40B2, 0x03E8,
+0x0138, 0x421D, 0x013A, 0x4132, 0x4A0E, 0x4B0F, 0x12B0, 0xC8EE, 0x5031,
+0x001A, 0x4030, 0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
+0x8231, 0x410C, 0x522C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x410C, 0x530C,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x411B, 0x0004, 0x832B, 0x4038, 0x1712,
+0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1716, 0x4039, 0x1726, 0x435C,
+0x12A9, 0x407A, 0x000A, 0x4036, 0x1718, 0x407C, 0x0028, 0x12A8, 0x430C,
+0x12A6, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2404, 0x12B0, 0xD85A, 0x537A,
+0x23F2, 0x4077, 0x00C8, 0x474C, 0x12A8, 0x403C, 0x3401, 0x12A6, 0x407C,
+0x0082, 0x12A8, 0x403C, 0x4030, 0x12B0, 0xD858, 0x4B0C, 0x12B0, 0xD858,
+0x407C, 0x0021, 0x12A8, 0x12B0, 0xD5E8, 0x435C, 0x12A9, 0x407C, 0x0082,
+0x12A8, 0x403C, 0x3FFF, 0x12A6, 0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C,
+0x2409, 0x12A6, 0x435C, 0x12A9, 0x407C, 0x00C2, 0x12A8, 0x430A, 0x430B,
+0x3C0C, 0x435C, 0x12A9, 0x434C, 0x12A9, 0x430C, 0x12A6, 0x421F, 0x16F4,
+0x129F, 0x0008, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BF1, 0x2002, 0x912A,
+0x2BEE, 0x435C, 0x12A9, 0x12B0, 0xD5E8, 0x407C, 0x0021, 0x12A8, 0x435C,
+0x12A9, 0x430C, 0x5231, 0x4030, 0xD31A, 0x460C, 0x12B0, 0xD164, 0x12B0,
+0xCB20, 0x460C, 0x12AB, 0x12B0, 0x9516, 0xD8EF, 0x0000, 0x12B0, 0x9516,
+0xC8EF, 0x0000, 0x12B0, 0xCB20, 0x12B0, 0x95C6, 0xC0F2, 0x0040, 0x0029,
+0x4030, 0x95C6, 0x12B0, 0xD166, 0x492F, 0x4130, 0x407C, 0x00F4, 0x12B0,
+0xC5A8, 0x403C, 0x000A, 0x1292, 0x1540, 0x403E, 0x4020, 0x12B0, 0x956C,
+0x403C, 0x000A, 0x4210, 0x1540, 0x407C, 0x0086, 0x12B0, 0xC5A8, 0x403C,
+0x000F, 0x1292, 0x1540, 0x431E, 0x12B0, 0x956C, 0x403C, 0x000F, 0x1292,
+0x1540, 0x403E, 0xA55A, 0x12B0, 0x956C, 0x403C, 0x0014, 0x4210, 0x1540,
+0x430F, 0x403C, 0x0010, 0x4030, 0xC55E, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x407A, 0x0006, 0x12B0, 0x95B4, 0x12B0, 0xCB20, 0x12B0, 0x95C6,
+0x537A, 0x23FA, 0x12B0, 0xD6BC, 0x12B0, 0x94E6, 0x12B0, 0x9504, 0x12B0,
+0xCB20, 0x12B0, 0x94E6, 0x403C, 0x000A, 0x1292, 0x1540, 0x4030, 0xD31C,
+0x403B, 0x153E, 0x4038, 0x1760, 0x4039, 0x170A, 0x4036, 0x0190, 0x4130,
+0x460C, 0x12B0, 0xD164, 0x12B0, 0xCB20, 0x460C, 0x12AB, 0x12B0, 0x9516,
+0xD8EF, 0x0000, 0x12B0, 0x9516, 0xC8EF, 0x0000, 0x4130, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x403A, 0x1712, 0x407B,
+0x0088, 0x4B4C, 0x12AA, 0x4038, 0x1718, 0x403C, 0x0034, 0x12A8, 0x4079,
+0x0082, 0x494C, 0x12AA, 0x4036, 0x1726, 0x435C, 0x12A6, 0x403C, 0x0960,
+0x12A8, 0x434C, 0x12A6, 0x4077, 0x0042, 0x474C, 0x12AA, 0x435C, 0x12A6,
+0x494C, 0x12AA, 0x435C, 0x12A6, 0x403C, 0x00FC, 0x12A8, 0x434C, 0x12A6,
+0x474C, 0x12AA, 0x435C, 0x12A6, 0x430C, 0x12A8, 0x4C04, 0x434C, 0x12A6,
+0x435C, 0x12A6, 0x430C, 0x12A8, 0x4C05, 0x434C, 0x12A6, 0x4B4C, 0x12AA,
+0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x12A6, 0x4B4C, 0x12AA, 0x403C,
+0x0034, 0x12A8, 0x494C, 0x12AA, 0x435C, 0x12A6, 0x403C, 0x0A60, 0x12A8,
+0x434C, 0x12A6, 0x474C, 0x12AA, 0x435C, 0x12A6, 0x494C, 0x12AA, 0x435C,
+0x12A6, 0x403C, 0x00FC, 0x12A8, 0x434C, 0x12A6, 0x474C, 0x12AA, 0x435C,
+0x12A6, 0x430C, 0x12A8, 0x4C07, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x430C,
+0x12A8, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x407C, 0x0024, 0x1292, 0x1716,
+0x435C, 0x12A6, 0x470D, 0x440C, 0xD50D, 0x4030, 0xD316, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8221, 0x4E0A, 0x4F0B, 0x823C,
+0x2408, 0x823C, 0x240D, 0x822C, 0x2413, 0x803C, 0x000C, 0x2417, 0x3C64,
+0x40B1, 0x0080, 0x0000, 0x4381, 0x0002, 0x4238, 0x3C16, 0x40B1, 0x8000,
+0x0000, 0x4381, 0x0002, 0x4038, 0x0010, 0x3C0E, 0x4381, 0x0000, 0x42B1,
+0x0002, 0x4038, 0x0014, 0x3C07, 0x4381, 0x0000, 0x40B1, 0x8000, 0x0002,
+0x4038, 0x0020, 0x12B0, 0xD2BC, 0xB12A, 0x2010, 0xB11B, 0x0002, 0x200D,
+0x12B0, 0xD6BC, 0x3C12, 0x9318, 0x23F6, 0xB12A, 0x2003, 0xB11B, 0x0002,
+0x2409, 0x12B0, 0xCB20, 0x3C02, 0x12B0, 0xD6BC, 0x440C, 0x12B0, 0xCAFC,
+0x3C05, 0x12B0, 0xCB20, 0x440C, 0x12B0, 0xD6B8, 0x440C, 0x12A9, 0x12B0,
+0xD83A, 0x12B0, 0xCB0A, 0x472F, 0xD6EF, 0x0000, 0x12B0, 0xD83A, 0x43C2,
+0x176A, 0x12B0, 0xCB0A, 0x472F, 0xC6EF, 0x0000, 0x5A0A, 0x6B0B, 0x5338,
+0x23D5, 0xB0F2, 0x0040, 0x1766, 0x12B0, 0xCB20, 0x440C, 0x2803, 0x12B0,
+0xCB14, 0x3C06, 0x12B0, 0xD6B8, 0x12B0, 0xCE6A, 0x12B0, 0xD6B8, 0x12B0,
+0xD190, 0x430C, 0x430D, 0x5221, 0x4030, 0xD318, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x8031, 0x002C, 0x430A, 0x4309, 0x4038, 0x1726, 0x434C,
+0x12A8, 0x403B, 0x1712, 0x407C, 0x00C8, 0x12AB, 0x4036, 0x1718, 0x403C,
+0x0500, 0x12A6, 0x12B0, 0xD272, 0x407C, 0x00A1, 0x12AB, 0x403C, 0x0003,
+0x12A6, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x12AB, 0x403C, 0x0501, 0x12A6,
+0x12B0, 0xD754, 0x434C, 0x12A8, 0x12B0, 0xD272, 0x434C, 0x12A8, 0x407C,
+0x0042, 0x12AB, 0x430C, 0x12A6, 0x4C06, 0x12B0, 0xD754, 0x9306, 0x383D,
+0x4108, 0x5038, 0x0012, 0x480C, 0x590C, 0x421F, 0x16F4, 0x129F, 0x0014,
+0x5319, 0x9039, 0x0016, 0x2BF3, 0x480C, 0x590C, 0x421D, 0x1306, 0x421F,
+0x1308, 0x4DCC, 0x0000, 0x108D, 0x4DCC, 0x0001, 0x4FCC, 0x0002, 0x108F,
+0x4FCC, 0x0003, 0x410F, 0x530F, 0x120F, 0x430F, 0x431E, 0x403D, 0x001A,
+0x480C, 0x4218, 0x16F4, 0x1298, 0x000E, 0x403C, 0x0003, 0x1292, 0x125C,
+0x410C, 0x532C, 0x421F, 0x16F4, 0x129F, 0x0010, 0x407C, 0x0054, 0x12AB,
+0x403C, 0x0200, 0x430D, 0x1292, 0x171C, 0x5321, 0x3C01, 0x433A, 0x4A0C,
+0x5031, 0x002C, 0x4030, 0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x8231, 0x410C, 0x522C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403,
+0x403C, 0xFFF2, 0x3C67, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0018,
+0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C5C, 0x4038, 0x1712, 0x407C, 0x0082,
+0x12A8, 0x4039, 0x1718, 0x403C, 0x3FFF, 0x12A9, 0x4036, 0x1726, 0x434C,
+0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x12B0, 0xDA16,
+0x407C, 0x0048, 0x12A8, 0x403C, 0x0019, 0x12A9, 0x412E, 0x411F, 0x0002,
+0x5E0E, 0x6F0F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430A, 0x430B, 0x3C20,
+0x407C, 0x00C1, 0x12A8, 0x411C, 0x0004, 0x411D, 0x0006, 0x1292, 0x171A,
+0x407C, 0x00A1, 0x12A8, 0x12B0, 0xDA16, 0x430C, 0x12A9, 0x421F, 0x16F4,
+0x129F, 0x0004, 0x411E, 0x0004, 0x411F, 0x0006, 0x531E, 0x630F, 0x4E81,
+0x0004, 0x4F81, 0x0006, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BDD, 0x2002,
+0x912A, 0x2BDA, 0x12B0, 0xDA16, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401,
+0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6, 0x430C, 0x5231, 0x4030,
+0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A, 0x430B,
+0x4038, 0x1726, 0x4039, 0x1718, 0x4036, 0x1712, 0xB31C, 0x2845, 0x403C,
+0x16B6, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5,
+0x3C5C, 0x403C, 0x16B2, 0x421F, 0x16F4, 0x129F, 0x0018, 0x933C, 0x2003,
+0x403C, 0xFFF4, 0x3C51, 0x407C, 0x0082, 0x12A6, 0x403C, 0x3FFF, 0x12A9,
+0x12B0, 0xD916, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x12B0, 0xD916,
+0x403C, 0x2408, 0x12A9, 0x3C1C, 0x410C, 0x530C, 0x129F, 0x0016, 0x4C0B,
+0x407C, 0x00C1, 0x12A6, 0x421C, 0x16B6, 0x12A9, 0x407C, 0x00A1, 0x12A6,
+0x412C, 0x12A9, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x53A2, 0x16B6, 0x6382,
+0x16B8, 0x53B2, 0x16B2, 0x63B2, 0x16B4, 0x421F, 0x16F4, 0x421E, 0x16B2,
+0xD21E, 0x16B4, 0x930E, 0x2402, 0x930B, 0x27DA, 0xB32A, 0x280B, 0x12B0,
+0xD916, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x12A8,
+0x3C0A, 0x931B, 0x2006, 0x407C, 0x0091, 0x129F, 0x0012, 0x430B, 0x3C02,
+0x403B, 0xFFF3, 0x4B0C, 0x5321, 0x4030, 0xD31C, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x8321, 0x4C0A, 0x4306, 0x403B, 0x1726, 0x4038, 0x1718,
+0x4039, 0x1712, 0xB31C, 0x2844, 0x403C, 0x16BE, 0x421F, 0x16F4, 0x129F,
+0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C5B, 0x403C, 0x16BA, 0x421F,
+0x16F4, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C50, 0x407C,
+0x0082, 0x12A9, 0x403C, 0x3FFF, 0x12A8, 0x12B0, 0xD934, 0x403C, 0x2409,
+0x12B0, 0xD92A, 0x407C, 0x0048, 0x12A9, 0x423C, 0x12A8, 0x3C1C, 0x410C,
+0x530C, 0x129F, 0x0016, 0x4C06, 0x407C, 0x00C1, 0x12A9, 0x421C, 0x16BE,
+0x421D, 0x16C0, 0x1292, 0x171A, 0x407C, 0x00A1, 0x12A9, 0x412C, 0x12B0,
+0xD92A, 0x53A2, 0x16BE, 0x6382, 0x16C0, 0x53B2, 0x16BA, 0x63B2, 0x16BC,
+0x421F, 0x16F4, 0x421E, 0x16BA, 0xD21E, 0x16BC, 0x930E, 0x2402, 0x9306,
+0x27DA, 0xB32A, 0x280B, 0x12B0, 0xD934, 0x403C, 0x2401, 0x12A8, 0x407C,
+0x0021, 0x12A9, 0x435C, 0x12AB, 0x3C0A, 0x9316, 0x2006, 0x407C, 0x0091,
+0x129F, 0x0012, 0x4306, 0x3C02, 0x4036, 0xFFF3, 0x460C, 0x5321, 0x4030,
+0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
+0x8221, 0x4C04, 0x4CA1, 0x0000, 0x4C91, 0x0002, 0x0002, 0x403A, 0x1712,
+0x4075, 0x0088, 0x454C, 0x12AA, 0x4037, 0x1716, 0x12B0, 0xD7EE, 0x407B,
+0x0082, 0x4B4C, 0x12AA, 0x4038, 0x1726, 0x435C, 0x12A8, 0x4039, 0x1718,
+0x412C, 0x411D, 0x0002, 0x12B0, 0xD4B4, 0x12A9, 0x434C, 0x12A8, 0x4076,
+0x0042, 0x12B0, 0xC80E, 0x4491, 0x0004, 0x0000, 0x4491, 0x0006, 0x0002,
+0x12B0, 0xCD88, 0xD03C, 0x0086, 0x12B0, 0xC808, 0x4491, 0x0008, 0x0000,
+0x4491, 0x000A, 0x0002, 0x12B0, 0xCD88, 0xD03C, 0x0089, 0x12B0, 0xC808,
+0x4491, 0x000C, 0x0000, 0x4491, 0x000E, 0x0002, 0x12B0, 0xCD88, 0xD50C,
+0x12B0, 0xC808, 0x4491, 0x0010, 0x0000, 0x4491, 0x0012, 0x0002, 0x12B0,
+0xCD88, 0xD03C, 0x008A, 0x12B0, 0xC808, 0x4491, 0x0014, 0x0000, 0x4491,
+0x0016, 0x0002, 0x12B0, 0xCD88, 0xD03C, 0x008B, 0x12B0, 0xC808, 0x4491,
+0x0018, 0x0000, 0x4491, 0x001A, 0x0002, 0x12B0, 0xCD88, 0xD03C, 0x008C,
+0x12B0, 0xC808, 0x5221, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x000C, 0x4038, 0x1712, 0x407C,
+0x0028, 0x12A8, 0x4C4B, 0x4037, 0x16F4, 0x410C, 0x522C, 0x472F, 0x129F,
+0x0018, 0x410C, 0x523C, 0x472F, 0x129F, 0x0018, 0x410C, 0x530C, 0x472F,
+0x129F, 0x0018, 0x907B, 0x0091, 0x2406, 0x907B, 0x0099, 0x2403, 0x907B,
+0x0098, 0x2004, 0x42A1, 0x0000, 0x4381, 0x0002, 0x411C, 0x0004, 0x411D,
+0x0006, 0x12B0, 0xD406, 0x411B, 0x0004, 0x407C, 0x0028, 0x12A8, 0x4039,
+0x1718, 0x430C, 0x12A9, 0x4036, 0x1726, 0x12B0, 0xC3B4, 0x4075, 0x00C8,
+0x12B0, 0xC3E8, 0x4074, 0x0021, 0x12B0, 0xC3CA, 0x407C, 0x00C2, 0x12A8,
+0x430A, 0x430B, 0x3C0B, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x430C, 0x12A9,
+0x472F, 0x129F, 0x0008, 0x531A, 0x630B, 0x911B, 0x000A, 0x2BF2, 0x2003,
+0x911A, 0x0008, 0x2BEE, 0x12B0, 0xD79A, 0x412C, 0x411D, 0x0002, 0x12B0,
+0xD406, 0x412B, 0x12B0, 0xD79A, 0x12B0, 0xC3B4, 0x12B0, 0xC3E8, 0x12B0,
+0xC3CA, 0x430C, 0x5031, 0x000C, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x8231, 0x4308, 0x410C, 0x522C, 0x421F, 0x16F4,
+0x129F, 0x0018, 0x930C, 0x2403, 0x4038, 0xFFDF, 0x3C5E, 0x410C, 0x530C,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x3403, 0x4038, 0xFFDE, 0x3C53,
+0x4039, 0x1712, 0x407C, 0x0082, 0x12A9, 0x4036, 0x1718, 0x403C, 0x3FFF,
+0x12A6, 0x4037, 0x1726, 0x12B0, 0xD95C, 0x403C, 0x2409, 0x12A6, 0x435C,
+0x12A7, 0x12B0, 0xD95C, 0x403C, 0x2419, 0x12A6, 0x412E, 0x411F, 0x0002,
+0x5E0E, 0x6F0F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430A, 0x430B, 0x3C1F,
+0x407C, 0x00C1, 0x12A9, 0x411C, 0x0004, 0x12A6, 0x407C, 0x00A1, 0x12A9,
+0x435C, 0x12A7, 0x434C, 0x12A7, 0x430C, 0x12A6, 0x421F, 0x16F4, 0x129F,
+0x0004, 0x411E, 0x0004, 0x411F, 0x0006, 0x531E, 0x630F, 0x4E81, 0x0004,
+0x4F81, 0x0006, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BDE, 0x2002, 0x912A,
+0x2BDB, 0x12B0, 0xD95C, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021, 0x12A9,
+0x435C, 0x12A7, 0x480C, 0x5231, 0x4030, 0xD31A, 0x120A, 0x120B, 0x1208,
+0x8321, 0x4391, 0x0000, 0x403B, 0x16F4, 0x410C, 0x530C, 0x4B2F, 0x129F,
+0x0016, 0x90B1, 0x0006, 0x0000, 0x2003, 0x12B0, 0xAA2C, 0x3C5D, 0x412C,
+0x1292, 0x1536, 0x1292, 0x153C, 0x1292, 0x1558, 0x435C, 0x1292, 0x153A,
+0x1292, 0x170E, 0x1292, 0x1710, 0x403C, 0xA55A, 0x12B0, 0xBC7A, 0x931C,
+0x2003, 0x403C, 0xFFCF, 0x3C46, 0x434C, 0x1292, 0x153A, 0x1292, 0x170E,
+0x1292, 0x1710, 0x12B0, 0xCEA6, 0x903C, 0xC3C3, 0x2003, 0x403C, 0xFFBB,
+0x3C37, 0x4038, 0x1712, 0x407C, 0x0028, 0x12A8, 0x4C4A, 0x4A0C, 0x430D,
+0x12B0, 0xC994, 0x930C, 0x2429, 0x903A, 0x0098, 0x2007, 0x407C, 0x00F4,
+0x12A8, 0x403C, 0x4020, 0x1292, 0x1718, 0x903A, 0x0099, 0x200E, 0x407C,
+0x00F4, 0x12A8, 0x403C, 0x40A0, 0x1292, 0x1718, 0x407C, 0x0054, 0x12A8,
+0x430C, 0x431D, 0x1292, 0x171C, 0x435C, 0x4B2F, 0x129F, 0x0004, 0x4A4C,
+0x4B2F, 0x129F, 0x0004, 0x416C, 0x4B2F, 0x129F, 0x0004, 0x430C, 0x3C02,
+0x403C, 0xFFBC, 0x5321, 0x4030, 0xD320, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x1207, 0x1204, 0x4038, 0x1712, 0x4079, 0x00C8, 0x494C, 0x12A8,
+0x4036, 0x1718, 0x403C, 0x3401, 0x12A6, 0x407B, 0x0082, 0x4B4C, 0x12A8,
+0x403C, 0x4982, 0x12A6, 0x4037, 0x1726, 0x434C, 0x12A7, 0x4074, 0x0042,
+0x444C, 0x12A8, 0x435C, 0x12A7, 0x4B4C, 0x12A8, 0x403C, 0x00FE, 0x12A6,
+0x434C, 0x12A7, 0x444C, 0x12A8, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x435C,
+0x12A7, 0x430C, 0x12A6, 0x430C, 0x12A6, 0x4C0A, 0x434C, 0x12A7, 0x494C,
+0x12A8, 0x403C, 0x2401, 0x12A6, 0x435C, 0x12A7, 0x494C, 0x12A8, 0x403C,
+0x3401, 0x12A6, 0x4B4C, 0x12A8, 0x403C, 0x4A82, 0x12A6, 0x434C, 0x12A7,
+0x444C, 0x12A8, 0x435C, 0x12A7, 0x4B4C, 0x12A8, 0x403C, 0x00FE, 0x12A6,
+0x434C, 0x12A7, 0x444C, 0x12A8, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x435C,
+0x12A7, 0x430C, 0x12A6, 0x430C, 0x12A6, 0x4C0B, 0x434C, 0x12A7, 0x494C,
+0x12A8, 0x403C, 0x2401, 0x12A6, 0x435C, 0x12A7, 0x4A0C, 0x4B0D, 0x4030,
+0xD318, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
+0x8321, 0x4C0A, 0x4C25, 0x403B, 0x1712, 0x4078, 0x00C8, 0x484C, 0x12AB,
+0x4039, 0x1718, 0x403C, 0x3401, 0x12A9, 0x4076, 0x0082, 0x464C, 0x12AB,
+0x403C, 0x4035, 0x12A9, 0x4037, 0x1726, 0x434C, 0x12A7, 0x4074, 0x0042,
+0x12B0, 0xD694, 0x450C, 0x12B0, 0xDB06, 0x4035, 0x2401, 0x450C, 0x12A9,
+0x435C, 0x12A7, 0x4A91, 0x0002, 0x0000, 0x12B0, 0xD4D0, 0x403C, 0x4036,
+0x12B0, 0xD0DE, 0x4A91, 0x0004, 0x0000, 0x12B0, 0xD4D0, 0x403C, 0x4039,
+0x12B0, 0xD0DE, 0x4A91, 0x0006, 0x0000, 0x12B0, 0xD4D0, 0x403C, 0x4038,
+0x12B0, 0xD0DE, 0x4A91, 0x0008, 0x0000, 0x12B0, 0xD4D0, 0x403C, 0x403A,
+0x12B0, 0xD0DE, 0x4A91, 0x000A, 0x0000, 0x12B0, 0xD4D0, 0x403C, 0x403B,
+0x12B0, 0xD0DE, 0x4A1A, 0x000C, 0x12B0, 0xD4D0, 0x403C, 0x403C, 0x12A9,
+0x434C, 0x12A7, 0x12B0, 0xD694, 0x4A0C, 0x12B0, 0xDB06, 0x450C, 0x12A9,
+0x435C, 0x12A7, 0x5321, 0x4030, 0xD316, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x1207, 0x1204, 0x1205, 0x8321, 0x4C0A, 0x4C25, 0x403B, 0x1712,
+0x4078, 0x00C8, 0x484C, 0x12AB, 0x4039, 0x1718, 0x403C, 0x3401, 0x12A9,
+0x4076, 0x0082, 0x464C, 0x12AB, 0x403C, 0x4035, 0x12A9, 0x4037, 0x1726,
+0x434C, 0x12A7, 0x4074, 0x0042, 0x12B0, 0xD784, 0x450C, 0x12B0, 0xDB18,
+0x4035, 0x2401, 0x450C, 0x12A9, 0x435C, 0x12A7, 0x4A91, 0x0002, 0x0000,
+0x12B0, 0xD5DA, 0x403C, 0x4036, 0x12B0, 0xD066, 0x4A91, 0x0004, 0x0000,
+0x12B0, 0xD5DA, 0x403C, 0x4039, 0x12B0, 0xD066, 0x4A91, 0x0006, 0x0000,
+0x12B0, 0xD5DA, 0x403C, 0x4038, 0x12B0, 0xD066, 0x4A91, 0x0008, 0x0000,
+0x12B0, 0xD5DA, 0x403C, 0x403A, 0x12B0, 0xD066, 0x4A91, 0x000A, 0x0000,
+0x12B0, 0xD5DA, 0x403C, 0x403B, 0x12B0, 0xD066, 0x4A1A, 0x000C, 0x12B0,
+0xD5DA, 0x403C, 0x403C, 0x12A9, 0x434C, 0x12A7, 0x12B0, 0xD784, 0x4A0C,
+0x12B0, 0xDB18, 0x450C, 0x12A9, 0x435C, 0x12A7, 0x5321, 0x4030, 0xD316,
+0x120A, 0x120B, 0x8221, 0x403A, 0x16F4, 0xB31C, 0x2814, 0x403C, 0x16C2,
+0x4A2F, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFD7, 0x3C5B, 0x403C,
+0x16C6, 0x4A2F, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFD6, 0x3C51,
+0x407C, 0x0091, 0x4A2F, 0x129F, 0x0012, 0x4A2F, 0x129F, 0x0002, 0x410D,
+0x530D, 0x410C, 0x532C, 0x4A2F, 0x129F, 0x001A, 0x403A, 0x1712, 0x403B,
+0x1726, 0x3C33, 0x12B0, 0xD948, 0x403C, 0x0500, 0x1292, 0x1718, 0x407C,
+0x00C1, 0x12AA, 0x421C, 0x16C2, 0x421D, 0x16C4, 0x1292, 0x171A, 0x435C,
+0x12AB, 0x407C, 0x00A1, 0x12AA, 0x411F, 0x0002, 0x53A1, 0x0002, 0x4F2C,
+0x1292, 0x1718, 0x12B0, 0xD948, 0x403C, 0x0501, 0x1292, 0x1718, 0x435C,
+0x12AB, 0x434C, 0x12AB, 0x435C, 0x12AB, 0x53A2, 0x16C2, 0x6382, 0x16C4,
+0x412F, 0x832F, 0x4F81, 0x0000, 0x53B2, 0x16C6, 0x63B2, 0x16C8, 0x421F,
+0x16C6, 0xD21F, 0x16C8, 0x930F, 0x2403, 0x9381, 0x0000, 0x23C4, 0x430C,
+0x5221, 0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x1207, 0x4307, 0x430A, 0x430B, 0x4308, 0x4309, 0x407C, 0x0028, 0x1292,
+0x1712, 0x4C46, 0x907C, 0x0089, 0x2411, 0x907C, 0x008D, 0x240E, 0x907C,
+0x0091, 0x240B, 0x907C, 0x0095, 0x2408, 0x907C, 0x0098, 0x2405, 0x907C,
+0x0099, 0x2402, 0x433C, 0x3C48, 0x907C, 0x0091, 0x240C, 0x907C, 0x0095,
+0x2409, 0x907C, 0x0098, 0x2406, 0x907C, 0x0099, 0x2403, 0x4038, 0x0FF0,
+0x3C27, 0x407C, 0x00E8, 0x1292, 0x1712, 0x430C, 0x1292, 0x1718, 0x4C07,
+0x9076, 0x0095, 0x2004, 0x403C, 0x05DC, 0x1292, 0x1540, 0x407C, 0x00E1,
+0x1292, 0x1712, 0x430C, 0x430D, 0x1292, 0x171A, 0x4D0E, 0x430D, 0x12B0,
+0xD328, 0x4C0A, 0x4D0B, 0x5E0A, 0x630B, 0x4A0F, 0xDB0F, 0x930F, 0x2404,
+0x4A08, 0x4B09, 0x5228, 0x6309, 0x4A0C, 0x4B0D, 0x421F, 0x16F4, 0x129F,
+0x000A, 0x480C, 0x490D, 0x421F, 0x16F4, 0x129F, 0x000A, 0x470C, 0x421F,
+0x16F4, 0x129F, 0x0008, 0x430C, 0x4030, 0xD31A, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x1204, 0x4C0A, 0x430B, 0x4038, 0x1712, 0x407C,
+0x0088, 0x12A8, 0x407C, 0x0034, 0x1292, 0x1716, 0x4037, 0x0032, 0x4079,
+0x00C8, 0x494C, 0x12A8, 0x4036, 0x1718, 0x403C, 0x2401, 0x12A6, 0x407C,
+0x0028, 0x12A8, 0x430C, 0x12A6, 0x5337, 0x933C, 0x2403, 0xB03C, 0x0200,
+0x2C02, 0x9307, 0x23F6, 0x407C, 0x0082, 0x12A8, 0x403C, 0x4030, 0x12A6,
+0x4037, 0x1726, 0x12B0, 0xD940, 0x403C, 0x0C04, 0x12B0, 0xD93E, 0x12B0,
+0xD940, 0x435C, 0x12A7, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF, 0x12A6,
+0x12B0, 0xDA4E, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12A7, 0x12B0, 0xDA4E,
+0x403C, 0x2408, 0x12A6, 0x407C, 0x00C1, 0x12A8, 0x4B04, 0x5404, 0x4A0C,
+0x540C, 0x12A6, 0x12B0, 0x7F8A, 0x441C, 0x1592, 0x12B0, 0xD93E, 0x531B,
+0x903B, 0x0030, 0x3BEE, 0x12B0, 0xDA4E, 0x403C, 0x2401, 0x12A6, 0x407C,
+0x0021, 0x12A8, 0x435C, 0x12A7, 0x4030, 0xD318, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x8231, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0018,
+0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C57, 0x410C, 0x522C, 0x421F, 0x16F4,
+0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C4C, 0x4038, 0x1712,
+0x407C, 0x0082, 0x12A8, 0x4039, 0x1718, 0x403C, 0x3FFF, 0x12A9, 0x4036,
+0x1726, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9,
+0x12B0, 0xDA2E, 0x430A, 0x430B, 0x3C1E, 0x407C, 0x00C1, 0x12A8, 0x412C,
+0x411D, 0x0002, 0x1292, 0x171A, 0x407C, 0x00A1, 0x12A8, 0x12B0, 0xDA2E,
+0x430C, 0x12A9, 0x421F, 0x16F4, 0x129F, 0x0008, 0x412E, 0x411F, 0x0002,
+0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x531A, 0x630B, 0x911B,
+0x0006, 0x2BDF, 0x2003, 0x911A, 0x0004, 0x2BDB, 0x12B0, 0xDA2E, 0x407C,
+0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C,
+0x12A6, 0x430C, 0x5231, 0x4030, 0xD31C, 0x120A, 0x8031, 0x0006, 0x43C1,
+0x0000, 0x43C1, 0x0001, 0x4381, 0x0002, 0x4381, 0x0004, 0x403A, 0x16F4,
+0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C, 0x00B0, 0x1292, 0x1712,
+0x3C19, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1, 0x0040, 0x0002, 0x2802,
+0x4382, 0x168E, 0x416C, 0x430D, 0x1292, 0x171C, 0x411C, 0x0002, 0x411D,
+0x0004, 0x1292, 0x171C, 0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1,
+0x0001, 0x242F, 0x410C, 0x530C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000,
+0x2816, 0x416E, 0xC35E, 0x907E, 0x008A, 0x2005, 0x421C, 0x16F0, 0x421D,
+0x16F2, 0x3C08, 0x416C, 0x430D, 0x1292, 0x171C, 0x430C, 0x430D, 0x1292,
+0x171C, 0x4A2F, 0x129F, 0x000A, 0x3FDA, 0x410C, 0x532C, 0x4A2F, 0x129F,
+0x0018, 0x416E, 0xC35E, 0x907E, 0x008A, 0x23BC, 0x4192, 0x0002, 0x16F0,
+0x4192, 0x0004, 0x16F2, 0x3FC9, 0x430C, 0x5031, 0x0006, 0x413A, 0x4130,
+0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8221, 0x4319, 0x403A,
+0x1718, 0x403B, 0x1712, 0x4038, 0x1726, 0x3C03, 0x9329, 0x2001, 0x4229,
+0x410C, 0x530C, 0x12B0, 0xDAE6, 0x410C, 0x531C, 0x12B0, 0xDAE6, 0x410C,
+0x532C, 0x12B0, 0xDAE6, 0x43C1, 0x0003, 0x412C, 0x411D, 0x0002, 0x12B0,
+0xCAC0, 0x4C06, 0xF036, 0x0F00, 0x5036, 0x0080, 0x4127, 0x434C, 0x12A8,
+0x407C, 0x0082, 0x12AB, 0x435C, 0x12A8, 0x490F, 0xF03F, 0x000F, 0x5F06,
+0x460C, 0x12AA, 0x407C, 0x00C8, 0x12AB, 0x403C, 0x1401, 0x12AA, 0x407C,
+0x0082, 0x12AB, 0x12B0, 0xD896, 0x470C, 0x12B0, 0xD894, 0x403C, 0x3FFD,
+0x12B0, 0xDAD6, 0x407C, 0x0021, 0x12AB, 0x430C, 0x430D, 0x1292, 0x171A,
+0x435C, 0x12A8, 0x407C, 0x00C8, 0x12AB, 0x403C, 0x0501, 0x12B0, 0xDAD6,
+0x407C, 0x0042, 0x12AB, 0x435C, 0x12A8, 0x5319, 0x9039, 0x0010, 0x2BAC,
+0x430C, 0x5221, 0x4030, 0xD31A, 0x120A, 0x120B, 0x1208, 0x1209, 0x8031,
+0x0006, 0x434B, 0x4338, 0x4039, 0x16F4, 0x410C, 0x522C, 0x492F, 0x129F,
+0x0014, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C4E, 0x431C, 0x492F, 0x129F,
+0x001C, 0x410C, 0x530C, 0x492F, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C,
+0xFFCD, 0x3C40, 0x43C1, 0x0004, 0x430C, 0x1292, 0x1536, 0x930C, 0x2403,
+0x403C, 0xFFEA, 0x3C36, 0x90B1, 0xA55A, 0x0000, 0x2004, 0x90B1, 0xA55A,
+0x0002, 0x2408, 0x90B1, 0x5AA5, 0x0000, 0x2022, 0x90B1, 0x5AA5, 0x0002,
+0x201E, 0x434C, 0x1292, 0x1546, 0x435C, 0x1292, 0x153A, 0x1292, 0x170E,
+0x434C, 0x1292, 0x1546, 0x435B, 0x412D, 0x411C, 0x0002, 0x12B0, 0xB064,
+0x4C4A, 0x435C, 0x1292, 0x1546, 0x403C, 0x0BB8, 0x1292, 0x1540, 0x935A,
+0x2003, 0x403C, 0xFFCE, 0x3C08, 0x4B4C, 0x492F, 0x129F, 0x0004, 0xB35B,
+0x2801, 0x4308, 0x480C, 0x5031, 0x0006, 0x4030, 0xD31E, 0x120A, 0x8031,
+0x000A, 0x4381, 0x0000, 0x430A, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381,
+0x0006, 0x4381, 0x0008, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0016,
+0x930C, 0x2404, 0x403C, 0xFFC1, 0x3C49, 0x531A, 0x912A, 0x2C0E, 0x410C,
+0x532C, 0x4A0F, 0x5F0F, 0x5F0C, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C,
+0x37F2, 0x403C, 0xFFC0, 0x3C38, 0x430C, 0x1292, 0x1536, 0x403A, 0x1546,
+0x434C, 0x12AA, 0x434C, 0x1292, 0x153A, 0x1292, 0x170E, 0x434C, 0x12AA,
+0x1292, 0x1710, 0x411D, 0x0004, 0x411C, 0x0002, 0x12B0, 0xB064, 0x931C,
+0x241A, 0x90B1, 0x0003, 0x0000, 0x280E, 0x435C, 0x12AA, 0x403C, 0x00C8,
+0x1292, 0x1540, 0x411D, 0x0008, 0x411C, 0x0006, 0x12B0, 0xB064, 0x931C,
+0x2408, 0x407C, 0x0028, 0x1292, 0x1712, 0x4C4C, 0x903C, 0x0095, 0x2403,
+0x403C, 0xFFCE, 0x3C03, 0x435C, 0x12AA, 0x430C, 0x5031, 0x000A, 0x413A,
+0x4130, 0x120A, 0x8231, 0x403A, 0x16F4, 0x410C, 0x522C, 0x4A2F, 0x129F,
+0x0014, 0x930C, 0x340F, 0x403C, 0xFFC8, 0x3C53, 0x434C, 0x1292, 0x1556,
+0x415E, 0x0004, 0x537E, 0x4EC1, 0x0004, 0x411C, 0x0006, 0x1292, 0x1540,
+0x93C1, 0x0004, 0x2443, 0x410C, 0x532C, 0x12B0, 0xD808, 0x380B, 0x410C,
+0x530C, 0x12B0, 0xD808, 0x3806, 0x410C, 0x503C, 0x0006, 0x12B0, 0xD808,
+0x3403, 0x403C, 0xFFC7, 0x3C31, 0xB0B1, 0x0040, 0x0000, 0x2807, 0xB0B1,
+0x0040, 0x0002, 0x12B0, 0xD7E0, 0x1292, 0x1546, 0xB0B1, 0x0100, 0x0000,
+0x2807, 0xB0B1, 0x0100, 0x0002, 0x12B0, 0xD7E0, 0x1292, 0x1548, 0xB391,
+0x0000, 0x2806, 0xB391, 0x0002, 0x12B0, 0xD7E0, 0x1292, 0x1552, 0xB2B1,
+0x0000, 0x2806, 0xB2B1, 0x0002, 0x12B0, 0xD7E0, 0x1292, 0x1554, 0xB3A1,
+0x0000, 0x2BB6, 0xB3A1, 0x0002, 0x2BB0, 0x435C, 0x3FAF, 0x430C, 0x5231,
+0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x421F, 0x01F2, 0x12B0, 0xA9E2,
+0x12B0, 0x2EE6, 0x403E, 0x1760, 0x403D, 0x170A, 0x4D2B, 0xEEEB, 0x0000,
+0x12B0, 0xCF1E, 0xEEE8, 0x0000, 0x12B0, 0xA9CA, 0x12B0, 0xA9CA, 0x12B0,
+0xA9BA, 0x12B0, 0xA9BA, 0x12B0, 0x2EE6, 0x12B0, 0xA9DA, 0x12B0, 0xDA6E,
+0xEEEB, 0x0000, 0x4F82, 0x01F2, 0x430C, 0x4030, 0xD320, 0x12B0, 0x2F6A,
+0x12B0, 0xA9DA, 0x12B0, 0xD466, 0x4030, 0xA9DA, 0x12B0, 0xA9BA, 0x12B0,
+0x2EE6, 0x12B0, 0xA9DA, 0x12B0, 0xD466, 0x4D28, 0xEEE8, 0x0000, 0x4130,
+0x40B2, 0x261D, 0x01EA, 0x40B2, 0x2629, 0x01F2, 0x4130, 0x120A, 0x120B,
+0x1208, 0x12B0, 0x309E, 0x407E, 0x0006, 0x12B0, 0x31AA, 0x12B0, 0x2F6A,
+0x4D2B, 0xEFEB, 0x0000, 0x12B0, 0xCF1E, 0xEFE8, 0x0000, 0x537E, 0x23F5,
+0x12B0, 0x2ED4, 0x4D2E, 0xEFEE, 0x0000, 0x12B0, 0xDA6E, 0xEFEB, 0x0000,
+0x3FC4, 0x120A, 0x120B, 0x1208, 0x432C, 0x1292, 0x1536, 0x407B, 0x0003,
+0x4038, 0x1712, 0x434C, 0x12B0, 0x8ED2, 0x12B0, 0x9576, 0x12B0, 0x953E,
+0x403C, 0x000A, 0x1292, 0x1540, 0x12B0, 0xCD40, 0x436C, 0x12B0, 0x8ED2,
+0x12B0, 0x9576, 0x12B0, 0x951E, 0x403C, 0x000A, 0x1292, 0x1540, 0x434C,
+0x1292, 0x153A, 0x1292, 0x170E, 0x1292, 0x1710, 0x407C, 0x0028, 0x12A8,
+0x4C4A, 0x4A0C, 0x430D, 0x12B0, 0xC994, 0x930C, 0x2427, 0x907A, 0x0098,
+0x2008, 0x407C, 0x00F4, 0x12A8, 0x403C, 0x4020, 0x1292, 0x1718, 0x3C11,
+0x907A, 0x0099, 0x200E, 0x407C, 0x00F4, 0x12A8, 0x403C, 0x40A0, 0x1292,
+0x1718, 0x407C, 0x0054, 0x12A8, 0x430C, 0x431D, 0x1292, 0x171C, 0x435C,
+0x12B0, 0xD9EE, 0x4A4C, 0x12B0, 0xD9EE, 0x436C, 0x12B0, 0xD9EE, 0x430C,
+0x3C04, 0x537B, 0x23AE, 0x403C, 0xFFBC, 0x4030, 0xD320, 0x120A, 0x120B,
+0x1208, 0x1209, 0x1206, 0x12B0, 0xD10C, 0x12B0, 0xAB06, 0x4882, 0x01F2,
+0x4030, 0xD31C, 0x4C0F, 0xDD0F, 0x930F, 0x2420, 0x4039, 0x1760, 0x4036,
+0x170A, 0x435C, 0x1292, 0x1726, 0x434C, 0x1292, 0x1726, 0x12B0, 0x2F6A,
+0x12B0, 0xC63A, 0x12B0, 0xC654, 0x12B0, 0xC654, 0x12B0, 0xC662, 0x12B0,
+0xC662, 0x12B0, 0x2EE6, 0x12B0, 0xCF90, 0x533A, 0x633B, 0x4A0F, 0xDB0F,
+0x930F, 0x23E4, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x12B0,
+0xD10C, 0x4C0F, 0xDD0F, 0x930F, 0x2420, 0x4039, 0x1760, 0x4036, 0x170A,
+0x434C, 0x1292, 0x1726, 0x12B0, 0x2F6A, 0x12B0, 0xC63A, 0x12B0, 0xC654,
+0x12B0, 0xC654, 0x12B0, 0xC662, 0x12B0, 0xC662, 0x12B0, 0x2EE6, 0x12B0,
+0xCF90, 0x435C, 0x1292, 0x1726, 0x533A, 0x633B, 0x4A0F, 0xDB0F, 0x930F,
+0x23E4, 0x3FAB, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8221, 0x4381,
+0x0000, 0x4381, 0x0002, 0x4316, 0x4038, 0x1726, 0x4039, 0x1712, 0x3C03,
+0x9326, 0x2001, 0x4226, 0x410C, 0x530C, 0x12B0, 0xDAAE, 0x410C, 0x531C,
+0x12B0, 0xDAAE, 0x410C, 0x532C, 0x12B0, 0xDAAE, 0x9036, 0x000F, 0x2433,
+0x930C, 0x2033, 0x412A, 0x411B, 0x0002, 0x407C, 0x0088, 0x12A9, 0x407C,
+0x0034, 0x1292, 0x1716, 0x12B0, 0xCF78, 0x4A0C, 0x4B0D, 0x12B0, 0xCAC0,
+0xF03C, 0x0F00, 0xD60C, 0xD03C, 0x0080, 0x12B0, 0xCF74, 0x4A0C, 0x12B0,
+0xCF74, 0x403C, 0x3FFD, 0x12B0, 0xCF82, 0x434C, 0x12A8, 0x407C, 0x0088,
+0x12A9, 0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x12A8, 0x5316, 0x9036,
+0x0010, 0x2BBF, 0x430C, 0x5221, 0x4030, 0xD31C, 0x930C, 0x37CD, 0x403C,
+0xFFD8, 0x3FF8, 0x12B0, 0xACBE, 0x4030, 0xACBE, 0x12AB, 0x430C, 0x430D,
+0x4720, 0x12A7, 0x403C, 0x0080, 0x430D, 0x4720, 0x12A7, 0x403C, 0x0006,
+0x430D, 0x4720, 0x430D, 0x12A7, 0x3FF0, 0x407C, 0x0030, 0x12AB, 0x403C,
+0x0007, 0x4A20, 0x434C, 0x12A6, 0x407C, 0x00C1, 0x4B20, 0x434C, 0x12A6,
+0x407C, 0x0042, 0x12AB, 0x435C, 0x4620, 0x494C, 0x12AB, 0x403C, 0x0501,
+0x4A20, 0x494C, 0x12AB, 0x403C, 0x0501, 0x12AA, 0x434C, 0x12A6, 0x435C,
+0x4620, 0x12AA, 0x484C, 0x12AB, 0x430C, 0x4A20, 0x12B0, 0xACBC, 0x403C,
+0x3FFD, 0x12AA, 0x434C, 0x4620, 0x430D, 0x12A7, 0x435C, 0x12A6, 0x434C,
+0x12A6, 0x407C, 0x0042, 0x12AB, 0x430C, 0x12AA, 0x4C04, 0x435C, 0x12A6,
+0x3FE1, 0x12AA, 0x494C, 0x12AB, 0x403C, 0x1401, 0x12AA, 0x484C, 0x12AB,
+0x4030, 0xACBE, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C08, 0x4E0A,
+0x4F0B, 0x4039, 0x1712, 0x407C, 0x0088, 0x12A9, 0x407C, 0x0034, 0x1292,
+0x1716, 0x407C, 0x0082, 0x12A9, 0x4036, 0x1726, 0x435C, 0x12A6, 0x4A0E,
+0x4B0F, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xDE08, 0xD038,
+0x0080, 0x480C, 0x1292, 0x1718, 0x434C, 0x12A6, 0x407C, 0x0042, 0x12A9,
+0x435C, 0x12A6, 0x407C, 0x0082, 0x12A9, 0x435C, 0x12A6, 0x4A0C, 0x1292,
+0x1718, 0x434C, 0x12A6, 0x407C, 0x0042, 0x12A9, 0x435C, 0x12A6, 0x407C,
+0x0082, 0x12A9, 0x435C, 0x12A6, 0x403C, 0x3FFD, 0x1292, 0x1718, 0x434C,
+0x12A6, 0x407C, 0x0042, 0x12A9, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C,
+0x0088, 0x12A9, 0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x12A6, 0x4030,
+0xD31C, 0x120A, 0x120B, 0x1208, 0x430B, 0x1292, 0x153C, 0x3C3B, 0x932B,
+0x2403, 0x903B, 0x0005, 0x2002, 0x4318, 0x3C08, 0x931B, 0x2405, 0x922B,
+0x2403, 0x903B, 0x0006, 0x2001, 0x4328, 0x480C, 0x1292, 0x1536, 0x434C,
+0x1292, 0x153A, 0x1292, 0x170E, 0x1292, 0x1710, 0x407C, 0x0028, 0x1292,
+0x1712, 0x4C4A, 0x1292, 0x153C, 0x907A, 0x0089, 0x241A, 0x907A, 0x008D,
+0x2417, 0x907A, 0x0091, 0x2414, 0x907A, 0x0095, 0x2411, 0x907A, 0x0098,
+0x240E, 0x907A, 0x0099, 0x240B, 0x531B, 0x903B, 0x0007, 0x2C0F, 0x930B,
+0x2403, 0x903B, 0x0003, 0x23C5, 0x4308, 0x3FD2, 0x4A0C, 0x12B0, 0xD9FE,
+0x480C, 0x12B0, 0xD9FE, 0x430C, 0x3C08, 0x433C, 0x12B0, 0xD9FE, 0x403C,
+0xAAAA, 0x12B0, 0xD9FE, 0x433C, 0x4030, 0xD320, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x1207, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x435B,
+0x4038, 0x1726, 0x4039, 0x1718, 0x4036, 0x1712, 0x3C03, 0x936B, 0x2001,
+0x426B, 0x407C, 0x0088, 0x12A6, 0x403C, 0x0034, 0x12A9, 0x12B0, 0xD17A,
+0x4B4C, 0x108C, 0xF03C, 0x0F00, 0xD03C, 0x0060, 0x12B0, 0xD184, 0x12B0,
+0xD17A, 0x403C, 0x00FC, 0x12B0, 0xD184, 0x430C, 0x12A9, 0x4C07, 0x434C,
+0x12A8, 0x435C, 0x12A8, 0x430C, 0x12A9, 0x4C0A, 0x434C, 0x12A8, 0x407C,
+0x0088, 0x12A6, 0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x12A8, 0x4781,
+0x0000, 0x4A81, 0x0002, 0x403D, 0x0003, 0x410C, 0x530C, 0x421F, 0x16F4,
+0x129F, 0x0006, 0x535B, 0x907B, 0x0010, 0x2BC2, 0x430C, 0x5221, 0x4030,
+0xD31A, 0x120A, 0x8031, 0x007C, 0x4381, 0x0000, 0x430A, 0x410C, 0x522C,
+0x403E, 0x003C, 0x12B0, 0xD496, 0x410C, 0x532C, 0x12B0, 0xD724, 0x3403,
+0x403C, 0xFFEB, 0x3C3D, 0x410C, 0x530C, 0x12B0, 0xD724, 0x2404, 0x403C,
+0xFFC1, 0x3C35, 0x531A, 0x912A, 0x2C0B, 0x410C, 0x522C, 0x4A0F, 0x5F0F,
+0x5F0C, 0x12B0, 0xD724, 0x37F5, 0x403C, 0xFFC0, 0x3C27, 0x411C, 0x0002,
+0x1292, 0x1536, 0x12B0, 0xD7CC, 0x1292, 0x153C, 0x435C, 0x12B0, 0xD7CE,
+0x403D, 0x1E1E, 0x403C, 0xA55A, 0x12B0, 0xB064, 0x931C, 0x2410, 0x12B0,
+0xD7CC, 0x430A, 0x3C01, 0x531A, 0x912A, 0x2C0C, 0x4A0F, 0x5F0F, 0x510F,
+0x4F1C, 0x0004, 0x12B0, 0xBC7A, 0x931C, 0x23F4, 0x403C, 0xFFCE, 0x3C01,
+0x430C, 0x5031, 0x007C, 0x413A, 0x4130, 0x120A, 0x120B, 0x8031, 0x0006,
+0x43C1, 0x0001, 0x43C1, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x403A,
+0x16F4, 0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C, 0x00B0, 0x1292,
+0x1712, 0x403B, 0x171C, 0x3C1C, 0x410C, 0x532C, 0x4A2F, 0x129F, 0x0018,
+0x416C, 0x430D, 0x12AB, 0x411C, 0x0002, 0x411D, 0x0004, 0x12AB, 0x90F1,
+0x009E, 0x0000, 0x2006, 0xB0B1, 0x0040, 0x0002, 0x2802, 0x4382, 0x168E,
+0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x2412, 0x410C,
+0x530C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BD9, 0x416C, 0x430D,
+0x12AB, 0x430C, 0x430D, 0x12AB, 0x4A2F, 0x129F, 0x000A, 0x3FE6, 0x430C,
+0x5031, 0x0006, 0x413B, 0x413A, 0x4130, 0x120A, 0x8031, 0x000C, 0x40B1,
+0x0011, 0x0006, 0x4381, 0x0004, 0x4381, 0x0002, 0x4381, 0x0000, 0x4381,
+0x0008, 0x4381, 0x000A, 0x4C81, 0x0004, 0x4D81, 0x0002, 0x12B0, 0xD98E,
+0x403A, 0x1718, 0x430C, 0x12AA, 0x4C81, 0x0000, 0x411E, 0x0008, 0x411F,
+0x000A, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x4C81, 0x0008, 0x4D81, 0x000A,
+0x930F, 0x2003, 0x903E, 0x0BB8, 0x2802, 0x431C, 0x3C1E, 0xB3A1, 0x0000,
+0x2C07, 0x9381, 0x000A, 0x2004, 0x90B1, 0x0BB8, 0x0008, 0x2BDF, 0x9381,
+0x000A, 0x2010, 0x90B1, 0x0BB8, 0x0008, 0x2C0C, 0x40B1, 0x0011, 0x0006,
+0x411C, 0x0006, 0x12AA, 0x411C, 0x0004, 0x12AA, 0x411C, 0x0002, 0x12AA,
+0x430C, 0x5031, 0x000C, 0x413A, 0x4130, 0x120A, 0x8221, 0x4381, 0x0000,
+0x4381, 0x0002, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C,
+0x3403, 0x403C, 0xFFCD, 0x3C3C, 0x90B1, 0xA55A, 0x0000, 0x2004, 0x90B1,
+0xA55A, 0x0002, 0x2408, 0x90B1, 0x5AA5, 0x0000, 0x202F, 0x90B1, 0x5AA5,
+0x0002, 0x202B, 0x434C, 0x1292, 0x1546, 0x435C, 0x1292, 0x153A, 0x1292,
+0x170E, 0x434C, 0x1292, 0x1546, 0x412D, 0x411C, 0x0002, 0x12B0, 0xB064,
+0x4C4A, 0x435C, 0x1292, 0x1546, 0x403C, 0x0BB8, 0x1292, 0x1540, 0x935A,
+0x2003, 0x403C, 0xFFCE, 0x3C0F, 0x12B0, 0xD516, 0x2409, 0x907C, 0x0095,
+0x2406, 0x907C, 0x0098, 0x2403, 0x907C, 0x0099, 0x2002, 0x430C, 0x3C01,
+0x433C, 0x5221, 0x413A, 0x4130, 0x464C, 0x12AB, 0x435C, 0x4A20, 0x444C,
+0x12AB, 0x430C, 0x12A8, 0xF54C, 0x954C, 0x4130, 0x407C, 0x00C1, 0x12AB,
+0x440C, 0x430D, 0x1292, 0x171A, 0x407C, 0x00A1, 0x4B20, 0x407C, 0x0021,
+0x12AB, 0x430C, 0x430D, 0x1292, 0x171A, 0x4C81, 0x000A, 0x4D81, 0x000C,
+0x4130, 0x12A8, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x434C, 0x12AA, 0x407C,
+0x0088, 0x12AB, 0x407C, 0x0024, 0x1292, 0x1716, 0x435C, 0x4A20, 0x4114,
+0x0004, 0x464C, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12AA, 0x494C,
+0x12AB, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12A8,
+0x434C, 0x12AA, 0x407C, 0x0042, 0x3FB8, 0x434C, 0x12AA, 0x12B0, 0xD984,
+0x407C, 0x0021, 0x3FB1, 0x120A, 0x120B, 0x1208, 0x430C, 0x12B0, 0xCCCA,
+0x4C0A, 0x431C, 0x12B0, 0xCCCA, 0x4C0B, 0x403C, 0x0003, 0x12B0, 0xCCCA,
+0x4C08, 0x903A, 0x06A4, 0x3813, 0x421F, 0x173C, 0x503F, 0xFFF6, 0x9F0A,
+0x3806, 0x421F, 0x173C, 0x503F, 0x000A, 0x9A0F, 0x3402, 0x4A82, 0x173C,
+0x421C, 0x173C, 0x12B0, 0xB2E6, 0x3C07, 0x9382, 0x1738, 0x2422, 0x421C,
+0x1738, 0x12B0, 0xC2F6, 0x9382, 0x1738, 0x241B, 0x93C2, 0x1763, 0x2418,
+0x8B08, 0x9038, 0x0097, 0x3814, 0x5392, 0x173E, 0x90B2, 0x0191, 0x173E,
+0x2810, 0x43D2, 0x1764, 0x1292, 0x153C, 0xC2F2, 0x001D, 0x4382, 0x1738,
+0x435C, 0x421F, 0x16F4, 0x129F, 0x0022, 0x3C02, 0x4382, 0x173E, 0x430C,
+0x4030, 0xD320, 0x120A, 0x120B, 0x1208, 0x4C0A, 0x9A82, 0x173A, 0x242C,
+0x4A0C, 0x430D, 0x12B0, 0xB846, 0x403E, 0x41A3, 0x403F, 0xC4D6, 0x12B0,
+0x8006, 0x4C0E, 0x4D0F, 0x403C, 0xF000, 0x403D, 0x457F, 0x12B0, 0x8002,
+0x12B0, 0xD6E8, 0x4C08, 0x5038, 0x0055, 0x4A0C, 0x403E, 0x0014, 0x12B0,
+0xCFCC, 0x8C08, 0x9038, 0x1000, 0x3802, 0x4038, 0x0FFF, 0x9308, 0x3401,
+0x4308, 0x4882, 0x01C8, 0xD3A2, 0x01C0, 0x4A82, 0x173A, 0x3C1A, 0x431C,
+0x12B0, 0xCCCA, 0x4C0B, 0x4A0F, 0x503F, 0x000A, 0x9B0F, 0x2C07, 0x90B2,
+0x0FFF, 0x01C8, 0x2C0D, 0x5392, 0x01C8, 0x3C0A, 0x4A0F, 0x503F, 0xFFF6,
+0x9F0B, 0x2C05, 0x9382, 0x01C8, 0x2402, 0x53B2, 0x01C8, 0x4030, 0xD320,
+0xC3A2, 0x01A0, 0x40B2, 0x22F0, 0x01A0, 0x40B2, 0x0206, 0x01A2, 0x407E,
+0x0010, 0x4EC2, 0x0080, 0x407F, 0x0011, 0x4FC2, 0x0081, 0x407D, 0x0012,
+0x4DC2, 0x0082, 0x407C, 0x0013, 0x4CC2, 0x0083, 0x4EC2, 0x0084, 0x4FC2,
+0x0085, 0x4DC2, 0x0086, 0x4CC2, 0x0087, 0x4EC2, 0x0088, 0x4FC2, 0x0089,
+0x4DC2, 0x008A, 0x4CC2, 0x008B, 0x4EC2, 0x008C, 0x4FC2, 0x008D, 0x4DC2,
+0x008E, 0x4CC2, 0x008F, 0xD3A2, 0x01A0, 0xD392, 0x01A0, 0x40B2, 0x0FFF,
+0x01C8, 0x40B2, 0x03A0, 0x01C0, 0xD3D2, 0x0078, 0x40F2, 0x0017, 0x0078,
+0x40F2, 0x0053, 0x0079, 0x43E2, 0x007C, 0x43C2, 0x007D, 0x43C2, 0x007B,
+0xC3D2, 0x0078, 0xDEC2, 0x0005, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x1207, 0x1204, 0x4C0A, 0x4D04, 0x4E0B, 0x3C3B, 0x4437, 0x4038,
+0x1712, 0x407C, 0x0082, 0x12A8, 0x4039, 0x1718, 0x403C, 0x3FFF, 0x12A9,
+0x4036, 0x1726, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409,
+0x12A9, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0048, 0x12A8, 0x427C,
+0x1292, 0x1716, 0x407C, 0x00C1, 0x12A8, 0x4A0C, 0x430D, 0x1292, 0x171A,
+0x407C, 0x00A1, 0x12A8, 0x470C, 0x12A9, 0x435C, 0x12A6, 0x434C, 0x12A6,
+0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8,
+0x435C, 0x12A6, 0x532A, 0x4B0F, 0x533B, 0x930F, 0x23C1, 0x4030, 0xD318,
+0x403C, 0x1688, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C, 0x2042, 0x403C,
+0x168A, 0x421F, 0x16F4, 0x129F, 0x0016, 0x930C, 0x203A, 0x403C, 0x168C,
+0x421F, 0x16F4, 0x129F, 0x0016, 0x933C, 0x2432, 0x435C, 0x1292, 0x1544,
+0x1292, 0x170E, 0x90B2, 0x0011, 0x1688, 0x2007, 0x421D, 0x168C, 0x421C,
+0x168A, 0x12B0, 0xB064, 0x3C04, 0x421C, 0x168A, 0x12B0, 0xBC7A, 0x934C,
+0x201C, 0x435C, 0x1292, 0x1546, 0x403C, 0x0028, 0x1292, 0x1540, 0x434C,
+0x1292, 0x1544, 0x403C, 0x00C8, 0x1292, 0x1540, 0x1292, 0x170E, 0x407C,
+0x0028, 0x1292, 0x1712, 0x4C4C, 0x430D, 0x12B0, 0xCA00, 0x930C, 0x2402,
+0x430C, 0x4130, 0x433C, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x1207, 0x1204, 0x4C0A, 0x4D0B, 0x4E07, 0x3C3A, 0x4038, 0x1712, 0x407C,
+0x0082, 0x12A8, 0x4039, 0x1718, 0x403C, 0x3FFF, 0x12A9, 0x4036, 0x1726,
+0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x435C,
+0x12A6, 0x434C, 0x12A6, 0x407C, 0x00C1, 0x12A8, 0x4A0C, 0x430D, 0x1292,
+0x171A, 0x407C, 0x00A1, 0x12A8, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x430C,
+0x12A9, 0x4C04, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401,
+0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6, 0x448B, 0x0000, 0x532A,
+0x532B, 0x470F, 0x5337, 0x930F, 0x23C2, 0x4030, 0xD318, 0x120A, 0x120B,
+0x1208, 0x8231, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x410C,
+0x522C, 0x421F, 0x16F4, 0x129F, 0x0018, 0x4038, 0x1726, 0x434C, 0x12A8,
+0x430A, 0x430B, 0x3C23, 0x407C, 0x00C1, 0x1292, 0x1712, 0x412C, 0x411D,
+0x0002, 0x1292, 0x171A, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x407C, 0x0042,
+0x1292, 0x1712, 0x430C, 0x1292, 0x1718, 0x421F, 0x16F4, 0x129F, 0x0008,
+0x412E, 0x411F, 0x0002, 0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x531A, 0x630B, 0x911B, 0x0006, 0x2BDA, 0x2003, 0x911A, 0x0004, 0x2BD6,
+0x435C, 0x12A8, 0x434C, 0x12A8, 0x435C, 0x12A8, 0x430C, 0x5231, 0x4030,
+0xD320, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x4C0A,
+0x4D0B, 0x4E08, 0x3C39, 0x4B39, 0x4036, 0x1712, 0x407C, 0x0082, 0x12A6,
+0x4037, 0x1718, 0x403C, 0x3FFF, 0x12A7, 0x4034, 0x1726, 0x434C, 0x12A4,
+0x407C, 0x00C8, 0x12A6, 0x403C, 0x2409, 0x12A7, 0x435C, 0x12A4, 0x434C,
+0x12A4, 0x407C, 0x0048, 0x12A6, 0x427C, 0x1292, 0x1716, 0x407C, 0x00C1,
+0x12A6, 0x4A0C, 0x12A7, 0x407C, 0x00A1, 0x12A6, 0x490C, 0x12A7, 0x435C,
+0x12A4, 0x434C, 0x12A4, 0x407C, 0x00C8, 0x12A6, 0x403C, 0x2401, 0x12A7,
+0x407C, 0x0021, 0x12A6, 0x435C, 0x12A4, 0x532A, 0x480F, 0x5338, 0x930F,
+0x23C3, 0x4030, 0xD318, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
+0x1204, 0x4C0A, 0x4D0B, 0x4E08, 0x3C38, 0x4039, 0x1712, 0x407C, 0x0082,
+0x12A9, 0x4036, 0x1718, 0x403C, 0x3FFF, 0x12A6, 0x4037, 0x1726, 0x434C,
+0x12A7, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12A7,
+0x434C, 0x12A7, 0x407C, 0x00C1, 0x12A9, 0x4A0C, 0x12A6, 0x407C, 0x00A1,
+0x12A9, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x430C, 0x12A6, 0x4C04, 0x434C,
+0x12A7, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021,
+0x12A9, 0x435C, 0x12A7, 0x448B, 0x0000, 0x532A, 0x532B, 0x480F, 0x5338,
+0x930F, 0x23C4, 0x4030, 0xD318, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x8321, 0x431A, 0x403B, 0x1726, 0x4038, 0x1718, 0x4039, 0x1712, 0x3C03,
+0x932A, 0x2001, 0x422A, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0016,
+0x903A, 0x000F, 0x242A, 0x930C, 0x202A, 0x4126, 0x407C, 0x00C8, 0x12A9,
+0x403C, 0x3401, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x4A0C, 0xD03C, 0x4030,
+0x12B0, 0xD844, 0x460C, 0x12B0, 0xD844, 0x403C, 0x3FFD, 0x12B0, 0xD486,
+0x434C, 0x12AB, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x2401, 0x12A8, 0x435C,
+0x12AB, 0x531A, 0x903A, 0x0010, 0x2BCE, 0x430C, 0x5321, 0x4030, 0xD31C,
+0x930C, 0x37D6, 0x403C, 0xFFD8, 0x3FF8, 0x930D, 0x3408, 0x1208, 0xE33C,
+0xE33D, 0x531C, 0x630D, 0x4038, 0x0197, 0x3C03, 0x1208, 0x4038, 0x0097,
+0x903D, 0x0100, 0x2C1C, 0x930D, 0x200F, 0x903C, 0x0100, 0x2806, 0x108C,
+0x4C4D, 0xC03C, 0x00FF, 0x8238, 0x3C06, 0x930C, 0x240D, 0x4C0D, 0x430C,
+0x8038, 0x0010, 0x8318, 0x5C0C, 0x6D4D, 0x2BFC, 0x1108, 0x104D, 0x100C,
+0x1088, 0xD80D, 0x4138, 0x4130, 0x1207, 0x4347, 0x903D, 0x0200, 0x2808,
+0xC312, 0x100D, 0x100C, 0x1047, 0x5318, 0x903D, 0x0200, 0x2FF8, 0x1108,
+0x104D, 0x100C, 0x1088, 0xD80D, 0x6747, 0x2806, 0xC312, 0x1047, 0x2001,
+0x2802, 0x531C, 0x630D, 0x4137, 0x4138, 0x4130, 0x120A, 0x120B, 0x1208,
+0x8221, 0x403A, 0x00C8, 0x4381, 0x0000, 0x4381, 0x0002, 0x410C, 0x530C,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x403B, 0x1726, 0x434C, 0x12AB, 0x407C,
+0x00C1, 0x1292, 0x1712, 0x403C, 0x0EC4, 0x430D, 0x1292, 0x171A, 0x435C,
+0x12AB, 0x434C, 0x12AB, 0x407C, 0x0042, 0x1292, 0x1712, 0x430C, 0x1292,
+0x1718, 0x4C08, 0x435C, 0x12AB, 0x434C, 0x12AB, 0x435C, 0x12AB, 0xB228,
+0x2C07, 0xF228, 0x480C, 0x3C0B, 0x434C, 0x12AB, 0x435C, 0x12AB, 0x4A0F,
+0x533A, 0x930F, 0x23F8, 0x435C, 0x12AB, 0x430C, 0x421F, 0x16F4, 0x129F,
+0x0008, 0x430C, 0x5221, 0x4030, 0xD320, 0x120A, 0x120B, 0x1208, 0x1209,
+0x1206, 0x4C08, 0x4E0A, 0x4039, 0x1712, 0x407C, 0x00C8, 0x12A9, 0x4036,
+0x1718, 0x403C, 0x3401, 0x12A6, 0x407C, 0x0082, 0x12A9, 0xD038, 0x4030,
+0x480C, 0x12A6, 0x4038, 0x1726, 0x434C, 0x12A8, 0x407C, 0x0042, 0x12A9,
+0x435C, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x4A0C, 0x12A6, 0x434C, 0x12A8,
+0x407C, 0x0042, 0x12A9, 0x435C, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x403C,
+0x3FFD, 0x12A6, 0x434C, 0x12A8, 0x407C, 0x0042, 0x12A9, 0x435C, 0x12A8,
+0x434C, 0x12A8, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x2401, 0x12A6, 0x435C,
+0x12A8, 0x4030, 0xD31C, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x435A,
+0x403B, 0x1726, 0x4038, 0x1718, 0x4039, 0x1712, 0x3C03, 0x936A, 0x2001,
+0x426A, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x3401, 0x12A8, 0x407C, 0x0082,
+0x12A9, 0x4A4C, 0x108C, 0xF03C, 0x0F00, 0xD03C, 0x4082, 0x12B0, 0xD3D6,
+0x407C, 0x0082, 0x12A9, 0x403C, 0x00FE, 0x12B0, 0xD3D6, 0x434C, 0x12AB,
+0x435C, 0x12AB, 0x430C, 0x12A8, 0x4C06, 0x434C, 0x12AB, 0x407C, 0x00C8,
+0x12A9, 0x403C, 0x2401, 0x12A8, 0x435C, 0x12AB, 0x460C, 0x421F, 0x16F4,
+0x129F, 0x0008, 0x535A, 0x907A, 0x0010, 0x2BCB, 0x430C, 0x4030, 0xD31C,
+0x464C, 0x4030, 0xBAAA, 0x464C, 0x12B0, 0xBAAA, 0x403C, 0xD034, 0x4820,
+0x407C, 0x0021, 0x12AB, 0x430C, 0x12A8, 0x4C81, 0x000A, 0x4381, 0x000C,
+0x4130, 0x474C, 0x12AB, 0x430C, 0x12A8, 0xF07C, 0x0081, 0x907C, 0x0081,
+0x4130, 0x12A8, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12AB, 0x435C, 0x4A20,
+0x12A8, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x12B0, 0xD54E, 0x435C, 0x4A20,
+0x464C, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12AA, 0x494C, 0x12AB,
+0x403C, 0x2409, 0x12A8, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12B0, 0xD54E,
+0x407C, 0x0021, 0x4030, 0xBAAA, 0x120A, 0x120B, 0x1208, 0x1209, 0x4308,
+0x430A, 0x430B, 0x434C, 0x1292, 0x1726, 0x407C, 0x0028, 0x1292, 0x1712,
+0x430C, 0x1292, 0x1718, 0x4C09, 0x9318, 0x380A, 0xB32C, 0x2C08, 0x407C,
+0x00C8, 0x1292, 0x1712, 0x403C, 0x3400, 0x1292, 0x1718, 0xB318, 0x2C0B,
+0xB329, 0x2809, 0x407C, 0x00C8, 0x1292, 0x1712, 0x403C, 0x3402, 0x1292,
+0x1718, 0x4318, 0x435C, 0x1292, 0x1726, 0x531A, 0x630B, 0x9038, 0x000A,
+0x340C, 0xB329, 0x2806, 0x930B, 0x3BD0, 0x2003, 0x903A, 0x1388, 0x2BCC,
+0x430C, 0x430D, 0x4030, 0xD31E, 0x433C, 0x433D, 0x3FFB, 0x120A, 0x120B,
+0x8221, 0x403A, 0x16F4, 0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C,
+0x0090, 0x1292, 0x1712, 0x403B, 0x1718, 0x3C19, 0x410C, 0x532C, 0x4A2F,
+0x129F, 0x0016, 0x416C, 0x12AB, 0x411C, 0x0002, 0x12AB, 0x90F1, 0x009E,
+0x0000, 0x2006, 0xB0B1, 0x0040, 0x0002, 0x2802, 0x4382, 0x168E, 0x415E,
+0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x2410, 0x410C, 0x530C,
+0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BDC, 0x416C, 0x12AB, 0x430C,
+0x12AB, 0x4A2F, 0x129F, 0x0008, 0x3FE8, 0x430C, 0x5221, 0x413B, 0x413A,
+0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x4308, 0x430A, 0x430B, 0x434C,
+0x1292, 0x1726, 0x407C, 0x0028, 0x1292, 0x1712, 0x430C, 0x1292, 0x1718,
+0x4C09, 0x9318, 0x380A, 0xB32C, 0x2C08, 0x407C, 0x00C8, 0x1292, 0x1712,
+0x403C, 0x3400, 0x1292, 0x1718, 0xB318, 0x2C0B, 0xB329, 0x2809, 0x407C,
+0x00C8, 0x1292, 0x1712, 0x403C, 0x3402, 0x1292, 0x1718, 0x4318, 0x435C,
+0x1292, 0x1726, 0x531A, 0x630B, 0x9038, 0x000A, 0x340C, 0xB329, 0x2806,
+0x930B, 0x3BD0, 0x2003, 0x903A, 0x1388, 0x2BCC, 0x430C, 0x430D, 0x4030,
+0xD31E, 0x433C, 0x433D, 0x3FFB, 0x8031, 0x000A, 0x4391, 0x0008, 0x4C81,
+0x0006, 0x12B0, 0xD966, 0x4381, 0x0004, 0x12B0, 0xD98E, 0x430C, 0x1292,
+0x1718, 0x4C81, 0x0000, 0x411E, 0x0002, 0x411F, 0x0004, 0x4E0C, 0x4F0D,
+0x531C, 0x630D, 0x4C81, 0x0002, 0x4D81, 0x0004, 0x930F, 0x2003, 0x903E,
+0x0BB8, 0x2802, 0x431C, 0x3C1A, 0xB391, 0x0000, 0x2C07, 0x9381, 0x0004,
+0x2004, 0x90B1, 0x0BB8, 0x0002, 0x2BDE, 0x9381, 0x0004, 0x200C, 0x90B1,
+0x0BB8, 0x0002, 0x2C08, 0x411C, 0x0008, 0x1292, 0x1718, 0x411C, 0x0006,
+0x1292, 0x1718, 0x430C, 0x5031, 0x000A, 0x4130, 0x120A, 0x8221, 0x4381,
+0x0000, 0x4381, 0x0002, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0016,
+0x9382, 0x167C, 0x2420, 0x407C, 0x0028, 0x1292, 0x1712, 0x907C, 0x0089,
+0x240F, 0x907C, 0x008D, 0x240C, 0x907C, 0x0091, 0x2409, 0x907C, 0x0095,
+0x2406, 0x907C, 0x0098, 0x2403, 0x907C, 0x0099, 0x200A, 0x407C, 0x00D0,
+0x1292, 0x1712, 0x430C, 0x1292, 0x1718, 0x4C0A, 0xB12C, 0x2004, 0x432C,
+0x5221, 0x413A, 0x4130, 0x4382, 0x167C, 0x431C, 0x421F, 0x16F4, 0x129F,
+0x0008, 0x4A0C, 0x421F, 0x16F4, 0x129F, 0x0008, 0x431C, 0x3FEF, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C05, 0x4C2A,
+0x4C1B, 0x0002, 0x4038, 0x1726, 0x434C, 0x12A8, 0x4039, 0x1712, 0x4074,
+0x0082, 0x12B0, 0xC0A4, 0x4036, 0x1718, 0x12B0, 0xC0B4, 0x503C, 0x0085,
+0x12A6, 0x4077, 0x00C8, 0x12B0, 0xC0C4, 0x451A, 0x0004, 0x451B, 0x0006,
+0x12B0, 0xC0AC, 0x503C, 0x0086, 0x12B0, 0xC0C2, 0x451A, 0x0008, 0x451B,
+0x000A, 0x12B0, 0xC0AC, 0x503C, 0x0089, 0x12B0, 0xC0C2, 0x451A, 0x000C,
+0x451B, 0x000E, 0x12B0, 0xC0AC, 0x503C, 0x0088, 0x12B0, 0xC0C2, 0x4030,
+0xD316, 0x120A, 0x120B, 0x1208, 0xC232, 0x4303, 0x425E, 0x2554, 0x403F,
+0x2552, 0xBEC2, 0x1766, 0x421D, 0x2558, 0xCECD, 0x0000, 0xCFED, 0x0000,
+0x2402, 0xDECD, 0x0000, 0xDFED, 0x0000, 0x403A, 0x1760, 0x403B, 0x170A,
+0x934C, 0x2407, 0x421D, 0x2558, 0xDECD, 0x0000, 0xDECD, 0x0000, 0x3C07,
+0xE37E, 0x421D, 0x2558, 0xFECD, 0x0000, 0xFECD, 0x0000, 0x4F6C, 0xE37C,
+0xFCCD, 0x0000, 0xDFED, 0x0000, 0x4B28, 0xEAE8, 0x0000, 0xC232, 0x4303,
+0xFCCD, 0x0000, 0xDFED, 0x0000, 0x12B0, 0x2E86, 0x4EC2, 0x1766, 0x4030,
+0xD320, 0x120A, 0x120B, 0x1208, 0x1209, 0x4C0A, 0x4D0B, 0x4038, 0x1712,
+0x407C, 0x0088, 0x12A8, 0x407C, 0x0034, 0x1292, 0x1716, 0x407C, 0x0082,
+0x12A8, 0x4A0C, 0x4B0D, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF03C, 0x0F00,
+0xD03C, 0x0080, 0x1292, 0x1718, 0x4039, 0x1726, 0x434C, 0x12A9, 0x435C,
+0x12A9, 0x4A0C, 0x1292, 0x1718, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x407C,
+0x0021, 0x12A8, 0x434C, 0x12A9, 0x407C, 0x0088, 0x12A8, 0x407C, 0x0024,
+0x1292, 0x1716, 0x435C, 0x12A9, 0x4030, 0xD31E, 0x120A, 0x120B, 0x1208,
+0x1209, 0x8221, 0x4291, 0x2546, 0x0000, 0x4291, 0x2548, 0x0002, 0x403A,
+0x1726, 0x434C, 0x12AA, 0x403B, 0x1712, 0x4078, 0x00C8, 0x484C, 0x12AB,
+0x4039, 0x1718, 0x12B0, 0xD730, 0x403C, 0xFF80, 0x12B0, 0xD3F6, 0x412C,
+0x12B0, 0xCF3C, 0x434C, 0x12AA, 0x484C, 0x12AB, 0x12B0, 0xD730, 0x403C,
+0xFF82, 0x12B0, 0xD3F6, 0x411C, 0x0002, 0x12B0, 0xCF3C, 0x407C, 0x0054,
+0x12AB, 0x403C, 0x0200, 0x430D, 0x1292, 0x171C, 0x430C, 0x5221, 0x4030,
+0xD31E, 0x407C, 0x0028, 0x12AB, 0x430C, 0x4820, 0x407C, 0x00B0, 0x12AB,
+0x403C, 0x0088, 0x430D, 0x4210, 0x171C, 0x12B0, 0xBFCA, 0x422C, 0x12A8,
+0x4030, 0xBFCA, 0x12B0, 0xBF9A, 0x4C04, 0x435C, 0x4030, 0xBFC8, 0x430D,
+0x12A7, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0042, 0x3FE0, 0x434C,
+0x12A6, 0x494C, 0x12AB, 0x403C, 0x0500, 0x12A8, 0x454C, 0x4B20, 0x12A8,
+0x434C, 0x12A6, 0x12B0, 0xD594, 0x12A6, 0x434C, 0x12A6, 0x435C, 0x4620,
+0x120A, 0x403A, 0xD0C6, 0x403E, 0x000C, 0x430D, 0x403C, 0x16F6, 0x128A,
+0x403E, 0x0020, 0x430D, 0x403C, 0x1740, 0x128A, 0x40B2, 0x0417, 0x16F0,
+0x4382, 0x16F2, 0x4382, 0x1706, 0x40B2, 0x0CE4, 0x1738, 0x43D2, 0x1763,
+0x43C2, 0x1764, 0x4382, 0x173C, 0x4382, 0x173E, 0x4382, 0x173A, 0x423E,
+0x430D, 0x403C, 0x16CA, 0x128A, 0x403E, 0x0018, 0x430D, 0x403C, 0x16D2,
+0x128A, 0x4392, 0x16EA, 0x40B2, 0x015C, 0x16EC, 0x413A, 0x4130, 0x120A,
+0x407C, 0x0044, 0x1292, 0x1712, 0x431C, 0x1292, 0x1540, 0x43D2, 0x1767,
+0x407C, 0x0024, 0x1292, 0x1712, 0x421A, 0x2558, 0xC2DA, 0x2554, 0x0000,
+0xC2DA, 0x2552, 0x0000, 0xD2DA, 0x2552, 0x0000, 0x431C, 0x430D, 0x12B0,
+0x33A4, 0xD2DA, 0x2554, 0x0000, 0x403C, 0x0003, 0x1292, 0x1540, 0x430C,
+0x430D, 0x12B0, 0x33A4, 0x407C, 0x0054, 0x1292, 0x1712, 0x403C, 0x0200,
+0x430D, 0x1292, 0x171C, 0x430C, 0x413A, 0x4130, 0x444C, 0x12A9, 0x435C,
+0x4820, 0x434C, 0x12A8, 0x12B0, 0xC0A4, 0x4A0C, 0x4B0D, 0x12B0, 0xCAC0,
+0xF03C, 0x0F00, 0x4130, 0x12A6, 0x474C, 0x12A9, 0x403C, 0x1401, 0x12A6,
+0x444C, 0x12A9, 0x12B0, 0xD7B0, 0x4A0C, 0x12B0, 0xD7AE, 0x403C, 0x3FFD,
+0x12B0, 0xD9D6, 0x407C, 0x0021, 0x12A9, 0x430C, 0x430D, 0x1292, 0x171A,
+0x435C, 0x12A8, 0x474C, 0x12A9, 0x403C, 0x0501, 0x12B0, 0xD9D6, 0x407C,
+0x0042, 0x4030, 0xC0A6, 0x120A, 0x120B, 0x407A, 0x0003, 0x407C, 0x0028,
+0x1292, 0x1712, 0x907C, 0x0099, 0x240E, 0x907C, 0x0098, 0x240B, 0x907C,
+0x0095, 0x2408, 0x907C, 0x0091, 0x2405, 0x907C, 0x0089, 0x2402, 0x433C,
+0x3C16, 0x403C, 0xAAAA, 0x1292, 0x1718, 0x4C0B, 0x903C, 0x5555, 0x2006,
+0x403C, 0x5555, 0x421F, 0x16F4, 0x129F, 0x0008, 0x537A, 0x23DB, 0x4B0C,
+0x421F, 0x16F4, 0x129F, 0x0008, 0x430C, 0x413B, 0x413A, 0x4130, 0x120A,
+0x120B, 0x1208, 0x8221, 0x433B, 0x43E1, 0x0000, 0x4218, 0x1374, 0x4381,
+0x0002, 0x403A, 0x16F4, 0x410C, 0x532C, 0x4A2F, 0x129F, 0x0016, 0x12B0,
+0x8FDC, 0x4CC1, 0x0000, 0x9381, 0x0002, 0x2409, 0x4A2F, 0x4F1F, 0x0008,
+0x93D1, 0x0000, 0x12B0, 0xD04C, 0x430B, 0x3C0C, 0x416E, 0x4E82, 0x1374,
+0x9E08, 0x2407, 0x4A2F, 0x4F1F, 0x0008, 0x935E, 0x12B0, 0xD04C, 0x431B,
+0x4B0C, 0x5221, 0x4030, 0xD320, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
+0x4C0A, 0x4038, 0x1712, 0x407C, 0x00C8, 0x12A8, 0x4039, 0x1718, 0x403C,
+0x3401, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x4030, 0x12A9, 0x4036,
+0x1726, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x4A0C, 0x12A9, 0x434C, 0x12A6,
+0x435C, 0x12A6, 0x407C, 0x0021, 0x12A8, 0x434C, 0x12A6, 0x407C, 0x00C8,
+0x12A8, 0x403C, 0x2401, 0x12A9, 0x435C, 0x12A6, 0x4030, 0xD31C, 0x120A,
+0x403A, 0x1712, 0x934C, 0x200A, 0x407C, 0x00C8, 0x12AA, 0x403C, 0x7401,
+0x1292, 0x1718, 0x434C, 0x12B0, 0x3330, 0x407C, 0x0044, 0x12AA, 0x431C,
+0x1292, 0x1540, 0x431C, 0x430D, 0x12B0, 0x33A4, 0x407C, 0x0024, 0x12AA,
+0x431C, 0x1292, 0x1540, 0x430C, 0x430D, 0x12B0, 0x33A4, 0x435C, 0x12B0,
+0x3330, 0x407C, 0x0054, 0x12AA, 0x403C, 0x0200, 0x430D, 0x1292, 0x171C,
+0x430C, 0x413A, 0x4130, 0x120A, 0x4C0A, 0x12B0, 0xBFD2, 0x4392, 0x1702,
+0x40B2, 0x07CF, 0x1704, 0x403E, 0x000C, 0x403D, 0x253A, 0x403C, 0x16F6,
+0x12B0, 0xD032, 0x4A82, 0x16F4, 0x12B0, 0xC87E, 0x9382, 0x1304, 0x2006,
+0x40B2, 0xFFFE, 0x1302, 0x4292, 0x1542, 0x1304, 0x12B0, 0xC6C8, 0x4382,
+0x16F0, 0x4382, 0x16F2, 0x40B2, 0x0070, 0x16FE, 0x40B2, 0x1146, 0x1700,
+0x43C2, 0x16FC, 0x403C, 0x16F6, 0x413A, 0x4130, 0x4C0F, 0x930C, 0x2421,
+0x503C, 0x0032, 0x93C2, 0x1566, 0x2413, 0xC2F2, 0x0031, 0xC0F2, 0x0020,
+0x0029, 0x4F82, 0x1738, 0x12B0, 0xB2E6, 0x421F, 0x170A, 0xD2FF, 0x0000,
+0x431C, 0x12B0, 0xC95E, 0x43C2, 0x1566, 0x3C13, 0x4F82, 0x1738, 0x12B0,
+0xB2E6, 0x421F, 0x170A, 0xD2FF, 0x0000, 0x3C0A, 0x421F, 0x170A, 0xC2FF,
+0x0000, 0x1292, 0x153C, 0x4382, 0x1738, 0x43D2, 0x1566, 0x430C, 0x4130,
+0x494C, 0x12A8, 0x12B0, 0xDAB6, 0x421F, 0x16A0, 0x903F, 0x0091, 0x2406,
+0x903F, 0x0099, 0x2403, 0x903F, 0x0098, 0x201F, 0x407C, 0x0028, 0x12A8,
+0x430C, 0x12B0, 0xDB12, 0x474C, 0x12A8, 0x435C, 0x12AA, 0x403C, 0x0080,
+0x12B0, 0xDB12, 0x12B0, 0xD138, 0x422C, 0x12B0, 0xDB12, 0x435C, 0x12AA,
+0x403C, 0x4303, 0x12B0, 0xDB12, 0x12B0, 0xD456, 0x12B0, 0xDAB6, 0x444C,
+0x12A8, 0x4130, 0x434C, 0x12A6, 0x407C, 0x0082, 0x12A8, 0x435C, 0x12A6,
+0x4A0C, 0x12A9, 0x434C, 0x4620, 0x444C, 0x12A8, 0x430C, 0x430D, 0x1292,
+0x171A, 0x454C, 0x12A8, 0x403C, 0x0501, 0x12A9, 0x435C, 0x12A6, 0x444C,
+0x4820, 0x454C, 0x12A8, 0x403C, 0x1400, 0x12A9, 0x407C, 0x0082, 0x12A8,
+0x434C, 0x12A6, 0x435C, 0x12A6, 0x4B0C, 0x12A9, 0x434C, 0x12A6, 0x435C,
+0x12A6, 0x403C, 0x4303, 0x3FD9, 0x120A, 0x120B, 0x8321, 0x433B, 0x4381,
+0x0000, 0x403A, 0x16F4, 0x410C, 0x530C, 0x4A2F, 0x129F, 0x0016, 0x9381,
+0x0000, 0x2419, 0x12B0, 0xD5A2, 0x240A, 0x434C, 0x1292, 0x153A, 0x1292,
+0x170E, 0x1292, 0x1710, 0x12B0, 0xD5A2, 0x2004, 0x12B0, 0xD14E, 0x430D,
+0x3C04, 0x12B0, 0xD14E, 0x403D, 0xC000, 0x4A2F, 0x129F, 0x000A, 0x430B,
+0x4B0C, 0x5321, 0x413B, 0x413A, 0x4130, 0x8321, 0x4381, 0x0000, 0x431C,
+0x1292, 0x1550, 0x403C, 0x01F4, 0x1292, 0x1540, 0x434C, 0x1292, 0x153A,
+0x1292, 0x170E, 0x1292, 0x1710, 0x407C, 0x0028, 0x1292, 0x1712, 0x4C4C,
+0x4C81, 0x0000, 0x90B1, 0x0089, 0x0000, 0x200C, 0x435C, 0x12B0, 0xDA36,
+0x407C, 0x0089, 0x12B0, 0xDA36, 0x436C, 0x12B0, 0xDA36, 0x430C, 0x3C01,
+0x433C, 0x5321, 0x4130, 0x9382, 0x16E2, 0x240C, 0x407C, 0x00F4, 0x1292,
+0x1712, 0x421C, 0x16E4, 0x1292, 0x1718, 0x403C, 0x0014, 0x1292, 0x1540,
+0x421F, 0x16D2, 0xD21F, 0x16D4, 0x930F, 0x240E, 0x407C, 0x0054, 0x1292,
+0x1712, 0x421C, 0x16D6, 0x421D, 0x16D8, 0x1292, 0x171C, 0x403C, 0x0014,
+0x1292, 0x1540, 0x1292, 0x153C, 0x430C, 0x4130, 0x1206, 0x1207, 0x4D06,
+0xD07D, 0x0080, 0x6606, 0x6707, 0x1086, 0xF376, 0x8076, 0x007F, 0x2C03,
+0x430C, 0x430D, 0x3C13, 0x8076, 0x0018, 0x2C07, 0xE376, 0x240E, 0x110D,
+0x100C, 0x8356, 0x23FC, 0x3C09, 0x9236, 0x3803, 0x433C, 0x433D, 0x3C04,
+0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x4137, 0x4136, 0x4130, 0x120A,
+0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x4C08, 0x4E0A, 0x4F0B,
+0x12B0, 0xD2BC, 0xB0F2, 0x0040, 0x1766, 0x12B0, 0xCB20, 0x440C, 0x2803,
+0x12B0, 0xCAFC, 0x3C02, 0x12B0, 0xD6B8, 0x12B0, 0xCE6A, 0x12B0, 0xCB14,
+0x12B0, 0xD190, 0x4A0E, 0x4B0F, 0x480C, 0x12B0, 0x96E2, 0x4030, 0xD318,
+0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C4A, 0x12B0, 0x95B4, 0xB0F2,
+0x0040, 0x1766, 0x12B0, 0xCB20, 0x460C, 0x2805, 0x12B0, 0xD164, 0x12B0,
+0xCB20, 0x3C04, 0x12B0, 0xD164, 0x12B0, 0xD6BC, 0x12B0, 0x94F0, 0x12B0,
+0xD6BC, 0x12B0, 0x95C6, 0x4A4E, 0x430F, 0x423C, 0x12B0, 0x96E2, 0x4030,
+0xD31C, 0x120A, 0x426A, 0x407C, 0x0028, 0x1292, 0x1712, 0x4C4C, 0x907C,
+0x0089, 0x2414, 0x907C, 0x008D, 0x2411, 0x907C, 0x0091, 0x240E, 0x907C,
+0x0095, 0x240B, 0x907C, 0x0098, 0x2408, 0x907C, 0x0099, 0x2405, 0x537A,
+0x23E7, 0x433C, 0x413A, 0x4130, 0x421F, 0x16F4, 0x129F, 0x0008, 0x430C,
+0x3FF8, 0x462F, 0xE9EF, 0x0000, 0xC232, 0x4303, 0x425E, 0x2552, 0x4E4F,
+0xE37F, 0x421D, 0x2558, 0x4030, 0xC670, 0xD0B2, 0x0010, 0x01F0, 0xD392,
+0x01F0, 0x4030, 0xC666, 0x12B0, 0x2F6A, 0x462C, 0xE9EC, 0x0000, 0xC232,
+0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000,
+0x4130, 0x8321, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0014, 0x930C,
+0x3403, 0x403C, 0xFFEB, 0x3C15, 0x416C, 0x1292, 0x1536, 0x930C, 0x2403,
+0x403C, 0xFFEA, 0x3C0D, 0x434C, 0x1292, 0x153A, 0x1292, 0x170E, 0x1292,
+0x1710, 0x435C, 0x421F, 0x16F4, 0x129F, 0x0004, 0x430C, 0x5321, 0x4130,
+0x12B0, 0xB384, 0x4382, 0x0122, 0x4382, 0x0124, 0x40B2, 0x13C0, 0x01E8,
+0x4292, 0x2558, 0x01EC, 0x40B2, 0x13C0, 0x01F0, 0x4292, 0x2558, 0x01F4,
+0x42A2, 0x01F6, 0x4382, 0x1706, 0x4382, 0x1708, 0x430C, 0x12B0, 0x347E,
+0x4392, 0x170C, 0x40B2, 0x8E50, 0x1562, 0x430C, 0x4130, 0x120A, 0x120B,
+0x1208, 0x4C0A, 0x407C, 0x0082, 0x1292, 0x1712, 0x403C, 0x4030, 0x1292,
+0x1718, 0x4038, 0x1726, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x4A0C, 0x1292,
+0x1718, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x435C, 0x12A8, 0x434C, 0x12A8,
+0x435C, 0x12A8, 0x4030, 0xD320, 0x435C, 0x1292, 0x1544, 0x1292, 0x170E,
+0x403C, 0xA55A, 0x12B0, 0xBC7A, 0x931C, 0x2413, 0x12B0, 0xDA5E, 0x435C,
+0x1292, 0x1546, 0x12B0, 0xD516, 0x2409, 0x907C, 0x0095, 0x2406, 0x907C,
+0x0098, 0x2403, 0x907C, 0x0099, 0x2002, 0x430C, 0x4130, 0x433C, 0x4130,
+0x434C, 0x1292, 0x1546, 0x12B0, 0xDA5E, 0x434C, 0x1292, 0x1548, 0x12B0,
+0xDA5E, 0x434C, 0x1292, 0x1544, 0x1292, 0x170E, 0x12B0, 0xD516, 0x240B,
+0x907C, 0x0095, 0x2408, 0x907C, 0x0098, 0x2405, 0x907C, 0x0099, 0x2402,
+0x433C, 0x4130, 0x430C, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0xB2F2,
+0x001D, 0x2808, 0x431C, 0x12B0, 0xD880, 0x4C8A, 0x0000, 0x4D8A, 0x0002,
+0x3C04, 0x438C, 0x0000, 0x438C, 0x0002, 0x430C, 0x12B0, 0xD880, 0x4C8B,
+0x0000, 0x4D8B, 0x0002, 0x430C, 0x413B, 0x413A, 0x4130, 0x12A9, 0x434C,
+0x12A8, 0x12B0, 0xD476, 0x411C, 0x0002, 0x12A9, 0x434C, 0x12A8, 0x12B0,
+0xD476, 0x403C, 0x3FFD, 0x12A9, 0x434C, 0x12A8, 0x464C, 0x12AA, 0x435C,
+0x12A8, 0x434C, 0x12A8, 0x454C, 0x12AA, 0x407C, 0x0024, 0x12A7, 0x435C,
+0x4820, 0x8231, 0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0000, 0x4381,
+0x0002, 0x410D, 0x530D, 0x410C, 0x522C, 0x1292, 0x1534, 0x411C, 0x0004,
+0x411D, 0x0006, 0x12B0, 0xD664, 0x412C, 0x411D, 0x0002, 0x12B0, 0xD664,
+0x430C, 0x5231, 0x4130, 0x434E, 0x4E4F, 0x5F0F, 0x5F0F, 0x4F9F, 0x1376,
+0x1146, 0x4F9F, 0x1378, 0x1148, 0x535E, 0x907E, 0x006E, 0x2BF3, 0x407E,
+0x006E, 0x4E4F, 0x5F0F, 0x5F0F, 0x43BF, 0x1146, 0x438F, 0x1148, 0x535E,
+0x907E, 0x0070, 0x2BF5, 0x4130, 0x120C, 0x120E, 0x425E, 0x1765, 0x535E,
+0x907E, 0x000A, 0x200F, 0x434E, 0x4382, 0x0160, 0x432C, 0x12B0, 0xCDEC,
+0x903C, 0x0FFF, 0x3404, 0x40B2, 0x0114, 0x0160, 0x3C02, 0x43C2, 0x1762,
+0x4EC2, 0x1765, 0x413E, 0x413C, 0x1300, 0x1209, 0x120A, 0x120B, 0x430A,
+0x430B, 0x4039, 0x0020, 0x5C0C, 0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B,
+0x2804, 0xD31C, 0x5339, 0x23F6, 0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1,
+0x4A0E, 0x4B0F, 0x413B, 0x413A, 0x4139, 0x4130, 0x4C82, 0x1708, 0x9392,
+0x1706, 0x200D, 0x931C, 0x2003, 0x403F, 0xCCF2, 0x3C0F, 0x932C, 0x2003,
+0x403F, 0xAB50, 0x3C0A, 0x403F, 0xAAEC, 0x3C07, 0x931C, 0x2003, 0x403F,
+0x3EB2, 0x3C02, 0x403F, 0x3EE2, 0x4F82, 0x1728, 0x4130, 0x930C, 0x2418,
+0x4382, 0x0160, 0xC392, 0x0160, 0x40B2, 0x0200, 0x0160, 0x40B2, 0x02E9,
+0x0172, 0x4382, 0x0170, 0xD0B2, 0x0014, 0x0160, 0xB392, 0x0160, 0x2BFD,
+0x4382, 0x0160, 0xC392, 0x0160, 0x533C, 0x23E8, 0x4130, 0x903C, 0x0091,
+0x2002, 0x930D, 0x2414, 0x903C, 0x0095, 0x2002, 0x930D, 0x240F, 0x903C,
+0x0098, 0x2002, 0x930D, 0x240A, 0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C,
+0x2402, 0x434C, 0x4130, 0x435C, 0x4130, 0x435C, 0x4130, 0x1292, 0x1726,
+0x12B0, 0x39BE, 0xC3D2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x12B0, 0x39B4,
+0x12B0, 0x39BE, 0xD2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x12B0, 0x39B4,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4130, 0x903C, 0x0091,
+0x2002, 0x930D, 0x2414, 0x903C, 0x0095, 0x2002, 0x930D, 0x240F, 0x903C,
+0x0098, 0x2002, 0x930D, 0x240A, 0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C,
+0x2402, 0x434C, 0x4130, 0x435C, 0x4130, 0x435C, 0x4130, 0x120A, 0x120B,
+0x12B0, 0xD98E, 0x403B, 0x1718, 0x430C, 0x12AB, 0xB23C, 0x280B, 0x403C,
+0x0014, 0x12AB, 0x430C, 0x12AB, 0x4C0A, 0x430C, 0x12AB, 0x4C0D, 0x4A0C,
+0x3C02, 0x430C, 0x430D, 0x413B, 0x413A, 0x4130, 0x474C, 0x12AA, 0x435C,
+0x4920, 0x12B0, 0xCA7A, 0x435C, 0x4920, 0x12A6, 0x434C, 0x4920, 0x434C,
+0x12A9, 0x407C, 0x00C8, 0x4A20, 0x12B0, 0xCA7A, 0x407C, 0x0042, 0x12AA,
+0x435C, 0x12A9, 0x484C, 0x3FE8, 0xC312, 0x100D, 0x100C, 0xC312, 0x100D,
+0x100C, 0xC312, 0x100D, 0x100C, 0xC312, 0x100D, 0x100C, 0xC312, 0x100D,
+0x100C, 0xC312, 0x100D, 0x100C, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF37D,
+0x4130, 0x434C, 0x12A9, 0x4B4C, 0x12AA, 0x440C, 0x4820, 0x12A8, 0x434C,
+0x12A9, 0x407C, 0x0042, 0x12AA, 0x435C, 0x4920, 0x434C, 0x12A9, 0x4B4C,
+0x12AA, 0x403C, 0x2C01, 0x12A8, 0x435C, 0x12A9, 0x3FEA, 0x12B0, 0xCB04,
+0x4030, 0xCB20, 0x12A9, 0x12B0, 0xD83A, 0x472F, 0xC3DF, 0x0000, 0x431C,
+0x4920, 0x12B0, 0xCB1C, 0x12B0, 0xCE6A, 0x12B0, 0xCB04, 0xD0F2, 0x0040,
+0x0029, 0x4130, 0x4191, 0x0006, 0x0008, 0x4381, 0x000A, 0x407C, 0x0082,
+0x12AA, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12A9, 0x4B4C, 0x12AA, 0x403C,
+0x2409, 0x12A8, 0x435C, 0x12A9, 0x434C, 0x4920, 0x120A, 0x8321, 0x433A,
+0x43C1, 0x0000, 0x410C, 0x530C, 0x421F, 0x16F4, 0x129F, 0x0014, 0x933C,
+0x2404, 0x416C, 0x1292, 0x172A, 0x430A, 0x4A0C, 0x5321, 0x413A, 0x4130,
+0x40B2, 0x9F60, 0x1670, 0x40B2, 0xB952, 0x1672, 0x40B2, 0xC1D2, 0x1674,
+0x40B2, 0xB67A, 0x1676, 0x40B2, 0xB70E, 0x1678, 0x4292, 0x1194, 0x167A,
+0x430C, 0x4030, 0x8946, 0x40B2, 0x95E6, 0x1670, 0x40B2, 0xAD10, 0x1672,
+0x40B2, 0xBE7E, 0x1674, 0x40B2, 0xB41E, 0x1676, 0x40B2, 0xB54E, 0x1678,
+0x4292, 0x11E8, 0x167A, 0x430C, 0x4030, 0x86C6, 0x40B2, 0x9F60, 0x1670,
+0x40B2, 0xB952, 0x1672, 0x40B2, 0xC70C, 0x1674, 0x40B2, 0xB67A, 0x1676,
+0x40B2, 0xB70E, 0x1678, 0x4292, 0x1194, 0x167A, 0x431C, 0x4030, 0x86C6,
+0x40B2, 0x9F60, 0x1670, 0x40B2, 0xB952, 0x1672, 0x40B2, 0xC70C, 0x1674,
+0x40B2, 0xB67A, 0x1676, 0x40B2, 0xB70E, 0x1678, 0x4292, 0x1194, 0x167A,
+0x431C, 0x4030, 0x8946, 0x40B2, 0x95E6, 0x1670, 0x40B2, 0xAD10, 0x1672,
+0x40B2, 0xBE7E, 0x1674, 0x40B2, 0xB41E, 0x1676, 0x40B2, 0xB54E, 0x1678,
+0x4292, 0x11E8, 0x167A, 0x430C, 0x4030, 0x8946, 0x40B2, 0x9F60, 0x1670,
+0x40B2, 0xB952, 0x1672, 0x40B2, 0xC1D2, 0x1674, 0x40B2, 0xB67A, 0x1676,
+0x40B2, 0xB70E, 0x1678, 0x4292, 0x1194, 0x167A, 0x430C, 0x4030, 0x86C6,
+0x907B, 0x0010, 0x2807, 0x4D0C, 0x4E0D, 0x4F0E, 0x430F, 0x807B, 0x0010,
+0x3FF6, 0x934B, 0x2407, 0xC312, 0x100F, 0x100E, 0x100D, 0x100C, 0x835B,
+0x23F9, 0x4130, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x490C, 0x4820, 0x12B0,
+0xCCA2, 0x435C, 0x4620, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x403C, 0x2C01,
+0x12A8, 0x435C, 0x4030, 0xCCA4, 0x4C0F, 0x430C, 0x922F, 0x2C0F, 0x5F0F,
+0x4F1C, 0x0140, 0x5F1C, 0x0148, 0x5F1C, 0x0150, 0x5F1C, 0x0158, 0x4F1E,
+0x254A, 0x12B0, 0xCFB0, 0x12B0, 0xCA9C, 0x4130, 0x120A, 0x120B, 0x1208,
+0x1209, 0x1206, 0x4C0A, 0x4D0B, 0x4218, 0x01F2, 0x12B0, 0xA9E2, 0x12B0,
+0xAB06, 0x4882, 0x01F2, 0x435C, 0x1292, 0x1726, 0x4030, 0xD31C, 0x4191,
+0x000A, 0x0002, 0x454C, 0x12AA, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12A6,
+0x4B4C, 0x12AA, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12A6, 0x434C, 0x4620,
+0x12B0, 0xCB20, 0x421F, 0x170A, 0xC2DF, 0x1760, 0x0000, 0x431C, 0x1292,
+0x1540, 0x421F, 0x170A, 0xD3DF, 0x0000, 0xC0F2, 0x0020, 0x0029, 0x4130,
+0x12B0, 0xD832, 0x12B0, 0xD832, 0x12B0, 0xCE98, 0x2005, 0x407C, 0x00C8,
+0x12A8, 0x450C, 0x12AB, 0x434C, 0x12AA, 0x444C, 0x12A8, 0x435C, 0x4A20,
+0x454C, 0x12AA, 0x407C, 0x0034, 0x12A7, 0x4B4C, 0x12AA, 0x435C, 0x12A8,
+0x411C, 0x0002, 0x411D, 0x0004, 0x12B0, 0xCAC0, 0xF03C, 0x0F00, 0x4130,
+0x4382, 0x0160, 0xC392, 0x0160, 0x40B2, 0x0200, 0x0160, 0x40B2, 0x02E9,
+0x0172, 0x4382, 0x0170, 0xD0B2, 0x0016, 0x0160, 0x4130, 0x1285, 0x4C0F,
+0xDD0F, 0x930F, 0x4130, 0x474C, 0x12AB, 0x430C, 0x4820, 0x494C, 0x12AB,
+0x403C, 0x3400, 0x4820, 0x12A8, 0x3FF0, 0xC3A2, 0x01A0, 0x507C, 0x0010,
+0x4CC2, 0x0080, 0xD3A2, 0x01A0, 0xD392, 0x01A0, 0xB392, 0x01A4, 0x2BFD,
+0x421C, 0x0140, 0x4130, 0x4392, 0x1374, 0x4382, 0x1686, 0x4382, 0x167E,
+0x4382, 0x1680, 0x4382, 0x1682, 0x4382, 0x1684, 0x4382, 0x168E, 0x430C,
+0x4130, 0x3C09, 0x3C08, 0x434C, 0x4130, 0x434C, 0x4130, 0x430C, 0x4130,
+0x4130, 0x4130, 0x430C, 0x430D, 0x430E, 0x430F, 0x4130, 0x3FFA, 0x482F,
+0x4F10, 0x0008, 0x5C0C, 0x5C0C, 0x12AA, 0x12B0, 0xDA06, 0x430D, 0x482F,
+0x129F, 0x000A, 0x12B0, 0xDA06, 0x3FF1, 0x440C, 0x12B0, 0xCB04, 0x472F,
+0xD6EF, 0x0000, 0x12B0, 0xDA26, 0xC6EF, 0x0000, 0xC0F2, 0x0040, 0x0029,
+0x440C, 0x4130, 0x12AB, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x1401, 0x12B0,
+0xD9C6, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x9382, 0x16EA, 0x4130, 0x12B0,
+0xD98E, 0x430C, 0x1292, 0x1718, 0xB22C, 0x2806, 0x422C, 0x1292, 0x1718,
+0x430C, 0x4210, 0x1718, 0x430C, 0x4130, 0x431C, 0x1292, 0x1540, 0x444C,
+0x12A8, 0x430C, 0x12AB, 0x411F, 0x0004, 0x533F, 0x4F81, 0x0004, 0x421F,
+0x1578, 0x4130, 0x462F, 0x4F10, 0x0008, 0x5C0C, 0x5C0C, 0x430D, 0x12A9,
+0x12B0, 0xD6C4, 0x462F, 0x129F, 0x000A, 0x12B0, 0xD6C4, 0x3FF1, 0x4C0D,
+0x4C0E, 0xF03E, 0x000F, 0x431C, 0x12B0, 0xD760, 0x907D, 0x0010, 0x2803,
+0x4C0D, 0x430C, 0x4130, 0x430D, 0x4130, 0xC232, 0x4303, 0x425C, 0x2552,
+0x4C4A, 0xE37A, 0x421B, 0x2558, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232,
+0x4D28, 0x4130, 0x12A9, 0x434C, 0x12AA, 0x484C, 0x12AB, 0x403C, 0x0501,
+0x12A9, 0x435C, 0x12AA, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x494C, 0x12A8,
+0x403C, 0x3FFF, 0x12AB, 0x12B0, 0xDADE, 0x403C, 0x2409, 0x12AB, 0x435C,
+0x12AA, 0x434C, 0x4A20, 0x12B0, 0xCF82, 0x407C, 0x0082, 0x12A9, 0x435C,
+0x4820, 0x1292, 0x1718, 0x434C, 0x12A8, 0x407C, 0x0042, 0x3FF6, 0x462C,
+0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
+0x462F, 0xE9EF, 0x0000, 0x4130, 0xF37C, 0xF37E, 0x1202, 0xC232, 0x4303,
+0x4C82, 0x0130, 0x4E82, 0x0138, 0x421C, 0x013A, 0x421D, 0x013C, 0x1300,
+0xF37C, 0xF37E, 0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E, 0x9F0E,
+0x2801, 0x8F0E, 0x6C0C, 0x2BF9, 0x4130, 0x8321, 0x410C, 0x530C, 0x421F,
+0x16F4, 0x129F, 0x0016, 0x412C, 0x1292, 0x1530, 0x430C, 0x5321, 0x4130,
+0x407C, 0x0094, 0x1292, 0x1712, 0x434C, 0x1292, 0x1716, 0x421F, 0x16F4,
+0x129F, 0x0004, 0x430C, 0x4130, 0x435C, 0x12A6, 0x407C, 0x0048, 0x12AA,
+0x435C, 0x12A7, 0x435C, 0x12A6, 0x40F1, 0x000A, 0x0004, 0x4130, 0x120A,
+0x4C0A, 0x3C04, 0x4DEA, 0x0000, 0x531A, 0x531D, 0x4E0F, 0x533E, 0x930F,
+0x23F8, 0x413A, 0x4130, 0x422C, 0x2004, 0x12B0, 0xD3C6, 0x430D, 0x3C04,
+0x12B0, 0xD3C6, 0x403D, 0x4000, 0x4A2F, 0x4F10, 0x000A, 0x12B0, 0xDA76,
+0x12AB, 0x411C, 0x0002, 0x12B0, 0xD1A6, 0x12AB, 0x450C, 0x12A9, 0x435C,
+0x4720, 0x423D, 0x12B0, 0xD3B6, 0x47E1, 0x0006, 0x47D1, 0x0001, 0x0007,
+0x410F, 0x503F, 0x002A, 0x4130, 0xF03B, 0x000F, 0x4A0C, 0x4B0D, 0x12A7,
+0x435C, 0x12A8, 0x434C, 0x12A8, 0x407C, 0x0042, 0x4920, 0x434C, 0x12A9,
+0x435C, 0x4920, 0x403C, 0x0080, 0x12A8, 0x403C, 0x0880, 0x4820, 0x12A8,
+0x3FF4, 0x120A, 0x4C0A, 0x3C03, 0x4DCA, 0x0000, 0x531A, 0x4E0F, 0x533E,
+0x930F, 0x23F9, 0x413A, 0x4130, 0x12B0, 0xDA96, 0x12AB, 0x411C, 0x0002,
+0x12B0, 0xD122, 0x12AB, 0x450C, 0x12A9, 0x435C, 0x4720, 0x407C, 0x00C1,
+0x12AA, 0x411C, 0x0008, 0x430D, 0x1292, 0x171A, 0x407C, 0x00A1, 0x4130,
+0x4C0A, 0x4D0B, 0x4218, 0x01F2, 0x40B2, 0x2623, 0x01EA, 0x40B2, 0x262F,
+0x01F2, 0x4130, 0x12B0, 0xDA96, 0x12AB, 0x403C, 0x3FFD, 0x12B0, 0xD604,
+0x434C, 0x12A7, 0x484C, 0x4130, 0x494C, 0x12A8, 0x403C, 0x1400, 0x12AB,
+0x474C, 0x12A8, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x422C, 0x4A2F, 0x129F,
+0x0008, 0x430C, 0x430D, 0x4A2F, 0x129F, 0x000A, 0x430C, 0x4130, 0x12AB,
+0x492F, 0xD3DF, 0x0000, 0x431C, 0x12AB, 0x492F, 0xC3DF, 0x0000, 0x431C,
+0x4B20, 0x407C, 0x0082, 0x12A6, 0x435C, 0x4820, 0x12A9, 0x434C, 0x12A8,
+0x407C, 0x0042, 0x3FF7, 0x440C, 0x12A9, 0x12B0, 0xDA26, 0xD6EF, 0x0000,
+0x12B0, 0xDA26, 0xC6EF, 0x0000, 0x4130, 0x12B0, 0xDA76, 0x12AB, 0x403C,
+0x3FFD, 0x12B0, 0xD4DE, 0x434C, 0x12A7, 0x484C, 0x4130, 0x12B0, 0x2F6A,
+0x4D2E, 0xEFEE, 0x0000, 0x12B0, 0x319A, 0x4D2E, 0xEFEE, 0x0000, 0x4130,
+0x434C, 0x12A6, 0x435C, 0x12A6, 0x415E, 0x0004, 0x537E, 0x4EC1, 0x0004,
+0x4130, 0x407C, 0x0048, 0x12AA, 0x435C, 0x12A7, 0x435C, 0x12A9, 0x4075,
+0x000A, 0x4130, 0x407C, 0x0028, 0x12AA, 0x430C, 0x12A8, 0xF07C, 0x0081,
+0x907C, 0x0081, 0x4130, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x0012,
+0x4215, 0x16F4, 0x4510, 0x000E, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C,
+0x0014, 0x4214, 0x16F4, 0x4410, 0x000E, 0x434C, 0x12A9, 0x407C, 0x0088,
+0x12AA, 0x407C, 0x0024, 0x12A7, 0x435C, 0x4920, 0xD3DF, 0x0000, 0x432C,
+0x1292, 0x153E, 0x12B0, 0x3322, 0x432C, 0x4210, 0x153E, 0x403C, 0x0003,
+0x1292, 0x1234, 0x410C, 0x503C, 0x002C, 0x492F, 0x4F10, 0x0010, 0x407C,
+0x00C1, 0x12AB, 0x403C, 0x0182, 0x430D, 0x1292, 0x171A, 0x435C, 0x4820,
+0x403C, 0x0003, 0x1292, 0x1190, 0x4C07, 0x4B0C, 0x4A2F, 0x4F10, 0x0010,
+0x430F, 0x430E, 0x422D, 0x410C, 0x503C, 0x0010, 0x4A27, 0x4710, 0x000E,
+0x1292, 0x1540, 0x5314, 0x6305, 0x12B0, 0xCA36, 0x903C, 0xBABE, 0x4130,
+0x4039, 0x153E, 0x4036, 0x1760, 0x4037, 0x170A, 0x4034, 0x0190, 0x4130,
+0x434C, 0x12A9, 0x407C, 0x0042, 0x12AA, 0x435C, 0x12A9, 0x484C, 0x4A20,
+0x12A8, 0x4030, 0xD2EA, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x435C, 0x4620,
+0x403C, 0x0003, 0x1292, 0x11E4, 0x4C0B, 0x440C, 0x4A2F, 0x4F10, 0x0010,
+0x430F, 0x430E, 0x422D, 0x410C, 0x503C, 0x000C, 0x4A2B, 0x4B10, 0x000E,
+0x4135, 0x4134, 0x4137, 0x4136, 0x4139, 0x4138, 0x413B, 0x413A, 0x4130,
+0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x4130,
+0x434C, 0x12A9, 0x444C, 0x12AA, 0x407C, 0x0024, 0x12AB, 0x435C, 0x4920,
+0x407C, 0x00C1, 0x12AA, 0x411C, 0x0002, 0x12A8, 0x407C, 0x00A1, 0x4A20,
+0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB, 0x4130,
+0x407C, 0x0042, 0x12AA, 0x435C, 0x4820, 0x434C, 0x12A8, 0x474C, 0x3FF9,
+0x430C, 0x12A6, 0x4C0B, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x435C, 0x4820,
+0x407C, 0x00F4, 0x12AB, 0x421C, 0x16E4, 0x12A9, 0xC21C, 0x16E2, 0x4130,
+0x407C, 0x0054, 0x12AB, 0x421C, 0x16D6, 0x421D, 0x16D8, 0x4720, 0x120C,
+0x4EFC, 0x0000, 0x531C, 0x831D, 0x23FB, 0x413C, 0x4130, 0x128F, 0x430C,
+0x430D, 0x4A2F, 0x129F, 0x000A, 0x430C, 0x4130, 0x12A8, 0x434C, 0x12AB,
+0x407C, 0x0042, 0x12A9, 0x435C, 0x4B20, 0x403C, 0x0003, 0x1292, 0x1230,
+0x470C, 0x4A2F, 0x4F10, 0x0010, 0x430D, 0x1292, 0x171A, 0x435C, 0x12AA,
+0x407C, 0x00A1, 0x4B20, 0x12B0, 0xCAC0, 0x4C0A, 0xF03A, 0x0F00, 0x503A,
+0x0080, 0x4130, 0x4191, 0x0002, 0x0006, 0x4191, 0x0004, 0x0008, 0x444C,
+0x4820, 0x460C, 0x1292, 0x1234, 0x4C0A, 0x470C, 0x4B2F, 0x4F10, 0x0010,
+0xD3D2, 0x0031, 0xC3D2, 0x0031, 0x403C, 0x0005, 0x4210, 0x153E, 0x12B0,
+0xD436, 0x12B0, 0xD436, 0xD3D2, 0x0031, 0x430C, 0x4130, 0x444C, 0x12A8,
+0x430C, 0x430D, 0x1292, 0x171A, 0x494C, 0x4820, 0xC232, 0x4303, 0xFACB,
+0x0000, 0xDCCB, 0x0000, 0xD232, 0x4130, 0x464C, 0x12AA, 0x435C, 0x12A8,
+0x4B4C, 0x12AA, 0x435C, 0x4820, 0x12A8, 0x434C, 0x12AB, 0x407C, 0x0042,
+0x12A9, 0x435C, 0x4B20, 0x120C, 0x438C, 0x0000, 0x532C, 0x831E, 0x23FB,
+0x413C, 0x4130, 0x423D, 0x12B0, 0xD3B6, 0x410F, 0x503F, 0x0026, 0x4130,
+0x12B0, 0xCAC0, 0xF03C, 0x0F00, 0xD03C, 0x0085, 0x4130, 0x423D, 0x12B0,
+0xD3B6, 0x410F, 0x503F, 0x0036, 0x4130, 0x484C, 0x12AB, 0x403C, 0x3401,
+0x12A9, 0x464C, 0x4B20, 0x12A9, 0x434C, 0x12A7, 0x444C, 0x12AB, 0x435C,
+0x4720, 0x430F, 0x431E, 0x422D, 0x480C, 0x4B2A, 0x4A10, 0x000E, 0x3C02,
+0x3C00, 0x3C00, 0x533C, 0x930C, 0x23FB, 0x4130, 0x434C, 0x12A9, 0x474C,
+0x12A8, 0x403C, 0x2401, 0x4620, 0x407C, 0x0028, 0x1292, 0x1712, 0x907C,
+0x0091, 0x4130, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0034, 0x4210, 0x1716,
+0x12A8, 0x12B0, 0xBBF6, 0x4C0F, 0xDD0F, 0x930F, 0x4130, 0x494C, 0x12AB,
+0x403C, 0x3401, 0x12A8, 0x464C, 0x4B20, 0x434C, 0x12AA, 0x494C, 0x12AB,
+0x403C, 0x2401, 0x4820, 0x403C, 0x4030, 0x12A6, 0x434C, 0x12A9, 0x435C,
+0x4920, 0x12A8, 0x4C05, 0x444C, 0x12AA, 0x403C, 0x0088, 0x4820, 0x12B0,
+0xD830, 0x403C, 0x3FFD, 0x12AB, 0x434C, 0x4A20, 0x430D, 0x12A7, 0x435C,
+0x12A6, 0x407C, 0x00A1, 0x4B20, 0x494C, 0x12AB, 0x403C, 0x0501, 0x12A8,
+0x435C, 0x4130, 0x407C, 0x0028, 0x1292, 0x1712, 0x907C, 0x0089, 0x4130,
+0x12A9, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x435C, 0x421F,
+0x16F4, 0x129F, 0x0004, 0x430C, 0x4130, 0x12A9, 0x484C, 0x12AB, 0x434C,
+0x12AA, 0x435C, 0x4A20, 0x484C, 0x12AB, 0x403C, 0x3401, 0x12A9, 0x464C,
+0x4B20, 0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C, 0x2401, 0x4620, 0x4B4C,
+0x12AA, 0x403C, 0x3401, 0x12A8, 0x454C, 0x4A20, 0x12A9, 0x434C, 0x12A7,
+0x444C, 0x12AB, 0x435C, 0x4720, 0x12B0, 0xD8BC, 0xF07C, 0x0081, 0x907C,
+0x0081, 0x4130, 0x12AB, 0x474C, 0x12AA, 0x434C, 0x12A8, 0x435C, 0x4820,
+0x407C, 0x00B0, 0x12AA, 0x403C, 0x0082, 0x430D, 0x4620, 0x407C, 0x00B0,
+0x12AA, 0x403C, 0x0088, 0x430D, 0x4620, 0x12B0, 0xD920, 0x403C, 0x3FFD,
+0x12B0, 0x7910, 0x4A20, 0x464C, 0x12AA, 0x430C, 0x430D, 0x4210, 0x171A,
+0x12B0, 0xD6E8, 0x421F, 0x16F4, 0x4F10, 0x0008, 0x434C, 0x12A9, 0x12B0,
+0xD8D0, 0x435C, 0x4920, 0xC0B2, 0x0010, 0x0160, 0xC3A2, 0x0160, 0x4130,
+0x434C, 0x12AA, 0x494C, 0x12A8, 0x470C, 0x4B20, 0x444C, 0x12AB, 0x435C,
+0x12A7, 0x464C, 0x4B20, 0x12B0, 0xCCA2, 0x444C, 0x12AA, 0x435C, 0x4620,
+0x12B0, 0x3194, 0x4D29, 0xEFE9, 0x0000, 0x4130, 0x12B0, 0xCB04, 0xC0F2,
+0x0040, 0x0029, 0x4130, 0x4A0C, 0x430D, 0x12A9, 0x430C, 0x430D, 0x4920,
+0x434C, 0x12A6, 0x435C, 0x12A6, 0x494C, 0x4B20, 0x434C, 0x12AA, 0x12B0,
+0xD9C8, 0x435C, 0x4A20, 0x12B0, 0xC512, 0x2802, 0x430C, 0x430D, 0x4130,
+0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x4130, 0x12A8, 0x434C, 0x12A6,
+0x407C, 0x0042, 0x4A20, 0x430F, 0x430E, 0x423D, 0x410C, 0x523C, 0x4130,
+0x444C, 0x12A8, 0x435C, 0x12AA, 0x430C, 0x4B20, 0x421F, 0x16F4, 0x129F,
+0x0016, 0x930C, 0x4130, 0x403C, 0x0500, 0x12A9, 0x407C, 0x00C1, 0x4B20,
+0x407C, 0x00B0, 0x12A8, 0x432C, 0x430D, 0x4920, 0x403C, 0x0080, 0x12A8,
+0x403C, 0x0880, 0x4820, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x435C, 0x4820,
+0x934E, 0x2403, 0x5C0C, 0x835E, 0x23FD, 0x4130, 0x407C, 0x0021, 0x12A9,
+0x430C, 0x430D, 0x4720, 0x421F, 0x16F4, 0x129F, 0x0018, 0x930C, 0x4130,
+0x444C, 0x12AB, 0x435C, 0x12A7, 0x464C, 0x4B20, 0x494C, 0x12AB, 0x403C,
+0x3400, 0x4820, 0x407C, 0x0028, 0x12A8, 0x430C, 0x4920, 0x492F, 0x129F,
+0x0016, 0x930C, 0x4130, 0x12A6, 0x434C, 0x12A8, 0x435C, 0x4820, 0x430D,
+0x12A9, 0x430C, 0x430D, 0x4920, 0x12A6, 0x434C, 0x12A9, 0x435C, 0x4920,
+0x434C, 0x1292, 0x153A, 0x4210, 0x170E, 0x464C, 0x12AB, 0x403C, 0x0082,
+0x4820, 0x2802, 0x435C, 0x4130, 0x434C, 0x4130, 0x444C, 0x12A8, 0x407C,
+0x0034, 0x4720, 0x490C, 0x12A8, 0x407C, 0x0028, 0x4A20, 0x430D, 0x12A9,
+0x431C, 0x430D, 0x4920, 0x4A2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x4C04,
+0x460C, 0x4B2F, 0x4F10, 0x0010, 0x434C, 0x12A9, 0x407C, 0x00C8, 0x4B20,
+0x434C, 0x12A9, 0x407C, 0x00C8, 0x4820, 0x12AB, 0x434C, 0x12AA, 0x435C,
+0x4A20, 0x472F, 0xD3DF, 0x0000, 0x431C, 0x4920, 0x12B0, 0xD486, 0x407C,
+0x0082, 0x4920, 0x407C, 0x0028, 0x12A8, 0x430C, 0x4620, 0x12A6, 0x434C,
+0x12A9, 0x435C, 0x4920, 0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x12AB,
+0x435C, 0x12A9, 0x434C, 0x4920, 0x407C, 0x0090, 0x12A9, 0x432C, 0x4820,
+0x12B0, 0xCCCA, 0x430D, 0x4030, 0xB846, 0x930C, 0x2402, 0x43E2, 0x007C,
+0x4130, 0x12AA, 0x434C, 0x12A8, 0x435C, 0x4820, 0x494C, 0x12AA, 0x403C,
+0x0501, 0x4B20, 0x407C, 0x0091, 0x462F, 0x4F10, 0x0012, 0x5392, 0x166E,
+0xC392, 0x0160, 0x1300, 0x407C, 0x0028, 0x12AA, 0x430C, 0x4820, 0x4C05,
+0x440C, 0x4A2F, 0x4F10, 0x0010, 0x464C, 0x12AA, 0x403C, 0x2401, 0x4B20,
+0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x464C, 0x12AB, 0x403C, 0x0401,
+0x4920, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x4620, 0x12AB, 0x434C, 0x12AA,
+0x444C, 0x4820, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x4920, 0x12A9, 0x434C,
+0x12AA, 0x474C, 0x4B20, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x4620, 0x12B0,
+0x7910, 0x12AA, 0x494C, 0x4820, 0x12A8, 0x435C, 0x12AB, 0x434C, 0x4B20,
+0x434C, 0x12AB, 0x407C, 0x00C8, 0x4920, 0x12A6, 0x435C, 0x12A7, 0x434C,
+0x4720, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x4A20, 0xD038, 0x0040, 0x480C,
+0x430D, 0x4920, 0x434C, 0x12A7, 0x407C, 0x00C8, 0x4920, 0x4381, 0x0002,
+0x4381, 0x0004, 0x4130, 0x430D, 0x1292, 0x171A, 0x435C, 0x4A20, 0x12A9,
+0x434C, 0x12AA, 0x464C, 0x4B20, 0x494C, 0x12AB, 0x403C, 0x2401, 0x4820,
+0x407C, 0x0086, 0x4210, 0x1712, 0x12A6, 0x407C, 0x0021, 0x4B20, 0x1292,
+0x152E, 0x430C, 0x4130, 0x12B0, 0xD9BE, 0x930C, 0x4130, 0x444C, 0x12AA,
+0x430C, 0x4820, 0x12B0, 0xD832, 0x430C, 0x4B20, 0x421F, 0x16F4, 0x4F10,
+0x0016, 0x12AB, 0x407C, 0x0082, 0x4820, 0x444C, 0x12AA, 0x450C, 0x4820,
+0x12B0, 0xD7AE, 0x434C, 0x4820, 0x12B0, 0xD9BE, 0x933C, 0x4130, 0x12AA,
+0x407C, 0x00C8, 0x4820, 0x421F, 0x16F4, 0x4F10, 0x0004, 0x12A9, 0x407C,
+0x0082, 0x4820, 0x421F, 0x16F4, 0x4F10, 0x0008, 0x4B0C, 0x12AA, 0x430C,
+0x4A20, 0x12B0, 0xDA3E, 0x930C, 0x4130, 0x435C, 0x12A6, 0x434C, 0x4620,
+0x435C, 0x12A6, 0x434C, 0x4620, 0x12B0, 0xCB06, 0x472F, 0x4130, 0x435C,
+0x12A6, 0x434C, 0x4620, 0x421F, 0x16F4, 0x4F10, 0x0004, 0x421F, 0x16F4,
+0x4F10, 0x0016, 0x430C, 0x430D, 0x4130, 0x3FFC, 0x434C, 0x12A7, 0x494C,
+0x4820, 0x403C, 0x0020, 0x4030, 0x6A90, 0x403C, 0x0028, 0x4210, 0x1540,
+0x474C, 0x12AA, 0x435C, 0x4920, 0x12B0, 0xD466, 0x4D2B, 0x4130, 0x12B0,
+0xD4DE, 0x464C, 0x4130, 0x484C, 0x12AB, 0x435C, 0x4A20, 0x12B0, 0xDA3E,
+0x933C, 0x4130, 0x12B0, 0xD8F8, 0x435C, 0x4130, 0x12B0, 0xD604, 0x464C,
+0x4130, 0x12B0, 0xD688, 0x435C, 0x4130, 0x403C, 0x0021, 0x4030, 0x6A90,
+0x421F, 0x16F4, 0x4F10, 0x0014, 0x450C, 0x12AB, 0x435C, 0x4A20, 0x12B0,
+0xDB48, 0x435C, 0x4920, 0x421F, 0x16F4, 0x4F10, 0x000A, 0x12B0, 0x7EA0,
+0x435C, 0x4A20, 0x12B0, 0xD894, 0x434C, 0x4820, 0x434C, 0x12AA, 0x464C,
+0x4820, 0x421F, 0x16F4, 0x4F10, 0x0014, 0x12B0, 0xDAF6, 0x930C, 0x4130,
+0x421F, 0x16F4, 0x4F10, 0x0016, 0x12B0, 0xDAF6, 0x933C, 0x4130, 0x12B0,
+0xD122, 0x4B20, 0x12A8, 0x430C, 0x4820, 0x12AB, 0x434C, 0x4A20, 0x12B0,
+0xD1A6, 0x4B20, 0x430C, 0x4030, 0x6A90, 0x12AB, 0x430C, 0x4B20, 0x4B2F,
+0x4F10, 0x0016, 0x12B0, 0x6F96, 0x4820, 0x407C, 0x0088, 0x4A20, 0x425C,
+0x1768, 0x4130, 0x425C, 0x1769, 0x4130, 0x12AB, 0x434C, 0x4920, 0x433C,
+0x433D, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x430C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x433C, 0x4130, 0x430C, 0x4130, 0x434C, 0x4130, 0x433C, 0x4130, 0x430C,
+0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130,
+0x430C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x430C, 0x4130, 0x433C, 0x4130, 0x430C, 0x4130,
+0x4030, 0xD032, 0x430C, 0x4130, 0x433C, 0x4130, 0x433C, 0x4130, 0x433C,
+0x4130, 0x433C, 0x4130, 0x430C, 0x4130, 0x430C, 0x4130, 0x434C, 0x4130,
+0x4130, 0x4130, 0x4130, 0x4130, 0x4130, 0x5137,
+};
+
+const uint32_t UifHalMsp430Image_address[] =
+{
+0x0000250A, 0x0000251E, 0x0000253A, 0x0000DFFE,
+};
+const uint32_t UifHalMsp430Image_length_of_sections[] =
+{
+0x00000002, 0x00000001, 0x00005B58, 0x00000001,
+};
+const uint32_t UifHalMsp430Image_sections = 0x00000004;
+const uint32_t UifHalMsp430Image_termination = 0x00000000;
+const uint32_t UifHalMsp430Image_start = 0x0000250A;
+const uint32_t UifHalMsp430Image_finish = 0x0000E000;
+const uint32_t UifHalMsp430Image_length = 0x0000BAF6;
+
+#define UIFHALMSP430IMAGE_TERMINATION 0x00000000
+#define UIFHALMSP430IMAGE_START 0x0000250A
+#define UIFHALMSP430IMAGE_FINISH 0x0000E000
+#define UIFHALMSP430IMAGE_LENGTH 0x0000BAF6
+#define UIFHALMSP430IMAGE_SECTIONS 0x00000004
diff --git a/Bios/include/eZ_FetComChannel.h b/Bios/include/eZ_FetComChannel.h
new file mode 100644
index 0000000..f805f7f
--- /dev/null
+++ b/Bios/include/eZ_FetComChannel.h
@@ -0,0 +1,487 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetComChannelImage[] =
+{
+0x1000, 0x0002, 0x0009, 0x0009, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x57DA, 0xACDC,
+0xACDC, 0x4180, 0x3200, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206,
+0x1840, 0x1207, 0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840,
+0x120B, 0x1840, 0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F,
+0x008C, 0x420E, 0x403E, 0x0179, 0x403F, 0x0000, 0x13B2, 0x1614, 0x008C,
+0x4204, 0x028D, 0x1714, 0x403E, 0x0009, 0x403F, 0x0000, 0x13B2, 0x1710,
+0x1840, 0x413F, 0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840,
+0x413B, 0x1840, 0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137,
+0x1840, 0x4136, 0x1840, 0x4135, 0x1840, 0x4134, 0x1900, 0x4070, 0x12FE,
+0x4011, 0x3172, 0x141B, 0x4C0A, 0x13B2, 0x16A8, 0x1840, 0x921A, 0x4300,
+0x2004, 0x1840, 0x921D, 0x4302, 0x24AA, 0xD3D2, 0x05C0, 0xD0F2, 0x0080,
+0x05C0, 0x903A, 0x12C0, 0x200A, 0x930D, 0x2008, 0x40F2, 0x0045, 0x05C6,
+0x43D2, 0x05C7, 0x40F2, 0x0081, 0x05C8, 0x903A, 0x2580, 0x200B, 0x930D,
+0x2009, 0x40F2, 0x00A2, 0x05C6, 0x43C2, 0x05C7, 0x40F2, 0x00C1, 0x05C8,
+0x3C70, 0x903A, 0x3840, 0x200B, 0x930D, 0x2009, 0x40F2, 0x006C, 0x05C6,
+0x43C2, 0x05C7, 0x40F2, 0x0081, 0x05C8, 0x3C62, 0x903A, 0x4B00, 0x200B,
+0x930D, 0x2009, 0x40F2, 0x0051, 0x05C6, 0x43C2, 0x05C7, 0x40F2, 0x0061,
+0x05C8, 0x3C54, 0x903A, 0x7080, 0x200B, 0x930D, 0x2009, 0x40F2, 0x0036,
+0x05C6, 0x43C2, 0x05C7, 0x40F2, 0x0041, 0x05C8, 0x3C46, 0x903A, 0x9600,
+0x200B, 0x930D, 0x2009, 0x40F2, 0x0028, 0x05C6, 0x43C2, 0x05C7, 0x40F2,
+0x00B1, 0x05C8, 0x3C38, 0x903A, 0xDAC0, 0x200B, 0x930D, 0x2009, 0x40F2,
+0x001B, 0x05C6, 0x43C2, 0x05C7, 0x40F2, 0x00E1, 0x05C8, 0x3C2A, 0x903A,
+0xE100, 0x200B, 0x930D, 0x2009, 0x40F2, 0x001B, 0x05C6, 0x43C2, 0x05C7,
+0x40F2, 0x0021, 0x05C8, 0x3C1C, 0x903A, 0xC200, 0x200B, 0x931D, 0x2009,
+0x40F2, 0x000D, 0x05C6, 0x43C2, 0x05C7, 0x40F2, 0x0091, 0x05C8, 0x3C0E,
+0x903A, 0xE800, 0x200B, 0x903D, 0x0003, 0x2008, 0x40F2, 0x0006, 0x05C6,
+0x43C2, 0x05C7, 0x40F2, 0x0005, 0x05C8, 0x1840, 0x9392, 0x4304, 0x2004,
+0xD0F2, 0x00C0, 0x05C1, 0x3C08, 0xF0F2, 0x003F, 0x05C1, 0x43C2, 0x05C0,
+0xD0F2, 0x0080, 0x05C0, 0xC3D2, 0x05C0, 0xD3D2, 0x05DC, 0x1840, 0x4A82,
+0x4300, 0x1840, 0x4D82, 0x4302, 0x13B2, 0x1696, 0x430C, 0x161A, 0x0110,
+0x002F, 0x4204, 0x438F, 0x0000, 0x1840, 0x4E82, 0x42F0, 0x4C0E, 0x4D0F,
+0x830F, 0x206F, 0x803E, 0x1F41, 0x240E, 0x803E, 0x0653, 0x240B, 0x831E,
+0x2416, 0x831E, 0x2433, 0x831E, 0x240A, 0x831E, 0x2405, 0x831E, 0x240E,
+0x0110, 0x0280, 0x15FC, 0x430C, 0x0020, 0x4254, 0x403C, 0x0CE4, 0x1380,
+0x42D0, 0x403C, 0x0CE4, 0x0020, 0x4254, 0x1900, 0x40F2, 0x1494, 0x4220,
+0x1900, 0x40F2, 0x1092, 0x423C, 0x1900, 0x40F2, 0x170C, 0x4240, 0x1900,
+0x40F2, 0x170C, 0x4244, 0x903C, 0x2599, 0x2007, 0x930D, 0x2005, 0x431D,
+0x403C, 0x2595, 0x0280, 0x159E, 0x430D, 0x403C, 0x2595, 0x0280, 0x159E,
+0x1900, 0x40F2, 0x1494, 0x4220, 0x1900, 0x40F2, 0x1092, 0x423C, 0x1840,
+0x90B2, 0xAAAC, 0x42F0, 0x2405, 0x1840, 0x90B2, 0xAAAD, 0x42F0, 0x200D,
+0x1900, 0x40F2, 0x170C, 0x4240, 0x1900, 0x40F2, 0x170C, 0x4244, 0x430D,
+0x403C, 0x2595, 0x0280, 0x159E, 0x1900, 0x40F2, 0x1696, 0x4240, 0x1900,
+0x40F2, 0x16A8, 0x4244, 0x430D, 0x403C, 0x2596, 0x13B2, 0x159E, 0x1380,
+0x4240, 0x002F, 0x4204, 0x4C8F, 0x0000, 0x0110, 0x141B, 0x0CCA, 0x008B,
+0x4218, 0x1900, 0x40FB, 0x1700, 0x0000, 0x1900, 0x40FB, 0x14E0, 0x0004,
+0x1900, 0x40FB, 0x13A4, 0x000C, 0x1900, 0x40FB, 0x16C8, 0x0014, 0x1900,
+0x40FB, 0x16D6, 0x0018, 0x1900, 0x40FB, 0x1658, 0x001C, 0x1900, 0x40FB,
+0x142A, 0x0020, 0x1900, 0x40FB, 0x15FC, 0x0010, 0x1900, 0x40FB, 0x170C,
+0x0028, 0x1900, 0x40FB, 0x170C, 0x002C, 0x1900, 0x40FB, 0x16F8, 0x0030,
+0x1900, 0x40FB, 0x1494, 0x0008, 0x1900, 0x40FB, 0x1092, 0x0024, 0x1900,
+0x40FB, 0x1706, 0x0034, 0x430D, 0x403C, 0x2595, 0x13B2, 0x159E, 0x1840,
+0x4382, 0x420E, 0x1800, 0x40F2, 0x4306, 0x4210, 0x1840, 0x43D2, 0x420C,
+0x0ACC, 0x0BCE, 0x008D, 0x001C, 0x13B2, 0x162C, 0x161A, 0x0110, 0x140A,
+0x4C4A, 0x1380, 0x4244, 0x002F, 0x4204, 0x4C8F, 0x0000, 0x1840, 0x90B2,
+0x0040, 0x420E, 0x240F, 0x002E, 0x4210, 0x1840, 0x421F, 0x420E, 0x0FEE,
+0x4ACE, 0x0000, 0x1840, 0x5392, 0x420E, 0x1840, 0x5392, 0x42EC, 0x3C1E,
+0x13B2, 0x154A, 0x002E, 0x4210, 0x1840, 0x421F, 0x420E, 0x0FEE, 0x4ACE,
+0x0000, 0x1840, 0x5392, 0x420E, 0x1840, 0x4392, 0x42EC, 0x1840, 0x4382,
+0x42EE, 0x13B2, 0x166E, 0x1203, 0x1230, 0x000A, 0x435E, 0x403D, 0x0040,
+0x1380, 0x42E8, 0x5221, 0x1380, 0x4240, 0x002F, 0x4204, 0x4C8F, 0x0000,
+0x430C, 0x160A, 0x0110, 0x1380, 0x4220, 0x1840, 0x9382, 0x42EC, 0x242E,
+0x1840, 0x5392, 0x42EE, 0x1840, 0x90B2, 0x05DC, 0x42EE, 0x2826, 0x1380,
+0x4244, 0x002F, 0x4204, 0x4C8F, 0x0000, 0xC3D2, 0x05DC, 0x1840, 0x421D,
+0x42EC, 0x1840, 0x4382, 0x42EC, 0x13B2, 0x154A, 0x13B2, 0x166E, 0x1203,
+0x1230, 0x000A, 0x435E, 0x1380, 0x42E8, 0x5221, 0x934C, 0x2003, 0x1840,
+0x4382, 0x42EE, 0xD3D2, 0x05DC, 0x1380, 0x4240, 0x002F, 0x4204, 0x4C8F,
+0x0000, 0x0110, 0x8321, 0x435C, 0x1380, 0x42F4, 0x934C, 0x241D, 0x13B2,
+0x16E4, 0x930C, 0x2419, 0x13B2, 0x16EE, 0x930C, 0x2415, 0x1840, 0x93C2,
+0x4386, 0x2411, 0x1840, 0x9392, 0x42F2, 0x2003, 0x1840, 0x43C2, 0x4386,
+0x43C1, 0x0000, 0x435E, 0x431D, 0x410C, 0x530C, 0x1380, 0x42F8, 0x41E2,
+0x05CE, 0x430C, 0x5321, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x411E, 0x000C,
+0x1840, 0x921C, 0x4214, 0x2004, 0x1840, 0x921D, 0x4216, 0x240C, 0x13B2,
+0x1208, 0x4A0C, 0x4B0D, 0x1380, 0x423C, 0x1840, 0x4A82, 0x4214, 0x1840,
+0x4B82, 0x4216, 0x430C, 0x161A, 0x0110, 0xF0F2, 0x00E7, 0x022A, 0xF0F2,
+0x00E7, 0x0224, 0xC0F2, 0x0080, 0x0203, 0xC0F2, 0x0080, 0x0205, 0xC0F2,
+0x0040, 0x0203, 0xC0F2, 0x0040, 0x0205, 0xC0F2, 0x0040, 0x0207, 0xC0F2,
+0x0040, 0x021D, 0x0110, 0x1840, 0x4382, 0x420E, 0x1840, 0x93D2, 0x420C,
+0x2008, 0x1800, 0x40F2, 0x4346, 0x4210, 0x1840, 0x43C2, 0x420C, 0x0110,
+0x1800, 0x40F2, 0x4306, 0x4210, 0x1840, 0x43D2, 0x420C, 0x0110, 0x1840,
+0x4392, 0x42F2, 0x1840, 0x43C2, 0x4386, 0xC0F2, 0x0040, 0x0219, 0xD0F2,
+0x0040, 0x021B, 0xC0F2, 0x0040, 0x021D, 0xD0F2, 0x0040, 0x021D, 0x0110,
+0x903C, 0x2595, 0x2002, 0x13B2, 0x1642, 0x903C, 0x2596, 0x2002, 0x13B2,
+0x1578, 0x13B2, 0x15E0, 0xD3D2, 0x05DC, 0x1840, 0x4D82, 0x4304, 0x0110,
+0x141B, 0x0CCA, 0x3C06, 0x4DFA, 0x0000, 0x00AA, 0x0001, 0x533E, 0x633F,
+0x4E0B, 0xDF0B, 0x930B, 0x23F6, 0x161A, 0x0110, 0xD0F2, 0x0080, 0x0205,
+0x13B2, 0x16A8, 0xC0F2, 0x0040, 0x0205, 0xD2F2, 0x022A, 0xD0F2, 0x0010,
+0x022A, 0x0110, 0x1840, 0x4382, 0x420E, 0x1800, 0x40F2, 0x4306, 0x4210,
+0x1840, 0x43D2, 0x420C, 0x0280, 0x1518, 0x151F, 0x160F, 0x0CCE, 0x0FEE,
+0x3C04, 0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110, 0x1800,
+0x124C, 0x4EBC, 0x0000, 0x03EC, 0x00BD, 0x0001, 0x23FA, 0x1800, 0x417C,
+0x0110, 0x1840, 0x4382, 0x42F2, 0x1840, 0x43D2, 0x4386, 0xC0F2, 0x0040,
+0x021B, 0x0280, 0x1682, 0x0CCF, 0x008C, 0x42E0, 0x0FCE, 0x008D, 0x0006,
+0x13B2, 0x162C, 0x0FCC, 0x0280, 0x16BA, 0x1840, 0x93C2, 0x420C, 0x2003,
+0x008C, 0x4306, 0x0110, 0x008C, 0x4346, 0x0110, 0xD0F2, 0x0040, 0x0207,
+0xD0F2, 0x0040, 0x0203, 0xC0F2, 0x0040, 0x0205, 0x0110, 0xD0F2, 0x0080,
+0x0203, 0x002F, 0x4208, 0x439F, 0x0000, 0x431C, 0x0110, 0xC0F2, 0x0080,
+0x0203, 0x002F, 0x4208, 0x438F, 0x0000, 0x430C, 0x0110, 0x0CCE, 0x008C,
+0x42F4, 0x008D, 0x0006, 0x0280, 0x162C, 0x0CCE, 0x008C, 0x4250, 0x008D,
+0x0038, 0x0280, 0x162C, 0x0CCE, 0x008C, 0x42C0, 0x008D, 0x0010, 0x0280,
+0x162C, 0xB3D2, 0x05CA, 0x7C0C, 0xF31C, 0x0110, 0xB3E2, 0x05DD, 0x7C0C,
+0x531C, 0x0110, 0x1840, 0x43D2, 0x4386, 0x0110, 0x403C, 0x0009, 0x0110,
+0x403C, 0x0009, 0x0110, 0x430C, 0x0110, 0x0280, 0x15C2, 0x4200, 0x0000,
+0x4200, 0x0000, 0xFF01, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF,
+};
+
+const uint32_t eZ_FetComChannelImage_address[] =
+{
+0x00001980, 0x00021000,
+};
+const uint32_t eZ_FetComChannelImage_length_of_sections[] =
+{
+0x00000040, 0x00001000,
+};
+const uint32_t eZ_FetComChannelImage_sections = 0x00000002;
+const uint32_t eZ_FetComChannelImage_termination = 0x00000000;
+const uint32_t eZ_FetComChannelImage_start = 0x00001980;
+const uint32_t eZ_FetComChannelImage_finish = 0x00023000;
+const uint32_t eZ_FetComChannelImage_length = 0x00021680;
+
+#define EZ_FETCOMCHANNELIMAGE_TERMINATION 0x00000000
+#define EZ_FETCOMCHANNELIMAGE_START 0x00001980
+#define EZ_FETCOMCHANNELIMAGE_FINISH 0x00023000
+#define EZ_FETCOMCHANNELIMAGE_LENGTH 0x00021680
+#define EZ_FETCOMCHANNELIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/eZ_FetCore.h b/Bios/include/eZ_FetCore.h
new file mode 100644
index 0000000..353ec59
--- /dev/null
+++ b/Bios/include/eZ_FetCore.h
@@ -0,0 +1,1027 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetCoreImage[] =
+{
+0xFFFF, 0x03B3, 0x001D, 0x40B2, 0x5A80, 0x015C, 0x4031, 0x4100, 0x008C,
+0x30D8, 0x403E, 0x0DE6, 0x403F, 0x0000, 0x13B0, 0x7FDA, 0x008C, 0x3000,
+0x403D, 0x8882, 0x403E, 0x00D8, 0x403F, 0x0000, 0x13B0, 0x8554, 0x13B0,
+0x6774, 0x13B0, 0x8558, 0x145F, 0x434A, 0xB2E2, 0x093E, 0x2811, 0x13B0,
+0x738E, 0x4C4A, 0xC0F2, 0x0080, 0x0920, 0xC0F2, 0x0080, 0x0922, 0xC2E2,
+0x093E, 0xD0F2, 0x0080, 0x0920, 0xD0F2, 0x0080, 0x0922, 0x421F, 0x0932,
+0xF03F, 0x003F, 0x0FE0, 0x3C96, 0x3C1E, 0x3C94, 0x3C93, 0x3C1D, 0x3C23,
+0x3C2B, 0x3C8F, 0x3C8E, 0x3C31, 0x3C33, 0x3C35, 0x3C3D, 0x3C46, 0x3C88,
+0x3C87, 0x3C4D, 0x3C85, 0x3C84, 0x3C53, 0x3C82, 0x3C53, 0x3C80, 0x3C7F,
+0x3C7E, 0x3C7D, 0x3C52, 0x3C7B, 0x3C63, 0x3C79, 0x3C78, 0x3C77, 0x4303,
+0x3C75, 0x1840, 0xB392, 0x3C0E, 0x2871, 0x13B0, 0x8538, 0x3C6D, 0x13B0,
+0x7DC2, 0x1840, 0xB3A2, 0x3C0E, 0x2868, 0x13B0, 0x8134, 0x3C64, 0x13B0,
+0x7836, 0x1840, 0xB2A2, 0x3C0E, 0x285F, 0x13B0, 0x84BE, 0x3C5B, 0x13B0,
+0x7EC4, 0x3C59, 0x13B0, 0x7782, 0x3C56, 0x13B0, 0x5670, 0x1840, 0xB2B2,
+0x3C0E, 0x2850, 0x13B0, 0x8530, 0x3C4C, 0x13B0, 0x55CA, 0x1840, 0xB0B2,
+0x0010, 0x3C0E, 0x2846, 0x13B0, 0x84C6, 0x3C42, 0x13B0, 0x55B6, 0x1840,
+0xB0B2, 0x0020, 0x3C0E, 0x283E, 0x13B0, 0x84CE, 0x3C3B, 0x40F2, 0x0080,
+0x0921, 0x40F2, 0x0080, 0x0923, 0x13B0, 0x738E, 0x3C30, 0x434C, 0x3C01,
+0x435C, 0x13B0, 0x5F7C, 0x3C29, 0x434C, 0x13B0, 0x47B6, 0x930C, 0x200C,
+0x434C, 0x13B0, 0x6ADC, 0x934C, 0x2407, 0x1840, 0xB0B2, 0x0040, 0x3C0E,
+0x281B, 0x434C, 0x3C12, 0x434C, 0x3C14, 0x435C, 0x13B0, 0x47B6, 0x930C,
+0x200E, 0x435C, 0x13B0, 0x6ADC, 0x934C, 0x2409, 0x1840, 0xB0B2, 0x0040,
+0x3C0E, 0x2808, 0x435C, 0x13B0, 0x7D0E, 0x3C03, 0x435C, 0x13B0, 0x4856,
+0x4C4A, 0x934A, 0x2404, 0xC0B1, 0x00D0, 0x0018, 0x4303, 0x165A, 0x1300,
+0x145F, 0x90B2, 0x000E, 0x03AE, 0x2060, 0x008A, 0x3394, 0x93AA, 0x0000,
+0x2806, 0xB3DA, 0x0002, 0x2C03, 0x53BA, 0x0000, 0x3C09, 0x939A, 0x0000,
+0x2006, 0x438A, 0x0000, 0x403C, 0x8004, 0x13B0, 0x7E06, 0x93AA, 0x0004,
+0x2806, 0x1840, 0x93C2, 0x3D14, 0x2002, 0x53BA, 0x0004, 0x008F, 0x339C,
+0x4F6E, 0x4F1D, 0x0002, 0x035D, 0x9F1D, 0x0004, 0x7D4D, 0xF35D, 0xF35E,
+0xED4E, 0x0F3E, 0x0006, 0x2404, 0xDFDE, 0x000A, 0x0000, 0x3C03, 0xCFDE,
+0x000A, 0x0000, 0x938F, 0x0004, 0x2403, 0x53BF, 0x0004, 0x3C06, 0xB3EF,
+0x0000, 0x2803, 0x4F9F, 0x0002, 0x0004, 0x4F5E, 0x000C, 0x4F1D, 0x000E,
+0x035D, 0x9F1D, 0x0010, 0x7D4D, 0xF35D, 0xF35E, 0xED4E, 0x0F3E, 0x0012,
+0x2404, 0xDFDE, 0x0016, 0x0000, 0x3C03, 0xCFDE, 0x0016, 0x0000, 0x938F,
+0x0010, 0x2403, 0x53BF, 0x0010, 0x3C06, 0xB3EF, 0x000C, 0x2803, 0x4F9F,
+0x000E, 0x0010, 0x165A, 0x1300, 0x4303, 0x1300, 0x143F, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x421F, 0x019A, 0x0FE0, 0x3C0A, 0x3C09, 0x3C02,
+0x3C07, 0x3C08, 0xF0B2, 0xFFF4, 0x016E, 0xC3A2, 0x0102, 0x3C06, 0x4303,
+0x3C06, 0x4382, 0x0198, 0x13B0, 0x5796, 0x13B0, 0x46BE, 0x163C, 0x1300,
+0x435C, 0x13B0, 0x80A6, 0x434C, 0x0080, 0x80A6, 0x143F, 0x421F, 0x019A,
+0x0FE0, 0x3C0A, 0x3C09, 0x3C02, 0x3C07, 0x3C08, 0xF0B2, 0xFFF4, 0x016E,
+0xC3A2, 0x0102, 0x3C06, 0x4303, 0x3C06, 0x4382, 0x0198, 0x13B0, 0x5796,
+0x13B0, 0x46BE, 0x163C, 0x1300, 0x145F, 0x421F, 0x036E, 0x903F, 0x000E,
+0x2012, 0x008A, 0x3BFE, 0x0ACD, 0x403C, 0xAA04, 0x1380, 0x3060, 0x930C,
+0x2409, 0x0A0F, 0x938F, 0x0000, 0x2002, 0x439F, 0x0000, 0x0A0F, 0x539F,
+0x0000, 0x165A, 0x1300, 0x143F, 0x008D, 0x3BFA, 0x403C, 0xAA02, 0x1380,
+0x3060, 0x930C, 0x2404, 0x002F, 0x3BFA, 0x539F, 0x0000, 0x163C, 0x1300,
+0x143F, 0x421F, 0x042E, 0x903F, 0x000E, 0x200C, 0x008D, 0x3BF6, 0x403C,
+0xAA03, 0x1380, 0x3060, 0x930C, 0x2404, 0x002F, 0x3BF6, 0x539F, 0x0000,
+0x163C, 0x1300, 0x143F, 0x425C, 0x05CC, 0x1380, 0x3C1C, 0x163C, 0x1300,
+0x143F, 0xB0F2, 0x0040, 0x021D, 0x2805, 0xC0F2, 0x0040, 0x021D, 0x1380,
+0x3C40, 0x163C, 0x1300, 0x4A0C, 0x0080, 0x4B54, 0x434C, 0x1638, 0x0110,
+0x1840, 0x4F1B, 0x320C, 0x1840, 0x8F1B, 0x320E, 0x0110, 0x4C4C, 0x0CEC,
+0x0CCF, 0x064C, 0x0CEF, 0x0CEC, 0x0FEC, 0x1800, 0x4C5F, 0x3204, 0x03DF,
+0x2002, 0x434C, 0x0110, 0x435C, 0x0110, 0x145B, 0x0CCB, 0x0DC8, 0x4E4E,
+0x0EEE, 0x0ECF, 0x064E, 0x0EEF, 0x0EEE, 0x0FEE, 0x0EC9, 0x0EC6, 0x00A6,
+0x321C, 0x466F, 0x1840, 0x9E1F, 0x320E, 0x2C02, 0x4F4A, 0x3C03, 0x1840,
+0x4E5A, 0x320E, 0x4A4E, 0x430F, 0x0CCD, 0x1800, 0x495C, 0x3204, 0x1380,
+0x3BDC, 0x1840, 0x8A89, 0x320E, 0x4A0F, 0x1800, 0x5FC9, 0x3204, 0x966A,
+0x200E, 0x435E, 0x1840, 0x595E, 0x321D, 0xF35E, 0x1840, 0x4EC9, 0x321D,
+0x1840, 0x43C9, 0x321C, 0x43C8, 0x0000, 0x3C07, 0x1840, 0x8AC9, 0x321C,
+0x0FEB, 0x1800, 0x4BC9, 0x3208, 0x1656, 0x0110, 0x145B, 0x4C4A, 0x434B,
+0x13B0, 0x81FC, 0x151F, 0x1609, 0x1840, 0x4956, 0x8582, 0x403E, 0x001A,
+0x13B0, 0x7E28, 0x151D, 0x1608, 0x13B0, 0x4B2C, 0x2004, 0x1800, 0x43C8,
+0x3204, 0x3C08, 0x0A56, 0x465E, 0x238A, 0xD65E, 0x238E, 0xB07E, 0x0080,
+0x2002, 0x430C, 0x3C5C, 0x1840, 0x491E, 0x858A, 0x460F, 0x503F, 0x238E,
+0x5036, 0x238A, 0x1840, 0x93C8, 0x321D, 0x200D, 0x1840, 0x491C, 0x8588,
+0x1800, 0x46C8, 0x3210, 0x1800, 0x4EC8, 0x3218, 0x1800, 0x4FC8, 0x3214,
+0x3C0D, 0x0ECC, 0x1800, 0x4FC8, 0x3210, 0x1840, 0x491F, 0x8588, 0x1800,
+0x4FC8, 0x3218, 0x1800, 0x46C8, 0x3214, 0x1800, 0x485F, 0x3210, 0x4F6E,
+0x934E, 0x3418, 0x13B0, 0x4954, 0x1800, 0x485D, 0x3210, 0x13B0, 0x47D6,
+0x08C9, 0x00A9, 0x3214, 0x090F, 0x13B0, 0x4B2A, 0x240D, 0x934E, 0x3408,
+0x13B0, 0x4954, 0x090D, 0x13B0, 0x4B02, 0x1800, 0x49E8, 0x3210, 0x13B0,
+0x4B2C, 0x2014, 0x13B0, 0x4B1A, 0x2804, 0x4A4C, 0x13B0, 0x8510, 0x4C4B,
+0x1840, 0x93C8, 0x321C, 0x2409, 0x1840, 0xB0B2, 0x0040, 0x3C0E, 0x2804,
+0x4A4C, 0x13B0, 0x7D0E, 0xDC4B, 0x4B0C, 0x1656, 0x0110, 0xF07E, 0x007F,
+0x1840, 0x4EC8, 0x321C, 0x4A4E, 0x0110, 0x147B, 0x0CC5, 0x4D07, 0x4E46,
+0x4E48, 0x480E, 0x430F, 0x5E0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x151F, 0x160A,
+0x1840, 0x4A54, 0x8582, 0x930D, 0x2402, 0x03DC, 0x2003, 0x407C, 0x0007,
+0x3CB7, 0x444C, 0x13B0, 0x7BE0, 0x4C0B, 0x13B0, 0x84AE, 0x2004, 0x1840,
+0x93D2, 0x3D2B, 0x2404, 0x13B0, 0x84F0, 0x427C, 0x3CA8, 0x13B0, 0x4B52,
+0x151D, 0x1608, 0x1800, 0x485F, 0x3204, 0x03DF, 0x2406, 0x4B0C, 0x13B0,
+0x84F0, 0x407C, 0x0003, 0x3C99, 0x1840, 0x4788, 0x320C, 0x1840, 0x4788,
+0x320E, 0x1800, 0x45C8, 0x3204, 0x1840, 0x93C8, 0x321C, 0x242B, 0x08C7,
+0x00A7, 0x3210, 0x464E, 0x070D, 0x13B0, 0x4B38, 0x13B0, 0x4B2C, 0x2472,
+0x444E, 0x0A5E, 0x4E0F, 0x503F, 0x238A, 0x1800, 0x485D, 0x3210, 0x0FDD,
+0x2009, 0x503E, 0x238E, 0x1800, 0x4EC8, 0x3210, 0x1840, 0x4A1F, 0x858A,
+0x3C02, 0x13B0, 0x4B0C, 0x1800, 0x4FC8, 0x3208, 0x070F, 0x4F6E, 0x934E,
+0x3402, 0x13B0, 0x4B34, 0x13B0, 0x4B2C, 0x2451, 0x444E, 0x0A5E, 0x1840,
+0x93C8, 0x321D, 0x2018, 0x93CE, 0x238A, 0x3445, 0x1840, 0x4A1F, 0x8588,
+0x1800, 0x4FC8, 0x3208, 0x4E0F, 0x503F, 0x238A, 0x1800, 0x4FC8, 0x3210,
+0x1840, 0x4A1F, 0x858A, 0x1800, 0x4FC8, 0x3218, 0x503E, 0x238E, 0x3C13,
+0x93CE, 0x238E, 0x342D, 0x1840, 0x4A1F, 0x858A, 0x1800, 0x4FC8, 0x3208,
+0x4E0F, 0x503F, 0x238E, 0x13B0, 0x4B0C, 0x1800, 0x4FC8, 0x3218, 0x503E,
+0x238A, 0x1800, 0x4EC8, 0x3214, 0x08C7, 0x00A7, 0x3210, 0x070F, 0x4F6E,
+0x934E, 0x27FE, 0x3412, 0x13B0, 0x4B34, 0x08C7, 0x00A7, 0x3214, 0x070F,
+0x13B0, 0x4B2A, 0x240C, 0x934E, 0x3407, 0x13B0, 0x4B42, 0x13B0, 0x4B02,
+0x1800, 0x47E8, 0x3210, 0x13B0, 0x4B2C, 0x200C, 0x13B0, 0x4B1A, 0x2803,
+0x464C, 0x13B0, 0x8510, 0x4B0C, 0x13B0, 0x84F0, 0x407C, 0x0005, 0x3C04,
+0x4B0C, 0x13B0, 0x84F0, 0x426C, 0x1674, 0x0110, 0x1800, 0x485C, 0x3218,
+0x0080, 0x47D6, 0x1800, 0x4FC8, 0x3210, 0x1840, 0x4A1F, 0x8588, 0x0110,
+0x1800, 0x43C8, 0x3204, 0x1840, 0xB0B2, 0x0100, 0x3C0E, 0x0110, 0x4F6E,
+0x1840, 0x9388, 0x320E, 0x0110, 0x13B0, 0x4B42, 0x1800, 0x485C, 0x3208,
+0x0080, 0x47D6, 0xF07E, 0x007F, 0x1840, 0x4EC8, 0x321C, 0x464E, 0x070D,
+0x0110, 0x480C, 0x430D, 0x403E, 0x001A, 0x430F, 0x0080, 0x7E28, 0x143B,
+0x0CC8, 0x4D4D, 0x4D0A, 0x430B, 0x151B, 0x160F, 0x0E4F, 0x1840, 0x4F5C,
+0x8582, 0x13B0, 0x7BF8, 0x4C09, 0x13B0, 0x4BAA, 0x151D, 0x160F, 0x1840,
+0x4F1B, 0x31EC, 0x1840, 0x8F1B, 0x31EE, 0x4B88, 0x0000, 0x1840, 0x438F,
+0x31EC, 0x1840, 0x438F, 0x31EE, 0x490C, 0x13B0, 0x7BF2, 0x0080, 0x47A2,
+0x4A0C, 0x430D, 0x403E, 0x000C, 0x3FD3, 0x4303, 0x147B, 0x8231, 0x0CC9,
+0x4338, 0x4C5E, 0x0001, 0x0087, 0x3CF8, 0x0086, 0x323A, 0x9EC6, 0x003B,
+0x2003, 0x93C6, 0x003C, 0x380A, 0x4EC6, 0x003B, 0x4C5F, 0x0004, 0x4F86,
+0x0030, 0x07CF, 0xD397, 0x0000, 0x3C03, 0x07CF, 0xC397, 0x0000, 0x93CC,
+0x0002, 0x3803, 0xD3AF, 0x0000, 0x3C02, 0xC3AF, 0x0000, 0x0CCA, 0x03EA,
+0x4AE6, 0x003C, 0x1840, 0x93C2, 0x3D12, 0x2006, 0x434C, 0x13B0, 0x80A6,
+0x1840, 0x43D2, 0x3D12, 0x495E, 0x0001, 0x008B, 0x3008, 0x907E, 0x0081,
+0x203A, 0xB397, 0x0000, 0x2807, 0x4914, 0x0004, 0x432C, 0x0B3F, 0x0038,
+0x134F, 0x3C02, 0x4614, 0x0030, 0x9304, 0x2005, 0x09CC, 0x13B0, 0x4EE8,
+0x930C, 0x2025, 0x13B0, 0x8472, 0x002F, 0x30D4, 0x9F14, 0x0008, 0x2C88,
+0x002F, 0x3CF4, 0x04E4, 0x04CE, 0x04E4, 0x0EE4, 0x04EF, 0x0F3F, 0x0002,
+0x03DF, 0x247D, 0x472C, 0x134F, 0x4C08, 0x930C, 0x248C, 0x9038, 0x8000,
+0x248B, 0x9308, 0x3873, 0x407D, 0x0091, 0x4A6C, 0x0B0F, 0x134F, 0x930C,
+0x3882, 0x480C, 0x3C7C, 0x4C08, 0x3FF0, 0x807E, 0x0051, 0x244D, 0x835E,
+0x244F, 0x835E, 0x2456, 0x835E, 0x2459, 0x835E, 0x245B, 0x835E, 0x247A,
+0x835E, 0x247C, 0x835E, 0x247D, 0x835E, 0x247E, 0x807E, 0x0007, 0x247E,
+0x835E, 0x247F, 0x835E, 0x2468, 0x835E, 0x248D, 0x835E, 0x2496, 0x835E,
+0x24B7, 0x835E, 0x24C1, 0x807E, 0x001C, 0x240D, 0x826E, 0x2412, 0x826E,
+0x240E, 0x836E, 0x2417, 0x835E, 0x241C, 0x835E, 0x240F, 0x835E, 0x246D,
+0x3FBE, 0x435D, 0x09CC, 0x13B0, 0x632A, 0x3FC7, 0x434D, 0x3FFA, 0x495C,
+0x0006, 0x13B0, 0x6B62, 0x3FC0, 0x13B0, 0x7A94, 0x4318, 0x3FB3, 0x495C,
+0x0006, 0xD07C, 0x0040, 0x13B0, 0x7B90, 0x3FB5, 0x495C, 0x0006, 0xD07C,
+0x0040, 0x13B0, 0x7B68, 0x3FAE, 0x09CC, 0x13B0, 0x661E, 0x3FAA, 0x09CC,
+0x13B0, 0x5A84, 0x4C08, 0x931C, 0x2396, 0x13B0, 0x804E, 0x3F98, 0x472D,
+0x09CC, 0x13B0, 0x5BD2, 0x3F9C, 0x09CC, 0x13B0, 0x854C, 0x3F98, 0x13B0,
+0x75E8, 0x407D, 0x0092, 0x4A6C, 0x0B0F, 0x134F, 0x480C, 0x13B0, 0x846C,
+0x9038, 0x8002, 0x2009, 0x465C, 0x003C, 0x535C, 0xF07C, 0x003F, 0x2001,
+0x435C, 0x13B0, 0x846C, 0x13B0, 0x84EA, 0x430C, 0x5231, 0x1674, 0x0110,
+0x491C, 0x0004, 0x1380, 0x3C5C, 0x3F77, 0x09CC, 0x13B0, 0x63EC, 0x3F73,
+0x13B0, 0x7442, 0x3FDA, 0x1380, 0x3C48, 0x3F6D, 0x1380, 0x3C4C, 0x3F6A,
+0x1380, 0x3C54, 0x3F67, 0x13B0, 0x8472, 0x491C, 0x0006, 0x1380, 0x3C58,
+0x3F60, 0x13B0, 0x8472, 0x9389, 0x0006, 0x2403, 0x13B0, 0x84B6, 0x3FC2,
+0x13B0, 0x8486, 0x3FBF, 0x13B0, 0x8472, 0x002F, 0x3C6C, 0x03DF, 0x27B9,
+0x491C, 0x0006, 0x1380, 0x3C6C, 0x3F4A, 0x4381, 0x0004, 0x4381, 0x0006,
+0x4381, 0x0000, 0x4381, 0x0002, 0x002F, 0x3C74, 0x03DF, 0x2407, 0x410D,
+0x530D, 0x410C, 0x522C, 0x1380, 0x3C74, 0x4C08, 0x13B0, 0x8472, 0x411C,
+0x0004, 0x411D, 0x0006, 0x13B0, 0x8468, 0x412C, 0x411D, 0x0002, 0x13B0,
+0x8468, 0x13B0, 0x84EA, 0x3F19, 0x13B0, 0x8472, 0x002F, 0x3C70, 0x03DF,
+0x2404, 0x491C, 0x0006, 0x1380, 0x3C70, 0x4308, 0x3F12, 0x13B0, 0x8472,
+0x0BC7, 0x00A7, 0x0010, 0x13B0, 0x83A4, 0x903C, 0xBEEF, 0x2023, 0x903D,
+0xBEEF, 0x2020, 0x13B0, 0x81A2, 0x934C, 0x241C, 0x13B0, 0x8318, 0x903C,
+0xF00D, 0x2017, 0x903D, 0xF00D, 0x2014, 0x13B0, 0x8190, 0x934C, 0x2410,
+0x0088, 0x30D4, 0x080F, 0x4F1C, 0x0012, 0x070F, 0x134F, 0x080F, 0x4F1C,
+0x0014, 0x070F, 0x134F, 0x080F, 0x4F1C, 0x0016, 0x3C07, 0x430C, 0x070F,
+0x134F, 0x430C, 0x070F, 0x134F, 0x430C, 0x070F, 0x134F, 0x1380, 0x3C64,
+0x070F, 0x134F, 0x1380, 0x309C, 0x070F, 0x134F, 0x13B0, 0x84EA, 0x3FBD,
+0x4303, 0x140A, 0x8221, 0x430A, 0x93CC, 0x0006, 0x20CA, 0x407D, 0x0093,
+0x4C5C, 0x0002, 0x1380, 0x3008, 0x930C, 0x38BF, 0x13B0, 0x84DE, 0x430D,
+0x4C81, 0x0000, 0x4D81, 0x0002, 0x13B0, 0x849E, 0x412E, 0x411F, 0x0002,
+0x4E0F, 0x430E, 0x430D, 0x5C0E, 0x6D0F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x13B0, 0x83A4, 0x903C, 0xBEEF, 0x2020, 0x903D, 0xBEEF, 0x201D, 0x13B0,
+0x81A2, 0x934C, 0x2419, 0x13B0, 0x8318, 0x903C, 0xF00D, 0x2014, 0x903D,
+0xF00D, 0x2011, 0x13B0, 0x8190, 0x934C, 0x240D, 0x002F, 0x30D4, 0x4F1C,
+0x0004, 0x1380, 0x3018, 0x002F, 0x30D4, 0x4F1C, 0x0006, 0x1380, 0x3018,
+0x3C08, 0x13B0, 0x849E, 0x1380, 0x3018, 0x13B0, 0x849E, 0x1380, 0x3018,
+0x13B0, 0x84D6, 0x1380, 0x3018, 0x13B0, 0x848E, 0x1380, 0x3018, 0x422D,
+0x410C, 0x530C, 0x1380, 0x3014, 0x002F, 0x30D4, 0x4F1C, 0x000E, 0x1380,
+0x3018, 0x13B0, 0x82EE, 0x903C, 0xABBA, 0x200C, 0x903D, 0xABBA, 0x2009,
+0x13B0, 0x8220, 0x934C, 0x2405, 0x1380, 0x3C4C, 0x1380, 0x3018, 0x3C03,
+0x433C, 0x1380, 0x3018, 0x13B0, 0x82EE, 0x903C, 0xABBA, 0x2011, 0x903D,
+0xABBA, 0x200E, 0x13B0, 0x8220, 0x934C, 0x240A, 0x13B0, 0x849E, 0x903C,
+0xAAAB, 0x2405, 0x1380, 0x3C48, 0x1380, 0x3018, 0x3C03, 0x433C, 0x1380,
+0x3018, 0x13B0, 0x8326, 0x903C, 0xACDC, 0x200C, 0x903D, 0xACDC, 0x2009,
+0x13B0, 0x820E, 0x934C, 0x2405, 0x1380, 0x3068, 0x1380, 0x3018, 0x3C03,
+0x433C, 0x1380, 0x3018, 0x13B0, 0x7CEA, 0x1380, 0x3018, 0x13B0, 0x7910,
+0x1380, 0x3018, 0x13B0, 0x7CC6, 0x1380, 0x3018, 0x13B0, 0x7B14, 0x1380,
+0x3018, 0x13B0, 0x7D32, 0x1380, 0x3018, 0x002F, 0x30D4, 0x4F1C, 0x0010,
+0x1380, 0x3018, 0x422C, 0x1380, 0x3018, 0x403C, 0x0102, 0x1380, 0x3018,
+0x430C, 0x430D, 0x1380, 0x301C, 0x13B0, 0x8148, 0x431A, 0x3C59, 0x403A,
+0xFFFD, 0x3C56, 0x93DC, 0x0006, 0x201B, 0x002F, 0x30D4, 0x938F, 0x0008,
+0x2413, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1380, 0x3008, 0x930C, 0x3808,
+0x002F, 0x30D4, 0x4F1C, 0x0008, 0x1380, 0x3018, 0x431A, 0x3C3E, 0x403A,
+0xFFFC, 0x3C3B, 0x403A, 0xFFFE, 0x3C38, 0x93EC, 0x0006, 0x2023, 0x407D,
+0x0093, 0x4C5C, 0x0002, 0x1380, 0x3008, 0x930C, 0x3818, 0x430A, 0x3C0F,
+0x4A0C, 0x1380, 0x3018, 0x002F, 0x3CF4, 0x4A0E, 0x0EEE, 0x0ECD, 0x0EEE,
+0x0DEE, 0x0FEE, 0x4E2C, 0x1380, 0x3018, 0x531A, 0x002F, 0x30D4, 0x9F1A,
+0x0008, 0x2BEC, 0x431A, 0x3C15, 0x403A, 0xFFFB, 0x3C12, 0x90FC, 0x0003,
+0x0006, 0x200E, 0x407D, 0x0091, 0x4C5C, 0x0002, 0x1380, 0x3008, 0x930C,
+0x3804, 0x1380, 0x300C, 0x403A, 0xFFFA, 0x13B0, 0x82C2, 0x931A, 0x2004,
+0x403A, 0x8000, 0x1380, 0x300C, 0x4A0C, 0x5221, 0x160A, 0x0110, 0x147B,
+0x434A, 0x4308, 0x13B0, 0x82D2, 0x434C, 0x13B0, 0x6ADC, 0x4C4B, 0x934C,
+0x2511, 0x434E, 0x4C4D, 0x008C, 0x30D8, 0x13B0, 0x4962, 0x0089, 0x323A,
+0x09C6, 0x00A6, 0x003A, 0x0087, 0x327C, 0x4A4F, 0x1840, 0x4F5E, 0x30D8,
+0x1840, 0x4EC2, 0x3D13, 0x466F, 0x1840, 0xB3DF, 0x3277, 0x2807, 0x403C,
+0x8009, 0x13B0, 0x7E06, 0x4038, 0x8009, 0x3CEE, 0x466F, 0x0FEF, 0x1840,
+0x938F, 0x325A, 0x200F, 0x1840, 0x40B2, 0x0032, 0x3394, 0x4389, 0x0034,
+0x1840, 0xB35E, 0x2C01, 0x531E, 0x466F, 0x0FEF, 0x1840, 0x4E8F, 0x3262,
+0x466F, 0x0FEF, 0x1840, 0x90BF, 0x0104, 0x3262, 0x2C7C, 0x466F, 0x0FEF,
+0x1840, 0x4F1D, 0x3262, 0x535D, 0x466F, 0x0FEF, 0x1840, 0x4F1E, 0x325A,
+0x8E4D, 0x9D4B, 0x2C01, 0x4B4D, 0x4D4E, 0x035E, 0x466F, 0x064F, 0x1800,
+0x4F54, 0x323A, 0x466F, 0x0FEF, 0x1840, 0x4F1F, 0x325A, 0x0FE4, 0x4A4F,
+0x00AF, 0x30D8, 0x934E, 0x2406, 0x4E45, 0x4FB4, 0x0000, 0x03E4, 0x5375,
+0x23FB, 0x5E4E, 0x9D4E, 0x2C17, 0x4A4C, 0x5E0C, 0xE03C, 0x8000, 0x0FAC,
+0xB0D8, 0x466F, 0x064F, 0x1800, 0x4F54, 0x323A, 0x4665, 0x05E5, 0x4E4F,
+0x1840, 0x551F, 0x325A, 0x0FE4, 0x4CF4, 0x0000, 0x535E, 0x9D4E, 0x2BEF,
+0x466F, 0x0FEF, 0x1840, 0x5D8F, 0x325A, 0x5D4A, 0x8D4B, 0x466E, 0x0EEE,
+0x466F, 0x0FEF, 0x1840, 0x9F9E, 0x325A, 0x3262, 0x2C81, 0x1840, 0x4382,
+0x3394, 0x13B0, 0x8414, 0x90FF, 0x0091, 0x0001, 0x202D, 0xB3E7, 0x0006,
+0x286E, 0x073F, 0x010C, 0x4F5E, 0x0002, 0xF07E, 0x003F, 0x13B0, 0x8414,
+0x9F5E, 0x0002, 0x2063, 0x073F, 0x010C, 0x93CF, 0x0003, 0x2005, 0x13B0,
+0x8414, 0x92EF, 0x0000, 0x2811, 0x13B0, 0x8262, 0x2056, 0xF0F7, 0x00F8,
+0x0006, 0x1840, 0x4382, 0x3398, 0x3C4F, 0x403C, 0x800A, 0x13B0, 0x7E06,
+0x4038, 0x800A, 0x3C4F, 0xF0F7, 0x00F8, 0x0006, 0x3C44, 0x13B0, 0x8414,
+0x90FF, 0x0092, 0x0001, 0x466F, 0x2024, 0x13B0, 0x845E, 0x200C, 0x435C,
+0x13B0, 0x80A6, 0x434C, 0x13B0, 0x8064, 0x1840, 0x43C2, 0x3D12, 0x4038,
+0x0092, 0x3C2E, 0x475E, 0x0006, 0xF07E, 0x0003, 0x907E, 0x0003, 0x2027,
+0x073E, 0x010C, 0x13B0, 0x8414, 0x9FDE, 0x0002, 0x0002, 0x201F, 0x13B0,
+0x8262, 0x201C, 0xC3E7, 0x0006, 0x3C19, 0x13B0, 0x845E, 0x200B, 0x13B0,
+0x8414, 0x90FF, 0x008B, 0x0001, 0x2005, 0x13B0, 0x7700, 0x4038, 0x008B,
+0x3C12, 0x466F, 0x1840, 0xD3DF, 0x3277, 0x53D9, 0x003A, 0x92E9, 0x003A,
+0x2802, 0x43C9, 0x003A, 0x466F, 0x0FEF, 0x1840, 0x438F, 0x325A, 0x4389,
+0x0034, 0x4303, 0x934B, 0x22FC, 0x13B0, 0x83B2, 0x480C, 0x1674, 0x0110,
+0x140A, 0x430E, 0x430E, 0x3C01, 0x532E, 0x932E, 0x2C1D, 0x4E0F, 0x064F,
+0x1840, 0x9F1D, 0x86E6, 0x2BF7, 0x2004, 0x1840, 0x9F1C, 0x86E4, 0x2BF2,
+0x4E0F, 0x531F, 0x064F, 0x1840, 0x9D8F, 0x86E6, 0x2BEB, 0x2004, 0x1840,
+0x9C8F, 0x86E4, 0x2BE6, 0x1840, 0x425C, 0x887A, 0x4C4C, 0x430D, 0x3CF0,
+0x430E, 0x3C01, 0x532E, 0x932E, 0x2C1D, 0x4E0F, 0x064F, 0x1840, 0x9F1D,
+0x86DE, 0x2BF7, 0x2004, 0x1840, 0x9F1C, 0x86DC, 0x2BF2, 0x4E0F, 0x531F,
+0x064F, 0x1840, 0x9D8F, 0x86DE, 0x2BEB, 0x2004, 0x1840, 0x9C8F, 0x86DC,
+0x2BE6, 0x1840, 0x425C, 0x887B, 0x4C4C, 0x430D, 0x3CCE, 0x430E, 0x3C01,
+0x532E, 0x922E, 0x2C1D, 0x4E0F, 0x064F, 0x1840, 0x9F1D, 0x86F6, 0x2BF7,
+0x2004, 0x1840, 0x9F1C, 0x86F4, 0x2BF2, 0x4E0F, 0x531F, 0x064F, 0x1840,
+0x9D8F, 0x86F6, 0x2BEB, 0x2004, 0x1840, 0x9C8F, 0x86F4, 0x2BE6, 0x1840,
+0x425C, 0x887C, 0x4C4C, 0x430D, 0x3CAC, 0x430E, 0x3C01, 0x532E, 0x932E,
+0x2C1D, 0x4E0F, 0x064F, 0x1840, 0x9F1D, 0x8706, 0x2BF7, 0x2004, 0x1840,
+0x9F1C, 0x8704, 0x2BF2, 0x4E0F, 0x531F, 0x064F, 0x1840, 0x9D8F, 0x8706,
+0x2BEB, 0x2004, 0x1840, 0x9C8F, 0x8704, 0x2BE6, 0x1840, 0x425C, 0x887D,
+0x4C4C, 0x430D, 0x3C8A, 0x430E, 0x3C01, 0x532E, 0x932E, 0x2C1D, 0x4E0F,
+0x064F, 0x1840, 0x9F1D, 0x870E, 0x2BF7, 0x2004, 0x1840, 0x9F1C, 0x870C,
+0x2BF2, 0x4E0F, 0x531F, 0x064F, 0x1840, 0x9D8F, 0x870E, 0x2BEB, 0x2004,
+0x1840, 0x9C8F, 0x870C, 0x2BE6, 0x1840, 0x425C, 0x887F, 0x4C4C, 0x430D,
+0x3C68, 0x430E, 0x3C01, 0x532E, 0x932E, 0x2C1D, 0x4E0F, 0x064F, 0x1840,
+0x9F1D, 0x86EE, 0x2BF7, 0x2004, 0x1840, 0x9F1C, 0x86EC, 0x2BF2, 0x4E0F,
+0x531F, 0x064F, 0x1840, 0x9D8F, 0x86EE, 0x2BEB, 0x2004, 0x1840, 0x9C8F,
+0x86EC, 0x2BE6, 0x1840, 0x425C, 0x887E, 0x4C4C, 0x430D, 0x3C46, 0x430E,
+0x3C01, 0x532E, 0x932E, 0x2C1D, 0x4E0F, 0x064F, 0x1840, 0x9F1D, 0x8716,
+0x2BF7, 0x2004, 0x1840, 0x9F1C, 0x8714, 0x2BF2, 0x4E0F, 0x531F, 0x064F,
+0x1840, 0x9D8F, 0x8716, 0x2BEB, 0x2004, 0x1840, 0x9C8F, 0x8714, 0x2BE6,
+0x1840, 0x425C, 0x8881, 0x4C4C, 0x430D, 0x3C24, 0x430E, 0x3C01, 0x532E,
+0x932E, 0x2C1D, 0x4E0F, 0x064F, 0x1840, 0x9F1D, 0x86D6, 0x2BF7, 0x2004,
+0x1840, 0x9F1C, 0x86D4, 0x2BF2, 0x4E0F, 0x531F, 0x064F, 0x1840, 0x9D8F,
+0x86D6, 0x2BEB, 0x2004, 0x1840, 0x9C8F, 0x86D4, 0x2BE6, 0x1840, 0x425C,
+0x8880, 0x4C4C, 0x430D, 0x3C02, 0x430C, 0x430D, 0x160A, 0x0110, 0x13B0,
+0x6E54, 0xF0F2, 0x009F, 0x093E, 0x40F2, 0x00C4, 0x093D, 0x3C3E, 0x4303,
+0x1840, 0x43D2, 0x3D2A, 0x13B0, 0x5668, 0xD0F2, 0x0010, 0x093C, 0xC0F2,
+0x0040, 0x093E, 0xC0B2, 0x0100, 0x0910, 0x40F2, 0x0020, 0x093D, 0x13B0,
+0x564E, 0x434C, 0x0110, 0x434C, 0xB2B2, 0x0908, 0x2801, 0x435C, 0x13B0,
+0x5624, 0x2002, 0xD07C, 0x0020, 0xB3A2, 0x0902, 0x2802, 0xD07C, 0x0040,
+0x1840, 0x93D2, 0x3D2A, 0x2002, 0xD27C, 0x0110, 0xD07C, 0x0010, 0x0110,
+0x1840, 0x93D2, 0x3D2B, 0x0110, 0x13B0, 0x5668, 0xC3A2, 0x0902, 0xC0B2,
+0x0400, 0x0908, 0x13B0, 0x564E, 0x1840, 0x43C2, 0x3D2B, 0x1840, 0x43C2,
+0x3D2A, 0x434C, 0x0110, 0x40B2, 0x9600, 0x0900, 0x0110, 0x13B0, 0x5668,
+0xD3A2, 0x0902, 0xD0B2, 0x0400, 0x0908, 0x3FC3, 0x4303, 0x40B2, 0x9628,
+0x0900, 0x0110, 0x141B, 0x13B0, 0x5668, 0x1840, 0x43C2, 0x3D2B, 0x1840,
+0x43C2, 0x3D2A, 0x1840, 0x43C2, 0x3D2C, 0x1840, 0x43C2, 0x3D16, 0x1840,
+0x43C2, 0x3D17, 0x43C2, 0x093C, 0x1840, 0x43B2, 0x3C02, 0x1840, 0x43B2,
+0x3C04, 0x1840, 0x43C2, 0x3D29, 0x43C2, 0x093F, 0x407F, 0x0080, 0x4FC2,
+0x0921, 0x4FC2, 0x0923, 0x40F2, 0x008C, 0x0920, 0x40F2, 0x008C, 0x0922,
+0x40F2, 0x0015, 0x092F, 0x40F2, 0x001F, 0x092E, 0x008D, 0x8584, 0x407A,
+0x0040, 0x403B, 0xE400, 0x4D5C, 0xFFFE, 0x0A5C, 0x40FC, 0x0094, 0x23C8,
+0x4B0E, 0x5D1E, 0x0008, 0x0B5E, 0x4ECC, 0x23C9, 0x4B0E, 0x5D1E, 0x000A,
+0x0B5E, 0x4ECC, 0x23CD, 0x4FCC, 0x23CA, 0x4FCC, 0x23CE, 0x4ACC, 0x23CF,
+0x40FC, 0x0094, 0x2388, 0x4B0E, 0x5D1E, 0x0004, 0x0B5E, 0x4ECC, 0x2389,
+0x4B0E, 0x5D1E, 0x0006, 0x0B5E, 0x4ECC, 0x238D, 0x43CC, 0x238A, 0x43CC,
+0x238E, 0x4ACC, 0x238F, 0x93ED, 0xFFFF, 0x2014, 0x40FC, 0x0094, 0x23C0,
+0x4B0E, 0x5D2E, 0x0B5E, 0x4ECC, 0x23C1, 0x4B0E, 0x5D1E, 0x0002, 0x0B5E,
+0x4ECC, 0x23C5, 0x4FCC, 0x23C2, 0x4FCC, 0x23C6, 0x4ACC, 0x23C7, 0x00AD,
+0x0010, 0x009D, 0x85A4, 0x23B7, 0x13B0, 0x7678, 0x4AC2, 0x093C, 0x43C2,
+0x093E, 0x40F2, 0x00C4, 0x093D, 0x13B0, 0x564E, 0x434C, 0x161A, 0x0110,
+0x1840, 0x4C82, 0x3C0E, 0x434C, 0x0110, 0x13B0, 0x5668, 0x4382, 0x0902,
+0xC0B2, 0x0100, 0x0910, 0x3F4A, 0x4303, 0x145B, 0x8031, 0x0006, 0x410C,
+0x530C, 0x008E, 0x8873, 0x008D, 0x0006, 0x13B0, 0x7F92, 0x13B0, 0x804E,
+0x13B0, 0x8148, 0x13B0, 0x8318, 0x903C, 0xF00D, 0x200B, 0x903D, 0xF00D,
+0x2008, 0x13B0, 0x8496, 0x933C, 0x2404, 0x13B0, 0x8190, 0x934C, 0x201F,
+0x008A, 0x3C68, 0x1800, 0x40FA, 0x850C, 0x0000, 0x1800, 0x40FA, 0x8508,
+0x0004, 0x1800, 0x40FA, 0x851C, 0x000C, 0x1800, 0x40FA, 0x8578, 0x0058,
+0x1800, 0x40FA, 0x857A, 0x0008, 0x1800, 0x40FA, 0x8534, 0x0054, 0x1800,
+0x40FA, 0x857A, 0x006C, 0x3C1E, 0x13B0, 0x8496, 0x134C, 0x1800, 0x40F2,
+0x18A0, 0x3CD8, 0x008A, 0x3C68, 0x0ACC, 0x13B0, 0x18A0, 0x13B0, 0x8342,
+0x933C, 0x2002, 0x930D, 0x240C, 0x13B0, 0x83A4, 0x903C, 0xBEEF, 0x2007,
+0x903D, 0xBEEF, 0x2004, 0x13B0, 0x81A2, 0x934C, 0x2002, 0x433C, 0x3C58,
+0x13B0, 0x849E, 0x0A3F, 0x006C, 0x134F, 0x13B0, 0x8342, 0x4C08, 0x4D09,
+0x13B0, 0x8220, 0x4C46, 0x13B0, 0x8190, 0x4C4D, 0x008B, 0x30D4, 0x1246,
+0x430E, 0x430F, 0x008C, 0x3008, 0x1519, 0x1608, 0x1348, 0x0C7B, 0x0000,
+0x0088, 0x3CF4, 0x0B0F, 0x1800, 0x4FD8, 0x000A, 0x0000, 0x0ACC, 0x13B0,
+0x856E, 0x0ACC, 0x1380, 0x307C, 0x080E, 0x5321, 0x03DE, 0x242B, 0x13B0,
+0x816C, 0x0EEF, 0x40BF, 0xFFFE, 0x0000, 0x080E, 0x13B0, 0x816C, 0x0FEE,
+0x1800, 0x40FE, 0x6BE8, 0x0002, 0x434E, 0x3C01, 0x535E, 0x0B0F, 0x9F1E,
+0x0008, 0x2C16, 0x080F, 0x4E4D, 0x0DED, 0x0DCA, 0x0DED, 0x0AED, 0x0FED,
+0x4D2F, 0x933F, 0x27F1, 0x903F, 0xFF00, 0x2BEE, 0x4EC1, 0x0004, 0x43C1,
+0x0005, 0x434D, 0x410C, 0x530C, 0x13B0, 0x632A, 0x430C, 0x5031, 0x0006,
+0x1656, 0x0110, 0x143B, 0x008A, 0x327C, 0x4A6F, 0x1840, 0xB3DF, 0x3282,
+0x2CA9, 0x4A6F, 0x13B0, 0x8288, 0x008D, 0x3D15, 0x4D6E, 0x90FF, 0x0093,
+0x0001, 0x4A6F, 0x2406, 0x13B0, 0x8288, 0xC0FF, 0x0080, 0x0002, 0x3C11,
+0x13B0, 0x8288, 0x93CF, 0x0002, 0x3802, 0x934E, 0x240A, 0x937E, 0x2402,
+0x535E, 0x3C01, 0x435E, 0x4A6F, 0x13B0, 0x8288, 0x4ECF, 0x0003, 0x4ECD,
+0x0000, 0x4A6F, 0x0FEF, 0x1840, 0x4F1E, 0x3284, 0x4A6F, 0x13B0, 0x8288,
+0x4ECF, 0x0000, 0x4A6F, 0x13B0, 0x8288, 0xB3DF, 0x0000, 0x2C11, 0x4A6F,
+0x064F, 0x1800, 0x4F5E, 0x3388, 0x4A6C, 0x0CEC, 0x431F, 0x1840, 0x5C1F,
+0x3284, 0x1840, 0x4F8C, 0x3284, 0x0FEE, 0x43CE, 0x0000, 0x430C, 0x430F,
+0x3C0D, 0x4F0B, 0x0BEB, 0x4A6E, 0x0EEE, 0x0EC8, 0x1806, 0x5E4E, 0x08EE,
+0x0EEB, 0x1840, 0xEB1C, 0x3286, 0x531F, 0x4A6E, 0x0EEE, 0x431B, 0x1840,
+0x5E1B, 0x3284, 0x035B, 0x9B0F, 0x2BEA, 0xE33C, 0x4A6F, 0x0FEF, 0x1840,
+0x4F1E, 0x3284, 0x035E, 0x531E, 0x0EEE, 0x4A6F, 0x0FEF, 0x0FCB, 0x1806,
+0x5F4F, 0x0BEF, 0x0FEE, 0x1840, 0x4C8E, 0x3286, 0x4A6F, 0x1840, 0xD3DF,
+0x3282, 0x4A6F, 0x1840, 0xC2FF, 0x3282, 0x4A6F, 0x13B0, 0x8288, 0x93CF,
+0x0002, 0x3802, 0x43CD, 0x0000, 0x4A6F, 0x13B0, 0x8288, 0xB0FF, 0x0040,
+0x0002, 0x4A6F, 0x2C0B, 0x13B0, 0x8288, 0x90FF, 0x0093, 0x0001, 0x2008,
+0x4A6F, 0x1840, 0xD3EF, 0x3282, 0x3C03, 0x1840, 0xC3EF, 0x3282, 0x4A6F,
+0x0FEF, 0x403C, 0x0003, 0x1840, 0x5F1C, 0x3284, 0x13B0, 0x7D56, 0x53DA,
+0x0000, 0x93CA, 0x0000, 0x2402, 0x43CA, 0x0000, 0x13B0, 0x83FC, 0x430C,
+0x1638, 0x0110, 0x147B, 0x4C16, 0x0004, 0x4C17, 0x0006, 0xF336, 0xF037,
+0x000F, 0x4C1E, 0x0008, 0x4C1F, 0x000A, 0xF33E, 0xF03F, 0x000F, 0x4604,
+0x4705, 0x5E04, 0x6F05, 0x5034, 0xFFFE, 0x6335, 0x4308, 0x4309, 0x460C,
+0x470D, 0x13B0, 0x538A, 0x120A, 0x4CC1, 0x0000, 0x413A, 0x1840, 0x925A,
+0x8879, 0x2002, 0x433C, 0x3C7F, 0x1840, 0x925A, 0x887C, 0x2404, 0x1840,
+0x925A, 0x887B, 0x2008, 0x1840, 0x4218, 0x871C, 0x4309, 0x002C, 0x86E0,
+0x13B0, 0x6922, 0x1840, 0x925A, 0x887D, 0x2404, 0x1840, 0x925A, 0x887A,
+0x2008, 0x1840, 0x4218, 0x871C, 0x4309, 0x002C, 0x86E4, 0x13B0, 0x6922,
+0x1840, 0x925A, 0x887E, 0x2404, 0x1840, 0x925A, 0x887F, 0x2008, 0x1840,
+0x4218, 0x871C, 0x4309, 0x002C, 0x86EC, 0x13B0, 0x6922, 0x1840, 0x925A,
+0x8881, 0x2404, 0x1840, 0x925A, 0x8880, 0x200A, 0x1840, 0x4218, 0x871C,
+0x4309, 0x13B0, 0x8038, 0x002C, 0x86D4, 0x13B0, 0x6922, 0x460A, 0x470B,
+0x3C13, 0x4A0C, 0x4B0D, 0x13B0, 0x538A, 0x1840, 0x425E, 0x8879, 0x4E4E,
+0x430F, 0x9E0C, 0x2002, 0x9F0D, 0x2404, 0x151B, 0x160C, 0x13B0, 0x6922,
+0x580A, 0x690B, 0x950B, 0x2BEB, 0x2002, 0x940A, 0x2BE8, 0x460A, 0x470B,
+0x3C17, 0x4A0C, 0x4B0D, 0x13B0, 0x538A, 0x1840, 0x425E, 0x8879, 0x4E4E,
+0x430F, 0x9E0C, 0x2002, 0x9F0D, 0x2408, 0x480E, 0x490F, 0x531E, 0x630F,
+0x151B, 0x160C, 0x13B0, 0x68FC, 0x580A, 0x690B, 0x950B, 0x2BE7, 0x2002,
+0x940A, 0x2BE4, 0x13B0, 0x7FAA, 0x431C, 0x1674, 0x0110, 0x141B, 0x434A,
+0x434B, 0xB31D, 0x2854, 0x4C1E, 0x0004, 0x4C1F, 0x0006, 0xF33E, 0xF03F,
+0x000F, 0x1840, 0x4E82, 0x3CFE, 0x1840, 0x4F82, 0x3D00, 0x4C1E, 0x0008,
+0x4C1F, 0x000A, 0xF33E, 0xF03F, 0x000F, 0x1840, 0x521E, 0x3CFE, 0x1840,
+0x621F, 0x3D00, 0x1840, 0x4E82, 0x3D02, 0x1840, 0x4F82, 0x3D04, 0x0CCA,
+0x00AA, 0x000C, 0x4C6C, 0x4C4C, 0x503C, 0xFFF5, 0x4C0D, 0xE33D, 0x5D0D,
+0x7D0D, 0x035D, 0x100C, 0x432E, 0x430F, 0x13B0, 0x7E28, 0x151D, 0x160F,
+0x0ACB, 0x0FEB, 0x1840, 0x421C, 0x3CFE, 0x1840, 0x421D, 0x3D00, 0x13B0,
+0x538A, 0x1840, 0x925C, 0x8879, 0x2002, 0x433C, 0x3C58, 0x1840, 0x43A2,
+0x3D06, 0x1840, 0x4382, 0x3D08, 0x1840, 0x4292, 0x3CFE, 0x3CFA, 0x1840,
+0x4292, 0x3D00, 0x3CFC, 0x13B0, 0x8038, 0x3C39, 0x0CCA, 0x00AA, 0x0004,
+0x4C6C, 0x4C4C, 0x503C, 0xFFFD, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D, 0x035D,
+0x100C, 0x432E, 0x430F, 0x13B0, 0x7E28, 0x151D, 0x160F, 0x0ACB, 0x0FEB,
+0x13B0, 0x7FAA, 0x3C21, 0x1840, 0x421C, 0x3CFA, 0x1840, 0x421D, 0x3CFC,
+0x13B0, 0x538A, 0x1840, 0x425E, 0x8879, 0x4E4E, 0x430F, 0x9E0C, 0x2002,
+0x9F0D, 0x2408, 0x431E, 0x430F, 0x002D, 0x3CFA, 0x0ACC, 0x13B0, 0x68BE,
+0x03EA, 0x1840, 0x5292, 0x3D06, 0x3CFA, 0x1840, 0x6292, 0x3D08, 0x3CFC,
+0x1840, 0x9292, 0x3D04, 0x3CFC, 0x2806, 0x2007, 0x1840, 0x9292, 0x3D02,
+0x3CFA, 0x2C02, 0x0BDA, 0x2BD2, 0x430C, 0x161A, 0x0110, 0x147B, 0x8031,
+0x0032, 0x434A, 0x13B0, 0x83B2, 0x13B0, 0x8292, 0x930C, 0x241A, 0x410C,
+0x503C, 0x0014, 0x13B0, 0x7AC0, 0x410C, 0x503C, 0x000A, 0x13B0, 0x7AC0,
+0x410C, 0x530C, 0x13B0, 0x7AC0, 0x013E, 0x0016, 0x411D, 0x000A, 0x415C,
+0x0006, 0x13B0, 0x7632, 0x13B0, 0x7FC2, 0x13B0, 0x83B2, 0x008B, 0x30B2,
+0x4106, 0x5036, 0x001E, 0x0089, 0x3008, 0x0BC8, 0x00A8, 0x0001, 0x93C8,
+0x0002, 0x243C, 0x4B1F, 0xFFFA, 0x0027, 0x30D4, 0x971F, 0x0008, 0x2C35,
+0x0027, 0x3CF4, 0x0FEF, 0x0FCE, 0x0FEF, 0x0EEF, 0x0FE7, 0x0737, 0x0002,
+0x03D7, 0x242A, 0x485D, 0x0001, 0x486C, 0x090F, 0x134F, 0x930C, 0x3823,
+0x0BCF, 0x0FAF, 0xFFFA, 0x0F3C, 0x0002, 0x1406, 0x430F, 0x435E, 0x4C6D,
+0x503D, 0xFFFD, 0x00AC, 0x0006, 0x0934, 0x001C, 0x1344, 0x403C, 0x0003,
+0x1347, 0x5221, 0x931C, 0x2009, 0x093F, 0x0004, 0x134F, 0xB3DB, 0x0000,
+0x2803, 0x486C, 0x13B0, 0x6B62, 0x06CC, 0x093F, 0x0020, 0x134F, 0x00AB,
+0x000A, 0x009B, 0x30DA, 0x23B9, 0x4A0B, 0x1840, 0xB3DB, 0x3277, 0x281A,
+0x403D, 0x0014, 0x434C, 0x13B0, 0x7EA6, 0x4A4D, 0x008C, 0x323A, 0x1380,
+0x3020, 0x1840, 0x4AC2, 0x3D2D, 0x064B, 0x1800, 0x4B5C, 0x323A, 0x13B0,
+0x4BB6, 0x1840, 0x425A, 0x3D2D, 0x1840, 0xC3DA, 0x3277, 0x3C05, 0x535A,
+0x926A, 0x2C02, 0x934A, 0x23DC, 0x5031, 0x0032, 0x1674, 0x0110, 0x425F,
+0x2384, 0xF07F, 0x000F, 0x2009, 0x93C2, 0x2384, 0x3403, 0x425E, 0x0920,
+0x3C10, 0x425E, 0x0922, 0x3C0D, 0x537F, 0x907F, 0x0007, 0x2C0D, 0x0A5F,
+0x93C2, 0x2384, 0x3403, 0x4F5E, 0x23C8, 0x3C02, 0x4F5E, 0x2388, 0xF27E,
+0x1840, 0x4EC2, 0x3D19, 0x1840, 0x425E, 0x3D19, 0x1942, 0x104E, 0x1840,
+0x4EC2, 0x3D19, 0x13B0, 0x5F32, 0x3C46, 0x4303, 0x3C3C, 0x4303, 0x008C,
+0x3D19, 0x1840, 0xB0F2, 0x0040, 0x8737, 0x2802, 0x43DC, 0x0000, 0x1840,
+0x93D2, 0x3D2C, 0x2002, 0xD3EC, 0x0000, 0x13B0, 0x84E4, 0x1840, 0x43A2,
+0x3C02, 0x3C2E, 0x4303, 0x3C24, 0x4303, 0x13B0, 0x84E4, 0x425E, 0x2382,
+0x907E, 0x0003, 0x2009, 0x1840, 0x425F, 0x3EBE, 0x1840, 0x4F82, 0x3C02,
+0x008C, 0x3EBE, 0x3C11, 0x430C, 0x934E, 0x2406, 0x1840, 0x4C5F, 0x87BD,
+0x5F0C, 0x537E, 0x23FA, 0x1840, 0x4C5F, 0x87BD, 0x1840, 0x4F82, 0x3C02,
+0x00AC, 0x87BD, 0x3C09, 0x4303, 0x13B0, 0x5F32, 0x43CC, 0x0000, 0x1840,
+0x42DC, 0x3D17, 0x0001, 0x13B0, 0x7C7C, 0x434C, 0x0110, 0x13B0, 0x84E4,
+0x1840, 0x43A2, 0x3C02, 0x008C, 0x3D19, 0x0110, 0x13B0, 0x84E4, 0x1840,
+0x40B2, 0x008D, 0x3C02, 0x008C, 0x8730, 0x3FEB, 0x4303, 0x13B0, 0x84E4,
+0x1840, 0x40B2, 0x0012, 0x3C02, 0x008C, 0x871E, 0x3FE1, 0x4303, 0x13B0,
+0x84E4, 0x1840, 0x4392, 0x3C02, 0x008C, 0x3D16, 0x3FD8, 0x4303, 0x145B,
+0x4C4A, 0x4346, 0x13B0, 0x81FC, 0x151F, 0x1609, 0x1840, 0x4958, 0x8582,
+0x403E, 0x000C, 0x13B0, 0x7E28, 0x151D, 0x160B, 0x1840, 0x938B, 0x31EE,
+0x202F, 0x1840, 0x93CB, 0x31F5, 0x2029, 0x1840, 0x43DB, 0x31F5, 0x1840,
+0x90FB, 0x0040, 0x31F6, 0x2016, 0x0A58, 0x1840, 0x93CB, 0x31F4, 0x2009,
+0x93C8, 0x23CA, 0x340E, 0x43C8, 0x23CA, 0x1840, 0x43DB, 0x31F4, 0x3C08,
+0x93C8, 0x23CE, 0x3405, 0x43C8, 0x23CE, 0x1840, 0x43CB, 0x31F4, 0x1840,
+0x438B, 0x31EC, 0x1840, 0x93C2, 0x3C0E, 0x3404, 0x4A4C, 0x13B0, 0x8518,
+0x4C46, 0x460C, 0x3C4D, 0x1840, 0x43CB, 0x31F5, 0x0A58, 0x480F, 0x503F,
+0x23CE, 0x5038, 0x23CA, 0x4806, 0x1840, 0x93CB, 0x31F4, 0x2008, 0x1840,
+0x491C, 0x858C, 0x1840, 0x4919, 0x858E, 0x0FC6, 0x3C07, 0x1840, 0x491C,
+0x858E, 0x0FC8, 0x1840, 0x4919, 0x858C, 0x1840, 0x4B1A, 0x31EE, 0x903A,
+0x0041, 0x2802, 0x407A, 0x0040, 0x93C8, 0x0000, 0x3424, 0x4A4E, 0x430F,
+0x1800, 0x4B5D, 0x31F0, 0x1380, 0x3BD8, 0x4AC8, 0x0000, 0x13B0, 0x7C30,
+0x1840, 0x4B1A, 0x31EE, 0x930A, 0x2414, 0x93C6, 0x0000, 0x3411, 0x903A,
+0x0041, 0x2802, 0x407A, 0x0040, 0x4A4E, 0x430F, 0x1800, 0x4B5D, 0x31F0,
+0x09CC, 0x1380, 0x3BD8, 0x4AC6, 0x0000, 0x13B0, 0x7C30, 0x430C, 0x1656,
+0x0110, 0x147B, 0x4D0B, 0x4307, 0x0CC9, 0x008A, 0x327C, 0x0A3F, 0x0110,
+0x03DF, 0x2057, 0x4A6F, 0x0FEF, 0x1840, 0x4F18, 0x3284, 0x480C, 0x531C,
+0x4806, 0x5B06, 0x9036, 0x00FF, 0x2839, 0x4A6F, 0x13B0, 0x8288, 0x4F57,
+0x0001, 0x4A6F, 0x13B0, 0x8288, 0x4F54, 0x0002, 0x4A6F, 0x13B0, 0x8288,
+0xD0FF, 0x0080, 0x0002, 0x4376, 0x8806, 0x460E, 0x430F, 0x1409, 0x4A6D,
+0x064D, 0x1800, 0x4D55, 0x3388, 0x4C0D, 0x05CC, 0x0DEC, 0x160D, 0x13B0,
+0x7E6A, 0x4A6F, 0x0FEF, 0x1840, 0x40BF, 0x00FF, 0x3284, 0x403D, 0x0014,
+0x434C, 0x13B0, 0x7EA6, 0x13B0, 0x591C, 0x474D, 0x444C, 0x13B0, 0x6DE0,
+0x4C07, 0x5038, 0xFF01, 0x580B, 0x06E9, 0x930B, 0x23BC, 0x3C28, 0x4B0E,
+0x430F, 0x09CD, 0x4A6B, 0x064B, 0x1800, 0x4B5B, 0x3388, 0x0CEB, 0x0BCC,
+0x13B0, 0x7E6A, 0x4A6F, 0x0FEF, 0x1840, 0x468F, 0x3284, 0x3C16, 0x0A3F,
+0x0110, 0x009F, 0xFFFF, 0x2411, 0x930D, 0x240F, 0x9A9A, 0x0114, 0x0116,
+0x2C0B, 0x0A3E, 0x0110, 0x4A1F, 0x0116, 0x0FEE, 0x4CFE, 0x0000, 0x539A,
+0x0116, 0x533B, 0x23F1, 0x470C, 0x1674, 0x0110, 0x140A, 0x430F, 0x420E,
+0xF03E, 0x0040, 0xC032, 0x0040, 0x403A, 0x1000, 0x903C, 0x3E81, 0x2803,
+0x035D, 0x431F, 0x3C05, 0x5C0C, 0x3C03, 0x503A, 0x1000, 0x035D, 0x903D,
+0x0201, 0x2FFA, 0x4382, 0x0160, 0xF0B2, 0xFC00, 0x0164, 0x533D, 0xDD0A,
+0x4A82, 0x0164, 0x903C, 0x0277, 0x2C03, 0x4382, 0x0162, 0x3C2E, 0x903C,
+0x04E2, 0x2C04, 0x40B2, 0x0010, 0x0162, 0x3C27, 0x903C, 0x09C4, 0x2C04,
+0x40B2, 0x0020, 0x0162, 0x3C20, 0x903C, 0x1388, 0x2C04, 0x40B2, 0x0030,
+0x0162, 0x3C19, 0x903C, 0x2710, 0x2C04, 0x40B2, 0x0040, 0x0162, 0x3C12,
+0x903C, 0x4E20, 0x2C04, 0x40B2, 0x0050, 0x0162, 0x3C0B, 0x903C, 0x9C40,
+0x7D0D, 0x0E5D, 0x503D, 0x0070, 0x4D82, 0x0162, 0x3C02, 0x13B0, 0x7262,
+0xB3A2, 0x0102, 0x2FFB, 0x930F, 0x421F, 0x0168, 0x2405, 0xF03F, 0xFF88,
+0xD03F, 0x0033, 0x3C04, 0xF03F, 0xFF88, 0xD03F, 0x0044, 0x4F82, 0x0168,
+0xDE02, 0x160A, 0x0110, 0x141B, 0x8321, 0x008A, 0x327C, 0x0ACB, 0x00AB,
+0x0001, 0x4B6E, 0x13B0, 0x847C, 0x2C06, 0x13B0, 0x8272, 0x9ECA, 0x0001,
+0x23F8, 0x3C4E, 0x4B6E, 0x0EEE, 0x4B6F, 0x0FEF, 0x1840, 0x9F9E, 0x3284,
+0x327E, 0x2C45, 0x1203, 0x1230, 0x000A, 0x434E, 0x4B6F, 0x0FEF, 0x1840,
+0x4F1D, 0x3284, 0x4B6F, 0x064F, 0x1800, 0x4F5C, 0x3388, 0x13B0, 0x6EC6,
+0x5221, 0x934C, 0x2405, 0x434D, 0x410C, 0x530C, 0x13B0, 0x4B60, 0x4B6F,
+0x1840, 0xC3DF, 0x3282, 0x4B6F, 0x0FEF, 0x1840, 0x438F, 0x327E, 0x4B6E,
+0x4B6F, 0x1840, 0xB3EF, 0x3282, 0x2C03, 0x1840, 0x4382, 0x3398, 0x13B0,
+0x8272, 0x13B0, 0x847C, 0x2810, 0x4B6F, 0x064F, 0x1800, 0x4F5F, 0x3388,
+0x4F6D, 0x4B6F, 0x0FEF, 0x1840, 0x9F1D, 0x327E, 0x2804, 0x1840, 0x40B2,
+0x0032, 0x3398, 0x13B0, 0x847C, 0x2C03, 0x9ECA, 0x0001, 0x23E5, 0x5321,
+0x161A, 0x0110, 0x143B, 0x008F, 0x30AC, 0x0CCA, 0x00AA, 0x0004, 0x9AAF,
+0x0000, 0x2004, 0x9CDF, 0x0002, 0x0007, 0x2405, 0x00AF, 0x000A, 0x009F,
+0x30D4, 0x23F4, 0x430F, 0x008B, 0x30AC, 0x93BB, 0x0000, 0x2405, 0x531F,
+0x00AB, 0x000A, 0x922F, 0x2BF8, 0x922F, 0x2C3E, 0x4F0E, 0x0EEE, 0x0ECB,
+0x064E, 0x0BEE, 0x0ECB, 0x4C6E, 0x907E, 0x0006, 0x281A, 0x535E, 0x064F,
+0x0FC8, 0x0A4F, 0x0FE8, 0x0FEF, 0x08EF, 0x00AF, 0x3D2E, 0x1800, 0x4FCB,
+0x30AE, 0x430F, 0x934E, 0x240E, 0x0CC8, 0x1800, 0x4B59, 0x30AE, 0x0FE9,
+0x48F9, 0x0000, 0x531F, 0x9E0F, 0x2BF7, 0x3C03, 0x1800, 0x43CB, 0x30AE,
+0xF35D, 0x1840, 0x4DCB, 0x30B2, 0x4C5E, 0x0002, 0xD07E, 0x0040, 0x1840,
+0x4ECB, 0x30B3, 0x1840, 0x40FB, 0x0093, 0x30B4, 0x1840, 0x4AAB, 0x30AC,
+0x1840, 0x43DB, 0x30B5, 0x431C, 0x3C02, 0x403C, 0xFFFD, 0x1638, 0x0110,
+0x147B, 0x8031, 0x0012, 0x0CC7, 0x008A, 0x3008, 0x407D, 0x0093, 0x475C,
+0x0002, 0x0A0F, 0x134F, 0x471B, 0x0004, 0x410C, 0x523C, 0x403E, 0x0005,
+0x13B0, 0x80E4, 0x430D, 0x403F, 0x0006, 0x4104, 0x5234, 0x440E, 0x07C8,
+0x00A8, 0x0006, 0x3C05, 0x48BE, 0x0000, 0x531D, 0x532F, 0x532E, 0x9B0D,
+0x2BF9, 0xE03F, 0x8000, 0x07EF, 0x1FC0, 0x4F16, 0x8000, 0x460E, 0x4B0D,
+0x440C, 0x1380, 0x3C50, 0x930C, 0x201E, 0x4308, 0x4107, 0x5227, 0x4109,
+0x5309, 0x3C15, 0x1409, 0x07CF, 0x4B0E, 0x443D, 0x460C, 0x1380, 0x3C60,
+0x411C, 0x0008, 0x411D, 0x000A, 0x13B0, 0x84A8, 0x411C, 0x0004, 0x411D,
+0x0006, 0x13B0, 0x84A8, 0x5318, 0x5221, 0x9B08, 0x2BE9, 0x3C08, 0x403C,
+0xDEAD, 0x13B0, 0x84A6, 0x403C, 0xBABE, 0x13B0, 0x84A6, 0x0A3F, 0x0004,
+0x134F, 0x403C, 0x8000, 0x5031, 0x0012, 0x1674, 0x0110, 0x145B, 0x03DC,
+0x245C, 0x00BC, 0x0004, 0x0CCA, 0x4C2E, 0x4C1F, 0x0002, 0x930F, 0x2002,
+0x923E, 0x2852, 0xB31E, 0x2C50, 0x008B, 0x3D0A, 0x0B36, 0x0004, 0x03D6,
+0x2409, 0x140C, 0x171C, 0x1406, 0x1718, 0x990D, 0x2803, 0x2008, 0x980C,
+0x2C06, 0x067A, 0x0004, 0x0A7B, 0x0004, 0x3C27, 0x07C6, 0x0637, 0x0004,
+0x03D7, 0x2407, 0x1407, 0x1718, 0x9D09, 0x2BF7, 0x2002, 0x9C08, 0x2BF4,
+0x060D, 0x06C7, 0x0DE7, 0x07DA, 0x282B, 0x0AD7, 0x2006, 0x5E86, 0x0000,
+0x6F86, 0x0002, 0x06CA, 0x3C0E, 0x0637, 0x0004, 0x03D7, 0x2406, 0x151F,
+0x160E, 0x0ACF, 0x0EEF, 0x0FD7, 0x2819, 0x077A, 0x0004, 0x0A76, 0x0004,
+0x0A3F, 0x0004, 0x03DF, 0x2411, 0x0A07, 0x0ACE, 0x07EE, 0x0FDE, 0x200C,
+0x1800, 0x43CB, 0x0000, 0x5FAA, 0x0000, 0x6F9A, 0x0002, 0x0002, 0x1800,
+0x4FDA, 0x0004, 0x0004, 0x1656, 0x0110, 0x141B, 0x8031, 0x0006, 0x1800,
+0x43C1, 0x0002, 0x008B, 0x3EBE, 0x40FB, 0x0003, 0x0001, 0x436A, 0x410F,
+0x532F, 0x410E, 0x530E, 0x434D, 0x427C, 0x13B0, 0x73E8, 0x93C1, 0x0000,
+0x2007, 0x42EB, 0x0000, 0x43CB, 0x0002, 0x43CB, 0x0003, 0x3C35, 0x434E,
+0x013F, 0x0002, 0x4F6D, 0x1943, 0x104D, 0x4A4F, 0x535F, 0x13B0, 0x81B4,
+0x1840, 0x4DCA, 0x3EBE, 0x4F4A, 0x1840, 0x43CF, 0x3EBE, 0x535A, 0x013F,
+0x0002, 0x407D, 0x000F, 0xFF6D, 0x4A4C, 0x535C, 0x4A4F, 0x13B0, 0x81B4,
+0x1840, 0x4DCF, 0x3EBE, 0x4C4A, 0x4A4F, 0x1840, 0x43CF, 0x3EBE, 0x535A,
+0x535E, 0x013F, 0x0002, 0x00AF, 0x0001, 0x0F71, 0x0002, 0x916E, 0x2C02,
+0x927E, 0x2BD1, 0x1841, 0x5E4E, 0x536E, 0x4ECB, 0x0000, 0x5031, 0x0006,
+0x161A, 0x0110, 0x140A, 0x433A, 0x4C5E, 0x0004, 0x934E, 0x2010, 0x13B0,
+0x7442, 0x13B0, 0x849E, 0x1380, 0x3C5C, 0x13B0, 0x57A8, 0x13B0, 0x7014,
+0x430C, 0x13B0, 0x78DC, 0x13B0, 0x83F0, 0x3C3C, 0x935E, 0x2003, 0x13B0,
+0x80F8, 0x3C08, 0x936E, 0x2009, 0x13B0, 0x7A94, 0x13B0, 0x8148, 0x1380,
+0x3C54, 0x13B0, 0x77BE, 0x3C1A, 0x907E, 0x0003, 0x200F, 0x13B0, 0x80F8,
+0x13B0, 0x77BE, 0x13B0, 0x837A, 0x403C, 0x0005, 0x13B0, 0x78DC, 0x13B0,
+0x79A6, 0x930C, 0x201C, 0x3C1A, 0x926E, 0x200B, 0x13B0, 0x7A94, 0x13B0,
+0x8486, 0x13B0, 0x837A, 0x403C, 0x001E, 0x13B0, 0x78DC, 0x3C0D, 0x907E,
+0x0005, 0x200B, 0x13B0, 0x835E, 0x13B0, 0x83F0, 0x13B0, 0x82A2, 0x13B0,
+0x84B6, 0x13B0, 0x82A2, 0x431A, 0x4A0C, 0x160A, 0x0110, 0x147B, 0x0DC7,
+0x0EC6, 0x4348, 0x438D, 0x0000, 0x438E, 0x0000, 0x4C4A, 0x430B, 0x151B,
+0x160F, 0x0E4F, 0x1840, 0x4F59, 0x8582, 0x494C, 0x13B0, 0x7BF8, 0x4C05,
+0x494C, 0x13B0, 0x7BE0, 0x4C04, 0x13B0, 0x4BAA, 0x151D, 0x160F, 0x1840,
+0x938F, 0x31EE, 0x2409, 0x4358, 0x1840, 0x4F1E, 0x31EC, 0x1840, 0x8F1E,
+0x31EE, 0x4E87, 0x0000, 0x13B0, 0x479C, 0x151D, 0x160F, 0x13B0, 0x8440,
+0x2417, 0xD368, 0x13B0, 0x47A8, 0x4B86, 0x0000, 0x13B0, 0x84AE, 0x2004,
+0x1840, 0x93D2, 0x3D2B, 0x2401, 0x4278, 0x450C, 0x13B0, 0x7BF2, 0x440C,
+0x13B0, 0x84F0, 0x4303, 0x484C, 0x1674, 0x0110, 0x13B0, 0x84AE, 0x23EB,
+0x0A59, 0x495E, 0x238A, 0xD95E, 0x238E, 0xB07E, 0x0080, 0x27E6, 0xD268,
+0x3FE4, 0x4303, 0x40B2, 0x5A80, 0x015C, 0x13B0, 0x800A, 0x930C, 0x2002,
+0x4382, 0x015C, 0x13B0, 0x6A56, 0x13B0, 0x7080, 0x434C, 0x13B0, 0x8064,
+0x435C, 0x13B0, 0x80A6, 0x13B0, 0x7276, 0x403C, 0x007E, 0x13B0, 0x578C,
+0x13B0, 0x55F4, 0xB35C, 0x2829, 0x13B0, 0x6E54, 0x934C, 0x2022, 0x13B0,
+0x5670, 0x13B0, 0x5656, 0x13B0, 0x74EE, 0x13B0, 0x76BC, 0x13B0, 0x6F36,
+0x13B0, 0x77BE, 0x13B0, 0x7442, 0x13B0, 0x57A8, 0x13B0, 0x7014, 0x13B0,
+0x84B6, 0xD232, 0x9382, 0x4200, 0x2010, 0xC0F2, 0x0080, 0x0203, 0x13B0,
+0x84F6, 0x1380, 0x3004, 0x1380, 0x3000, 0x3FFB, 0x13B0, 0x83CC, 0x3FFF,
+0x13B0, 0x83CC, 0x3FFF, 0xD0F2, 0x0080, 0x0203, 0x3FEF, 0x4303, 0x141B,
+0x4E0A, 0x4F0B, 0x936C, 0x2044, 0x903E, 0x2581, 0x2002, 0x930F, 0x2426,
+0x903E, 0x86A0, 0x2002, 0x931F, 0x2421, 0x903E, 0x1A80, 0x2003, 0x903F,
+0x0006, 0x241B, 0x903E, 0x86A1, 0x2002, 0x931F, 0x2416, 0x903E, 0x1A81,
+0x2003, 0x903F, 0x0006, 0x2410, 0x903E, 0x86A2, 0x2002, 0x931F, 0x240B,
+0x903E, 0x1A82, 0x2003, 0x903F, 0x0006, 0x2405, 0x903E, 0x2582, 0x2005,
+0x930F, 0x2003, 0x13B0, 0x7D7A, 0x3C0A, 0x903E, 0x1F41, 0x2005, 0x930F,
+0x2003, 0x13B0, 0x7D9E, 0x3C02, 0x13B0, 0x7F2E, 0x13B0, 0x849E, 0x120C,
+0x403E, 0x7840, 0x403F, 0x017D, 0x4A0C, 0x4B0D, 0x13B0, 0x815A, 0x5321,
+0x434C, 0x161A, 0x0110, 0x40B2, 0xA500, 0x0140, 0x40B2, 0xA510, 0x0144,
+0x0110, 0x13B0, 0x68A8, 0x160A, 0x0110, 0x140A, 0x13B0, 0x68EE, 0x4E0A,
+0xDF0A, 0x930A, 0x240B, 0x13B0, 0x68E6, 0x4CBD, 0x0000, 0x03ED, 0x533E,
+0x633F, 0x4E0A, 0xDF0A, 0x930A, 0x23F5, 0x3FE9, 0x4303, 0xB392, 0x0144,
+0x2FFD, 0x0110, 0x40B2, 0xA500, 0x0144, 0x40B2, 0xA540, 0x0140, 0x0110,
+0x141B, 0x430A, 0x430B, 0x3C02, 0x531A, 0x630B, 0x9F0B, 0x2803, 0x2007,
+0x9E0A, 0x2C05, 0x4C7D, 0x937D, 0x27F6, 0x435C, 0x3C01, 0x434C, 0x161A,
+0x0110, 0x40B2, 0xA500, 0x0144, 0x40B2, 0xA502, 0x0140, 0x438C, 0x0000,
+0x13B0, 0x68E6, 0x3FB8, 0x4303, 0x140A, 0x008F, 0x85A0, 0x425E, 0x2380,
+0x3C02, 0x00AF, 0x0006, 0x4F7D, 0x4F7C, 0x937D, 0x2002, 0x937C, 0x2406,
+0x907E, 0x00C0, 0x2403, 0x907E, 0x0040, 0x2006, 0x03FF, 0xB3D2, 0x093E,
+0x2824, 0x434C, 0x3C2D, 0x9E4D, 0x201D, 0x925C, 0x2381, 0x201A, 0x407D,
+0x00C0, 0x407C, 0x0020, 0x008A, 0x2382, 0x9FEA, 0x0000, 0x2001, 0xDC4D,
+0x00AF, 0x0001, 0x035C, 0x00AA, 0x0001, 0x009A, 0x2388, 0x23F4, 0x4F6A,
+0x4A4C, 0xFD4C, 0x9A4C, 0x23D0, 0x00BF, 0x0008, 0x3FDC, 0x00AF, 0x000C,
+0x3FCC, 0x0F3A, 0x000A, 0x134A, 0x009A, 0x7E4A, 0x2005, 0x93C2, 0x093F,
+0x2402, 0x13B0, 0x8524, 0x160A, 0x0110, 0x145B, 0x0CC6, 0x4D08, 0x4E4E,
+0x4E0A, 0x430B, 0x151B, 0x160F, 0x0E4F, 0x1840, 0x4F59, 0x8582, 0x930D,
+0x2003, 0x407C, 0x0007, 0x3C32, 0x494C, 0x13B0, 0x7BF8, 0x4C07, 0x13B0,
+0x84AE, 0x2004, 0x1840, 0x93D2, 0x3D2B, 0x2404, 0x13B0, 0x7BF2, 0x427C,
+0x3C23, 0x13B0, 0x4BAA, 0x151D, 0x160F, 0x1840, 0x938F, 0x31EE, 0x2406,
+0x470C, 0x13B0, 0x7BF2, 0x407C, 0x0003, 0x3C15, 0x1840, 0x488F, 0x31EC,
+0x1840, 0x488F, 0x31EE, 0x1800, 0x46CF, 0x31F0, 0x431F, 0x5359, 0x8359,
+0x3002, 0x18C9, 0x5F0F, 0xDFC2, 0x0930, 0x470C, 0x13B0, 0x7BF2, 0x435C,
+0x1656, 0x0110, 0x43C2, 0x0204, 0x43C2, 0x0205, 0x43C2, 0x0224, 0x43C2,
+0x0225, 0x43C2, 0x0244, 0x43C2, 0x0245, 0x43C2, 0x020A, 0x43C2, 0x020B,
+0x43C2, 0x022A, 0x43C2, 0x022B, 0x43C2, 0x024A, 0x43C2, 0x024B, 0x43C2,
+0x0202, 0x43C2, 0x0203, 0x43C2, 0x0222, 0x43C2, 0x0223, 0x43C2, 0x0242,
+0x43C2, 0x0243, 0x40F2, 0x001C, 0x0204, 0x43D2, 0x0244, 0x40F2, 0x0041,
+0x024A, 0x40F2, 0x0020, 0x0245, 0x40F2, 0x0007, 0x024B, 0xC0F2, 0x0010,
+0x0245, 0xC0F2, 0x0040, 0x0243, 0x403F, 0x1A09, 0x533F, 0x2FFE, 0x40F2,
+0x0040, 0x0243, 0xD0F2, 0x0040, 0x0207, 0x0110, 0x145B, 0x434A, 0x4C48,
+0x4309, 0x1519, 0x160F, 0x0E4F, 0x1840, 0x4F5B, 0x8582, 0x4B4C, 0x13B0,
+0x7BE0, 0x4C06, 0x13B0, 0x84AE, 0x2004, 0x1840, 0x93D2, 0x3D2B, 0x2404,
+0x13B0, 0x84F0, 0x434C, 0x3C28, 0x13B0, 0x4B52, 0x151D, 0x160F, 0x1840,
+0x4F5E, 0x321C, 0x934E, 0x240B, 0x4E4A, 0x1800, 0x4F5F, 0x3214, 0x93CF,
+0x0000, 0x3414, 0x407E, 0x007F, 0xFF6E, 0x3C0F, 0x0A5B, 0x93CB, 0x238A,
+0x3404, 0x4B5A, 0x238A, 0xF07A, 0x007F, 0x93CB, 0x238E, 0x3405, 0x4B5E,
+0x238E, 0xF07E, 0x007F, 0x5E4A, 0x460C, 0x13B0, 0x84F0, 0x4A4C, 0x1656,
+0x0110, 0x140A, 0x934C, 0x201F, 0x430C, 0x008E, 0x30AC, 0x002D, 0x3CF4,
+0x4E2F, 0x933F, 0x2411, 0x0FEF, 0x0FCA, 0x0FEF, 0x0AEF, 0x0DEF, 0x90BF,
+0xFF00, 0x0000, 0x2C08, 0x1800, 0x43CE, 0x0002, 0x43BE, 0x0000, 0x43CE,
+0x0009, 0x531C, 0x00AE, 0x000A, 0x009E, 0x30D4, 0x2420, 0x3FE6, 0x430F,
+0x008E, 0x30B3, 0x9CCE, 0x0000, 0x2403, 0x13B0, 0x844A, 0x2BFA, 0x922F,
+0x2C13, 0x13B0, 0x838C, 0x0FCA, 0x1800, 0x4F5C, 0x30AE, 0x03DC, 0x2402,
+0x13B0, 0x855C, 0x1800, 0x43CA, 0x30AE, 0x1840, 0x43BA, 0x30AC, 0x1840,
+0x43CA, 0x30B5, 0x431C, 0x160A, 0x0110, 0x1840, 0x9382, 0x3BE0, 0x243B,
+0xB0F2, 0x0010, 0x0241, 0x2805, 0x13B0, 0x849E, 0x903C, 0xAAAA, 0x2412,
+0xB0F2, 0x0010, 0x0241, 0x2805, 0x13B0, 0x849E, 0x903C, 0xAAAC, 0x2409,
+0xB0F2, 0x0010, 0x0241, 0x2818, 0x13B0, 0x849E, 0x903C, 0xAAAD, 0x2013,
+0x435C, 0x13B0, 0x8064, 0x434C, 0x13B0, 0x80A6, 0x1840, 0x9382, 0x3BE6,
+0x2004, 0x403C, 0x0005, 0x13B0, 0x72D4, 0x1840, 0x4392, 0x3BE6, 0x430C,
+0x0110, 0x435C, 0x13B0, 0x80A6, 0x1840, 0x9382, 0x3BE6, 0x2406, 0x1840,
+0x4382, 0x3BE6, 0x434C, 0x13B0, 0x8064, 0x430C, 0x0110, 0x425E, 0x2384,
+0xF07E, 0x000F, 0x2438, 0x537E, 0x907E, 0x0007, 0x2C36, 0x4E4F, 0x0A5F,
+0x93C2, 0x2384, 0x3419, 0xF0FF, 0x00D7, 0x23C8, 0x434F, 0x008D, 0x8582,
+0x9ECD, 0x0000, 0x200A, 0x0FEF, 0x0FCE, 0x064F, 0x0FEE, 0x0FEF, 0x0EEF,
+0x1840, 0x43CF, 0x321D, 0x3C1C, 0x535F, 0x00AD, 0x0010, 0x936F, 0x2C17,
+0x3FED, 0xF0FF, 0x00D7, 0x2388, 0x434F, 0x008D, 0x8582, 0x9ECD, 0x0000,
+0x2008, 0x064F, 0x0FCE, 0x0FEF, 0x0EEF, 0x1840, 0x43CF, 0x31F4, 0x3C05,
+0x535F, 0x00AD, 0x0010, 0x936F, 0x2BF0, 0x13B0, 0x7A7E, 0x434C, 0x0110,
+0x140A, 0x430E, 0x430E, 0x3C01, 0x532E, 0x903E, 0x0080, 0x3410, 0x4E0F,
+0x0FEF, 0x1840, 0x9C8F, 0x4100, 0x23F6, 0x531E, 0xE03E, 0x8000, 0x0EEE,
+0x0FAE, 0x4100, 0x0E7D, 0x0000, 0x431C, 0x3C25, 0x430E, 0x3C01, 0x532E,
+0x903E, 0x0080, 0x341B, 0x4E0F, 0x0FEF, 0x1840, 0x938F, 0x4100, 0x23F6,
+0x4E0F, 0x0FEF, 0x1840, 0x4C8F, 0x4100, 0x4E0F, 0x531F, 0xE03F, 0x8000,
+0x0FEF, 0x0FAF, 0x4100, 0x0F7D, 0x0000, 0x531E, 0x0EEE, 0x1840, 0x438E,
+0x4100, 0x431C, 0x3C04, 0x1800, 0x43CD, 0x0000, 0x430C, 0x160A, 0x0110,
+0x140A, 0x0CCA, 0x13B0, 0x8350, 0x2424, 0x438A, 0x0000, 0x438A, 0x0002,
+0x0ACC, 0x13B0, 0x7B3E, 0x930C, 0x2402, 0x433C, 0x3C29, 0x0ACC, 0x00AC,
+0x0001, 0x13B0, 0x7B3E, 0x930C, 0x2403, 0x403C, 0xFFFE, 0x3C1F, 0x0ACC,
+0x03EC, 0x13B0, 0x7B3E, 0x930C, 0x2403, 0x403C, 0xFFFD, 0x3C16, 0x00AA,
+0x0003, 0x0ACC, 0x13B0, 0x7B3E, 0x3C10, 0x1800, 0x9DCE, 0x0004, 0x2C03,
+0x403C, 0xFFFB, 0x3C09, 0x4DBA, 0x0000, 0x4DBA, 0x0002, 0x1800, 0x52EE,
+0x0008, 0x13B0, 0x8436, 0x160A, 0x0110, 0x008E, 0x327C, 0x13B0, 0x6E40,
+0x2404, 0x1840, 0x93A2, 0x3398, 0x2FF9, 0x13B0, 0x6E40, 0x2406, 0x907D,
+0x0095, 0x2403, 0x13B0, 0x8520, 0x3C25, 0x13B0, 0x6E40, 0x2404, 0x907D,
+0x0095, 0x2001, 0x3C1E, 0x4E6F, 0x13B0, 0x8288, 0x4DCF, 0x0001, 0x4E6F,
+0x13B0, 0x8288, 0x4CCF, 0x0002, 0x4E6F, 0x13B0, 0x8288, 0x43CF, 0x0003,
+0x4E6F, 0x0FEF, 0x1840, 0x40BF, 0x0003, 0x3284, 0x430C, 0x0110, 0x4E6F,
+0x1840, 0x4F5F, 0x3282, 0xB07F, 0x000B, 0x0110, 0x403C, 0x8007, 0x0110,
+0x8221, 0x4381, 0x0002, 0xB2B2, 0x0908, 0x2827, 0xB392, 0x0902, 0x2804,
+0xB0B2, 0x0100, 0x0910, 0x2C29, 0x13B0, 0x5668, 0x40B2, 0x0117, 0x0912,
+0x40B2, 0x0300, 0x0910, 0x4382, 0x0914, 0x4381, 0x0000, 0x3C04, 0x412F,
+0x531F, 0x4F81, 0x0000, 0x90B1, 0x04E2, 0x0000, 0x2BF8, 0x411F, 0x0002,
+0x4F0E, 0x531E, 0x4E81, 0x0002, 0x903F, 0x000B, 0x2804, 0x13B0, 0x564E,
+0x435C, 0x3C08, 0x9382, 0x0914, 0x23E3, 0xD392, 0x0902, 0x13B0, 0x564E,
+0x434C, 0x5221, 0x0110, 0x147B, 0x140C, 0x8221, 0x4D05, 0x4E46, 0x430A,
+0x430B, 0x4107, 0x5327, 0x4104, 0x5304, 0x4118, 0x002C, 0x4119, 0x002E,
+0x04CE, 0x07CD, 0x464C, 0x13B0, 0x66CA, 0xB35C, 0x280F, 0x480F, 0xD90F,
+0x930F, 0x27F5, 0x4A0E, 0x4B0F, 0x531A, 0x630B, 0x9F09, 0x2803, 0x23EE,
+0x9E08, 0x2FEC, 0x435C, 0x3C10, 0x464E, 0x450D, 0x013C, 0x0004, 0x13B0,
+0x69CC, 0x931C, 0x2403, 0x923C, 0x2403, 0x3C04, 0x434C, 0x3C03, 0x436C,
+0x3C01, 0x426C, 0x5231, 0x1674, 0x0110, 0x008C, 0x3068, 0x1800, 0x40FC,
+0x8544, 0x0000, 0x1800, 0x40FC, 0x8544, 0x0034, 0x1800, 0x40FC, 0x8528,
+0x0004, 0x1800, 0x40FC, 0x852C, 0x0008, 0x1800, 0x40FC, 0x853C, 0x000C,
+0x1800, 0x40FC, 0x8570, 0x0010, 0x1800, 0x40FC, 0x8574, 0x0014, 0x1800,
+0x40FC, 0x8576, 0x0018, 0x1800, 0x40FC, 0x857E, 0x001C, 0x1800, 0x40FC,
+0x857C, 0x0020, 0x1800, 0x40FC, 0x852C, 0x0028, 0x1800, 0x40FC, 0x852C,
+0x002C, 0x1800, 0x40FC, 0x8570, 0x0030, 0x0080, 0x82E0, 0x145B, 0x0CC8,
+0x4D0A, 0x0EC9, 0x4F0B, 0x0086, 0x3BEA, 0x0137, 0x001C, 0x403E, 0x000C,
+0x430F, 0x06CD, 0x07CC, 0x13B0, 0x7E6A, 0x008F, 0x327C, 0x1800, 0x4FD7,
+0x0110, 0x000C, 0x4F97, 0x0114, 0x0010, 0x4F97, 0x0116, 0x0012, 0x0876,
+0x0000, 0x0607, 0x0AE7, 0x0776, 0x0004, 0x0876, 0x0008, 0x0099, 0x0001,
+0x240D, 0x03D9, 0x2005, 0x1800, 0x40FF, 0xFFFF, 0x0110, 0x3C02, 0x097F,
+0x0110, 0x4B8F, 0x0114, 0x438F, 0x0116, 0x430C, 0x1656, 0x0110, 0x140A,
+0x13B0, 0x82FC, 0x933C, 0x2002, 0x930D, 0x240C, 0x13B0, 0x8326, 0x903C,
+0xACDC, 0x2007, 0x903D, 0xACDC, 0x2004, 0x13B0, 0x820E, 0x934C, 0x2004,
+0x13B0, 0x6F36, 0x433C, 0x3C1D, 0x13B0, 0x82FC, 0x4C0E, 0x4D0F, 0x008A,
+0x3068, 0x0ACC, 0x151F, 0x160F, 0x134F, 0x0ACC, 0x13B0, 0x82E0, 0x008C,
+0x30A0, 0x0A3F, 0x001C, 0x134F, 0x008C, 0x3C68, 0x0A3F, 0x0014, 0x134F,
+0x008C, 0x3C48, 0x0A3F, 0x0018, 0x134F, 0x430C, 0x160A, 0x0110, 0x13B0,
+0x726E, 0x407C, 0x0003, 0x13B0, 0x7744, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0xD0F2, 0x000C, 0x024A, 0x421F, 0x0166, 0xF03F, 0xFF8F, 0xD03F,
+0x0020, 0x4F82, 0x0166, 0x421F, 0x0168, 0xF03F, 0xF8FF, 0xD03F, 0x0200,
+0x4F82, 0x0168, 0x403D, 0x02FA, 0x403C, 0x61A8, 0x13B0, 0x7A38, 0x13B0,
+0x725C, 0x403D, 0x4E20, 0x430C, 0x13B0, 0x7218, 0x931C, 0x2007, 0x434C,
+0x13B0, 0x8064, 0x435C, 0x13B0, 0x80A6, 0x3FFF, 0x0110, 0x002E, 0x3C06,
+0x1840, 0x421F, 0x3C02, 0x933F, 0x2427, 0x903F, 0x0009, 0x2803, 0x427D,
+0x823F, 0x3C0A, 0x923F, 0x2C02, 0x4F4D, 0x3C08, 0x427D, 0x1840, 0x93D2,
+0x3D18, 0x2003, 0x430F, 0x435C, 0x3C02, 0x433F, 0x434C, 0x1840, 0x4CC2,
+0x3D29, 0x1840, 0x4F82, 0x3C02, 0x934D, 0x2408, 0x403F, 0x2378, 0x4D4C,
+0x4EFF, 0x0000, 0x531F, 0x537C, 0x23FB, 0x4DC2, 0x0921, 0x3C03, 0x1840,
+0x43C2, 0x3D29, 0x0E60, 0x3C06, 0x0110, 0x141B, 0x13B0, 0x7F14, 0x4382,
+0x012C, 0x4C4A, 0x4A0B, 0xD03B, 0x4400, 0x4B82, 0x0124, 0x13B0, 0x8408,
+0xB0B2, 0x0020, 0x012C, 0x280B, 0xC0B2, 0x0010, 0x012C, 0x4E82, 0x0124,
+0x13B0, 0x8454, 0x13B0, 0x8242, 0x431C, 0x3C14, 0x4A0B, 0x108B, 0xDB82,
+0x0124, 0x13B0, 0x8408, 0x4CC2, 0x0120, 0xDB0A, 0xD03A, 0x4400, 0x4A82,
+0x0126, 0xB392, 0x012C, 0x2BFD, 0xC392, 0x012C, 0x13B0, 0x7942, 0x161A,
+0x0110, 0x140A, 0xB392, 0x2384, 0x421F, 0x2384, 0x2801, 0x533F, 0x035F,
+0x4F4F, 0x0A4F, 0x008A, 0x3D19, 0x1840, 0x4FDA, 0x31E0, 0x0006, 0x1840,
+0x4FDA, 0x31E2, 0x0005, 0x1840, 0x4FDA, 0x31E1, 0x0004, 0x13B0, 0x836C,
+0x4F0D, 0x108D, 0x4D4C, 0x4CCA, 0x0003, 0x4FCA, 0x0002, 0x4E0D, 0x108D,
+0x4DCA, 0x0001, 0x4ECA, 0x0000, 0x1840, 0x40B2, 0x0007, 0x3C02, 0x0ACC,
+0x13B0, 0x7C7C, 0x434C, 0x160A, 0x0110, 0x421F, 0x016C, 0xF03F, 0xC000,
+0x9C0F, 0x2405, 0xF0B2, 0x3FFF, 0x016C, 0xDC82, 0x016C, 0xC0B2, 0x0100,
+0x016C, 0x3C05, 0xF0B2, 0xFFF4, 0x016E, 0xC3A2, 0x0102, 0xB3A2, 0x0102,
+0x2805, 0x4D0F, 0x4F0D, 0x533D, 0x930F, 0x23F3, 0x930D, 0x2402, 0x430C,
+0x0110, 0x431C, 0x0110, 0xD392, 0x016C, 0x0110, 0xF0B2, 0xFFF4, 0x016E,
+0xC3A2, 0x0102, 0x0110, 0xD0B2, 0x0100, 0x016C, 0x0110, 0x140A, 0x8321,
+0x420A, 0xF23A, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x13B0, 0x5668,
+0x4382, 0x0908, 0x40B2, 0x0080, 0x0904, 0x40B2, 0x0840, 0x0908, 0x4381,
+0x0000, 0x3C04, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1, 0x30D4, 0x0000,
+0x2BF8, 0x40B2, 0x0A40, 0x0908, 0x13B0, 0x564E, 0x1840, 0x4382, 0x3C0E,
+0x13B0, 0x6570, 0x13B0, 0x7BB8, 0xDA02, 0x434C, 0x5321, 0x160A, 0x0110,
+0x143B, 0x4C0B, 0x008A, 0x3BE2, 0x4A2F, 0xDA1F, 0x0002, 0x930F, 0x2011,
+0x0088, 0x3008, 0x407D, 0x0095, 0x434C, 0x080F, 0x134F, 0x903C, 0x8007,
+0x2407, 0x4B0C, 0x083F, 0x0010, 0x134F, 0x083F, 0x0004, 0x134F, 0x4A2E,
+0x4A1F, 0x0002, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x931F, 0x2806, 0x2003,
+0x903E, 0x86A1, 0x2802, 0x430C, 0x430D, 0x4C8A, 0x0000, 0x4D8A, 0x0002,
+0x1638, 0x0110, 0x143B, 0x8321, 0xB392, 0x2384, 0x421E, 0x2384, 0x2801,
+0x533E, 0x035E, 0x4EC1, 0x0000, 0x008D, 0x3D21, 0x4D68, 0x4D5A, 0x0001,
+0x108A, 0x4D5E, 0x0002, 0x4D5C, 0x0003, 0x108C, 0x4C0D, 0xDE0D, 0x4A0C,
+0xD80C, 0x416F, 0x0A4F, 0x1840, 0x4C8F, 0x31DC, 0x1840, 0x4D8F, 0x31DE,
+0x416F, 0x0A4F, 0x13B0, 0x836C, 0x1840, 0x425C, 0x2384, 0x13B0, 0x6810,
+0x5321, 0x1638, 0x0110, 0xD0F2, 0x0010, 0x093C, 0x3C0F, 0xC0F2, 0x0080,
+0x0920, 0xC0F2, 0x0080, 0x0922, 0xF0F2, 0x00FA, 0x093E, 0xD0F2, 0x0080,
+0x0920, 0xD0F2, 0x0080, 0x0922, 0x93C2, 0x2380, 0x3403, 0xD3D2, 0x093C,
+0x3C02, 0xC3D2, 0x093C, 0x1840, 0x43C2, 0x3D29, 0x008F, 0x3D19, 0x43CF,
+0x0000, 0x00AF, 0x0001, 0x009F, 0x3D21, 0x23F9, 0x13B0, 0x693A, 0xB3D2,
+0x093E, 0x2FD8, 0x0110, 0x143B, 0x4D4A, 0x008B, 0x1A08, 0x4B6D, 0x9C4D,
+0x2002, 0x934A, 0x2415, 0x937D, 0x2413, 0x9C4D, 0x2001, 0x537A, 0x4B5D,
+0x0001, 0x532D, 0x4D08, 0xE038, 0x8000, 0x00B8, 0x8000, 0x08EB, 0x140B,
+0x1718, 0x9309, 0x2003, 0x9038, 0x1AFF, 0x2BE6, 0x9CCB, 0x0000, 0x2004,
+0x4B5D, 0x0001, 0x03EB, 0x3C02, 0x434D, 0x434B, 0x4DCE, 0x0000, 0x0B7F,
+0x0000, 0x1638, 0x0110, 0x140A, 0x13B0, 0x8334, 0x933C, 0x2002, 0x930D,
+0x240C, 0x13B0, 0x82EE, 0x903C, 0xABBA, 0x2007, 0x903D, 0xABBA, 0x2004,
+0x13B0, 0x8220, 0x934C, 0x2004, 0x13B0, 0x77BE, 0x433C, 0x3C13, 0x13B0,
+0x8334, 0x4C0E, 0x4D0F, 0x008A, 0x3C48, 0x0ACC, 0x151F, 0x160F, 0x134F,
+0x0ACC, 0x1380, 0x3080, 0x13B0, 0x849E, 0x0A3F, 0x0014, 0x134F, 0x430C,
+0x160A, 0x0110, 0x143B, 0x8321, 0x0CCB, 0x13B0, 0x8350, 0x2413, 0x4108,
+0x5308, 0x08CC, 0x13B0, 0x7B3E, 0x416A, 0x930C, 0x2007, 0x08CC, 0x13B0,
+0x7B3E, 0x416F, 0x108F, 0x5F0A, 0x3C01, 0x433C, 0x4A8B, 0x0000, 0x3C0E,
+0x1800, 0x9DCE, 0x0004, 0x2C03, 0x403C, 0xFFFE, 0x3C07, 0x4DAB, 0x0000,
+0x1800, 0x53EE, 0x0008, 0x13B0, 0x8436, 0x5321, 0x1638, 0x0110, 0x40B2,
+0x7A11, 0x0392, 0x40B2, 0x02D6, 0x0380, 0x008F, 0x339C, 0x1800, 0x40FF,
+0x0202, 0x0006, 0x42EF, 0x000A, 0x1800, 0x40FF, 0x0202, 0x0012, 0x42FF,
+0x0016, 0x1800, 0x40F2, 0x3D13, 0x33B8, 0xC0B2, 0x8000, 0x0182, 0x008F,
+0x3238, 0x429F, 0x100E, 0x0000, 0xD0B2, 0x8000, 0x0182, 0x1840, 0x4FA2,
+0x33B4, 0x1840, 0x4FA2, 0x33B6, 0x0110, 0x1800, 0x1246, 0x1800, 0x1247,
+0x4D06, 0xD07D, 0x0080, 0x6606, 0x6707, 0x1086, 0xF376, 0x8076, 0x007F,
+0x2C03, 0x430C, 0x430D, 0x3C13, 0x8076, 0x0018, 0x2C07, 0xE376, 0x240E,
+0x110D, 0x100C, 0x8356, 0x23FC, 0x3C09, 0x9236, 0x3803, 0x433C, 0x433D,
+0x3C04, 0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x1800, 0x4177, 0x1800,
+0x4176, 0x0110, 0x141B, 0x425E, 0x0923, 0xF07E, 0x007F, 0x002F, 0x3C0A,
+0x4E4D, 0x008C, 0x3C04, 0x9D8C, 0x0000, 0x2812, 0x934E, 0x2409, 0x403A,
+0x2370, 0x4A7B, 0x4BCF, 0x0000, 0x00AF, 0x0001, 0x537E, 0x23F9, 0x8D8C,
+0x0000, 0x2404, 0x13B0, 0x84E4, 0x436E, 0x3C03, 0x13B0, 0x7A90, 0x434E,
+0x1840, 0x4EC2, 0x3D29, 0x0F60, 0x3C0A, 0x161A, 0x0110, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x13B0, 0x562C, 0xC3E2, 0x0242, 0x13B0, 0x82B2,
+0x13B0, 0x5796, 0x13B0, 0x726E, 0x008C, 0x197F, 0x13B0, 0x6922, 0x008C,
+0x18FF, 0x13B0, 0x6922, 0x008C, 0x187F, 0x13B0, 0x6922, 0x008C, 0xFFFE,
+0x13B0, 0x6922, 0x13B0, 0x82B2, 0x40B2, 0xA504, 0x0120, 0x0110, 0x143B,
+0x4D0A, 0x0EC8, 0x008B, 0x3008, 0x407D, 0x0092, 0x0B0F, 0x134F, 0x930C,
+0x3815, 0x03D8, 0x2004, 0x4A0C, 0x13B0, 0x846C, 0x3C0B, 0x4309, 0x3C04,
+0x483C, 0x13B0, 0x846C, 0x5319, 0x9A09, 0x2C03, 0x9039, 0x007E, 0x2BF7,
+0x13B0, 0x84EA, 0x430C, 0x3C01, 0x433C, 0x1638, 0x0110, 0x403E, 0x0018,
+0x430F, 0x430D, 0x008C, 0x31EC, 0x13B0, 0x7E88, 0x403E, 0x0034, 0x430F,
+0x430D, 0x008C, 0x3204, 0x13B0, 0x7E88, 0x403E, 0x0010, 0x430F, 0x430D,
+0x008C, 0x31DC, 0x13B0, 0x7E88, 0x008F, 0x31E0, 0x42FF, 0x0000, 0x00AF,
+0x0008, 0x009F, 0x31F0, 0x23F9, 0x0110, 0x140A, 0x008E, 0x323A, 0x008D,
+0x323A, 0x008A, 0x33C8, 0x0A7E, 0x0010, 0x0E3F, 0x0010, 0x03DF, 0x2002,
+0x13B0, 0x8232, 0x1800, 0x4EDD, 0x0010, 0x0000, 0x00AA, 0x0204, 0x00AD,
+0x0004, 0x00AE, 0x0004, 0x009A, 0x3BD8, 0x23EB, 0x1800, 0x40F2, 0x3286,
+0x3388, 0x160A, 0x0110, 0x140A, 0x008F, 0x323A, 0x43CF, 0x003A, 0x0FCE,
+0x0FCD, 0x0FCC, 0x43CE, 0x003D, 0x43CF, 0x003B, 0x43CF, 0x003C, 0x0C1A,
+0x43CA, 0x0000, 0x438D, 0x0032, 0x438D, 0x0020, 0x438D, 0x0028, 0x03ED,
+0x00AE, 0x0001, 0x009C, 0x324A, 0x23EB, 0x1840, 0x4382, 0x3394, 0x160A,
+0x0110, 0x141B, 0x430F, 0xF07C, 0x0003, 0x421A, 0x0120, 0xF03A, 0x0003,
+0x4C4B, 0x3C05, 0x531A, 0x4A4C, 0x13B0, 0x7152, 0x4C0F, 0x9A0B, 0x2402,
+0x930F, 0x2402, 0x9A0B, 0x2C07, 0x9B0A, 0x2BF3, 0x533A, 0x4A4C, 0x13B0,
+0x77FA, 0x3FF2, 0x4F0C, 0x161A, 0x0110, 0x140A, 0x434A, 0xD0F2, 0x0010,
+0x093C, 0x43C2, 0x0921, 0x1840, 0x93E2, 0x3D29, 0x200E, 0x13B0, 0x7596,
+0x1840, 0x93C2, 0x3D29, 0x200A, 0x90F2, 0x0020, 0x2381, 0x2006, 0x13B0,
+0x7332, 0x4C4A, 0x3C02, 0xD2F2, 0x0922, 0x4A4C, 0x160A, 0x0110, 0x008C,
+0x3C48, 0x008F, 0x8544, 0x0F7C, 0x0000, 0x0F7C, 0x0004, 0x1800, 0x40FC,
+0x8548, 0x0008, 0x0F7C, 0x000C, 0x1800, 0x40FC, 0x8540, 0x0010, 0x1800,
+0x40FC, 0x8500, 0x0014, 0x1800, 0x40FC, 0x8572, 0x0018, 0x0F7C, 0x001C,
+0x0020, 0x3080, 0x141B, 0x13B0, 0x7F14, 0xF0B2, 0xFFCC, 0x012C, 0x4C4A,
+0x4A0B, 0x108B, 0xDB0A, 0xD03A, 0x4400, 0x4A82, 0x0124, 0x4A82, 0x0126,
+0x13B0, 0x8454, 0xB392, 0x012C, 0x2BFB, 0xF0B2, 0xFFEE, 0x012C, 0x4CC2,
+0x0120, 0x13B0, 0x7942, 0x161A, 0x0110, 0x8321, 0x13B0, 0x7EE0, 0xB2B2,
+0x0908, 0x2C14, 0x40B2, 0x9628, 0x0900, 0x1840, 0x43C2, 0x3D2B, 0x1840,
+0x43C2, 0x3D2A, 0x4382, 0x0902, 0xC0B2, 0x0100, 0x0910, 0xF0B2, 0xEBFB,
+0x0908, 0x40B2, 0x9600, 0x0900, 0x5321, 0x0110, 0x9382, 0x2382, 0x2015,
+0x425F, 0x2384, 0xF07F, 0x000F, 0x240D, 0x537F, 0x907F, 0x0007, 0x2C0E,
+0x0A5F, 0x93C2, 0x2384, 0x3403, 0xD2FF, 0x23C8, 0x3C02, 0xD2FF, 0x2388,
+0x13B0, 0x7A7E, 0x3C02, 0x13B0, 0x7A66, 0x434C, 0x0110, 0x430F, 0x430F,
+0x3C01, 0x532F, 0x903F, 0x0080, 0x3412, 0x4F0E, 0x0EEE, 0x1840, 0x9C8E,
+0x4100, 0x23F6, 0x4F0E, 0x0EEE, 0x1840, 0x438E, 0x4100, 0x531F, 0x0FEF,
+0x1840, 0x438F, 0x4100, 0x431C, 0x0110, 0x430C, 0x0110, 0x4C0F, 0x5F0F,
+0x008E, 0x339C, 0x4F8E, 0x0002, 0x4C8E, 0x0004, 0x4F8E, 0x000E, 0x4C8E,
+0x0010, 0x930C, 0x2406, 0x40FE, 0x0003, 0x0000, 0x43EE, 0x000C, 0x3C04,
+0x43CE, 0x0000, 0x43CE, 0x000C, 0x430C, 0x0110, 0x403E, 0x003D, 0x430F,
+0x008D, 0x1900, 0x13B0, 0x83D8, 0x008D, 0x197C, 0x13B0, 0x7DE4, 0x403E,
+0x0F00, 0x430F, 0x008D, 0xE000, 0x13B0, 0x7DE4, 0x403E, 0x7000, 0x430F,
+0x018D, 0x0000, 0x0080, 0x7DE4, 0xF0B2, 0x0307, 0x0126, 0xF03D, 0xFCF8,
+0xDD82, 0x0126, 0xF0B2, 0x0307, 0x0124, 0xF03E, 0xFCF8, 0xDE82, 0x0124,
+0xB392, 0x012C, 0x2C04, 0xB0B2, 0x0010, 0x012C, 0x2BF9, 0x13B0, 0x8242,
+0x430C, 0x0110, 0x140A, 0x0CCA, 0x403E, 0x000C, 0x430F, 0x0CCD, 0x008C,
+0x3BEA, 0x13B0, 0x7E6A, 0x008F, 0x327C, 0x1800, 0x4ADF, 0x000C, 0x0110,
+0x4A9F, 0x0010, 0x0114, 0x4A9F, 0x0012, 0x0116, 0x430C, 0x160A, 0x0110,
+0x13B0, 0x8342, 0x933C, 0x2002, 0x930D, 0x240C, 0x13B0, 0x83A4, 0x903C,
+0xADAC, 0x2007, 0x903D, 0xADAC, 0x2004, 0x13B0, 0x81C6, 0x934C, 0x2002,
+0x433C, 0x0110, 0x13B0, 0x8342, 0x151D, 0x160F, 0x0FC0, 0x140A, 0x008A,
+0x327C, 0x403E, 0x0118, 0x430F, 0x430D, 0x0ACC, 0x13B0, 0x7E88, 0x1840,
+0x4382, 0x3398, 0x1840, 0x43C2, 0x3D13, 0x1800, 0x40FA, 0x3286, 0x010C,
+0x43CA, 0x0006, 0x160A, 0x0110, 0x140A, 0x4E0A, 0xDF0A, 0x930A, 0x2411,
+0x0C60, 0x0516, 0x0D60, 0x0512, 0x4E82, 0x051A, 0xD0B2, 0x0010, 0x0510,
+0xD392, 0x0510, 0xB2B2, 0x0510, 0x2BFD, 0xC0B2, 0x0010, 0x0510, 0x160A,
+0x0110, 0x8321, 0x4D0F, 0x1844, 0x5F0F, 0x4F81, 0x0000, 0x13B0, 0x6194,
+0x3C05, 0x4303, 0x4303, 0x423F, 0x533F, 0x2FFE, 0x412F, 0x4F0E, 0x533E,
+0x4E81, 0x0000, 0x930F, 0x23F4, 0x5321, 0x0110, 0xD2F2, 0x0920, 0xD2F2,
+0x0922, 0x0110, 0xB3D2, 0x093E, 0x2C02, 0x13B0, 0x7A66, 0x434C, 0x0110,
+0x1840, 0x43B2, 0x3C02, 0x1840, 0x43C2, 0x3D29, 0x43C2, 0x0921, 0x0110,
+0x3FEC, 0x4303, 0x140A, 0x008A, 0x30AE, 0x0A0C, 0x03DC, 0x2402, 0x13B0,
+0x855C, 0x1800, 0x43CA, 0x0000, 0x43BA, 0xFFFE, 0x43DA, 0x0007, 0x00AA,
+0x000A, 0x009A, 0x30D6, 0x23EF, 0x160A, 0x0110, 0x8031, 0x000A, 0x4C0F,
+0x410C, 0x530C, 0x008E, 0x33BC, 0x008D, 0x0005, 0x13B0, 0x807A, 0x4F0C,
+0x410E, 0x530E, 0x403D, 0x0005, 0x13B0, 0x80BC, 0x5031, 0x000A, 0x0110,
+0x008F, 0x3BEA, 0x1800, 0x4FDC, 0x0008, 0x0000, 0x4F1E, 0x0004, 0x8F1E,
+0x0008, 0x531E, 0x4E8D, 0x0000, 0x0F3E, 0x0004, 0x00AE, 0x0004, 0x0E7F,
+0x0008, 0x431C, 0x0110, 0x431E, 0x430F, 0x008D, 0x4400, 0x430C, 0x13B0,
+0x7DE4, 0x403E, 0x22FE, 0x430F, 0x008D, 0x4404, 0x13B0, 0x7DE4, 0x403E,
+0x0040, 0x430F, 0x008D, 0xFF80, 0x0080, 0x7DE4, 0x430F, 0x008E, 0x3BEA,
+0x13B0, 0x842C, 0x2C02, 0x433F, 0x3C0B, 0x0E3D, 0x0008, 0x4DEC, 0x0000,
+0x1800, 0x53DE, 0x0008, 0x13B0, 0x842C, 0x2C01, 0x431F, 0x4F0C, 0x0110,
+0x907C, 0x0040, 0x240F, 0x430F, 0x008E, 0x30B3, 0x9CCE, 0x0000, 0x2006,
+0x13B0, 0x8388, 0x184B, 0x43DF, 0x30B5, 0x3C03, 0x13B0, 0x844A, 0x3BF4,
+0x431C, 0x0110, 0x907C, 0x0040, 0x240F, 0x430F, 0x008E, 0x30B3, 0x9CCE,
+0x0000, 0x2006, 0x13B0, 0x8388, 0x184B, 0x43CF, 0x30B5, 0x3C03, 0x13B0,
+0x844A, 0x3BF4, 0x431C, 0x0110, 0xF0B2, 0xFFE0, 0x0500, 0x4292, 0x0500,
+0x0500, 0x40B2, 0x1FC0, 0x0510, 0xD392, 0x0508, 0x1800, 0x40F2, 0x7A08,
+0x3BD8, 0x1800, 0x40F2, 0x7A08, 0x3BDC, 0x0110, 0x425E, 0x092F, 0x13B0,
+0x8396, 0xCFC2, 0x092F, 0x4E4C, 0xFF0C, 0x0110, 0xDCC2, 0x092E, 0x0110,
+0x425E, 0x092E, 0x13B0, 0x8396, 0xCFC2, 0x092E, 0x3FF3, 0x4303, 0x13B0,
+0x7A90, 0x1840, 0x42D2, 0x2382, 0x3D16, 0x13B0, 0x7A7E, 0x1840, 0x93D2,
+0x3D16, 0x2402, 0x434E, 0x3C01, 0x435E, 0x1840, 0x4EC2, 0x3D2B, 0x434C,
+0x0110, 0x435E, 0x1840, 0x5B5E, 0x31F4, 0xF35E, 0x1840, 0x4ECB, 0x31F4,
+0x4A4A, 0x1840, 0x8A8B, 0x31EE, 0x1800, 0x5ACB, 0x31F0, 0x1840, 0x4ACB,
+0x31F6, 0x0110, 0x4D4D, 0x064D, 0x0CED, 0x0D0E, 0x008D, 0x3BEA, 0x0E7D,
+0x0000, 0x4E6F, 0x0FEE, 0x0E7D, 0x0004, 0x0D0F, 0x00AF, 0x0004, 0x0F7D,
+0x0008, 0x430C, 0x0110, 0x0C60, 0x3C06, 0x421F, 0x2386, 0x1840, 0x9F82,
+0x3C02, 0x2805, 0x1840, 0x4F82, 0x3C02, 0x434E, 0x3C01, 0x435E, 0x1840,
+0x4EC2, 0x3D18, 0x0080, 0x70EA, 0x141B, 0x8321, 0x4C0B, 0x433C, 0x930B,
+0x2409, 0x410A, 0x530A, 0x0ACC, 0x13B0, 0x7B3E, 0x933C, 0x2402, 0x533B,
+0x23F9, 0x5321, 0x161A, 0x0110, 0x403E, 0x003D, 0x430F, 0x008D, 0x1800,
+0x13B0, 0x83D8, 0x008D, 0x187C, 0x13B0, 0x7DE4, 0x403E, 0x0A00, 0x430F,
+0x028D, 0x3000, 0x0080, 0x7DE4, 0x403E, 0x003D, 0x430F, 0x008D, 0x1880,
+0x13B0, 0x83D8, 0x008D, 0x18FC, 0x13B0, 0x7DE4, 0x403E, 0x2B00, 0x430F,
+0x008D, 0x8A00, 0x0080, 0x7DE4, 0x934C, 0x200E, 0x13B0, 0x5148, 0x903C,
+0x0092, 0x2009, 0x434C, 0x13B0, 0x6B62, 0x13B0, 0x7700, 0x13B0, 0x79D8,
+0x13B0, 0x76BC, 0x435C, 0x0110, 0x403E, 0x003D, 0x430F, 0x008D, 0x1980,
+0x13B0, 0x83D8, 0x008D, 0x19FC, 0x13B0, 0x7DE4, 0x403E, 0x1000, 0x430F,
+0x028D, 0x1000, 0x0080, 0x7DE4, 0x008E, 0x327C, 0x4E5F, 0x0001, 0x0FEF,
+0x1840, 0x438F, 0x327E, 0x4E6F, 0x0FEF, 0x1840, 0x4C8F, 0x3284, 0x4E6F,
+0x1840, 0xD3DF, 0x3282, 0x0110, 0xC3A2, 0x0380, 0xC3A2, 0x03C0, 0xC3A2,
+0x0340, 0x1800, 0x40F2, 0x856A, 0x3000, 0x1800, 0x40F2, 0x84FC, 0x3004,
+0x1840, 0x4392, 0x3BE8, 0x0110, 0x1800, 0x40F2, 0x5D16, 0x3000, 0x1800,
+0x40F2, 0x8568, 0x3004, 0xD3A2, 0x0380, 0xD3A2, 0x03C0, 0xD3A2, 0x0340,
+0x1840, 0x4382, 0x3BE8, 0x0110, 0x8321, 0x13B0, 0x7EE0, 0x40B2, 0x9628,
+0x0900, 0xD0B2, 0x0400, 0x0908, 0xF0B2, 0xFFF9, 0x0908, 0x40B2, 0x9600,
+0x0900, 0x5321, 0x0110, 0x4C82, 0x0154, 0x4E0C, 0xDF0C, 0x930C, 0x2408,
+0x4DB2, 0x0152, 0x533E, 0x633F, 0x4E0C, 0xDF0C, 0x930C, 0x23F8, 0x421C,
+0x0154, 0x0110, 0x140A, 0x4C0A, 0x13B0, 0x7700, 0x008F, 0x33BC, 0x4A8F,
+0x0000, 0x438F, 0x0006, 0x1800, 0x43CF, 0x0002, 0x439F, 0x0008, 0x160A,
+0x0110, 0x1202, 0xC232, 0x4303, 0x4C82, 0x04D0, 0x4D82, 0x04D2, 0x4E82,
+0x04E0, 0x4F82, 0x04E2, 0x421C, 0x04E4, 0x421D, 0x04E6, 0x4132, 0x0110,
+0x13B0, 0x7A90, 0x90B2, 0x0080, 0x2382, 0x2C06, 0x42D2, 0x2382, 0x093F,
+0x13B0, 0x7A7E, 0x3C02, 0x13B0, 0x7A66, 0x434C, 0x0110, 0x141B, 0x0CCA,
+0x3C06, 0x4DFA, 0x0000, 0x00AA, 0x0001, 0x533E, 0x633F, 0x4E0B, 0xDF0B,
+0x930B, 0x23F6, 0x161A, 0x0110, 0x141B, 0x0CCA, 0x3C06, 0x4DCA, 0x0000,
+0x00AA, 0x0001, 0x533E, 0x633F, 0x4E0B, 0xDF0B, 0x930B, 0x23F6, 0x161A,
+0x0110, 0x936C, 0x2C0B, 0x13B0, 0x8420, 0x1840, 0x938C, 0x33A0, 0x2005,
+0x13B0, 0x8252, 0x1840, 0xC3EC, 0x339C, 0x430C, 0x0110, 0xD0F2, 0x0010,
+0x093C, 0x43C2, 0x0923, 0x1840, 0x93D2, 0x3D29, 0x2002, 0x0080, 0x70EA,
+0xD2F2, 0x0920, 0x0110, 0x4381, 0x0004, 0x3C05, 0x411F, 0x0004, 0x531F,
+0x4F81, 0x0004, 0x90B1, 0x09C4, 0x0004, 0x2BF7, 0x0110, 0x9392, 0x2382,
+0x2006, 0x1840, 0x43D2, 0x3D2C, 0x13B0, 0x7A7E, 0x3C02, 0x13B0, 0x7A66,
+0x434C, 0x0110, 0x40F2, 0x00A5, 0x0121, 0x421F, 0x012E, 0xF0B2, 0xCC88,
+0x012E, 0x421E, 0x0124, 0x421D, 0x0126, 0x0110, 0x1840, 0x9382, 0x3BE8,
+0x2008, 0x1800, 0x40F2, 0x5D16, 0x3000, 0x1800, 0x40F2, 0x84FC, 0x3004,
+0x0110, 0x9392, 0x2382, 0x2006, 0x1840, 0x43C2, 0x3D2C, 0x13B0, 0x7A7E,
+0x3C02, 0x13B0, 0x7A66, 0x434C, 0x0110, 0x140A, 0x8321, 0x4C0A, 0x4A81,
+0x0000, 0x410D, 0x530D, 0x435C, 0x13B0, 0x8566, 0x3FF8, 0x4303, 0x120C,
+0x432D, 0x410C, 0x530C, 0x13B0, 0x60A0, 0x5321, 0x0110, 0x124C, 0x431D,
+0x3FF7, 0x4303, 0x1800, 0x124C, 0x4EFC, 0x0000, 0x00AC, 0x0001, 0x00BD,
+0x0001, 0x23F9, 0x1800, 0x417C, 0x0110, 0xB0B2, 0x0040, 0x0144, 0x2804,
+0x40B2, 0xA540, 0x0144, 0x0110, 0x40B2, 0xA580, 0x0146, 0x0110, 0x008F,
+0x33BC, 0x438F, 0x0000, 0x438F, 0x0006, 0x1800, 0x43CF, 0x0002, 0x438F,
+0x0008, 0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE, 0x3C04, 0x43CC, 0x0000,
+0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110, 0x1840, 0x425D, 0x2382, 0x1840,
+0x425C, 0x2384, 0x13B0, 0x8504, 0x13B0, 0x7A7E, 0x434C, 0x0110, 0x13B0,
+0x81EA, 0x934C, 0x2006, 0x008C, 0xFFFE, 0x13B0, 0x6922, 0x430C, 0x0110,
+0x431C, 0x0110, 0x0C60, 0x3C0A, 0x1840, 0x4292, 0x2386, 0x3C04, 0x1840,
+0x43E2, 0x3D29, 0x0080, 0x84E4, 0x40B2, 0xA500, 0x0146, 0xB0B2, 0x0040,
+0x0144, 0x2803, 0x40B2, 0xA540, 0x0144, 0x0110, 0x13B0, 0x7A94, 0x1800,
+0x40F2, 0x3CDC, 0x30D4, 0x1800, 0x43C2, 0x3CF4, 0x430C, 0x0110, 0x936C,
+0x2C07, 0x13B0, 0x8420, 0x1840, 0x43CC, 0x339C, 0x13B0, 0x830A, 0x430C,
+0x0110, 0x1800, 0x124C, 0x4EBC, 0x0000, 0x03EC, 0x00BD, 0x0001, 0x23FA,
+0x1800, 0x417C, 0x0110, 0x936C, 0x2C07, 0x13B0, 0x8420, 0x13B0, 0x8252,
+0x1840, 0x43EC, 0x339C, 0x430C, 0x0110, 0x936C, 0x2C07, 0x13B0, 0x8420,
+0x1840, 0x43DC, 0x339C, 0x13B0, 0x830A, 0x430C, 0x0110, 0x1800, 0x124C,
+0x4EBC, 0x0000, 0x532C, 0x831D, 0x23FB, 0x1800, 0x417C, 0x0110, 0x13B0,
+0x7A90, 0x1840, 0x42D2, 0x2384, 0x3D17, 0x13B0, 0x7A7E, 0x434C, 0x0110,
+0x1800, 0x124C, 0x438C, 0x0000, 0x532C, 0x831E, 0x23FB, 0x1800, 0x417C,
+0x0110, 0x13B0, 0x7A94, 0x13B0, 0x804E, 0x13B0, 0x8148, 0x1380, 0x3C54,
+0x0080, 0x6F36, 0x13B0, 0x8282, 0x4F5E, 0x0001, 0x13B0, 0x8282, 0x4CCF,
+0x0001, 0x4E4C, 0x0110, 0x930E, 0x2406, 0x4DFC, 0x0000, 0x00AC, 0x0001,
+0x533E, 0x23FA, 0x430C, 0x0110, 0x13B0, 0x6E54, 0x934C, 0x2004, 0x13B0,
+0x5670, 0x13B0, 0x5656, 0x435C, 0x0110, 0x008F, 0x4100, 0x438F, 0x0000,
+0x03EF, 0x009F, 0x4200, 0x23FA, 0x0110, 0x140A, 0x411A, 0x0008, 0x120A,
+0x1380, 0x3C14, 0x5321, 0x160A, 0x0110, 0x0B0F, 0x4F1F, 0x0008, 0x533F,
+0x0FEF, 0x0FCD, 0x0FEF, 0x0DEF, 0x0110, 0x120D, 0x120C, 0x422D, 0x410C,
+0x530C, 0x13B0, 0x60A0, 0x5221, 0x0110, 0x13B0, 0x7CEA, 0x921C, 0x18FA,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x13B0, 0x7910, 0x921C, 0x197A,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x907D, 0x000A, 0x2C03, 0x507D,
+0x0030, 0x0110, 0x507D, 0x0037, 0x0110, 0x13B0, 0x8514, 0x921C, 0x197A,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x1203, 0x1230, 0x0003, 0x435E,
+0x13B0, 0x6EC6, 0x4C4C, 0x5221, 0x0110, 0x13B0, 0x7B14, 0x921C, 0x4402,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x4A0C, 0x430D, 0x4A0E, 0x430F,
+0x5E0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x0110, 0x13B0, 0x7D32, 0x921C, 0x19FA,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x13B0, 0x7CC6, 0x921C, 0x187A,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x434C, 0x13B0, 0x80A6, 0x435C,
+0x13B0, 0x8064, 0x3FFF, 0x4303, 0xF0B2, 0xFF88, 0x012C, 0x4F82, 0x012E,
+0x43C2, 0x0121, 0x0110, 0x5D0D, 0x1840, 0x4D8C, 0x339E, 0x1840, 0x4D8C,
+0x33A0, 0x0110, 0x073E, 0x010C, 0x13B0, 0x8414, 0x9FDE, 0x0004, 0x0003,
+0x0110, 0x53DA, 0x0001, 0x93CA, 0x0001, 0x2402, 0x43CA, 0x0001, 0x0110,
+0x1840, 0x425F, 0x327C, 0x064F, 0x1800, 0x4F5F, 0x3388, 0x0110, 0x1840,
+0x9382, 0x33C4, 0x2002, 0x430C, 0x0110, 0x431C, 0x0110, 0x403F, 0x967E,
+0x403E, 0x0098, 0x533F, 0x633E, 0x2FFD, 0x0110, 0x403F, 0x967E, 0x403E,
+0x0098, 0x533F, 0x633E, 0x2FFD, 0x0110, 0x13B0, 0x8148, 0x13B0, 0x79D8,
+0x13B0, 0x7700, 0x0080, 0x76BC, 0x1840, 0x4382, 0x33C6, 0x1840, 0xD3D2,
+0x3396, 0x0110, 0x0CCE, 0x008C, 0x3C10, 0x008D, 0x001C, 0x0080, 0x807A,
+0x1840, 0x421C, 0x187C, 0x1840, 0x421D, 0x187E, 0x0110, 0x1840, 0x421C,
+0x1980, 0x1840, 0x421D, 0x1982, 0x0110, 0x1840, 0x438C, 0x339E, 0x1840,
+0x438C, 0x33A0, 0x0110, 0x1840, 0x421C, 0x18FC, 0x1840, 0x421D, 0x18FE,
+0x0110, 0x1840, 0x421C, 0x19FC, 0x1840, 0x421D, 0x19FE, 0x0110, 0x1840,
+0x421C, 0x1800, 0x1840, 0x421D, 0x1802, 0x0110, 0x1840, 0x421C, 0x1900,
+0x1840, 0x421D, 0x1902, 0x0110, 0x430C, 0x008E, 0x3BEA, 0x0E3D, 0x0008,
+0xB35D, 0x0110, 0xD0F2, 0x0020, 0x0245, 0xC0F2, 0x0020, 0x0243, 0x0110,
+0x1840, 0x4F1E, 0x31DC, 0x1840, 0x4F1F, 0x31DE, 0x0110, 0xD0F2, 0x0020,
+0x0245, 0xD0F2, 0x0020, 0x0243, 0x0110, 0xE03F, 0x8000, 0x0FEF, 0x0FCE,
+0x064F, 0x0EEF, 0x0110, 0x431F, 0x535C, 0x835C, 0x3002, 0x18CC, 0x5F0F,
+0x0110, 0x1840, 0x421C, 0x197C, 0x1840, 0x421D, 0x197E, 0x0110, 0x1840,
+0x4392, 0x33C6, 0x1840, 0xC3D2, 0x3396, 0x0110, 0x13B0, 0x7542, 0x2802,
+0x430C, 0x430D, 0x0110, 0x435C, 0x13B0, 0x8064, 0x434C, 0x0080, 0x80A6,
+0x430C, 0x13B0, 0x7DE4, 0x432E, 0x430F, 0x0110, 0x008C, 0x3D21, 0x13B0,
+0x8022, 0x434C, 0x0110, 0x434C, 0x13B0, 0x8064, 0x435C, 0x0080, 0x80A6,
+0x1840, 0x40B2, 0x0032, 0x3398, 0x0080, 0x6266, 0x13B0, 0x8454, 0xC0B2,
+0x0010, 0x012C, 0x0110, 0x466F, 0x064F, 0x1800, 0x4F5F, 0x323A, 0x0110,
+0x4C4C, 0x064C, 0x0CCF, 0x0CEC, 0x0FEC, 0x0110, 0x1800, 0x9EDE, 0x0008,
+0x0004, 0x0110, 0x13B0, 0x842C, 0x2C01, 0x431C, 0x0110, 0x1800, 0x4F5B,
+0x3204, 0x03DB, 0x0110, 0x531F, 0x00AE, 0x000A, 0x922F, 0x0110, 0xB0B2,
+0x0010, 0x012C, 0x2BFC, 0x0110, 0x13B0, 0x8416, 0x93CF, 0x0002, 0x0110,
+0x13B0, 0x83C0, 0x0B3F, 0x0010, 0x0FC0, 0x407D, 0x0093, 0x4A6C, 0x0B0F,
+0x0FC0, 0x4B6F, 0x1840, 0xB3DF, 0x3282, 0x0110, 0x1840, 0x4382, 0x3BE0,
+0x0110, 0x1840, 0x421C, 0x33B6, 0x0110, 0x1840, 0x421C, 0x18F8, 0x0110,
+0x1840, 0x421C, 0x3238, 0x0110, 0x430D, 0x0A3F, 0x0014, 0x0FC0, 0x1840,
+0x93C2, 0x3D2A, 0x0110, 0x1840, 0x4392, 0x3BE0, 0x0110, 0x13B0, 0x726E,
+0x435C, 0x0110, 0x13B0, 0x8564, 0x435C, 0x0110, 0x13B0, 0x856C, 0x435C,
+0x0110, 0x1840, 0x421C, 0x33B4, 0x0110, 0x403C, 0x001D, 0x0110, 0x43C2,
+0x0923, 0x0110, 0x0B3F, 0x0004, 0x0FC0, 0xDCC2, 0x092F, 0x0110, 0xD392,
+0x0700, 0x0110, 0x0020, 0x3C30, 0x430C, 0x0110, 0x434C, 0x0110, 0x430C,
+0x0110, 0x430C, 0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x434C, 0x0110,
+0x430C, 0x0110, 0x0080, 0x79D8, 0x435C, 0x0110, 0x430C, 0x0110, 0x430C,
+0x0110, 0x435C, 0x0110, 0x430C, 0x0110, 0x435C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C,
+0x0110, 0x0080, 0x7E6A, 0x0080, 0x8560, 0x0080, 0x64AE, 0x0080, 0x7F62,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0282, 0x0201, 0x1C80, 0x1CC0,
+0x1D00, 0x1D40, 0x1D80, 0x1DC0, 0x0484, 0x0203, 0x1E80, 0x1EC0, 0x1F00,
+0x1F40, 0x1F80, 0x1FC0, 0x21A1, 0x0000, 0x0000, 0x0007, 0x00FF, 0x71B6,
+0x0000, 0x2021, 0x0000, 0x0000, 0x0007, 0x00FF, 0x83E4, 0x0000, 0x2221,
+0xFFFF, 0x0000, 0x0000, 0x00CF, 0x7FF2, 0x0000, 0x21A1, 0x0000, 0x0002,
+0x0007, 0x00FF, 0x71B6, 0x0000, 0x2021, 0x0000, 0x0002, 0x0007, 0x00FF,
+0x83E4, 0x0000, 0x2221, 0xFFFF, 0x0002, 0x0000, 0x00CF, 0x7FF2, 0x0000,
+0x0100, 0x0001, 0x0000, 0x0000, 0x00FF, 0x7F48, 0x0000, 0x0102, 0x0000,
+0x00FF, 0x0000, 0x00F7, 0x6C6A, 0x0000, 0x0880, 0x0000, 0x0000, 0x0001,
+0x00FF, 0x5F6A, 0x0000, 0x0680, 0x01FF, 0xFFFF, 0xFFFF, 0x00D0, 0x5F56,
+0x0000, 0x0680, 0x02FF, 0xFFFF, 0xFFFF, 0x00D0, 0x5F42, 0x0000, 0x0680,
+0x03FF, 0xFFFF, 0xFFFF, 0x00D0, 0x5ED4, 0x0000, 0x0A81, 0x0000, 0xFFFF,
+0x0001, 0x00F3, 0x5ED0, 0x0000, 0x0080, 0x0000, 0x0000, 0x0002, 0x00FF,
+0x5EA4, 0x0000, 0x0081, 0x0000, 0x00FF, 0x0002, 0x00F7, 0x5EA0, 0x0000,
+0x0082, 0x0000, 0x00FF, 0x0002, 0x00F7, 0x5E4A, 0x0000, 0x0500, 0x00FF,
+0x0000, 0x0000, 0x00DF, 0x7E4A, 0x0000, 0x0900, 0x00FF, 0x0000, 0x0000,
+0x00DF, 0x7C08, 0x0000, 0x0300, 0x00FF, 0x0000, 0x0000, 0x00DF, 0x7EFA,
+0x0000, 0x0302, 0x00FF, 0x00FF, 0x0000, 0x00D7, 0x786E, 0x0000, 0x0B01,
+0x00FF, 0x00FF, 0x0000, 0x00D7, 0x80D0, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0x0000, 0x7A70, 0x0000, 0x1980, 0x0000, 0x19FF, 0x0000, 0x1900,
+0x0000, 0x197F, 0x0000, 0x1880, 0x0000, 0x18FF, 0x0000, 0x1800, 0x0000,
+0x187F, 0x0000, 0xE000, 0x0000, 0xFDFF, 0x0000, 0x0000, 0x0001, 0xDFFF,
+0x0001, 0x8A00, 0x0000, 0xDFFF, 0x0000, 0x3000, 0x0002, 0x43FF, 0x0002,
+0x1000, 0x0002, 0x2FFF, 0x0002, 0x0200, 0x0112, 0x0200, 0x02EF, 0x0801,
+0x2047, 0x0013, 0x0200, 0x0201, 0x0103, 0x0209, 0x008D, 0x0104, 0x8004,
+0x0832, 0x000B, 0x0202, 0x0102, 0x0905, 0x0004, 0x0100, 0x0202, 0x0501,
+0x2405, 0x1000, 0x0501, 0x0124, 0x0100, 0x2404, 0x0202, 0x2405, 0x0006,
+0x0701, 0x8105, 0x4003, 0xFF00, 0x0409, 0x0001, 0x0A02, 0x0000, 0x0700,
+0x0205, 0x4002, 0xFF00, 0x0507, 0x0282, 0x0040, 0x08FF, 0x020B, 0x0202,
+0x0102, 0x0906, 0x0204, 0x0100, 0x0202, 0x0601, 0x2405, 0x1000, 0x0501,
+0x0124, 0x0300, 0x2404, 0x0202, 0x2405, 0x0206, 0x0703, 0x8305, 0x4003,
+0xFF00, 0x0409, 0x0003, 0x0A02, 0x0000, 0x0700, 0x0405, 0x4002, 0xFF00,
+0x0507, 0x0284, 0x0040, 0x04FF, 0x0903, 0x2404, 0x5403, 0x6500, 0x7800,
+0x6100, 0x7300, 0x2000, 0x4900, 0x6E00, 0x7300, 0x7400, 0x7200, 0x7500,
+0x6D00, 0x6500, 0x6E00, 0x7400, 0x7300, 0x2200, 0x4D03, 0x5300, 0x5000,
+0x2000, 0x5400, 0x6F00, 0x6F00, 0x6C00, 0x7300, 0x2000, 0x4400, 0x7200,
+0x6900, 0x7600, 0x6500, 0x7200, 0x0400, 0x3003, 0x1600, 0x4D03, 0x5300,
+0x5000, 0x3400, 0x3300, 0x3000, 0x2000, 0x5500, 0x5300, 0x4200, 0x2800,
+0x4D03, 0x5300, 0x5000, 0x2000, 0x4400, 0x6500, 0x6200, 0x7500, 0x6700,
+0x2000, 0x4900, 0x6E00, 0x7400, 0x6500, 0x7200, 0x6600, 0x6100, 0x6300,
+0x6500, 0x2A00, 0x4D03, 0x5300, 0x5000, 0x2000, 0x4100, 0x7000, 0x7000,
+0x6C00, 0x6900, 0x6300, 0x6100, 0x7400, 0x6900, 0x6F00, 0x6E00, 0x2000,
+0x5500, 0x4100, 0x5200, 0x5400, 0x0500, 0x0082, 0x0000, 0x0000, 0x0201,
+0x0403, 0x0605, 0x0807, 0x5D16, 0x0000, 0x8568, 0x0000, 0x6DE0, 0x0000,
+0x591C, 0x0000, 0x7F8A, 0x0000, 0x60A0, 0x0000, 0x7F7A, 0x0000, 0x817E,
+0x0000, 0x7C56, 0x0000, 0x6FA6, 0x0000, 0x7974, 0x0000, 0x810C, 0x0000,
+0x7B3E, 0x0000, 0x749A, 0x0000, 0x6D6A, 0x0000, 0x7AEA, 0x0000, 0x7CA2,
+0x0000, 0x8120, 0x0000, 0x80A6, 0x0000, 0x8064, 0x0000, 0x8090, 0x0000,
+0x7EA6, 0x0000, 0x78DC, 0x0000, 0x81D8, 0x0000, 0x6CEC, 0x0000, 0x78A6,
+0x0000, 0x8544, 0x0000, 0x8528, 0x0000, 0x852C, 0x0000, 0x853C, 0x0000,
+0x8570, 0x0000, 0x8574, 0x0000, 0x8576, 0x0000, 0x857E, 0x0000, 0x857C,
+0x0000, 0x8550, 0x0000, 0x852C, 0x0000, 0x852C, 0x0000, 0x8570, 0x0000,
+0x0000, 0x0000, 0x6ADC, 0x0000, 0x4962, 0x0000, 0x6EC6, 0x0000, 0xFFFF,
+0xFFFF, 0x0000, 0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0100,
+0xFFFF, 0xFFFF, 0x0000, 0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
+0x0100, 0x3CDC, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0x4784, 0x474E, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x45B0,
+0xFFFF, 0xFFFF, 0x443C, 0x46FC, 0x467E, 0xFFFF, 0xFFFF, 0x4776, 0xFFFF,
+0xFFFF, 0x4730, 0xFFFF, 0x4682, 0x46CA, 0x4406,
+};
+
+const uint32_t eZ_FetCoreImage_address[] =
+{
+0x00004400, 0x0000FF80,
+};
+const uint32_t eZ_FetCoreImage_length_of_sections[] =
+{
+0x00002300, 0x00000040,
+};
+const uint32_t eZ_FetCoreImage_sections = 0x00000002;
+const uint32_t eZ_FetCoreImage_termination = 0x00000000;
+const uint32_t eZ_FetCoreImage_start = 0x00004400;
+const uint32_t eZ_FetCoreImage_finish = 0x00010000;
+const uint32_t eZ_FetCoreImage_length = 0x0000BC00;
+
+#define EZ_FETCOREIMAGE_TERMINATION 0x00000000
+#define EZ_FETCOREIMAGE_START 0x00004400
+#define EZ_FETCOREIMAGE_FINISH 0x00010000
+#define EZ_FETCOREIMAGE_LENGTH 0x0000BC00
+#define EZ_FETCOREIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/eZ_FetDcdc.h b/Bios/include/eZ_FetDcdc.h
new file mode 100644
index 0000000..4ddd0f1
--- /dev/null
+++ b/Bios/include/eZ_FetDcdc.h
@@ -0,0 +1,316 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetDcdcImage[] =
+{
+0x3E84, 0x0002, 0x0005, 0x0005, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x8D7B, 0xABBA,
+0xABBA, 0x145B, 0x8031, 0x0010, 0x0CCB, 0x4D08, 0x430C, 0x4039, 0x000A,
+0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0008, 0x4381, 0x000A, 0x430A,
+0x1840, 0x9E82, 0x43B2, 0x2006, 0x1840, 0x9392, 0x43E6, 0x2002, 0x430C,
+0x3CD3, 0x1840, 0x4E82, 0x43B2, 0x1840, 0x4382, 0x43E6, 0x430A, 0x3C16,
+0x411E, 0x0004, 0x411F, 0x0006, 0x531E, 0x630F, 0x4E81, 0x0004, 0x4F81,
+0x0006, 0x9381, 0x0006, 0x2BF3, 0x2004, 0x90B1, 0x4000, 0x0004, 0x2BEE,
+0xC0F2, 0x0020, 0x0243, 0x531A, 0x980A, 0x2CA8, 0x4A0F, 0x0FEF, 0x0BEF,
+0x4F26, 0x9306, 0x2002, 0x4039, 0x0032, 0x9226, 0x2002, 0x4039, 0x0014,
+0xD0F2, 0x0020, 0x0243, 0x460D, 0x403C, 0x0003, 0x13B2, 0x3476, 0x930C,
+0x2002, 0x433C, 0x3C9B, 0x4381, 0x0000, 0x4381, 0x0002, 0x3C09, 0x412E,
+0x411F, 0x0002, 0x531E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x9381,
+0x0002, 0x2BF4, 0x2004, 0x90B1, 0x4000, 0x0000, 0x2BEF, 0x4381, 0x0000,
+0x4381, 0x0002, 0x3C09, 0x412E, 0x411F, 0x0002, 0x531E, 0x630F, 0x4E81,
+0x0000, 0x4F81, 0x0002, 0x9381, 0x0002, 0x2BF4, 0x2004, 0x90B1, 0x4000,
+0x0000, 0x2BEF, 0x4381, 0x0000, 0x4381, 0x0002, 0x3C09, 0x412E, 0x411F,
+0x0002, 0x531E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x9381, 0x0002,
+0x2BF4, 0x2004, 0x90B1, 0x4000, 0x0000, 0x2BEF, 0x4381, 0x0000, 0x4381,
+0x0002, 0x3C09, 0x412E, 0x411F, 0x0002, 0x531E, 0x630F, 0x4E81, 0x0000,
+0x4F81, 0x0002, 0x9381, 0x0002, 0x2BF4, 0x2004, 0x90B1, 0x4000, 0x0000,
+0x2BEF, 0x490E, 0x410D, 0x523D, 0x410C, 0x503C, 0x000C, 0x13B2, 0x32D6,
+0x411E, 0x000C, 0x411F, 0x000E, 0x4A0D, 0x0DED, 0x0DCC, 0x064D, 0x0CED,
+0x1840, 0x4E8D, 0x43B8, 0x1840, 0x4F8D, 0x43BA, 0x411E, 0x0008, 0x411F,
+0x000A, 0x4A0D, 0x0DED, 0x0DCC, 0x064D, 0x0CED, 0x1840, 0x4E8D, 0x43B4,
+0x1840, 0x4F8D, 0x43B6, 0x4A0F, 0x0FEF, 0x0FCE, 0x064F, 0x0EEF, 0x1840,
+0x468F, 0x43BC, 0x430D, 0x403C, 0x0003, 0x13B2, 0x3476, 0x4381, 0x0004,
+0x4381, 0x0006, 0x3F4A, 0x930C, 0x2005, 0x1840, 0x4382, 0x43E6, 0x433C,
+0x3C04, 0x1840, 0x4392, 0x43E6, 0x430C, 0x5031, 0x0010, 0x1656, 0x0110,
+0x1840, 0x4C82, 0x43F8, 0x903C, 0xAAAA, 0x2406, 0x903C, 0xAAAC, 0x2403,
+0x903C, 0xAAAD, 0x205E, 0xC0F2, 0x0010, 0x0245, 0xD0F2, 0x0020, 0x0245,
+0xC0F2, 0x0020, 0x0243, 0xC0F2, 0x0080, 0x0245, 0xC0F2, 0x0080, 0x0243,
+0xD0F2, 0x0040, 0x0245, 0x403F, 0x49EE, 0x4303, 0x432E, 0x533F, 0x633E,
+0x2FFD, 0xC0F2, 0x0040, 0x0243, 0x403F, 0x49EE, 0x4303, 0x432E, 0x533F,
+0x633E, 0x2FFD, 0xD0F2, 0x0040, 0x0243, 0xC0F2, 0x0040, 0x0245, 0x40F2,
+0x0003, 0x022A, 0x403F, 0x05E0, 0x0F60, 0x43E8, 0x1800, 0x40F2, 0x05FD,
+0x43EC, 0x1800, 0x40F2, 0x05EE, 0x43F0, 0x1800, 0x40F2, 0x05EC, 0x43F4,
+0x4F0E, 0xD3DE, 0x0000, 0x40F2, 0x000F, 0x05E1, 0x40FF, 0x0081, 0x0000,
+0x40F2, 0x00C8, 0x05E6, 0x43C2, 0x05E7, 0x40B2, 0x0048, 0x05F2, 0x40FF,
+0x0080, 0x0000, 0x403F, 0x49EE, 0x4303, 0x432E, 0x533F, 0x633E, 0x2FFD,
+0x1840, 0x4382, 0x43B2, 0x1840, 0x4382, 0x43E6, 0x0110, 0x903C, 0xAAAB,
+0x2003, 0x403C, 0xAAAB, 0x0110, 0x903C, 0xBBBB, 0x2405, 0x903C, 0xBBBC,
+0x2001, 0x0110, 0x433C, 0x0110, 0x145B, 0x8221, 0x430F, 0x438C, 0x0000,
+0x438C, 0x0002, 0x438D, 0x0000, 0x438D, 0x0002, 0x1840, 0x421B, 0x43F8,
+0x903B, 0xAAAC, 0x240C, 0x903B, 0xAAAA, 0x2409, 0x903B, 0xBBBB, 0x2406,
+0x903B, 0xBBBC, 0x2403, 0x903B, 0xAAAD, 0x204E, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x3C1F, 0x412A, 0x411B, 0x0002, 0x531A, 0x630B, 0x4A81,
+0x0000, 0x4B81, 0x0002, 0x9381, 0x0002, 0x2004, 0x90B1, 0x4000, 0x0000,
+0x2BF0, 0x421A, 0x0410, 0x4218, 0x0350, 0x8908, 0x588D, 0x0000, 0x638D,
+0x0002, 0x860A, 0x5A8C, 0x0000, 0x638C, 0x0002, 0x531F, 0x9E0F, 0x2C1C,
+0xD0B2, 0x0026, 0x0340, 0x4216, 0x0410, 0x4219, 0x0350, 0xC3A2, 0x0700,
+0x40F2, 0x0011, 0x0710, 0xD3A2, 0x0700, 0xC392, 0x070A, 0xD392, 0x0700,
+0xB392, 0x070A, 0x2BFD, 0xC392, 0x070A, 0x4381, 0x0000, 0x4381, 0x0002,
+0x3FCC, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x5221, 0x1656, 0x0110, 0x8321, 0x403F, 0x2710,
+0x002E, 0x43E8, 0xB2EE, 0x0000, 0x2803, 0x533F, 0x930F, 0x23F8, 0x930F,
+0x2002, 0x430C, 0x3C51, 0x002F, 0x43E8, 0xC0FF, 0x0010, 0x0000, 0x002F,
+0x43E8, 0xD3EF, 0x0000, 0x403F, 0x2710, 0x002E, 0x43EC, 0xB3DE, 0x0000,
+0x2C03, 0x533F, 0x930F, 0x23F8, 0x930F, 0x2002, 0x430C, 0x3C3A, 0x002F,
+0x43EC, 0xC3DF, 0x0000, 0x002F, 0x43F4, 0x1840, 0x4FE1, 0x0000, 0x002F,
+0x43E8, 0xD2EF, 0x0000, 0x403F, 0x2710, 0x002E, 0x43E8, 0xB2EE, 0x0000,
+0x2803, 0x533F, 0x930F, 0x23F8, 0x930F, 0x2002, 0x430C, 0x3C1F, 0x403F,
+0x2710, 0x002E, 0x43EC, 0xB3DE, 0x0000, 0x2C03, 0x533F, 0x930F, 0x23F8,
+0x930F, 0x2002, 0x430C, 0x3C11, 0x002F, 0x43F4, 0x1840, 0x4FE1, 0x0001,
+0x416E, 0x4E4E, 0xF03E, 0x00FF, 0x108E, 0x415F, 0x0001, 0x4F4F, 0x5F0E,
+0x4E8C, 0x0000, 0x431C, 0x5321, 0x0110, 0x8221, 0x4CC1, 0x0000, 0x4D0F,
+0x108F, 0xF03F, 0x00FF, 0x4FC1, 0x0001, 0x4DC1, 0x0002, 0x002F, 0x43E8,
+0xD0FF, 0x0012, 0x0000, 0x403F, 0x0681, 0x533F, 0x2FFE, 0x002F, 0x43EC,
+0xB0FF, 0x0020, 0x0000, 0x2802, 0x430C, 0x3C3C, 0x416E, 0x002F, 0x43F0,
+0x4ECF, 0x0000, 0x403F, 0x0681, 0x533F, 0x2FFE, 0x002F, 0x43EC, 0xB0FF,
+0x0020, 0x0000, 0x2802, 0x430C, 0x3C2B, 0x415E, 0x0001, 0x002F, 0x43F0,
+0x4ECF, 0x0000, 0x403F, 0x0681, 0x533F, 0x2FFE, 0x002F, 0x43EC, 0xB0FF,
+0x0020, 0x0000, 0x2802, 0x430C, 0x3C19, 0x415E, 0x0002, 0x002F, 0x43F0,
+0x4ECF, 0x0000, 0x403F, 0x2710, 0x002E, 0x43EC, 0xB3EE, 0x0000, 0x2C03,
+0x533F, 0x930F, 0x23F8, 0x930F, 0x2002, 0x430C, 0x3C05, 0x002F, 0x43E8,
+0xD2EF, 0x0000, 0x431C, 0x5221, 0x0110, 0x008E, 0x4392, 0x1900, 0x40FE,
+0x3000, 0x0008, 0x1900, 0x40FE, 0x364A, 0x0000, 0x1900, 0x40FE, 0x365E,
+0x0004, 0x1900, 0x40FE, 0x360A, 0x000C, 0x1900, 0x40FE, 0x3636, 0x0010,
+0x1900, 0x40FE, 0x31E4, 0x0014, 0x1900, 0x40FE, 0x3596, 0x0018, 0x1900,
+0x40FE, 0x3664, 0x001C, 0x008D, 0x0010, 0x13B2, 0x3620, 0x1800, 0x43C2,
+0x43E8, 0x1800, 0x43C2, 0x43EC, 0x1800, 0x43C2, 0x43F0, 0x1800, 0x43C2,
+0x43F4, 0x1840, 0x4382, 0x43F8, 0x0110, 0x143B, 0x430C, 0x430C, 0x013A,
+0x0014, 0x3C24, 0x4C0B, 0x0BEB, 0x0BC8, 0x064B, 0x08EB, 0x1840, 0x9D8B,
+0x43BC, 0x201A, 0x4C0B, 0x0BEB, 0x0BC8, 0x064B, 0x08EB, 0x1840, 0x4B9A,
+0x43B4, 0x0000, 0x1840, 0x4B9A, 0x43B6, 0x0002, 0x4C0B, 0x0BEB, 0x0BC8,
+0x064B, 0x08EB, 0x1840, 0x4B9F, 0x43B8, 0x0000, 0x1840, 0x4B9F, 0x43BA,
+0x0002, 0x531C, 0x9E0C, 0x2BDA, 0x1638, 0x0110, 0x151F, 0x160F, 0x0CCE,
+0x0FEE, 0x3C04, 0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110,
+0x403D, 0x5A5A, 0x422C, 0x13B2, 0x3476, 0x930C, 0x2002, 0x433C, 0x0110,
+0x430C, 0x0110, 0x1800, 0x124C, 0x4EBC, 0x0000, 0x03EC, 0x00BD, 0x0001,
+0x23FA, 0x1800, 0x417C, 0x0110, 0x4C0D, 0x431C, 0x13B2, 0x3476, 0x930C,
+0x2002, 0x433C, 0x0110, 0x430C, 0x0110, 0x8321, 0x4381, 0x0000, 0x410C,
+0x530C, 0x13B2, 0x33B2, 0x412C, 0x5321, 0x0110, 0x403C, 0x0005, 0x0110,
+0x403C, 0x0005, 0x0110, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4180, 0x050A, 0x1840, 0x1204,
+0x1840, 0x1205, 0x1840, 0x1206, 0x1840, 0x1207, 0x1840, 0x1208, 0x1840,
+0x1209, 0x1840, 0x120A, 0x1840, 0x120B, 0x1840, 0x120C, 0x1840, 0x120D,
+0x1840, 0x120E, 0x1840, 0x120F, 0x008C, 0x4392, 0x403E, 0x0068, 0x403F,
+0x0000, 0x13B2, 0x35F2, 0x1840, 0x413F, 0x1840, 0x413E, 0x1840, 0x413D,
+0x1840, 0x413C, 0x1840, 0x413B, 0x1840, 0x413A, 0x1840, 0x4139, 0x1840,
+0x4138, 0x1840, 0x4137, 0x1840, 0x4136, 0x1840, 0x4135, 0x1840, 0x4134,
+0x1900, 0x4070, 0x352A, 0x4011, 0x0490, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+};
+
+const uint32_t eZ_FetDcdcImage_address[] =
+{
+0x00001800, 0x00023000,
+};
+const uint32_t eZ_FetDcdcImage_length_of_sections[] =
+{
+0x00000040, 0x00000A00,
+};
+const uint32_t eZ_FetDcdcImage_sections = 0x00000002;
+const uint32_t eZ_FetDcdcImage_termination = 0x00000000;
+const uint32_t eZ_FetDcdcImage_start = 0x00001800;
+const uint32_t eZ_FetDcdcImage_finish = 0x00024400;
+const uint32_t eZ_FetDcdcImage_length = 0x00022C00;
+
+#define EZ_FETDCDCIMAGE_TERMINATION 0x00000000
+#define EZ_FETDCDCIMAGE_START 0x00001800
+#define EZ_FETDCDCIMAGE_FINISH 0x00024400
+#define EZ_FETDCDCIMAGE_LENGTH 0x00022C00
+#define EZ_FETDCDCIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/eZ_FetDcdcController.h b/Bios/include/eZ_FetDcdcController.h
new file mode 100644
index 0000000..a8ae7df
--- /dev/null
+++ b/Bios/include/eZ_FetDcdcController.h
@@ -0,0 +1,83 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetDcdcControllerImage[] =
+{
+0x0011, 0x0390, 0x0302, 0x0302, 0x0302, 0x0402, 0x0402, 0x0502, 0x0502,
+0x0502, 0x0502, 0x0502, 0x0502, 0x0602, 0x0602, 0x0603, 0x0603, 0x0703,
+0x0703, 0x0703, 0x0803, 0x0803, 0x0803, 0x0803, 0x0903, 0x0903, 0xFF03,
+0x4031, 0x0300, 0x403C, 0x0200, 0x403D, 0x0003, 0x12B0, 0xE402, 0x12B0,
+0xE1AE, 0x12B0, 0xE418, 0x120F, 0x120E, 0xB3E2, 0x0079, 0x2804, 0x43A2,
+0x0204, 0x4382, 0x0206, 0x421F, 0x0204, 0x830F, 0x249C, 0x832F, 0x240F,
+0x832F, 0x2419, 0x832F, 0x2434, 0x832F, 0x2437, 0x832F, 0x243D, 0x823F,
+0x246B, 0x832F, 0x2474, 0x832F, 0x247A, 0x3C8B, 0x425E, 0x007B, 0xF07E,
+0x00E0, 0x527E, 0x4EC2, 0x007B, 0xC3E2, 0x0079, 0x42A2, 0x0204, 0x3C7F,
+0xD3E2, 0x0078, 0x425E, 0x007C, 0xF07E, 0x00FE, 0x925E, 0xE000, 0x200C,
+0xB3D2, 0x007C, 0x2804, 0x40B2, 0x0012, 0x0204, 0x3C02, 0x42B2, 0x0204,
+0x43C2, 0x007C, 0x3C05, 0x43F2, 0x007C, 0x40B2, 0x0006, 0x0204, 0xD3D2,
+0x007B, 0x3C62, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C5D, 0xC3E2, 0x0078,
+0xD2F2, 0x007B, 0x40B2, 0x000A, 0x0204, 0x3C55, 0xD3E2, 0x0078, 0x90B2,
+0x0003, 0x0206, 0x2C07, 0x421F, 0x0206, 0x42DF, 0x007C, 0x020D, 0x5392,
+0x0206, 0x43C2, 0x007C, 0x90B2, 0x0003, 0x0206, 0x2818, 0x425F, 0x020D,
+0x4F4F, 0x4F82, 0x0208, 0x425F, 0x020E, 0x4F4F, 0xF03F, 0x00FF, 0x108F,
+0x4F82, 0x020A, 0x425F, 0x020F, 0x4F4F, 0x5F82, 0x020A, 0x40B2, 0x0006,
+0x0204, 0x4382, 0x0206, 0x3C02, 0x42B2, 0x0204, 0xD3D2, 0x007B, 0x3C25,
+0xD3E2, 0x0078, 0x42D2, 0x1001, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0x3C1A, 0xC3E2, 0x0078, 0xD3D2, 0x007B, 0x40B2, 0x0016, 0x0204,
+0x3C12, 0xB3D2, 0x007C, 0x2805, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C0A,
+0xD3E2, 0x0078, 0x42D2, 0x1000, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0xC3D2, 0x0079, 0xC0B1, 0x00D0, 0x0004, 0x413E, 0x413F, 0x1300,
+0x40B2, 0x5A80, 0x0120, 0xD2E2, 0x0026, 0xF0F2, 0x00F5, 0x0021, 0x40F2,
+0x000C, 0x0022, 0x43C2, 0x0027, 0xF0F2, 0x003F, 0x002E, 0xF0F2, 0x003F,
+0x0042, 0xF0F2, 0x003F, 0x0029, 0x43C2, 0x002F, 0x40F2, 0x003F, 0x002A,
+0x40F2, 0x0021, 0x005B, 0x40F2, 0x002C, 0x005A, 0x42F2, 0x0059, 0x42D2,
+0x10F8, 0x0056, 0x42D2, 0x10F9, 0x0057, 0x40B2, 0x0060, 0x0164, 0x42B2,
+0x0172, 0x43A2, 0x0174, 0x4034, 0x0224, 0x4305, 0xD0F2, 0x0020, 0x0053,
+0x40B2, 0x5A3F, 0x0120, 0xD3D2, 0x0000, 0x43C2, 0x020C, 0x43B2, 0x0208,
+0x4382, 0x0204, 0x4382, 0x0206, 0x40F2, 0x00C1, 0x0078, 0x40F2, 0x0070,
+0x0079, 0x40F2, 0x00EE, 0x007A, 0xD0F2, 0x0020, 0x007B, 0xC3D2, 0x0078,
+0xC3D2, 0x0079, 0xD232, 0x403C, 0x0E10, 0x12B0, 0xE282, 0xB3D2, 0x005A,
+0x2C04, 0x4482, 0x0160, 0x4303, 0x3C03, 0x42A2, 0x0160, 0x5315, 0x93B2,
+0x0208, 0x27F3, 0x421C, 0x020A, 0x12B0, 0xE324, 0x3FEE, 0x120A, 0x4C0A,
+0x430C, 0x4A0F, 0xF03F, 0x7FFF, 0x4F82, 0x0200, 0x4A0F, 0xE33F, 0x5F0F,
+0x7F0F, 0xF35F, 0x4FC2, 0x0202, 0x90B2, 0x04B0, 0x0200, 0x3819, 0x90B2,
+0x0E11, 0x0200, 0x3415, 0x421F, 0x0200, 0x503F, 0xFB50, 0x4F0C, 0x403E,
+0x0064, 0x12B0, 0xE3A6, 0x4C0E, 0x5E0E, 0x425F, 0x0202, 0x4F4F, 0x5F0E,
+0x4E5F, 0xE001, 0x4F4F, 0x531F, 0x4F82, 0x0172, 0x413A, 0x4130, 0x120F,
+0x120E, 0xB0F2, 0x0010, 0x0020, 0x2C19, 0x9305, 0x2013, 0x425E, 0x020C,
+0x535E, 0x4EC2, 0x020C, 0x926E, 0x2810, 0xD2F2, 0x0021, 0x403F, 0x12CE,
+0x403E, 0x0013, 0x533F, 0x633E, 0x2FFD, 0x43C2, 0x020C, 0x3C04, 0xC2F2,
+0x0021, 0x43C2, 0x020C, 0x4305, 0x413E, 0x413F, 0x1300, 0x120A, 0x4C0A,
+0x421F, 0x0208, 0x831F, 0x2407, 0x831F, 0x2409, 0x831F, 0x240B, 0x831F,
+0x240D, 0x3C0F, 0x4A0C, 0x12B0, 0xE282, 0x3C0B, 0x4A0C, 0x12B0, 0xE3BE,
+0x3C07, 0x4A0C, 0x12B0, 0xE364, 0x3C03, 0x4A0C, 0x12B0, 0xE3EC, 0x43B2,
+0x0208, 0x413A, 0x4130, 0xC3E2, 0x0021, 0xF0F2, 0x003F, 0x0029, 0xB31C,
+0x2804, 0xD0F2, 0x0040, 0x002A, 0x3C03, 0xC0F2, 0x0040, 0x002A, 0xB32C,
+0x2803, 0xD3E2, 0x0022, 0x3C02, 0xC3E2, 0x0022, 0xB22C, 0x2804, 0xD0F2,
+0x0080, 0x002A, 0x4130, 0xC0F2, 0x0080, 0x002A, 0x4130, 0xF37C, 0xF37E,
+0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E, 0x9F0E, 0x2801, 0x8F0E,
+0x6C0C, 0x2BF9, 0x4130, 0x930C, 0x2002, 0x4224, 0x4130, 0x903C, 0x000A,
+0x3404, 0x4C82, 0x0172, 0x4034, 0x0224, 0x4130, 0x120A, 0x8321, 0x4C0A,
+0x4A81, 0x0000, 0x410D, 0x530D, 0x435C, 0x12B0, 0xE41C, 0x3FF8, 0x903C,
+0x5A5A, 0x2007, 0xC3D2, 0x0000, 0xD032, 0x00D8, 0x4303, 0xD3D2, 0x0000,
+0x4130, 0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB,
+0x4130, 0x4030, 0xE3D6, 0x4030, 0xE414, 0x4130, 0xE04C, 0xE2DE, 0xE034,
+};
+
+const uint32_t eZ_FetDcdcControllerImage_address[] =
+{
+0x00001000, 0x0000E000, 0x0000FFE8, 0x0000FFF4, 0x0000FFFE,
+};
+const uint32_t eZ_FetDcdcControllerImage_length_of_sections[] =
+{
+0x00000001, 0x0000020F, 0x00000001, 0x00000001, 0x00000001,
+};
+const uint32_t eZ_FetDcdcControllerImage_sections = 0x00000005;
+const uint32_t eZ_FetDcdcControllerImage_termination = 0x00000000;
+const uint32_t eZ_FetDcdcControllerImage_start = 0x00001000;
+const uint32_t eZ_FetDcdcControllerImage_finish = 0x00010000;
+const uint32_t eZ_FetDcdcControllerImage_length = 0x0000F000;
+
+#define EZ_FETDCDCCONTROLLERIMAGE_TERMINATION 0x00000000
+#define EZ_FETDCDCCONTROLLERIMAGE_START 0x00001000
+#define EZ_FETDCDCCONTROLLERIMAGE_FINISH 0x00010000
+#define EZ_FETDCDCCONTROLLERIMAGE_LENGTH 0x0000F000
+#define EZ_FETDCDCCONTROLLERIMAGE_SECTIONS 0x00000005
diff --git a/Bios/include/eZ_FetDcdcControllerV2x.h b/Bios/include/eZ_FetDcdcControllerV2x.h
new file mode 100644
index 0000000..c8f62d9
--- /dev/null
+++ b/Bios/include/eZ_FetDcdcControllerV2x.h
@@ -0,0 +1,83 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetDcdcControllerV2xImage[] =
+{
+0x0050, 0x0390, 0x0302, 0x0302, 0x0302, 0x0402, 0x0402, 0x0502, 0x0502,
+0x0502, 0x0502, 0x0502, 0x0502, 0x0602, 0x0602, 0x0603, 0x0603, 0x0703,
+0x0703, 0x0703, 0x0803, 0x0903, 0x0A03, 0x0B03, 0x0B03, 0x0B03, 0xFF03,
+0x4031, 0x0300, 0x403C, 0x0200, 0x403D, 0x0003, 0x12B0, 0xE402, 0x12B0,
+0xE1AE, 0x12B0, 0xE418, 0x120F, 0x120E, 0xB3E2, 0x0079, 0x2804, 0x43A2,
+0x0204, 0x4382, 0x0206, 0x421F, 0x0204, 0x830F, 0x249C, 0x832F, 0x240F,
+0x832F, 0x2419, 0x832F, 0x2434, 0x832F, 0x2437, 0x832F, 0x243D, 0x823F,
+0x246B, 0x832F, 0x2474, 0x832F, 0x247A, 0x3C8B, 0x425E, 0x007B, 0xF07E,
+0x00E0, 0x527E, 0x4EC2, 0x007B, 0xC3E2, 0x0079, 0x42A2, 0x0204, 0x3C7F,
+0xD3E2, 0x0078, 0x425E, 0x007C, 0xF07E, 0x00FE, 0x925E, 0xE000, 0x200C,
+0xB3D2, 0x007C, 0x2804, 0x40B2, 0x0012, 0x0204, 0x3C02, 0x42B2, 0x0204,
+0x43C2, 0x007C, 0x3C05, 0x43F2, 0x007C, 0x40B2, 0x0006, 0x0204, 0xD3D2,
+0x007B, 0x3C62, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C5D, 0xC3E2, 0x0078,
+0xD2F2, 0x007B, 0x40B2, 0x000A, 0x0204, 0x3C55, 0xD3E2, 0x0078, 0x90B2,
+0x0003, 0x0206, 0x2C07, 0x421F, 0x0206, 0x42DF, 0x007C, 0x020D, 0x5392,
+0x0206, 0x43C2, 0x007C, 0x90B2, 0x0003, 0x0206, 0x2818, 0x425F, 0x020D,
+0x4F4F, 0x4F82, 0x0208, 0x425F, 0x020E, 0x4F4F, 0xF03F, 0x00FF, 0x108F,
+0x4F82, 0x020A, 0x425F, 0x020F, 0x4F4F, 0x5F82, 0x020A, 0x40B2, 0x0006,
+0x0204, 0x4382, 0x0206, 0x3C02, 0x42B2, 0x0204, 0xD3D2, 0x007B, 0x3C25,
+0xD3E2, 0x0078, 0x42D2, 0x1001, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0x3C1A, 0xC3E2, 0x0078, 0xD3D2, 0x007B, 0x40B2, 0x0016, 0x0204,
+0x3C12, 0xB3D2, 0x007C, 0x2805, 0xC3E2, 0x0078, 0x4382, 0x0204, 0x3C0A,
+0xD3E2, 0x0078, 0x42D2, 0x1000, 0x007C, 0xD2F2, 0x007B, 0x40B2, 0x0014,
+0x0204, 0xC3D2, 0x0079, 0xC0B1, 0x00D0, 0x0004, 0x413E, 0x413F, 0x1300,
+0x40B2, 0x5A80, 0x0120, 0xD2E2, 0x0026, 0xF0F2, 0x00F5, 0x0021, 0x40F2,
+0x000C, 0x0022, 0x43C2, 0x0027, 0xF0F2, 0x003F, 0x002E, 0xF0F2, 0x003F,
+0x0042, 0xF0F2, 0x003F, 0x0029, 0x43C2, 0x002F, 0x40F2, 0x003F, 0x002A,
+0x40F2, 0x0021, 0x005B, 0x40F2, 0x002C, 0x005A, 0x42F2, 0x0059, 0x42D2,
+0x10F8, 0x0056, 0x42D2, 0x10F9, 0x0057, 0x40B2, 0x0060, 0x0164, 0x42B2,
+0x0172, 0x43A2, 0x0174, 0x4034, 0x0224, 0x4305, 0xD0F2, 0x0020, 0x0053,
+0x40B2, 0x5A3F, 0x0120, 0xD3D2, 0x0000, 0x43C2, 0x020C, 0x43B2, 0x0208,
+0x4382, 0x0204, 0x4382, 0x0206, 0x40F2, 0x00C1, 0x0078, 0x40F2, 0x0070,
+0x0079, 0x40F2, 0x00EE, 0x007A, 0xD0F2, 0x0020, 0x007B, 0xC3D2, 0x0078,
+0xC3D2, 0x0079, 0xD232, 0x403C, 0x0E10, 0x12B0, 0xE282, 0xB3D2, 0x005A,
+0x2C04, 0x4482, 0x0160, 0x4303, 0x3C03, 0x42A2, 0x0160, 0x5315, 0x93B2,
+0x0208, 0x27F3, 0x421C, 0x020A, 0x12B0, 0xE324, 0x3FEE, 0x120A, 0x4C0A,
+0x430C, 0x4A0F, 0xF03F, 0x7FFF, 0x4F82, 0x0200, 0x4A0F, 0xE33F, 0x5F0F,
+0x7F0F, 0xF35F, 0x4FC2, 0x0202, 0x90B2, 0x04B0, 0x0200, 0x3819, 0x90B2,
+0x0E11, 0x0200, 0x3415, 0x421F, 0x0200, 0x503F, 0xFB50, 0x4F0C, 0x403E,
+0x0064, 0x12B0, 0xE3A6, 0x4C0E, 0x5E0E, 0x425F, 0x0202, 0x4F4F, 0x5F0E,
+0x4E5F, 0xE001, 0x4F4F, 0x531F, 0x4F82, 0x0172, 0x413A, 0x4130, 0x120F,
+0x120E, 0xB0F2, 0x0010, 0x0020, 0x2C19, 0x9305, 0x2013, 0x425E, 0x020C,
+0x535E, 0x4EC2, 0x020C, 0x926E, 0x2810, 0xD2F2, 0x0021, 0x403F, 0x12CE,
+0x403E, 0x0013, 0x533F, 0x633E, 0x2FFD, 0x43C2, 0x020C, 0x3C04, 0xC2F2,
+0x0021, 0x43C2, 0x020C, 0x4305, 0x413E, 0x413F, 0x1300, 0x120A, 0x4C0A,
+0x421F, 0x0208, 0x831F, 0x2407, 0x831F, 0x2409, 0x831F, 0x240B, 0x831F,
+0x240D, 0x3C0F, 0x4A0C, 0x12B0, 0xE282, 0x3C0B, 0x4A0C, 0x12B0, 0xE3BE,
+0x3C07, 0x4A0C, 0x12B0, 0xE364, 0x3C03, 0x4A0C, 0x12B0, 0xE3EC, 0x43B2,
+0x0208, 0x413A, 0x4130, 0xC3E2, 0x0021, 0xF0F2, 0x003F, 0x0029, 0xB31C,
+0x2804, 0xD0F2, 0x0040, 0x002A, 0x3C03, 0xC0F2, 0x0040, 0x002A, 0xB32C,
+0x2803, 0xD3E2, 0x0022, 0x3C02, 0xC3E2, 0x0022, 0xB22C, 0x2804, 0xD0F2,
+0x0080, 0x002A, 0x4130, 0xC0F2, 0x0080, 0x002A, 0x4130, 0xF37C, 0xF37E,
+0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E, 0x9F0E, 0x2801, 0x8F0E,
+0x6C0C, 0x2BF9, 0x4130, 0x930C, 0x2002, 0x4224, 0x4130, 0x903C, 0x000A,
+0x3404, 0x4C82, 0x0172, 0x4034, 0x0224, 0x4130, 0x120A, 0x8321, 0x4C0A,
+0x4A81, 0x0000, 0x410D, 0x530D, 0x435C, 0x12B0, 0xE41C, 0x3FF8, 0x903C,
+0x5A5A, 0x2007, 0xC3D2, 0x0000, 0xD032, 0x00D8, 0x4303, 0xD3D2, 0x0000,
+0x4130, 0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB,
+0x4130, 0x4030, 0xE3D6, 0x4030, 0xE414, 0x4130, 0xE04C, 0xE2DE, 0xE034,
+};
+
+const uint32_t eZ_FetDcdcControllerV2xImage_address[] =
+{
+0x00001000, 0x0000E000, 0x0000FFE8, 0x0000FFF4, 0x0000FFFE,
+};
+const uint32_t eZ_FetDcdcControllerV2xImage_length_of_sections[] =
+{
+0x00000001, 0x0000020F, 0x00000001, 0x00000001, 0x00000001,
+};
+const uint32_t eZ_FetDcdcControllerV2xImage_sections = 0x00000005;
+const uint32_t eZ_FetDcdcControllerV2xImage_termination = 0x00000000;
+const uint32_t eZ_FetDcdcControllerV2xImage_start = 0x00001000;
+const uint32_t eZ_FetDcdcControllerV2xImage_finish = 0x00010000;
+const uint32_t eZ_FetDcdcControllerV2xImage_length = 0x0000F000;
+
+#define EZ_FETDCDCCONTROLLERV2XIMAGE_TERMINATION 0x00000000
+#define EZ_FETDCDCCONTROLLERV2XIMAGE_START 0x00001000
+#define EZ_FETDCDCCONTROLLERV2XIMAGE_FINISH 0x00010000
+#define EZ_FETDCDCCONTROLLERV2XIMAGE_LENGTH 0x0000F000
+#define EZ_FETDCDCCONTROLLERV2XIMAGE_SECTIONS 0x00000005
diff --git a/Bios/include/eZ_FetHal.h b/Bios/include/eZ_FetHal.h
new file mode 100644
index 0000000..8644427
--- /dev/null
+++ b/Bios/include/eZ_FetHal.h
@@ -0,0 +1,3644 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetHalImage[] =
+{
+0xE080, 0x0000, 0x81FC, 0x0001, 0x8C00, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x4626, 0xBEEF,
+0xBEEF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206, 0x1840,
+0x1207, 0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840, 0x120B,
+0x1840, 0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F, 0x008C,
+0x2706, 0x403E, 0x05F3, 0x403F, 0x0000, 0x13B1, 0xCF26, 0x008C, 0x2400,
+0x018D, 0xD19A, 0x403E, 0x0306, 0x403F, 0x0000, 0x13B1, 0xD0AE, 0x1840,
+0x413F, 0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840, 0x413B,
+0x1840, 0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137, 0x1840,
+0x4136, 0x1840, 0x4135, 0x1840, 0x4134, 0x1880, 0x4070, 0x81FC, 0x147B,
+0x120C, 0x8031, 0x0048, 0x4381, 0x0006, 0x4381, 0x000E, 0x4381, 0x000C,
+0x40B1, 0x0BB8, 0x0004, 0xB31C, 0x2C02, 0x0080, 0xEC9C, 0x410C, 0x503C,
+0x000E, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C,
+0xFFFE, 0x0080, 0xF776, 0x008C, 0x27C2, 0x002F, 0x2C26, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x2404, 0x403C, 0xFFFD, 0x0080, 0xF776, 0x008C, 0x27C8,
+0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFC,
+0x0080, 0xF776, 0x008C, 0x27BE, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x2404, 0x403C, 0xFFFB, 0x0080, 0xF776, 0x008C, 0x27B8, 0x002F,
+0x2C26, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFA, 0x0080,
+0xF776, 0x008C, 0x27C6, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFF9, 0x0080, 0xF776, 0x008C, 0x27C4, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2412, 0x008C, 0x27CC, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2409, 0x008C, 0x27CA, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFF8, 0x0080, 0xF776,
+0x0086, 0x2BD2, 0x06CA, 0x00AA, 0x0008, 0x407C, 0x0088, 0x0A0F, 0x134F,
+0x06CB, 0x00AB, 0x0014, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x4079, 0x0082,
+0x494C, 0x0A0F, 0x134F, 0x06C8, 0x00A8, 0x0030, 0x435C, 0x080F, 0x134F,
+0x403C, 0x0560, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4035, 0x00FC, 0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x06C4, 0x00A4, 0x0010, 0x407C, 0x0024,
+0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x0087, 0x27CE, 0x412E, 0x411F,
+0x0002, 0x4E87, 0x0000, 0x4F87, 0x0002, 0x407C, 0x0088, 0x0A0F, 0x134F,
+0x403C, 0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x0660, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x411E, 0x0002, 0x412F, 0x4E87, 0x0004, 0x4F87, 0x0006, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0960, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x4E87, 0x0008,
+0x4F87, 0x000A, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0860,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F,
+0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0002,
+0x412F, 0x4E87, 0x000C, 0x4F87, 0x000E, 0x407C, 0x0088, 0x0A0F, 0x134F,
+0x403C, 0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x0A60, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x412E, 0x411F, 0x0002, 0x4E87, 0x0010, 0x4F87, 0x0012, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0B60, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x450C, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0002, 0x412F, 0x4E87, 0x0014,
+0x4F87, 0x0016, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x403C, 0x0034, 0x0B0F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0C60,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x450C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F,
+0x4C05, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C,
+0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x450F, 0x4E87,
+0x0018, 0x4F87, 0x001A, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x4077, 0x00C8, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x00A6, 0x0018, 0x403C, 0x0128,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F,
+0x134F, 0x4075, 0x0021, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27EA, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x430D, 0x060F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27EC, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81,
+0x0000, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401,
+0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412F,
+0x1840, 0x4F82, 0x27EE, 0x1840, 0xE0B2, 0x3300, 0x27EA, 0x1840, 0xE0B2,
+0x3300, 0x27EC, 0x1840, 0xE0B2, 0x3300, 0x27EE, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x430D, 0x060F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x403C, 0xA544, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x1840, 0x4291, 0x27C4, 0x0000, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x412C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x416E, 0x1840, 0x9EC2,
+0x27C4, 0x2448, 0x403F, 0x0040, 0x1840, 0xD21F, 0x27C4, 0x4F81, 0x0000,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F,
+0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F,
+0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x410C, 0x503C, 0x0018, 0x403E, 0x000E, 0x13B1, 0xCF56,
+0x1840, 0x4291, 0x27BE, 0x0018, 0x1840, 0x4291, 0x27C0, 0x001A, 0x1840,
+0x4291, 0x27B8, 0x001C, 0x1840, 0x4291, 0x27BA, 0x001E, 0x1840, 0x421E,
+0x27C6, 0x4E81, 0x0020, 0x4381, 0x0022, 0x1840, 0x421E, 0x27C4, 0x4E81,
+0x0024, 0x4381, 0x0026, 0x1840, 0x421E, 0x27CC, 0x4E81, 0x002C, 0x4381,
+0x002E, 0x1840, 0x421E, 0x27CA, 0x4E81, 0x0030, 0x4381, 0x0032, 0x410C,
+0x503C, 0x0018, 0x13B1, 0x4A9E, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C,
+0x0034, 0x040F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x490C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x1840, 0x421E, 0x27C8, 0x4E81, 0x0008, 0x4381,
+0x000A, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0080, 0x4E0C, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C,
+0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x0401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x00A8,
+0x0A0F, 0x134F, 0x431C, 0x1380, 0x2B86, 0x454C, 0x0A0F, 0x134F, 0x430C,
+0x430D, 0x060F, 0x134F, 0x411F, 0x0004, 0x533F, 0x4F81, 0x0004, 0x403E,
+0x0022, 0x1840, 0x521E, 0x27C8, 0x430F, 0x930D, 0x2002, 0x9E0C, 0x280A,
+0x403E, 0x002C, 0x1840, 0x521E, 0x27C8, 0x9D0F, 0x2803, 0x2005, 0x9C0E,
+0x2C03, 0x9381, 0x0004, 0x23DA, 0x1840, 0x421F, 0x27B8, 0x1840, 0xD21F,
+0x27BA, 0x930F, 0x2002, 0x0080, 0xF0DA, 0x9381, 0x0006, 0x2402, 0x0080,
+0xF0DA, 0x9381, 0x0004, 0x2002, 0x0080, 0xF0DA, 0x4037, 0x006C, 0x1840,
+0x5217, 0x27C8, 0x1840, 0x421E, 0x27B8, 0x1840, 0x421F, 0x27BA, 0x5E0E,
+0x6F0F, 0x1840, 0x421A, 0x27C2, 0x2002, 0x9A0E, 0x2802, 0x1840, 0x4A0E,
+0x470F, 0x5E0F, 0x4F81, 0x0000, 0x403E, 0x0068, 0x1840, 0x521E, 0x27C8,
+0x4E81, 0x0008, 0x4381, 0x000A, 0x0086, 0x2BD2, 0x06CA, 0x00AA, 0x0008,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x06C4, 0x00A4, 0x0010, 0x407C, 0x0034,
+0x040F, 0x134F, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x06CB, 0x00AB,
+0x0014, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F, 0xEF4E, 0xEF0E,
+0xF03E, 0x0F00, 0xD03E, 0x0080, 0x4E0C, 0x0B0F, 0x134F, 0x06C8, 0x00A8,
+0x0030, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4075,
+0x0021, 0x454C, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0088,
+0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C8, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x423C, 0x0B0F, 0x134F, 0x3C22, 0x410C, 0x503C, 0x000C, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4C81, 0x0006, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x470C, 0x430D, 0x063F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x411C, 0x000C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x5327, 0x9127, 0x2C03, 0x9381, 0x0006, 0x27D9, 0x434C,
+0x080F, 0x134F, 0x407C, 0x00C8, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x8217,
+0x27C8, 0x5037, 0xFF94, 0x0357, 0x4781, 0x0008, 0x4381, 0x000A, 0x407C,
+0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0086, 0x4E0C, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C,
+0x0008, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x1840, 0x4291, 0x27BE, 0x0008, 0x1840, 0x4291, 0x27C0,
+0x000A, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0008, 0x411F,
+0x000A, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0085,
+0x4E0C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x411C, 0x0008, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x040F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x470E, 0x5E0E, 0x1840, 0x5E82, 0x27BE,
+0x1840, 0x6382, 0x27C0, 0x1840, 0x8782, 0x27B8, 0x1840, 0x7382, 0x27BA,
+0x403E, 0x002E, 0x1840, 0x521E, 0x27C8, 0x4E81, 0x0008, 0x4381, 0x000A,
+0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x040F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E, 0x108F, 0xEF4E,
+0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0080, 0x4E0C, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0008, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0A0F, 0x134F, 0x407C, 0x0024,
+0x040F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A8, 0x0A0F, 0x134F,
+0x40B1, 0x0BB8, 0x0004, 0x431C, 0x1380, 0x2B86, 0x454C, 0x0A0F, 0x134F,
+0x430C, 0x430D, 0x063F, 0x0018, 0x134F, 0x411F, 0x0004, 0x533F, 0x4F81,
+0x0004, 0x403E, 0x0068, 0x1840, 0x521E, 0x27C8, 0x9E0C, 0x2004, 0x930D,
+0x2002, 0x0080, 0xEC9C, 0x930F, 0x23E3, 0x0080, 0xEC9C, 0x0027, 0x2C26,
+0xB3A1, 0x0048, 0x29A1, 0x410C, 0x503C, 0x0010, 0x018E, 0xD0EE, 0x427D,
+0x13B1, 0xCF3E, 0x410B, 0x503B, 0x0034, 0x140B, 0x430F, 0x434E, 0x423D,
+0x410C, 0x503C, 0x0014, 0x0737, 0x001C, 0x1347, 0x403C, 0x0003, 0x002F,
+0x298E, 0x134F, 0x0BCC, 0x002F, 0x2C26, 0x0F3F, 0x0020, 0x134F, 0x008C,
+0x27CE, 0x13B1, 0x4A9E, 0x1840, 0x4215, 0x27EA, 0x0086, 0x2BD2, 0x06CA,
+0x00AA, 0x0008, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x06CB, 0x00AB,
+0x0014, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0030, 0x434C,
+0x080F, 0x134F, 0x4077, 0x00C8, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x06C4, 0x00A4, 0x0010, 0x427C, 0x040F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x00A6, 0x0018, 0x403C, 0x0128, 0x430D,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x450C, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2401, 0x0B0F, 0x134F, 0x4075, 0x0021, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x1840, 0x4291, 0x27EC, 0x0004, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x430D, 0x060F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x1840, 0x4291, 0x27EE, 0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401,
+0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81,
+0x0004, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401,
+0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x415E,
+0x0004, 0x5221, 0x1840, 0x9EC2, 0x27EE, 0x2448, 0x403F, 0x0040, 0x1840,
+0xD21F, 0x27EE, 0x4F81, 0x0000, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x412C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x421C, 0x27BC,
+0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x3DA6, 0x9391, 0x0006, 0x2008,
+0x407C, 0x0091, 0x073F, 0x0024, 0x134F, 0x4381, 0x0006, 0x3D9B, 0x410C,
+0x503C, 0x0010, 0x018E, 0xD0F6, 0x427D, 0x13B1, 0xCF3E, 0x410B, 0x503B,
+0x0034, 0x140B, 0x430F, 0x434E, 0x423D, 0x410C, 0x503C, 0x0014, 0x0737,
+0x001C, 0x1347, 0x403C, 0x0003, 0x002F, 0x298E, 0x134F, 0x0BCC, 0x002F,
+0x2C26, 0x0F3F, 0x0020, 0x134F, 0x008C, 0x27CE, 0x13B1, 0x4A9E, 0x1840,
+0x4215, 0x27EA, 0x0086, 0x2BD2, 0x06CA, 0x00AA, 0x0008, 0x4079, 0x0082,
+0x494C, 0x0A0F, 0x134F, 0x06CB, 0x00AB, 0x0014, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x06C8, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x4077, 0x00C8,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x06C4,
+0x00A4, 0x0010, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x00A6, 0x0018, 0x403C, 0x0128, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x450C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x4075, 0x0021, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840,
+0x4291, 0x27EC, 0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012A, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x411C, 0x0004, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x4291, 0x27EE,
+0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012C, 0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C,
+0x0004, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x430D, 0x060F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0004, 0x434C, 0x080F, 0x134F,
+0x474C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x415E, 0x0004, 0x5221, 0x1840, 0x9EC2,
+0x27EE, 0x2448, 0x403F, 0x0040, 0x1840, 0xD21F, 0x27EE, 0x4F81, 0x0000,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F,
+0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x474C, 0x0A0F,
+0x134F, 0x403C, 0x2401, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x40B1, 0xFFF6, 0x0006, 0x411C, 0x0006, 0x5031, 0x004A,
+0x1674, 0x0110, 0x147B, 0x8031, 0x0012, 0x4305, 0x4381, 0x0004, 0x434B,
+0x410C, 0x532C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFDA, 0x0080, 0xFDB8, 0x410C, 0x530C, 0x002F, 0x2C26, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFD9, 0x0080, 0xFDB8, 0x410D,
+0x503D, 0x0006, 0x403C, 0xAA01, 0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2402, 0x013B, 0x0006, 0x03DB, 0x2402, 0x438B, 0x0000, 0x008A,
+0x2BD2, 0x0ACB, 0x00AB, 0x0008, 0x4077, 0x00C8, 0x474C, 0x0B0F, 0x134F,
+0x0AC8, 0x00A8, 0x0014, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x907C, 0x0089, 0x2404, 0x403C, 0xFFD0, 0x0080, 0xFDB8,
+0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C04, 0x0AC9,
+0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0xB034, 0x0200, 0x2C5C, 0x407C,
+0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034, 0x0A3F, 0x0010, 0x134F, 0x407C,
+0x00B0, 0x0B0F, 0x134F, 0x0AC6, 0x00A6, 0x001C, 0x403C, 0x0089, 0x430D,
+0x060F, 0x134F, 0x430C, 0x430D, 0x060F, 0x134F, 0x4C04, 0x407C, 0x00B0,
+0x0B0F, 0x134F, 0x403C, 0x0088, 0x430D, 0x060F, 0x134F, 0xD034, 0x0040,
+0x440C, 0x430D, 0x060F, 0x134F, 0x4C04, 0x407C, 0x00B0, 0x0B0F, 0x134F,
+0x403C, 0x0088, 0x430D, 0x060F, 0x134F, 0xF034, 0xFFBF, 0x440C, 0x430D,
+0x060F, 0x134F, 0x4036, 0x0032, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401,
+0x080F, 0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x5336, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02, 0x9306, 0x23F5, 0x9306,
+0x2402, 0x4C81, 0x0004, 0x9381, 0x0004, 0x2004, 0x403C, 0xFFDB, 0x0080,
+0xFDB8, 0xB3A1, 0x0004, 0x280E, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x3C07,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x4303, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4306, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x0AC4, 0x00A4, 0x0010,
+0x435C, 0x040F, 0x134F, 0x435C, 0x090F, 0x134F, 0x3C07, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x5316, 0x9036, 0x000A, 0x2C13, 0x407C,
+0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0xF07C, 0x0081, 0x907C,
+0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E5, 0x430F, 0x3C01,
+0x433F, 0x930F, 0x20D2, 0x1840, 0x93A2, 0x2890, 0x2023, 0x1840, 0x9382,
+0x2892, 0x201F, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x0AC6, 0x00A6, 0x001C,
+0x403C, 0x0082, 0x430D, 0x060F, 0x134F, 0x403C, 0x000F, 0x430D, 0x060F,
+0x134F, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x403C, 0x0082, 0x430D, 0x060F,
+0x134F, 0x403C, 0x000C, 0x430D, 0x060F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x2C01, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2C01, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F,
+0x134F, 0x403C, 0x0401, 0x080F, 0x134F, 0x407C, 0x0098, 0x0B0F, 0x134F,
+0x403C, 0x0080, 0x080F, 0x134F, 0x403C, 0x0880, 0x080F, 0x134F, 0x403C,
+0x0080, 0x080F, 0x134F, 0x403C, 0x0880, 0x080F, 0x134F, 0x407C, 0x0088,
+0x0B0F, 0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x3C07, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x5315, 0x9035, 0x000A, 0x2C0F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x903C,
+0xFFFE, 0x2403, 0x903C, 0x0F00, 0x23E7, 0x9035, 0x000A, 0x2446, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x4075, 0x0021, 0x454C, 0x0B0F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4306, 0x407C,
+0x0048, 0x0B0F, 0x134F, 0x435C, 0x040F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x3C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x5316, 0x9036,
+0x000A, 0x2C13, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F,
+0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F,
+0x23E5, 0x430F, 0x3C01, 0x433F, 0x930F, 0x2403, 0x403C, 0xFFD1, 0x3D30,
+0x4191, 0x0002, 0x0006, 0x4381, 0x0008, 0x407C, 0x0082, 0x0B0F, 0x134F,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x411C, 0x0006, 0x411D,
+0x0008, 0xF03D, 0x000F, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C06, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x2401, 0x080F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4681, 0x000A, 0x464F, 0xD12F, 0x4F81, 0x0000, 0x4F06, 0x4191, 0x0002,
+0x0006, 0x4381, 0x0008, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0048, 0x0B0F, 0x134F, 0x427C, 0x040F, 0x134F, 0x407C, 0x00C1,
+0x0B0F, 0x134F, 0x411C, 0x0006, 0x411D, 0x0008, 0xF03D, 0x000F, 0x0A3F,
+0x0018, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F, 0x460C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x403C, 0x2401, 0x080F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F,
+0x4C81, 0x000C, 0x4D81, 0x000E, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C,
+0x0034, 0x040F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x403C, 0x0080,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x0C04, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x454C, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0088, 0x0B0F,
+0x134F, 0x407C, 0x0024, 0x040F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x0088, 0x0B0F, 0x134F, 0x403C, 0x0034, 0x080F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x0260, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x00FC, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C07, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x040F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4781, 0x0010, 0x423D, 0x410C, 0x503C,
+0x000A, 0x002F, 0x2C26, 0x0F3F, 0x000C, 0x134F, 0x430C, 0x5031, 0x0012,
+0x1674, 0x0110, 0x141B, 0x407C, 0x0086, 0x1380, 0x2BDA, 0x008B, 0x2BE6,
+0x430C, 0x0B0F, 0x134F, 0xB23C, 0x280E, 0x403C, 0x0014, 0x0B0F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C0A, 0x430C, 0x0B0F, 0x134F, 0x4C0D, 0x4A0C,
+0x3C02, 0x430C, 0x430D, 0x161A, 0x0110, 0x430C, 0x0110, 0x147B, 0x120C,
+0x8031, 0x0034, 0x4381, 0x0004, 0x4381, 0x0008, 0x4381, 0x0006, 0x40B1,
+0x0BB8, 0x0002, 0xB31C, 0x2C02, 0x0180, 0x0A44, 0x410C, 0x523C, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFE, 0x0180,
+0x1412, 0x008C, 0x2710, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFD, 0x0180, 0x1412, 0x008C, 0x2716, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFC, 0x0180, 0x1412,
+0x008C, 0x270C, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFFB, 0x0180, 0x1412, 0x008C, 0x2706, 0x002F, 0x2C26, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFA, 0x0180, 0x1412, 0x008C,
+0x2714, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C,
+0xFFF9, 0x0180, 0x1412, 0x008C, 0x2712, 0x002F, 0x2C26, 0x0F3F, 0x002C,
+0x134F, 0x933C, 0x2412, 0x008C, 0x271A, 0x002F, 0x2C26, 0x0F3F, 0x002C,
+0x134F, 0x933C, 0x2409, 0x008C, 0x2718, 0x002F, 0x2C26, 0x0F3F, 0x002C,
+0x134F, 0x933C, 0x2004, 0x403C, 0xFFF8, 0x0180, 0x1412, 0x0087, 0x2BD2,
+0x07CA, 0x00AA, 0x0008, 0x407B, 0x00C8, 0x4B4C, 0x0A0F, 0x134F, 0x07C8,
+0x00A8, 0x0014, 0x403C, 0x3401, 0x080F, 0x134F, 0x4079, 0x0082, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x4582, 0x080F, 0x134F, 0x07C6, 0x00A6, 0x0030,
+0x434C, 0x060F, 0x134F, 0x4075, 0x0042, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x4034,
+0x2401, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x271C, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x4682, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x271E, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4982, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x2720, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x4882, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x2722, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x4A82, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x2724, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4B82, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x2726, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F,
+0x403C, 0x4C82, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x00FE,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x2728, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x0128, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x412F, 0x1840, 0x4F82, 0x272A, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x272C, 0x494C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x412F, 0x1840,
+0x4F82, 0x272E, 0x1840, 0xE0B2, 0x3300, 0x272A, 0x1840, 0xE0B2, 0x3300,
+0x272C, 0x1840, 0xE0B2, 0x3300, 0x272E, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x403C, 0xA544, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x1840,
+0x4291, 0x2712, 0x0000, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x412C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x416E, 0x1840, 0x9EC2, 0x2712, 0x2448,
+0x403F, 0x0040, 0x1840, 0xD21F, 0x2712, 0x4F81, 0x0000, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F,
+0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x410C, 0x503C, 0x0012, 0x403E, 0x0007, 0x13B1, 0xCF56, 0x1840, 0x4291,
+0x270C, 0x0012, 0x1840, 0x4291, 0x2706, 0x0014, 0x1840, 0x4291, 0x2714,
+0x0016, 0x1840, 0x4291, 0x2712, 0x0018, 0x1840, 0x4291, 0x271A, 0x001C,
+0x1840, 0x4291, 0x2718, 0x001E, 0x410C, 0x503C, 0x0012, 0x13B1, 0x6198,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x4032, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x1840, 0x421F, 0x2890, 0x1840, 0xD21F, 0x2892,
+0x930F, 0x240F, 0x1840, 0x9382, 0x2894, 0x240B, 0x407C, 0x0090, 0x0A0F,
+0x134F, 0x403C, 0x0088, 0x080F, 0x134F, 0x431C, 0x080F, 0x134F, 0x1840,
+0x4217, 0x2716, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x470C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x0401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x407C, 0x00A8,
+0x0A0F, 0x134F, 0x431C, 0x1380, 0x2B86, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x411F, 0x0002, 0x533F, 0x4F81, 0x0002, 0x403F,
+0x0020, 0x1840, 0x521F, 0x2716, 0x9F0C, 0x2807, 0x403F, 0x0026, 0x1840,
+0x521F, 0x2716, 0x9C0F, 0x2C03, 0x9381, 0x0002, 0x23E0, 0x1840, 0x421F,
+0x2706, 0x1840, 0xD21F, 0x2708, 0x930F, 0x25A7, 0x9381, 0x0004, 0x21A4,
+0x9381, 0x0002, 0x25A1, 0x4035, 0x0060, 0x1840, 0x5215, 0x2716, 0x1840,
+0x421E, 0x2706, 0x1840, 0x421F, 0x2708, 0x5E0E, 0x6F0F, 0x1840, 0x421A,
+0x2710, 0x2002, 0x9A0E, 0x2802, 0x1840, 0x4A0E, 0x450F, 0x5E0F, 0x4F81,
+0x0000, 0x4034, 0x005C, 0x1840, 0x5214, 0x2716, 0x0086, 0x2BD2, 0x06CA,
+0x00AA, 0x0008, 0x407B, 0x00C8, 0x4B4C, 0x0A0F, 0x134F, 0x06C8, 0x00A8,
+0x0014, 0x403C, 0x3401, 0x080F, 0x134F, 0x4079, 0x0082, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x00A6, 0x0030, 0x434C, 0x060F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x440C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x4034, 0x2401, 0x440C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2408, 0x080F, 0x134F, 0x3C20, 0x410C,
+0x503C, 0x0006, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4C81, 0x0004,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x411C, 0x0006, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x5325, 0x9125, 0x2C03, 0x9381, 0x0004, 0x27DB,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x1840, 0x8215,
+0x2716, 0x5035, 0xFFA0, 0x0355, 0x4507, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4036, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4075, 0x0042, 0x454C, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x470C, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x1840, 0x4291, 0x270C, 0x0000, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4035, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x470E,
+0x5E0E, 0x1840, 0x5E82, 0x270C, 0x1840, 0x6382, 0x270E, 0x1840, 0x8782,
+0x2706, 0x1840, 0x7382, 0x2708, 0x4037, 0x0028, 0x1840, 0x5217, 0x2716,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x470C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x407C, 0x00A8, 0x0A0F, 0x134F, 0x40B1, 0x0BB8, 0x0002, 0x431C, 0x1380,
+0x2B86, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x411F,
+0x0002, 0x533F, 0x4F81, 0x0002, 0x403F, 0x005C, 0x1840, 0x521F, 0x2716,
+0x9F0C, 0x2655, 0x9381, 0x0002, 0x23E7, 0x3E51, 0x0027, 0x2C26, 0xB3A1,
+0x0034, 0x2996, 0x410C, 0x503C, 0x000A, 0x018E, 0xD0D6, 0x427D, 0x13B1,
+0xCF3E, 0x410B, 0x503B, 0x0020, 0x140B, 0x430F, 0x434E, 0x423D, 0x410C,
+0x503C, 0x000E, 0x0737, 0x001C, 0x1347, 0x403C, 0x0003, 0x002F, 0x2910,
+0x134F, 0x0BCC, 0x002F, 0x2C26, 0x0F3F, 0x0020, 0x134F, 0x008C, 0x271C,
+0x13B1, 0x6198, 0x1840, 0x4214, 0x272A, 0x0087, 0x2BD2, 0x07CA, 0x00AA,
+0x0008, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x07C8, 0x00A8, 0x0014,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x07C6, 0x00A6, 0x0030, 0x434C, 0x060F,
+0x134F, 0x407B, 0x00C8, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048,
+0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x0128, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x4034, 0x2401, 0x440C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x1840, 0x4215, 0x272C,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F,
+0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C,
+0x012A, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x0085, 0x272E, 0x1840, 0x45A1, 0x0004, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F,
+0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F,
+0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0004, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x415E, 0x0004, 0x5221, 0x9EC5, 0x0000, 0x2445, 0x403F, 0x0040, 0xD52F,
+0x4F05, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x1840, 0x421C, 0x270A, 0x002F, 0x2C26, 0x0F3F,
+0x0010, 0x134F, 0x3D9B, 0x9391, 0x0004, 0x2008, 0x407C, 0x0091, 0x073F,
+0x0024, 0x134F, 0x4381, 0x0004, 0x3D90, 0x410C, 0x503C, 0x000A, 0x018E,
+0xD0DE, 0x427D, 0x13B1, 0xCF3E, 0x410B, 0x503B, 0x0020, 0x140B, 0x430F,
+0x434E, 0x423D, 0x410C, 0x503C, 0x000E, 0x0737, 0x001C, 0x1347, 0x403C,
+0x0003, 0x002F, 0x2910, 0x134F, 0x0BCC, 0x002F, 0x2C26, 0x0F3F, 0x0020,
+0x134F, 0x008C, 0x271C, 0x13B1, 0x6198, 0x1840, 0x4214, 0x272A, 0x0087,
+0x2BD2, 0x07CA, 0x00AA, 0x0008, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F,
+0x07C8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x07C6, 0x00A6,
+0x0030, 0x434C, 0x060F, 0x134F, 0x407B, 0x00C8, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x0128, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x4034, 0x2401, 0x440C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x1840, 0x4215, 0x272C, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x0085, 0x272E, 0x1840, 0x45A1,
+0x0004, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C,
+0x0004, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0004, 0x434C, 0x060F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x415E, 0x0004, 0x5221, 0x9EC5, 0x0000, 0x2445,
+0x403F, 0x0040, 0xD52F, 0x4F05, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x40B1, 0xFFF6, 0x0004,
+0x411C, 0x0004, 0x5031, 0x0036, 0x1674, 0x0110, 0x147B, 0x120C, 0x8031,
+0x0034, 0x4381, 0x0004, 0x4381, 0x0008, 0x4381, 0x0006, 0x40B1, 0x0BB8,
+0x0002, 0x4304, 0xB31C, 0x2C02, 0x0180, 0x2142, 0x008B, 0x2C26, 0x410C,
+0x523C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFE,
+0x0180, 0x2544, 0x008C, 0x2798, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFD, 0x0180, 0x2544, 0x008C, 0x279E, 0x0B0F, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFC, 0x0180, 0x2544, 0x008C,
+0x2794, 0x0B0F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFB,
+0x0180, 0x2544, 0x008C, 0x2790, 0x0B0F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFA, 0x0180, 0x2544, 0x008C, 0x279C, 0x0B0F, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFF9, 0x0180, 0x2544, 0x008C,
+0x279A, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2410, 0x008C, 0x27A2,
+0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x2408, 0x008C, 0x27A0, 0x0B0F,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFF8, 0x0180, 0x2544,
+0x0087, 0x2BD2, 0x07CA, 0x00AA, 0x0008, 0x407B, 0x0082, 0x4B4C, 0x0A0F,
+0x134F, 0x07C8, 0x00A8, 0x0014, 0x403C, 0x4030, 0x080F, 0x134F, 0x07C9,
+0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x403C,
+0x0C04, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x3C4B, 0x440F, 0x5F0F, 0x1840, 0x521F, 0x279E, 0x4F81, 0x0000, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x412C,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x440E, 0x0EEE,
+0x1840, 0x4F8E, 0x2730, 0x5314, 0x4035, 0x2401, 0x4076, 0x00C8, 0x9034,
+0x0030, 0x3BAE, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4582, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x4074, 0x0042, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27A4, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x4682, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27A6, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x4982, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27A8, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4882, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27AA, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x4A82, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27AC, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x4B82, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27AE, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4C82, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27B0, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x0128,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82,
+0x27B2, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x412F, 0x1840, 0x4F82, 0x27B4, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x412F, 0x1840, 0x4F82, 0x27B6, 0x1840, 0xE0B2,
+0x3300, 0x27B2, 0x1840, 0xE0B2, 0x3300, 0x27B4, 0x1840, 0xE0B2, 0x3300,
+0x27B6, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F,
+0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F,
+0x403C, 0x012A, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x403C,
+0xA544, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x1840, 0x4291, 0x279A, 0x0000, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C,
+0x073F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F,
+0x4C81, 0x0000, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x416E, 0x1840, 0x9EC2, 0x279A, 0x2448, 0x403F, 0x0040, 0x1840, 0xD21F,
+0x279A, 0x4F81, 0x0000, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x073F, 0x0010, 0x134F, 0x407C, 0x00C1,
+0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F,
+0x134F, 0x412C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x410C, 0x503C, 0x000A, 0x403E,
+0x0007, 0x13B1, 0xCF56, 0x1840, 0x4291, 0x2794, 0x000A, 0x1840, 0x4291,
+0x2790, 0x000C, 0x1840, 0x4291, 0x279C, 0x000E, 0x1840, 0x4291, 0x279A,
+0x0010, 0x1840, 0x4291, 0x27A2, 0x0014, 0x1840, 0x4291, 0x27A0, 0x0016,
+0x410C, 0x503C, 0x000A, 0x13B1, 0x6588, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4032, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C,
+0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1840,
+0x421F, 0x2890, 0x1840, 0xD21F, 0x2892, 0x930F, 0x240F, 0x1840, 0x9382,
+0x2894, 0x240B, 0x407C, 0x0090, 0x0A0F, 0x134F, 0x403C, 0x0088, 0x080F,
+0x134F, 0x431C, 0x080F, 0x134F, 0x1840, 0x4217, 0x279E, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x470C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x00A8, 0x0A0F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x431C, 0x1380,
+0x2B86, 0x430C, 0x080F, 0x134F, 0x411F, 0x0002, 0x533F, 0x4F81, 0x0002,
+0x403F, 0x0020, 0x1840, 0x521F, 0x279E, 0x9F0C, 0x2807, 0x403F, 0x0026,
+0x1840, 0x521F, 0x279E, 0x9C0F, 0x2C03, 0x9381, 0x0002, 0x23E4, 0x1840,
+0x421C, 0x279E, 0x13B1, 0xA056, 0x3D22, 0x410C, 0x503C, 0x0006, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4C81, 0x0004, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x440C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x411C,
+0x0006, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x5324, 0x9504, 0x2C03, 0x9381, 0x0004, 0x27DB, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1840, 0x8214, 0x279E, 0x5034,
+0xFFA0, 0x0354, 0x4407, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4036, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x4074, 0x0042, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x470C, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C,
+0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x1840, 0x4215, 0x2794, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x4035, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C,
+0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C,
+0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x470E, 0x5E0E,
+0x1840, 0x5E82, 0x2794, 0x1840, 0x6382, 0x2796, 0x1840, 0x8782, 0x2790,
+0x1840, 0x7382, 0x2792, 0x4037, 0x0028, 0x1840, 0x5217, 0x279E, 0x4B4C,
+0x0A0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x470C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00A8, 0x0A0F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x40B1,
+0x0BB8, 0x0002, 0x431C, 0x1380, 0x2B86, 0x430C, 0x080F, 0x134F, 0x411F,
+0x0002, 0x533F, 0x4F81, 0x0002, 0x403F, 0x005C, 0x1840, 0x521F, 0x279E,
+0x9F0C, 0x2403, 0x9381, 0x0002, 0x23EB, 0x1840, 0x421C, 0x279E, 0x13B1,
+0xA056, 0x9381, 0x0002, 0x2003, 0x40B1, 0xFFF7, 0x0004, 0x1840, 0x421F,
+0x2790, 0x1840, 0xD21F, 0x2792, 0x930F, 0x244A, 0x9381, 0x0004, 0x2047,
+0x9381, 0x0002, 0x2444, 0x4034, 0x0060, 0x1840, 0x5214, 0x279E, 0x1840,
+0x421E, 0x2790, 0x1840, 0x421F, 0x2792, 0x5E0E, 0x6F0F, 0x1840, 0x421A,
+0x2798, 0x2002, 0x9A0E, 0x2802, 0x1840, 0x4A0E, 0x4405, 0x5E05, 0x0089,
+0x2BD2, 0x09CA, 0x00AA, 0x0008, 0x407B, 0x0082, 0x4B4C, 0x0A0F, 0x134F,
+0x09C8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x4076, 0x00C8, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x2408, 0x080F, 0x134F, 0x3EAC, 0xB3A1,
+0x0034, 0x2C03, 0x9391, 0x0004, 0x258D, 0x410C, 0x503C, 0x0018, 0x018E,
+0xD0E6, 0x427D, 0x13B1, 0xCF3E, 0x410B, 0x503B, 0x0020, 0x140B, 0x430F,
+0x434E, 0x423D, 0x410C, 0x503C, 0x001C, 0x0027, 0x2C26, 0x0737, 0x001C,
+0x1347, 0x403C, 0x0003, 0x002F, 0x2910, 0x134F, 0x0BCC, 0x002F, 0x2C26,
+0x0F3F, 0x0020, 0x134F, 0x008C, 0x27A4, 0x13B1, 0x6588, 0x1840, 0x4214,
+0x27B2, 0x0087, 0x2BD2, 0x07CA, 0x00AA, 0x0008, 0x407B, 0x0082, 0x4B4C,
+0x0A0F, 0x134F, 0x07C8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F,
+0x07C9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x4076, 0x00C8, 0x464C,
+0x0A0F, 0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x00A7, 0x0010,
+0x427C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x0128,
+0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x4035, 0x2401, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x1840, 0x4214, 0x27B4, 0x4B4C, 0x0A0F, 0x134F,
+0x403C, 0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x070F, 0x134F,
+0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012A, 0x080F, 0x134F, 0x407C,
+0x00A1, 0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x0084, 0x27B6,
+0x1840, 0x44A1, 0x0004, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x0048, 0x0A0F, 0x134F, 0x427C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0A0F,
+0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x411C, 0x0004, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F,
+0x407C, 0x00A1, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x4C81, 0x0004, 0x434C, 0x090F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x415E, 0x0004, 0x5221, 0x9EC4, 0x0000,
+0x2444, 0x403F, 0x0040, 0xD42F, 0x4F04, 0x4B4C, 0x0A0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0048, 0x0A0F, 0x134F, 0x427C, 0x070F, 0x134F, 0x407C,
+0x00C1, 0x0A0F, 0x134F, 0x403C, 0x012C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0A0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x435C, 0x090F, 0x134F, 0xB3A1, 0x0034, 0x2807,
+0x430C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x3C10, 0x9391, 0x0004,
+0x200A, 0x407C, 0x0091, 0x002F, 0x2C26, 0x0F3F, 0x0024, 0x134F, 0x4381,
+0x0004, 0x3C03, 0x40B1, 0xFFF6, 0x0004, 0x411C, 0x0004, 0x5031, 0x0036,
+0x1674, 0x0110, 0x147B, 0x8031, 0x002E, 0x4381, 0x0016, 0x4381, 0x0018,
+0x4381, 0x0004, 0x4381, 0x0000, 0x4381, 0x001A, 0x4381, 0x001C, 0x410D,
+0x503D, 0x0006, 0x403C, 0xAA01, 0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2403, 0x013F, 0x0006, 0x3C01, 0x434F, 0x03DF, 0x2402, 0x438F,
+0x0000, 0x0085, 0x2BD2, 0x05CA, 0x00AA, 0x0014, 0x05CB, 0x00AB, 0x0008,
+0x0088, 0x2878, 0x9388, 0x0010, 0x2412, 0x407C, 0x00F4, 0x0B0F, 0x134F,
+0x481C, 0x0012, 0x0A0F, 0x134F, 0xC81C, 0x0010, 0xD81C, 0x0016, 0x0A0F,
+0x134F, 0x403C, 0x0014, 0x1380, 0x2B86, 0x482F, 0xD81F, 0x0002, 0x930F,
+0x2416, 0x407C, 0x0054, 0x0B0F, 0x134F, 0x481C, 0x0004, 0x481D, 0x0006,
+0x053F, 0x001C, 0x134F, 0x481C, 0x000C, 0x481D, 0x000E, 0x053F, 0x001C,
+0x134F, 0x403C, 0x0014, 0x1380, 0x2B86, 0x407C, 0x00D0, 0x0B0F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x4074, 0x0028, 0x934C, 0x38CB, 0x444C, 0x0B0F,
+0x134F, 0x430C, 0x0A0F, 0x134F, 0xB03C, 0x0020, 0x2CC2, 0x407C, 0x00B0,
+0x0B0F, 0x134F, 0x05C8, 0x00A8, 0x001C, 0x431C, 0x430D, 0x080F, 0x134F,
+0x430C, 0x430D, 0x080F, 0x134F, 0x4C81, 0x0006, 0x4D81, 0x0008, 0x403C,
+0x0003, 0x430D, 0x080F, 0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x4C81,
+0x002A, 0x4D81, 0x002C, 0x403C, 0x0005, 0x430D, 0x080F, 0x134F, 0x430C,
+0x430D, 0x080F, 0x134F, 0x4C81, 0x0026, 0x4D81, 0x0028, 0x403C, 0x0007,
+0x430D, 0x080F, 0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x4C81, 0x0022,
+0x4D81, 0x0024, 0x403C, 0x0081, 0x430D, 0x080F, 0x134F, 0x430C, 0x430D,
+0x080F, 0x134F, 0x4C81, 0x001E, 0x4D81, 0x0020, 0x432C, 0x430D, 0x080F,
+0x134F, 0x430C, 0x430D, 0x080F, 0x134F, 0x422C, 0x430D, 0x080F, 0x134F,
+0x433C, 0x403D, 0x000F, 0x080F, 0x134F, 0x403C, 0x0006, 0x430D, 0x080F,
+0x134F, 0x431C, 0x430D, 0x080F, 0x134F, 0x403C, 0x0080, 0x430D, 0x080F,
+0x134F, 0x431C, 0x430D, 0x080F, 0x134F, 0x403C, 0x0088, 0x430D, 0x080F,
+0x134F, 0x403C, 0x000E, 0x430D, 0x080F, 0x134F, 0x407C, 0x0030, 0x0B0F,
+0x134F, 0x403C, 0x0007, 0x0A0F, 0x134F, 0x4309, 0x407C, 0x00D0, 0x0B0F,
+0x134F, 0x5319, 0x430C, 0x0A0F, 0x134F, 0x934C, 0x3803, 0x9039, 0x0BB8,
+0x3BF3, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x080F, 0x134F,
+0x411C, 0x0006, 0x411D, 0x0008, 0x080F, 0x134F, 0x432C, 0x430D, 0x080F,
+0x134F, 0x411C, 0x002A, 0x411D, 0x002C, 0x080F, 0x134F, 0x422C, 0x430D,
+0x080F, 0x134F, 0x411C, 0x0026, 0x411D, 0x0028, 0x080F, 0x134F, 0x403C,
+0x0006, 0x430D, 0x080F, 0x134F, 0x411C, 0x0022, 0x411D, 0x0024, 0x080F,
+0x134F, 0x403C, 0x0080, 0x430D, 0x080F, 0x134F, 0x411C, 0x001E, 0x411D,
+0x0020, 0x080F, 0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x403C, 0x0005,
+0x0A0F, 0x134F, 0x4038, 0x0032, 0x4079, 0x00C8, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x1501, 0x0A0F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0x5338, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02, 0x9308, 0x23F5,
+0x407C, 0x0030, 0x0B0F, 0x134F, 0x403C, 0x0007, 0x0A0F, 0x134F, 0x403C,
+0x0006, 0x0A0F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x1501, 0x0A0F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x05C8, 0x00A8,
+0x0030, 0xB23C, 0x2C0D, 0x3C1F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0xB23C, 0x2811,
+0x411C, 0x001A, 0x411D, 0x001C, 0x4C0E, 0x4D0F, 0x531E, 0x630F, 0x4E81,
+0x001A, 0x4F81, 0x001C, 0x930D, 0x2003, 0x903C, 0x7530, 0x2BE1, 0x444C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0xB03C,
+0x0100, 0x7646, 0x5356, 0x435C, 0x080F, 0x134F, 0x411E, 0x0016, 0x411F,
+0x0018, 0x531E, 0x630F, 0x4E81, 0x0016, 0x4F81, 0x0018, 0x9346, 0x2005,
+0x930F, 0x2003, 0x903E, 0x2710, 0x2BE2, 0x494C, 0x0B0F, 0x134F, 0x403C,
+0x0501, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x00A5, 0x0018, 0x430C, 0x430D, 0x050F,
+0x134F, 0x4C06, 0x4D07, 0x444C, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x4C0F, 0xF22F, 0x4F81, 0x000A, 0xB03C, 0x0020, 0x2804, 0x5036, 0xFFFE,
+0x6337, 0x3C03, 0x5036, 0xFFFC, 0x6337, 0x9036, 0xFFFE, 0x2028, 0x434C,
+0x080F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x403C, 0xFFFE, 0x430D,
+0x050F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C07, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4781, 0x000E,
+0x4381, 0x0010, 0x3C04, 0x4681, 0x000E, 0x4781, 0x0010, 0x407C, 0x0030,
+0x0B0F, 0x134F, 0x403C, 0x000E, 0x0A0F, 0x134F, 0x444C, 0x0B0F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x410C, 0x522C, 0x002F, 0x2C26, 0x0F3F, 0x002C,
+0x134F, 0x410C, 0x530C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4116,
+0x0004, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x460C,
+0x430D, 0x050F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C07, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4781,
+0x000C, 0x474F, 0xD12F, 0x4F81, 0x0000, 0x4F81, 0x0002, 0x4116, 0x0004,
+0x434C, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x0500, 0x0A0F,
+0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x460C, 0x430D, 0x050F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F, 0x411C, 0x0002,
+0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C,
+0x0501, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x4C4C, 0x903C, 0x0098,
+0x2403, 0x4036, 0x018C, 0x3C02, 0x4036, 0x014C, 0x434C, 0x080F, 0x134F,
+0x4074, 0x0082, 0x444C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C,
+0x0260, 0x0A0F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x1401, 0x0A0F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x0087, 0x2B3E, 0x9387, 0x0000, 0x2405, 0x403C, 0x0FF6, 0x0A0F,
+0x134F, 0x3C03, 0x460C, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x9387, 0x0000, 0x2407, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F,
+0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C,
+0x0A0F, 0x134F, 0x4C06, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x9387, 0x0000, 0x2007, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4681, 0x0012,
+0x434C, 0x080F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x440C, 0x0A0F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x1401, 0x0A0F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x460C, 0xF03C, 0xFFE7, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x0A0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0B0F, 0x134F, 0x430C, 0x430D, 0x050F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4191, 0x000A, 0x0014, 0x403D,
+0x000A, 0x410C, 0x503C, 0x000C, 0x002F, 0x2C26, 0x0F3F, 0x000C, 0x134F,
+0x430C, 0x5031, 0x002E, 0x1674, 0x0110, 0x147B, 0x8031, 0x003C, 0x4C05,
+0x4381, 0x0012, 0x4381, 0x0014, 0x4381, 0x0016, 0x4381, 0x0010, 0x4381,
+0x000E, 0x4304, 0xB31C, 0x290A, 0x0088, 0x2C26, 0x410C, 0x503C, 0x0012,
+0x080F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFE, 0x0180,
+0x32E8, 0x432C, 0x080F, 0x0F3F, 0x0038, 0x134F, 0x410C, 0x503C, 0x000C,
+0x080F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFC, 0x0180,
+0x32E8, 0x410C, 0x503C, 0x0014, 0x080F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFFB, 0x0180, 0x32E8, 0x0087, 0x27F0, 0x07CC, 0x080F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFFA, 0x0180, 0x32E8,
+0x410C, 0x503C, 0x000E, 0x080F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFF9, 0x0180, 0x32E8, 0x410C, 0x503C, 0x0010, 0x080F, 0x0F3F,
+0x002C, 0x134F, 0x933C, 0x2407, 0x422C, 0x080F, 0x0F3F, 0x0038, 0x134F,
+0x933C, 0x2004, 0x403C, 0xFFF8, 0x0180, 0x32E8, 0x4191, 0x0014, 0x0018,
+0x4191, 0x0016, 0x001A, 0x1840, 0x47A1, 0x001C, 0x1840, 0x4791, 0x0002,
+0x001E, 0x4191, 0x000E, 0x0020, 0x4381, 0x0022, 0x4191, 0x0010, 0x0024,
+0x4381, 0x0026, 0x410C, 0x503C, 0x0018, 0x13B1, 0x7070, 0x4118, 0x000C,
+0x0086, 0x2BD2, 0x06CB, 0x00AB, 0x0008, 0x407C, 0x0028, 0x0B0F, 0x134F,
+0x06CA, 0x00AA, 0x0014, 0x430C, 0x0A0F, 0x134F, 0x06C9, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x403C, 0x0080, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x0A0F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x480C,
+0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x4303, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x063F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0401, 0x0A0F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x407C, 0x00A8, 0x0B0F, 0x134F, 0x430A, 0x430B,
+0x403C, 0x0005, 0x1380, 0x2B86, 0x531A, 0x630B, 0x13B0, 0xFDC0, 0x903C,
+0xBABE, 0x2003, 0x903D, 0xABAD, 0x2405, 0x930B, 0x2003, 0x903A, 0x012C,
+0x2BED, 0x930B, 0x2003, 0x903A, 0x012C, 0x2802, 0x4034, 0xFFF7, 0xB397,
+0x0000, 0x2810, 0x53B7, 0x0000, 0x63B7, 0x0002, 0x1840, 0x4392, 0x2806,
+0x3C08, 0x008C, 0x2808, 0x134F, 0x4C04, 0x53B7, 0x0000, 0x63B7, 0x0002,
+0x0087, 0x27F0, 0x472F, 0xD71F, 0x0002, 0x930F, 0x2417, 0x9304, 0x2015,
+0x0088, 0x2C26, 0x080F, 0x0F3F, 0x002C, 0xB397, 0x0000, 0x2BE7, 0x008C,
+0x280A, 0x134F, 0x4C04, 0x1840, 0x421D, 0x280A, 0x1840, 0x421C, 0x2808,
+0x13B1, 0xBE82, 0x3FDE, 0x1840, 0x9382, 0x2806, 0x241F, 0x9304, 0x201D,
+0x473F, 0xD73F, 0x930F, 0x2019, 0xB325, 0x2817, 0x008C, 0x2808, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4C04, 0x403D, 0xAAAA, 0x1840, 0x421C,
+0x2808, 0x13B1, 0xBE82, 0x935C, 0x2003, 0x403C, 0xFFBF, 0x3DF7, 0x1840,
+0x4382, 0x2806, 0xB325, 0x29BC, 0x430A, 0x430B, 0x403C, 0x000A, 0x1380,
+0x2B86, 0x531A, 0x630B, 0x13B0, 0xFDC0, 0x903C, 0xBABE, 0x2003, 0x903D,
+0xCAFE, 0x2405, 0x930B, 0x2003, 0x903A, 0x012C, 0x2BED, 0x4105, 0x5035,
+0x0028, 0x0088, 0x2C26, 0x930B, 0x2003, 0x903A, 0x012C, 0x2970, 0x4034,
+0xFFBF, 0x410C, 0x522C, 0x018E, 0xD0FE, 0x427D, 0x13B1, 0xCF3E, 0x1840,
+0x42D1, 0x2470, 0x0004, 0x008F, 0x2470, 0x4FD1, 0x0001, 0x0005, 0x1405,
+0x430F, 0x434E, 0x423D, 0x410C, 0x523C, 0x080B, 0x0B3B, 0x001C, 0x134B,
+0x403C, 0x0003, 0x002F, 0x2A00, 0x134F, 0x05CC, 0x080F, 0x0F3F, 0x0020,
+0x134F, 0x008A, 0x2BD2, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0028, 0x0B0F,
+0x134F, 0x4C4C, 0x5221, 0x903C, 0x0098, 0x2403, 0x403F, 0x018C, 0x3C02,
+0x403F, 0x014C, 0x4F81, 0x0000, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x00AA,
+0x0014, 0x403C, 0x0A60, 0x0A0F, 0x134F, 0x4076, 0x00C8, 0x464C, 0x0B0F,
+0x134F, 0x403C, 0x1401, 0x0A0F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x0087, 0x2B3E, 0x9387,
+0x0000, 0x2405, 0x403C, 0x0FF6, 0x0A0F, 0x134F, 0x3C03, 0x412C, 0x0A0F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x3FFD,
+0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x9387, 0x0000, 0x2407, 0x464C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0000,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x4C81, 0x0002, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x9387, 0x0000, 0x2007, 0x464C, 0x0B0F, 0x134F, 0x403C,
+0x0501, 0x0A0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82,
+0x27F6, 0x1840, 0x4F82, 0x27F8, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x4C4C,
+0x903C, 0x0098, 0x2403, 0x403F, 0x018C, 0x3C02, 0x403F, 0x014C, 0x4F81,
+0x0000, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x0B60, 0x0A0F, 0x134F, 0x464C, 0x0B0F, 0x134F,
+0x403C, 0x1401, 0x0A0F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x9387, 0x0000, 0x2405, 0x403C,
+0x0FF6, 0x0A0F, 0x134F, 0x3C03, 0x412C, 0x0A0F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x3FFD, 0x0A0F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x9387, 0x0000, 0x2407, 0x464C, 0x0B0F, 0x134F, 0x403C,
+0x0501, 0x0A0F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0000, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0002, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x9387,
+0x0000, 0x2007, 0x464C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x0A0F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82, 0x27FA, 0x1840, 0x4F82,
+0x27FC, 0x4E0B, 0xDF0B, 0x930B, 0x240B, 0x1840, 0x90B2, 0xFFFE, 0x27F6,
+0x2004, 0x1840, 0x9382, 0x27F8, 0x2402, 0x4034, 0xFFF6, 0x410C, 0x522C,
+0x018E, 0xD106, 0x427D, 0x13B1, 0xCF3E, 0x1840, 0x42D1, 0x2470, 0x0004,
+0x008F, 0x2470, 0x4FD1, 0x0001, 0x0005, 0x1405, 0x430F, 0x434E, 0x423D,
+0x410C, 0x523C, 0x080B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F,
+0x2A00, 0x134F, 0x05CC, 0x080F, 0x0F3F, 0x0020, 0x134F, 0x1840, 0x421C,
+0x27F4, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x5221, 0x3C35, 0x0088, 0x2C26,
+0x080B, 0x9314, 0x2007, 0x407C, 0x0091, 0x0B3F, 0x0024, 0x134F, 0x4304,
+0x3C29, 0x410C, 0x522C, 0x018E, 0xD10E, 0x427D, 0x13B1, 0xCF3E, 0x1840,
+0x42D1, 0x2470, 0x0004, 0x008F, 0x2470, 0x4FD1, 0x0001, 0x0005, 0x4105,
+0x5035, 0x0028, 0x1405, 0x430F, 0x434E, 0x423D, 0x410C, 0x523C, 0x0B3B,
+0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2A00, 0x134F, 0x05CC, 0x080F,
+0x0F3F, 0x0020, 0x134F, 0x4034, 0xFFF6, 0x5221, 0x440C, 0x5031, 0x003C,
+0x1674, 0x0110, 0x147B, 0x8031, 0x0014, 0x4381, 0x0000, 0x4305, 0x434B,
+0x410C, 0x522C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404,
+0x403C, 0xFFDA, 0x0180, 0x3910, 0x410C, 0x532C, 0x002F, 0x2C26, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFD9, 0x0180, 0x3910, 0x410D,
+0x503D, 0x0010, 0x403C, 0xAA01, 0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2402, 0x013B, 0x0010, 0x03DB, 0x2402, 0x438B, 0x0000, 0x0084,
+0x2BD2, 0x04CB, 0x00AB, 0x0008, 0x4078, 0x00C8, 0x484C, 0x0B0F, 0x134F,
+0x04C9, 0x00A9, 0x0014, 0x4036, 0x2401, 0x460C, 0x090F, 0x134F, 0x407C,
+0x0028, 0x0B0F, 0x134F, 0x907C, 0x0089, 0x2404, 0x403C, 0xFFD0, 0x0180,
+0x3910, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C0A,
+0x04C7, 0x00A7, 0x0030, 0x435C, 0x070F, 0x134F, 0xB03A, 0x0200, 0x2C50,
+0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034, 0x043F, 0x0010, 0x134F,
+0x407C, 0x0090, 0x0B0F, 0x134F, 0x403C, 0x0089, 0x090F, 0x134F, 0x430C,
+0x090F, 0x134F, 0x4C0A, 0x407C, 0x0090, 0x0B0F, 0x134F, 0x403C, 0x0088,
+0x090F, 0x134F, 0xD03A, 0x0040, 0x4A0C, 0x090F, 0x134F, 0x4C0A, 0x407C,
+0x0090, 0x0B0F, 0x134F, 0x403C, 0x0088, 0x090F, 0x134F, 0xF03A, 0xFFBF,
+0x4A0C, 0x090F, 0x134F, 0x403A, 0x0032, 0x484C, 0x0B0F, 0x134F, 0x460C,
+0x090F, 0x134F, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x533A, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02, 0x930A, 0x23F5, 0x930A,
+0x2401, 0x4C05, 0xB325, 0x2C04, 0x403C, 0xFFDB, 0x0180, 0x3910, 0xB325,
+0x280D, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x3C06, 0x484C, 0x0B0F, 0x134F, 0x460C,
+0x090F, 0x134F, 0x00A4, 0x0010, 0x1840, 0x9382, 0x2896, 0x2411, 0x407C,
+0x0054, 0x0B0F, 0x134F, 0x434C, 0x040F, 0x134F, 0x4C4A, 0x407C, 0x0054,
+0x0B0F, 0x134F, 0x4A4C, 0xD07C, 0x0080, 0x040F, 0x134F, 0x4075, 0x0082,
+0x454C, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F, 0x403C, 0x4303, 0x090F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x430A, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x435C, 0x040F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x3C07, 0x434C, 0x070F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x531A, 0x903A, 0x000A, 0x2C13, 0x407C, 0x0028, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002,
+0x430F, 0x3C01, 0x433F, 0x930F, 0x23E5, 0x430F, 0x3C01, 0x433F, 0x930F,
+0x20E2, 0x1840, 0x93A2, 0x2890, 0x201A, 0x1840, 0x9382, 0x2892, 0x2016,
+0x407C, 0x0090, 0x0B0F, 0x134F, 0x450C, 0x090F, 0x134F, 0x403C, 0x000F,
+0x090F, 0x134F, 0x407C, 0x0090, 0x0B0F, 0x134F, 0x450C, 0x090F, 0x134F,
+0x403C, 0x000C, 0x090F, 0x134F, 0x1840, 0x90B2, 0x0003, 0x2890, 0x200E,
+0x1840, 0x9382, 0x2892, 0x200A, 0x407C, 0x0090, 0x0B0F, 0x134F, 0x450C,
+0x090F, 0x134F, 0x423C, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F, 0x484C,
+0x0B0F, 0x134F, 0x403C, 0x2C01, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x484C, 0x0B0F, 0x134F, 0x403C, 0x2C01, 0x090F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x403C, 0x0401,
+0x090F, 0x134F, 0x407C, 0x0098, 0x0B0F, 0x134F, 0x403C, 0x0080, 0x090F,
+0x134F, 0x403C, 0x0880, 0x090F, 0x134F, 0x403C, 0x0080, 0x090F, 0x134F,
+0x403C, 0x0880, 0x090F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C,
+0x0024, 0x040F, 0x134F, 0x3C0A, 0x434C, 0x070F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x412F, 0x531F, 0x4F81, 0x0000, 0x90B1, 0x000A, 0x0000, 0x2C0D,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x903C, 0xFFFE,
+0x2403, 0x903C, 0x0F00, 0x23E5, 0x90B1, 0x000A, 0x0000, 0x244B, 0x434C,
+0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407A, 0x0021, 0x4A4C, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x4381, 0x0000,
+0x407C, 0x0048, 0x0B0F, 0x134F, 0x435C, 0x040F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x3C0A, 0x434C, 0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x412F,
+0x531F, 0x4F81, 0x0000, 0x90B1, 0x000A, 0x0000, 0x2C13, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081,
+0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E1, 0x430F, 0x3C01, 0x433F,
+0x930F, 0x2403, 0x403C, 0xFFD1, 0x3D0C, 0x4191, 0x0004, 0x0000, 0x454C,
+0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x484C, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x412C,
+0x090F, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C81, 0x0000, 0x434C,
+0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x4A4C,
+0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F, 0x41A1, 0x0008, 0x415F, 0x0008,
+0xD11F, 0x0002, 0x4F81, 0x0002, 0x4F81, 0x0006, 0x4191, 0x0004, 0x0000,
+0x454C, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C, 0x070F,
+0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x090F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0048, 0x0B0F, 0x134F,
+0x427C, 0x040F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x412C, 0x090F,
+0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F, 0x411C, 0x0006, 0x090F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x484C, 0x0B0F, 0x134F,
+0x460C, 0x090F, 0x134F, 0x4A4C, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x4A4C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C81, 0x000A, 0x4381,
+0x000C, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x090F, 0x134F, 0x454C,
+0x0B0F, 0x134F, 0x403C, 0x4030, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x403C, 0x0C04, 0x090F, 0x134F, 0x434C, 0x070F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x4A4C, 0x0B0F, 0x134F, 0x434C, 0x070F,
+0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x484C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x090F, 0x134F, 0x454C,
+0x0B0F, 0x134F, 0x403C, 0x4282, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F, 0x454C, 0x0B0F,
+0x134F, 0x403C, 0x00FE, 0x090F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C,
+0x0042, 0x0B0F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C0A, 0x434C, 0x070F,
+0x134F, 0x484C, 0x0B0F, 0x134F, 0x460C, 0x090F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x4A81, 0x000E, 0x423D, 0x410C, 0x523C, 0x002F, 0x2C26, 0x0F3F,
+0x000C, 0x134F, 0x430C, 0x5031, 0x0014, 0x1674, 0x0110, 0x147B, 0x8031,
+0x0016, 0x0089, 0x2BD2, 0x09CA, 0x00AA, 0x0008, 0x407C, 0x0028, 0x0A0F,
+0x134F, 0x4C44, 0x09CB, 0x00AB, 0x0014, 0x9034, 0x0099, 0x2011, 0x407C,
+0x00F4, 0x0A0F, 0x134F, 0x403C, 0x40A0, 0x0B0F, 0x134F, 0x407C, 0x0054,
+0x0A0F, 0x134F, 0x430C, 0x431D, 0x093F, 0x001C, 0x134F, 0x407C, 0x00B0,
+0x0A0F, 0x134F, 0x403C, 0x0088, 0x430D, 0x093F, 0x001C, 0x134F, 0x403C,
+0x6D8E, 0x430D, 0x093F, 0x001C, 0x134F, 0x407C, 0x0030, 0x0A0F, 0x134F,
+0x403C, 0x0005, 0x0B0F, 0x134F, 0x4076, 0x00C8, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x1501, 0x0B0F, 0x134F, 0x4307, 0x407C, 0x0028, 0x0A0F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0xB03C, 0x0200, 0x2C05, 0x470F, 0x5317, 0x903F,
+0x0032, 0x2BF5, 0x9037, 0x0032, 0x7F0F, 0xF31F, 0x2002, 0x0180, 0x3F1E,
+0x09C8, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x403C, 0x0C01, 0x0B0F, 0x134F, 0x403C, 0x0028,
+0x1380, 0x2B86, 0x403C, 0x0401, 0x0B0F, 0x134F, 0x9034, 0x0091, 0x2406,
+0x9034, 0x0099, 0x2403, 0x9034, 0x0098, 0x2027, 0x407C, 0x0082, 0x0A0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x422C, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x9034, 0x0091, 0x2006, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x3C12,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0030,
+0x0A0F, 0x134F, 0x403C, 0x000E, 0x0B0F, 0x134F, 0x407C, 0x0028, 0x0A0F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x410C, 0x503C, 0x0006, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x410C, 0x522C, 0x002F, 0x2C26, 0x0F3F, 0x002C,
+0x134F, 0x4191, 0x0006, 0x0012, 0x4381, 0x0014, 0x434C, 0x080F, 0x134F,
+0x4075, 0x00C1, 0x454C, 0x0A0F, 0x134F, 0x09C7, 0x00A7, 0x0018, 0x411C,
+0x0012, 0x411D, 0x0014, 0xF03D, 0x000F, 0x070F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x4C81, 0x0000, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x41A1, 0x0008, 0x415F, 0x0008, 0xD11F,
+0x0004, 0x4F81, 0x0004, 0x4F81, 0x0000, 0x4191, 0x0006, 0x0012, 0x4381,
+0x0014, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0500,
+0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x411C, 0x0012, 0x411D, 0x0014,
+0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x412C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x430C,
+0x430D, 0x070F, 0x134F, 0x903C, 0xFFFE, 0x2409, 0x9034, 0x0091, 0x2406,
+0x9034, 0x0099, 0x2403, 0x9034, 0x0098, 0x2028, 0x434C, 0x080F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x403C, 0xFFFE, 0x430D, 0x070F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C81, 0x0000, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x41A1, 0x000A, 0x4381, 0x000C,
+0x3C07, 0x503C, 0xFFFC, 0x633D, 0x4C81, 0x000A, 0x4D81, 0x000C, 0x4381,
+0x000E, 0x431C, 0x002F, 0x2C26, 0x0F3F, 0x0038, 0x134F, 0x4381, 0x0002,
+0x3C90, 0x411C, 0x0002, 0xE03C, 0x8000, 0x0FAC, 0xACD8, 0x002F, 0x2C26,
+0x0F3F, 0x0028, 0x134F, 0x411F, 0x0002, 0x1840, 0x93CF, 0x2CD8, 0x247A,
+0x4F4C, 0x13B1, 0xCE4E, 0x1840, 0xF21C, 0x2898, 0x1840, 0xF21D, 0x289A,
+0x4C0F, 0xDD0F, 0x930F, 0x2002, 0x430F, 0x3C01, 0x431F, 0x4F81, 0x0010,
+0x411F, 0x0002, 0x1840, 0x4F5F, 0x2CD8, 0x503F, 0x9600, 0x4F81, 0x0000,
+0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0500, 0x0B0F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C, 0x0110, 0x430D, 0x070F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x412C, 0x0B0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0501,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x0500, 0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C, 0x011E, 0x430D,
+0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F,
+0x411C, 0x0010, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411F, 0x0002, 0x531F, 0x4F81,
+0x0002, 0x90B1, 0x0020, 0x0002, 0x3B6C, 0x407C, 0x00B0, 0x0A0F, 0x134F,
+0x403C, 0x0088, 0x430D, 0x093F, 0x001C, 0x134F, 0x403C, 0x000E, 0x430D,
+0x093F, 0x001C, 0x134F, 0x9034, 0x0091, 0x20A8, 0x434C, 0x080F, 0x134F,
+0x454C, 0x0A0F, 0x134F, 0x403C, 0x0102, 0x430D, 0x070F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0A0F, 0x134F,
+0x430C, 0x0B0F, 0x134F, 0x4C09, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4981, 0x0000, 0xB2B1, 0x0000, 0x2881,
+0x407C, 0x0028, 0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0082, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C,
+0x0080, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x403C, 0x1400, 0x0B0F, 0x134F, 0x407C, 0x0082, 0x0A0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x422C, 0x0B0F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x4303, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0x430C, 0x430D,
+0x070F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0A0F, 0x134F, 0xC2B1, 0x0000,
+0x4129, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C, 0x0500,
+0x0B0F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x403C, 0x0102, 0x430D, 0x070F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x00A1, 0x0A0F, 0x134F, 0x490C,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x403C,
+0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x423D, 0x410C, 0x523C, 0x002F, 0x2C26, 0x0F3F,
+0x000C, 0x134F, 0x430C, 0x3C01, 0x433C, 0x5031, 0x0016, 0x1674, 0x0110,
+0x147B, 0x8031, 0x0016, 0x4381, 0x0000, 0x4305, 0x410C, 0x523C, 0x403E,
+0x0005, 0x13B1, 0xCF56, 0x4381, 0x0006, 0x434B, 0x410C, 0x522C, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFD3, 0x0180,
+0x4522, 0x410C, 0x532C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x933C,
+0x2004, 0x403C, 0xFFD2, 0x0180, 0x4522, 0x410D, 0x503D, 0x0012, 0x403C,
+0xAA01, 0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2402, 0x013B,
+0x0012, 0x03DB, 0x2402, 0x438B, 0x0000, 0x008A, 0x2BD2, 0x0ACB, 0x00AB,
+0x0030, 0x435C, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0008, 0x4074, 0x0028,
+0x444C, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0014, 0x430C, 0x090F, 0x134F,
+0x4076, 0x00C8, 0xB03C, 0x0200, 0x2C25, 0x407C, 0x0088, 0x080F, 0x134F,
+0x407C, 0x0034, 0x0A3F, 0x0010, 0x134F, 0x4037, 0x0032, 0x464C, 0x080F,
+0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x444C, 0x080F, 0x134F, 0x430C,
+0x090F, 0x134F, 0x5337, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02, 0x9307,
+0x23F5, 0x9307, 0x2401, 0x4C05, 0x9305, 0x2550, 0xB325, 0x280E, 0x434C,
+0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x3400, 0x090F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x3C07, 0x464C, 0x080F, 0x134F, 0x403C, 0x3400,
+0x090F, 0x134F, 0x0087, 0x2890, 0x9387, 0x0006, 0x2413, 0x407C, 0x0054,
+0x080F, 0x134F, 0x434C, 0x0A3F, 0x0010, 0x134F, 0x4C45, 0x407C, 0x0054,
+0x080F, 0x134F, 0x454C, 0xD07C, 0x0080, 0x0A3F, 0x0010, 0x134F, 0x4305,
+0x407C, 0x0048, 0x080F, 0x134F, 0x435C, 0x0A3F, 0x0010, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x3C07, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x5315, 0x9035, 0x000A, 0x2C12, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F,
+0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F,
+0x930F, 0x23E6, 0x430F, 0x3C01, 0x433F, 0x930F, 0x211F, 0x4075, 0x0021,
+0x454C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C81, 0x000A, 0x4381,
+0x000C, 0x407C, 0x0030, 0x080F, 0x134F, 0x403C, 0x0003, 0x090F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x93A7, 0x0000, 0x201B, 0x9387, 0x0002, 0x2018,
+0x407C, 0x0090, 0x080F, 0x134F, 0x403C, 0x0082, 0x090F, 0x134F, 0x403C,
+0x000F, 0x090F, 0x134F, 0x407C, 0x0090, 0x080F, 0x134F, 0x403C, 0x0082,
+0x090F, 0x134F, 0x403C, 0x000C, 0x090F, 0x134F, 0x90B7, 0x0003, 0x0000,
+0x200E, 0x9387, 0x0002, 0x200B, 0x407C, 0x0090, 0x080F, 0x134F, 0x403C,
+0x0082, 0x090F, 0x134F, 0x423C, 0x090F, 0x134F, 0x472F, 0xD71F, 0x0002,
+0x930F, 0x241C, 0x9387, 0x0004, 0x2419, 0x407C, 0x0090, 0x080F, 0x134F,
+0x403C, 0x0089, 0x090F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C07, 0x407C,
+0x0090, 0x080F, 0x134F, 0x403C, 0x0088, 0x090F, 0x134F, 0xD037, 0x0010,
+0x470C, 0x090F, 0x134F, 0x4077, 0x0082, 0x474C, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x403C, 0xD034, 0x090F, 0x134F, 0x13B1, 0xC1BA, 0x4C0F,
+0xDD0F, 0x930F, 0x207B, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x934C, 0x3410, 0x474C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C,
+0xD034, 0x090F, 0x134F, 0x13B1, 0xC1BA, 0x4C0F, 0xDD0F, 0x930F, 0x2063,
+0x474C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x13B1, 0xC1BA, 0x4C0F, 0xDD0F, 0x930F, 0x2054, 0x444C, 0x080F, 0x134F,
+0x3C0A, 0x13B1, 0xC1BA, 0x4C0F, 0xDD0F, 0x930F, 0x204A, 0x412F, 0x531F,
+0x4F81, 0x0000, 0x430C, 0x090F, 0x134F, 0x934C, 0x3804, 0x90B1, 0x000A,
+0x0000, 0x2BED, 0x90B1, 0x000A, 0x0000, 0x2439, 0x454C, 0x080F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x822C, 0x4C81, 0x000A, 0x4381, 0x000C, 0x9381,
+0x0000, 0x2032, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xB03C,
+0x0020, 0x2835, 0x53A1, 0x000A, 0x474C, 0x080F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x403C, 0xC032, 0x090F, 0x134F, 0x13B1, 0xC1BA, 0x4C0F, 0xDD0F,
+0x930F, 0x2010, 0x474C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C,
+0x0010, 0x090F, 0x134F, 0x13B1, 0xC1BA, 0x4C0F, 0xDD0F, 0x930F, 0x2403,
+0x403C, 0xFFD4, 0x3D2F, 0x40B1, 0x0010, 0x0006, 0x3C0C, 0x454C, 0x080F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x4C81, 0x000A, 0x4381, 0x000C, 0x4391,
+0x0010, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x444C,
+0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081,
+0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x2403, 0x403C, 0xFFD1, 0x3D05,
+0x4114, 0x0004, 0x474C, 0x080F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2409, 0x090F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x00C1,
+0x080F, 0x134F, 0x440C, 0x090F, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F,
+0x4C04, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401,
+0x090F, 0x134F, 0x454C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x4481,
+0x0008, 0x444F, 0xD11F, 0x0002, 0x4F81, 0x0002, 0x4F81, 0x0000, 0x4114,
+0x0004, 0x474C, 0x080F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2409, 0x090F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0048, 0x080F,
+0x134F, 0x427C, 0x0A3F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x080F, 0x134F,
+0x440C, 0x090F, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x412C, 0x090F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F,
+0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x454C, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x3401, 0x090F, 0x134F,
+0x474C, 0x080F, 0x134F, 0x403C, 0x4030, 0x090F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x0C04, 0x090F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x454C, 0x080F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x3401, 0x090F,
+0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x4282, 0x090F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x474C, 0x080F, 0x134F, 0x403C, 0x00FE, 0x090F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x4C07,
+0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0xD117, 0x0006, 0x4781, 0x000E, 0x403D,
+0x000A, 0x410C, 0x523C, 0x002F, 0x2C26, 0x0F3F, 0x000C, 0x134F, 0x430C,
+0x5031, 0x0016, 0x1674, 0x0110, 0x147B, 0x8031, 0x0016, 0x4381, 0x0000,
+0x4305, 0x410C, 0x523C, 0x403E, 0x0005, 0x13B1, 0xCF56, 0x4381, 0x0006,
+0x434B, 0x410C, 0x522C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2404, 0x403C, 0xFFD3, 0x0180, 0x4A96, 0x410C, 0x532C, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2004, 0x403C, 0xFFD2, 0x0180, 0x4A96,
+0x410D, 0x503D, 0x0012, 0x403C, 0xAA01, 0x002F, 0x2C26, 0x0F3F, 0x0058,
+0x134F, 0x930C, 0x2402, 0x013B, 0x0012, 0x03DB, 0x2402, 0x438B, 0x0000,
+0x008A, 0x2BD2, 0x0ACB, 0x00AB, 0x0030, 0x435C, 0x0B0F, 0x134F, 0x0AC8,
+0x00A8, 0x0008, 0x4074, 0x0028, 0x444C, 0x080F, 0x134F, 0x0AC9, 0x00A9,
+0x0014, 0x430C, 0x090F, 0x134F, 0x4077, 0x00C8, 0xB03C, 0x0200, 0x2C27,
+0x407C, 0x0088, 0x080F, 0x134F, 0x407C, 0x0034, 0x0A3F, 0x0010, 0x134F,
+0x4036, 0x0032, 0x474C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F,
+0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0x5336, 0x933C, 0x2403,
+0xB03C, 0x0200, 0x2C02, 0x9306, 0x23F5, 0x9306, 0x2402, 0x4C81, 0x0000,
+0x9381, 0x0000, 0x24EF, 0xB3A1, 0x0000, 0x280E, 0x434C, 0x0B0F, 0x134F,
+0x474C, 0x080F, 0x134F, 0x403C, 0x3400, 0x090F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x3C07, 0x474C, 0x080F, 0x134F, 0x403C, 0x3400, 0x090F, 0x134F,
+0x4306, 0x407C, 0x0048, 0x080F, 0x134F, 0x435C, 0x0A3F, 0x0010, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x3C07, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x5316, 0x9036, 0x000A, 0x2C12, 0x444C, 0x080F, 0x134F, 0x430C,
+0x090F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01,
+0x433F, 0x930F, 0x23E6, 0x430F, 0x3C01, 0x433F, 0x930F, 0x20D8, 0x407C,
+0x0021, 0x080F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x4C81,
+0x000A, 0x4D81, 0x000C, 0x407C, 0x0030, 0x080F, 0x134F, 0x403C, 0x0003,
+0x090F, 0x134F, 0x430C, 0x090F, 0x134F, 0x1840, 0x93A2, 0x2890, 0x2023,
+0x1840, 0x9382, 0x2892, 0x201F, 0x407C, 0x00B0, 0x080F, 0x134F, 0x0AC6,
+0x00A6, 0x001C, 0x403C, 0x0082, 0x430D, 0x060F, 0x134F, 0x403C, 0x000F,
+0x430D, 0x060F, 0x134F, 0x407C, 0x00B0, 0x080F, 0x134F, 0x403C, 0x0082,
+0x430D, 0x060F, 0x134F, 0x403C, 0x000C, 0x430D, 0x060F, 0x134F, 0x4076,
+0x0082, 0x464C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x4303,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x444C, 0x080F, 0x134F, 0x3C0A, 0x13B1, 0xC252,
+0x4C0F, 0xDD0F, 0x930F, 0x204C, 0x5315, 0x430C, 0x090F, 0x134F, 0x430C,
+0x090F, 0x134F, 0x934C, 0x3803, 0x9035, 0x000A, 0x2BEE, 0x9035, 0x000A,
+0x243D, 0x407C, 0x0021, 0x080F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018,
+0x134F, 0x503C, 0xFFFE, 0x633D, 0x4C81, 0x000A, 0x4D81, 0x000C, 0x9305,
+0x2032, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xB03C, 0x0020,
+0x2838, 0x53A1, 0x000A, 0x464C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x403C, 0xC032, 0x090F, 0x134F, 0x13B1, 0xC252, 0x4C0F, 0xDD0F, 0x930F,
+0x2010, 0x464C, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x0010,
+0x090F, 0x134F, 0x13B1, 0xC252, 0x4C0F, 0xDD0F, 0x930F, 0x2403, 0x403C,
+0xFFD4, 0x3D47, 0x40B1, 0x0010, 0x0006, 0x3C0F, 0x407C, 0x0021, 0x080F,
+0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x4C81, 0x000A, 0x4D81,
+0x000C, 0x4391, 0x0010, 0x474C, 0x080F, 0x134F, 0x403C, 0x2401, 0x090F,
+0x134F, 0x444C, 0x080F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081,
+0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x2403, 0x403C,
+0xFFD1, 0x3D1A, 0x4114, 0x0004, 0x464C, 0x080F, 0x134F, 0x403C, 0x3FFF,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C,
+0x2409, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x00C1, 0x080F, 0x134F, 0x440C, 0x430D, 0x0A3F, 0x0018, 0x134F,
+0x407C, 0x00A1, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x4C04, 0x434C, 0x0B0F, 0x134F, 0x474C,
+0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x407C, 0x0021, 0x080F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x4481, 0x0008, 0x444F, 0xD11F, 0x0002,
+0x4F81, 0x0002, 0x4F81, 0x0000, 0x4114, 0x0004, 0x464C, 0x080F, 0x134F,
+0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F,
+0x134F, 0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x407C, 0x0048, 0x080F, 0x134F, 0x427C, 0x0A3F, 0x0010,
+0x134F, 0x407C, 0x00C1, 0x080F, 0x134F, 0x440C, 0x430D, 0x0A3F, 0x0018,
+0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C,
+0x2401, 0x090F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x4077, 0x0088, 0x474C, 0x080F, 0x134F, 0x407C, 0x0034, 0x0A3F,
+0x0010, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x0080, 0x090F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x0C04, 0x090F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x0021,
+0x080F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F, 0x134F, 0x407C,
+0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x474C, 0x080F,
+0x134F, 0x403C, 0x0034, 0x090F, 0x134F, 0x464C, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x403C, 0x0260, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x464C, 0x080F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x00FC, 0x090F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x4C06, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x430C, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x474C, 0x080F,
+0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0xD116, 0x0006, 0x4681, 0x000E, 0x403D, 0x000A, 0x410C, 0x523C, 0x002F,
+0x2C26, 0x0F3F, 0x000C, 0x134F, 0x430C, 0x5031, 0x0016, 0x1674, 0x0110,
+0x147B, 0x8221, 0x0CC4, 0x1840, 0x4CA1, 0x0000, 0x1840, 0x4C91, 0x0002,
+0x0002, 0x0089, 0x2BD2, 0x09CA, 0x00AA, 0x0008, 0x4075, 0x0088, 0x454C,
+0x0A0F, 0x134F, 0x09C7, 0x00A7, 0x0010, 0x407C, 0x0034, 0x070F, 0x134F,
+0x407B, 0x0082, 0x4B4C, 0x0A0F, 0x134F, 0x09C8, 0x00A8, 0x0030, 0x435C,
+0x080F, 0x134F, 0x00A9, 0x0014, 0x412E, 0x411F, 0x0002, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x0085, 0x4E0C, 0x090F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x4076, 0x0042, 0x464C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412C,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C,
+0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4491, 0x0004,
+0x0000, 0x4491, 0x0006, 0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034,
+0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E,
+0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E,
+0x0086, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x4491, 0x0008, 0x0000, 0x4491, 0x000A, 0x0002, 0x454C, 0x0A0F, 0x134F,
+0x407C, 0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x412E, 0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E,
+0x0F00, 0xD03E, 0x0089, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4491, 0x000C, 0x0000, 0x4491, 0x000E, 0x0002, 0x454C,
+0x0A0F, 0x134F, 0x407C, 0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E,
+0xEF0E, 0xF03E, 0x0F00, 0xD50E, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x4491, 0x0010, 0x0000, 0x4491, 0x0012, 0x0002,
+0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x070F, 0x134F, 0x4B4C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002, 0x108E, 0x108F,
+0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x008A, 0x4E0C, 0x090F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412C, 0x090F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0024,
+0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4491, 0x0014, 0x0000, 0x4491,
+0x0016, 0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034, 0x070F, 0x134F,
+0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002,
+0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E, 0x008B, 0x4E0C,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412C,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C,
+0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C, 0x0A0F, 0x134F,
+0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4491, 0x0018,
+0x0000, 0x4491, 0x001A, 0x0002, 0x454C, 0x0A0F, 0x134F, 0x407C, 0x0034,
+0x070F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x412E,
+0x411F, 0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xD03E,
+0x008C, 0x4E0C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x412C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C, 0x0A0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x464C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x407C, 0x0024, 0x070F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x5221, 0x1674, 0x0110, 0x147B, 0x8031, 0x0038, 0x4C0A, 0x4381, 0x0006,
+0x4381, 0x0012, 0x4381, 0x0010, 0x4381, 0x000E, 0x4344, 0x410C, 0x503C,
+0x0006, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C, 0x0012,
+0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C, 0x0010, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C, 0x000E, 0x002F, 0x2C26,
+0x0F3F, 0x002C, 0x134F, 0x432C, 0x002F, 0x2C26, 0x0F3F, 0x0038, 0x134F,
+0x933C, 0x240E, 0x410D, 0x530D, 0x403C, 0xAA01, 0x002F, 0x2C26, 0x0F3F,
+0x0058, 0x134F, 0x930C, 0x2401, 0x0104, 0x03D4, 0x2003, 0x433C, 0x0180,
+0x54D6, 0x1380, 0x2C0E, 0x907C, 0x0046, 0x2404, 0x407C, 0x0046, 0x1380,
+0x2BDA, 0x442F, 0x930F, 0x2508, 0x9381, 0x000E, 0x2505, 0x4381, 0x0008,
+0x4381, 0x000A, 0x4381, 0x0018, 0x4381, 0x001A, 0x0087, 0x282E, 0x472F,
+0x0FCB, 0x0FEF, 0x0FEB, 0x0A4F, 0x0BEF, 0x1840, 0x40FF, 0x0007, 0x2C79,
+0x3C04, 0x403C, 0x0003, 0x1380, 0x2B82, 0x90B2, 0xFFA1, 0x0350, 0x2FF8,
+0x93A2, 0x0350, 0x2BF5, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x421B,
+0x0350, 0x421F, 0x0350, 0x1800, 0x43C1, 0x0000, 0x9B0F, 0x2C01, 0x4F0B,
+0x410D, 0x530D, 0x403C, 0xAA04, 0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F,
+0x010D, 0x4B0E, 0x4D2F, 0x472B, 0x0BCD, 0x0BEB, 0x0BED, 0x0A4B, 0x0DEB,
+0x1840, 0x4ECB, 0x2C7A, 0x108E, 0x1840, 0x4ECB, 0x2C7B, 0x1840, 0x4FCB,
+0x2C7C, 0x108F, 0x1840, 0x4FCB, 0x2C7D, 0x421B, 0x0410, 0x421F, 0x0410,
+0x1800, 0x43C1, 0x0014, 0x9B0F, 0x2C01, 0x4F0B, 0x410D, 0x503D, 0x0014,
+0x403C, 0xAA03, 0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F, 0x013D, 0x0014,
+0x4B0E, 0x4D2F, 0x472B, 0x0BCD, 0x0BEB, 0x0BED, 0x0A4B, 0x0DEB, 0x1840,
+0x4ECB, 0x2C86, 0x108E, 0x1840, 0x4ECB, 0x2C87, 0x1840, 0x4FCB, 0x2C88,
+0x108F, 0x1840, 0x4FCB, 0x2C89, 0x410D, 0x503D, 0x0018, 0x410C, 0x523C,
+0x1380, 0x2B6E, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0x120A, 0x1230, 0x001E, 0x433C, 0x433D,
+0x433E, 0x433F, 0x1380, 0x2BFA, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B, 0x472D,
+0x0DC6, 0x0DED, 0x0DE6, 0x0A4D, 0x06ED, 0x0DC6, 0x1840, 0x48CD, 0x2C7E,
+0x4C0D, 0x108D, 0x1840, 0x4DC6, 0x2C7F, 0x1840, 0x49C6, 0x2C80, 0x490D,
+0x108D, 0x1840, 0x4DC6, 0x2C81, 0x1840, 0x4EC6, 0x2C82, 0x108E, 0x1840,
+0x4EC6, 0x2C83, 0x1840, 0x4FC6, 0x2C84, 0x108F, 0x1840, 0x4FC6, 0x2C85,
+0x430E, 0x430F, 0x411C, 0x000C, 0x411D, 0x000E, 0x13B1, 0xCF9C, 0x5221,
+0x930C, 0x2407, 0x411C, 0x0008, 0x411D, 0x000A, 0x13B1, 0xCFA8, 0x3C06,
+0x411C, 0x0018, 0x411D, 0x001A, 0x13B1, 0xCFA8, 0x1840, 0x4CC6, 0x2C8A,
+0x108C, 0x1840, 0x4CC6, 0x2C8B, 0x5397, 0x0000, 0x90B7, 0x0005, 0x0000,
+0x2046, 0x4387, 0x0000, 0x423C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F,
+0x407C, 0x0005, 0x002F, 0x2C26, 0x0F3F, 0x0008, 0x134F, 0x407C, 0x0013,
+0x002F, 0x2C26, 0x0F3F, 0x0008, 0x134F, 0x403D, 0x005F, 0x008C, 0x2C79,
+0x002F, 0x2C26, 0x0F3F, 0x000C, 0x134F, 0x431C, 0x3D25, 0x930F, 0x2019,
+0x9381, 0x0006, 0x251F, 0x422C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F,
+0x430C, 0x430D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x430D,
+0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x3D0A, 0x433C, 0x433D,
+0x433E, 0x433F, 0x1380, 0x2BF6, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B, 0x9384,
+0x0000, 0x2435, 0x9381, 0x0012, 0x2432, 0x4347, 0xB03B, 0x4000, 0x2C29,
+0xB03B, 0x0400, 0x2826, 0x431C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F,
+0x480C, 0x490D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x4A0C, 0x4B0D,
+0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x410D, 0x530D, 0x403C, 0xAA01,
+0x002F, 0x2C26, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2401, 0x0107, 0x03D7,
+0x2402, 0x4387, 0x0000, 0x431F, 0x3C01, 0x432F, 0x931F, 0x2002, 0x431C,
+0x3CC8, 0x9384, 0x0000, 0x2003, 0x9381, 0x0006, 0x24C1, 0x9381, 0x0010,
+0x24BE, 0x4B0F, 0x108F, 0x4F4C, 0xF07C, 0x00C0, 0x907C, 0x0040, 0x24B6,
+0x4191, 0x0006, 0x0004, 0x4381, 0x000C, 0x1800, 0x43C1, 0x0008, 0xB03B,
+0x4000, 0x2C1D, 0x930B, 0x3806, 0x4B07, 0xF037, 0x8300, 0x9037, 0x8300,
+0x2015, 0x407C, 0x0086, 0x1380, 0x2BDA, 0x907C, 0x0099, 0x200E, 0x422C,
+0x1380, 0x2BE6, 0x903C, 0x1207, 0x2008, 0x430C, 0x1380, 0x2BE6, 0x903C,
+0xA55A, 0x2002, 0x4391, 0x000C, 0x9381, 0x0004, 0x2015, 0x008F, 0x2826,
+0x4304, 0x4305, 0x4306, 0x4037, 0x4000, 0xFF34, 0xFF35, 0xFF36, 0xFF37,
+0x4B0F, 0xF03F, 0x4000, 0x9F07, 0x2005, 0x9381, 0x000C, 0x2002, 0x432C,
+0x3C61, 0x422C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x480C, 0x490D,
+0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x4A0C, 0x4B0D, 0x002F, 0x2C26,
+0x0F3F, 0x0014, 0x134F, 0xB03B, 0x4000, 0x2C03, 0x9381, 0x0004, 0x2406,
+0x9381, 0x000C, 0x2443, 0x9381, 0x0004, 0x2040, 0x410C, 0x503C, 0x001C,
+0x018E, 0xD11E, 0x427D, 0x13B1, 0xCF3E, 0x1840, 0x42D1, 0x2470, 0x001C,
+0x008F, 0x2470, 0x4FD1, 0x0001, 0x001D, 0x4107, 0x5037, 0x0024, 0x1407,
+0x430F, 0x434E, 0x423D, 0x410C, 0x503C, 0x0020, 0x0026, 0x2C26, 0x0636,
+0x001C, 0x1346, 0x403C, 0x0003, 0x002F, 0x2A00, 0x134F, 0x07CC, 0x002F,
+0x2C26, 0x0F3F, 0x0020, 0x134F, 0x410D, 0x522D, 0x403C, 0xAA01, 0x002F,
+0x2C26, 0x0F3F, 0x0058, 0x134F, 0x5221, 0x930C, 0x2403, 0x1800, 0x41E1,
+0x0008, 0x013F, 0x0008, 0x03DF, 0x2402, 0x438F, 0x0000, 0x431C, 0x9381,
+0x0004, 0x2402, 0x430C, 0x3C0C, 0x1840, 0x4882, 0x2826, 0x1840, 0x4982,
+0x2828, 0x1840, 0x4A82, 0x282A, 0x1840, 0x4B82, 0x282C, 0x931C, 0x2403,
+0x930C, 0x2401, 0x432C, 0x5031, 0x0038, 0x1674, 0x0110, 0x147B, 0x8031,
+0x001E, 0x4381, 0x000C, 0x4381, 0x0006, 0x4381, 0x0004, 0x1800, 0x43C1,
+0x001A, 0x0086, 0x2C26, 0x410C, 0x503C, 0x0010, 0x060F, 0x0F3F, 0x002C,
+0x134F, 0x410C, 0x503C, 0x000E, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x410C,
+0x523C, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x410C, 0x532C, 0x060F, 0x0F3F,
+0x002C, 0x134F, 0x410C, 0x503C, 0x000C, 0x060F, 0x0F3F, 0x002C, 0x134F,
+0x410C, 0x530C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x503C, 0x0006,
+0x060F, 0x0F3F, 0x002C, 0x134F, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x002C,
+0x134F, 0x4115, 0x0002, 0x008A, 0x2BD2, 0x0AC9, 0x00A9, 0x0030, 0x434C,
+0x090F, 0x134F, 0x0ACB, 0x00AB, 0x0008, 0x4074, 0x0082, 0x444C, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x440C, 0x080F,
+0x134F, 0x4077, 0x00C8, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x1401, 0x080F,
+0x134F, 0x444C, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F,
+0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4115, 0x000E, 0x4191, 0x0010, 0x0012,
+0x4381, 0x0014, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x0500, 0x080F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F, 0x411C, 0x0012,
+0x411D, 0x0014, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x00A1, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0xB0B1, 0x0010,
+0x0002, 0x280B, 0x411E, 0x0008, 0x411F, 0x000A, 0x503E, 0xFFFE, 0x633F,
+0x4E81, 0x0008, 0x4F81, 0x000A, 0x411E, 0x0008, 0x411F, 0x000A, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0x503E, 0x0080, 0x4E81, 0x0018,
+0x4191, 0x0008, 0x0016, 0x4075, 0x0028, 0x454C, 0x0B0F, 0x134F, 0x430C,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x411C, 0x0018, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x411C, 0x0016,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x9381, 0x0000, 0x2427,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x0401, 0x080F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C,
+0x080F, 0x134F, 0xB32C, 0x2828, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x0403,
+0x080F, 0x134F, 0x3C20, 0x435C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x403C, 0x0401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x454C,
+0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x080F, 0x134F, 0xB32C,
+0x2807, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x0403, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x411C, 0x000C, 0x080F,
+0x134F, 0x0089, 0x2878, 0x9381, 0x0004, 0x2434, 0x9389, 0x0010, 0x2412,
+0x407C, 0x00F4, 0x0B0F, 0x134F, 0x491C, 0x0012, 0x080F, 0x134F, 0xC91C,
+0x0010, 0xD91C, 0x0014, 0x080F, 0x134F, 0x403C, 0x0014, 0x1380, 0x2B86,
+0x492F, 0xD91F, 0x0002, 0x930F, 0x245C, 0x407C, 0x0054, 0x0B0F, 0x134F,
+0x491C, 0x0004, 0x491D, 0x0006, 0x0A3F, 0x001C, 0x134F, 0x09CF, 0xC93C,
+0xC93D, 0xDF1C, 0x0008, 0xDF1D, 0x000A, 0x0A3F, 0x001C, 0x134F, 0x403C,
+0x0014, 0x1380, 0x2B86, 0x3C42, 0x454C, 0x0B0F, 0x134F, 0x4C47, 0x9389,
+0x0010, 0x2412, 0x407C, 0x00F4, 0x0B0F, 0x134F, 0x491C, 0x0012, 0x080F,
+0x134F, 0xC91C, 0x0010, 0xD91C, 0x0016, 0x080F, 0x134F, 0x403C, 0x0014,
+0x1380, 0x2B86, 0x492F, 0xD91F, 0x0002, 0x930F, 0x2416, 0x407C, 0x0054,
+0x0B0F, 0x134F, 0x491C, 0x0004, 0x491D, 0x0006, 0x0A3F, 0x001C, 0x134F,
+0x491C, 0x000C, 0x491D, 0x000E, 0x0A3F, 0x001C, 0x134F, 0x403C, 0x0014,
+0x1380, 0x2B86, 0x9037, 0x0099, 0x200B, 0x407C, 0x00F4, 0x0B0F, 0x134F,
+0x430C, 0x080F, 0x134F, 0xF03C, 0xFF7F, 0x080F, 0x134F, 0x410D, 0x503D,
+0x0012, 0x403C, 0xAA01, 0x060F, 0x0F3F, 0x0058, 0x134F, 0x930C, 0x2404,
+0x1800, 0x41D1, 0x0012, 0x001A, 0x013F, 0x001A, 0x03DF, 0x2402, 0x439F,
+0x0000, 0x407C, 0x00A8, 0x0B0F, 0x134F, 0x9381, 0x0006, 0x2402, 0x1380,
+0x2B7E, 0x430C, 0x5031, 0x001E, 0x1674, 0x0110, 0x147B, 0x8031, 0x0022,
+0x4381, 0x001E, 0x4381, 0x0020, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381,
+0x001A, 0x4381, 0x001C, 0x40B1, 0x0010, 0x0008, 0x4381, 0x000A, 0x4381,
+0x000C, 0x4381, 0x0004, 0x3C02, 0x1380, 0x2BD2, 0x9381, 0x000C, 0x2402,
+0x0180, 0x5D8E, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0012, 0x4381,
+0x0014, 0x410C, 0x503C, 0x001E, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x3403, 0x403C, 0xFFC6, 0x3DEF, 0x410C, 0x530C, 0x002F, 0x2C26,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x380E, 0x410F, 0x503F, 0x001A, 0x0F71,
+0x0016, 0x013C, 0x0016, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x3403, 0x403C, 0xFFC4, 0x3DD5, 0x410C, 0x523C, 0x002F, 0x2C26, 0x0F3F,
+0x0030, 0x134F, 0x4C81, 0x000C, 0x930C, 0x3403, 0x403C, 0xFFC3, 0x3DC7,
+0x4124, 0x4115, 0x0002, 0x4116, 0x001A, 0x4117, 0x001C, 0x92A1, 0x001E,
+0x202F, 0x9381, 0x0020, 0x202C, 0x42B1, 0x0008, 0x4381, 0x000A, 0x43C1,
+0x0006, 0x92F1, 0x0006, 0x2C2B, 0x440C, 0x450D, 0x460E, 0x470F, 0x415B,
+0x0006, 0x13B1, 0xCE06, 0xF31C, 0x410B, 0x503B, 0x000E, 0x4B38, 0x4B39,
+0x4B3A, 0x4B3B, 0x5808, 0x6909, 0x6A0A, 0x6B0B, 0xDC08, 0x4881, 0x000E,
+0x4981, 0x0010, 0x4A81, 0x0012, 0x4B81, 0x0014, 0x415E, 0x0006, 0x535E,
+0x4EC1, 0x0006, 0x3FDA, 0x4481, 0x000E, 0x4581, 0x0010, 0x4681, 0x0012,
+0x4781, 0x0014, 0x411E, 0x001E, 0x411F, 0x0020, 0x930F, 0x2179, 0x903E,
+0x0014, 0x2D76, 0x065E, 0x1880, 0x4E50, 0x5AA0, 0x597C, 0x0001, 0x5AF6,
+0x0001, 0x5AF6, 0x0001, 0x5B0C, 0x0001, 0x5B22, 0x0001, 0x5B6E, 0x0001,
+0x5C40, 0x0001, 0x5C56, 0x0001, 0x5C68, 0x0001, 0x5CA2, 0x0001, 0x5CD8,
+0x0001, 0x5CF6, 0x0001, 0x5AFE, 0x0001, 0x5AF0, 0x0001, 0x5B48, 0x0001,
+0x5D06, 0x0001, 0x5D26, 0x0001, 0x5D48, 0x0001, 0x5B06, 0x0001, 0x5C9A,
+0x0001, 0x1380, 0x2BD6, 0x3F45, 0x444C, 0x1380, 0x2B7A, 0x3F41, 0x431C,
+0x1380, 0x2BA6, 0x3F3D, 0x1380, 0x2BCA, 0x3F3A, 0x1380, 0x2B7E, 0x412F,
+0xD11F, 0x0002, 0x930F, 0x2733, 0x430C, 0x1380, 0x2B66, 0x3F2F, 0x415C,
+0x000E, 0x1380, 0x2BDA, 0x4C4C, 0x430D, 0x002F, 0x2C26, 0x0F3F, 0x0014,
+0x134F, 0x430C, 0x430D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x3F1C,
+0x415C, 0x000E, 0x1380, 0x2BDE, 0x4C4C, 0x430D, 0x002F, 0x2C26, 0x0F3F,
+0x0014, 0x134F, 0x430C, 0x430D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F,
+0x3F09, 0x411E, 0x0008, 0x411F, 0x000A, 0x830F, 0x2060, 0x823E, 0x240E,
+0x823E, 0x2423, 0x822E, 0x242A, 0x803E, 0x000C, 0x2434, 0x803E, 0x0003,
+0x244A, 0x803E, 0x001D, 0x2439, 0x3C50, 0x415C, 0x000E, 0x1380, 0x2BE2,
+0x4C48, 0x4309, 0x430A, 0x430B, 0x480C, 0x490D, 0x002F, 0x2C26, 0x0F3F,
+0x0014, 0x134F, 0x4A0C, 0x4B0D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F,
+0x3EDC, 0x411C, 0x000E, 0x1380, 0x2BE6, 0x4C08, 0x4309, 0x430A, 0x430B,
+0x3FE8, 0x411C, 0x000E, 0x411D, 0x0010, 0xF03D, 0x000F, 0x1380, 0x2BEA,
+0x4C08, 0x4D09, 0x430A, 0x430B, 0x3FDB, 0x411C, 0x000E, 0x411D, 0x0010,
+0x1380, 0x2BEE, 0x4C08, 0x4D09, 0x430A, 0x430B, 0x3FD0, 0x410F, 0x503F,
+0x000E, 0x4F3C, 0x4F3D, 0x4F3E, 0x4F3F, 0x1380, 0x2BF6, 0x4C08, 0x4D09,
+0x4E0A, 0x4F0B, 0x3FC2, 0x410C, 0x503C, 0x000E, 0x1380, 0x2BF2, 0x4C08,
+0x4D09, 0x4E0A, 0x4F0B, 0x3FB8, 0x403C, 0xFFC2, 0x3CA9, 0x407C, 0x0054,
+0x1380, 0x2BDA, 0x411C, 0x000E, 0x411D, 0x0010, 0x1380, 0x2BEE, 0x3E95,
+0x407C, 0x00F4, 0x1380, 0x2BDA, 0x411C, 0x000E, 0x1380, 0x2BE6, 0x3E8C,
+0x407C, 0x0046, 0x1380, 0x2BDA, 0x430C, 0x430D, 0x430E, 0x430F, 0x1380,
+0x2BF6, 0x4E0A, 0x4F0B, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x4A0C,
+0x4B0D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x3E73, 0x444C, 0x1380,
+0x2C02, 0x3E6F, 0x90B1, 0x0010, 0x0008, 0x2007, 0x9381, 0x000A, 0x2004,
+0x440C, 0x13B1, 0xC120, 0x3C0B, 0x90B1, 0x0020, 0x0008, 0x2009, 0x9381,
+0x000A, 0x2006, 0x450D, 0x440C, 0x13B1, 0xBE82, 0x935C, 0x2257, 0x403C,
+0xFFCF, 0x3C5D, 0x13B0, 0xFDC0, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F,
+0x430C, 0x430D, 0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x3E45, 0x440C,
+0x1380, 0x2B72, 0x008C, 0x2BD2, 0x13B0, 0x1880, 0x3E3D, 0x411E, 0x0008,
+0x013D, 0x0016, 0x444C, 0x1380, 0x2C12, 0x931C, 0x3403, 0x403F, 0xFFBA,
+0x3C01, 0x430F, 0x4F81, 0x0004, 0x3C24, 0x411F, 0x0008, 0x013E, 0x0016,
+0x440C, 0x450D, 0x1380, 0x2C16, 0x931C, 0x3403, 0x403F, 0xFFBA, 0x3C01,
+0x430F, 0x4F81, 0x0004, 0x3C13, 0x1211, 0x000A, 0x013D, 0x0018, 0x440E,
+0x450F, 0x411C, 0x000C, 0x1380, 0x2C1A, 0x5321, 0x931C, 0x3403, 0x403F,
+0xFFBA, 0x3C01, 0x430F, 0x4F81, 0x0004, 0x411C, 0x001A, 0x411D, 0x001C,
+0x002F, 0x2C26, 0x0F3F, 0x0014, 0x134F, 0x0180, 0x5980, 0x40B1, 0xFFC5,
+0x0004, 0x0180, 0x5980, 0x411C, 0x0004, 0x5031, 0x0022, 0x1674, 0x0110,
+0x147B, 0x8031, 0x0020, 0x1800, 0x43C1, 0x0014, 0x008A, 0x2C26, 0x410C,
+0x503C, 0x000C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFE8, 0x3DE7, 0x410C, 0x503C, 0x000A, 0x0A0F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2403, 0x403C, 0xFFE7, 0x3DDB, 0x410C, 0x503C, 0x001C, 0x0A0F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3DCF, 0x410C,
+0x523C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE5,
+0x3DC4, 0x410C, 0x503C, 0x0006, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFE4, 0x3DB8, 0x410C, 0x522C, 0x0A0F, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x2403, 0x403C, 0xFFE3, 0x3DAD, 0x410C, 0x532C, 0x0A0F,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2002, 0x4381, 0x0002, 0x432C, 0x0A0F,
+0x0F3F, 0x0038, 0x134F, 0x4115, 0x0008, 0x0086, 0x2BD2, 0x06CB, 0x00AB,
+0x0008, 0x4077, 0x00C8, 0x474C, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0014,
+0x403C, 0x3401, 0x080F, 0x134F, 0x4074, 0x0082, 0x444C, 0x0B0F, 0x134F,
+0x403C, 0x4032, 0x080F, 0x134F, 0x06C9, 0x00A9, 0x0030, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x444C,
+0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x0042, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x444C, 0x0B0F, 0x134F,
+0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x4191, 0x000A, 0x0000, 0x4115, 0x000C, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x3FFF, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x427C, 0x063F, 0x0010, 0x134F,
+0x407C, 0x00C1, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x407C, 0x00A1,
+0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F,
+0x4075, 0x0021, 0x454C, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4116,
+0x001C, 0x474C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x444C,
+0x0B0F, 0x134F, 0x403C, 0x4030, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x460C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0012, 0x4076, 0x0090,
+0x464C, 0x0B0F, 0x134F, 0x403C, 0x0003, 0x080F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x000E, 0x403C, 0x000B, 0x080F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0010, 0x403C, 0x0013, 0x080F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C07, 0x4781, 0x0012, 0x432C, 0x080F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x403C, 0x000A, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x403C,
+0x0012, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x432C, 0x080F, 0x134F,
+0x411C, 0x000E, 0x080F, 0x134F, 0x403C, 0x000A, 0x080F, 0x134F, 0x411C,
+0x0010, 0x080F, 0x134F, 0x403C, 0x0012, 0x080F, 0x134F, 0x470C, 0x080F,
+0x134F, 0x0087, 0x2890, 0x472F, 0xD71F, 0x0002, 0x930F, 0x241B, 0x9387,
+0x0004, 0x2418, 0x464C, 0x0B0F, 0x134F, 0x403C, 0x0089, 0x080F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C81, 0x0000, 0x464C, 0x0B0F, 0x134F, 0x403C,
+0x0088, 0x080F, 0x134F, 0x412C, 0xF03C, 0xFFEF, 0x080F, 0x134F, 0x93A7,
+0x0000, 0x200D, 0x9387, 0x0002, 0x200A, 0x464C, 0x0B0F, 0x134F, 0x440C,
+0x080F, 0x134F, 0x403C, 0x000F, 0x080F, 0x134F, 0x90B7, 0x0003, 0x0000,
+0x200C, 0x9387, 0x0002, 0x2009, 0x464C, 0x0B0F, 0x134F, 0x440C, 0x080F,
+0x134F, 0x423C, 0x080F, 0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x411C,
+0x0006, 0x080F, 0x134F, 0x9381, 0x0004, 0x2411, 0x444C, 0x0B0F, 0x134F,
+0x411C, 0x0004, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x454C, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x3C03, 0x454C, 0x0B0F, 0x134F, 0x410D,
+0x503D, 0x0018, 0x403C, 0xAA01, 0x0A0F, 0x0F3F, 0x0058, 0x134F, 0x930C,
+0x2404, 0x1800, 0x41D1, 0x0018, 0x0014, 0x013F, 0x0014, 0x03DF, 0x2402,
+0x439F, 0x0000, 0x407C, 0x00A8, 0x0B0F, 0x134F, 0x9381, 0x0002, 0x2402,
+0x1380, 0x2B7E, 0x430C, 0x5031, 0x0020, 0x1674, 0x0110, 0x147B, 0x8321,
+0x0CCA, 0x4C25, 0x0086, 0x2BD2, 0x06CB, 0x00AB, 0x0008, 0x4074, 0x00C8,
+0x444C, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F,
+0x134F, 0x4079, 0x0082, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4035, 0x080F,
+0x134F, 0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x4077, 0x0042, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x4035, 0x2401, 0x450C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0002, 0x0000, 0x444C,
+0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x4036, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x4A91, 0x0004, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4039, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C,
+0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91,
+0x0006, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x4038, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0008, 0x0000, 0x444C,
+0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x403A, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x4A91, 0x000A, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x403B, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C,
+0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A1A,
+0x000C, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x403C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x4A0C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x5321, 0x1674, 0x0110, 0x147B, 0x8321,
+0x0CCA, 0x4C25, 0x0086, 0x2BD2, 0x06CB, 0x00AB, 0x0008, 0x4074, 0x00C8,
+0x444C, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F,
+0x134F, 0x4079, 0x0082, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4035, 0x080F,
+0x134F, 0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x4077, 0x0042, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x4035, 0x2401, 0x450C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0002, 0x0000, 0x444C,
+0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x4036, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x4A91, 0x0004, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x4039, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C,
+0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91,
+0x0006, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0B0F, 0x134F, 0x403C, 0x4038, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD,
+0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A91, 0x0008, 0x0000, 0x444C,
+0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x403C, 0x403A, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x4A91, 0x000A, 0x0000, 0x444C, 0x0B0F, 0x134F, 0x403C,
+0x3401, 0x080F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x403B, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x494C, 0x0B0F, 0x134F, 0x412C, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x403C, 0x3FFD, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C,
+0x0B0F, 0x134F, 0x450C, 0x080F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A1A,
+0x000C, 0x444C, 0x0B0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F, 0x494C,
+0x0B0F, 0x134F, 0x403C, 0x403C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x4A0C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F, 0x403C, 0x3FFD, 0x080F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F, 0x134F, 0x450C, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x5321, 0x1674, 0x0110, 0x147B, 0x8231,
+0x4C07, 0x4304, 0x0086, 0x2C26, 0xB31C, 0x2892, 0x0088, 0x2842, 0x08CC,
+0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3DC0,
+0x008C, 0x283E, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFFA, 0x3DB5, 0x008A, 0x2BD2, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x4C4C, 0x1840, 0x4C82, 0x284A, 0x482E, 0x481F, 0x0002,
+0x108E, 0x108F, 0xEF4E, 0xEF0E, 0x4E05, 0xF035, 0x0F00, 0x5035, 0x0080,
+0x1840, 0x4582, 0x2846, 0x48A8, 0x0000, 0x4388, 0x0002, 0x1840, 0x48A1,
+0x0002, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x430C,
+0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x450C, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400,
+0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x411C, 0x0002, 0x080F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x4303, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F,
+0x0018, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0500, 0x080F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x00C2, 0x0B0F, 0x134F, 0xB327,
+0x2C0A, 0x407C, 0x0091, 0x060F, 0x0F3F, 0x0024, 0x134F, 0x060F, 0x0F3F,
+0x0004, 0x134F, 0x410D, 0x530D, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x0034,
+0x134F, 0x3C1B, 0x008A, 0x2BD2, 0x435C, 0x0A3F, 0x0030, 0x134F, 0x013F,
+0x0004, 0x1800, 0x53E1, 0x0004, 0x4F2C, 0x0A3F, 0x0014, 0x134F, 0x412F,
+0x832F, 0x4F81, 0x0000, 0x434C, 0x0A3F, 0x0030, 0x134F, 0x53BB, 0x0000,
+0x63BB, 0x0002, 0x008B, 0x283E, 0x4B2F, 0xDB1F, 0x0002, 0x930F, 0x2403,
+0x9381, 0x0000, 0x23DB, 0xB327, 0x287C, 0x008A, 0x2BD2, 0x0ACB, 0x00AB,
+0x0008, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C,
+0x0501, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F,
+0x1840, 0x421F, 0x284A, 0x903F, 0x0091, 0x2406, 0x903F, 0x0099, 0x2403,
+0x903F, 0x0098, 0x2052, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x422C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x403C, 0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021,
+0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00C8,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x1840, 0x421C, 0x2848, 0x060F, 0x0F3F,
+0x0010, 0x134F, 0x3C81, 0x4B3F, 0xDB3F, 0x930F, 0x2407, 0x407C, 0x0091,
+0x060F, 0x0F3F, 0x0024, 0x134F, 0x3C76, 0x008A, 0x2BD2, 0x0ACB, 0x00AB,
+0x0008, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C,
+0x0501, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F,
+0x1840, 0x421F, 0x284A, 0x903F, 0x0091, 0x2406, 0x903F, 0x0099, 0x2403,
+0x903F, 0x0098, 0x2052, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x422C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x403C, 0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021,
+0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00C8,
+0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x4034, 0xFFF6, 0x440C, 0x5231, 0x1674,
+0x0110, 0x147B, 0x8031, 0x001A, 0x1800, 0x43C1, 0x000E, 0x0086, 0x2C26,
+0x410C, 0x503C, 0x000A, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403,
+0x403C, 0xFFE8, 0x3D8D, 0x410C, 0x523C, 0x060F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x2403, 0x403C, 0xFFE7, 0x3D82, 0x410C, 0x503C, 0x0016, 0x060F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3D76, 0x410C,
+0x503C, 0x0006, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFE5, 0x3D6A, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFE4, 0x3D5F, 0x410C, 0x532C, 0x060F, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x2403, 0x403C, 0xFFE3, 0x3D54, 0x410C, 0x530C, 0x060F,
+0x0F3F, 0x002C, 0x134F, 0x933C, 0x2002, 0x4381, 0x0000, 0x432C, 0x060F,
+0x0F3F, 0x0038, 0x134F, 0x4114, 0x0006, 0x008A, 0x2BD2, 0x0ACB, 0x00AB,
+0x0008, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x0AC7, 0x00A7, 0x0010, 0x407C,
+0x0034, 0x070F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x0AC8, 0x00A8,
+0x0030, 0x435C, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0014, 0x403C, 0x0082,
+0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x440C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0042, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024, 0x070F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4191, 0x0008, 0x000C, 0x4114, 0x000A,
+0x407C, 0x0082, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2409, 0x090F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0048,
+0x0B0F, 0x134F, 0x427C, 0x070F, 0x134F, 0x407C, 0x00C1, 0x0B0F, 0x134F,
+0x440C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x0B0F, 0x134F,
+0x411C, 0x000C, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x4114, 0x0016,
+0x4115, 0x0018, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034, 0x070F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x440C, 0x450F, 0x108C, 0x108F,
+0xEF4C, 0xEF0C, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x440C, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0088, 0x0B0F, 0x134F, 0x407C, 0x0024,
+0x070F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1840, 0x93A2, 0x2890, 0x2014,
+0x1840, 0x9382, 0x2892, 0x2010, 0x407C, 0x00B0, 0x0B0F, 0x134F, 0x403C,
+0x0082, 0x430D, 0x0A3F, 0x001C, 0x134F, 0x403C, 0x000F, 0x430D, 0x0A3F,
+0x001C, 0x134F, 0x407C, 0x0030, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x090F,
+0x134F, 0x9381, 0x0002, 0x2413, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x411C,
+0x0002, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x3C04, 0x407C, 0x0021, 0x0B0F, 0x134F,
+0x410D, 0x503D, 0x0012, 0x403C, 0xAA01, 0x060F, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2404, 0x1800, 0x41D1, 0x0012, 0x000E, 0x013F, 0x000E, 0x03DF,
+0x2402, 0x439F, 0x0000, 0x407C, 0x00A8, 0x0B0F, 0x134F, 0x9381, 0x0000,
+0x2402, 0x1380, 0x2B7E, 0x430C, 0x5031, 0x001A, 0x1674, 0x0110, 0x147B,
+0x0CC5, 0x4C2A, 0x4C1B, 0x0002, 0x0084, 0x2BD2, 0x04C8, 0x00A8, 0x0030,
+0x434C, 0x080F, 0x134F, 0x04C9, 0x00A9, 0x0008, 0x407C, 0x0082, 0x090F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x04C6, 0x00A6, 0x0014, 0x4A0C, 0x4B0F,
+0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00, 0x503C, 0x0085, 0x060F,
+0x134F, 0x4077, 0x00C8, 0x474C, 0x090F, 0x134F, 0x403C, 0x1401, 0x060F,
+0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021, 0x090F,
+0x134F, 0x00A4, 0x0018, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x451A, 0x0004, 0x451B,
+0x0006, 0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C,
+0x0F00, 0x503C, 0x0086, 0x060F, 0x134F, 0x474C, 0x090F, 0x134F, 0x403C,
+0x1401, 0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x451A, 0x0008, 0x451B,
+0x000A, 0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C,
+0x0F00, 0x503C, 0x0089, 0x060F, 0x134F, 0x474C, 0x090F, 0x134F, 0x403C,
+0x1401, 0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x451A, 0x000C, 0x451B,
+0x000E, 0x434C, 0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x4A0C, 0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C,
+0x0F00, 0x503C, 0x0088, 0x060F, 0x134F, 0x474C, 0x090F, 0x134F, 0x403C,
+0x1401, 0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x474C, 0x090F, 0x134F, 0x403C, 0x0501, 0x060F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0042, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x1674, 0x0110, 0x147B,
+0x8031, 0x0024, 0x018F, 0xD12E, 0x1840, 0x4FF1, 0x000C, 0x1840, 0x4FF1,
+0x000D, 0x1840, 0x4FF1, 0x000E, 0x1840, 0x4FF1, 0x000F, 0x008A, 0x2BD2,
+0x0ACC, 0x13B0, 0x1880, 0x0086, 0x2C26, 0x410C, 0x530C, 0x060F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFDD, 0x3D36, 0x410C, 0x523C,
+0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFDC, 0x3D2B,
+0x4104, 0x5034, 0x0010, 0x1404, 0x430F, 0x434E, 0x422D, 0x410C, 0x503C,
+0x0010, 0x060B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x290A,
+0x134F, 0x4C0B, 0x04CC, 0x060F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x930B,
+0x3402, 0x4B0C, 0x3D0D, 0x4307, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0048,
+0x0B0F, 0x134F, 0x435C, 0x0A3F, 0x0010, 0x134F, 0x0AC8, 0x00A8, 0x0030,
+0x435C, 0x080F, 0x134F, 0x3C07, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x5317, 0x0AC9, 0x00A9, 0x0014, 0x9037, 0x000A, 0x2C11, 0x407C,
+0x0028, 0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0xF07C, 0x0081, 0x907C,
+0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E2, 0x4077, 0x0082,
+0x1840, 0x9382, 0x2B40, 0x2458, 0x4125, 0x8225, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x3401, 0x090F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x4030, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x450C, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8,
+0x0B0F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x41A1, 0x0004, 0x4191, 0x0002, 0x0006, 0x474C, 0x0B0F, 0x134F, 0x403C,
+0x3FFF, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x2409, 0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x832C, 0x090F,
+0x134F, 0x3C30, 0x41A1, 0x0004, 0x4191, 0x0002, 0x0006, 0x474C, 0x0B0F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x4030, 0x090F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411C, 0x0004, 0x832C, 0x090F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0021,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x407C, 0x0022, 0x0B0F, 0x134F,
+0x411C, 0x0008, 0x411D, 0x000A, 0x0A3F, 0x0034, 0x134F, 0x407C, 0x0062,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x060F, 0x0F3F, 0x0010, 0x134F,
+0x435C, 0x080F, 0x134F, 0x1840, 0x9382, 0x2B40, 0x2419, 0x434C, 0x080F,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x407C, 0x0028,
+0x0B0F, 0x134F, 0x430C, 0x090F, 0x134F, 0x1404, 0x430F, 0x434E, 0x422D,
+0x410C, 0x503C, 0x0010, 0x060B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003,
+0x002F, 0x290A, 0x134F, 0x4C0B, 0x04CC, 0x060F, 0x0F3F, 0x0020, 0x134F,
+0x4B0C, 0x5221, 0x5031, 0x0024, 0x1674, 0x0110, 0x147B, 0x8031, 0x003E,
+0x430A, 0x4307, 0x4305, 0x3C08, 0x410C, 0x503C, 0x0018, 0x5A0C, 0x0F3F,
+0x0028, 0x134F, 0x531A, 0x0089, 0x2C26, 0x090F, 0x903A, 0x0012, 0x2BF2,
+0x432C, 0x0F3F, 0x0038, 0x134F, 0x430A, 0x3C08, 0x410C, 0x530C, 0x5A0C,
+0x090F, 0x0F3F, 0x0028, 0x134F, 0x531A, 0x922A, 0x2BF6, 0x0086, 0x2BD2,
+0x06C8, 0x00A8, 0x0008, 0xB0F1, 0x0010, 0x0020, 0x280C, 0x4227, 0x407C,
+0x0028, 0x080F, 0x134F, 0x430C, 0x063F, 0x0014, 0x134F, 0xB22C, 0x2C01,
+0x4315, 0x407C, 0x00B0, 0x080F, 0x134F, 0x06CB, 0x00AB, 0x001C, 0x403C,
+0x0003, 0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F, 0x134F, 0x4C81,
+0x0014, 0x4D81, 0x0016, 0x403C, 0x0005, 0x430D, 0x0B0F, 0x134F, 0x430C,
+0x430D, 0x0B0F, 0x134F, 0x4C81, 0x0010, 0x4D81, 0x0012, 0x403C, 0x0007,
+0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F, 0x134F, 0x4C81, 0x000C,
+0x4D81, 0x000E, 0x403C, 0x0081, 0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D,
+0x0B0F, 0x134F, 0x4C81, 0x0008, 0x4D81, 0x000A, 0x431C, 0x430D, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x0B0F, 0x134F, 0x4C81, 0x0004, 0x4D81, 0x0006,
+0x407C, 0x00B0, 0x080F, 0x134F, 0x432C, 0x430D, 0x0B0F, 0x134F, 0x470C,
+0x430D, 0x0B0F, 0x134F, 0x422C, 0x430D, 0x0B0F, 0x134F, 0x433C, 0x433D,
+0x0B0F, 0x134F, 0x403C, 0x0006, 0x430D, 0x0B0F, 0x134F, 0x431C, 0x430D,
+0x0B0F, 0x134F, 0x403C, 0x0080, 0x430D, 0x0B0F, 0x134F, 0x431C, 0x430D,
+0x0B0F, 0x134F, 0x4107, 0x5037, 0x002A, 0x1407, 0x430F, 0x434E, 0x403D,
+0x0012, 0x410C, 0x503C, 0x001C, 0x0904, 0x0434, 0x001C, 0x1344, 0x403C,
+0x0003, 0x002F, 0x2994, 0x134F, 0x4C04, 0x07CC, 0x090F, 0x0F3F, 0x0020,
+0x134F, 0x5221, 0x9304, 0x206E, 0x3C09, 0x4305, 0x407C, 0x0021, 0x080F,
+0x134F, 0x407C, 0x00A8, 0x080F, 0x134F, 0x407C, 0x00D0, 0x080F, 0x134F,
+0x531A, 0x430C, 0x063F, 0x0014, 0x134F, 0x934C, 0x3803, 0x903A, 0x0064,
+0x2BF6, 0x903A, 0x0064, 0x2803, 0x403C, 0xFFCC, 0x3C51, 0x9305, 0x23E1,
+0x407C, 0x00B0, 0x080F, 0x134F, 0x432C, 0x430D, 0x0B0F, 0x134F, 0x411C,
+0x0014, 0x411D, 0x0016, 0x0B0F, 0x134F, 0x422C, 0x430D, 0x0B0F, 0x134F,
+0x411C, 0x0010, 0x411D, 0x0012, 0x0B0F, 0x134F, 0x403C, 0x0006, 0x430D,
+0x0B0F, 0x134F, 0x411C, 0x000C, 0x411D, 0x000E, 0x0B0F, 0x134F, 0x403C,
+0x0080, 0x430D, 0x0B0F, 0x134F, 0x411C, 0x0008, 0x411D, 0x000A, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006,
+0x0B0F, 0x134F, 0x1407, 0x430F, 0x435E, 0x422D, 0x410C, 0x522C, 0x090B,
+0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x298E, 0x134F, 0x4C04,
+0x07CC, 0x090F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x440C, 0x5031, 0x003E,
+0x1674, 0x0110, 0x147B, 0x8031, 0x0062, 0x4334, 0x430A, 0x410C, 0x503C,
+0x001C, 0x018E, 0xD15B, 0x008D, 0x001F, 0x13B1, 0xCF3E, 0x4381, 0x0000,
+0x3C08, 0x410C, 0x503C, 0x003C, 0x5A0C, 0x0F3F, 0x0028, 0x134F, 0x531A,
+0x008B, 0x2C26, 0x0B0F, 0x903A, 0x0012, 0x2BF2, 0x410C, 0x530C, 0x0F3F,
+0x002C, 0x134F, 0x430A, 0x3C08, 0x410C, 0x532C, 0x5A0C, 0x0B0F, 0x0F3F,
+0x0028, 0x134F, 0x531A, 0x922A, 0x2BF6, 0x4108, 0x5038, 0x004E, 0x0086,
+0x289C, 0x4037, 0x0003, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000,
+0x2819, 0x1408, 0x403F, 0x0016, 0x410E, 0x503E, 0x000A, 0x403D, 0x001F,
+0x410C, 0x503C, 0x0020, 0x0B09, 0x0939, 0x001C, 0x1349, 0x470C, 0x063F,
+0x0182, 0x134F, 0x08CC, 0x0B0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x1408,
+0x430F, 0x434E, 0x403D, 0x0012, 0x410C, 0x503C, 0x0040, 0x0B09, 0x0939,
+0x001C, 0x1349, 0x470C, 0x063F, 0x016A, 0x134F, 0x08CC, 0x0B0F, 0x0F3F,
+0x0020, 0x134F, 0x0089, 0x2BD2, 0x407C, 0x0046, 0x093F, 0x0008, 0x134F,
+0x430C, 0x430D, 0x430E, 0x430F, 0x0935, 0x0024, 0x1345, 0x5221, 0xB03F,
+0x4000, 0x2802, 0x430C, 0x3CAB, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1,
+0x0000, 0x288D, 0x407C, 0x0046, 0x093F, 0x0008, 0x134F, 0x531A, 0x430C,
+0x430D, 0x430E, 0x430F, 0x0935, 0x0024, 0x1345, 0xB03F, 0x0400, 0x2C03,
+0x903A, 0x01F4, 0x2BF2, 0x903A, 0x01F4, 0x2C8D, 0x1408, 0x430F, 0x435E,
+0x422D, 0x410C, 0x503C, 0x0006, 0x0B0A, 0x0A3A, 0x001C, 0x134A, 0x470C,
+0x063F, 0x0164, 0x134F, 0x4C04, 0x08CC, 0x0B0F, 0x0F3F, 0x0020, 0x134F,
+0x40F1, 0x0005, 0x0020, 0x43C1, 0x0021, 0x41D1, 0x000A, 0x0022, 0x41D1,
+0x000B, 0x0023, 0x41D1, 0x000C, 0x0024, 0x41D1, 0x000D, 0x0025, 0x43E1,
+0x0026, 0x41D1, 0x000E, 0x0027, 0x41D1, 0x000F, 0x0028, 0x41D1, 0x0010,
+0x0029, 0x41D1, 0x0011, 0x002A, 0x42E1, 0x002B, 0x41D1, 0x0012, 0x002C,
+0x41D1, 0x0013, 0x002D, 0x41D1, 0x0014, 0x002E, 0x41D1, 0x0015, 0x002F,
+0x40F1, 0x0006, 0x0030, 0x41D1, 0x0016, 0x0031, 0x41D1, 0x0017, 0x0032,
+0x41D1, 0x0018, 0x0033, 0x41D1, 0x0019, 0x0034, 0x40F1, 0x0080, 0x0035,
+0x41D1, 0x001A, 0x0036, 0x41D1, 0x001B, 0x0037, 0x41D1, 0x001C, 0x0038,
+0x41D1, 0x001D, 0x0039, 0x1408, 0x430F, 0x434E, 0x403D, 0x001F, 0x410C,
+0x503C, 0x0024, 0x0B0A, 0x0A3A, 0x001C, 0x134A, 0x470C, 0x063F, 0x0182,
+0x134F, 0x08CC, 0x0B0F, 0x0F3F, 0x0020, 0x134F, 0x5231, 0x3C16, 0x1408,
+0x430F, 0x435E, 0x422D, 0x410C, 0x503C, 0x0006, 0x0B0A, 0x0A3A, 0x001C,
+0x134A, 0x470C, 0x063F, 0x0164, 0x134F, 0x4C04, 0x08CC, 0x0B0F, 0x0F3F,
+0x0020, 0x134F, 0x5221, 0x440C, 0x5031, 0x0062, 0x1674, 0x0110, 0x147B,
+0x8031, 0x000C, 0x0086, 0x2BD2, 0x06CA, 0x00AA, 0x0008, 0x407C, 0x0028,
+0x0A0F, 0x134F, 0x4C4C, 0x4C81, 0x0000, 0x4319, 0x3CC4, 0x411C, 0x0006,
+0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C,
+0x3FFD, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x9387, 0x0000, 0x2407,
+0x444C, 0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x4C81,
+0x0004, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x4C81, 0x0002, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x9387, 0x0000, 0x2007, 0x444C, 0x0A0F, 0x134F,
+0x403C, 0x0501, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x411E, 0x0004, 0x411F, 0x0002,
+0x4E81, 0x0008, 0x4F81, 0x000A, 0x403D, 0x0003, 0x410C, 0x523C, 0x002F,
+0x2C26, 0x0F3F, 0x000C, 0x134F, 0x90B1, 0x0091, 0x0000, 0x2408, 0x90B1,
+0x0099, 0x0000, 0x2404, 0x90B1, 0x0098, 0x0000, 0x204E, 0x407C, 0x0028,
+0x0A0F, 0x134F, 0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x454C,
+0x0A0F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0080, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x444C, 0x0A0F, 0x134F, 0x403C, 0x1400, 0x0B0F,
+0x134F, 0x454C, 0x0A0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x422C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x403C, 0x4303, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0A0F, 0x134F, 0x430C, 0x430D, 0x063F, 0x0018, 0x134F, 0x444C,
+0x0A0F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x0A0F, 0x134F, 0x5319, 0x9039, 0x0010, 0x2C48, 0x9329,
+0x2001, 0x4229, 0x4947, 0x1087, 0xF037, 0x0F00, 0x5037, 0x0060, 0x407C,
+0x0028, 0x0A0F, 0x134F, 0x4C4C, 0x903C, 0x0098, 0x2403, 0x403F, 0x018C,
+0x3C02, 0x403F, 0x014C, 0x4F81, 0x0006, 0x06C8, 0x00A8, 0x0030, 0x434C,
+0x080F, 0x134F, 0x4075, 0x0082, 0x454C, 0x0A0F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x06CB, 0x00AB, 0x0014, 0x470C, 0x0B0F, 0x134F, 0x4074, 0x00C8,
+0x444C, 0x0A0F, 0x134F, 0x403C, 0x1401, 0x0B0F, 0x134F, 0x454C, 0x0A0F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0x0087, 0x2B3E,
+0x9387, 0x0000, 0x26F6, 0x403C, 0x0FF6, 0x0B0F, 0x134F, 0x3EF5, 0x13B0,
+0xFDC0, 0x4C81, 0x0008, 0x4D81, 0x000A, 0x430C, 0x5031, 0x000C, 0x1674,
+0x0110, 0x147B, 0x8031, 0x0062, 0x4336, 0x4309, 0x410C, 0x503C, 0x001C,
+0x018E, 0xD17A, 0x008D, 0x001F, 0x13B1, 0xCF3E, 0x4381, 0x0000, 0x3C08,
+0x410C, 0x503C, 0x003C, 0x590C, 0x0F3F, 0x0028, 0x134F, 0x5319, 0x008A,
+0x2C26, 0x0A0F, 0x9039, 0x0012, 0x2BF2, 0x410C, 0x530C, 0x0F3F, 0x002C,
+0x134F, 0x4309, 0x3C08, 0x410C, 0x532C, 0x590C, 0x0A0F, 0x0F3F, 0x0028,
+0x134F, 0x5319, 0x9229, 0x2BF6, 0x410B, 0x503B, 0x004E, 0x0088, 0x289C,
+0x4037, 0x0003, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2819,
+0x140B, 0x403F, 0x0016, 0x410E, 0x503E, 0x000A, 0x403D, 0x001F, 0x410C,
+0x503C, 0x0020, 0x0A04, 0x0434, 0x001C, 0x1344, 0x470C, 0x083F, 0x0182,
+0x134F, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x140B, 0x430F,
+0x434E, 0x403D, 0x0012, 0x410C, 0x503C, 0x0040, 0x0A04, 0x0434, 0x001C,
+0x1344, 0x470C, 0x083F, 0x016A, 0x134F, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020,
+0x134F, 0x5221, 0xB0F1, 0x0010, 0x0044, 0x2803, 0xB2A1, 0x0000, 0x2887,
+0x407C, 0x00D0, 0x1380, 0x2BDA, 0x5319, 0x430C, 0x1380, 0x2BE6, 0x934C,
+0x3803, 0x9039, 0x01F4, 0x2BF7, 0x9039, 0x01F4, 0x2C99, 0x140B, 0x430F,
+0x435E, 0x422D, 0x410C, 0x503C, 0x0006, 0x0A09, 0x0939, 0x001C, 0x1349,
+0x470C, 0x083F, 0x0164, 0x134F, 0x4C06, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020,
+0x134F, 0x40F1, 0x0005, 0x0020, 0x43C1, 0x0021, 0x41D1, 0x000A, 0x0022,
+0x41D1, 0x000B, 0x0023, 0x41D1, 0x000C, 0x0024, 0x41D1, 0x000D, 0x0025,
+0x43E1, 0x0026, 0x41D1, 0x000E, 0x0027, 0x41D1, 0x000F, 0x0028, 0x41D1,
+0x0010, 0x0029, 0x41D1, 0x0011, 0x002A, 0x42E1, 0x002B, 0x41D1, 0x0012,
+0x002C, 0x41D1, 0x0013, 0x002D, 0x41D1, 0x0014, 0x002E, 0x41D1, 0x0015,
+0x002F, 0x40F1, 0x0006, 0x0030, 0x41D1, 0x0016, 0x0031, 0x41D1, 0x0017,
+0x0032, 0x41D1, 0x0018, 0x0033, 0x41D1, 0x0019, 0x0034, 0x40F1, 0x0080,
+0x0035, 0x41D1, 0x001A, 0x0036, 0x41D1, 0x001B, 0x0037, 0x41D1, 0x001C,
+0x0038, 0x41D1, 0x001D, 0x0039, 0x140B, 0x430F, 0x434E, 0x403D, 0x001F,
+0x410C, 0x503C, 0x0024, 0x0A09, 0x0939, 0x001C, 0x1349, 0x470C, 0x083F,
+0x0182, 0x134F, 0x0BCC, 0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5231, 0x3C22,
+0x407C, 0x0028, 0x1380, 0x2BDA, 0x4C4C, 0x430D, 0x13B1, 0xC7F8, 0x930C,
+0x2417, 0x140B, 0x430F, 0x435E, 0x422D, 0x410C, 0x503C, 0x0006, 0x0A09,
+0x0939, 0x001C, 0x1349, 0x470C, 0x083F, 0x0164, 0x134F, 0x4C06, 0x0BCC,
+0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x3C01, 0x4306, 0x460C, 0x5031,
+0x0062, 0x1674, 0x0110, 0x147B, 0x8031, 0x000C, 0x008A, 0x2BD2, 0x0ACB,
+0x00AB, 0x0008, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x4C47, 0x0084, 0x2C26,
+0x410C, 0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x410C, 0x523C, 0x040F,
+0x0F3F, 0x0030, 0x134F, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F,
+0x9037, 0x0091, 0x2406, 0x9037, 0x0099, 0x2403, 0x9037, 0x0098, 0x2004,
+0x42A1, 0x0000, 0x4381, 0x0002, 0x4116, 0x0004, 0x4117, 0x0006, 0x1086,
+0x1087, 0xE746, 0xE706, 0xF036, 0x0F00, 0x5036, 0x0080, 0x4117, 0x0004,
+0x407C, 0x0028, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x430C, 0x080F,
+0x134F, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x0082,
+0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x460C, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F,
+0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x470C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x403C, 0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x4075, 0x0021, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018,
+0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F,
+0x435C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x407C, 0x00C2, 0x0B0F,
+0x134F, 0x4306, 0x4307, 0x3C0F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F, 0x5316,
+0x6307, 0x9117, 0x000A, 0x2BEE, 0x2003, 0x9116, 0x0008, 0x2BEA, 0x407C,
+0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x412E, 0x411F, 0x0002,
+0x108E, 0x108F, 0xEF4E, 0xEF0E, 0x4E06, 0xF036, 0x0F00, 0x5036, 0x0080,
+0x4127, 0x407C, 0x0028, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x460C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F,
+0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x470C, 0x080F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C, 0x4303, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C, 0x430D,
+0x0A3F, 0x0018, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0501,
+0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x454C, 0x0B0F, 0x134F, 0x430C,
+0x5031, 0x000C, 0x1674, 0x0110, 0x143B, 0x0CCB, 0x4D4A, 0x4159, 0x0014,
+0x13B1, 0xC50A, 0x0088, 0x2C2A, 0x403E, 0x0018, 0x430F, 0x008D, 0x1904,
+0x08CC, 0x13B1, 0xCDDE, 0x0B60, 0x2C26, 0x13B1, 0xCA82, 0x40B8, 0x8B00,
+0x0012, 0x4398, 0x0014, 0x1840, 0x90B2, 0xF00D, 0x18FC, 0x2020, 0x1840,
+0x90B2, 0xF00D, 0x18FE, 0x201B, 0x1840, 0x93B2, 0x18F8, 0x2417, 0x934A,
+0x2415, 0x008C, 0x2B62, 0x13B0, 0x18A0, 0x1840, 0x4298, 0x18F6, 0x000E,
+0x1840, 0x4298, 0x18F4, 0x0016, 0x9349, 0x2404, 0x403C, 0x0009, 0x1380,
+0x2B6A, 0x4388, 0x0010, 0x3CBC, 0x4388, 0x000E, 0x4388, 0x0010, 0x008F,
+0x2B62, 0x1880, 0x40FF, 0xD00E, 0x0000, 0x1880, 0x40FF, 0xD012, 0x0004,
+0x1880, 0x40FF, 0xD01A, 0x000C, 0x1880, 0x40FF, 0xD01E, 0x0010, 0x1880,
+0x40FF, 0xD0D0, 0x0014, 0x1880, 0x40FF, 0xD026, 0x0018, 0x1880, 0x40FF,
+0xD02A, 0x001C, 0x1880, 0x40FF, 0xD0BC, 0x0020, 0x1880, 0x40FF, 0xD0BC,
+0x0024, 0x1880, 0x40FF, 0xD092, 0x0028, 0x1880, 0x40FF, 0xD0CE, 0x002C,
+0x1880, 0x40FF, 0xD0CC, 0x0030, 0x1880, 0x40FF, 0xD0CA, 0x0034, 0x1880,
+0x40FF, 0xD0C8, 0x0048, 0x1880, 0x40FF, 0xD0C6, 0x0050, 0x1880, 0x40FF,
+0xD0C4, 0x004C, 0x1880, 0x40FF, 0xD0C2, 0x0038, 0x1880, 0x40FF, 0xD0C0,
+0x003C, 0x1880, 0x40FF, 0xD0BE, 0x0040, 0x1880, 0x40FF, 0xD056, 0x0054,
+0x1880, 0x40FF, 0xD05A, 0x005C, 0x1880, 0x40FF, 0xD0B6, 0x0044, 0x1880,
+0x40FF, 0xD0D2, 0x0008, 0x1880, 0x40FF, 0xD0B4, 0x0058, 0x1880, 0x40FF,
+0xD056, 0x0054, 0x1880, 0x40FF, 0xD0B2, 0x0060, 0x1880, 0x40FF, 0xD0D4,
+0x0064, 0x008F, 0x2BD2, 0x1880, 0x40FF, 0xD062, 0x0000, 0x1880, 0x40FF,
+0xD066, 0x0004, 0x1880, 0x40FF, 0xD06A, 0x0008, 0x1880, 0x40FF, 0xD06E,
+0x0010, 0x1880, 0x40FF, 0xD072, 0x0014, 0x1880, 0x40FF, 0xCFEE, 0x0018,
+0x1880, 0x40FF, 0xCFF4, 0x001C, 0x1880, 0x40FF, 0xCFC8, 0x0024, 0x1880,
+0x40FF, 0xCFBE, 0x0028, 0x1880, 0x40FF, 0xD0BA, 0x0030, 0x1880, 0x40FF,
+0xD0B8, 0x0034, 0x1880, 0x40FF, 0xD08E, 0x0038, 0x1880, 0x40FF, 0xD096,
+0x003C, 0x1880, 0x40FF, 0xCFB4, 0x002C, 0x1880, 0x40FF, 0xD0A6, 0x000C,
+0x1880, 0x40FF, 0xD0AA, 0x0040, 0x1880, 0x40FF, 0xD09E, 0x0044, 0x1880,
+0x40FF, 0xD09A, 0x0048, 0x1840, 0x40B2, 0x040F, 0x2898, 0x1840, 0x4382,
+0x289A, 0x40B8, 0x0070, 0x0008, 0x1800, 0x40F8, 0x289C, 0x000A, 0x08CC,
+0x1638, 0x0110, 0x147B, 0x8231, 0x4381, 0x0004, 0x4381, 0x0006, 0x4036,
+0x4E20, 0x4381, 0x0000, 0x4381, 0x0002, 0x0085, 0x2C26, 0x410C, 0x522C,
+0x050F, 0x0F3F, 0x0030, 0x134F, 0x411A, 0x0004, 0x411B, 0x0006, 0xD23A,
+0x0087, 0x2BD2, 0x07C8, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x07C9,
+0x00A9, 0x0008, 0x407C, 0x00C1, 0x090F, 0x134F, 0x07C4, 0x00A4, 0x0018,
+0xF03B, 0x000F, 0x4A0C, 0x4B0D, 0x040F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x00A7, 0x0014,
+0x07CB, 0x430C, 0x070F, 0x134F, 0x4C07, 0x435C, 0x080F, 0x134F, 0x434C,
+0x080F, 0x134F, 0x435C, 0x080F, 0x134F, 0xB317, 0x2C08, 0xF317, 0x470C,
+0x050F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x3CAF, 0x407C, 0x0028, 0x090F,
+0x134F, 0x430C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0082,
+0x090F, 0x134F, 0x435C, 0x080F, 0x134F, 0x403C, 0x0080, 0x0B0F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x1400,
+0x0B0F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x422C, 0x0B0F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x403C, 0x4303, 0x0B0F, 0x134F, 0x434C, 0x080F,
+0x134F, 0x407C, 0x0021, 0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F,
+0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x0501, 0x0B0F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F, 0x407C, 0x00C8, 0x090F,
+0x134F, 0x403C, 0x1501, 0x0B0F, 0x134F, 0x3C06, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0x460F, 0x5336, 0x930F, 0x23F6, 0x407C, 0x0021,
+0x090F, 0x134F, 0x430C, 0x430D, 0x040F, 0x134F, 0x4C81, 0x0000, 0x4D81,
+0x0002, 0x92A1, 0x0000, 0x2003, 0x9381, 0x0002, 0x2409, 0x90B1, 0x0006,
+0x0000, 0x2003, 0x9381, 0x0002, 0x2402, 0x433C, 0x3C30, 0x4116, 0x0004,
+0x4117, 0x0006, 0xD236, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C1, 0x090F,
+0x134F, 0xF037, 0x000F, 0x460C, 0x470D, 0x040F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x4C0B, 0x435C, 0x080F, 0x134F, 0x434C, 0x080F, 0x134F,
+0x435C, 0x080F, 0x134F, 0xF31B, 0x4B0C, 0x050F, 0x0F3F, 0x0010, 0x134F,
+0x430C, 0x5231, 0x1674, 0x0110, 0x147B, 0x8031, 0x0020, 0x018F, 0xD132,
+0x1840, 0x4FF1, 0x0008, 0x1840, 0x4FF1, 0x0009, 0x1840, 0x4FF1, 0x000A,
+0x1840, 0x4FF1, 0x000B, 0x008A, 0x2BD2, 0x0ACC, 0x13B0, 0x1880, 0x0086,
+0x2C26, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403,
+0x403C, 0xFFDD, 0x3CDF, 0x410C, 0x522C, 0x060F, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x3403, 0x403C, 0xFFDC, 0x3CD4, 0x4107, 0x5037, 0x000C, 0x1407,
+0x430F, 0x434E, 0x422D, 0x410C, 0x503C, 0x000C, 0x060B, 0x0B3B, 0x001C,
+0x134B, 0x403C, 0x0003, 0x002F, 0x2988, 0x134F, 0x4C0B, 0x07CC, 0x060F,
+0x0F3F, 0x0020, 0x134F, 0x5221, 0x930B, 0x3402, 0x4B0C, 0x3CB6, 0x4124,
+0x4115, 0x0002, 0x5034, 0xFFFC, 0x6335, 0x0ACB, 0x00AB, 0x0008, 0x407C,
+0x0088, 0x0B0F, 0x134F, 0x407C, 0x0034, 0x0A3F, 0x0010, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x0AC8, 0x00A8, 0x0014, 0x440C, 0x450F, 0x108C,
+0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00, 0xD03C, 0x0080, 0x080F, 0x134F,
+0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x440C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x0021, 0x0B0F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0088,
+0x0B0F, 0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x090F,
+0x134F, 0x4124, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x403C, 0x3FFF, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C,
+0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0082, 0x0B0F, 0x134F, 0x440C, 0x832C, 0x080F, 0x134F, 0x407C,
+0x0022, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x411D, 0x0006, 0x0A3F, 0x0034,
+0x134F, 0x407C, 0x0062, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x060F,
+0x0F3F, 0x0010, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C,
+0x0021, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0028, 0x0B0F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x1407, 0x430F, 0x434E, 0x422D, 0x410C,
+0x503C, 0x000C, 0x060B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F,
+0x2988, 0x134F, 0x4C0B, 0x07CC, 0x060F, 0x0F3F, 0x0020, 0x134F, 0x4B0C,
+0x5221, 0x5031, 0x0020, 0x1674, 0x0110, 0x143B, 0x8031, 0x0012, 0x4381,
+0x0006, 0x4381, 0x0008, 0x4381, 0x000E, 0x4381, 0x0010, 0x4381, 0x0004,
+0x434B, 0x008A, 0x2C26, 0x423C, 0x0A0F, 0x0F3F, 0x0038, 0x134F, 0x933C,
+0x241E, 0x410C, 0x522C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x9381, 0x0004,
+0x2417, 0x410D, 0x530D, 0x403C, 0xAA01, 0x0A0F, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2401, 0x010B, 0x03DB, 0x2408, 0x938B, 0x0000, 0x2007, 0x1840,
+0x4382, 0x2824, 0x432C, 0x3CCB, 0x433C, 0x3CC9, 0x008B, 0x2824, 0x4B2F,
+0x0FCE, 0x0FEF, 0x0FEE, 0x064F, 0x0EEF, 0x1840, 0x42FF, 0x2C42, 0x3C04,
+0x403C, 0x0003, 0x1380, 0x2B82, 0x90B2, 0xFFA1, 0x0350, 0x2FF8, 0x93A2,
+0x0350, 0x2BF5, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x4218, 0x0350,
+0x421F, 0x0350, 0x1800, 0x43C1, 0x0000, 0x980F, 0x2C01, 0x4F08, 0x410D,
+0x530D, 0x403C, 0xAA04, 0x0A0F, 0x0F3F, 0x0058, 0x134F, 0x010F, 0x4F29,
+0x4B2F, 0x0FCE, 0x0FEF, 0x0FEE, 0x064F, 0x0EEF, 0x1840, 0x48CF, 0x2C43,
+0x1088, 0x1840, 0x48CF, 0x2C44, 0x1840, 0x49CF, 0x2C45, 0x1089, 0x1840,
+0x49CF, 0x2C46, 0x4218, 0x0410, 0x421F, 0x0410, 0x1800, 0x43C1, 0x000A,
+0x980F, 0x2C01, 0x4F08, 0x410D, 0x503D, 0x000A, 0x403C, 0xAA03, 0x0A0F,
+0x0F3F, 0x0058, 0x134F, 0x013F, 0x000A, 0x4F29, 0x4B2F, 0x0FCE, 0x0FEF,
+0x0FEE, 0x064F, 0x0EEF, 0x1840, 0x48CF, 0x2C47, 0x1088, 0x1840, 0x48CF,
+0x2C48, 0x1840, 0x49CF, 0x2C49, 0x1089, 0x1840, 0x49CF, 0x2C4A, 0x410D,
+0x503D, 0x000E, 0x410C, 0x503C, 0x0006, 0x1380, 0x2B6E, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x430E, 0x430F, 0x411C, 0x0006, 0x411D, 0x0008, 0x13B1, 0xCF9C, 0x930C,
+0x2407, 0x411C, 0x0006, 0x411D, 0x0008, 0x13B1, 0xCFA8, 0x3C06, 0x411C,
+0x000E, 0x411D, 0x0010, 0x13B1, 0xCFA8, 0x4B2F, 0x0FCE, 0x0FEF, 0x0FEE,
+0x064F, 0x0EEF, 0x1840, 0x4CCF, 0x2C4B, 0x108C, 0x1840, 0x4CCF, 0x2C4C,
+0x539B, 0x0000, 0x90BB, 0x0005, 0x0000, 0x201D, 0x438B, 0x0000, 0x423C,
+0x0A0F, 0x0F3F, 0x0010, 0x134F, 0x407C, 0x0005, 0x0A0F, 0x0F3F, 0x0008,
+0x134F, 0x407C, 0x000B, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x403D, 0x0037,
+0x008C, 0x2C42, 0x0A0F, 0x0F3F, 0x000C, 0x134F, 0x431C, 0x3C01, 0x432C,
+0x5031, 0x0012, 0x1638, 0x0110, 0x147B, 0x8031, 0x0032, 0x430B, 0x4306,
+0x4307, 0x3C08, 0x410C, 0x503C, 0x000C, 0x5B0C, 0x0F3F, 0x0028, 0x134F,
+0x531B, 0x008A, 0x2C26, 0x0A0F, 0x903B, 0x0012, 0x2BF2, 0x432C, 0x0F3F,
+0x0038, 0x134F, 0x430B, 0x3C08, 0x410C, 0x523C, 0x5B0C, 0x0A0F, 0x0F3F,
+0x0028, 0x134F, 0x531B, 0x922B, 0x2BF6, 0x0088, 0x2BE6, 0x0089, 0x2BDA,
+0xB0F1, 0x0010, 0x0014, 0x280B, 0x4226, 0x407C, 0x0028, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0xB22C, 0x2C01, 0x4317, 0x407C, 0x0090, 0x090F,
+0x134F, 0x403C, 0x0003, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0006, 0x403C, 0x0005, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0004, 0x403C, 0x0007, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0002, 0x403C, 0x0081, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C81,
+0x0000, 0x431C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C05, 0x407C,
+0x0090, 0x090F, 0x134F, 0x432C, 0x080F, 0x134F, 0x460C, 0x080F, 0x134F,
+0x422C, 0x080F, 0x134F, 0x433C, 0x080F, 0x134F, 0x403C, 0x0006, 0x080F,
+0x134F, 0x431C, 0x080F, 0x134F, 0x403C, 0x0080, 0x080F, 0x134F, 0x431C,
+0x080F, 0x134F, 0x4106, 0x5036, 0x001E, 0x1406, 0x430F, 0x434E, 0x403D,
+0x0012, 0x410C, 0x503C, 0x0010, 0x0A04, 0x0434, 0x001C, 0x1344, 0x403C,
+0x0003, 0x002F, 0x2916, 0x134F, 0x4C04, 0x06CC, 0x0A0F, 0x0F3F, 0x0020,
+0x134F, 0x5221, 0x9304, 0x205D, 0x3C09, 0x4307, 0x407C, 0x0021, 0x090F,
+0x134F, 0x407C, 0x00A8, 0x090F, 0x134F, 0x407C, 0x00D0, 0x090F, 0x134F,
+0x531B, 0x430C, 0x080F, 0x134F, 0x934C, 0x3803, 0x903B, 0x0032, 0x2BF7,
+0x903B, 0x0032, 0x2803, 0x403C, 0xFFCC, 0x3C41, 0x9307, 0x23E2, 0x407C,
+0x0090, 0x090F, 0x134F, 0x432C, 0x080F, 0x134F, 0x411C, 0x0006, 0x080F,
+0x134F, 0x422C, 0x080F, 0x134F, 0x411C, 0x0004, 0x080F, 0x134F, 0x403C,
+0x0006, 0x080F, 0x134F, 0x411C, 0x0002, 0x080F, 0x134F, 0x403C, 0x0080,
+0x080F, 0x134F, 0x412C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x450C,
+0x080F, 0x134F, 0x1406, 0x430F, 0x435E, 0x422D, 0x410C, 0x503C, 0x000C,
+0x0A0B, 0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x2910, 0x134F,
+0x4C04, 0x06CC, 0x0A0F, 0x0F3F, 0x0020, 0x134F, 0x5221, 0x440C, 0x5031,
+0x0032, 0x1674, 0x0110, 0x147B, 0x8031, 0x0048, 0x410C, 0x503C, 0x0022,
+0x018E, 0xD136, 0x008D, 0x0025, 0x13B1, 0xCF3E, 0x1840, 0x42D1, 0x2470,
+0x0022, 0x008F, 0x2470, 0x4FD1, 0x0001, 0x0023, 0x008A, 0x2BD2, 0x0ACC,
+0x13B0, 0x1880, 0x0086, 0x2C26, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030,
+0x134F, 0x410C, 0x503C, 0x000A, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x430B,
+0x3C07, 0x4B0F, 0x5B07, 0x1840, 0x4FD7, 0x2CD8, 0x0005, 0x531B, 0x4107,
+0x5037, 0x0022, 0x903B, 0x0020, 0x3BF3, 0x0771, 0x0006, 0x4104, 0x5034,
+0x000E, 0x1404, 0x430F, 0x434E, 0x403D, 0x0025, 0x013C, 0x000A, 0x060B,
+0x0B3B, 0x001C, 0x134B, 0x403C, 0x0003, 0x002F, 0x29FA, 0x134F, 0x04CC,
+0x060F, 0x0F3F, 0x0020, 0x134F, 0x411E, 0x0004, 0x411F, 0x0006, 0x108E,
+0x108F, 0xEF4E, 0xEF0E, 0x4E05, 0xF035, 0x0F00, 0x5035, 0x0080, 0x4191,
+0x0004, 0x0008, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0028, 0x0B0F, 0x134F,
+0x0AC8, 0x00A8, 0x0014, 0x430C, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x450C, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8,
+0x0B0F, 0x134F, 0x403C, 0x1400, 0x080F, 0x134F, 0x407C, 0x0082, 0x0B0F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x411C, 0x0008,
+0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x403C,
+0x4303, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x430C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x0501, 0x080F, 0x134F, 0x407C,
+0x0082, 0x0B0F, 0x134F, 0x411C, 0x0004, 0x832C, 0x080F, 0x134F, 0x407C,
+0x0022, 0x0B0F, 0x134F, 0x411C, 0x000E, 0x411D, 0x0010, 0x0A3F, 0x0034,
+0x134F, 0x407C, 0x0062, 0x0B0F, 0x134F, 0x430C, 0x080F, 0x134F, 0x060F,
+0x0F3F, 0x0010, 0x134F, 0x430B, 0x5221, 0x3C08, 0x4B0E, 0x470F, 0x5B0F,
+0x1840, 0x4EDF, 0x2CD8, 0x0005, 0x531B, 0x903B, 0x0020, 0x3BF5, 0x1404,
+0x430F, 0x434E, 0x403D, 0x0025, 0x013C, 0x000A, 0x060B, 0x0B3B, 0x001C,
+0x134B, 0x403C, 0x0003, 0x002F, 0x29FA, 0x134F, 0x04CC, 0x060F, 0x0F3F,
+0x0020, 0x134F, 0x430C, 0x5031, 0x004C, 0x1674, 0x0110, 0x145B, 0x4328,
+0x0089, 0x2BD2, 0x407C, 0x0028, 0x093F, 0x0008, 0x134F, 0x4C4C, 0x430D,
+0x13B1, 0xC74C, 0x930C, 0x2002, 0x432C, 0x3CDF, 0x407C, 0x00B0, 0x093F,
+0x0008, 0x134F, 0x00A9, 0x001C, 0x403C, 0x009F, 0x430D, 0x090F, 0x134F,
+0x430C, 0x430D, 0x090F, 0x134F, 0x4C0A, 0xB03C, 0x0100, 0x28CA, 0x4C4E,
+0xF07E, 0x0006, 0x926E, 0x203C, 0x430B, 0x0088, 0x2C26, 0x403C, 0x0010,
+0x080F, 0x0F3F, 0x0010, 0x134F, 0x403C, 0x009E, 0x430D, 0x090F, 0x134F,
+0xD03A, 0x0040, 0x4A0C, 0x430D, 0x090F, 0x134F, 0x923B, 0x2CAE, 0x403C,
+0x009A, 0x430D, 0x090F, 0x134F, 0x4B0C, 0x065C, 0x430D, 0x090F, 0x134F,
+0x403C, 0x009D, 0x430D, 0x090F, 0x134F, 0x430C, 0x430D, 0x090F, 0x134F,
+0x080F, 0x0F3F, 0x0014, 0x134F, 0x403C, 0x009D, 0x430D, 0x090F, 0x134F,
+0x430C, 0x430D, 0x090F, 0x134F, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x531B,
+0x3FD8, 0x4306, 0x403C, 0x009B, 0x430D, 0x090F, 0x134F, 0x430C, 0x430D,
+0x090F, 0x134F, 0x13B1, 0xCF6A, 0x4C0B, 0x0087, 0x2838, 0xB23A, 0x2819,
+0xB03A, 0x0200, 0x2C02, 0x930C, 0x200F, 0x403C, 0x009E, 0x430D, 0x090F,
+0x134F, 0xC31A, 0xD03A, 0x0040, 0x4A0C, 0x430D, 0x090F, 0x134F, 0x4236,
+0x8726, 0x3C18, 0x972B, 0x2416, 0x4C06, 0x8726, 0x3C13, 0x008F, 0x283C,
+0x972B, 0x2403, 0x438F, 0x0000, 0x3C0C, 0x539F, 0x0000, 0x90BF, 0x0014,
+0x0000, 0x2006, 0xB03A, 0x0200, 0x2802, 0x4236, 0x3C01, 0x4C06, 0x4B87,
+0x0000, 0x9316, 0x3848, 0x4B0A, 0x860A, 0xF03A, 0x0007, 0x0088, 0x2C26,
+0x432C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x460C, 0x080F, 0x0F3F, 0x0010,
+0x134F, 0x403C, 0x009A, 0x430D, 0x090F, 0x134F, 0x4A0C, 0x065C, 0x430D,
+0x090F, 0x134F, 0x403C, 0x009D, 0x430D, 0x090F, 0x134F, 0x430C, 0x430D,
+0x090F, 0x134F, 0x080F, 0x0F3F, 0x0014, 0x134F, 0x403C, 0x009D, 0x430D,
+0x090F, 0x134F, 0x430C, 0x430D, 0x090F, 0x134F, 0x080F, 0x0F3F, 0x0010,
+0x134F, 0x403C, 0x009D, 0x430D, 0x090F, 0x134F, 0x430C, 0x430D, 0x090F,
+0x134F, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x531A, 0x923A, 0x2801, 0x430A,
+0x9B0A, 0x23C9, 0x4318, 0x480C, 0x1656, 0x0110, 0x145B, 0x4328, 0x008A,
+0x2BD2, 0x407C, 0x0028, 0x0A3F, 0x0008, 0x134F, 0x4C4C, 0x430D, 0x13B1,
+0xC7A2, 0x930C, 0x2002, 0x432C, 0x3CCD, 0x407C, 0x0090, 0x0A3F, 0x0008,
+0x134F, 0x00AA, 0x0014, 0x403C, 0x009F, 0x0A0F, 0x134F, 0x430C, 0x0A0F,
+0x134F, 0x4C06, 0xB03C, 0x0100, 0x28BA, 0x4C4E, 0xF07E, 0x0006, 0x926E,
+0x2035, 0x430B, 0x0089, 0x2C26, 0x403C, 0x0010, 0x090F, 0x0F3F, 0x0010,
+0x134F, 0x403C, 0x009E, 0x0A0F, 0x134F, 0xD036, 0x0040, 0x460C, 0x0A0F,
+0x134F, 0x923B, 0x2CA0, 0x403C, 0x009A, 0x0A0F, 0x134F, 0x4B0C, 0x065C,
+0x0A0F, 0x134F, 0x403C, 0x009D, 0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x430D, 0x090F, 0x0F3F, 0x0014, 0x134F, 0x403C, 0x009D, 0x0A0F, 0x134F,
+0x430C, 0x0A0F, 0x134F, 0x090F, 0x0F3F, 0x0010, 0x134F, 0x531B, 0x3FDD,
+0x4307, 0x403C, 0x009B, 0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x4C0B,
+0x108B, 0xF37B, 0x110B, 0x110B, 0x0089, 0x2838, 0xB236, 0x2817, 0xB036,
+0x0200, 0x2C02, 0x930B, 0x200D, 0x403C, 0x009E, 0x0A0F, 0x134F, 0xC316,
+0xD036, 0x0040, 0x460C, 0x0A0F, 0x134F, 0x4237, 0x8927, 0x3C18, 0x992B,
+0x2416, 0x4B07, 0x8927, 0x3C13, 0x008F, 0x283A, 0x992B, 0x2403, 0x438F,
+0x0000, 0x3C0C, 0x539F, 0x0000, 0x90BF, 0x0014, 0x0000, 0x2006, 0xB036,
+0x0200, 0x2802, 0x4237, 0x3C01, 0x4B07, 0x4B89, 0x0000, 0x9317, 0x3841,
+0x4B08, 0x8708, 0xF038, 0x0007, 0x0089, 0x2C26, 0x432C, 0x090F, 0x0F3F,
+0x0010, 0x134F, 0x470C, 0x090F, 0x0F3F, 0x0010, 0x134F, 0x403C, 0x009A,
+0x0A0F, 0x134F, 0x480C, 0x065C, 0x0A0F, 0x134F, 0x403C, 0x009D, 0x0A0F,
+0x134F, 0x430C, 0x0A0F, 0x134F, 0x430D, 0x090F, 0x0F3F, 0x0014, 0x134F,
+0x403C, 0x009D, 0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F, 0x090F, 0x0F3F,
+0x0010, 0x134F, 0x403C, 0x009D, 0x0A0F, 0x134F, 0x430C, 0x0A0F, 0x134F,
+0x090F, 0x0F3F, 0x0010, 0x134F, 0x5318, 0x9238, 0x2801, 0x4308, 0x9B08,
+0x23D0, 0x4318, 0x480C, 0x1656, 0x0110, 0x140A, 0x8031, 0x000C, 0x008A,
+0x2C26, 0x410C, 0x523C, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403,
+0x403C, 0xFFCB, 0x3C40, 0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x3892, 0x411E, 0x0008, 0x411F, 0x000A, 0x830F, 0x20B3, 0x831E,
+0x242B, 0x831E, 0x2432, 0x831E, 0x242B, 0x831E, 0x243C, 0x831E, 0x244E,
+0x831E, 0x2456, 0x831E, 0x245E, 0x831E, 0x2466, 0x831E, 0x2469, 0x831E,
+0x2426, 0x831E, 0x246A, 0x831E, 0x247D, 0x832E, 0x2480, 0x831E, 0x2488,
+0x831E, 0x2430, 0x831E, 0x2451, 0x831E, 0x247D, 0x831E, 0x240D, 0x831E,
+0x240B, 0x831E, 0x2409, 0x831E, 0x2407, 0x831E, 0x247D, 0x3C86, 0x412F,
+0x1840, 0x4F82, 0x2B40, 0x430C, 0x5031, 0x000C, 0x160A, 0x0110, 0x412C,
+0x1380, 0x2B76, 0x3FF7, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82, 0x2890,
+0x1840, 0x4F82, 0x2892, 0x3FED, 0x412E, 0x411F, 0x0002, 0x1840, 0x4E82,
+0x2878, 0x1840, 0x4F82, 0x287A, 0x3FE3, 0x412E, 0x411F, 0x0002, 0x1840,
+0x4E82, 0x287C, 0x1840, 0x4F82, 0x287E, 0x3FD9, 0x412E, 0x411F, 0x0002,
+0x1840, 0x4E82, 0x2880, 0x1840, 0x4F82, 0x2882, 0x3FCF, 0x412E, 0x411F,
+0x0002, 0x1840, 0x4E82, 0x2884, 0x1840, 0x4F82, 0x2886, 0x3FC5, 0x412F,
+0x1840, 0x4F82, 0x2888, 0x3FC0, 0x412F, 0x1840, 0x4F82, 0x288A, 0x3FBB,
+0x412F, 0x1840, 0x4F82, 0x288C, 0x3FB6, 0x412F, 0x1840, 0x4F82, 0x288E,
+0x3FB1, 0x4381, 0x0004, 0x4381, 0x0006, 0x410C, 0x522C, 0x0A0F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFCA, 0x3FA3, 0x411D, 0x0004,
+0x412C, 0x1380, 0x2B9A, 0x3F9C, 0x412F, 0x1840, 0x4F82, 0x2894, 0x3F97,
+0x412F, 0x1840, 0x4F82, 0x2B3E, 0x3F92, 0x412F, 0x1840, 0x4F82, 0x2470,
+0x3F8D, 0x412F, 0x1840, 0x4F82, 0x2896, 0x3F88, 0x412E, 0x411F, 0x0002,
+0x1840, 0x4E82, 0x2400, 0x1840, 0x4F82, 0x2402, 0x3F7E, 0x403C, 0xFFC9,
+0x3F7C, 0x4303, 0x147B, 0x8231, 0x0084, 0x2C26, 0x410C, 0x522C, 0x040F,
+0x0F3F, 0x0030, 0x134F, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F,
+0x430B, 0x0087, 0x2BD2, 0x07C8, 0x00A8, 0x0008, 0x407C, 0x0048, 0x080F,
+0x134F, 0x435C, 0x073F, 0x0010, 0x134F, 0x07C9, 0x00A9, 0x0030, 0x435C,
+0x090F, 0x134F, 0x3C07, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x531B, 0x07C6, 0x00A6, 0x0014, 0x903B, 0x000A, 0x2C11, 0x407C, 0x0028,
+0x080F, 0x134F, 0x430C, 0x060F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081,
+0x2002, 0x430F, 0x3C01, 0x433F, 0x930F, 0x23E2, 0x411A, 0x0004, 0x411B,
+0x0006, 0x503A, 0xFFFE, 0x633B, 0x407C, 0x0088, 0x080F, 0x134F, 0x407C,
+0x0034, 0x073F, 0x0010, 0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x4A0C,
+0x4B0F, 0x108C, 0x108F, 0xEF4C, 0xEF0C, 0xF03C, 0x0F00, 0xD03C, 0x0080,
+0x060F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4A0C,
+0x060F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x0021, 0x080F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0088, 0x080F,
+0x134F, 0x407C, 0x0024, 0x073F, 0x0010, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x0082, 0x080F, 0x134F, 0x403C, 0x3FFF, 0x060F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2409, 0x060F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x00C2, 0x080F, 0x134F, 0x430A,
+0x430B, 0x3C0F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C,
+0x060F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F, 0x531A, 0x630B, 0x911B,
+0x0002, 0x2BEE, 0x2002, 0x912A, 0x2BEB, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2401, 0x060F,
+0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C,
+0x5231, 0x1674, 0x0110, 0x147B, 0x8231, 0x0084, 0x2C26, 0x410C, 0x522C,
+0x040F, 0x0F3F, 0x0030, 0x134F, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030,
+0x134F, 0x411A, 0x0004, 0x832A, 0x430B, 0x0087, 0x2BD2, 0x07C8, 0x00A8,
+0x0008, 0x407C, 0x0048, 0x080F, 0x134F, 0x435C, 0x073F, 0x0010, 0x134F,
+0x07C9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x3C07, 0x434C, 0x090F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x531B, 0x07C6, 0x00A6, 0x0014, 0x903B,
+0x000A, 0x2C11, 0x407C, 0x0028, 0x080F, 0x134F, 0x430C, 0x060F, 0x134F,
+0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F, 0x3C01, 0x433F, 0x930F,
+0x23E2, 0x4077, 0x00C8, 0x474C, 0x080F, 0x134F, 0x403C, 0x3401, 0x060F,
+0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x403C, 0x4030, 0x060F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4A0C, 0x060F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0021, 0x080F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x080F, 0x134F, 0x403C, 0x2401,
+0x060F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C, 0x0082, 0x080F, 0x134F,
+0x403C, 0x3FFF, 0x060F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x080F,
+0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C, 0x090F, 0x134F, 0x407C,
+0x00C2, 0x080F, 0x134F, 0x430A, 0x430B, 0x3C0F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x430C, 0x060F, 0x134F, 0x040F, 0x0F3F, 0x0010,
+0x134F, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BEE, 0x2002, 0x912A, 0x2BEB,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x474C, 0x080F, 0x134F,
+0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x430C, 0x5231, 0x1674, 0x0110, 0x143B, 0x8321, 0x4C0A,
+0x4308, 0xB31C, 0x2844, 0x008C, 0x2858, 0x002F, 0x2C26, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3CA4, 0x008C, 0x2854, 0x002F,
+0x2C26, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C98,
+0x0089, 0x2BD2, 0x407C, 0x0082, 0x093F, 0x0008, 0x134F, 0x403C, 0x3FFF,
+0x093F, 0x0014, 0x134F, 0x434C, 0x093F, 0x0030, 0x134F, 0x407C, 0x00C8,
+0x093F, 0x0008, 0x134F, 0x403C, 0x2409, 0x093F, 0x0014, 0x134F, 0x435C,
+0x093F, 0x0030, 0x134F, 0x434C, 0x093F, 0x0030, 0x134F, 0x407C, 0x0048,
+0x093F, 0x0008, 0x134F, 0x403C, 0x0018, 0x093F, 0x0014, 0x134F, 0x008B,
+0x2854, 0x5BAB, 0x0000, 0x6B9B, 0x0002, 0x0002, 0x3C33, 0x410C, 0x530C,
+0x002F, 0x2C26, 0x0F3F, 0x0028, 0x134F, 0x4C08, 0x0089, 0x2BD2, 0x407C,
+0x00C1, 0x093F, 0x0008, 0x134F, 0x1840, 0x421C, 0x2858, 0x1840, 0x421D,
+0x285A, 0x093F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x093F, 0x0008, 0x134F,
+0x416C, 0x093F, 0x0010, 0x134F, 0x435C, 0x093F, 0x0030, 0x134F, 0x434C,
+0x093F, 0x0030, 0x134F, 0x1840, 0x5392, 0x2858, 0x1840, 0x6382, 0x285A,
+0x53BB, 0x0000, 0x63BB, 0x0002, 0x4B2F, 0xDB1F, 0x0002, 0x930F, 0x2402,
+0x9308, 0x27C6, 0xB32A, 0x281A, 0x0089, 0x2BD2, 0x434C, 0x093F, 0x0030,
+0x134F, 0x407C, 0x00C8, 0x093F, 0x0008, 0x134F, 0x403C, 0x2401, 0x093F,
+0x0014, 0x134F, 0x407C, 0x0021, 0x093F, 0x0008, 0x134F, 0x435C, 0x093F,
+0x0030, 0x134F, 0x3C0D, 0x9318, 0x2009, 0x407C, 0x0091, 0x002F, 0x2C26,
+0x0F3F, 0x0024, 0x134F, 0x4308, 0x3C02, 0x4038, 0xFFF3, 0x480C, 0x5321,
+0x1638, 0x0110, 0x143B, 0x8321, 0x4C0A, 0x430B, 0xB31C, 0x2844, 0x008C,
+0x2850, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C,
+0xFFF5, 0x3CA1, 0x008C, 0x284C, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F,
+0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C95, 0x0088, 0x2BD2, 0x407C, 0x0082,
+0x083F, 0x0008, 0x134F, 0x403C, 0x3FFF, 0x083F, 0x0014, 0x134F, 0x434C,
+0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C,
+0x2409, 0x083F, 0x0014, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x434C,
+0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C,
+0x2418, 0x083F, 0x0014, 0x134F, 0x0089, 0x284C, 0x59A9, 0x0000, 0x6999,
+0x0002, 0x0002, 0x3C30, 0x410C, 0x530C, 0x002F, 0x2C26, 0x0F3F, 0x0028,
+0x134F, 0x4C0B, 0x0088, 0x2BD2, 0x407C, 0x00C1, 0x083F, 0x0008, 0x134F,
+0x1840, 0x421C, 0x2850, 0x083F, 0x0014, 0x134F, 0x407C, 0x00A1, 0x083F,
+0x0008, 0x134F, 0x416C, 0x083F, 0x0010, 0x134F, 0x435C, 0x083F, 0x0030,
+0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x1840, 0x5392, 0x2850, 0x1840,
+0x6382, 0x2852, 0x53B9, 0x0000, 0x63B9, 0x0002, 0x492F, 0xD91F, 0x0002,
+0x930F, 0x2402, 0x930B, 0x27C9, 0xB32A, 0x281A, 0x0088, 0x2BD2, 0x434C,
+0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008, 0x134F, 0x403C,
+0x2401, 0x083F, 0x0014, 0x134F, 0x407C, 0x0021, 0x083F, 0x0008, 0x134F,
+0x435C, 0x083F, 0x0030, 0x134F, 0x3C0D, 0x931B, 0x2009, 0x407C, 0x0091,
+0x002F, 0x2C26, 0x0F3F, 0x0024, 0x134F, 0x430B, 0x3C02, 0x403B, 0xFFF3,
+0x4B0C, 0x5321, 0x1638, 0x0110, 0x143B, 0x8321, 0x4C0A, 0x430B, 0xB31C,
+0x2879, 0x008C, 0x2868, 0x002F, 0x2C26, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFF5, 0x3CA1, 0x008C, 0x2864, 0x002F, 0x2C26, 0x0F3F,
+0x0030, 0x134F, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C95, 0x0088, 0x2BD2,
+0x407C, 0x0082, 0x083F, 0x0008, 0x134F, 0x403C, 0x3FFF, 0x083F, 0x0014,
+0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008,
+0x134F, 0x403C, 0x2409, 0x083F, 0x0014, 0x134F, 0x435C, 0x083F, 0x0030,
+0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C, 0x0048, 0x083F, 0x0008,
+0x134F, 0x423C, 0x083F, 0x0014, 0x134F, 0x3C35, 0x410C, 0x530C, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4C0B, 0x0088, 0x2BD2, 0x407C, 0x00C1,
+0x083F, 0x0008, 0x134F, 0x1840, 0x421C, 0x2868, 0x1840, 0x421D, 0x286A,
+0x083F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x083F, 0x0008, 0x134F, 0x412C,
+0x083F, 0x0014, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x434C, 0x083F,
+0x0030, 0x134F, 0x1840, 0x53A2, 0x2868, 0x1840, 0x6382, 0x286A, 0x1840,
+0x53B2, 0x2864, 0x1840, 0x63B2, 0x2866, 0x1840, 0x421F, 0x2864, 0x1840,
+0xD21F, 0x2866, 0x930F, 0x2402, 0x930B, 0x27C1, 0xB32A, 0x281A, 0x0088,
+0x2BD2, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008,
+0x134F, 0x403C, 0x2401, 0x083F, 0x0014, 0x134F, 0x407C, 0x0021, 0x083F,
+0x0008, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x3C0D, 0x931B, 0x2009,
+0x407C, 0x0091, 0x002F, 0x2C26, 0x0F3F, 0x0024, 0x134F, 0x430B, 0x3C02,
+0x403B, 0xFFF3, 0x4B0C, 0x5321, 0x1638, 0x0110, 0x143B, 0x8321, 0x4C0A,
+0x430B, 0xB31C, 0x2877, 0x008C, 0x2860, 0x002F, 0x2C26, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C9F, 0x008C, 0x285C, 0x002F,
+0x2C26, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C93,
+0x0088, 0x2BD2, 0x407C, 0x0082, 0x083F, 0x0008, 0x134F, 0x403C, 0x3FFF,
+0x083F, 0x0014, 0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C, 0x00C8,
+0x083F, 0x0008, 0x134F, 0x403C, 0x2409, 0x083F, 0x0014, 0x134F, 0x435C,
+0x083F, 0x0030, 0x134F, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C, 0x00C8,
+0x083F, 0x0008, 0x134F, 0x403C, 0x2408, 0x083F, 0x0014, 0x134F, 0x3C32,
+0x410C, 0x530C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x4C0B, 0x0088,
+0x2BD2, 0x407C, 0x00C1, 0x083F, 0x0008, 0x134F, 0x1840, 0x421C, 0x2860,
+0x083F, 0x0014, 0x134F, 0x407C, 0x00A1, 0x083F, 0x0008, 0x134F, 0x412C,
+0x083F, 0x0014, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x434C, 0x083F,
+0x0030, 0x134F, 0x1840, 0x53A2, 0x2860, 0x1840, 0x6382, 0x2862, 0x1840,
+0x53B2, 0x285C, 0x1840, 0x63B2, 0x285E, 0x1840, 0x421F, 0x285C, 0x1840,
+0xD21F, 0x285E, 0x930F, 0x2402, 0x930B, 0x27C4, 0xB32A, 0x281A, 0x0088,
+0x2BD2, 0x434C, 0x083F, 0x0030, 0x134F, 0x407C, 0x00C8, 0x083F, 0x0008,
+0x134F, 0x403C, 0x2401, 0x083F, 0x0014, 0x134F, 0x407C, 0x0021, 0x083F,
+0x0008, 0x134F, 0x435C, 0x083F, 0x0030, 0x134F, 0x3C0D, 0x931B, 0x2009,
+0x407C, 0x0091, 0x002F, 0x2C26, 0x0F3F, 0x0024, 0x134F, 0x430B, 0x3C02,
+0x403B, 0xFFF3, 0x4B0C, 0x5321, 0x1638, 0x0110, 0x147B, 0x8321, 0x008A,
+0x2BD2, 0x0ACB, 0x00AB, 0x0008, 0x4074, 0x0088, 0x444C, 0x0B0F, 0x134F,
+0x0AC8, 0x00A8, 0x0014, 0x403C, 0x0034, 0x080F, 0x134F, 0x4079, 0x0082,
+0x494C, 0x0B0F, 0x134F, 0x0AC6, 0x00A6, 0x0030, 0x435C, 0x060F, 0x134F,
+0x403C, 0x0960, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x4077, 0x0042,
+0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0B0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x403C, 0x00FC, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x430C, 0x080F,
+0x134F, 0x4C81, 0x0000, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C05, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x060F, 0x134F,
+0x444C, 0x0B0F, 0x134F, 0x403C, 0x0034, 0x080F, 0x134F, 0x494C, 0x0B0F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x403C, 0x0A60, 0x080F, 0x134F, 0x434C,
+0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C,
+0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x403C, 0x00FC, 0x080F, 0x134F,
+0x434C, 0x060F, 0x134F, 0x474C, 0x0B0F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C07, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F,
+0x134F, 0x430C, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x444C, 0x0B0F,
+0x134F, 0x407C, 0x0024, 0x0A3F, 0x0010, 0x134F, 0x435C, 0x060F, 0x134F,
+0x4124, 0x470D, 0x440C, 0xD50D, 0x5321, 0x1674, 0x0110, 0x147B, 0x8231,
+0x0084, 0x2C26, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x930C,
+0x2403, 0x403C, 0xFFF2, 0x3C9A, 0x410C, 0x522C, 0x040F, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C8F, 0x0088, 0x2BD2, 0x08C9,
+0x00A9, 0x0008, 0x407C, 0x0082, 0x090F, 0x134F, 0x08C6, 0x00A6, 0x0014,
+0x403C, 0x3FFF, 0x060F, 0x134F, 0x08C7, 0x00A7, 0x0030, 0x434C, 0x070F,
+0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2409, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x430A, 0x430B, 0x3C23,
+0x407C, 0x00C1, 0x090F, 0x134F, 0x412C, 0x060F, 0x134F, 0x407C, 0x00A1,
+0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x430C,
+0x060F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F, 0x412E, 0x411F, 0x0002,
+0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x531A, 0x630B, 0x911B,
+0x0006, 0x2BDA, 0x2003, 0x911A, 0x0004, 0x2BD6, 0x435C, 0x070F, 0x134F,
+0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2401,
+0x060F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F,
+0x430B, 0x407C, 0x0048, 0x090F, 0x134F, 0x435C, 0x083F, 0x0010, 0x134F,
+0x435C, 0x070F, 0x134F, 0x3C07, 0x434C, 0x070F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x531B, 0x903B, 0x000A, 0x2C11, 0x407C, 0x0028, 0x090F, 0x134F,
+0x430C, 0x060F, 0x134F, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2002, 0x430F,
+0x3C01, 0x433F, 0x930F, 0x23E5, 0x430C, 0x5231, 0x1674, 0x0110, 0x145B,
+0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x4318, 0x3C6F, 0x412A, 0x411B,
+0x0002, 0x0089, 0x2BD2, 0x09C6, 0x00A6, 0x0008, 0x407C, 0x0088, 0x060F,
+0x134F, 0x407C, 0x0034, 0x093F, 0x0010, 0x134F, 0x407C, 0x0082, 0x060F,
+0x134F, 0x09C7, 0x00A7, 0x0030, 0x435C, 0x070F, 0x134F, 0x4A0E, 0x4B0F,
+0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0x480C, 0xDE0C, 0xD03C,
+0x0080, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042,
+0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x4A0C, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F,
+0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x407C,
+0x0082, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x403C, 0x3FFD, 0x093F,
+0x0014, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0088, 0x060F,
+0x134F, 0x407C, 0x0024, 0x093F, 0x0010, 0x134F, 0x435C, 0x070F, 0x134F,
+0x5318, 0x9038, 0x0010, 0x2C26, 0x9328, 0x2001, 0x4228, 0x0087, 0x2C26,
+0x410B, 0x530B, 0x0BCC, 0x070F, 0x0F3F, 0x0028, 0x134F, 0x0BCC, 0x00AC,
+0x0001, 0x070F, 0x0F3F, 0x0028, 0x134F, 0x03EB, 0x0BCC, 0x070F, 0x0F3F,
+0x0028, 0x134F, 0x9038, 0x000F, 0x2402, 0x930C, 0x2005, 0x9038, 0x000F,
+0x236D, 0x930C, 0x376B, 0x403C, 0xFFD8, 0x3C01, 0x430C, 0x5221, 0x1656,
+0x0110, 0x147B, 0x4C04, 0x430A, 0x008B, 0x2BD2, 0x0BC8, 0x00A8, 0x0008,
+0x407C, 0x0088, 0x080F, 0x134F, 0x407C, 0x0034, 0x0B3F, 0x0010, 0x134F,
+0x4039, 0x0032, 0x4076, 0x00C8, 0x464C, 0x080F, 0x134F, 0x0BC7, 0x00A7,
+0x0014, 0x403C, 0x2401, 0x070F, 0x134F, 0x407C, 0x0028, 0x080F, 0x134F,
+0x430C, 0x070F, 0x134F, 0x5339, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C02,
+0x9309, 0x23F5, 0x407C, 0x0082, 0x080F, 0x134F, 0x403C, 0x4030, 0x070F,
+0x134F, 0x00AB, 0x0030, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x403C, 0x0C04, 0x070F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x403C, 0x3FFF, 0x070F, 0x134F,
+0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2409, 0x070F,
+0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F,
+0x134F, 0x403C, 0x2408, 0x070F, 0x134F, 0x3C1C, 0x407C, 0x00C1, 0x080F,
+0x134F, 0x4A0F, 0x5F0F, 0x440C, 0x5F0C, 0x070F, 0x134F, 0x407C, 0x00A1,
+0x080F, 0x134F, 0x4A0F, 0x0FEF, 0x1840, 0x4F1C, 0x2730, 0x070F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x531A, 0x903A, 0x0030,
+0x3BE1, 0x434C, 0x0B0F, 0x134F, 0x464C, 0x080F, 0x134F, 0x403C, 0x2401,
+0x070F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x1674, 0x0110, 0x147B, 0x120C, 0x8031, 0x0040, 0x40B1, 0x0007, 0x0002,
+0x430A, 0x403B, 0x0006, 0x4381, 0x0000, 0x0086, 0x2C26, 0x410C, 0x530C,
+0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C82,
+0x410C, 0x532C, 0x060F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x3403, 0x403C,
+0xFFBE, 0x3C77, 0x90B1, 0x000F, 0x0002, 0x2002, 0x403B, 0x0009, 0x403C,
+0x0C04, 0x430D, 0x1380, 0x2814, 0x4034, 0x0018, 0x440E, 0x410D, 0x522D,
+0x412C, 0x1380, 0x281C, 0x0085, 0x2818, 0x440E, 0x008D, 0x2404, 0x412C,
+0x050F, 0x134F, 0x4037, 0x0028, 0x4B0E, 0xD03E, 0x0080, 0x4A0D, 0x1844,
+0x5D0D, 0x412C, 0x13B1, 0xAD2C, 0x4C08, 0x4D09, 0x9381, 0x0040, 0x2406,
+0x440E, 0x008D, 0x2404, 0x412C, 0x050F, 0x134F, 0x480F, 0xD90F, 0x930F,
+0x242C, 0x9039, 0x0020, 0x280F, 0x2003, 0x9038, 0xA761, 0x280B, 0x4A0F,
+0x533A, 0x930F, 0x2016, 0x403A, 0x0007, 0x4B0F, 0x533B, 0x930F, 0x2010,
+0x3C1A, 0x9039, 0x0015, 0x2804, 0x200E, 0x9038, 0x83D0, 0x2C0B, 0x531A,
+0x923A, 0x2805, 0x430A, 0x531B, 0x9B81, 0x0002, 0x280B, 0x5337, 0x9317,
+0x37C4, 0x440E, 0x410D, 0x522D, 0x412C, 0x050F, 0x134F, 0x9317, 0x3402,
+0x433C, 0x3C14, 0x1844, 0x5A0A, 0x4A0C, 0x060F, 0x0F3F, 0x0010, 0x134F,
+0xD03B, 0x0080, 0x4B0C, 0x060F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x060F,
+0x0F3F, 0x0010, 0x134F, 0x430C, 0x5031, 0x0042, 0x1674, 0x0110, 0x147B,
+0x8221, 0x431A, 0x3C90, 0x932A, 0x2001, 0x422A, 0x0087, 0x2C26, 0x410B,
+0x530B, 0x0BCC, 0x070F, 0x0F3F, 0x0028, 0x134F, 0x0BCC, 0x00AC, 0x0001,
+0x070F, 0x0F3F, 0x0028, 0x134F, 0x0BCC, 0x03EC, 0x070F, 0x0F3F, 0x0028,
+0x134F, 0x43CB, 0x0003, 0x4124, 0x4115, 0x0002, 0x1084, 0x1085, 0xE344,
+0xE504, 0xF034, 0x0F00, 0x5034, 0x0080, 0x4127, 0x0086, 0x2BD2, 0x06CB,
+0x00AB, 0x0030, 0x434C, 0x0B0F, 0x134F, 0x06C8, 0x00A8, 0x0008, 0x407C,
+0x0082, 0x080F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x06C9, 0x00A9, 0x0014,
+0x4A0F, 0xF03F, 0x000F, 0x5F04, 0x440C, 0x090F, 0x134F, 0x407C, 0x00C8,
+0x080F, 0x134F, 0x403C, 0x1401, 0x090F, 0x134F, 0x407C, 0x0082, 0x080F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x470C, 0x090F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x403C, 0x3FFD,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x434C,
+0x0B0F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x430C, 0x430D, 0x063F,
+0x0018, 0x134F, 0x435C, 0x0B0F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F,
+0x403C, 0x0501, 0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F,
+0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x531A, 0x903A, 0x0010, 0x2B6D, 0x430C, 0x5221, 0x1674,
+0x0110, 0x147B, 0x120C, 0x8031, 0x0040, 0x4309, 0x4037, 0x001B, 0x4381,
+0x0000, 0x430A, 0x430B, 0x0088, 0x2C26, 0x410C, 0x530C, 0x080F, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C7D, 0x403C, 0x0C04,
+0x430D, 0x1380, 0x2814, 0x4105, 0x5225, 0x403E, 0x001D, 0x05CD, 0x412C,
+0x1380, 0x281C, 0x0084, 0x2818, 0x403E, 0x001D, 0x008D, 0x2434, 0x412C,
+0x040F, 0x134F, 0x3C03, 0x4607, 0x4391, 0x0002, 0x490F, 0x531F, 0x970F,
+0x2C24, 0x4706, 0x5906, 0x0356, 0x4381, 0x0002, 0x430E, 0x460D, 0x0A5D,
+0x412C, 0x13B1, 0xAD2C, 0x4C0A, 0x4D0B, 0x9381, 0x0040, 0x2407, 0x403E,
+0x001D, 0x008D, 0x2434, 0x412C, 0x040F, 0x134F, 0x4A0F, 0xDB0F, 0x930F,
+0x2409, 0x903B, 0x0020, 0x2804, 0x23DA, 0x903A, 0xA761, 0x2FD7, 0x4609,
+0x3FD8, 0x9381, 0x0002, 0x2408, 0x430E, 0x490D, 0x0A5D, 0x412C, 0x13B1,
+0xAD2C, 0x4C0A, 0x4D0B, 0x403E, 0x0018, 0x05CD, 0x412C, 0x040F, 0x134F,
+0x503A, 0x6478, 0x603B, 0xFFEC, 0x903B, 0x0010, 0x2806, 0x2003, 0x903A,
+0xB559, 0x2802, 0x433C, 0x3C1D, 0x430C, 0x080F, 0x0F3F, 0x0010, 0x134F,
+0x0A59, 0x490C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x403C, 0x0080, 0x080F,
+0x0F3F, 0x0010, 0x134F, 0x403C, 0x0080, 0x080F, 0x0F3F, 0x0010, 0x134F,
+0x430C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x5031, 0x0042, 0x1674,
+0x0110, 0x147B, 0x8231, 0x0084, 0x2C26, 0x410C, 0x522C, 0x040F, 0x0F3F,
+0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C87, 0x410C, 0x530C,
+0x040F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C7C,
+0x0087, 0x2BD2, 0x07C8, 0x00A8, 0x0008, 0x407C, 0x0082, 0x080F, 0x134F,
+0x07C6, 0x00A6, 0x0014, 0x403C, 0x3FFF, 0x060F, 0x134F, 0x07C9, 0x00A9,
+0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C,
+0x2409, 0x060F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x0048, 0x080F, 0x134F, 0x403C, 0x0019, 0x060F, 0x134F, 0x412E,
+0x411F, 0x0002, 0x5E0E, 0x6F0F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x430A,
+0x430B, 0x3C28, 0x407C, 0x00C1, 0x080F, 0x134F, 0x411C, 0x0004, 0x411D,
+0x0006, 0x073F, 0x0018, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430C, 0x060F, 0x134F, 0x040F,
+0x0F3F, 0x0008, 0x134F, 0x411E, 0x0004, 0x411F, 0x0006, 0x531E, 0x630F,
+0x4E81, 0x0004, 0x4F81, 0x0006, 0x531A, 0x630B, 0x911B, 0x0002, 0x2BD5,
+0x2002, 0x912A, 0x2BD2, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x407C,
+0x0021, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x430C, 0x5231, 0x1674,
+0x0110, 0x147B, 0x0086, 0x2BD2, 0x06CA, 0x00AA, 0x0008, 0x407B, 0x00C8,
+0x4B4C, 0x0A0F, 0x134F, 0x06C8, 0x00A8, 0x0014, 0x403C, 0x3401, 0x080F,
+0x134F, 0x4079, 0x0082, 0x494C, 0x0A0F, 0x134F, 0x403C, 0x4982, 0x080F,
+0x134F, 0x00A6, 0x0030, 0x434C, 0x060F, 0x134F, 0x4077, 0x0042, 0x474C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F, 0x134F, 0x403C,
+0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C, 0x0A0F, 0x134F,
+0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C04, 0x434C, 0x060F,
+0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x3401, 0x080F, 0x134F,
+0x494C, 0x0A0F, 0x134F, 0x403C, 0x4A82, 0x080F, 0x134F, 0x434C, 0x060F,
+0x134F, 0x474C, 0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x494C, 0x0A0F,
+0x134F, 0x403C, 0x00FE, 0x080F, 0x134F, 0x434C, 0x060F, 0x134F, 0x474C,
+0x0A0F, 0x134F, 0x435C, 0x060F, 0x134F, 0x434C, 0x060F, 0x134F, 0x435C,
+0x060F, 0x134F, 0x430C, 0x080F, 0x134F, 0x430C, 0x080F, 0x134F, 0x4C07,
+0x434C, 0x060F, 0x134F, 0x4B4C, 0x0A0F, 0x134F, 0x403C, 0x2401, 0x080F,
+0x134F, 0x435C, 0x060F, 0x134F, 0x440C, 0x470D, 0x1674, 0x0110, 0x143B,
+0x8031, 0x0006, 0x008A, 0x2C26, 0xB31C, 0x2816, 0x008C, 0x286C, 0x0A0F,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFD7, 0x3C80, 0x008C,
+0x2870, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x933C, 0x2003, 0x403C, 0xFFD6,
+0x3C75, 0x407C, 0x0091, 0x0A0F, 0x0F3F, 0x0024, 0x134F, 0x0A0F, 0x0F3F,
+0x0004, 0x134F, 0x410D, 0x530D, 0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x0034,
+0x134F, 0x3C56, 0x008A, 0x2BD2, 0x0ACB, 0x00AB, 0x0030, 0x434C, 0x0B0F,
+0x134F, 0x0AC8, 0x00A8, 0x0008, 0x407C, 0x00C8, 0x080F, 0x134F, 0x403C,
+0x0500, 0x0A3F, 0x0014, 0x134F, 0x407C, 0x00C1, 0x080F, 0x134F, 0x1840,
+0x421C, 0x286C, 0x1840, 0x421D, 0x286E, 0x0A3F, 0x0018, 0x134F, 0x435C,
+0x0B0F, 0x134F, 0x407C, 0x00A1, 0x080F, 0x134F, 0x013F, 0x0002, 0x1800,
+0x53E1, 0x0002, 0x4F2C, 0x0A3F, 0x0014, 0x134F, 0x434C, 0x0B0F, 0x134F,
+0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x0501, 0x0A3F, 0x0014, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x1840, 0x53A2, 0x286C, 0x1840, 0x6382, 0x286E, 0x412F, 0x832F, 0x4F81,
+0x0000, 0x1840, 0x53B2, 0x2870, 0x1840, 0x63B2, 0x2872, 0x1840, 0x421F,
+0x2870, 0x1840, 0xD21F, 0x2872, 0x930F, 0x2403, 0x9381, 0x0000, 0x239F,
+0x430C, 0x5031, 0x0006, 0x1638, 0x0110, 0x147B, 0x8231, 0x4304, 0x0088,
+0x2C26, 0x410C, 0x522C, 0x080F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403,
+0x4034, 0xFFDF, 0x3C7F, 0x410C, 0x530C, 0x080F, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x3403, 0x4034, 0xFFDE, 0x3C74, 0x0087, 0x2BD2, 0x07C9, 0x00A9,
+0x0008, 0x407C, 0x0082, 0x090F, 0x134F, 0x07C6, 0x00A6, 0x0014, 0x403C,
+0x3FFF, 0x060F, 0x134F, 0x00A7, 0x0030, 0x434C, 0x070F, 0x134F, 0x407C,
+0x00C8, 0x090F, 0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C, 0x070F,
+0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C,
+0x2419, 0x060F, 0x134F, 0x412E, 0x411F, 0x0002, 0x5E0E, 0x6F0F, 0x4E81,
+0x0000, 0x4F81, 0x0002, 0x430A, 0x430B, 0x3C25, 0x407C, 0x00C1, 0x090F,
+0x134F, 0x411C, 0x0004, 0x060F, 0x134F, 0x407C, 0x00A1, 0x090F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x430C, 0x060F, 0x134F,
+0x080F, 0x0F3F, 0x0008, 0x134F, 0x411E, 0x0004, 0x411F, 0x0006, 0x531E,
+0x630F, 0x4E81, 0x0004, 0x4F81, 0x0006, 0x531A, 0x630B, 0x911B, 0x0002,
+0x2BD8, 0x2002, 0x912A, 0x2BD5, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8,
+0x090F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021, 0x090F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x440C, 0x5231, 0x1674, 0x0110, 0x141B,
+0x8231, 0x008A, 0x2C26, 0x410C, 0x522C, 0x0A0F, 0x0F3F, 0x0028, 0x134F,
+0x930C, 0x3411, 0x403C, 0xFFC8, 0x3C7B, 0x434C, 0x0B3F, 0x0050, 0x134F,
+0x415E, 0x0004, 0x537E, 0x4EC1, 0x0004, 0x411C, 0x0006, 0x0B3F, 0x0024,
+0x134F, 0x93C1, 0x0004, 0x2469, 0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x002C,
+0x134F, 0x930C, 0x3811, 0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x3809, 0x410C, 0x503C, 0x0006, 0x0A0F, 0x0F3F, 0x002C, 0x134F,
+0x930C, 0x3403, 0x403C, 0xFFC7, 0x3C4E, 0x008B, 0x2B62, 0xB0B1, 0x0040,
+0x0000, 0x280D, 0xB0B1, 0x0040, 0x0002, 0x2805, 0x435C, 0x0B3F, 0x0030,
+0x134F, 0x3C04, 0x434C, 0x0B3F, 0x0030, 0x134F, 0xB0B1, 0x0100, 0x0000,
+0x280D, 0xB0B1, 0x0100, 0x0002, 0x2805, 0x435C, 0x0B3F, 0x0034, 0x134F,
+0x3C04, 0x434C, 0x0B3F, 0x0034, 0x134F, 0xB391, 0x0000, 0x280C, 0xB391,
+0x0002, 0x2805, 0x435C, 0x0B3F, 0x0048, 0x134F, 0x3C04, 0x434C, 0x0B3F,
+0x0048, 0x134F, 0xB2B1, 0x0000, 0x280C, 0xB2B1, 0x0002, 0x2805, 0x435C,
+0x0B3F, 0x004C, 0x134F, 0x3C04, 0x434C, 0x0B3F, 0x004C, 0x134F, 0xB3A1,
+0x0000, 0x2B92, 0xB3A1, 0x0002, 0x2B8B, 0x435C, 0x0B3F, 0x0050, 0x134F,
+0x3F8A, 0x430C, 0x5231, 0x161A, 0x0110, 0x143B, 0x8321, 0x4391, 0x0000,
+0x008B, 0x2C26, 0x410C, 0x530C, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x9391,
+0x0000, 0x2074, 0x008A, 0x2B62, 0x431C, 0x0A3F, 0x0010, 0x134F, 0x0088,
+0x2BD2, 0x08CC, 0x13B0, 0x1880, 0x0A3F, 0x001C, 0x134F, 0x0A3F, 0x0054,
+0x134F, 0x435C, 0x0A3F, 0x0018, 0x134F, 0x080F, 0x134F, 0x083F, 0x0004,
+0x134F, 0x403C, 0xA55A, 0x13B1, 0xC120, 0x931C, 0x2003, 0x403C, 0xFFCF,
+0x3C53, 0x434C, 0x0A3F, 0x0018, 0x134F, 0x080F, 0x134F, 0x083F, 0x0004,
+0x134F, 0x13B1, 0xCD7C, 0x903C, 0xC3C3, 0x2003, 0x403C, 0xFFBB, 0x3C42,
+0x08C9, 0x00A9, 0x0008, 0x407C, 0x0028, 0x090F, 0x134F, 0x4C4A, 0x4A0C,
+0x430D, 0x13B1, 0xCCDC, 0x930C, 0x2432, 0x903A, 0x0098, 0x2009, 0x407C,
+0x00F4, 0x090F, 0x134F, 0x403C, 0x4020, 0x083F, 0x0014, 0x134F, 0x903A,
+0x0099, 0x2012, 0x407C, 0x00F4, 0x090F, 0x134F, 0x403C, 0x40A0, 0x083F,
+0x0014, 0x134F, 0x407C, 0x0054, 0x090F, 0x134F, 0x430C, 0x431D, 0x083F,
+0x001C, 0x134F, 0x435C, 0x0B0F, 0x0F3F, 0x0008, 0x134F, 0x4A4C, 0x0B0F,
+0x0F3F, 0x0008, 0x134F, 0x416C, 0x0B0F, 0x0F3F, 0x0008, 0x134F, 0x430C,
+0x3C02, 0x403C, 0xFFBC, 0x5321, 0x1638, 0x0110, 0x147B, 0x8231, 0x0084,
+0x2C26, 0x410C, 0x530C, 0x040F, 0x0F3F, 0x0030, 0x134F, 0x930C, 0x2403,
+0x403C, 0xFFF2, 0x3C75, 0x410C, 0x522C, 0x040F, 0x0F3F, 0x0030, 0x134F,
+0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C6A, 0x0086, 0x2BD2, 0x06C8, 0x00A8,
+0x0008, 0x407C, 0x0082, 0x080F, 0x134F, 0x06C7, 0x00A7, 0x0014, 0x403C,
+0x3FFF, 0x070F, 0x134F, 0x06C9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F,
+0x407C, 0x00C8, 0x080F, 0x134F, 0x403C, 0x2409, 0x070F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x430A, 0x430B, 0x3C26, 0x407C,
+0x00C1, 0x080F, 0x134F, 0x412C, 0x411D, 0x0002, 0x063F, 0x0018, 0x134F,
+0x407C, 0x00A1, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x430C, 0x070F, 0x134F, 0x040F, 0x0F3F, 0x0010, 0x134F, 0x412E,
+0x411F, 0x0002, 0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x531A,
+0x630B, 0x911B, 0x0006, 0x2BD7, 0x2003, 0x911A, 0x0004, 0x2BD3, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x080F, 0x134F,
+0x403C, 0x2401, 0x070F, 0x134F, 0x407C, 0x0021, 0x080F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x430C, 0x5231, 0x1674, 0x0110, 0x147B, 0x8031, 0x0020,
+0x4C0A, 0x4E0B, 0x1800, 0x43C1, 0x0000, 0x4D0E, 0x430F, 0x403C, 0x0005,
+0x1380, 0x2810, 0x4B0E, 0x430F, 0x403C, 0x0006, 0x1380, 0x2810, 0x430B,
+0x4A0C, 0x430D, 0x1380, 0x2814, 0x407C, 0x00A8, 0x1380, 0x2BDA, 0x0086,
+0x2C26, 0x410D, 0x530D, 0x403C, 0xAA02, 0x060F, 0x0F3F, 0x0058, 0x134F,
+0x13B1, 0xCE70, 0x010F, 0x4F28, 0x4309, 0x403F, 0x0D3E, 0x403B, 0x0003,
+0x533F, 0x633B, 0x2FFD, 0x010F, 0x4F2A, 0x430B, 0x13B1, 0xCF8E, 0x410C,
+0x522C, 0x018E, 0xD116, 0x427D, 0x13B1, 0xCF3E, 0x4107, 0x5037, 0x000C,
+0x1407, 0x430F, 0x434E, 0x423D, 0x410C, 0x523C, 0x0604, 0x0434, 0x001C,
+0x1344, 0x403C, 0x0003, 0x1380, 0x2820, 0x07CC, 0x060F, 0x0F3F, 0x0020,
+0x134F, 0x5221, 0x9309, 0x2007, 0x9A08, 0x2C05, 0x880A, 0x790B, 0x4A08,
+0x4B09, 0x3C02, 0x8A08, 0x7309, 0x1380, 0x280C, 0x4C0A, 0x4D0B, 0x403C,
+0xAA02, 0x060F, 0x0F3F, 0x005C, 0x134F, 0x4A0C, 0x4B0D, 0x403E, 0x0003,
+0x430F, 0x13B1, 0xCE2C, 0x503C, 0x001F, 0x630D, 0x403E, 0x03E8, 0x430F,
+0x13B1, 0xCE2C, 0x480E, 0x490F, 0x13B1, 0xCA3E, 0x5031, 0x0020, 0x1674,
+0x0110, 0x143B, 0x8031, 0x001E, 0x43C1, 0x0000, 0x435A, 0x403C, 0x0005,
+0x1380, 0x2B86, 0x008B, 0x2BD2, 0x407C, 0x0028, 0x0B3F, 0x0008, 0x134F,
+0x008F, 0x2830, 0x4C4C, 0x430D, 0x13B1, 0xCCA6, 0x930C, 0x2403, 0x438F,
+0x0000, 0x3C03, 0x539F, 0x0000, 0x436A, 0x93AF, 0x0000, 0x3859, 0x438F,
+0x0000, 0x434C, 0x1380, 0x2B8E, 0x0B0F, 0x134F, 0x407C, 0x0028, 0x0B3F,
+0x0008, 0x134F, 0x4CC1, 0x0000, 0x416C, 0x430D, 0x13B1, 0xCCA6, 0x930C,
+0x2445, 0x407C, 0x0086, 0x0B3F, 0x0008, 0x134F, 0x916C, 0x203E, 0x435A,
+0x422C, 0x0B3F, 0x0014, 0x134F, 0x903C, 0x1207, 0x2036, 0x430C, 0x0B3F,
+0x0014, 0x134F, 0x903C, 0xA55A, 0x202C, 0x410C, 0x532C, 0x018E, 0xD126,
+0x427D, 0x13B1, 0xCF3E, 0x1840, 0x42D1, 0x2470, 0x0002, 0x008F, 0x2470,
+0x4FD1, 0x0001, 0x0003, 0x410B, 0x503B, 0x000A, 0x140B, 0x430F, 0x434E,
+0x423D, 0x410C, 0x503C, 0x0006, 0x0028, 0x2C26, 0x0838, 0x001C, 0x1348,
+0x403C, 0x0003, 0x002F, 0x2A00, 0x134F, 0x0BCC, 0x002F, 0x2C26, 0x0F3F,
+0x0020, 0x134F, 0x5221, 0x3C03, 0x43F1, 0x0000, 0x436A, 0x4A4C, 0x5031,
+0x001E, 0x1638, 0x0110, 0x145B, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002,
+0x435A, 0x3C71, 0x936A, 0x2001, 0x426A, 0x0089, 0x2BD2, 0x09C6, 0x00A6,
+0x0008, 0x407C, 0x0088, 0x060F, 0x134F, 0x09CB, 0x00AB, 0x0014, 0x403C,
+0x0034, 0x0B0F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x09C7, 0x00A7,
+0x0030, 0x435C, 0x070F, 0x134F, 0x4A4C, 0x108C, 0xF03C, 0x0F00, 0xD03C,
+0x0060, 0x0B0F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x060F,
+0x134F, 0x435C, 0x070F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x403C, 0x00FC, 0x0B0F, 0x134F, 0x434C, 0x070F, 0x134F,
+0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x430C, 0x0B0F,
+0x134F, 0x4C08, 0x434C, 0x070F, 0x134F, 0x435C, 0x070F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x4C0B, 0x434C, 0x070F, 0x134F, 0x407C, 0x0088, 0x060F,
+0x134F, 0x407C, 0x0024, 0x093F, 0x0010, 0x134F, 0x435C, 0x070F, 0x134F,
+0x480E, 0x4B0F, 0x4E81, 0x0000, 0x4F81, 0x0002, 0x403D, 0x0003, 0x410C,
+0x530C, 0x002F, 0x2C26, 0x0F3F, 0x000C, 0x134F, 0x535A, 0x907A, 0x0010,
+0x2B8C, 0x430C, 0x5221, 0x1656, 0x0110, 0x145B, 0x8321, 0x431A, 0x3C58,
+0x412B, 0x0088, 0x2BD2, 0x08C9, 0x00A9, 0x0008, 0x407C, 0x00C8, 0x090F,
+0x134F, 0x08C6, 0x00A6, 0x0014, 0x403C, 0x3401, 0x060F, 0x134F, 0x407C,
+0x0082, 0x090F, 0x134F, 0x4A0C, 0xD03C, 0x4030, 0x060F, 0x134F, 0x00A8,
+0x0030, 0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x435C,
+0x080F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x4B0C, 0x060F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x403C, 0x3FFD, 0x060F, 0x134F,
+0x434C, 0x080F, 0x134F, 0x407C, 0x0042, 0x090F, 0x134F, 0x435C, 0x080F,
+0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8, 0x090F, 0x134F, 0x403C,
+0x2401, 0x060F, 0x134F, 0x435C, 0x080F, 0x134F, 0x531A, 0x903A, 0x0010,
+0x2C17, 0x932A, 0x2001, 0x422A, 0x410C, 0x530C, 0x002F, 0x2C26, 0x0F3F,
+0x002C, 0x134F, 0x903A, 0x000F, 0x2402, 0x930C, 0x2005, 0x903A, 0x000F,
+0x2393, 0x930C, 0x3791, 0x403C, 0xFFD8, 0x3C01, 0x430C, 0x5321, 0x1656,
+0x0110, 0x143B, 0x8031, 0x000A, 0x4381, 0x0000, 0x430A, 0x4381, 0x0002,
+0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0008, 0x410C, 0x530C, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFC1, 0x3C5B,
+0x531A, 0x912A, 0x2C0F, 0x410C, 0x532C, 0x4A0F, 0x5F0F, 0x5F0C, 0x002F,
+0x2C26, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x37F1, 0x403C, 0xFFC0, 0x3C49,
+0x008A, 0x2B62, 0x430C, 0x0A3F, 0x0010, 0x134F, 0x0088, 0x2BD2, 0x08CC,
+0x13B0, 0x1880, 0x0ACB, 0x00AB, 0x0030, 0x434C, 0x0B0F, 0x134F, 0x434C,
+0x0A3F, 0x0018, 0x134F, 0x080F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x083F,
+0x0004, 0x134F, 0x411D, 0x0004, 0x411C, 0x0002, 0x13B1, 0xBE82, 0x931C,
+0x241D, 0x90B1, 0x0003, 0x0000, 0x2810, 0x435C, 0x0B0F, 0x134F, 0x403C,
+0x00C8, 0x0A3F, 0x0024, 0x134F, 0x411D, 0x0008, 0x411C, 0x0006, 0x13B1,
+0xBE82, 0x931C, 0x2409, 0x407C, 0x0028, 0x083F, 0x0008, 0x134F, 0x4C4C,
+0x903C, 0x0095, 0x2403, 0x403C, 0xFFCE, 0x3C04, 0x435C, 0x0B0F, 0x134F,
+0x430C, 0x5031, 0x000A, 0x1638, 0x0110, 0x141B, 0x8031, 0x0006, 0x43C1,
+0x0000, 0x43C1, 0x0001, 0x4381, 0x0002, 0x4381, 0x0004, 0x008A, 0x2C26,
+0x410C, 0x531C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x008B, 0x2BD2, 0x407C,
+0x00B0, 0x0B3F, 0x0008, 0x134F, 0x3C1C, 0x90F1, 0x009E, 0x0000, 0x2007,
+0xB0B1, 0x0040, 0x0002, 0x2803, 0x1840, 0x4382, 0x2838, 0x416C, 0x430D,
+0x0B3F, 0x001C, 0x134F, 0x411C, 0x0002, 0x411D, 0x0004, 0x0B3F, 0x001C,
+0x134F, 0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x243A,
+0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0xB3D1, 0x0000, 0x281B,
+0x416E, 0xC35E, 0x907E, 0x008A, 0x2007, 0x1840, 0x421C, 0x2898, 0x1840,
+0x421D, 0x289A, 0x3C0A, 0x416C, 0x430D, 0x0B3F, 0x001C, 0x134F, 0x430C,
+0x430D, 0x0B3F, 0x001C, 0x134F, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x3FD4,
+0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x416E, 0xC35E, 0x907E,
+0x008A, 0x23B2, 0x411E, 0x0002, 0x411F, 0x0004, 0x1840, 0x4E82, 0x2898,
+0x1840, 0x4F82, 0x289A, 0x3FBE, 0x430C, 0x5031, 0x0006, 0x161A, 0x0110,
+0x141B, 0x8031, 0x007C, 0x4381, 0x0000, 0x430A, 0x410C, 0x522C, 0x403E,
+0x003C, 0x13B1, 0xCF56, 0x008B, 0x2C26, 0x410C, 0x532C, 0x0B0F, 0x0F3F,
+0x002C, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C57, 0x410C, 0x530C,
+0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2404, 0x403C, 0xFFC1, 0x3C4C,
+0x531A, 0x912A, 0x2C0E, 0x410C, 0x522C, 0x4A0F, 0x5F0F, 0x5F0C, 0x0B0F,
+0x0F3F, 0x002C, 0x134F, 0x930C, 0x37F2, 0x403C, 0xFFC0, 0x3C3B, 0x008B,
+0x2B62, 0x411C, 0x0002, 0x0B3F, 0x0010, 0x134F, 0x008A, 0x2BD2, 0x0ACC,
+0x13B0, 0x1880, 0x434C, 0x0B3F, 0x0018, 0x134F, 0x0A0F, 0x134F, 0x0B3F,
+0x001C, 0x134F, 0x435C, 0x0B3F, 0x0018, 0x134F, 0x0A0F, 0x134F, 0x403D,
+0x1E1E, 0x403C, 0xA55A, 0x13B1, 0xBE82, 0x931C, 0x2414, 0x434C, 0x0B3F,
+0x0018, 0x134F, 0x0A0F, 0x134F, 0x430A, 0x3C01, 0x531A, 0x912A, 0x2C0C,
+0x4A0F, 0x5F0F, 0x510F, 0x4F1C, 0x0004, 0x13B1, 0xC120, 0x931C, 0x23F4,
+0x403C, 0xFFCE, 0x3C01, 0x430C, 0x5031, 0x007C, 0x161A, 0x0110, 0x145B,
+0x8031, 0x0006, 0x434B, 0x4338, 0x0089, 0x2C26, 0x410C, 0x522C, 0x090F,
+0x0F3F, 0x0028, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C5D, 0x431C,
+0x090F, 0x0F3F, 0x0038, 0x134F, 0x410C, 0x530C, 0x090F, 0x0F3F, 0x0030,
+0x134F, 0x930C, 0x3403, 0x403C, 0xFFCD, 0x3C4D, 0x43C1, 0x0004, 0x0086,
+0x2B62, 0x430C, 0x063F, 0x0010, 0x134F, 0x930C, 0x2403, 0x403C, 0xFFEA,
+0x3C40, 0x008C, 0x2BD2, 0x13B0, 0x1880, 0x90B1, 0xA55A, 0x0000, 0x2004,
+0x90B1, 0xA55A, 0x0002, 0x2408, 0x90B1, 0x5AA5, 0x0000, 0x2027, 0x90B1,
+0x5AA5, 0x0002, 0x2023, 0x434C, 0x063F, 0x0030, 0x134F, 0x435C, 0x063F,
+0x0018, 0x134F, 0x1380, 0x2BD2, 0x434C, 0x063F, 0x0030, 0x134F, 0x435B,
+0x412D, 0x411C, 0x0002, 0x13B1, 0xBE82, 0x4C4A, 0x435C, 0x063F, 0x0030,
+0x134F, 0x403C, 0x0BB8, 0x063F, 0x0024, 0x134F, 0x935A, 0x2003, 0x403C,
+0xFFCE, 0x3C09, 0x4B4C, 0x090F, 0x0F3F, 0x0008, 0x134F, 0x934B, 0x2401,
+0x4308, 0x480C, 0x5031, 0x0006, 0x1656, 0x0110, 0x145B, 0x4C08, 0x4E0A,
+0x4F0B, 0x0089, 0x2BD2, 0x09C6, 0x00A6, 0x0008, 0x407C, 0x0088, 0x060F,
+0x134F, 0x407C, 0x0034, 0x093F, 0x0010, 0x134F, 0x407C, 0x0082, 0x060F,
+0x134F, 0x09C7, 0x00A7, 0x0030, 0x435C, 0x070F, 0x134F, 0x4A0E, 0x4B0F,
+0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0xDE08, 0xD038, 0x0080,
+0x480C, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042,
+0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x407C, 0x0082, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x4A0C, 0x093F, 0x0014, 0x134F, 0x434C, 0x070F,
+0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x407C,
+0x0082, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x403C, 0x3FFD, 0x093F,
+0x0014, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0088, 0x060F,
+0x134F, 0x407C, 0x0024, 0x093F, 0x0010, 0x134F, 0x435C, 0x070F, 0x134F,
+0x1656, 0x0110, 0x143B, 0x8221, 0x433B, 0x43E1, 0x0000, 0x1840, 0x4218,
+0x246E, 0x4381, 0x0002, 0x008A, 0x2C26, 0x410C, 0x532C, 0x0A0F, 0x0F3F,
+0x002C, 0x134F, 0x13B1, 0xAE30, 0x4CC1, 0x0000, 0x9381, 0x0002, 0x2425,
+0x0A0F, 0x0F3F, 0x0010, 0x93D1, 0x0000, 0x422C, 0x200E, 0x134F, 0x430C,
+0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F,
+0x0014, 0x134F, 0x3C0E, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014,
+0x134F, 0x430C, 0x403D, 0x4000, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430B,
+0x3C2A, 0x416E, 0x1840, 0x4E82, 0x246E, 0x9E08, 0x2424, 0x931E, 0x422C,
+0x0A0F, 0x0F3F, 0x0010, 0x200F, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F,
+0x0014, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x431B,
+0x3C0F, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430C,
+0x403D, 0x4000, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x431B, 0x4B0C, 0x5221,
+0x1638, 0x0110, 0x145B, 0x435A, 0x3C5C, 0x936A, 0x2001, 0x426A, 0x008B,
+0x2BD2, 0x0BC8, 0x00A8, 0x0008, 0x407C, 0x00C8, 0x080F, 0x134F, 0x0BC9,
+0x00A9, 0x0014, 0x403C, 0x3401, 0x090F, 0x134F, 0x407C, 0x0082, 0x080F,
+0x134F, 0x4A4C, 0x108C, 0xF03C, 0x0F00, 0xD03C, 0x4082, 0x090F, 0x134F,
+0x00AB, 0x0030, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x407C, 0x0082, 0x080F, 0x134F, 0x403C, 0x00FE,
+0x090F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x0042, 0x080F, 0x134F,
+0x435C, 0x0B0F, 0x134F, 0x434C, 0x0B0F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x430C, 0x090F, 0x134F, 0x4C06, 0x434C, 0x0B0F, 0x134F, 0x407C, 0x00C8,
+0x080F, 0x134F, 0x403C, 0x2401, 0x090F, 0x134F, 0x435C, 0x0B0F, 0x134F,
+0x460C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x535A, 0x907A, 0x0010,
+0x2BA1, 0x430C, 0x1656, 0x0110, 0x147B, 0x4304, 0x430A, 0x430B, 0x4306,
+0x4307, 0x0088, 0x2BD2, 0x407C, 0x0028, 0x083F, 0x0008, 0x134F, 0x4C49,
+0x490C, 0x430D, 0x13B1, 0xC84E, 0x930C, 0x2002, 0x433C, 0x3C4B, 0x490C,
+0x430D, 0x13B1, 0xCC04, 0x930C, 0x242F, 0x407C, 0x00E8, 0x083F, 0x0008,
+0x134F, 0x430C, 0x083F, 0x0014, 0x134F, 0x4C04, 0x9039, 0x0095, 0x2004,
+0x403C, 0x05DC, 0x1380, 0x2B86, 0x407C, 0x00E1, 0x083F, 0x0008, 0x134F,
+0x430C, 0x430D, 0x083F, 0x0018, 0x134F, 0x4C0A, 0x5A0A, 0x6B0B, 0x5A0A,
+0x6B0B, 0x5A0A, 0x6B0B, 0x5A0A, 0x6B0B, 0x5D0A, 0x630B, 0x4A0F, 0xDB0F,
+0x930F, 0x2407, 0x4A06, 0x4B07, 0x5226, 0x6307, 0x3C02, 0x4036, 0x0FF0,
+0x0088, 0x2C26, 0x4A0C, 0x4B0D, 0x080F, 0x0F3F, 0x0014, 0x134F, 0x460C,
+0x470D, 0x080F, 0x0F3F, 0x0014, 0x134F, 0x440C, 0x080F, 0x0F3F, 0x0010,
+0x134F, 0x430C, 0x1674, 0x0110, 0x147B, 0x4C06, 0x0DC5, 0x4E07, 0x3C53,
+0x4534, 0x008A, 0x2BD2, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0082, 0x0B0F,
+0x134F, 0x0AC8, 0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x0AC9,
+0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F,
+0x403C, 0x2409, 0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x407C, 0x0048, 0x0B0F, 0x134F, 0x427C, 0x0A3F, 0x0010, 0x134F,
+0x407C, 0x00C1, 0x0B0F, 0x134F, 0x460C, 0x430D, 0x0A3F, 0x0018, 0x134F,
+0x407C, 0x00A1, 0x0B0F, 0x134F, 0x440C, 0x080F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C,
+0x2401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x5326, 0x470F, 0x5337, 0x930F, 0x23A9, 0x1674, 0x0110, 0x147B,
+0x4C0A, 0x0DC5, 0x4E0B, 0x3C51, 0x4534, 0x0088, 0x2BD2, 0x08C9, 0x00A9,
+0x0008, 0x407C, 0x0082, 0x090F, 0x134F, 0x08C6, 0x00A6, 0x0014, 0x403C,
+0x3FFF, 0x060F, 0x134F, 0x08C7, 0x00A7, 0x0030, 0x434C, 0x070F, 0x134F,
+0x407C, 0x00C8, 0x090F, 0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C,
+0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x0048, 0x090F, 0x134F,
+0x427C, 0x083F, 0x0010, 0x134F, 0x407C, 0x00C1, 0x090F, 0x134F, 0x4A0C,
+0x060F, 0x134F, 0x407C, 0x00A1, 0x090F, 0x134F, 0x440C, 0x060F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F,
+0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021, 0x090F, 0x134F,
+0x435C, 0x070F, 0x134F, 0x532A, 0x4B0F, 0x533B, 0x930F, 0x23AB, 0x1674,
+0x0110, 0x143B, 0x8221, 0x403B, 0x00C8, 0x4381, 0x0000, 0x4381, 0x0002,
+0x0088, 0x2C26, 0x410C, 0x530C, 0x080F, 0x0F3F, 0x0030, 0x134F, 0x008A,
+0x2BD2, 0x0AC9, 0x00A9, 0x0030, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C1,
+0x0A3F, 0x0008, 0x134F, 0x403C, 0x0EC4, 0x430D, 0x0A3F, 0x0018, 0x134F,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x0A3F,
+0x0008, 0x134F, 0x430C, 0x0A3F, 0x0014, 0x134F, 0x4C0A, 0x435C, 0x090F,
+0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0xB22A, 0x2C0E,
+0xF22A, 0x4A0C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x3C13, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x4B0F, 0x533B, 0x930F, 0x23F6,
+0x435C, 0x090F, 0x134F, 0x430C, 0x080F, 0x0F3F, 0x0010, 0x134F, 0x430C,
+0x5221, 0x1638, 0x0110, 0x147B, 0x4C07, 0x0DC6, 0x4E04, 0x3C51, 0x008A,
+0x2BD2, 0x0ACB, 0x00AB, 0x0008, 0x407C, 0x0082, 0x0B0F, 0x134F, 0x0AC8,
+0x00A8, 0x0014, 0x403C, 0x3FFF, 0x080F, 0x134F, 0x0AC9, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x0B0F, 0x134F, 0x403C, 0x2409,
+0x080F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C,
+0x00C1, 0x0B0F, 0x134F, 0x470C, 0x430D, 0x0A3F, 0x0018, 0x134F, 0x407C,
+0x00A1, 0x0B0F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F,
+0x430C, 0x080F, 0x134F, 0x4C0A, 0x434C, 0x090F, 0x134F, 0x407C, 0x00C8,
+0x0B0F, 0x134F, 0x403C, 0x2401, 0x080F, 0x134F, 0x407C, 0x0021, 0x0B0F,
+0x134F, 0x435C, 0x090F, 0x134F, 0x4A86, 0x0000, 0x5327, 0x03E6, 0x440F,
+0x5334, 0x930F, 0x23AB, 0x1674, 0x0110, 0x143B, 0x008B, 0x2C26, 0x008C,
+0x2832, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x204D, 0x008A, 0x2834,
+0x0ACC, 0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x930C, 0x2044, 0x008C, 0x2836,
+0x0B0F, 0x0F3F, 0x002C, 0x134F, 0x933C, 0x243C, 0x008B, 0x2B62, 0x435C,
+0x0B3F, 0x002C, 0x134F, 0x0088, 0x2BD2, 0x080F, 0x134F, 0x1840, 0x90B2,
+0x0011, 0x2832, 0x2007, 0x1840, 0x421D, 0x2836, 0x4A2C, 0x13B1, 0xBE82,
+0x3C03, 0x4A2C, 0x13B1, 0xC120, 0x934C, 0x2021, 0x435C, 0x0B3F, 0x0030,
+0x134F, 0x403C, 0x0028, 0x0B3F, 0x0024, 0x134F, 0x434C, 0x0B3F, 0x002C,
+0x134F, 0x403C, 0x00C8, 0x0B3F, 0x0024, 0x134F, 0x080F, 0x134F, 0x407C,
+0x0028, 0x083F, 0x0008, 0x134F, 0x4C4C, 0x430D, 0x13B1, 0xCB62, 0x930C,
+0x2402, 0x430C, 0x3C01, 0x433C, 0x1638, 0x0110, 0x145B, 0x4C08, 0x4E0A,
+0x0089, 0x2BD2, 0x09C6, 0x00A6, 0x0008, 0x407C, 0x00C8, 0x060F, 0x134F,
+0x09C7, 0x00A7, 0x0014, 0x403C, 0x3401, 0x070F, 0x134F, 0x407C, 0x0082,
+0x060F, 0x134F, 0xD038, 0x4030, 0x480C, 0x070F, 0x134F, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x090F,
+0x134F, 0x407C, 0x0082, 0x060F, 0x134F, 0x4A0C, 0x070F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x407C, 0x0082, 0x060F, 0x134F, 0x403C, 0x3FFD, 0x070F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x407C, 0x0042, 0x060F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x434C, 0x090F, 0x134F, 0x407C, 0x00C8, 0x060F, 0x134F, 0x403C, 0x2401,
+0x070F, 0x134F, 0x435C, 0x090F, 0x134F, 0x1656, 0x0110, 0x147B, 0x4C0A,
+0x0DCB, 0x4E08, 0x3C4E, 0x0087, 0x2BD2, 0x07C9, 0x00A9, 0x0008, 0x407C,
+0x0082, 0x090F, 0x134F, 0x07C6, 0x00A6, 0x0014, 0x403C, 0x3FFF, 0x060F,
+0x134F, 0x00A7, 0x0030, 0x434C, 0x070F, 0x134F, 0x407C, 0x00C8, 0x090F,
+0x134F, 0x403C, 0x2409, 0x060F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C,
+0x070F, 0x134F, 0x407C, 0x00C1, 0x090F, 0x134F, 0x4A0C, 0x060F, 0x134F,
+0x407C, 0x00A1, 0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x434C, 0x070F,
+0x134F, 0x430C, 0x060F, 0x134F, 0x4C04, 0x434C, 0x070F, 0x134F, 0x407C,
+0x00C8, 0x090F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x407C, 0x0021,
+0x090F, 0x134F, 0x435C, 0x070F, 0x134F, 0x448B, 0x0000, 0x532A, 0x03EB,
+0x480F, 0x5338, 0x930F, 0x23AE, 0x1674, 0x0110, 0x145B, 0x8231, 0x0086,
+0x2C26, 0x410C, 0x530C, 0x060F, 0x0F3F, 0x0030, 0x134F, 0x410C, 0x522C,
+0x060F, 0x0F3F, 0x0030, 0x134F, 0x0088, 0x2BD2, 0x08C9, 0x00A9, 0x0030,
+0x434C, 0x090F, 0x134F, 0x430A, 0x430B, 0x3C29, 0x407C, 0x00C1, 0x083F,
+0x0008, 0x134F, 0x412C, 0x411D, 0x0002, 0x083F, 0x0018, 0x134F, 0x435C,
+0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x407C, 0x0042, 0x083F, 0x0008,
+0x134F, 0x430C, 0x083F, 0x0014, 0x134F, 0x060F, 0x0F3F, 0x0010, 0x134F,
+0x412E, 0x411F, 0x0002, 0x532E, 0x630F, 0x4E81, 0x0000, 0x4F81, 0x0002,
+0x531A, 0x630B, 0x911B, 0x0006, 0x2BD4, 0x2003, 0x911A, 0x0004, 0x2BD0,
+0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C, 0x090F, 0x134F,
+0x430C, 0x5231, 0x1656, 0x0110, 0x141B, 0x8031, 0x0006, 0x43C1, 0x0001,
+0x43C1, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x008A, 0x2C26, 0x410C,
+0x531C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x407C, 0x00B0, 0x1380, 0x2BDA,
+0x3C20, 0x410C, 0x532C, 0x0A0F, 0x0F3F, 0x0030, 0x134F, 0x416C, 0x430D,
+0x0B0F, 0x134F, 0x411C, 0x0002, 0x411D, 0x0004, 0x0B0F, 0x134F, 0x90F1,
+0x009E, 0x0000, 0x2007, 0xB0B1, 0x0040, 0x0002, 0x2803, 0x1840, 0x4382,
+0x2838, 0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001, 0x93C1, 0x0001, 0x2418,
+0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0028, 0x134F, 0x008B, 0x2BEE, 0xB3D1,
+0x0000, 0x2BD2, 0x416C, 0x430D, 0x0B0F, 0x134F, 0x430C, 0x430D, 0x0B0F,
+0x134F, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x3FE0, 0x430C, 0x5031, 0x0006,
+0x161A, 0x0110, 0x140A, 0x8031, 0x000C, 0x40B1, 0x0011, 0x0006, 0x4381,
+0x0004, 0x4381, 0x0002, 0x4381, 0x0000, 0x4381, 0x0008, 0x4381, 0x000A,
+0x4C81, 0x0004, 0x4D81, 0x0002, 0x407C, 0x0086, 0x1380, 0x2BDA, 0x008A,
+0x2BE6, 0x430C, 0x0A0F, 0x134F, 0x4C81, 0x0000, 0x411E, 0x0008, 0x411F,
+0x000A, 0x4E0C, 0x4F0D, 0x531C, 0x630D, 0x4C81, 0x0008, 0x4D81, 0x000A,
+0x930F, 0x2003, 0x903E, 0x0BB8, 0x2802, 0x431C, 0x3C21, 0xB3A1, 0x0000,
+0x2C07, 0x9381, 0x000A, 0x2004, 0x90B1, 0x0BB8, 0x0008, 0x2BDC, 0x9381,
+0x000A, 0x2013, 0x90B1, 0x0BB8, 0x0008, 0x2C0F, 0x40B1, 0x0011, 0x0006,
+0x411C, 0x0006, 0x0A0F, 0x134F, 0x411C, 0x0004, 0x0A0F, 0x134F, 0x411C,
+0x0002, 0x0A0F, 0x134F, 0x430C, 0x5031, 0x000C, 0x160A, 0x0110, 0x141B,
+0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x410C, 0x530C, 0x002F, 0x2C26,
+0x0F3F, 0x0030, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFCD, 0x3C41, 0x90B1,
+0xA55A, 0x0000, 0x2004, 0x90B1, 0xA55A, 0x0002, 0x2408, 0x90B1, 0x5AA5,
+0x0000, 0x2034, 0x90B1, 0x5AA5, 0x0002, 0x2030, 0x008B, 0x2B62, 0x434C,
+0x0B3F, 0x0030, 0x134F, 0x435C, 0x0B3F, 0x0018, 0x134F, 0x1380, 0x2BD2,
+0x434C, 0x0B3F, 0x0030, 0x134F, 0x412D, 0x411C, 0x0002, 0x13B1, 0xBE82,
+0x4C4A, 0x435C, 0x0B3F, 0x0030, 0x134F, 0x403C, 0x0BB8, 0x0B3F, 0x0024,
+0x134F, 0x935A, 0x2003, 0x403C, 0xFFCE, 0x3C0D, 0x407C, 0x0028, 0x1380,
+0x2BDA, 0x4C4C, 0x430D, 0x13B1, 0xCB98, 0x930C, 0x2402, 0x430C, 0x3C01,
+0x433C, 0x5221, 0x161A, 0x0110, 0x143B, 0x8231, 0x4381, 0x0004, 0x4381,
+0x0006, 0x434A, 0x008B, 0x2C26, 0x410C, 0x522C, 0x0B0F, 0x0F3F, 0x002C,
+0x134F, 0x410D, 0x530D, 0x403C, 0xAA01, 0x0B0F, 0x0F3F, 0x0058, 0x134F,
+0x930C, 0x2401, 0x010A, 0x03DA, 0x2412, 0x938A, 0x0000, 0x240D, 0x0088,
+0x2BD2, 0x407C, 0x0028, 0x083F, 0x0008, 0x134F, 0x4C4C, 0x430D, 0x13B1,
+0xC6F6, 0x930C, 0x2004, 0x432C, 0x3C20, 0x433C, 0x3C1E, 0x407C, 0x00D0,
+0x083F, 0x0008, 0x134F, 0x430C, 0x083F, 0x0014, 0x134F, 0x4C08, 0xB118,
+0x0004, 0x2410, 0x03DA, 0x2402, 0x438A, 0x0000, 0x431C, 0x0B0F, 0x0F3F,
+0x0010, 0x134F, 0x480C, 0x0B0F, 0x0F3F, 0x0010, 0x134F, 0x431C, 0x3C01,
+0x432C, 0x5231, 0x1638, 0x0110, 0x141B, 0x8321, 0x433B, 0x4381, 0x0000,
+0x008A, 0x2C26, 0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x9381,
+0x0000, 0x243D, 0x008B, 0x2BD2, 0x407C, 0x0028, 0x0B3F, 0x0008, 0x134F,
+0x4C4C, 0x903C, 0x0089, 0x240E, 0x434C, 0x1380, 0x2B7A, 0x0B0F, 0x134F,
+0x0B3F, 0x0004, 0x134F, 0x407C, 0x0028, 0x0B3F, 0x0008, 0x134F, 0x4C4C,
+0x0A0F, 0x0F3F, 0x0010, 0x903C, 0x0089, 0x422C, 0x200E, 0x134F, 0x430C,
+0x430D, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F,
+0x0014, 0x134F, 0x3C0E, 0x134F, 0x430C, 0x430D, 0x0A0F, 0x0F3F, 0x0014,
+0x134F, 0x430C, 0x403D, 0xC000, 0x0A0F, 0x0F3F, 0x0014, 0x134F, 0x430B,
+0x4B0C, 0x5321, 0x161A, 0x0110, 0x140A, 0x8031, 0x000A, 0x4391, 0x0008,
+0x4C81, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x008A,
+0x2BD2, 0x407C, 0x0086, 0x0A3F, 0x0008, 0x134F, 0x430C, 0x0A3F, 0x0014,
+0x134F, 0x4C81, 0x0000, 0x411E, 0x0002, 0x411F, 0x0004, 0x4E0C, 0x4F0D,
+0x531C, 0x630D, 0x4C81, 0x0002, 0x4D81, 0x0004, 0x930F, 0x2003, 0x903E,
+0x0BB8, 0x2802, 0x431C, 0x3C1C, 0xB391, 0x0000, 0x2C07, 0x9381, 0x0004,
+0x2004, 0x90B1, 0x0BB8, 0x0002, 0x2BDD, 0x9381, 0x0004, 0x200E, 0x90B1,
+0x0BB8, 0x0002, 0x2C0A, 0x411C, 0x0008, 0x0A3F, 0x0014, 0x134F, 0x411C,
+0x0006, 0x0A3F, 0x0014, 0x134F, 0x430C, 0x5031, 0x000A, 0x160A, 0x0110,
+0x145B, 0x4308, 0x430A, 0x430B, 0x0089, 0x2BD2, 0x434C, 0x093F, 0x0030,
+0x134F, 0x407C, 0x0028, 0x093F, 0x0008, 0x134F, 0x430C, 0x093F, 0x0014,
+0x134F, 0x4C06, 0x9318, 0x380C, 0xB32C, 0x2C0A, 0x407C, 0x00C8, 0x093F,
+0x0008, 0x134F, 0x403C, 0x3400, 0x093F, 0x0014, 0x134F, 0x9308, 0x200D,
+0xB326, 0x280B, 0x407C, 0x00C8, 0x093F, 0x0008, 0x134F, 0x403C, 0x3402,
+0x093F, 0x0014, 0x134F, 0x4318, 0x435C, 0x093F, 0x0030, 0x134F, 0x531A,
+0x630B, 0x9038, 0x000A, 0x3408, 0xB326, 0x2806, 0x930B, 0x3BC6, 0x2003,
+0x903A, 0x1388, 0x2BC2, 0x9038, 0x000A, 0x3803, 0x433C, 0x433D, 0x3C02,
+0x430C, 0x430D, 0x1656, 0x0110, 0x145B, 0x4308, 0x430A, 0x430B, 0x0089,
+0x2BD2, 0x434C, 0x093F, 0x0030, 0x134F, 0x407C, 0x0028, 0x093F, 0x0008,
+0x134F, 0x430C, 0x093F, 0x0014, 0x134F, 0x4C06, 0x9318, 0x380C, 0xB32C,
+0x2C0A, 0x407C, 0x00C8, 0x093F, 0x0008, 0x134F, 0x403C, 0x3400, 0x093F,
+0x0014, 0x134F, 0x9308, 0x200D, 0xB326, 0x280B, 0x407C, 0x00C8, 0x093F,
+0x0008, 0x134F, 0x403C, 0x3402, 0x093F, 0x0014, 0x134F, 0x4318, 0x435C,
+0x093F, 0x0030, 0x134F, 0x531A, 0x630B, 0x9038, 0x000A, 0x3408, 0xB326,
+0x2806, 0x930B, 0x3BC6, 0x2003, 0x903A, 0x1388, 0x2BC2, 0x9038, 0x000A,
+0x3803, 0x433C, 0x433D, 0x3C02, 0x430C, 0x430D, 0x1656, 0x0110, 0x145B,
+0x4C0A, 0x4D0B, 0x0088, 0x2BD2, 0x08C9, 0x00A9, 0x0008, 0x407C, 0x0088,
+0x090F, 0x134F, 0x407C, 0x0034, 0x083F, 0x0010, 0x134F, 0x407C, 0x0082,
+0x090F, 0x134F, 0x4A0C, 0x4B0D, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF03C,
+0x0F00, 0xD03C, 0x0080, 0x083F, 0x0014, 0x134F, 0x08C6, 0x00A6, 0x0030,
+0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x4A0C, 0x083F, 0x0014,
+0x134F, 0x434C, 0x060F, 0x134F, 0x435C, 0x060F, 0x134F, 0x407C, 0x0021,
+0x090F, 0x134F, 0x434C, 0x060F, 0x134F, 0x407C, 0x0088, 0x090F, 0x134F,
+0x407C, 0x0024, 0x083F, 0x0010, 0x134F, 0x435C, 0x060F, 0x134F, 0x1656,
+0x0110, 0x141B, 0x8221, 0x008A, 0x2C26, 0x410C, 0x531C, 0x0A0F, 0x0F3F,
+0x0028, 0x134F, 0x407C, 0x0090, 0x1380, 0x2BDA, 0x3C1D, 0x410C, 0x532C,
+0x0A0F, 0x0F3F, 0x002C, 0x134F, 0x416C, 0x0B0F, 0x134F, 0x411C, 0x0002,
+0x0B0F, 0x134F, 0x90F1, 0x009E, 0x0000, 0x2007, 0xB0B1, 0x0040, 0x0002,
+0x2803, 0x1840, 0x4382, 0x2838, 0x415E, 0x0001, 0x537E, 0x4EC1, 0x0001,
+0x93C1, 0x0001, 0x2416, 0x410C, 0x530C, 0x0A0F, 0x0F3F, 0x0028, 0x134F,
+0x008B, 0x2BE6, 0xB3D1, 0x0000, 0x2BD5, 0x416C, 0x0B0F, 0x134F, 0x430C,
+0x0B0F, 0x134F, 0x0A0F, 0x0F3F, 0x0010, 0x134F, 0x3FE2, 0x430C, 0x5221,
+0x161A, 0x0110, 0x145B, 0x4C0A, 0x0088, 0x2BD2, 0x08C9, 0x00A9, 0x0008,
+0x407C, 0x00C8, 0x090F, 0x134F, 0x08C6, 0x00A6, 0x0014, 0x403C, 0x3401,
+0x060F, 0x134F, 0x407C, 0x0082, 0x090F, 0x134F, 0x403C, 0x4030, 0x060F,
+0x134F, 0x00A8, 0x0030, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x4A0C, 0x060F, 0x134F, 0x434C, 0x080F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x407C, 0x0021, 0x090F, 0x134F, 0x434C, 0x080F, 0x134F, 0x407C, 0x00C8,
+0x090F, 0x134F, 0x403C, 0x2401, 0x060F, 0x134F, 0x435C, 0x080F, 0x134F,
+0x1656, 0x0110, 0x140A, 0x8321, 0x4381, 0x0000, 0x008A, 0x2B62, 0x431C,
+0x0A3F, 0x0044, 0x134F, 0x403C, 0x01F4, 0x0A3F, 0x0024, 0x134F, 0x434C,
+0x0A3F, 0x0018, 0x134F, 0x008A, 0x2BD2, 0x0A0F, 0x134F, 0x0A3F, 0x0004,
+0x134F, 0x407C, 0x0028, 0x0A3F, 0x0008, 0x134F, 0x4C4C, 0x4C81, 0x0000,
+0x90B1, 0x0089, 0x0000, 0x2014, 0x008A, 0x2C26, 0x435C, 0x0A0F, 0x0F3F,
+0x0008, 0x134F, 0x407C, 0x0089, 0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x436C,
+0x0A0F, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x3C01, 0x433C, 0x5321, 0x160A,
+0x0110, 0x403E, 0x0018, 0x430F, 0x430D, 0x008C, 0x2C2A, 0x13B1, 0xCE92,
+0x403E, 0x0020, 0x430F, 0x430D, 0x008C, 0x2CD8, 0x13B1, 0xCE92, 0x403E,
+0x0010, 0x430F, 0x430D, 0x008C, 0x2B42, 0x13B1, 0xCE92, 0x1840, 0x40B2,
+0xE000, 0x2B52, 0x1840, 0x40B2, 0xE000, 0x2B54, 0x1840, 0x4382, 0x2874,
+0x1840, 0x43C2, 0x2CF8, 0x1840, 0x4382, 0x2876, 0x1840, 0x40B2, 0x0417,
+0x2898, 0x1840, 0x4382, 0x289A, 0x403E, 0x0018, 0x430F, 0x430D, 0x008C,
+0x2878, 0x0180, 0xCE92, 0x141B, 0x430A, 0x430B, 0x3C10, 0x403C, 0xAAAA,
+0x1380, 0x2BE6, 0x4C0B, 0x903C, 0x5555, 0x2007, 0x403C, 0x5555, 0x002F,
+0x2C26, 0x0F3F, 0x0010, 0x134F, 0x531A, 0x903A, 0x0003, 0x2C16, 0x407C,
+0x0028, 0x1380, 0x2BDA, 0x4C4C, 0x903C, 0x0099, 0x27E5, 0x903C, 0x0098,
+0x27E2, 0x903C, 0x0095, 0x27DF, 0x903C, 0x0091, 0x27DC, 0x903C, 0x0089,
+0x27D9, 0x433C, 0x3C07, 0x4B0C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F,
+0x430C, 0x161A, 0x0110, 0x141B, 0x008A, 0x2B62, 0x008B, 0x2878, 0x938B,
+0x0010, 0x240D, 0x407C, 0x00F4, 0x1380, 0x2BDA, 0x4B1C, 0x0012, 0x1380,
+0x2BE6, 0x403C, 0x0014, 0x0A3F, 0x0024, 0x134F, 0x4B2F, 0xDB1F, 0x0002,
+0x930F, 0x240F, 0x407C, 0x0054, 0x1380, 0x2BDA, 0x4B1C, 0x0004, 0x4B1D,
+0x0006, 0x1380, 0x2BEE, 0x403C, 0x0014, 0x0A3F, 0x0024, 0x134F, 0x0A3F,
+0x001C, 0x134F, 0x430C, 0x161A, 0x0110, 0x140A, 0x8321, 0x410C, 0x530C,
+0x002F, 0x2C26, 0x0F3F, 0x0028, 0x134F, 0x930C, 0x3403, 0x403C, 0xFFEB,
+0x3C1C, 0x416C, 0x1380, 0x2B72, 0x930C, 0x2403, 0x403C, 0xFFEA, 0x3C14,
+0x008A, 0x2BD2, 0x0ACC, 0x13B0, 0x1880, 0x434C, 0x1380, 0x2B7A, 0x0A0F,
+0x134F, 0x0A3F, 0x0004, 0x134F, 0x435C, 0x002F, 0x2C26, 0x0F3F, 0x0008,
+0x134F, 0x430C, 0x5321, 0x160A, 0x0110, 0x143B, 0x4C0A, 0x0088, 0x2BD2,
+0x407C, 0x0082, 0x083F, 0x0008, 0x134F, 0x403C, 0x4030, 0x083F, 0x0014,
+0x134F, 0x08C9, 0x00A9, 0x0030, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F,
+0x134F, 0x4A0C, 0x083F, 0x0014, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C,
+0x090F, 0x134F, 0x435C, 0x090F, 0x134F, 0x434C, 0x090F, 0x134F, 0x435C,
+0x090F, 0x134F, 0x1638, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D, 0x2424,
+0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002, 0x930D,
+0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098, 0x2002,
+0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C, 0x0477,
+0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110,
+0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D, 0x2424, 0x903C, 0x008D,
+0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002, 0x930D, 0x241A, 0x903C,
+0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098, 0x2002, 0x930D, 0x2410,
+0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C, 0x0477, 0x703D, 0x4BA0,
+0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x435C, 0x0110,
+0x903C, 0x0089, 0x2002, 0x930D, 0x2424, 0x903C, 0x008D, 0x2002, 0x930D,
+0x241F, 0x903C, 0x0091, 0x2002, 0x930D, 0x241A, 0x903C, 0x0095, 0x2002,
+0x930D, 0x2415, 0x903C, 0x0098, 0x2002, 0x930D, 0x2410, 0x903C, 0x0099,
+0x2002, 0x930D, 0x240B, 0x803C, 0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C,
+0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x435C, 0x0110, 0x903C, 0x0089,
+0x2002, 0x930D, 0x2424, 0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C,
+0x0091, 0x2002, 0x930D, 0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415,
+0x903C, 0x0098, 0x2002, 0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D,
+0x240B, 0x803C, 0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C,
+0x0110, 0x435C, 0x0110, 0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D,
+0x2424, 0x903C, 0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002,
+0x930D, 0x241A, 0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098,
+0x2002, 0x930D, 0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C,
+0x0477, 0x703D, 0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x903C, 0x0089, 0x2002, 0x930D, 0x2424, 0x903C,
+0x008D, 0x2002, 0x930D, 0x241F, 0x903C, 0x0091, 0x2002, 0x930D, 0x241A,
+0x903C, 0x0095, 0x2002, 0x930D, 0x2415, 0x903C, 0x0098, 0x2002, 0x930D,
+0x2410, 0x903C, 0x0099, 0x2002, 0x930D, 0x240B, 0x803C, 0x0477, 0x703D,
+0x4BA0, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C, 0x0110, 0x435C,
+0x0110, 0x1800, 0x1246, 0x1800, 0x1247, 0x4D06, 0xD07D, 0x0080, 0x6606,
+0x6707, 0x1086, 0xF376, 0x8076, 0x007F, 0x2C03, 0x430C, 0x430D, 0x3C13,
+0x8076, 0x0018, 0x2C07, 0xE376, 0x240E, 0x110D, 0x100C, 0x8356, 0x23FC,
+0x3C09, 0x9236, 0x3803, 0x433C, 0x433D, 0x3C04, 0x5C0C, 0x6D0D, 0x8356,
+0x2FFC, 0x1007, 0x1800, 0x4177, 0x1800, 0x4176, 0x0110, 0x140A, 0x008A,
+0x2B62, 0x434C, 0x0A3F, 0x0030, 0x134F, 0x403C, 0x0028, 0x0A3F, 0x0024,
+0x134F, 0x434C, 0x0A3F, 0x0034, 0x134F, 0x403C, 0x0028, 0x0A3F, 0x0024,
+0x134F, 0x434C, 0x0A3F, 0x002C, 0x134F, 0x1380, 0x2BD2, 0x407C, 0x0028,
+0x1380, 0x2BDA, 0x4C4C, 0x430D, 0x13B1, 0xCB98, 0x930C, 0x2002, 0x433C,
+0x3C01, 0x430C, 0x160A, 0x0110, 0x140A, 0x008A, 0x2B62, 0x435C, 0x0A3F,
+0x002C, 0x134F, 0x1380, 0x2BD2, 0x403C, 0xA55A, 0x13B1, 0xC120, 0x931C,
+0x2415, 0x403C, 0x0028, 0x0A3F, 0x0024, 0x134F, 0x435C, 0x0A3F, 0x0030,
+0x134F, 0x407C, 0x0028, 0x1380, 0x2BDA, 0x4C4C, 0x430D, 0x13B1, 0xCB98,
+0x930C, 0x2402, 0x430C, 0x3C01, 0x433C, 0x160A, 0x0110, 0x8231, 0x4381,
+0x0004, 0x4381, 0x0006, 0x4381, 0x0000, 0x4381, 0x0002, 0x410D, 0x530D,
+0x410C, 0x522C, 0x1380, 0x2B6E, 0x411C, 0x0004, 0x411D, 0x0006, 0x13B1,
+0xCFA8, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x412C, 0x411D, 0x0002,
+0x13B1, 0xCFA8, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x5231,
+0x0110, 0x1800, 0x1249, 0x1800, 0x124A, 0x1800, 0x124B, 0x430A, 0x430B,
+0x4039, 0x0020, 0x5C0C, 0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804,
+0xD31C, 0x5339, 0x23F6, 0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E,
+0x4B0F, 0x1800, 0x417B, 0x1800, 0x417A, 0x1800, 0x4179, 0x0110, 0x434E,
+0x3C07, 0x1840, 0x43BD, 0x289C, 0x1800, 0x43CD, 0x289E, 0x535E, 0x907E,
+0x0070, 0x2C11, 0x4E4D, 0x0DED, 0x0DCF, 0x0DED, 0x0FED, 0x907E, 0x006E,
+0x2FEE, 0x1840, 0x4D9D, 0x2472, 0x289C, 0x1800, 0x4DDD, 0x2474, 0x289E,
+0x3FEB, 0x0110, 0x140A, 0x430A, 0x3C01, 0x531A, 0x922A, 0x3413, 0x407C,
+0x0028, 0x1380, 0x2BDA, 0x4C4F, 0x4F0C, 0x430D, 0x13B1, 0xC8A4, 0x930C,
+0x27F2, 0x4F0C, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x3C01,
+0x433C, 0x160A, 0x0110, 0x1880, 0x40F2, 0x9C5E, 0x280C, 0x1880, 0x40F2,
+0xB4D6, 0x2810, 0x1880, 0x40F2, 0xC2EA, 0x2814, 0x1880, 0x40F2, 0xB820,
+0x2818, 0x1880, 0x40F2, 0xBA4C, 0x281C, 0x002F, 0x298E, 0x0F60, 0x2820,
+0x430C, 0x0180, 0xA410, 0x1880, 0x40F2, 0xA674, 0x280C, 0x1880, 0x40F2,
+0xBBBA, 0x2810, 0x1880, 0x40F2, 0xC69E, 0x2814, 0x1880, 0x40F2, 0xB8DC,
+0x2818, 0x1880, 0x40F2, 0xBC70, 0x281C, 0x002F, 0x2910, 0x0F60, 0x2820,
+0x431C, 0x0180, 0xA410, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1880, 0x40F2, 0xA674, 0x280C, 0x1880, 0x40F2,
+0xBBBA, 0x2810, 0x1880, 0x40F2, 0xC69E, 0x2814, 0x1880, 0x40F2, 0xB8DC,
+0x2818, 0x1880, 0x40F2, 0xBC70, 0x281C, 0x002F, 0x2910, 0x0F60, 0x2820,
+0x431C, 0x0180, 0xA19C, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1880, 0x40F2, 0xA674, 0x280C, 0x1880, 0x40F2,
+0xBBBA, 0x2810, 0x1880, 0x40F2, 0xC410, 0x2814, 0x1880, 0x40F2, 0xB8DC,
+0x2818, 0x1880, 0x40F2, 0xBC70, 0x281C, 0x002F, 0x2910, 0x0F60, 0x2820,
+0x430C, 0x0180, 0xA410, 0x1880, 0x40F2, 0xA674, 0x280C, 0x1880, 0x40F2,
+0xBBBA, 0x2810, 0x1880, 0x40F2, 0xC410, 0x2814, 0x1880, 0x40F2, 0xB8DC,
+0x2818, 0x1880, 0x40F2, 0xBC70, 0x281C, 0x002F, 0x2910, 0x0F60, 0x2820,
+0x430C, 0x0180, 0xA19C, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x903C, 0x0091, 0x2002, 0x930D, 0x2414, 0x903C,
+0x0095, 0x2002, 0x930D, 0x240F, 0x903C, 0x0098, 0x2002, 0x930D, 0x240A,
+0x803C, 0x0099, 0x730D, 0xDD0C, 0x930C, 0x2402, 0x434C, 0x0110, 0x435C,
+0x0110, 0x435C, 0x0110, 0x1880, 0x40F2, 0x9C5E, 0x280C, 0x1880, 0x40F2,
+0xB4D6, 0x2810, 0x1880, 0x40F2, 0xC2EA, 0x2814, 0x1880, 0x40F2, 0xB820,
+0x2818, 0x1880, 0x40F2, 0xBA4C, 0x281C, 0x002F, 0x298E, 0x0F60, 0x2820,
+0x430C, 0x0180, 0xA19C, 0x1800, 0x1246, 0x4D06, 0x5606, 0x9036, 0xFF01,
+0x2C05, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2802, 0xC322, 0x3C09, 0xB03D,
+0x7FFF, 0x2003, 0xB03F, 0x7FFF, 0x3C03, 0x9D0F, 0x2001, 0x9C0E, 0x1800,
+0x4176, 0x0110, 0x140A, 0x008A, 0x2BD2, 0x407C, 0x0086, 0x0A3F, 0x0008,
+0x134F, 0x430C, 0x0A3F, 0x0014, 0x134F, 0xB22C, 0x2809, 0x422C, 0x0A3F,
+0x0014, 0x134F, 0x430C, 0x0A3F, 0x0014, 0x134F, 0x3C01, 0x430C, 0x160A,
+0x0110, 0x1840, 0x4392, 0x246E, 0x1840, 0x4382, 0x2830, 0x1840, 0x4382,
+0x2826, 0x1840, 0x4382, 0x2828, 0x1840, 0x4382, 0x282A, 0x1840, 0x4382,
+0x282C, 0x1840, 0x4382, 0x2838, 0x430C, 0x0110, 0x143B, 0x4E0A, 0x4F0B,
+0x0CC8, 0x3C06, 0x4DE8, 0x0000, 0x00A8, 0x0001, 0x00AD, 0x0001, 0x4A09,
+0x4B0F, 0x533A, 0x633B, 0xDF09, 0x9309, 0x23F3, 0x1638, 0x0110, 0x907B,
+0x0010, 0x2807, 0x4D0C, 0x4E0D, 0x4F0E, 0x430F, 0x807B, 0x0010, 0x3FF6,
+0x934B, 0x2406, 0x035F, 0x100E, 0x100D, 0x100C, 0x835B, 0x23FA, 0x0110,
+0x1202, 0xC232, 0x4303, 0x4C82, 0x04D0, 0x4D82, 0x04D2, 0x4E82, 0x04E0,
+0x4F82, 0x04E2, 0x421C, 0x04E4, 0x421D, 0x04E6, 0x4132, 0x0110, 0x4C0D,
+0x4C0E, 0xF03E, 0x000F, 0x431C, 0x835E, 0x3002, 0x18CE, 0x5C0C, 0x907D,
+0x0010, 0x2803, 0x4C0D, 0x430C, 0x0110, 0x430D, 0x0110, 0x4382, 0x03C0,
+0x40B2, 0x02C0, 0x03C0, 0x40B2, 0x09CF, 0x03D2, 0xC392, 0x03C2, 0xD0B2,
+0x0010, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0x0110, 0x143B, 0x0CC8, 0x3C04,
+0x4DC8, 0x0000, 0x00A8, 0x0001, 0x4E09, 0x4F0B, 0x533E, 0x633F, 0xDB09,
+0x9309, 0x23F5, 0x1638, 0x0110, 0x433C, 0x002F, 0x2C26, 0x0F3F, 0x0010,
+0x134F, 0x403C, 0xAAAA, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x433C,
+0x0110, 0x403C, 0x0099, 0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x431C,
+0x002F, 0x2C26, 0x0F3F, 0x0010, 0x134F, 0x430C, 0x0110, 0x8321, 0x410C,
+0x530C, 0x002F, 0x2C26, 0x0F3F, 0x002C, 0x134F, 0x412C, 0x1380, 0x2B66,
+0x430C, 0x5321, 0x0110, 0x407C, 0x0094, 0x1380, 0x2BDA, 0x434C, 0x1380,
+0x2BE2, 0x002F, 0x2C26, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x0110, 0x151F,
+0x160F, 0x0CCE, 0x0FEE, 0x3C04, 0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC,
+0x23FA, 0x0110, 0x1800, 0x124C, 0x4EFC, 0x0000, 0x00AC, 0x0001, 0x00BD,
+0x0001, 0x23F9, 0x1800, 0x417C, 0x0110, 0x1800, 0x124C, 0x438C, 0x0000,
+0x532C, 0x831E, 0x23FB, 0x1800, 0x417C, 0x0110, 0x035D, 0x100C, 0x035D,
+0x100C, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF37D, 0x0110, 0x435C, 0x002F,
+0x2C26, 0x0F3F, 0x0008, 0x134F, 0x430C, 0x0110, 0xC0B2, 0x0010, 0x03C0,
+0x4382, 0x03C0, 0x0020, 0x2BA2, 0x13B1, 0xCD48, 0x430C, 0x2401, 0x531C,
+0x0110, 0x13B1, 0xC8FA, 0x2802, 0x430C, 0x430D, 0x0110, 0x430C, 0x430D,
+0x430E, 0x430F, 0x0110, 0x430C, 0x430D, 0x430E, 0x430F, 0x0110, 0x430C,
+0x430D, 0x430E, 0x430F, 0x0110, 0x403C, 0x0021, 0x0180, 0x4FD8, 0x403C,
+0x0020, 0x0180, 0x4FD8, 0x430C, 0x0180, 0x4FD8, 0x403C, 0xFFBD, 0x0110,
+0x430C, 0x430D, 0x0110, 0x430C, 0x430D, 0x0110, 0x403C, 0xFFBD, 0x0110,
+0x403C, 0xFFBD, 0x0110, 0x430C, 0x0110, 0x433C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x433C,
+0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x433C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C,
+0x0110, 0x430C, 0x0110, 0x433C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x434C,
+0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x433C, 0x0110,
+0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x430C,
+0x0110, 0x430C, 0x0110, 0x434C, 0x0110, 0x433C, 0x0110, 0x433C, 0x0110,
+0x430C, 0x0110, 0x434C, 0x0110, 0x433C, 0x0110, 0x0180, 0xCDDE, 0x0110,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0120,
+0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80,
+0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000,
+0x0000, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000, 0x5A80, 0x0000, 0x0000,
+0x0000, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0000,
+0x5A80, 0x0000, 0x0000, 0x0000, 0x5A83, 0x0000, 0x0000, 0x0120, 0x5A80,
+0x0120, 0x5A80, 0x0000, 0x5A80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0000, 0x0000, 0x0900, 0x0301, 0x0705, 0x0281, 0x0000, 0x0000, 0xFF04,
+0x0FFF, 0x0600, 0x0001, 0x0000, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000,
+0x0109, 0x0503, 0x8107, 0x0002, 0x0000, 0x0400, 0xFFFF, 0x000F, 0x0106,
+0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000, 0xFF00, 0xCACA, 0xCACA,
+0x40B2, 0x5A80, 0x0120, 0xC232, 0xC0F2, 0x003F, 0x0057, 0xD0F2, 0x0007,
+0x0057, 0x45C2, 0x0056, 0x46C2, 0x0057, 0x43C2, 0x0058, 0xEA0A, 0xE909,
+0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x40B2, 0x5A80, 0x0120,
+0xC232, 0xD072, 0x0040, 0x4032, 0x0040, 0x40F2, 0x0080, 0x0052, 0x43C2,
+0x0050, 0x45C2, 0x0051, 0xD0F2, 0x0080, 0x0053, 0xC0F2, 0x005F, 0x0054,
+0xEA0A, 0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x0001,
+0x015C, 0x0000, 0xD042, 0x0001, 0x0001, 0xD03E, 0x0001, 0x0002, 0xCEEE,
+0x0001, 0x0003, 0xC9F0, 0x0001, 0x0004, 0xC644, 0x0001, 0x0005, 0xB3F0,
+0x0001, 0x0006, 0xC5E6, 0x0001, 0x0007, 0x91E2, 0x0001, 0x0008, 0xCF0A,
+0x0001, 0x0009, 0xD000, 0x0001, 0x000A, 0xBFDC, 0x0001, 0x000B, 0xA9F4,
+0x0001, 0x000C, 0xCABE, 0x0001, 0x000D, 0xD006, 0x0001, 0x000E, 0xD08A,
+0x0001, 0x000F, 0xCF7E, 0x0001, 0x0010, 0xCED0, 0x0001, 0x0011, 0xB75A,
+0x0001, 0x0012, 0x32F0, 0x0001, 0x0013, 0x3F28, 0x0001, 0x0014, 0x5D9A,
+0x0001, 0x0015, 0xA8CE, 0x0001, 0x0016, 0x9DB6, 0x0001, 0x0017, 0x952C,
+0x0001, 0x0018, 0x981E, 0x0001, 0x0019, 0x9AF6, 0x0001, 0x001A, 0xC37E,
+0x0001, 0x001B, 0xD0A2, 0x0001, 0x001C, 0x8A36, 0x0001, 0x001D, 0xB690,
+0x0001, 0x001E, 0xB030, 0x0001, 0x001F, 0x73AC, 0x0001, 0x0020, 0x0000,
+0x0001, 0x0021, 0x141A, 0x0001, 0x0022, 0xCC70, 0x0001, 0x0023, 0xCBCE,
+0x0001, 0x0024, 0xCC3A, 0x0001, 0x0025, 0xCB2C, 0x0001, 0x0026, 0x9022,
+0x0001, 0x0027, 0xF77E, 0x0000, 0x0028, 0x452A, 0x0001, 0x0029, 0x6D26,
+0x0001, 0x002A, 0xA542, 0x0001, 0x002B, 0xAC1E, 0x0001, 0x002C, 0x938C,
+0x0001, 0x002D, 0x96AC, 0x0001, 0x002E, 0x998A, 0x0001, 0x002F, 0xBDD2,
+0x0001, 0x0030, 0x7666, 0x0001, 0x0031, 0xAF30, 0x0001, 0x0032, 0x9F0E,
+0x0001, 0x0033, 0x8622, 0x0001, 0x0034, 0xE10A, 0x0000, 0x0035, 0xCD12,
+0x0001, 0x0036, 0xCAF6, 0x0001, 0x0037, 0x8E3E, 0x0001, 0x0038, 0xCFE8,
+0x0001, 0x0039, 0xCFFA, 0x0001, 0x003A, 0x3918, 0x0001, 0x003B, 0x254C,
+0x0001, 0x003C, 0x54DE, 0x0001, 0x003D, 0xBD22, 0x0001, 0x003E, 0x7FCC,
+0x0001, 0x003F, 0xA7A2, 0x0001, 0x0040, 0xB216, 0x0001, 0x0041, 0x7D88,
+0x0001, 0x0042, 0x7B32, 0x0001, 0x0043, 0xA2DA, 0x0001, 0x0044, 0x8C3E,
+0x0001, 0x0045, 0x2C48, 0x0001, 0x0046, 0xB308, 0x0001, 0x0047, 0xAB0E,
+0x0001, 0x0048, 0xB124, 0x0001, 0x0049, 0x594A, 0x0001, 0x004A, 0xCFD2,
+0x0001, 0x004B, 0xB5B8, 0x0001, 0x004C, 0xC57A, 0x0001, 0x004D, 0xC9A2,
+0x0001, 0x004E, 0x6978, 0x0001, 0x004F, 0xBB04, 0x0001, 0x0050, 0x78D4,
+0x0001, 0x0051, 0x882E, 0x0001, 0x0052, 0xCDB0, 0x0001, 0x0053, 0xC48E,
+0x0001, 0x0054, 0xC07E, 0x0001, 0x0055, 0xCFDA, 0x0001, 0x0056, 0xD02E,
+0x0001, 0x0057, 0xBF30, 0x0001, 0x0058, 0xD00A, 0x0001, 0x0059, 0xC94E,
+0x0001, 0x005A, 0x8414, 0x0001, 0x005B, 0xD022, 0x0001, 0x005C, 0xD05E,
+0x0001, 0x005D, 0xD032, 0x0001, 0x005E, 0xD046, 0x0001, 0x005F, 0xD07E,
+0x0001, 0x0060, 0xD082, 0x0001, 0x0061, 0xD086, 0x0001, 0x0062, 0xD052,
+0x0001, 0x0063, 0xD016, 0x0001, 0x0064, 0xD04A, 0x0001, 0x0065, 0xFDFC,
+0x0000, 0x0066, 0xD04E, 0x0001, 0x0067, 0xD036, 0x0001, 0x0068, 0xCEB2,
+0x0001, 0x0069, 0xCFE2, 0x0001, 0x006A, 0xD07A, 0x0001, 0x006B, 0xD076,
+0x0001, 0x006C, 0xD03A, 0x0001, 0x006D, 0xB994, 0x0001, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+};
+
+const uint32_t eZ_FetHalImage_address[] =
+{
+0x00001900, 0x0000E000, 0x00010000,
+};
+const uint32_t eZ_FetHalImage_length_of_sections[] =
+{
+0x00000040, 0x00000F00, 0x00007000,
+};
+const uint32_t eZ_FetHalImage_sections = 0x00000003;
+const uint32_t eZ_FetHalImage_termination = 0x00000000;
+const uint32_t eZ_FetHalImage_start = 0x00001900;
+const uint32_t eZ_FetHalImage_finish = 0x0001E000;
+const uint32_t eZ_FetHalImage_length = 0x0001C700;
+
+#define EZ_FETHALIMAGE_TERMINATION 0x00000000
+#define EZ_FETHALIMAGE_START 0x00001900
+#define EZ_FETHALIMAGE_FINISH 0x0001E000
+#define EZ_FETHALIMAGE_LENGTH 0x0001C700
+#define EZ_FETHALIMAGE_SECTIONS 0x00000003
diff --git a/Bios/include/eZ_FetHil.h b/Bios/include/eZ_FetHil.h
new file mode 100644
index 0000000..ba76da6
--- /dev/null
+++ b/Bios/include/eZ_FetHil.h
@@ -0,0 +1,1255 @@
+/* http://srecord.sourceforge.net/ */
+const uint16_t eZ_FetHilImage[] =
+{
+0x008E, 0x2D7C, 0x008D, 0x002A, 0x0080, 0xDB20, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x008E, 0x2D0C,
+0x008D, 0x0038, 0x0080, 0xDB20, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x000B, 0x000D, 0x8A00, 0x9277, 0xF00D,
+0xF00D, 0x4180, 0xA2FE, 0x1840, 0x1204, 0x1840, 0x1205, 0x1840, 0x1206,
+0x1840, 0x1207, 0x1840, 0x1208, 0x1840, 0x1209, 0x1840, 0x120A, 0x1840,
+0x120B, 0x1840, 0x120C, 0x1840, 0x120D, 0x1840, 0x120E, 0x1840, 0x120F,
+0x008C, 0x2D04, 0x403E, 0x0248, 0x403F, 0x0000, 0x13B0, 0xDB08, 0x008C,
+0x2D02, 0x008D, 0xDBD6, 0x403E, 0x0001, 0x403F, 0x0000, 0x13B0, 0xDBA4,
+0x1840, 0x413F, 0x1840, 0x413E, 0x1840, 0x413D, 0x1840, 0x413C, 0x1840,
+0x413B, 0x1840, 0x413A, 0x1840, 0x4139, 0x1840, 0x4138, 0x1840, 0x4137,
+0x1840, 0x4136, 0x1840, 0x4135, 0x1840, 0x4134, 0x1800, 0x4070, 0xDB52,
+0x4011, 0xA270, 0x934C, 0x002F, 0x2DD8, 0x2405, 0x1840, 0xD2DF, 0x2DDD,
+0x0000, 0x3C04, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392,
+0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010,
+0x03C0, 0x537E, 0x23F3, 0x0110, 0x934C, 0x002F, 0x2DD8, 0x2405, 0x1840,
+0xD2DF, 0x2DDC, 0x0000, 0x3C04, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x3FE2,
+0x4303, 0x1840, 0x4C82, 0x2D06, 0x0110, 0x930D, 0x2406, 0x1840, 0x4D82,
+0x2DE4, 0x4D0C, 0x13B0, 0xBDFA, 0x0110, 0x1840, 0x9382, 0x2D08, 0x206D,
+0x008F, 0x2DD0, 0x0F3E, 0x0008, 0xDFDE, 0x000C, 0x0000, 0x0F3E, 0x0008,
+0xCFDE, 0x000D, 0x0000, 0x407E, 0x0032, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x0F3E, 0x000E, 0xCFDE, 0x000D, 0x0000, 0x0F3E, 0x000E, 0xCFDE, 0x000C,
+0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x008F, 0x2D7C,
+0x1800, 0x40FF, 0xDB84, 0x0000, 0x1800, 0x40FF, 0xDB98, 0x0004, 0x1800,
+0x40FF, 0xDB94, 0x0008, 0x1800, 0x40FF, 0xDB8C, 0x0010, 0x1800, 0x40FF,
+0xDBA0, 0x0014, 0x1800, 0x40FF, 0xDB66, 0x0018, 0x1800, 0x40FF, 0xDB60,
+0x001C, 0x1800, 0x40FF, 0xDB40, 0x0024, 0x1800, 0x40FF, 0xDB36, 0x0028,
+0x1800, 0x40FF, 0xDBAC, 0x0030, 0x1800, 0x40FF, 0xDB80, 0x003C, 0x1800,
+0x40FF, 0xDBAA, 0x0034, 0x1800, 0x40FF, 0xDB90, 0x0038, 0x1840, 0x4392,
+0x2D08, 0x0110, 0x13B0, 0x8B04, 0x430C, 0x0110, 0x140A, 0x430A, 0x931C,
+0x2020, 0x1840, 0x4392, 0x2DE2, 0x008C, 0x2DD0, 0x008E, 0xDBC4, 0x008D,
+0x0009, 0x13B0, 0xDB20, 0x008C, 0x2DE6, 0x008E, 0x2DD0, 0x008D, 0x0009,
+0x13B0, 0xDB20, 0x1840, 0x43C2, 0x2F49, 0x1840, 0x43C2, 0x2F4A, 0x1840,
+0x43C2, 0x2F4B, 0x1840, 0x421C, 0x2DE4, 0x3C21, 0x903C, 0x0005, 0x2021,
+0x1840, 0x4392, 0x2DE2, 0x008C, 0x2DD0, 0x008E, 0xDBB2, 0x008D, 0x0009,
+0x13B0, 0xDB20, 0x008C, 0x2DE6, 0x008E, 0x2DD0, 0x008D, 0x0009, 0x13B0,
+0xDB20, 0x1840, 0x43C2, 0x2F49, 0x1840, 0x43C2, 0x2F4A, 0x1840, 0x43C2,
+0x2F4B, 0x403C, 0x400A, 0x13B0, 0xBDFA, 0x3C3C, 0x932C, 0x2039, 0x008F,
+0x2D7C, 0x1800, 0x40FF, 0xDB84, 0x0000, 0x1800, 0x40FF, 0xDB98, 0x0004,
+0x1800, 0x40FF, 0xDB94, 0x0008, 0x1800, 0x40FF, 0xDB8C, 0x0010, 0x1800,
+0x40FF, 0xDBA0, 0x0014, 0x1800, 0x40FF, 0xDB66, 0x0018, 0x1800, 0x40FF,
+0xDB60, 0x001C, 0x1800, 0x40FF, 0xDB40, 0x0024, 0x1800, 0x40FF, 0xDB36,
+0x0028, 0x1800, 0x40FF, 0xDBAC, 0x0030, 0x1800, 0x40FF, 0xDB80, 0x003C,
+0x1800, 0x40FF, 0xDBAA, 0x0034, 0x1800, 0x40FF, 0xDB90, 0x0038, 0x403C,
+0xFFEA, 0x3C59, 0x433A, 0x40B2, 0x13C0, 0x0520, 0x002F, 0x2DD8, 0x0F60,
+0x0526, 0x40B2, 0x13C0, 0x0530, 0x0F60, 0x0536, 0x008F, 0x2D7C, 0x1800,
+0x40FF, 0xD7C4, 0x0000, 0x1800, 0x40FF, 0xD0E6, 0x0004, 0x1800, 0x40FF,
+0xBCE0, 0x0008, 0x1800, 0x40FF, 0xBCA0, 0x0010, 0x1800, 0x40FF, 0xBB2A,
+0x0014, 0x1800, 0x40FF, 0xB75C, 0x0018, 0x1800, 0x40FF, 0xB50A, 0x001C,
+0x1800, 0x40FF, 0xAF34, 0x0024, 0x1800, 0x40FF, 0x9EFA, 0x0028, 0x1800,
+0x40FF, 0xD6A0, 0x0030, 0x1800, 0x40FF, 0xDB6A, 0x003C, 0x1840, 0x9392,
+0x2D04, 0x2003, 0x008F, 0xC910, 0x3C09, 0x1840, 0x93A2, 0x2D04, 0x2003,
+0x008F, 0xCE4C, 0x3C02, 0x008F, 0xCBAE, 0x0F60, 0x2DB0, 0x1800, 0x40F2,
+0xDB9C, 0x2DB4, 0x1800, 0x40F2, 0x2EF5, 0x0532, 0x1840, 0x4382, 0x2D08,
+0x4A0C, 0x160A, 0x0110, 0x140A, 0x4C4A, 0x1840, 0x9382, 0x2D08, 0x2405,
+0x1840, 0x421C, 0x2DE2, 0x13B0, 0x8BF0, 0x934A, 0x21A7, 0x1840, 0x9392,
+0x2DE2, 0x008F, 0x2DD0, 0x0F3E, 0x0008, 0xDFDE, 0x000C, 0x0000, 0x0F3E,
+0x0008, 0xCFDE, 0x000D, 0x0000, 0x0F3E, 0x000E, 0x4F5D, 0x000D, 0x20B0,
+0x5F5D, 0x000C, 0xDDCE, 0x0000, 0x435E, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392,
+0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010,
+0x03C0, 0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0,
+0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F,
+0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0014, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D,
+0x100F, 0x537E, 0x934E, 0x23FB, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x435E, 0x3C02, 0x184D,
+0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x0080, 0x9444, 0x5F5D, 0x000C, 0xDDCE, 0x0000,
+0x435E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x1840, 0x93A2, 0x2DE2, 0x002F,
+0x2DD8, 0x20C6, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392,
+0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010,
+0x03C0, 0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0,
+0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F,
+0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0014, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D,
+0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD,
+0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x435E, 0x3C02,
+0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xD2DF,
+0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0,
+0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E,
+0x003C, 0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8,
+0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x3DA5, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x3DA0, 0x1840, 0x9392,
+0x2DE2, 0x008F, 0x2DD0, 0x0F3E, 0x0008, 0xDFDE, 0x000C, 0x0000, 0x0F3E,
+0x0008, 0xCFDE, 0x000D, 0x0000, 0x0F3E, 0x000E, 0x4F5D, 0x000D, 0x20AF,
+0x5F5D, 0x000C, 0xDDCE, 0x0000, 0x435E, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392,
+0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010,
+0x03C0, 0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0,
+0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F,
+0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0014, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D,
+0x100F, 0x537E, 0x934E, 0x23FB, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x435E, 0x3C02, 0x184D,
+0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3CD9,
+0xC0F2, 0x0080, 0x0203, 0x3CD5, 0x5F5D, 0x000C, 0xDDCE, 0x0000, 0x435E,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x1840, 0x93A2, 0x2DE2, 0x002F, 0x2DD8,
+0x20D5, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8,
+0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0014, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D, 0x100F,
+0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000,
+0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840,
+0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x435E, 0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8,
+0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB,
+0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x3C13, 0x1840, 0xD2DF,
+0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0,
+0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x1840,
+0x4382, 0x2D08, 0x160A, 0x0110, 0x13B0, 0x8DAC, 0x430C, 0x0110, 0x1840,
+0x421F, 0x2DE2, 0x831F, 0x2404, 0x831F, 0x24D8, 0x0080, 0x9982, 0x935C,
+0x202A, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x3C2D, 0x934C, 0x2402,
+0x0080, 0x99EC, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD,
+0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0014,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDC,
+0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C,
+0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x435E,
+0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840,
+0xD2DF, 0x2DDD, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x407E, 0x003C, 0x3C02, 0x184D,
+0x100F, 0x537E, 0x934E, 0x23FB, 0x0080, 0x8AAC, 0x935C, 0x20C0, 0x002F,
+0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x426E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8,
+0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0014, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D, 0x100F,
+0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000,
+0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840,
+0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x435E, 0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8,
+0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x3F34, 0x934C, 0x20FD, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD,
+0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x426E, 0xC392,
+0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010,
+0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000,
+0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840,
+0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x407E, 0x0014, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840,
+0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x407E, 0x003C, 0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F,
+0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x435E, 0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB,
+0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392,
+0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010,
+0x03C0, 0x537E, 0x23F3, 0x407E, 0x003C, 0x3C02, 0x184D, 0x100F, 0x537E,
+0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x3E72, 0x935C, 0x201C, 0x002F,
+0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2,
+0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0,
+0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x3E54,
+0x934C, 0x2015, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E,
+0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD,
+0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x0110, 0x1840, 0x4C82, 0x2D04,
+0x1840, 0x9392, 0x2DE2, 0x2014, 0x1840, 0x931C, 0x2005, 0x1800, 0x40F2,
+0xC910, 0x2DB0, 0x0110, 0x1840, 0x932C, 0x2005, 0x1800, 0x40F2, 0xCE4C,
+0x2DB0, 0x0110, 0x1800, 0x40F2, 0xCBAE, 0x2DB0, 0x0110, 0x8221, 0x4381,
+0x0000, 0x4381, 0x0002, 0xC3A2, 0x0700, 0x507C, 0x0010, 0x4CC2, 0x0710,
+0xD3A2, 0x0700, 0xD392, 0x0700, 0xB392, 0x070A, 0x2BFD, 0x4291, 0x0720,
+0x0000, 0x4381, 0x0002, 0x421F, 0x1A16, 0x1202, 0xC232, 0x4303, 0x4F82,
+0x04C0, 0x4192, 0x0002, 0x04C8, 0x4F82, 0x04C4, 0x421C, 0x04CA, 0x4292,
+0x04CC, 0x04CA, 0x4192, 0x0004, 0x04C8, 0x421D, 0x04CA, 0x4132, 0x5C0C,
+0x4D0C, 0x6C0C, 0x430D, 0x6D0D, 0x421E, 0x1A18, 0x4E0F, 0xE33F, 0x5F0F,
+0x7F0F, 0x5E0C, 0x6F0D, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x421C, 0x0720,
+0x430D, 0x13B0, 0xD986, 0x430E, 0x403F, 0x4020, 0x13B0, 0xD566, 0x430E,
+0x403F, 0x4580, 0x13B0, 0xD426, 0x5221, 0x0110, 0x143B, 0x0CC9, 0x0DC8,
+0x430A, 0x430B, 0x431C, 0x13B0, 0x9A26, 0x430E, 0x403F, 0x447A, 0x13B0,
+0xD566, 0x430E, 0x403F, 0x43FA, 0x13B0, 0xD426, 0x4C0A, 0x4D0B, 0x430E,
+0x403F, 0x447A, 0x4A0C, 0x4B0D, 0x13B0, 0xD566, 0x4C0A, 0x4D0B, 0x4A89,
+0x0000, 0x4B89, 0x0002, 0x4388, 0x0000, 0x4388, 0x0002, 0x430C, 0x1638,
+0x0110, 0x930C, 0x2407, 0xC3E2, 0x0205, 0xD3D2, 0x0205, 0xD3D2, 0x0203,
+0x3C08, 0xF0F2, 0x00FC, 0x0205, 0xF0F2, 0x00FC, 0x0203, 0x13B0, 0x8B04,
+0x430C, 0x0110, 0x1840, 0x90B2, 0xAAAD, 0x2D0A, 0x206C, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x907C, 0x0006, 0x201B, 0xD0F2, 0x0003, 0x0205,
+0x1840, 0x90F2, 0x0009, 0x2D02, 0x2005, 0xD3D2, 0x0203, 0xC3E2, 0x0203,
+0x3C04, 0xC3E2, 0x0203, 0xD3D2, 0x0203, 0xC0F2, 0x0010, 0x0204, 0xC0F2,
+0x0010, 0x0202, 0x1840, 0x4CC2, 0x2D02, 0x3C3D, 0x927C, 0x200F, 0xF0F2,
+0x00FC, 0x0205, 0xF0F2, 0x00FC, 0x0203, 0xC0F2, 0x0010, 0x0202, 0x13B0,
+0x8B04, 0x1840, 0x4CC2, 0x2D02, 0x3C2C, 0x907C, 0x0009, 0x201B, 0xD0F2,
+0x0003, 0x0205, 0x1840, 0x90F2, 0x0006, 0x2D02, 0x2005, 0xD3E2, 0x0203,
+0xC3D2, 0x0203, 0x3C04, 0xD3E2, 0x0203, 0xC3D2, 0x0203, 0xD0F2, 0x0010,
+0x0204, 0xD0F2, 0x0010, 0x0202, 0x1840, 0x4CC2, 0x2D02, 0x3C0E, 0xF0F2,
+0x00FC, 0x0205, 0xF0F2, 0x00FC, 0x0203, 0xC0F2, 0x0010, 0x0202, 0x13B0,
+0x8B04, 0x1840, 0x42E2, 0x2D02, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x0110, 0xC0F2, 0x0080, 0x0203, 0x0110, 0x903C, 0x0009,
+0x2403, 0x903C, 0x0006, 0x2004, 0x403C, 0x0CE4, 0x0080, 0x9B16, 0x430C,
+0x0080, 0x9B16, 0x4382, 0x03C0, 0x40B2, 0x02C0, 0x03C0, 0x40B2, 0x0C6C,
+0x03D2, 0xC0B2, 0x0010, 0x03C2, 0x0110, 0xC2E2, 0x0205, 0xD2E2, 0x020B,
+0x4382, 0x0400, 0x43B2, 0x0412, 0x40B2, 0x0022, 0x0400, 0x0110, 0x4382,
+0x0340, 0x43B2, 0x0352, 0x40B2, 0x02C0, 0x0340, 0x4392, 0x0360, 0xD0B2,
+0x0026, 0x0340, 0x0110, 0x13B0, 0x9C68, 0x13B0, 0x9C50, 0x13B0, 0x9C38,
+0xD0B2, 0x0080, 0x01B0, 0xD0B2, 0x0020, 0x01B0, 0xD392, 0x01B0, 0x40B2,
+0x0410, 0x0700, 0x40B2, 0x0200, 0x0702, 0x40F2, 0x0010, 0x0710, 0x4303,
+0x403F, 0x01C0, 0x533F, 0x2FFE, 0xD3A2, 0x0700, 0x4382, 0x0504, 0x4382,
+0x0502, 0xD3D2, 0x0205, 0xD3D2, 0x0203, 0x1840, 0x40F2, 0x0006, 0x2D02,
+0x1840, 0x4392, 0x2DE2, 0x1840, 0x4382, 0x2D04, 0x431C, 0x13B0, 0x8BF0,
+0x1840, 0x4392, 0x2D08, 0x430C, 0x0110, 0x002F, 0x2DD8, 0x1840, 0xD2DF,
+0x2DDD, 0x0000, 0x435E, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8,
+0x1840, 0xD2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0064, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDC, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0064, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005,
+0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2,
+0x0010, 0x03C0, 0x537E, 0x23F3, 0x407E, 0x0064, 0xC392, 0x03C2, 0xD0B2,
+0x0014, 0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E,
+0x23F3, 0x002F, 0x2DD8, 0x1840, 0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x000A,
+0x3C02, 0x184D, 0x100F, 0x537E, 0x934E, 0x23FB, 0x002F, 0x2DD8, 0x1840,
+0xD2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x407E, 0x0064, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840,
+0xD2DF, 0x2DDC, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x407E, 0x0064, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392, 0x03C2,
+0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3, 0x002F, 0x2DD8, 0x1840,
+0xC2DF, 0x2DDD, 0x0000, 0x407E, 0x0005, 0xC392, 0x03C2, 0xD0B2, 0x0014,
+0x03C0, 0xB392, 0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x537E, 0x23F3,
+0x407E, 0x0064, 0x0080, 0x8AB0, 0x147B, 0x120F, 0x120E, 0x120D, 0x120C,
+0x8221, 0x411F, 0x0030, 0x4F07, 0x035F, 0x4F81, 0x0002, 0x4191, 0x0032,
+0x0032, 0x4308, 0x4309, 0x430A, 0x430B, 0x430C, 0x430D, 0x430E, 0x403F,
+0x8000, 0x4346, 0x1840, 0x4254, 0x2F49, 0x1840, 0xF254, 0x2DF2, 0x2405,
+0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C04, 0x1800, 0x40F2, 0x2E4D, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x0084, 0x2DE6, 0x0435, 0x000E, 0xC4D5, 0x000C, 0x0000, 0x0435,
+0x0008, 0xC4D5, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0435, 0x0008,
+0xD4D5, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0435, 0x000E, 0xD4D5, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2,
+0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0435, 0x000E, 0xC4D5, 0x000C, 0x0000, 0x0435,
+0x0008, 0xC4D5, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0435, 0x0008,
+0xD4D5, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0435, 0x000E, 0xD4D5, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0435,
+0x000E, 0xC4D5, 0x000C, 0x0000, 0x0435, 0x0008, 0xC4D5, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0435, 0x0008, 0xD4D5, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0435, 0x000E, 0xD4D5, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2410, 0xD0F2, 0x0080, 0x0203, 0xBC81,
+0x0004, 0x202B, 0xBD81, 0x0006, 0x2028, 0xBE81, 0x0008, 0x2025, 0xBF81,
+0x000A, 0x2418, 0x3C21, 0xC0F2, 0x0080, 0x0203, 0x3FEF, 0xB31C, 0x2BED,
+0xBC81, 0x0004, 0x2009, 0xBD81, 0x0006, 0x2006, 0xBE81, 0x0008, 0x2003,
+0xBF81, 0x000A, 0x240B, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C0A, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0x3C09, 0x1800, 0x40F2, 0x2E4D, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x0084, 0x2DE6, 0x0435, 0x000E, 0xC4D5, 0x000C, 0x0000, 0x0435,
+0x0008, 0xC4D5, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0435, 0x0004,
+0x1840, 0x45E2, 0x2DF8, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0435, 0x0008, 0xD4D5, 0x000D, 0x0000, 0x0435, 0x000E, 0xD4D5, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x5808, 0x6909, 0x6A0A, 0x6B0B, 0x1840, 0x4254,
+0x2DF8, 0x1840, 0xF254, 0x2DF2, 0x2002, 0x4344, 0x3C01, 0x4354, 0xD408,
+0xB03F, 0x0100, 0x2C02, 0x0080, 0xAD18, 0x4846, 0xF076, 0x00C7, 0xB266,
+0x28ED, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0084, 0x2DE6, 0x043F,
+0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E, 0x2DF2,
+0x2440, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF,
+0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232,
+0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080,
+0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0x3C3B, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E,
+0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F,
+0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008,
+0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x407C, 0x0046,
+0x13B0, 0xBCE0, 0x0080, 0xAD00, 0x9076, 0x0083, 0x20EE, 0x1800, 0x40F2,
+0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0084, 0x2DE6, 0x043F, 0x000E, 0xC4DF, 0x000C,
+0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E, 0x2DF2, 0x2440, 0x1800, 0x40F2,
+0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F,
+0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008,
+0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2,
+0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C3B, 0x1800,
+0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000,
+0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F,
+0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0x410F, 0x530F, 0x40FF, 0x002A, 0x0000,
+0x0080, 0xACF6, 0xB076, 0x0040, 0x28F4, 0x4644, 0xF074, 0x00C0, 0x9074,
+0x00C0, 0x24EE, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0084, 0x2DE6,
+0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E,
+0x2DF2, 0x2440, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E,
+0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0x3C3B, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F,
+0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000,
+0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F,
+0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x410F,
+0x530F, 0x40FF, 0x004A, 0x0000, 0x0080, 0xAD0A, 0x9076, 0x0081, 0x20EC,
+0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0084, 0x2DE6, 0x043F, 0x000E,
+0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E, 0x2DF2, 0x2440,
+0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C,
+0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0x3C3B, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF,
+0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232,
+0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080,
+0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008,
+0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F,
+0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x407C, 0x0046, 0x13B0,
+0xBCE0, 0x3D03, 0x4644, 0xF074, 0x00C3, 0x9354, 0x2504, 0xB076, 0x00C3,
+0x2501, 0x4644, 0xF074, 0x00C3, 0x9364, 0x24FC, 0x9076, 0x0003, 0x25FA,
+0x9076, 0x0082, 0x25F7, 0x9076, 0x0080, 0x25F4, 0x4644, 0xF074, 0x00C0,
+0x9074, 0x00C0, 0x25EE, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0084,
+0x2DE6, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E,
+0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1840, 0x425E, 0x2F49, 0x1840,
+0xF25E, 0x2DF2, 0x2440, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F,
+0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0x3C3B, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C,
+0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x410F, 0x530F, 0x40FF, 0x003A, 0x0000, 0x3CF0, 0x1800, 0x40F2, 0x2DF9,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x0084, 0x2DE6, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000,
+0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F,
+0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1840,
+0x425E, 0x2F49, 0x1840, 0xF25E, 0x2DF2, 0x2440, 0x1800, 0x40F2, 0x2DF9,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008,
+0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F,
+0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2, 0x2EA1,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C3B, 0x1800, 0x40F2,
+0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F,
+0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008,
+0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x043F,
+0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x90B1, 0x0021, 0x0032, 0x280A, 0x410F, 0x530F,
+0x40FF, 0x005A, 0x0000, 0x4308, 0x4309, 0x430A, 0x430B, 0x3CDE, 0x410F,
+0x530F, 0x40FF, 0x001A, 0x0000, 0xF378, 0x1088, 0x480B, 0x430A, 0x4309,
+0x4308, 0x3CD2, 0x035F, 0x100E, 0x100D, 0x100C, 0x4C04, 0xDD04, 0xDE04,
+0xDF04, 0x9304, 0x2402, 0x0080, 0xA09E, 0x1840, 0x425E, 0x2F49, 0x1840,
+0xF25E, 0x2DF2, 0x2442, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0084,
+0x2DE6, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E,
+0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C3D, 0x1800, 0x40F2, 0x2E4D,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x0084, 0x2DE6, 0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000,
+0x043F, 0x0008, 0xC4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x043F,
+0x0008, 0xD4DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x043F, 0x000E, 0xD4DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x043F, 0x000E, 0xC4DF, 0x000C, 0x0000, 0x043F, 0x0008, 0xC4DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x043F, 0x0008, 0xD4DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x043F, 0x000E, 0xD4DF,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0x9076, 0x0082, 0x2407, 0x9076, 0x0080,
+0x2404, 0x9346, 0x2402, 0x9366, 0x2004, 0x407C, 0x0046, 0x13B0, 0xBCE0,
+0x410F, 0x530F, 0x40FF, 0x001A, 0x0000, 0x9307, 0x2432, 0x5337, 0x90F1,
+0x005A, 0x0000, 0x2021, 0x9381, 0x0002, 0x242A, 0x90B1, 0x0021, 0x0032,
+0x2826, 0x407C, 0x0054, 0x13B0, 0xBCE0, 0x430C, 0x430D, 0x13B0, 0xB50A,
+0x4C06, 0x4D07, 0xD037, 0x0200, 0x470D, 0x13B0, 0xB50A, 0xF037, 0xFDFF,
+0x460C, 0x470D, 0x13B0, 0xB50A, 0x407C, 0x0046, 0x13B0, 0xBCE0, 0x3C0C,
+0x90F1, 0x003A, 0x0000, 0x2002, 0x0080, 0x9F18, 0x90F1, 0x002A, 0x0000,
+0x2002, 0x0080, 0x9F18, 0x480C, 0x490D, 0x4A0E, 0x4B0F, 0x5031, 0x000C,
+0x1674, 0x0110, 0x145B, 0x120F, 0x120E, 0x120D, 0x120C, 0x1840, 0x425E,
+0x2F49, 0x1840, 0xF25E, 0x2DF2, 0x2405, 0x1800, 0x40F2, 0x2DF9, 0x0522,
+0x3C04, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063F,
+0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x063F,
+0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C, 0x0000,
+0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063F,
+0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x430C,
+0x430D, 0x430E, 0x430F, 0x4308, 0x4309, 0x430A, 0x403B, 0x8000, 0xB881,
+0x0000, 0x2027, 0xB981, 0x0002, 0x2024, 0xBA81, 0x0004, 0x2021, 0xBB81,
+0x0006, 0x2414, 0x3C1D, 0xB318, 0x2BF1, 0xB881, 0x0000, 0x2009, 0xB981,
+0x0002, 0x2006, 0xBA81, 0x0004, 0x2003, 0xBB81, 0x0006, 0x240B, 0x1800,
+0x40F2, 0x2DF9, 0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0x3C09, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x0637,
+0x000E, 0xC6D7, 0x000C, 0x0000, 0x0637, 0x0008, 0xC6D7, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0637, 0x0004, 0x1840, 0x47E2, 0x2DF8, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0637, 0x0008, 0xD6D7, 0x000D,
+0x0000, 0x0637, 0x000E, 0xD6D7, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x5C0C,
+0x6D0D, 0x6E0E, 0x6F0F, 0x1840, 0x4256, 0x2DF8, 0x1840, 0xF256, 0x2DF2,
+0x2002, 0x4346, 0x3C01, 0x4356, 0xD60C, 0x035B, 0x100A, 0x1009, 0x1008,
+0x4807, 0xD907, 0xDA07, 0xDB07, 0x9307, 0x2391, 0x3CFE, 0x4303, 0x063F,
+0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x063F,
+0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C, 0x0000,
+0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063F,
+0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x4C4C,
+0x4C81, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x430C,
+0x4038, 0x0080, 0x430B, 0xB881, 0x0000, 0x240B, 0x3C14, 0xB318, 0x2BFA,
+0xB881, 0x0000, 0x240B, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C0A, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0x3C09, 0x1800, 0x40F2, 0x2E4D, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x0086, 0x2DE6, 0x0637, 0x000E, 0xC6D7, 0x000C, 0x0000, 0x0637,
+0x0008, 0xC6D7, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0637, 0x0004,
+0x1840, 0x47E2, 0x2DF8, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0637, 0x0008, 0xD6D7, 0x000D, 0x0000, 0x0637, 0x000E, 0xD6D7, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0x5C0C, 0x1840, 0x4256, 0x2DF8, 0x1840, 0xF256,
+0x2DF2, 0x2002, 0x4346, 0x3C01, 0x4356, 0xD60C, 0x035B, 0x1008, 0x23A4,
+0x1840, 0x425A, 0x2F49, 0x1840, 0xF25A, 0x2DF2, 0x2442, 0x1800, 0x40F2,
+0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063B, 0x000E, 0xC6DB, 0x000C,
+0x0000, 0x063B, 0x0008, 0xC6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063B, 0x0008, 0xD6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x063B, 0x000E, 0xD6DB, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0x3C3D, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063B,
+0x000E, 0xC6DB, 0x000C, 0x0000, 0x063B, 0x0008, 0xC6DB, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x063B, 0x0008, 0xD6DB, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063B, 0x000E, 0xD6DB, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x063B, 0x000E, 0xC6DB, 0x000C, 0x0000,
+0x063B, 0x0008, 0xC6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063B,
+0x0008, 0xD6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x063B, 0x000E, 0xD6DB, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x5231,
+0x1656, 0x0110, 0x145B, 0x8231, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E,
+0x2DF2, 0x2405, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C04, 0x1800, 0x40F2,
+0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063F, 0x000E, 0xC6DF, 0x000C,
+0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C,
+0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E,
+0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x4C81, 0x0000, 0x4D81, 0x0002,
+0x4381, 0x0004, 0x4381, 0x0006, 0x430C, 0x430D, 0x4308, 0x4039, 0x8000,
+0x430B, 0xB881, 0x0000, 0x201B, 0xB981, 0x0002, 0x240E, 0x3C17, 0xB318,
+0x2BF7, 0xB881, 0x0000, 0x2003, 0xB981, 0x0002, 0x240B, 0x1800, 0x40F2,
+0x2DF9, 0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0x3C09,
+0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x0637, 0x000E,
+0xC6D7, 0x000C, 0x0000, 0x0637, 0x0008, 0xC6D7, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0637, 0x0004, 0x1840, 0x47E2, 0x2DF8, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0637, 0x0008, 0xD6D7, 0x000D, 0x0000,
+0x0637, 0x000E, 0xD6D7, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x5C0C, 0x6D0D,
+0x1840, 0x4256, 0x2DF8, 0x1840, 0xF256, 0x2DF2, 0x2002, 0x4346, 0x3C01,
+0x4356, 0xD60C, 0x035B, 0x1009, 0x1008, 0x4807, 0xD907, 0x9307, 0x239C,
+0x3E22, 0x4303, 0x145B, 0x8231, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E,
+0x2DF2, 0x2405, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C04, 0x1800, 0x40F2,
+0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063F, 0x000E, 0xC6DF, 0x000C,
+0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C,
+0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E,
+0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x4C81, 0x0000, 0x4D81, 0x0002,
+0x4381, 0x0004, 0x4381, 0x0006, 0x430C, 0x430D, 0x4308, 0x4239, 0x430B,
+0xB881, 0x0000, 0x201B, 0xB981, 0x0002, 0x240E, 0x3C17, 0xB318, 0x2BF7,
+0xB881, 0x0000, 0x2003, 0xB981, 0x0002, 0x240B, 0x1800, 0x40F2, 0x2DF9,
+0x0522, 0x3C0A, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0x3C09, 0x1800,
+0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x0637, 0x000E, 0xC6D7,
+0x000C, 0x0000, 0x0637, 0x0008, 0xC6D7, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0637, 0x0004, 0x1840, 0x47E2, 0x2DF8, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0637, 0x0008, 0xD6D7, 0x000D, 0x0000, 0x0637,
+0x000E, 0xD6D7, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x5C0C, 0x6D0D, 0x1840,
+0x4256, 0x2DF8, 0x1840, 0xF256, 0x2DF2, 0x2002, 0x4346, 0x3C01, 0x4356,
+0xD60C, 0x035B, 0x1009, 0x1008, 0x4807, 0xD907, 0x9307, 0x239C, 0x1840,
+0x425A, 0x2F49, 0x1840, 0xF25A, 0x2DF2, 0x2442, 0x1800, 0x40F2, 0x2DF9,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x0086, 0x2DE6, 0x063B, 0x000E, 0xC6DB, 0x000C, 0x0000,
+0x063B, 0x0008, 0xC6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063B,
+0x0008, 0xD6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x063B, 0x000E, 0xD6DB, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1800,
+0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0x3C3D,
+0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063B, 0x000E,
+0xC6DB, 0x000C, 0x0000, 0x063B, 0x0008, 0xC6DB, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x063B, 0x0008, 0xD6DB, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x063B, 0x000E, 0xD6DB, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x063B, 0x000E, 0xC6DB, 0x000C, 0x0000, 0x063B,
+0x0008, 0xC6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063B, 0x0008,
+0xD6DB, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x063B, 0x000E, 0xD6DB, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x4C0F, 0x035D,
+0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D, 0xF03D,
+0x000F, 0x0080, 0xB504, 0x145B, 0x8231, 0x1840, 0x425E, 0x2F49, 0x1840,
+0xF25E, 0x2DF2, 0x2405, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C04, 0x1800,
+0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063F, 0x000E, 0xC6DF,
+0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232,
+0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080,
+0x0203, 0x1800, 0x40F2, 0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x063F, 0x000E, 0xC6DF,
+0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232,
+0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080,
+0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x063F, 0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008,
+0xC6DF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F,
+0x000E, 0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x4C81, 0x0000, 0x4381,
+0x0002, 0x4381, 0x0004, 0x4381, 0x0006, 0x430C, 0x4038, 0x8000, 0x0080,
+0xB2DC, 0x145B, 0x8231, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E, 0x2DF2,
+0x2405, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x3C04, 0x1800, 0x40F2, 0x2E4D,
+0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x0086, 0x2DE6, 0x0080, 0xB1A4, 0x145B, 0x8231, 0x1840,
+0x4CC2, 0x2F4B, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E, 0x2DF2, 0x2439,
+0x1800, 0x40F2, 0x2DF9, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086, 0x2DE6, 0x063F, 0x000E,
+0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E, 0xD6DF, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C40, 0xC0F2,
+0x0080, 0x0203, 0x3C3C, 0x1800, 0x40F2, 0x2E4D, 0x0522, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0086,
+0x2DE6, 0x063F, 0x000E, 0xC6DF, 0x000C, 0x0000, 0x063F, 0x0008, 0xC6DF,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x063F, 0x0008, 0xD6DF, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x063F, 0x000E,
+0xD6DF, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x1800, 0x40F2, 0x2DF9, 0x0522,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x0080, 0xB1A4, 0x803C, 0x100A, 0x2002, 0x0080, 0xC2F4, 0x803C,
+0x1000, 0x24DD, 0x803C, 0x2000, 0x2402, 0x0080, 0xC864, 0x40B2, 0x0018,
+0x052A, 0x40B2, 0x0018, 0x053A, 0x008F, 0x2DE6, 0x0FCE, 0x00AE, 0x000D,
+0x00AF, 0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2DF9, 0x4DCC, 0x0000, 0x4DCC,
+0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4FEC, 0x0004, 0x4FEC, 0x0005,
+0x4FEC, 0x0006, 0x4FEC, 0x0007, 0x4DCC, 0x0008, 0x4DCC, 0x0009, 0x4DCC,
+0x000A, 0x4DCC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D, 0x4DCC, 0x000E,
+0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC, 0x0012, 0x4FEC,
+0x0013, 0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017,
+0x008C, 0x2E4D, 0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4DCC, 0x0002, 0x4DCC,
+0x0003, 0x4FEC, 0x0004, 0x4FEC, 0x0005, 0x4FEC, 0x0006, 0x4FEC, 0x0007,
+0x4DCC, 0x0008, 0x4DCC, 0x0009, 0x4DCC, 0x000A, 0x4DCC, 0x000B, 0x4EEC,
+0x000C, 0x4EEC, 0x000D, 0x4EEC, 0x000E, 0x4EEC, 0x000F, 0x43CC, 0x0010,
+0x43CC, 0x0011, 0x43CC, 0x0012, 0x43CC, 0x0013, 0x4EEC, 0x0014, 0x4EEC,
+0x0015, 0x4EEC, 0x0016, 0x4EEC, 0x0017, 0x008C, 0x2EA1, 0x4EEC, 0x0000,
+0x4EEC, 0x0001, 0x4EEC, 0x0002, 0x4EEC, 0x0003, 0x43CC, 0x0004, 0x43CC,
+0x0005, 0x43CC, 0x0006, 0x43CC, 0x0007, 0x4EEC, 0x0008, 0x4EEC, 0x0009,
+0x4EEC, 0x000A, 0x4EEC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D, 0x4DCC,
+0x000E, 0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC, 0x0012,
+0x4FEC, 0x0013, 0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC,
+0x0017, 0x008F, 0x2EF5, 0x4EEF, 0x0000, 0x4EEF, 0x0001, 0x4EEF, 0x0002,
+0x4EEF, 0x0003, 0x43CF, 0x0004, 0x43CF, 0x0005, 0x43CF, 0x0006, 0x43CF,
+0x0007, 0x4EEF, 0x0008, 0x4EEF, 0x0009, 0x4EEF, 0x000A, 0x4EEF, 0x000B,
+0x4EEF, 0x000C, 0x4EEF, 0x000D, 0x4EEF, 0x000E, 0x4EEF, 0x000F, 0x43CF,
+0x0010, 0x43CF, 0x0011, 0x43CF, 0x0012, 0x43CF, 0x0013, 0x4EEF, 0x0014,
+0x4EEF, 0x0015, 0x4EEF, 0x0016, 0x4EEF, 0x0017, 0x0110, 0x40B2, 0x0030,
+0x052A, 0x40B2, 0x0030, 0x053A, 0x008F, 0x2DE6, 0x0FCE, 0x00AE, 0x000D,
+0x00AF, 0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2DF9, 0x4DCC, 0x0000, 0x4DCC,
+0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004, 0x4DCC, 0x0005,
+0x4DCC, 0x0006, 0x4DCC, 0x0007, 0x4FEC, 0x0008, 0x4FEC, 0x0009, 0x4FEC,
+0x000A, 0x4FEC, 0x000B, 0x4FEC, 0x000C, 0x4FEC, 0x000D, 0x4FEC, 0x000E,
+0x4FEC, 0x000F, 0x4DCC, 0x0010, 0x4DCC, 0x0011, 0x4DCC, 0x0012, 0x4DCC,
+0x0013, 0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017,
+0x4DCC, 0x0018, 0x4DCC, 0x0019, 0x4DCC, 0x001A, 0x4DCC, 0x001B, 0x4DCC,
+0x001C, 0x4DCC, 0x001D, 0x4DCC, 0x001E, 0x4DCC, 0x001F, 0x4FEC, 0x0020,
+0x4FEC, 0x0021, 0x4FEC, 0x0022, 0x4FEC, 0x0023, 0x4FEC, 0x0024, 0x4FEC,
+0x0025, 0x4FEC, 0x0026, 0x4FEC, 0x0027, 0x4DCC, 0x0028, 0x4DCC, 0x0029,
+0x4DCC, 0x002A, 0x4DCC, 0x002B, 0x4DCC, 0x002C, 0x4DCC, 0x002D, 0x4DCC,
+0x002E, 0x4DCC, 0x002F, 0x008C, 0x2E4D, 0x4DCC, 0x0000, 0x4DCC, 0x0001,
+0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004, 0x4DCC, 0x0005, 0x4DCC,
+0x0006, 0x4DCC, 0x0007, 0x4FEC, 0x0008, 0x4FEC, 0x0009, 0x4FEC, 0x000A,
+0x4FEC, 0x000B, 0x4FEC, 0x000C, 0x4FEC, 0x000D, 0x4FEC, 0x000E, 0x4FEC,
+0x000F, 0x4DCC, 0x0010, 0x4DCC, 0x0011, 0x4DCC, 0x0012, 0x4DCC, 0x0013,
+0x4DCC, 0x0014, 0x4DCC, 0x0015, 0x4DCC, 0x0016, 0x4DCC, 0x0017, 0x4EEC,
+0x0018, 0x4EEC, 0x0019, 0x4EEC, 0x001A, 0x4EEC, 0x001B, 0x4EEC, 0x001C,
+0x4EEC, 0x001D, 0x4EEC, 0x001E, 0x4EEC, 0x001F, 0x43CC, 0x0020, 0x43CC,
+0x0021, 0x43CC, 0x0022, 0x43CC, 0x0023, 0x43CC, 0x0024, 0x43CC, 0x0025,
+0x43CC, 0x0026, 0x43CC, 0x0027, 0x4EEC, 0x0028, 0x4EEC, 0x0029, 0x4EEC,
+0x002A, 0x4EEC, 0x002B, 0x4EEC, 0x002C, 0x4EEC, 0x002D, 0x4EEC, 0x002E,
+0x4EEC, 0x002F, 0x008C, 0x2EA1, 0x4EEC, 0x0000, 0x4EEC, 0x0001, 0x4EEC,
+0x0002, 0x4EEC, 0x0003, 0x4EEC, 0x0004, 0x4EEC, 0x0005, 0x4EEC, 0x0006,
+0x4EEC, 0x0007, 0x43CC, 0x0008, 0x43CC, 0x0009, 0x43CC, 0x000A, 0x43CC,
+0x000B, 0x43CC, 0x000C, 0x43CC, 0x000D, 0x43CC, 0x000E, 0x43CC, 0x000F,
+0x4EEC, 0x0010, 0x4EEC, 0x0011, 0x4EEC, 0x0012, 0x4EEC, 0x0013, 0x4EEC,
+0x0014, 0x4EEC, 0x0015, 0x4EEC, 0x0016, 0x4EEC, 0x0017, 0x4DCC, 0x0018,
+0x4DCC, 0x0019, 0x4DCC, 0x001A, 0x4DCC, 0x001B, 0x4DCC, 0x001C, 0x4DCC,
+0x001D, 0x4DCC, 0x001E, 0x4DCC, 0x001F, 0x4FEC, 0x0020, 0x4FEC, 0x0021,
+0x4FEC, 0x0022, 0x4FEC, 0x0023, 0x4FEC, 0x0024, 0x4FEC, 0x0025, 0x4FEC,
+0x0026, 0x4FEC, 0x0027, 0x4DCC, 0x0028, 0x4DCC, 0x0029, 0x4DCC, 0x002A,
+0x4DCC, 0x002B, 0x4DCC, 0x002C, 0x4DCC, 0x002D, 0x4DCC, 0x002E, 0x4DCC,
+0x002F, 0x008F, 0x2EF5, 0x4EEF, 0x0000, 0x4EEF, 0x0001, 0x4EEF, 0x0002,
+0x4EEF, 0x0003, 0x4EEF, 0x0004, 0x4EEF, 0x0005, 0x4EEF, 0x0006, 0x4EEF,
+0x0007, 0x43CF, 0x0008, 0x43CF, 0x0009, 0x43CF, 0x000A, 0x43CF, 0x000B,
+0x43CF, 0x000C, 0x43CF, 0x000D, 0x43CF, 0x000E, 0x43CF, 0x000F, 0x4EEF,
+0x0010, 0x4EEF, 0x0011, 0x4EEF, 0x0012, 0x4EEF, 0x0013, 0x4EEF, 0x0014,
+0x4EEF, 0x0015, 0x4EEF, 0x0016, 0x4EEF, 0x0017, 0x4EEF, 0x0018, 0x4EEF,
+0x0019, 0x4EEF, 0x001A, 0x4EEF, 0x001B, 0x4EEF, 0x001C, 0x4EEF, 0x001D,
+0x4EEF, 0x001E, 0x4EEF, 0x001F, 0x43CF, 0x0020, 0x43CF, 0x0021, 0x43CF,
+0x0022, 0x43CF, 0x0023, 0x43CF, 0x0024, 0x43CF, 0x0025, 0x43CF, 0x0026,
+0x43CF, 0x0027, 0x4EEF, 0x0028, 0x4EEF, 0x0029, 0x4EEF, 0x002A, 0x4EEF,
+0x002B, 0x4EEF, 0x002C, 0x4EEF, 0x002D, 0x4EEF, 0x002E, 0x4EEF, 0x002F,
+0x0110, 0x40B2, 0x0054, 0x052A, 0x40B2, 0x0054, 0x053A, 0x008F, 0x2DE6,
+0x0FCE, 0x00AE, 0x000D, 0x00AF, 0x000C, 0x4F6D, 0xDE6D, 0x008C, 0x2DF9,
+0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC,
+0x0004, 0x4DCC, 0x0005, 0x4DCC, 0x0006, 0x4DCC, 0x0007, 0x4DCC, 0x0008,
+0x4DCC, 0x0009, 0x4DCC, 0x000A, 0x4DCC, 0x000B, 0x4DCC, 0x000C, 0x4DCC,
+0x000D, 0x4DCC, 0x000E, 0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011,
+0x4FEC, 0x0012, 0x4FEC, 0x0013, 0x4FEC, 0x0014, 0x4FEC, 0x0015, 0x4FEC,
+0x0016, 0x4FEC, 0x0017, 0x4FEC, 0x0018, 0x4FEC, 0x0019, 0x4DCC, 0x001A,
+0x4DCC, 0x001B, 0x4DCC, 0x001C, 0x4DCC, 0x001D, 0x4DCC, 0x001E, 0x4DCC,
+0x001F, 0x4DCC, 0x0020, 0x4DCC, 0x0021, 0x4DCC, 0x0022, 0x4DCC, 0x0023,
+0x4DCC, 0x0024, 0x4DCC, 0x0025, 0x4DCC, 0x0026, 0x4DCC, 0x0027, 0x4DCC,
+0x0028, 0x4DCC, 0x0029, 0x4DCC, 0x002A, 0x4DCC, 0x002B, 0x4DCC, 0x002C,
+0x4DCC, 0x002D, 0x4DCC, 0x002E, 0x4DCC, 0x002F, 0x4DCC, 0x0030, 0x4DCC,
+0x0031, 0x4DCC, 0x0032, 0x4DCC, 0x0033, 0x4DCC, 0x0034, 0x4DCC, 0x0035,
+0x4DCC, 0x0036, 0x4DCC, 0x0037, 0x4DCC, 0x0038, 0x4DCC, 0x0039, 0x4FEC,
+0x003A, 0x4FEC, 0x003B, 0x4FEC, 0x003C, 0x4FEC, 0x003D, 0x4FEC, 0x003E,
+0x4FEC, 0x003F, 0x4FEC, 0x0040, 0x4FEC, 0x0041, 0x4FEC, 0x0042, 0x4FEC,
+0x0043, 0x4DCC, 0x0044, 0x4DCC, 0x0045, 0x4DCC, 0x0046, 0x4DCC, 0x0047,
+0x4DCC, 0x0048, 0x4DCC, 0x0049, 0x4DCC, 0x004A, 0x4DCC, 0x004B, 0x4DCC,
+0x004C, 0x4DCC, 0x004D, 0x4DCC, 0x004E, 0x4DCC, 0x004F, 0x4DCC, 0x0050,
+0x4DCC, 0x0051, 0x4DCC, 0x0052, 0x4DCC, 0x0053, 0x008C, 0x2E4D, 0x4DCC,
+0x0000, 0x4DCC, 0x0001, 0x4DCC, 0x0002, 0x4DCC, 0x0003, 0x4DCC, 0x0004,
+0x4DCC, 0x0005, 0x4DCC, 0x0006, 0x4DCC, 0x0007, 0x4DCC, 0x0008, 0x4DCC,
+0x0009, 0x4DCC, 0x000A, 0x4DCC, 0x000B, 0x4DCC, 0x000C, 0x4DCC, 0x000D,
+0x4DCC, 0x000E, 0x4DCC, 0x000F, 0x4FEC, 0x0010, 0x4FEC, 0x0011, 0x4FEC,
+0x0012, 0x4FEC, 0x0013, 0x4FEC, 0x0014, 0x4FEC, 0x0015, 0x4FEC, 0x0016,
+0x4FEC, 0x0017, 0x4FEC, 0x0018, 0x4FEC, 0x0019, 0x4DCC, 0x001A, 0x4DCC,
+0x001B, 0x4DCC, 0x001C, 0x4DCC, 0x001D, 0x4DCC, 0x001E, 0x4DCC, 0x001F,
+0x4DCC, 0x0020, 0x4DCC, 0x0021, 0x4DCC, 0x0022, 0x4DCC, 0x0023, 0x4DCC,
+0x0024, 0x4DCC, 0x0025, 0x4DCC, 0x0026, 0x4DCC, 0x0027, 0x4DCC, 0x0028,
+0x4DCC, 0x0029, 0x4EEC, 0x002A, 0x4EEC, 0x002B, 0x4EEC, 0x002C, 0x4EEC,
+0x002D, 0x4EEC, 0x002E, 0x4EEC, 0x002F, 0x4EEC, 0x0030, 0x4EEC, 0x0031,
+0x4EEC, 0x0032, 0x4EEC, 0x0033, 0x4EEC, 0x0034, 0x4EEC, 0x0035, 0x4EEC,
+0x0036, 0x4EEC, 0x0037, 0x4EEC, 0x0038, 0x4EEC, 0x0039, 0x43CC, 0x003A,
+0x43CC, 0x003B, 0x43CC, 0x003C, 0x43CC, 0x003D, 0x43CC, 0x003E, 0x43CC,
+0x003F, 0x43CC, 0x0040, 0x43CC, 0x0041, 0x43CC, 0x0042, 0x43CC, 0x0043,
+0x4EEC, 0x0044, 0x4EEC, 0x0045, 0x4EEC, 0x0046, 0x4EEC, 0x0047, 0x4EEC,
+0x0048, 0x4EEC, 0x0049, 0x4EEC, 0x004A, 0x4EEC, 0x004B, 0x4EEC, 0x004C,
+0x4EEC, 0x004D, 0x4EEC, 0x004E, 0x4EEC, 0x004F, 0x4EEC, 0x0050, 0x4EEC,
+0x0051, 0x4EEC, 0x0052, 0x4EEC, 0x0053, 0x008C, 0x2EA1, 0x4EEC, 0x0000,
+0x4EEC, 0x0001, 0x4EEC, 0x0002, 0x4EEC, 0x0003, 0x4EEC, 0x0004, 0x4EEC,
+0x0005, 0x4EEC, 0x0006, 0x4EEC, 0x0007, 0x4EEC, 0x0008, 0x4EEC, 0x0009,
+0x4EEC, 0x000A, 0x4EEC, 0x000B, 0x4EEC, 0x000C, 0x4EEC, 0x000D, 0x4EEC,
+0x000E, 0x4EEC, 0x000F, 0x43CC, 0x0010, 0x43CC, 0x0011, 0x43CC, 0x0012,
+0x43CC, 0x0013, 0x43CC, 0x0014, 0x43CC, 0x0015, 0x43CC, 0x0016, 0x43CC,
+0x0017, 0x43CC, 0x0018, 0x43CC, 0x0019, 0x4EEC, 0x001A, 0x4EEC, 0x001B,
+0x4EEC, 0x001C, 0x4EEC, 0x001D, 0x4EEC, 0x001E, 0x4EEC, 0x001F, 0x4EEC,
+0x0020, 0x4EEC, 0x0021, 0x4EEC, 0x0022, 0x4EEC, 0x0023, 0x4EEC, 0x0024,
+0x4EEC, 0x0025, 0x4EEC, 0x0026, 0x4EEC, 0x0027, 0x4EEC, 0x0028, 0x4EEC,
+0x0029, 0x4DCC, 0x002A, 0x4DCC, 0x002B, 0x4DCC, 0x002C, 0x4DCC, 0x002D,
+0x4DCC, 0x002E, 0x4DCC, 0x002F, 0x4DCC, 0x0030, 0x4DCC, 0x0031, 0x4DCC,
+0x0032, 0x4DCC, 0x0033, 0x4DCC, 0x0034, 0x4DCC, 0x0035, 0x4DCC, 0x0036,
+0x4DCC, 0x0037, 0x4DCC, 0x0038, 0x4DCC, 0x0039, 0x4FEC, 0x003A, 0x4FEC,
+0x003B, 0x4FEC, 0x003C, 0x4FEC, 0x003D, 0x4FEC, 0x003E, 0x4FEC, 0x003F,
+0x4FEC, 0x0040, 0x4FEC, 0x0041, 0x4FEC, 0x0042, 0x4FEC, 0x0043, 0x4DCC,
+0x0044, 0x4DCC, 0x0045, 0x4DCC, 0x0046, 0x4DCC, 0x0047, 0x4DCC, 0x0048,
+0x4DCC, 0x0049, 0x4DCC, 0x004A, 0x4DCC, 0x004B, 0x4DCC, 0x004C, 0x4DCC,
+0x004D, 0x4DCC, 0x004E, 0x4DCC, 0x004F, 0x4DCC, 0x0050, 0x4DCC, 0x0051,
+0x4DCC, 0x0052, 0x4DCC, 0x0053, 0x008F, 0x2EF5, 0x4EEF, 0x0000, 0x4EEF,
+0x0001, 0x4EEF, 0x0002, 0x4EEF, 0x0003, 0x4EEF, 0x0004, 0x4EEF, 0x0005,
+0x4EEF, 0x0006, 0x4EEF, 0x0007, 0x4EEF, 0x0008, 0x4EEF, 0x0009, 0x4EEF,
+0x000A, 0x4EEF, 0x000B, 0x4EEF, 0x000C, 0x4EEF, 0x000D, 0x4EEF, 0x000E,
+0x4EEF, 0x000F, 0x43CF, 0x0010, 0x43CF, 0x0011, 0x43CF, 0x0012, 0x43CF,
+0x0013, 0x43CF, 0x0014, 0x43CF, 0x0015, 0x43CF, 0x0016, 0x43CF, 0x0017,
+0x43CF, 0x0018, 0x43CF, 0x0019, 0x4EEF, 0x001A, 0x4EEF, 0x001B, 0x4EEF,
+0x001C, 0x4EEF, 0x001D, 0x4EEF, 0x001E, 0x4EEF, 0x001F, 0x4EEF, 0x0020,
+0x4EEF, 0x0021, 0x4EEF, 0x0022, 0x4EEF, 0x0023, 0x4EEF, 0x0024, 0x4EEF,
+0x0025, 0x4EEF, 0x0026, 0x4EEF, 0x0027, 0x4EEF, 0x0028, 0x4EEF, 0x0029,
+0x4EEF, 0x002A, 0x4EEF, 0x002B, 0x4EEF, 0x002C, 0x4EEF, 0x002D, 0x4EEF,
+0x002E, 0x4EEF, 0x002F, 0x4EEF, 0x0030, 0x4EEF, 0x0031, 0x4EEF, 0x0032,
+0x4EEF, 0x0033, 0x4EEF, 0x0034, 0x4EEF, 0x0035, 0x4EEF, 0x0036, 0x4EEF,
+0x0037, 0x4EEF, 0x0038, 0x4EEF, 0x0039, 0x43CF, 0x003A, 0x43CF, 0x003B,
+0x43CF, 0x003C, 0x43CF, 0x003D, 0x43CF, 0x003E, 0x43CF, 0x003F, 0x43CF,
+0x0040, 0x43CF, 0x0041, 0x43CF, 0x0042, 0x43CF, 0x0043, 0x4EEF, 0x0044,
+0x4EEF, 0x0045, 0x4EEF, 0x0046, 0x4EEF, 0x0047, 0x4EEF, 0x0048, 0x4EEF,
+0x0049, 0x4EEF, 0x004A, 0x4EEF, 0x004B, 0x4EEF, 0x004C, 0x4EEF, 0x004D,
+0x4EEF, 0x004E, 0x4EEF, 0x004F, 0x4EEF, 0x0050, 0x4EEF, 0x0051, 0x4EEF,
+0x0052, 0x4EEF, 0x0053, 0x0110, 0x42B2, 0x052A, 0x42B2, 0x053A, 0x008F,
+0x2DE6, 0x0FCE, 0x00AE, 0x000D, 0x00AF, 0x000C, 0x4F6D, 0xDE6D, 0x008C,
+0x2DF9, 0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4FEC, 0x0002, 0x4DCC, 0x0003,
+0x4DCC, 0x0004, 0x4DCC, 0x0005, 0x4FEC, 0x0006, 0x4DCC, 0x0007, 0x008C,
+0x2E4D, 0x4DCC, 0x0000, 0x4DCC, 0x0001, 0x4FEC, 0x0002, 0x4DCC, 0x0003,
+0x4EEC, 0x0004, 0x4EEC, 0x0005, 0x43CC, 0x0006, 0x4EEC, 0x0007, 0x008C,
+0x2EA1, 0x4EEC, 0x0000, 0x4EEC, 0x0001, 0x43CC, 0x0002, 0x4EEC, 0x0003,
+0x4DCC, 0x0004, 0x4DCC, 0x0005, 0x4FEC, 0x0006, 0x4DCC, 0x0007, 0x008F,
+0x2EF5, 0x4EEF, 0x0000, 0x4EEF, 0x0001, 0x43CF, 0x0002, 0x4EEF, 0x0003,
+0x4EEF, 0x0004, 0x4EEF, 0x0005, 0x43CF, 0x0006, 0x4EEF, 0x0007, 0x0110,
+0x143B, 0x0028, 0x0532, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x1800, 0x40F2,
+0x2EA1, 0x0532, 0x4C0F, 0xDD0F, 0x930F, 0x253C, 0x4C0A, 0x4D0B, 0x435C,
+0x13B0, 0xD6A0, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x008F, 0x2DE6, 0x0F3E, 0x000E, 0xCFDE, 0x000C,
+0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x533A,
+0x633B, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E,
+0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008,
+0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E,
+0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000,
+0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E,
+0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C,
+0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x434C, 0x13B0, 0xD6A0, 0x4A0F, 0xDB0F, 0x930F, 0x22C6, 0x0860, 0x0532,
+0x1638, 0x0110, 0x141B, 0x4C0A, 0x4D0B, 0x002D, 0x0532, 0x1800, 0x40F2,
+0x2E4D, 0x0522, 0x1800, 0x40F2, 0x2EF5, 0x0532, 0x4C0F, 0xDB0F, 0x930F,
+0x253A, 0x533A, 0x633B, 0x435C, 0x13B0, 0xD6A0, 0x434C, 0x13B0, 0xD6A0,
+0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x008F, 0x2DE6, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E,
+0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008,
+0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010,
+0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E,
+0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000,
+0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E,
+0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2,
+0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C,
+0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E,
+0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x4A0F, 0xDB0F, 0x930F, 0x22C6,
+0x0D60, 0x0532, 0x161A, 0x0110, 0x143B, 0x0028, 0x0532, 0x1800, 0x40F2,
+0x2E4D, 0x0522, 0x1800, 0x40F2, 0x2EF5, 0x0532, 0x4C0F, 0xDD0F, 0x930F,
+0x253C, 0x4C0A, 0x4D0B, 0x434C, 0x13B0, 0xD6A0, 0xD0B2, 0x0010, 0x0520,
+0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x008F, 0x2DE6,
+0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE,
+0x000C, 0x0000, 0xD232, 0x533A, 0x633B, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530,
+0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E,
+0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E,
+0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008,
+0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E,
+0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000,
+0x0F3E, 0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E,
+0x0008, 0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E, 0x0008, 0xCFDE, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008, 0xDFDE, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x000E, 0xDFDE,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0x435C, 0x13B0, 0xD6A0, 0x4A0F, 0xDB0F,
+0x930F, 0x22C6, 0x0080, 0xCBA6, 0x002F, 0x0532, 0x1800, 0x40F2, 0x2DF9,
+0x0522, 0x1800, 0x40F2, 0x2EA1, 0x0532, 0xD0B2, 0x0010, 0x0530, 0xD392,
+0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x008E, 0x2DE6, 0x0E3D,
+0x000E, 0xCEDD, 0x000C, 0x0000, 0x0E3D, 0x0008, 0xCEDD, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x0E3D, 0x0008, 0xDEDD, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x000E, 0xDEDD, 0x000C,
+0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03,
+0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x0E3D, 0x000E, 0xCEDD, 0x000C, 0x0000,
+0x0E3D, 0x0008, 0xCEDD, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E3D,
+0x0008, 0xDEDD, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x0E3D, 0x000E, 0xDEDD, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200,
+0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2,
+0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303,
+0x0E3D, 0x000E, 0xCEDD, 0x000C, 0x0000, 0x0E3D, 0x0008, 0xCEDD, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x0008, 0xDEDD, 0x000D, 0x0000,
+0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x000E, 0xDEDD,
+0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203,
+0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0E3D, 0x000E, 0xCEDD, 0x000C,
+0x0000, 0x0E3D, 0x0008, 0xCEDD, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E3D, 0x0008, 0xDEDD, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E3D, 0x000E, 0xDEDD, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0xD0B2, 0x0010, 0x0530, 0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232,
+0x4303, 0x0E3D, 0x000E, 0xCEDD, 0x000C, 0x0000, 0x0E3D, 0x0008, 0xCEDD,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x0008, 0xDEDD, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x000E,
+0xDEDD, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392,
+0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0E3D, 0x000E, 0xCEDD,
+0x000C, 0x0000, 0x0E3D, 0x0008, 0xCEDD, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x0E3D, 0x0008, 0xDEDD, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x0E3D, 0x000E, 0xDEDD, 0x000C, 0x0000, 0xD232,
+0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080,
+0x0203, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203,
+0xC232, 0x4303, 0x0E3D, 0x000E, 0xCEDD, 0x000C, 0x0000, 0x0E3D, 0x0008,
+0xCEDD, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x0008, 0xDEDD,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0E3D,
+0x000E, 0xDEDD, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2,
+0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0xD0B2, 0x0010, 0x0530,
+0xD392, 0x0530, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0E3D, 0x000E,
+0xCEDD, 0x000C, 0x0000, 0x0E3D, 0x0008, 0xCEDD, 0x000D, 0x0000, 0x4303,
+0x4303, 0x4303, 0x0E3D, 0x0008, 0xDEDD, 0x000D, 0x0000, 0x4303, 0x4303,
+0x4303, 0x4303, 0x4303, 0x4303, 0x0E3D, 0x000E, 0xDEDD, 0x000C, 0x0000,
+0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2,
+0x0080, 0x0203, 0x0F60, 0x0532, 0x430C, 0x0110, 0x1800, 0x1246, 0x4D06,
+0x5606, 0x9036, 0xFF01, 0x2C96, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0A,
+0x4F06, 0xF036, 0x8000, 0xE60D, 0xB03D, 0x7FFF, 0x2005, 0xB03F, 0x7FFF,
+0x2087, 0x433D, 0x3C85, 0xB03F, 0x7FFF, 0x2006, 0x430C, 0xF03D, 0x8000,
+0xD03D, 0x7F80, 0x3C7C, 0x4F06, 0x5606, 0x9036, 0xFF00, 0x2009, 0x4D06,
+0x5606, 0x9036, 0xFF00, 0x27EB, 0xC03D, 0x7FFF, 0x430C, 0x3C6E, 0x4D06,
+0x5606, 0x9036, 0xFF00, 0x2469, 0x1800, 0x124A, 0x1800, 0x124B, 0x1800,
+0x1248, 0x4D0B, 0x4C0A, 0x5F0F, 0x5D0D, 0x4F08, 0x100F, 0x108D, 0x1088,
+0xF37D, 0xF378, 0x8038, 0x007F, 0x880D, 0x3026, 0x4D08, 0xD03F, 0x0080,
+0xD07B, 0x0080, 0x431C, 0x430D, 0x8E0A, 0x7F4B, 0x2C2C, 0x8318, 0x301A,
+0x5A0A, 0x6B4B, 0x5E0A, 0x6F4B, 0x5A0A, 0x6B4B, 0x2825, 0x8E0A, 0x7F4B,
+0xD312, 0x6C0C, 0x6D4D, 0x2BF7, 0x9038, 0x00FF, 0x3803, 0x403D, 0xFF00,
+0x3C08, 0x9308, 0x2027, 0xD31C, 0x933C, 0x2002, 0x937D, 0x2422, 0x430D,
+0x430C, 0x6F0F, 0x100D, 0x3C24, 0x6C0C, 0x6D4D, 0x2808, 0x930A, 0x23E9,
+0x934B, 0x23E7, 0xB32C, 0x23E5, 0xC31C, 0x3FE3, 0x5A0A, 0x6B4B, 0x3004,
+0x6C0C, 0x6D4D, 0x2BFA, 0x3FDC, 0x8E0A, 0x7F4B, 0x2FEB, 0x6C0C, 0x6D4D,
+0x2FD6, 0x5A0A, 0x6B4B, 0x5E0A, 0x6F4B, 0x3FCD, 0x1088, 0xD80D, 0x6F0F,
+0x100D, 0x100C, 0x630C, 0x630D, 0x1800, 0x4178, 0x1800, 0x417B, 0x1800,
+0x417A, 0x1800, 0x4176, 0x0110, 0x1800, 0x1246, 0x4D06, 0x5606, 0x9036,
+0xFF01, 0x2C93, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0E, 0x4F06, 0xF036,
+0x8000, 0xE60D, 0x4D06, 0x5606, 0x9036, 0xFF00, 0x2008, 0x4F06, 0x5606,
+0x2082, 0x433D, 0x3C80, 0x4F0D, 0x4E0C, 0x3C7D, 0x4F06, 0x5606, 0x9036,
+0xFF00, 0x4036, 0x7FFF, 0x2007, 0xB60D, 0x27F2, 0xC60D, 0xD03D, 0x7F80,
+0x430C, 0x3C6F, 0xB60D, 0x246D, 0xB60F, 0x2002, 0xC60D, 0x3FF8, 0x1800,
+0x1248, 0x4D08, 0x5808, 0x1088, 0xF378, 0x4F06, 0x5606, 0x1086, 0xF376,
+0x5608, 0x4D06, 0x8038, 0x007E, 0x303C, 0x1202, 0xC232, 0xD03D, 0x0080,
+0xD03F, 0x0080, 0x4E82, 0x04C0, 0x4C82, 0x04C8, 0x4E82, 0x04C4, 0x421E,
+0x04CA, 0x4292, 0x04CC, 0x04CA, 0x4382, 0x04CC, 0x4DC2, 0x04C8, 0x4C82,
+0x04C4, 0x4FC2, 0x04C8, 0x4FC2, 0x04C4, 0x421F, 0x04CA, 0x4292, 0x04CC,
+0x04CA, 0x4DC2, 0x04C8, 0x421C, 0x04CA, 0x4132, 0x5E0E, 0x6F0F, 0x6C0C,
+0x2C04, 0x5E0E, 0x6F0F, 0x6C0C, 0x8318, 0x9038, 0x00FF, 0x340E, 0x9308,
+0x2012, 0x933C, 0x2008, 0xF03F, 0xFE00, 0x903F, 0xFE00, 0x2003, 0x403D,
+0x0100, 0x3C04, 0x430D, 0x3C02, 0x403D, 0xFF00, 0x5606, 0x100D, 0x430C,
+0x3C14, 0x33F7, 0x484D, 0xEC4D, 0xEC0D, 0x108D, 0xEF4C, 0xEF0C, 0x108C,
+0x5606, 0x100D, 0x100C, 0x2808, 0x934F, 0x2004, 0x930E, 0x2002, 0xB31C,
+0x2402, 0x531C, 0x630D, 0x1800, 0x4178, 0x1800, 0x4176, 0x0110, 0xC0F2,
+0x0080, 0x0203, 0xC232, 0x4303, 0x1840, 0x425E, 0x2F49, 0x1840, 0xF25E,
+0x2DF2, 0x2403, 0x13B0, 0xDA0E, 0x3C02, 0x13B0, 0xDA9E, 0x934C, 0x008E,
+0x2DE6, 0x0E3F, 0x0008, 0x2436, 0xDEDF, 0x000C, 0x0000, 0x13B0, 0xDA72,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0E3F, 0x000E, 0xCEDF, 0x000C,
+0x0000, 0x0E3F, 0x0008, 0xCEDF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E3F, 0x0008, 0xDEDF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E3F, 0x000E, 0xDEDF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1840, 0x425E, 0x2DF2, 0x3C36, 0xCEDF, 0x000C, 0x0000, 0x13B0, 0xDA46,
+0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x0E3F, 0x000E, 0xCEDF, 0x000C,
+0x0000, 0x0E3F, 0x0008, 0xCEDF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303,
+0x0E3F, 0x0008, 0xDEDF, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303,
+0x4303, 0x4303, 0x0E3F, 0x000E, 0xDEDF, 0x000C, 0x0000, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203,
+0x1840, 0x425E, 0x2DF2, 0xE37E, 0x1840, 0x4EC2, 0x2F49, 0xD232, 0x9382,
+0x4200, 0x2404, 0xD0F2, 0x0080, 0x0203, 0x0110, 0xC0F2, 0x0080, 0x0203,
+0x0110, 0x1800, 0x40F2, 0x2DF9, 0x0522, 0x407E, 0x0006, 0xD0B2, 0x0010,
+0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080, 0x0203, 0xC232, 0x4303, 0x008F,
+0x2DE6, 0x0F3D, 0x000E, 0xCFDD, 0x000C, 0x0000, 0x0F3D, 0x0008, 0xCFDD,
+0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3D, 0x0008, 0xDFDD, 0x000D,
+0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x0F3D, 0x000E,
+0xDFDD, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404, 0xD0F2, 0x0080,
+0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x537E, 0x23CA, 0x1800, 0x40F2,
+0x2EA1, 0x0522, 0xD0B2, 0x0010, 0x0520, 0xD392, 0x0520, 0xC0F2, 0x0080,
+0x0203, 0xC232, 0x4303, 0x0F3E, 0x000E, 0xCFDE, 0x000C, 0x0000, 0x0F3E,
+0x0008, 0xCFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x0F3E, 0x0008,
+0xDFDE, 0x000D, 0x0000, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
+0x0F3E, 0x000E, 0xDFDE, 0x000C, 0x0000, 0xD232, 0x9382, 0x4200, 0x2404,
+0xD0F2, 0x0080, 0x0203, 0x3C03, 0xC0F2, 0x0080, 0x0203, 0x430C, 0x0110,
+0x008F, 0x2D0C, 0x1800, 0x40FF, 0x9C82, 0x0000, 0x1800, 0x40FF, 0x9B16,
+0x0004, 0x1800, 0x40FF, 0x9AC6, 0x000C, 0x1800, 0x40FF, 0x8BF0, 0x0010,
+0x1800, 0x40FF, 0x99EE, 0x0014, 0x1800, 0x40FF, 0x94A4, 0x0018, 0x1800,
+0x40FF, 0x8BE8, 0x001C, 0x1800, 0x40FF, 0xDB44, 0x0020, 0x1800, 0x40FF,
+0xDACA, 0x0024, 0x1800, 0x43CF, 0x0028, 0x1800, 0x40FF, 0x94AC, 0x002C,
+0x1800, 0x40FF, 0x8ACC, 0x0030, 0x1800, 0x40FF, 0x8A92, 0x0034, 0x1800,
+0x40FF, 0xDBA8, 0x0048, 0x1800, 0x40FF, 0xDBAE, 0x004C, 0x1800, 0x40FF,
+0xDBB0, 0x0050, 0x1800, 0x40FF, 0x8AF2, 0x0038, 0x1800, 0x40FF, 0x8AEA,
+0x003C, 0x1800, 0x40FF, 0x9C38, 0x0040, 0x1800, 0x40FF, 0x9CF2, 0x0044,
+0x1800, 0x40FF, 0xDB7A, 0x0068, 0x1800, 0x40FF, 0xDB88, 0x0054, 0x1800,
+0x40FF, 0x9B3C, 0x0008, 0x1800, 0x40FF, 0xDB72, 0x006C, 0x0110, 0x930D,
+0x3409, 0x1800, 0x1248, 0xE33C, 0xE33D, 0x531C, 0x630D, 0x4038, 0x0197,
+0x3C04, 0x1800, 0x1248, 0x4038, 0x0097, 0x903D, 0x0100, 0x2C1D, 0x930D,
+0x200F, 0x903C, 0x0100, 0x2806, 0x108C, 0x4C4D, 0xC03C, 0x00FF, 0x8238,
+0x3C06, 0x930C, 0x240D, 0x4C0D, 0x430C, 0x8038, 0x0010, 0x8318, 0x5C0C,
+0x6D4D, 0x2BFC, 0x1108, 0x104D, 0x100C, 0x1088, 0xD80D, 0x1800, 0x4178,
+0x0110, 0x1800, 0x1247, 0x4347, 0x903D, 0x0200, 0x2808, 0xC312, 0x100D,
+0x100C, 0x1047, 0x5318, 0x903D, 0x0200, 0x2FF8, 0x1108, 0x104D, 0x100C,
+0x1088, 0xD80D, 0x6747, 0x2806, 0xC312, 0x1047, 0x2001, 0x2802, 0x531C,
+0x630D, 0x1800, 0x4177, 0x1800, 0x4178, 0x0110, 0x002F, 0x2DEE, 0x1840,
+0xC2DF, 0x2DF2, 0x0000, 0x002F, 0x2DEE, 0x1840, 0xC2DF, 0x2DF3, 0x0000,
+0x4303, 0x4303, 0x4303, 0x002F, 0x2DEE, 0x1840, 0xD2DF, 0x2DF2, 0x0000,
+0x002F, 0x2DEE, 0x1840, 0xD2DF, 0x2DF3, 0x0000, 0x0110, 0x002F, 0x2DEE,
+0x1840, 0xC2DF, 0x2DF2, 0x0000, 0x002F, 0x2DEE, 0x1840, 0xC2DF, 0x2DF3,
+0x0000, 0x4303, 0x4303, 0x4303, 0x002F, 0x2DEE, 0x1840, 0xD2DF, 0x2DF3,
+0x0000, 0x0110, 0x002F, 0x2DEE, 0x1840, 0xD2DF, 0x2DF2, 0x0000, 0x002F,
+0x2DEE, 0x1840, 0xC2DF, 0x2DF3, 0x0000, 0x4303, 0x4303, 0x4303, 0x002F,
+0x2DEE, 0x1840, 0xD2DF, 0x2DF3, 0x0000, 0x0110, 0x002F, 0x2DEE, 0x1840,
+0xC2DF, 0x2DF2, 0x0000, 0x002F, 0x2DEE, 0x1840, 0xC2DF, 0x2DF3, 0x0000,
+0x4303, 0x4303, 0x4303, 0x002F, 0x2DEE, 0x1840, 0xD2DF, 0x2DF3, 0x0000,
+0x0110, 0x930C, 0x240D, 0xC392, 0x03C2, 0xD0B2, 0x0014, 0x03C0, 0xB392,
+0x03C2, 0x2BFD, 0xC0B2, 0x0010, 0x03C0, 0x533C, 0x23F3, 0x0110, 0x141B,
+0x0CCA, 0x3C06, 0x4DFA, 0x0000, 0x00AA, 0x0001, 0x533E, 0x633F, 0x4E0B,
+0xDF0B, 0x930B, 0x23F6, 0x161A, 0x0110, 0x151F, 0x160F, 0x0CCE, 0x0FEE,
+0x3C04, 0x43CC, 0x0000, 0x00AC, 0x0001, 0x0EDC, 0x23FA, 0x0110, 0x1800,
+0x124C, 0x4EBC, 0x0000, 0x03EC, 0x00BD, 0x0001, 0x23FA, 0x1800, 0x417C,
+0x0110, 0x430C, 0x430D, 0x430E, 0x430F, 0x0110, 0x3FFA, 0x4303, 0x3C02,
+0x184D, 0x100F, 0x533C, 0x930C, 0x23FB, 0x0110, 0x13B0, 0xD8AC, 0x1380,
+0x2D0C, 0xD2A2, 0x0508, 0x0110, 0x430C, 0x430D, 0x0110, 0x3FFC, 0x4303,
+0x1840, 0x425C, 0x2F4B, 0x0110, 0x1840, 0x4C82, 0x2D0A, 0x0110, 0x430C,
+0x0080, 0x9CF2, 0x434C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110, 0x434C,
+0x0110, 0x430C, 0x0110, 0x434C, 0x0110, 0x430C, 0x0110, 0x430C, 0x0110,
+0x430C, 0x0110, 0x0080, 0xDAEA, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110,
+0x0000, 0x0000, 0x0241, 0x0000, 0x0243, 0x0000, 0x8040, 0x0245, 0x0000,
+0x2010, 0x8040, 0x0221, 0x0000, 0x0223, 0x0000, 0x0804, 0x0225, 0x0000,
+0xFF04, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
+0xFFFF, 0xFFFF,
+};
+
+const uint32_t eZ_FetHilImage_address[] =
+{
+0x00001880, 0x00008A00,
+};
+const uint32_t eZ_FetHilImage_length_of_sections[] =
+{
+0x00000040, 0x00002B00,
+};
+const uint32_t eZ_FetHilImage_sections = 0x00000002;
+const uint32_t eZ_FetHilImage_termination = 0x00000000;
+const uint32_t eZ_FetHilImage_start = 0x00001880;
+const uint32_t eZ_FetHilImage_finish = 0x0000E000;
+const uint32_t eZ_FetHilImage_length = 0x0000C780;
+
+#define EZ_FETHILIMAGE_TERMINATION 0x00000000
+#define EZ_FETHILIMAGE_START 0x00001880
+#define EZ_FETHILIMAGE_FINISH 0x0000E000
+#define EZ_FETHILIMAGE_LENGTH 0x0000C780
+#define EZ_FETHILIMAGE_SECTIONS 0x00000002
diff --git a/Bios/include/error_def.h b/Bios/include/error_def.h
index d6d0918..21c4aea 100644
--- a/Bios/include/error_def.h
+++ b/Bios/include/error_def.h
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -54,7 +54,7 @@
#define HALERR_WRITE_FLASH_BLOCK_TIMEOUT_EXECUTE 0xFFF9
#define HALERR_WRITE_FLASH_BLOCK_TIMEOUT_FINISH 0xFFF8
#define HALERR_WRITE_FLASH_BLOCK_TIMEOUT_INIT 0xFFF7
-#define HALERR_WRITE_FLASH_BLOCK_MISSING_STREAM_DATA 0xFFF6
+#define HALERR_WRITE_FLASH_BLOCK_MISSING_STREAM_DATA 0xFFF6
*/
#define HALERR_EXECUTE_FUNCLET_NO_RAM_START 0xFFFE
@@ -149,4 +149,11 @@
#define HALERR_EXECUTE_FUNCLET_NO_MAXRSEL 0xFFBE
+#define API_CALL_NOT_SUPPORTED 0xFFBD // API call is not supported on the current FET type
+
+#define HALERR_MAGIC_PATTERN 0xFFBC
+#define HALERR_MAGIC_PATTERN_BOOT_DATA_CRC_WRONG 0xFFBB
+#define HALERR_DAP_NACK 0xFFBA // NACK timeout on DAP
+
+
#endif
diff --git a/Bios/include/hal.h b/Bios/include/hal.h
index 16b4131..5db7656 100644
--- a/Bios/include/hal.h
+++ b/Bios/include/hal.h
@@ -1,36 +1,36 @@
/*
* hal.h
*
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
@@ -49,18 +49,10 @@
#ifndef _HAL_H_
#define _HAL_H_
-/// Configurations values for StartJtag
-enum INTERFACE_TYPE
-{
- /// 4 Wire JTAG protocol used
- JTAG_IF = 0,
- /// 2 Wire (Spy-bi-wire) JTAG protocol used
- SPYBIWIRE_IF,
- /// 2 Wire Devices accessed by 4wire JTAG protocol
- SPYBIWIREJTAG_IF
-};
+#define T_ARCH_MSP430 0
+#define T_ARCH_MSP432 1
-// Event types send async to DLL First word in message
+// Event types send async to DLL First word in message
enum EVENT_TYPE_FLAGS
{
// set if breakpoint is hit
@@ -69,28 +61,10 @@ enum EVENT_TYPE_FLAGS
STATE_STORAGE_FLAG = 0x2,
//JSTATE Capute
JSTATE_CAPTURE_FLAG = 0x4,
+ //Power profiling data capture
+ ENERGYTRACE_INFO = 0x8,
// Variable watch event
- VARIABLE_WATCH_FLAG = 0x8
-};
-
-/// FLASH erase type.
-enum ERASE_TYPE
-{
- /// Erase a segment.
- ERASE_SEGMENT = 0,
- /// Erase all MAIN memory.
- ERASE_MAIN,
- /// Erase all MAIN and INFORMATION memory.
- ERASE_ALL,
- /// Erase all MAIN and IP PROTECTED memory.
- ERASE_TOTAL,
-};
-
-
-enum MAILBOX_MODE
-{
- LONG_MODE = 0,
- WORD_MODE,
+ VARIABLE_WATCH_FLAG = 0x10
};
#define NO_FLAG 0x00
@@ -99,33 +73,36 @@ enum MAILBOX_MODE
#define HAL_FUNCTION(x) short x (unsigned short flags)
typedef short (*HalFuncInOut)(unsigned short);
-union _chain_Configuration{
- struct __chain_Configuration{
- unsigned char Num : 7;
- unsigned char isMsp430 : 1;
- }bitAccess;
- unsigned char byteAccess;
-};
-
struct _DeviceSettings_
{
- unsigned long clockControlType;
+ unsigned long clockControlType;
unsigned short stopFLL;
+ unsigned short assertBslValidBit;
};
typedef struct _DeviceSettings_ DeviceSettings;
struct _DevicePowerSettings_
{
unsigned long powerTestRegMask;
+ unsigned long powerTestRegDefault;
unsigned long enableLpmx5TestReg;
unsigned long disableLpmx5TestReg;
unsigned short powerTestReg3VMask;
+ unsigned short powerTestReg3VDefault;
unsigned short enableLpmx5TestReg3V;
- unsigned short disableLpmx5TestReg3V;
+ unsigned short disableLpmx5TestReg3V;
};
typedef struct _DevicePowerSettings_ DevicePowerSettings;
+typedef struct _ARMConfigSettings
+{
+ unsigned long scsBase; // System Control Space base address
+ unsigned long fpbBase; // FLASH Patch Block base address
+ unsigned long interruptOptions; // Options to enable/disable interrupts when single stepping or letting the device run
+ unsigned long ulpDebug; // Options to enable/disable entry to LPM. poll for PB hit in low poer mode
+} ARMConfigSettings;
+
#ifndef HAL_REC
#define HAL_REC
struct _HalRec_
@@ -155,6 +132,7 @@ extern void _init_Hal(void);
MACRO(SetChainConfiguration) \
MACRO(GetNumOfDevices) \
MACRO(GetInterfaceMode) \
+ MACRO(GetDeviceIdPtr) \
MACRO(SyncJtag_AssertPor_SaveContext) \
MACRO(SyncJtag_Conditional_SaveContext) \
MACRO(RestoreContext_ReleaseJtag) \
@@ -192,7 +170,7 @@ extern void _init_Hal(void);
MACRO(ExecuteFuncletX) \
MACRO(GetDcoFrequencyX) \
MACRO(GetFllFrequencyX) \
- MACRO(WaitForStorageX) \
+ MACRO(WaitForStorageX) \
MACRO(BlowFuseXv2) \
MACRO(BlowFuseFram) \
MACRO(SyncJtag_AssertPor_SaveContextXv2) \
@@ -208,8 +186,8 @@ extern void _init_Hal(void);
MACRO(PsaXv2) \
MACRO(ExecuteFuncletXv2) \
MACRO(UnlockDeviceXv2) \
- MACRO(MagicPattern) \
- MACRO(UnlockC092) \
+ MACRO(MagicPattern) \
+ MACRO(UnlockC092) \
MACRO(HilCommand) \
MACRO(PollJStateReg) \
MACRO(PollJStateRegFR57xx) \
@@ -217,13 +195,41 @@ extern void _init_Hal(void);
MACRO(ResetXv2) \
MACRO(WriteFramQuickXv2) \
MACRO(SendJtagMailboxXv2) \
- MACRO(SingleStepJStateXv2)
+ MACRO(SingleStepJStateXv2) \
+ MACRO(PollJStateRegEt8) \
+ MACRO(ResetStaticGlobalVars) \
+ MACRO(Reset430I) \
+ MACRO(PollJStateReg430I) \
+ MACRO(PollJStateReg20) \
+ MACRO(SwitchMosfet) \
+ MACRO(ResetL092) \
+ MACRO(DummyMacro) \
+ MACRO(Reset5438Xv2) \
+ MACRO(LeaSyncConditional) \
+ MACRO(GetJtagIdCodeArm) \
+ MACRO(ScanApArm) \
+ MACRO(MemApTransactionArm) \
+ MACRO(ReadAllCpuRegsArm) \
+ MACRO(WriteAllCpuRegsArm) \
+ MACRO(EnableDebugArm) \
+ MACRO(DisableDebugArm) \
+ MACRO(RunArm) \
+ MACRO(HaltArm) \
+ MACRO(ResetArm) \
+ MACRO(SingleStepArm) \
+ MACRO(WaitForDebugHaltArm) \
+ MACRO(MemApTransactionArmSwd) \
+ MACRO(GetInterfaceModeArm) \
+ MACRO(PollDStatePCRegEt) \
+ MACRO(GetCpuIdArm) \
+ MACRO(CheckDapLockArm) \
+ MACRO(UnlockDap) \
+ MACRO(UssSyncConditional)
-
#define MACRO(x) ID_##x,
enum hal_id
{
- MACRO(Zero)
+ MACRO(Zero)
MACRO_LIST
NUM_MACROS
};
diff --git a/Bios/include/hw_compiler_specific.h b/Bios/include/hw_compiler_specific.h
index c97bf00..8f0e096 100644
--- a/Bios/include/hw_compiler_specific.h
+++ b/Bios/include/hw_compiler_specific.h
@@ -4,61 +4,64 @@
* \brief
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-//! \author Detlef Fink (03/10/2011)
#ifndef HW_COMPILER_SPECIFIC_H
#define HW_COMPILER_SPECIFIC_H
-#ifdef __ICC430__
+ #define eZ_FET_WITH_DCDC 0xAAAA
+ #define eZ_FET_NO_DCDC 0xAAAB
+ #define eZ_FET_WITH_DCDC_NO_FLOWCTL 0xAAAC
+ #define MSP_FET_WITH_DCDC 0xBBBB
+ #define MSP_FET_WITH_DCDC_V2x 0xBBBC
+ #define eZ_FET_WITH_DCDC_V2x 0xAAAD
+
#include "msp430.h"
#include "intrinsics.h"
- #define BAUDRATE 460800 // communication speed to TUSB3410
-
+ #define BAUDRATE 460800 // communication speed to TUSB3410
+
#define CRYSTAL_U1 8000000 // externally connected HF crystal
- #define CRYSTAL_E2 12000000 // externally connected HF crystal
+ #define CRYSTAL_E2 12000000 // externally connected HF crystal
#define BAUDMOD_U1 0x52 // corresponding modulation register value
#define BAUDMOD_E2 0x00 // corresponding modulation register value
#define USB_READ U0RXBUF
#define USB_WRITE U0TXBUF
-
+
#define INFO_U1_HW_0 0xFF55
#define INFO_U1_HW_1 0x0140
- #define INFO_E2_HW_0 0xFF45
- #define INFO_E2_HW_1 0x0200
-
+
#define CONCAT0(x,y) x##y
#define CONCAT(x,y) CONCAT0(x,y)
#define PRAGMA(x) _Pragma(#x)
@@ -68,31 +71,49 @@
#define INTERRUPT(x) PRAGMA(vector=x) __interrupt
#define INTERRUPT_PROTO __interrupt
#define INLINE(x) PRAGMA(inline=x)
+
+#if defined(eZ_FET) || defined(MSP_FET)
+ #define VAR_AT(x, y) __no_init __data20 x @ y
+ #define CONST_AT(x, y) const __data20 x @ y
+#endif
+
+#ifdef MSP430_UIF
#define VAR_AT(x, y) __no_init x @ y
#define CONST_AT(x, y) const x @ y
+#endif
+
#define RO_PLACEMENT __ro_placement
#define NO_INIT __no_init
#define RO_PLACEMENT_NO_INIT __ro_placement __no_init
+#ifdef MSP430_UIF
#define ENABLE_INTERRUPT __enable_interrupt()
#define DISABLE_INTERRUPT __disable_interrupt()
- #define NO_OPERATION __no_operation()
+#endif
-
- #define PTR_FOR_CMP unsigned short
-
-#else
- // dummys for unused function in DLL
- #define DIAG_SUPPRESS(x)
- #define DIAG_DEFAULT(x)
- #define REQUIRED(x)
- #define setRst(x)
- #define setTst(x)
- #define VAR_AT(x, y) x
- #define CONST_AT(x, y) const x
-
+ #define NO_OPERATION __no_operation()
#define PTR_FOR_CMP unsigned long
-#endif
+ #if defined(eZ_FET) || defined(MSP_FET)
+
+ #ifdef eZ_FET
+ #define COM_CLEARCTS {P2OUT &=~ BIT7;}
+ #define COM_SETCTS {P2OUT |= BIT7;}
+ #define COM_SEMAPHOREADRESS 0x4200
+ #endif
+
+ #ifdef MSP_FET
+ #define COM_CLEARCTS {P9OUT &=~ BIT5;}
+ #define COM_SETCTS {P9OUT |= BIT5;}
+ #define COM_SEMAPHOREADRESS 0x4A00
+ #endif
+
+ #define COM_CTSSTATUS {if(*((unsigned int*)COM_SEMAPHOREADRESS)){COM_SETCTS;}else {COM_CLEARCTS;}}
+
+ #define _DINT_FET() {COM_CLEARCTS; __disable_interrupt();}
+ #define _EINT_FET() {__enable_interrupt();COM_CTSSTATUS;}
+ #define _DISABLE_UART() {COM_CLEARCTS;}
+ #define _ENABLE_UART() {COM_CTSSTATUS;}
+ #endif
#endif
diff --git a/Bios/include/protocol.h b/Bios/include/protocol.h
index 25621db..0db6a84 100644
--- a/Bios/include/protocol.h
+++ b/Bios/include/protocol.h
@@ -7,42 +7,42 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
@page protocol Host (PC) - Bios Communication Protocol
This page introduces the user to the topic.
- Proceed to the @ref hil.
+ Proceed to the @ref hil.
*/
/**
@@ -58,39 +58,57 @@
enum eCMDTYP
{
- CMDTYP_UPINIT = 0x51,
- CMDTYP_UPERASE = 0x52,
- CMDTYP_UPWRITE = 0x53,
- CMDTYP_UPREAD = 0x54,
- CMDTYP_UPCORE = 0x55,
-
- CMDTYP_LEGACY = 0x7E,
- CMDTYP_SYNC = 0x80,
- CMDTYP_EXECUTE = 0x81,
- CMDTYP_EXECUTELOOP = 0x82,
- CMDTYP_LOAD = 0x83,
- CMDTYP_LOAD_CONTINUED = 0x84,
- CMDTYP_DATA = 0x85,
- CMDTYP_KILL = 0x86,
- CMDTYP_MOVE = 0x87,
- CMDTYP_UNLOAD = 0x88,
- CMDTYP_BYPASS = 0x89,
- CMDTYP_EXECUTEEVER = 0x8A,
- CMDTYP_COMRESET = 0x8B,
- CMDTYP_PAUSE_LOOP = 0x8C,
- CMDTYP_RESUME_LOOP = 0x8D,
+ // Fet-Core functions
+ CMDTYP_UPINIT = 0x51,
+ CMDTYP_UPERASE = 0x52,
+ CMDTYP_UPWRITE = 0x53,
+ CMDTYP_UPREAD = 0x54,
+ CMDTYP_UPCORE = 0x55,
+ // Fet-Dcdc functions
+ CMDTYP_DCDC_CALIBRATE = 0x56,
+ CMDTYP_DCDC_INIT_INTERFACE = 0x57,
+ CMDTYP_DCDC_SUB_MCU_VERSION = 0x58,
+ CMDTYP_DCDC_LAYER_VERSION = 0x59,
+ CMDTYP_DCDC_POWER_DOWN = 0x60,
+ CMDTYP_DCDC_SET_VCC = 0x61,
+
+ CMDTYP_DCDC_RESTART = 0x62,
+
+ CMDTYP_HIL_SET_VCC = 0x63,
+ CMDTYP_HIL_GET_VCC = 0x64,
+ CMDTYP_HIL_SWITCH_FET = 0x65,
+
+ CMDTYP_CMP_VERSIONS = 0x66,
+
+ CMDTYP_LEGACY = 0x7E,
+ CMDTYP_SYNC = 0x80,
+ CMDTYP_EXECUTE = 0x81,
+ CMDTYP_EXECUTELOOP = 0x82,
+ CMDTYP_LOAD = 0x83,
+ CMDTYP_LOAD_CONTINUED = 0x84,
+ CMDTYP_DATA = 0x85,
+ CMDTYP_KILL = 0x86,
+ CMDTYP_MOVE = 0x87,
+ CMDTYP_UNLOAD = 0x88,
+ CMDTYP_BYPASS = 0x89,
+ CMDTYP_EXECUTEEVER = 0x8A,
+ CMDTYP_COMRESET = 0x8B,
+ CMDTYP_PAUSE_LOOP = 0x8C,
+ CMDTYP_RESUME_LOOP = 0x8D,
+ CMDTYP_KILL_ALL = 0x8E,
+ CMDTYP_OVER_CURRENT = 0x8F
};
typedef enum eCMDTYP eCMDTYP_t;
enum eRESPTYP
{
- RESPTYP_EMPTY = 0x00,
- RESPTYP_ACKNOWLEDGE = 0x91,
- RESPTYP_EXCEPTION = 0x92,
- RESPTYP_DATA = 0x93,
- RESPTYP_REQUEST = 0x94,
- RESPTYP_STATUS = 0x95,
+ RESPTYP_EMPTY = 0x00,
+ RESPTYP_ACKNOWLEDGE = 0x91,
+ RESPTYP_EXCEPTION = 0x92,
+ RESPTYP_DATA = 0x93,
+ RESPTYP_REQUEST = 0x94,
+ RESPTYP_STATUS = 0x95,
};
typedef enum eRESPTYP eRESPTYP_t;
diff --git a/Bios/settings/MSP-FET_Bios.wsdt b/Bios/settings/MSP-FET_Bios.wsdt
new file mode 100644
index 0000000..4e255f8
--- /dev/null
+++ b/Bios/settings/MSP-FET_Bios.wsdt
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+ FET_Bios/MSP_FET_Debug FET_ComChannel/MSP_FET_Debug FET_DCDC/MSP_FET_Debug MSP-FET_FpgaUpdate/Debug MSP-FET_Hil/Debug FET_Hal/MSP_FET_Debug FetDcdcController/MSP_FET_Debug FET_Hal 1
+
+
+
+
+
+
+
+
+ 305 27 27 27
+
+ 20 1395 372 93 664 94 1138 19 1622
+
+
+
+
+
+ TabID-20988-12588
+ Workspace
+ Workspace
+
+
+ <ws>
+
+
+
+ 0 TabID-10977-651 Build Build TabID-27521-24699 Find in Files Find-in-Files TabID-6087-31012 Debug Log Debug-Log 0
+
+
+
+
+
+ TextEditor $WS_DIR$\src\hil\msp_fet\hil.c 0 0 0 0 0 684 0 0 TextEditor $WS_DIR$\src\hil\fet_generic\hil_4w.c 0 0 0 0 0 84 0 0 TextEditor $WS_DIR$\src\hil\fet_generic\hil_generic432.c 0 0 0 0 0 16 0 0 TextEditor $WS_DIR$\src\fw\fet\halMain.c 0 0 0 0 0 207 0 0 TextEditor $WS_DIR$\src\hil\fet_generic\hil_generic.c 0 0 0 0 0 97 0 0 TextEditor $WS_DIR$\src\hil\hil_Structs.h 0 0 0 0 0 58 0 0 TextEditor $WS_DIR$\src\hal\macros\Configure.c 0 0 0 0 0 108 0 0 TextEditor $WS_DIR$\src\hal\macros\HilCommand.c 0 0 0 0 0 172 0 0 TextEditor $WS_DIR$\src\fw\fet\Fet_cStartUp\cstartup.s43 0 0 0 0 0 98 3232 3232 TextEditor $WS_DIR$\src\hil\msp_fet\hilFpgaAccess.c 0 0 0 0 0 398 0 0 TextEditor $WS_DIR$\src\hil\msp_fet\hilAdcControl.c 0 0 0 0 0 50 2791 2791 TextEditor $WS_DIR$\src\hal\JTAG_defs.h 0 0 0 0 0 85 0 0 TextEditor $WS_DIR$\src\dcdc\FetDcdc.c 0 0 0 0 0 341 0 0 TextEditor $WS_DIR$\src\fw\fet\hal.c 0 0 0 0 0 0 0 0 TextEditor $WS_DIR$\src\hil\edt.h 0 0 0 0 0 102 719 719 TextEditor $WS_DIR$\src\fw\fet\HalGlobalVars.c 0 0 0 0 0 0 0 0 TextEditor $WS_DIR$\include\hal.h 0 0 0 0 0 62 3401 3401 16 TextEditor $WS_DIR$\src\hal\macros\UssSyncConditional.c 0 0 0 0 0 30 2030 2048 0 1000000 1000000 1
+
+
+
+
+
+
+ iaridepm.enu1 -2 -2 705 379 -2 -2 231 210 120313 210421 198438 708417 -2 -2 248 1922 -2 -2 1924 250 1002083 250501 105208 204409
+
+
+
+
+
+ iaridepm.enu1 -2 -2 726 328 -2 -2 200 200 119048 206612 196429 752066 -2 -2 198 1682 -2 -2 1684 200 1002381 206612 119048 206612
+
+
diff --git a/Bios/settings/bios_core.wsdt b/Bios/settings/bios_core.wsdt
new file mode 100644
index 0000000..81a70b8
--- /dev/null
+++ b/Bios/settings/bios_core.wsdt
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+ Uifv3Updater/Debug UifHal/Debug UifHalMsp430/Debug UifBiosCore/Debug COM-IRQ Uifv3EepromUpdate/Debug Uifv3Downgrader/Debug SafeCore/Debug UifHalMsp430 1
+
+
+
+
+
+
+
+
+ 628 27 27 27
+
+
+
+
+
+
+ 20 1216 324 81
+ 664 94 1138 20 1861
+
+
+
+
+
+
+ TabID-19524-11592
+ Workspace
+ Workspace
+
+
+ <ws>
+
+
+
+ 0
+
+
+ TabID-29749-11605
+ Build
+ Build
+
+
+ TabID-6838-15177 Find in Files Find-in-Files TabID-24111-21813 Debug Log Debug-Log
+
+ 0
+
+
+
+
+
+ TextEditor $WS_DIR$\src\hal\macros\GetJtagIdCodeArm.c 0 0 0 0 0 11 1982 1982 TextEditor $WS_DIR$\src\hal\macros\EnableDebugArm.c 0 0 0 0 0 32 2066 2069 TextEditor $WS_DIR$\src\hal\macros\HaltArm.c 0 0 0 0 0 27 2062 2062 TextEditor $WS_DIR$\src\hal\macros\MemApTransactionArm.c 0 0 0 0 0 126 5895 5895 TextEditor $WS_DIR$\src\hal\macros\ReadAllCpuRegsArm.c 0 0 0 0 0 36 2124 2124 TextEditor $WS_DIR$\src\hal\macros\ResetArm.c 0 0 0 0 0 30 2118 2118 TextEditor $WS_DIR$\src\hal\macros\RunArm.c 0 0 0 0 0 39 2064 2064 TextEditor $WS_DIR$\src\hal\macros\ScanApArm.c 0 0 0 0 0 33 2072 2072 TextEditor $WS_DIR$\src\hal\macros\SingleStepArm.c 0 0 0 0 0 42 2074 2074 TextEditor $WS_DIR$\src\hal\macros\WaitForDebugHaltArm.c 0 0 0 0 0 49 2294 2318 TextEditor $WS_DIR$\src\hal\macros\WriteAllCpuRegsArm.c 0 0 0 0 0 61 2546 2546 TextEditor $WS_DIR$\include\hal.h 0 0 0 0 0 189 8859 8867 TextEditor $WS_DIR$\src\hal\macros\DummyHal432.c 0 0 0 0 0 16 2434 2434 TextEditor $WS_DIR$\src\hal\macros\Configure.c 0 0 0 0 0 42 2726 2726 TextEditor $WS_DIR$\src\fw\uifv1\halMain430.c 0 0 0 0 0 54 3526 3526 TextEditor $WS_DIR$\src\hal\macros\DisableDebugArm.c 0 0 0 0 0 29 2220 2220 TextEditor $WS_DIR$\src\hil\uifv1\hil430.c 0 0 0 0 0 402 0 0 TextEditor $WS_DIR$\objects\list\hilGeneric.s43 0 0 0 0 0 1045 0 0 TextEditor $WS_DIR$\src\fw\uifv1\hal430.c 0 0 0 0 0 114 0 0 TextEditor $WS_DIR$\src\fw\uifv1\HalGlobalVars430.c 0 0 0 0 0 47 2863 2863 TextEditor $WS_DIR$\src\hil\uifv1\hilGeneric.c 0 0 0 0 0 158 6697 6697 TextEditor $WS_DIR$\objects\list\UifHalMsp430.map 0 0 0 0 0 11725 0 0 TextEditor $WS_DIR$\src\hil\uifv1\hil432.c 0 0 0 0 0 297 12987 12987 TextEditor $WS_DIR$\src\hil\uifv1\arch.h 0 0 0 0 0 210 11464 11464 TextEditor $WS_DIR$\src\hil\uifv1\hil_4w.c 0 0 0 0 0 501 5308 5315 TextEditor $WS_DIR$\src\hil\uifv1\hil_Swd.c 0 0 0 0 0 138 3342 3342 TextEditor $WS_DIR$\src\hil\uifv1\hil_4w_432.c 0 0 0 0 0 150 6169 6169 26 0 1000000 1000000 1
+
+
+
+
+
+
+ iaridepm.enu1 -2 -2 794 702 -2 -2 830 1081 432292 967771 366667 712623 -2 -2 278 1922 -2 -2 1924 280 1002083 250671 432292 967771
+
+
+
+
diff --git a/Bios/settings/eZ-FET_Bios.wsdt b/Bios/settings/eZ-FET_Bios.wsdt
new file mode 100644
index 0000000..f58fd98
--- /dev/null
+++ b/Bios/settings/eZ-FET_Bios.wsdt
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+ FET_Hal/eZ_FET_Debug FetDcdcController/eZ_FET_Debug FET_DCDC/eZ_FET_Debug FET_Bios/eZ_FET_DCDC_Debug eZ-FET_Hil/Debug FET_ComChannel/eZ_FET_Debug FET_Hal 1
+
+
+
+
+
+
+
+
+ 325 27 27 27
+
+
+
+
+
+
+ 20 1216 324 81
+ 21 1620
+
+
+
+
+
+
+ TabID-12498-11928
+ Workspace
+ Workspace
+
+
+ <ws>
+
+
+
+ 0
+
+
+ TabID-28244-12043
+ Build
+ Build
+
+
+ TabID-166-11269 Debug Log Debug-Log
+
+ 1
+
+
+
+
+
+ 0 1000000 1000000 1
+
+
+
+
+
+
+ iaridepm.enu1 -2 -2 749 399 -2 -2 229 206 119271 206413 208854 752505 -2 -2 204 1922 -2 -2 1924 206 1002083 206413 119271 206413
+
+
+
+
+
+ iaridepm.enu1 -2 -2 726 349 -2 -2 200 200 119048 206612 208929 752066 -2 -2 198 1682 -2 -2 1684 200 1002381 206612 119048 206612
+
+
diff --git a/Bios/src/dcdc/FetDcdc.c b/Bios/src/dcdc/FetDcdc.c
new file mode 100644
index 0000000..fb9f816
--- /dev/null
+++ b/Bios/src/dcdc/FetDcdc.c
@@ -0,0 +1,512 @@
+/*
+ * FetDcdc.c
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "msp430.h"
+#include "FetDcdc.h"
+#include "hw_compiler_specific.h"
+#include "../fw/fet/FetVersion.h"
+
+#define DCDC_SIGNATURE 0xABBAABBAul
+
+#define CALIB_COUNT 10
+#define DELAYCOUNT 16384
+
+const unsigned long dcdc_Signature_ @ "DCDCSIGNATURE" = DCDC_SIGNATURE;
+#pragma required = dcdc_Signature_
+
+const unsigned short dcdc_LayerVersion_ @ "DCDCLAYERVERSION" = DCDC_LAYER_VERSION;
+#pragma required = dcdc_LayerVersion_
+
+const unsigned short dcdc_LayerVersionCMP_ @ "DCDCLAYERVERSIONCMP" = DCDC_LAYER_VERSION_CMP;
+#pragma required = dcdc_LayerVersionCMP_
+
+DCDC_INFOS_t dcdcInfos_;
+calibrationValues_t savedCalibrationValues;
+const unsigned short countScV = 4;
+
+unsigned short dcdcLayerVersion =0;
+
+unsigned char* _UCBxCTL1 = 0 ;
+unsigned char* _UCBxIFG = 0 ;
+unsigned char* _UCBxTXBUF = 0 ;
+unsigned char* _UCBxRXBUF = 0 ;
+unsigned short _fetType = 0;
+
+void dcdc_Init(DCDC_INFOS_t* dcdcInfos_Pointer)
+{
+ // map funciotn pointers in FET dcdc layer
+ dcdcInfos_.dcdcCalibrate = dcdc_Calibrate;
+ dcdcInfos_.getSubMcuVersion = dcdc_getSubMcuVersion;
+ dcdcInfos_.getLayerVersion = dcdc_getLayerVersion;
+ dcdcInfos_.dcdcPowerDown = dcdc_PowerDown;
+ dcdcInfos_.dcdcSetVcc = dcdc_SetVcc;
+ dcdcInfos_.dcdcRestart = dcdc_Restart;
+ dcdcInfos_.dcdc_getCalibrationValues = dcdc_getCalibrationValues;
+ dcdcInfos_.getLayerVersionCmp = dcdc_getLayerVersionCmp;
+ // now copy getLayerVersion and retrun it to uper core layer
+ *dcdcInfos_Pointer = dcdcInfos_;
+
+ _UCBxCTL1 = 0 ;
+ _UCBxIFG = 0 ;
+ _UCBxTXBUF = 0 ;
+ _UCBxRXBUF = 0 ;
+ _fetType = 0 ;
+}
+
+short dcdc_Restart(unsigned short fetType_)
+{
+ _fetType = fetType_;
+ if(fetType_ == eZ_FET_WITH_DCDC || fetType_ == eZ_FET_WITH_DCDC_NO_FLOWCTL || fetType_ == eZ_FET_WITH_DCDC_V2x) // this is the eZ-FET tool id
+ {
+ P6DIR &= ~BIT4;
+
+ P6DIR |= BIT5;
+ P6OUT &= ~BIT5;
+
+ // TEST pin sub mcu
+ P6DIR &= ~BIT7;
+ P6OUT &= ~BIT7;
+ //togle RST pin to restart sub mcu
+ P6DIR |= BIT6;
+ __delay_cycles(600000);
+ P6OUT &= ~BIT6;
+ __delay_cycles(600000);
+ P6OUT |= BIT6;
+ P6DIR &= ~BIT6;
+ // Port3
+ // P3.0 <-> HOST_SDA
+ // P3.1 -> HOST_SCL
+ // P3.2 -> N/C
+ // P3.3 -> UART_RXD N/C
+ // P3.4 <- UART_TXD N/C
+ // P3.5 -> n/c
+ // P3.6 -> n/c
+ // P3.7 -> n/c
+ P3SEL = (BIT0+BIT1);
+ // Configure I2C
+
+ _UCBxCTL1 = (unsigned char*)&UCB0CTL1;
+ _UCBxIFG = (unsigned char*)&UCB0IFG;
+ _UCBxTXBUF = (unsigned char*)&UCB0TXBUF;
+ _UCBxRXBUF = (unsigned char*)&UCB0RXBUF;
+
+ *_UCBxCTL1 |= UCSWRST; // Enable SW reset
+ UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC; // I2C Master, synchronous mode
+ *_UCBxCTL1 = UCSSEL_2 + UCSWRST; // Use SMCLK, keep SW reset
+ UCB0BR0 = 0xc8;//25;//12; // fSCL = SMCLK/25 = ~100kHz
+ UCB0BR1 = 0;
+ UCB0I2CSA = 0x48; // Slave Address is 048h
+ *_UCBxCTL1 &= ~UCSWRST; // Clear SW reset, resume operation
+ __delay_cycles(600000);
+
+ savedCalibrationValues.vcc = 0;
+ savedCalibrationValues.valid = 0;
+ return fetType_;
+ }
+ else if(fetType_ == eZ_FET_NO_DCDC) // else it the MSP-FET
+ {
+ return eZ_FET_NO_DCDC;
+ }
+ else if(fetType_ == MSP_FET_WITH_DCDC || fetType_ == MSP_FET_WITH_DCDC_V2x)
+ {
+ #ifdef MSP_FET
+ // Port7
+ // P7.0 -> n/c
+ // P7.1 -> n/c
+ // P7.2 <- XT2IN
+ // P7.3 -> XT2OUT
+ // P7.4 -> DCDC_TEST
+ // P7.5 -> DCDC_RST (0 = reset)
+ // P7.6 -> VCC_DT_REF
+ // P7.7 -> VCC_DCDC_REF
+ // TEST pin sub mcu low
+
+ P7DIR &= ~BIT4;
+ P7OUT &= ~BIT4;
+ //togle RST pin to restart sub mcu
+ P7DIR |= BIT5;
+ __delay_cycles(600000);
+ P7OUT &= ~BIT5;
+ __delay_cycles(600000);
+ P7OUT |= BIT5;
+ P7DIR &= ~BIT5;
+ // Port8
+ // P8.0 -> VCC_DT2TRGT_CTRL (control signal to switches to provide debug signals to target via JTAG.x)
+ // P8.1 -> UART_?
+ // P8.2 -> UART_TXD
+ // P8.3 <- UART_RXD
+ // P8.4 <- DCDC_IO0
+ // P8.5 -> HOST_SDA
+ // P8.6 -> HOST_SCL
+ // P8.7 -> VCC_SUPPLY2TRGT_CTRL (DCDC VCC to target VCC)
+
+ P8DIR |= (BIT5+BIT6); // set pins to output direction
+ P8SEL |= (BIT5+BIT6); // use USCI for i2c communication
+
+ _UCBxCTL1 = (unsigned char*)&UCB1CTL1;
+ _UCBxIFG = (unsigned char*)&UCB1IFG;
+ _UCBxTXBUF = (unsigned char*)&UCB1TXBUF;
+ _UCBxRXBUF = (unsigned char*)&UCB1RXBUF;
+
+ *_UCBxCTL1 |= UCSWRST; // Enable SW reset
+ UCB1CTL0 = UCMST + UCMODE_3 + UCSYNC; // I2C Master, synchronous mode
+ *_UCBxCTL1 = UCSSEL_2 + UCSWRST; // Use SMCLK, keep SW reset
+ UCB1BR0 = 20; // fSCL = SMCLK/20 = ~100kHz
+ UCB1BR1 = 0;
+ UCB1I2CSA = 0x48; // Slave Address is 048h
+ * _UCBxCTL1 &= ~UCSWRST; // Clear SW reset, resume operation
+ __delay_cycles(600000);
+
+ //Configure port mapper and P2 for current measuring
+ P2DIR &= ~BIT0;
+ P2SEL |= BIT0;
+ _DINT_FET();
+ PMAPKEYID = PMAPKEY;
+ PMAPCTL |= PMAPRECFG;
+ P2MAP0 = PM_TB0CLK;
+ PMAPKEYID = 0;
+ _EINT_FET();
+
+ dcdc_SetVcc(3300);
+
+ savedCalibrationValues.vcc = 0;
+ savedCalibrationValues.valid = 0;
+
+ #endif
+ return fetType_;
+ }
+ return -1;
+}
+
+#pragma optimize = low
+short dcdc_SetVcc(unsigned short vcc)
+{
+ short success = dcdc_Send(CMD_CONFIGURE, vcc);
+ if(!success)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+/* TBD make ADC and timer config configurable via pointers like or I2c communication */
+void dcdc_RunCalibrate(unsigned long *ticks, unsigned long *time, unsigned short count)
+{
+ unsigned short i0 = 0, i1 = 0;
+ unsigned short t0 = 0, t1 = 0;
+ unsigned short i = 0;
+
+ *ticks = 0;
+ *time = 0;
+
+#ifdef MSP_FET
+ #define PULSES TB0R
+#else
+ #define PULSES TA2R
+#endif
+
+ if(_fetType == eZ_FET_WITH_DCDC_NO_FLOWCTL || _fetType == eZ_FET_WITH_DCDC ||_fetType == MSP_FET_WITH_DCDC
+ || _fetType == MSP_FET_WITH_DCDC_V2x || _fetType == eZ_FET_WITH_DCDC_V2x)
+ {
+ _DINT_FET();
+
+ for(i = 0; i < count; ++i)
+ {
+ TA0CTL |= TACLR + MC__CONTINOUS + TAIE; // START the timer in free-running mode
+
+ i0 = PULSES;
+ t0 = TA0R;
+
+ // Sample VCCout
+ ADC12CTL0 &= ~ADC12ENC; // Disable conversion, write controls
+ ADC12MCTL0 = ADC12SREF_1 + 1; // select Vref and analog channel Ax
+ ADC12CTL0 |= ADC12ENC; // Enable conversions
+
+ ADC12IFG &= ~BIT0;
+ ADC12CTL0 |= ADC12SC; // Start conversions
+ while ((ADC12IFG & BIT0) == 0); // wait until conversion is done
+ ADC12IFG &= ~BIT0;
+
+ // Wait for some time
+ for(volatile unsigned long j = 0; j < DELAYCOUNT; ++j);
+
+ i1 = PULSES;
+ t1 = TA0R;
+
+ *time += (t1 - t0);
+ *ticks += (i1 - i0);
+ }
+ _EINT_FET();
+ }
+}
+#pragma optimize = low
+void dcdc_getCalibrationValues(unsigned short vcc, unsigned short resistor, unsigned short resCount, unsigned long *ticks, unsigned long *time)
+{
+ unsigned short currentResCount = 0;
+
+ for(currentResCount = 0; currentResCount < resCount; currentResCount++)
+ {
+ if(savedCalibrationValues.resValues[currentResCount].resistor == resistor)
+ {
+ *time = savedCalibrationValues.resValues[currentResCount].time;
+ *ticks = savedCalibrationValues.resValues[currentResCount].ticks;
+ }
+ }
+}
+#pragma optimize = low
+short dcdc_Calibrate(unsigned short resistors[5], unsigned short resCount, unsigned short vcc)
+{
+ short success = 0;
+ unsigned int count = CALIB_COUNT;
+ unsigned long internalTicks = 0;
+ unsigned long internalTime = 0;
+ unsigned short currentResCount = 0;
+
+ if((savedCalibrationValues.vcc == vcc) && (savedCalibrationValues.valid == 1))
+ {
+ return 0;
+ }
+
+ savedCalibrationValues.vcc = vcc;
+ savedCalibrationValues.valid = 0;
+
+ for(currentResCount = 0; currentResCount < resCount; currentResCount++)
+ {
+ unsigned short resistor = resistors[currentResCount];
+
+ if (resistor == 0)
+ {
+ count = CALIB_COUNT*5;
+ }
+
+ if (resistor == 4)
+ {
+ count = CALIB_COUNT*2;
+ }
+
+ // switch off Overcurrent detection
+#ifdef MSP_FET
+ P5OUT |= BIT7;
+#else
+ P6OUT |= BIT5;
+#endif
+
+ success = dcdc_Send(CMD_CALLOAD, resistor);
+
+ if(!success)
+ {
+ return -1;
+ }
+ // Wait for some time
+ for(volatile unsigned long j = 0; j < DELAYCOUNT; ++j);
+ for(volatile unsigned long j = 0; j < DELAYCOUNT; ++j);
+ for(volatile unsigned long j = 0; j < DELAYCOUNT; ++j);
+ for(volatile unsigned long j = 0; j < DELAYCOUNT; ++j);
+
+ dcdc_RunCalibrate(&internalTicks, &internalTime, count);
+
+ savedCalibrationValues.resValues[currentResCount].ticks = internalTicks;
+ savedCalibrationValues.resValues[currentResCount].time = internalTime;
+ savedCalibrationValues.resValues[currentResCount].resistor = resistor;
+
+ // Reset the calibration resistor
+ success = dcdc_Send(CMD_CALLOAD, 0);
+ for(volatile unsigned long j = 0; j < DELAYCOUNT; ++j);
+
+ // switch on Overcurrent detection
+#ifdef MSP_FET
+ P5OUT &= ~BIT7;
+#else
+ P6OUT &= ~BIT5;
+#endif
+ }
+ if(!success)
+ {
+ savedCalibrationValues.valid = 0;
+ return -1;
+ }
+
+ savedCalibrationValues.valid = 1;
+ return 0;
+}
+#pragma optimize = low
+short dcdc_getSubMcuVersion()
+{
+ unsigned int version = 0;
+
+ //togle RST pin to restart sub mcu
+ #ifdef MSP_FET
+ P7DIR |= BIT5;
+ __delay_cycles(600000);
+ P7OUT &= ~BIT5;
+ __delay_cycles(600000);
+ P7OUT |= BIT5;
+ P7DIR &= ~BIT5;
+ #endif
+
+ dcdc_Receive(&version);
+ return version;
+}
+
+short dcdc_getLayerVersion()
+{
+ return DCDC_LAYER_VERSION;
+}
+
+short dcdc_getLayerVersionCmp()
+{
+ return DCDC_LAYER_VERSION_CMP;
+}
+
+short dcdc_PowerDown()
+{
+ if(!dcdc_Send(CMD_POWERDOWN, SDIO_POWERDOWN_KEY))
+ {
+ return -1;
+ }
+ return 0;
+}
+
+#pragma optimize = low
+// Generic send function
+short dcdc_Send(unsigned int cmd, unsigned int data)
+{
+ unsigned char TxData[3];
+ unsigned int timeout;
+
+ TxData[0] = cmd;
+ TxData[1] = (unsigned char)(data>>8); // High byte
+ TxData[2] = data&0xFF; // Low bytes
+
+ // Send start condition and slave address
+ *_UCBxCTL1 |= UCTR + UCTXSTT; // Master Tx and Start Condition
+ __delay_cycles(5000);
+ if(*_UCBxIFG & UCNACKIFG)
+ {
+ // Nack received
+ return (0);
+ }
+
+ // Send byte 0
+ *_UCBxTXBUF = TxData[0];
+ __delay_cycles(5000);
+ if(*_UCBxIFG & UCNACKIFG)
+ {
+ // Nack received
+ return (0);
+ }
+
+ // Send byte 1
+ *_UCBxTXBUF = TxData[1];
+ __delay_cycles(5000);
+ if(*_UCBxIFG & UCNACKIFG)
+ {
+ // Nack received
+ return (0);
+ }
+
+ // Send byte 3
+ *_UCBxTXBUF = TxData[2];
+
+ //Poll for transmit interrupt flag.
+ timeout = 10000;
+ while ((!(*_UCBxIFG & UCTXIFG)) && (--timeout>0));
+ if (timeout==0)
+ {
+ // Error
+ return (0);
+ }
+
+ //Send stop condition.
+ *_UCBxCTL1 |= UCTXSTP;
+
+ return (1);
+
+}
+
+#pragma optimize = low
+// Generic receive function
+short dcdc_Receive(unsigned int *data_read)
+{
+ unsigned char RxBuffer[2];
+ unsigned int timeout;
+ unsigned int val;
+
+ timeout = 10000;
+ while ((*_UCBxCTL1 & UCTXSTP) && (--timeout>0)); // Ensure stop condition got sent
+ if (timeout==0)
+ {
+ // Slave did not send in time
+ return (0);
+ }
+
+ *_UCBxCTL1 &= ~UCTR; // Master receives
+ *_UCBxCTL1 |= UCTXSTT; // Start transmit enable
+
+ // Receive byte 0
+ timeout = 10000;
+ while ((((*_UCBxIFG&UCRXIFG)==0)) && (--timeout>0));
+ if (timeout==0)
+ {
+ // Slave did not send in time
+ return (0);
+ }
+ *_UCBxIFG &= ~UCRXIFG;
+ RxBuffer[0] = (unsigned char)*_UCBxRXBUF; // Read RX buffer byte
+
+ // Receive byte 1
+ *_UCBxCTL1 |= UCTXSTP; // Generate I2C stop condition
+ timeout = 10000;
+ while ((*_UCBxCTL1& UCTXSTP) && (--timeout>0)); // Wait for Stop
+ if (timeout==0)
+ {
+ // Slave did not send in time
+ return (0);
+ }
+ timeout = 10000;
+ while ((((*_UCBxIFG&UCRXIFG)==0)) && (--timeout>0)); // Wait for byte RX
+ if (timeout==0)
+ {
+ // Slave did not send in time
+ return (0);
+ }
+ RxBuffer[1] = (unsigned char)*_UCBxRXBUF; // Read RX buffer byte
+
+ val = ((unsigned int) RxBuffer[0])<<8 ;
+ val += ((unsigned int) RxBuffer[1]);
+ *data_read=val;
+
+ return (1);
+}
diff --git a/Bios/src/dcdc/FetDcdc.h b/Bios/src/dcdc/FetDcdc.h
new file mode 100644
index 0000000..bb065ae
--- /dev/null
+++ b/Bios/src/dcdc/FetDcdc.h
@@ -0,0 +1,94 @@
+/*
+ * FetDcdc.h
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULBIOS
+//! \file FetDcdc.h
+//! \brief
+//!
+//! \author Berenbrinker Florian 02/01/2012)
+#ifndef _FetDcdc_H_
+#define _FetDcdc_H_
+
+#define CMD_CONFIGURE 0x01
+#define CMD_SETPWM 0x02
+#define CMD_CALLOAD 0x03
+#define CMD_POWERDOWN 0x04
+
+// Defines
+#define SDIO_SLAVE_ADDRESS (0x8200)
+#define SDIO_POWERDOWN_KEY (0x5a5a)
+#define SDIO_DELAY_AFTER_SENDING (1000u)
+
+struct calibrationResistors
+{
+ unsigned long time;
+ unsigned long ticks;
+ unsigned short resistor;
+};
+typedef struct calibrationResistors calibrationResistors_t;
+
+struct calibrationValues
+{
+ unsigned short vcc;
+ calibrationResistors_t resValues[5];
+ unsigned short valid;
+};
+typedef struct calibrationValues calibrationValues_t;
+
+struct DCDC_INFOS
+{
+ short (*getSubMcuVersion)(void);
+ short (*getLayerVersion)(void);
+ short (*dcdcCalibrate)(unsigned short resistor[4], unsigned short resCount, unsigned short vcc);
+ short (*dcdcPowerDown)(void);
+ short (*dcdcSetVcc)(unsigned short vcc);
+ short (*dcdcRestart)(unsigned short fetType_);
+ void (*dcdc_getCalibrationValues)(unsigned short vcc, unsigned short resistor, unsigned short resCount, unsigned long *ticks, unsigned long *time);
+ short (*getLayerVersionCmp)(void);
+};
+typedef struct DCDC_INFOS DCDC_INFOS_t;
+
+void dcdc_Init(DCDC_INFOS_t* dcdcInfos_Pointer);
+short dcdc_Calibrate(unsigned short resistor[5], unsigned short resCount, unsigned short vcc);
+short dcdc_PowerDown();
+short dcdc_SetVcc(unsigned short vcc);
+short dcdc_getSubMcuVersion();
+short dcdc_getLayerVersion();
+short dcdc_getLayerVersionCmp();
+short dcdc_Restart(unsigned short fetType_);
+short dcdc_Send(unsigned int cmd, unsigned int data);
+short dcdc_Receive(unsigned int *data_read);
+void dcdc_getCalibrationValues(unsigned short vcc, unsigned short resistor, unsigned short resCount, unsigned long *ticks, unsigned long *time);
+#endif
diff --git a/Bios/src/dcdc/cstartup_dcdc.s43 b/Bios/src/dcdc/cstartup_dcdc.s43
new file mode 100644
index 0000000..341944a
--- /dev/null
+++ b/Bios/src/dcdc/cstartup_dcdc.s43
@@ -0,0 +1,453 @@
+/* --------------------------------------------------------------------------
+* Copyright 2012, IAR Systems AB.
+*
+* This source code is the property of IAR Systems. The source code may only
+* be used together with the IAR Embedded Workbench. Redistribution and use
+* in source and binary forms, with or without modification, is permitted
+* provided that the following conditions are met:
+*
+* - Redistributions of source code, in whole or in part, must retain the
+* above copyright notice, this list of conditions and the disclaimer below.
+*
+* - IAR Systems name may not be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*
+*
+* $Revision: 5271 $
+* ------------------------------------------------------------------------*/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+#ifdef DISABLE_WATCHDOG
+#include "msp430.h"
+#endif
+
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+ // The CPU40 warning is issued when a Jxx instruction is place
+ // at the end of a segment part. However, this case is safe,
+ // as we have control of what will be placed right after the
+ // instruction.
+ SUPPRESS_CPU40_WARNING
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+
+// ---------------------------------------------------------
+// System initialization.
+//
+ RSEG DATA16_N
+saved_stack DS 2
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+#endif
+
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+
+ MOV SP, saved_stack
+
+ pushx R4
+ pushx R5
+ pushx R6
+ pushx R7
+ pushx R8
+ pushx R9
+ pushx R10
+ pushx R11
+ pushx R12
+ pushx R13
+ pushx R14
+ pushx R15
+
+ //MOV #SFE(CSTACK), SP
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XCALL #__low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ MOV #SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XCALL #__data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ MOVA #SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XCALL #__data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XCALL #__data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ MOV #SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XCALL #__data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XCALL #__data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ MOVA #SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XCALL #__data20_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+#endif // MSP430X
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+#ifdef REGISTER_MODEL_REG20
+
+ MOVA #SFB DIFUNCT, CW0
+ MOVA #SFE DIFUNCT, CW1
+
+#else /* REGISTER_MODEL_REG20 */
+
+ MOV.W #SFB DIFUNCT, CW0
+ MOV.W #SFE DIFUNCT, CW1
+
+#endif /* REGISTER_MODEL_REG20 */
+
+ XCALL #__call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+ EXTERN dcdc_Init
+ EXTERN exit
+
+?cstart_call_main:
+
+ popx R15
+ popx R14
+ popx R13
+ popx R12
+ popx R11
+ popx R10
+ popx R9
+ popx R8
+ popx R7
+ popx R6
+ popx R5
+ popx R4
+
+ movx.a #dcdc_Init, PC
+ MOV saved_stack,SP
+ //XRET // indicates that the normal
+ //XCALL #exit
+
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC32 __program_start
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// ?CPU30_OFFSET
+//
+// The compiler compensates for the CPU30 hardware bug by adding or
+// subtracting the symbol ?CPU30_OFFSET from certain immediates. Here,
+// it is defined to the default value zero (0), for when the device is
+// not affected by CPU30. If the device is affected, the value must be
+// set to two (2) using a linker command line override:
+//
+// -D?CPU30_OFFSET=2.
+//
+// The override is normally placed in the device-specific .xcl file.
+
+ MODULE ?cpu30_offset
+
+ PUBLIC ?CPU30_OFFSET
+
+?CPU30_OFFSET EQU 0
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/fpga_update/DirectC/README.txt b/Bios/src/fpga_update/DirectC/README.txt
new file mode 100644
index 0000000..f3776e5
--- /dev/null
+++ b/Bios/src/fpga_update/DirectC/README.txt
@@ -0,0 +1,25 @@
+Please download DirectC from http://www.actel.com/download/program_debug/directc/dc27.aspx
+
+Place the following files in this directory.
+
+dpalg.c
+dpalg.h
+dpchain.c
+dpchain.g
+dpcom.c
+dpcom.h
+dpcore.c
+dpcore.h
+dpdef.h
+dpfrom.c
+dpfrom.h
+dpjtag.c
+dpjtag.h
+dpnvm.c
+dpnvm.h
+dpsecurity.c
+dpsecurity.h
+dpuser.c
+dpuser.h
+dputil.c
+dputil.h
diff --git a/Bios/src/fpga_update/FpgaUpdate.c b/Bios/src/fpga_update/FpgaUpdate.c
new file mode 100644
index 0000000..93fb6a7
--- /dev/null
+++ b/Bios/src/fpga_update/FpgaUpdate.c
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2013 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "dpuser.h"
+#include "dpalg.h"
+#include "dpdef.h"
+#include "FpgaVersion.h"
+#include "fpga_top.h"
+#include "arch.h"
+
+unsigned char UpdateFpga(void);
+void configureJtagPort(void);
+
+const unsigned short fpga_Version_ @ "FPGAVERSION" = FPGA_VERSION;
+#pragma required=fpga_Version_
+const unsigned long fpga_Signature_ @ "HALSIGNATURE" = FPGA_SIGNATURE;
+#pragma required=fpga_Signature_
+
+#pragma required=UpdateFpga
+unsigned char UpdateFpga(void)
+{
+ DPUCHAR status;
+
+ // Configure JTAG port for communication with FPGA
+ configureJtagPort();
+
+ // Select FPGA programming through GPIO pins
+ hardware_interface = GPIO_SEL;
+ enable_mss_support = FALSE;
+
+ // Set the fpga bitstream as image for programming via DirectC
+ image_buffer = (DPUCHAR*)top;
+
+ // Start programming
+ // At first, verify whether the FPGA already contains the correct bitstream
+ Action_code = DP_VERIFY_ACTION_CODE;
+ status = dp_top();
+
+ if(status != DPE_SUCCESS) // If verification fails, the FPGA needs to be reprogrammed
+ {
+
+ // Erase FPGA memory
+ Action_code = DP_ERASE_ACTION_CODE;
+ status = dp_top();
+ if(status != DPE_SUCCESS)
+ {
+ return status;
+ }
+
+ // Program FPGA bitstream
+ Action_code = DP_PROGRAM_ACTION_CODE;
+ status = dp_top();
+ if(status != DPE_SUCCESS)
+ {
+ return status;
+ }
+
+ // Verify FPGA memory
+ Action_code = DP_VERIFY_ACTION_CODE;
+ status = dp_top();
+ if(status != DPE_SUCCESS)
+ {
+ return status;
+ }
+ }
+
+ // Reset the FPGA
+ P9OUT |= BIT4;
+ __delay_cycles(100);
+ P9OUT &= ~BIT4;
+
+ return status;
+}
+
+void configureJtagPort(void)
+{
+ *(_Jtag_FPGA.DIRECTION) = _Jtag_FPGA.TCK |
+ _Jtag_FPGA.TMS |
+ _Jtag_FPGA.TDI |
+ _Jtag_FPGA.TST;
+}
diff --git a/Bios/src/fpga_update/FpgaVersion.h b/Bios/src/fpga_update/FpgaVersion.h
new file mode 100644
index 0000000..5f04661
--- /dev/null
+++ b/Bios/src/fpga_update/FpgaVersion.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2013 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _FPGA_VERSION_H_
+#define _FPGA_VERSION_H_
+
+#define FPGA_VERSION 0x016
+#define FPGA_SIGNATURE 0xADACADAC
+
+#endif /* _FPGA_VERSION_H_ */
diff --git a/Bios/src/fpga_update/cstartup_fpgaUpdate.s43 b/Bios/src/fpga_update/cstartup_fpgaUpdate.s43
new file mode 100644
index 0000000..77a1e51
--- /dev/null
+++ b/Bios/src/fpga_update/cstartup_fpgaUpdate.s43
@@ -0,0 +1,415 @@
+/* --------------------------------------------------------------------------
+* Copyright 2012, IAR Systems AB.
+*
+* This source code is the property of IAR Systems. The source code may only
+* be used together with the IAR Embedded Workbench. Redistribution and use
+* in source and binary forms, with or without modification, is permitted
+* provided that the following conditions are met:
+*
+* - Redistributions of source code, in whole or in part, must retain the
+* above copyright notice, this list of conditions and the disclaimer below.
+*
+* - IAR Systems name may not be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*
+*
+* $Revision: 5271 $
+* ------------------------------------------------------------------------*/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+#ifdef DISABLE_WATCHDOG
+#include "msp430.h"
+#endif
+
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+
+// ---------------------------------------------------------
+// System initialization.
+//
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+#endif
+ pushx R4
+ pushx R5
+ pushx R6
+ pushx R7
+ pushx R8
+ pushx R9
+ pushx R10
+ pushx R11
+ pushx R12
+ pushx R13
+ pushx R14
+ pushx R15
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+// no stack pointer, stack pointer is administered from bios
+// MOV #SFE(CSTACK), SP
+
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XCALL #__low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+ NOP
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ MOV #SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XCALL #__data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ MOVA #SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XCALL #__data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XCALL #__data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ MOV #SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XCALL #__data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XCALL #__data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ MOVA #SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XCALL #__data20_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+#endif // MSP430X
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+#ifdef REGISTER_MODEL_REG20
+
+ MOVA #SFB DIFUNCT, CW0
+ MOVA #SFE DIFUNCT, CW1
+
+#else /* REGISTER_MODEL_REG20 */
+
+ MOV.W #SFB DIFUNCT, CW0
+ MOV.W #SFE DIFUNCT, CW1
+
+#endif /* REGISTER_MODEL_REG20 */
+
+ XCALL #__call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+ EXTERN UpdateFpga
+?cstart_call_main:
+// XCALL
+ popx R15
+ popx R14
+ popx R13
+ popx R12
+ popx R11
+ popx R10
+ popx R9
+ popx R8
+ popx R7
+ popx R6
+ popx R5
+ popx R4
+
+ movx.a #UpdateFpga,PC
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC32 __program_start
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/fpga_update/fpga_top.h b/Bios/src/fpga_update/fpga_top.h
new file mode 100644
index 0000000..551c957
--- /dev/null
+++ b/Bios/src/fpga_update/fpga_top.h
@@ -0,0 +1,10865 @@
+/*
+ * Copyright (C) 2007 - 2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/* http://srecord.sourceforge.net/ */
+const unsigned char top[] =
+{
+0x44, 0x65, 0x73, 0x69, 0x67, 0x6E, 0x65, 0x72, 0x20, 0x31, 0x31, 0x2E,
+0x35, 0x2E, 0x33, 0x2E, 0x31, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+0x45, 0x9D, 0xFA, 0x01, 0x00, 0x00, 0x00, 0xCF, 0x21, 0xA5, 0x03, 0x01,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xFF, 0xFF, 0xFB,
+0x06, 0x04, 0xDC, 0x04, 0x34, 0x02, 0x00, 0x00, 0x06, 0x01, 0x7B, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x84, 0x00, 0x00, 0x00, 0x47,
+0x00, 0x00, 0x00, 0x03, 0xCB, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x04, 0xCF, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0xD3, 0x00,
+0x00, 0x00, 0x60, 0xF9, 0x01, 0x00, 0x06, 0x33, 0xFA, 0x01, 0x00, 0x68,
+0x00, 0x00, 0x00, 0x87, 0xFD, 0xA5, 0x3F, 0x9C, 0x1F, 0x66, 0x02, 0x01,
+0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x99, 0xFF, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00,
+0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x40, 0x00,
+0x40, 0x00, 0x10, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20,
+0x00, 0x00, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
+0x40, 0x00, 0x40, 0x00, 0x10, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x20, 0x00, 0x00, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00,
+0x02, 0x00, 0x40, 0x00, 0x40, 0x00, 0x10, 0x00, 0x08, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00,
+0x08, 0x00, 0x02, 0x00, 0x40, 0x00, 0x40, 0x00, 0x10, 0x00, 0x08, 0x02,
+0x00, 0x00, 0x00, 0x6D, 0x93, 0xB6, 0x06, 0x00, 0x00, 0xCC, 0xFF, 0xFF,
+0x9F, 0x24, 0x49, 0x52, 0x93, 0xA4, 0x49, 0x06, 0x00, 0x00, 0xF8, 0xFF,
+0xFF, 0x7F, 0x49, 0x92, 0xE4, 0x6D, 0xDB, 0xB6, 0x00, 0x00, 0x00, 0xF0,
+0xFF, 0xFF, 0x8F, 0x24, 0x49, 0x12, 0xDA, 0xA6, 0x69, 0x00, 0x00, 0x00,
+0xF0, 0xFF, 0xFF, 0x0F, 0x49, 0x92, 0x24, 0x6D, 0xDA, 0xA6, 0x00, 0x00,
+0x00, 0xF0, 0xFF, 0xFF, 0x8F, 0x24, 0x49, 0x12, 0xDA, 0xA6, 0x6D, 0x00,
+0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x0F, 0x49, 0x92, 0x24, 0x69, 0x93, 0x24,
+0x02, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x9F, 0x24, 0x49, 0x72, 0xDB, 0x24,
+0x69, 0x02, 0x00, 0x00, 0xF9, 0xFF, 0xFF, 0x1B, 0x49, 0x92, 0x64, 0x00,
+0x00, 0x00, 0x91, 0x24, 0x49, 0x62, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x49, 0x92, 0x80, 0x24, 0x49, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x42, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x90, 0x24, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x42, 0x92, 0x24,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x90, 0x24,
+0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x91, 0x24, 0x49, 0x40,
+0x92, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92,
+0x90, 0x24, 0x49, 0x02, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x01, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x92,
+0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x49, 0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x4D, 0xD2, 0xB6, 0x96, 0x24, 0x4B, 0x0E, 0x49, 0x92,
+0x94, 0x00, 0x00, 0x40, 0x93, 0xB4, 0x6D, 0x2E, 0x49, 0xB6, 0x59, 0x92,
+0x24, 0x79, 0x00, 0x00, 0xC0, 0x6D, 0xDB, 0xB6, 0xB0, 0x2D, 0xCB, 0x22,
+0x49, 0x92, 0x04, 0x00, 0x00, 0x00, 0xDB, 0xB6, 0x6D, 0x6C, 0xDB, 0xB6,
+0x41, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x6D, 0xDB, 0xB6, 0xB0, 0x2D,
+0xDB, 0x22, 0x49, 0x92, 0x04, 0x00, 0x00, 0x00, 0xDB, 0xB6, 0x6D, 0x6C,
+0xD9, 0x96, 0x41, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x6D, 0x93, 0x24,
+0xB6, 0x25, 0xC9, 0x2E, 0x49, 0x92, 0x1C, 0x00, 0x00, 0x60, 0xDB, 0x26,
+0x69, 0x66, 0x4B, 0x92, 0x49, 0x92, 0x24, 0x19, 0x00, 0x00, 0x60, 0x69,
+0x9B, 0x24, 0xB7, 0x6D, 0xD9, 0x4E, 0xDB, 0xB6, 0x9D, 0x6D, 0x9B, 0x76,
+0xDB, 0x26, 0x49, 0x66, 0xDB, 0x92, 0xD8, 0xB6, 0x6D, 0x7B, 0xDA, 0x36,
+0xC9, 0x49, 0x92, 0x24, 0x95, 0x64, 0x59, 0x62, 0xDB, 0xB6, 0x8D, 0x49,
+0x9A, 0x26, 0x92, 0x24, 0x49, 0x24, 0x49, 0x92, 0xD0, 0xB6, 0x6D, 0x4B,
+0x92, 0x24, 0x09, 0x49, 0x92, 0x24, 0x95, 0x64, 0x49, 0x62, 0xDB, 0xB6,
+0x8D, 0x49, 0x9A, 0x24, 0x92, 0x24, 0x49, 0x24, 0x4B, 0xB2, 0xD0, 0xB6,
+0x6D, 0x4B, 0xD2, 0x24, 0x0D, 0x49, 0xDA, 0x36, 0x93, 0x6C, 0x5B, 0x6E,
+0xDB, 0xB6, 0x1D, 0x49, 0xDB, 0x66, 0x92, 0xB4, 0x4D, 0x2E, 0xD9, 0xB6,
+0xD9, 0xB6, 0x6D, 0x5B, 0x93, 0xB6, 0x6D, 0x00, 0x00, 0x00, 0x20, 0x49,
+0x92, 0x20, 0x80, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x48,
+0x92, 0x24, 0x81, 0x24, 0x41, 0x02, 0x01, 0x80, 0x24, 0x00, 0x00, 0x00,
+0x24, 0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x24, 0x41, 0x10, 0x00, 0x00,
+0x00, 0x48, 0x92, 0x24, 0x11, 0x00, 0x41, 0x00, 0x49, 0x92, 0x24, 0x00,
+0x00, 0x00, 0x24, 0x49, 0x92, 0x00, 0x10, 0x00, 0x01, 0x24, 0x41, 0x12,
+0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x11, 0x00, 0x01, 0x00, 0x09, 0x92,
+0x20, 0x00, 0x00, 0x80, 0x24, 0x49, 0x92, 0x40, 0x80, 0x24, 0x81, 0x24,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x00, 0x20, 0x49, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x08, 0x00, 0x80, 0x24, 0x01, 0x00, 0x00, 0x00,
+0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x24, 0x49, 0x90, 0x08, 0x00,
+0x00, 0x00, 0x49, 0x92, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x04, 0x40, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x40, 0x00,
+0x10, 0x20, 0x49, 0x02, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x10,
+0x00, 0x00, 0x48, 0x12, 0x08, 0x00, 0x00, 0x00, 0x49, 0x92, 0x64, 0x00,
+0x00, 0x00, 0x15, 0x49, 0xDA, 0x4E, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x80, 0x26, 0x81, 0x24, 0x49, 0x42, 0x24, 0x00,
+0x80, 0x00, 0x00, 0x00, 0xB5, 0x6D, 0xDB, 0x42, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x9B, 0xA6, 0x91, 0x24, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x69, 0x9B, 0x42, 0x92, 0x24,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x9B, 0xB6, 0x91, 0x24,
+0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x4D, 0x92, 0x4C,
+0x92, 0x24, 0x01, 0x00, 0x24, 0x21, 0x00, 0x00, 0x00, 0x6C, 0x93, 0xA4,
+0x91, 0x24, 0x49, 0x02, 0x00, 0x49, 0x02, 0xDA, 0xB6, 0x6D, 0x78, 0xB2,
+0x6D, 0x97, 0x24, 0x49, 0x62, 0xFF, 0xFF, 0xFF, 0xB6, 0x6D, 0xDB, 0xF1,
+0x7F, 0xDB, 0x26, 0x49, 0x92, 0x84, 0xDB, 0xFF, 0x3F, 0xDB, 0xB6, 0x6D,
+0xD8, 0xB6, 0x6D, 0x93, 0x24, 0x49, 0xC2, 0xFF, 0xFF, 0x3F, 0xB6, 0x6D,
+0xDB, 0xB4, 0x6D, 0xDB, 0x22, 0x49, 0x92, 0xC4, 0xFF, 0xFF, 0x3F, 0xDB,
+0xB6, 0x6D, 0xD8, 0xB6, 0x6D, 0x93, 0x24, 0x49, 0xC2, 0xFF, 0xFF, 0x3F,
+0xB6, 0x6D, 0xDB, 0xB4, 0x6D, 0xDB, 0x22, 0x49, 0x92, 0xC4, 0xFF, 0xFF,
+0x3F, 0xDB, 0xB6, 0x6D, 0xD8, 0xB6, 0x6D, 0x95, 0x24, 0x49, 0xE2, 0xFF,
+0xDB, 0xDE, 0xB6, 0x6D, 0x9B, 0xB5, 0x6D, 0xDB, 0x26, 0x49, 0x92, 0xC4,
+0xFF, 0xB6, 0x1D, 0xDA, 0xB6, 0x6D, 0xCD, 0xD6, 0xB6, 0xD9, 0xB6, 0x6D,
+0xFB, 0x49, 0xB6, 0xED, 0xF6, 0x6D, 0xDB, 0xDD, 0xA6, 0x6D, 0xAF, 0x6D,
+0xDB, 0xC6, 0x92, 0x6C, 0xDB, 0xDB, 0xB6, 0x6D, 0x6D, 0xDB, 0xB6, 0xD1,
+0xB6, 0x6D, 0x4B, 0xDB, 0xB6, 0x2D, 0xB6, 0x6D, 0xDB, 0xD8, 0xB6, 0x6D,
+0xB3, 0x6D, 0xDB, 0xC6, 0xB6, 0x6D, 0x1B, 0xDB, 0xB6, 0x6D, 0x6D, 0xDB,
+0xB6, 0xD1, 0xB6, 0x6D, 0x4B, 0xDB, 0xB6, 0x2D, 0xB6, 0x6D, 0xDB, 0xD8,
+0xB6, 0x6D, 0xB3, 0x6D, 0xDB, 0xC6, 0xB6, 0x6D, 0x1B, 0xDB, 0xB6, 0x6D,
+0x6D, 0x9B, 0xA4, 0xDB, 0xB6, 0x6D, 0x73, 0xDB, 0x92, 0xEC, 0xB6, 0x6D,
+0x9F, 0xD9, 0x26, 0x49, 0xBF, 0x6D, 0xDB, 0xC6, 0xB6, 0x24, 0x79, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x04, 0x02, 0x00, 0x00, 0x12, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x30, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x40, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x04, 0x01, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25,
+0x4B, 0x92, 0x24, 0x41, 0x92, 0x28, 0x48, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x00, 0x24, 0x4A, 0x90, 0x24, 0x41, 0x90, 0x24, 0x79, 0x92, 0x24,
+0x89, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x60, 0x59, 0x96, 0x04, 0x49,
+0x92, 0x24, 0x49, 0x92, 0x2C, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0xB2,
+0x0C, 0x49, 0x92, 0x24, 0x4B, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0xB2,
+0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x20, 0x4A, 0x92, 0x24,
+0x41, 0x92, 0x64, 0x59, 0x92, 0x24, 0x09, 0x25, 0x4B, 0x92, 0x20, 0x41,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x79, 0x82, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x60, 0x59, 0x96, 0x04, 0x08, 0x82, 0x24, 0x49, 0x92,
+0x2C, 0x48, 0x92, 0x04, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0xB2, 0x0C, 0x49, 0x12, 0x04,
+0x4B, 0x92, 0x24, 0x40, 0x92, 0x24, 0x41, 0xB2, 0x24, 0x49, 0x12, 0x24,
+0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x64, 0x59,
+0x92, 0x24, 0x08, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0x82, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x20, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x48, 0x82, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x90, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x24, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x58, 0x21, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02,
+0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x08, 0x82, 0x04, 0x09, 0x12, 0x28, 0x49, 0x02,
+0x04, 0x49, 0x90, 0x20, 0x49, 0x02, 0x00, 0x48, 0x02, 0x24, 0x40, 0x02,
+0x24, 0x59, 0x82, 0x24, 0x89, 0x24, 0x41, 0x92, 0x00, 0x01, 0x10, 0x20,
+0x09, 0x92, 0x04, 0x01, 0x12, 0x04, 0x49, 0x92, 0x24, 0x48, 0x00, 0x04,
+0x40, 0x12, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x82, 0x00, 0x01,
+0x10, 0x20, 0x49, 0x92, 0x04, 0x41, 0x12, 0x24, 0x48, 0x82, 0x24, 0x40,
+0x00, 0x24, 0x40, 0x92, 0x24, 0x49, 0x92, 0x24, 0x08, 0x24, 0x49, 0x82,
+0x00, 0x01, 0x90, 0x28, 0x49, 0x92, 0x04, 0x41, 0x12, 0x64, 0x49, 0x92,
+0x24, 0x42, 0x80, 0x00, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24,
+0x00, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x00, 0x49, 0x92, 0x64,
+0x48, 0x80, 0x04, 0x48, 0x92, 0x24, 0x41, 0x82, 0x04, 0x59, 0x00, 0x24,
+0x81, 0x20, 0x49, 0x02, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x08,
+0x92, 0x24, 0x49, 0x82, 0x20, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x20, 0x41, 0x92,
+0x04, 0x49, 0x12, 0x24, 0x41, 0x80, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92,
+0x04, 0x49, 0x90, 0x24, 0x09, 0x04, 0x09, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x02, 0x00, 0x00,
+0x90, 0x24, 0x49, 0x52, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x0C, 0x00,
+0x00, 0x10, 0x49, 0x92, 0x64, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x02,
+0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92,
+0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x91, 0x24,
+0x49, 0x02, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00,
+0x91, 0x24, 0x49, 0x02, 0x00, 0x00, 0x90, 0x24, 0x49, 0x52, 0x00, 0x00,
+0x00, 0x24, 0x49, 0x92, 0x0C, 0x00, 0x00, 0x10, 0x49, 0x92, 0x64, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x12, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x20, 0x00, 0x00, 0x00, 0x48,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x01, 0x10, 0x02, 0x00, 0x00, 0x49, 0x92, 0x24, 0x03, 0x00,
+0x00, 0x48, 0x92, 0x24, 0x39, 0x00, 0x00, 0x80, 0x92, 0x24, 0x49, 0x00,
+0x00, 0x00, 0x90, 0x24, 0x49, 0x22, 0x00, 0x00, 0x00, 0x48, 0x82, 0x24,
+0x21, 0x00, 0x00, 0x00, 0x92, 0x20, 0x89, 0x00, 0x08, 0x00, 0x92, 0x24,
+0x49, 0x04, 0x40, 0x00, 0x80, 0x24, 0x48, 0x02, 0x00, 0x00, 0x00, 0x48,
+0x80, 0x04, 0x81, 0x04, 0x4A, 0x00, 0x92, 0x20, 0x89, 0x24, 0x48, 0x02,
+0x92, 0x24, 0x49, 0x24, 0x49, 0x92, 0x80, 0x24, 0x48, 0x02, 0x40, 0x00,
+0x04, 0x48, 0x80, 0x04, 0xA3, 0x04, 0x48, 0x00, 0x92, 0x20, 0xB9, 0x24,
+0x48, 0x02, 0x92, 0x24, 0x49, 0x24, 0x49, 0x92, 0x88, 0x24, 0x48, 0x02,
+0x42, 0x00, 0x04, 0x00, 0x00, 0x00, 0x93, 0x24, 0x49, 0x0A, 0x00, 0x00,
+0xA0, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x25, 0x49, 0x92, 0x08, 0x00,
+0x00, 0x10, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x24, 0x41, 0x12, 0x00, 0x00, 0x00, 0x20, 0x09, 0x92,
+0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x11, 0x20,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x92, 0x20, 0x00, 0x00, 0x00,
+0x13, 0x20, 0x01, 0x02, 0x00, 0x00, 0x20, 0x00, 0x01, 0x10, 0x00, 0x00,
+0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x09, 0x92, 0x20, 0x24,
+0x49, 0x92, 0x00, 0x00, 0x00, 0x20, 0x49, 0x92, 0x14, 0x00, 0x00, 0x00,
+0x49, 0x92, 0x24, 0x02, 0x00, 0x00, 0x40, 0x92, 0x24, 0x19, 0x00, 0x00,
+0x00, 0x24, 0xC9, 0x92, 0x00, 0x00, 0x00, 0x20, 0x49, 0x92, 0x04, 0x00,
+0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x40, 0x92, 0x24, 0x09,
+0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x00, 0x00, 0x00, 0x20, 0x49, 0x92,
+0x04, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x40, 0x92,
+0x24, 0x09, 0x00, 0x00, 0x00, 0x2C, 0xC9, 0x92, 0x00, 0x00, 0x00, 0x20,
+0x49, 0x92, 0x14, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00,
+0x40, 0x92, 0x2C, 0x19, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x01, 0x00,
+0x00, 0x20, 0x49, 0x92, 0x04, 0x00, 0x00, 0x40, 0x49, 0x92, 0x24, 0x00,
+0x00, 0x00, 0x44, 0x92, 0x24, 0x19, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92,
+0x01, 0x00, 0x00, 0x20, 0x49, 0x92, 0x04, 0x00, 0x00, 0x00, 0x49, 0x92,
+0x24, 0x00, 0x00, 0x00, 0x40, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x01, 0x00, 0x00, 0x20, 0x49, 0x92, 0x04, 0x00, 0x00, 0x00,
+0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x40, 0x92, 0x2C, 0x09, 0x00, 0x00,
+0x00, 0x24, 0x49, 0x92, 0x01, 0x00, 0x00, 0x20, 0x49, 0x92, 0x04, 0x00,
+0x00, 0x40, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x44, 0x92, 0x24, 0x19,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x08, 0x02, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x08, 0x04, 0x00, 0x02, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x48, 0x96, 0x25, 0x49, 0x92, 0x2C, 0x49, 0x92,
+0x04, 0x49, 0x12, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x48, 0x92, 0x24, 0x49, 0x92, 0x20,
+0x4B, 0x92, 0x04, 0x49, 0x92, 0x24, 0x4B, 0x92, 0x24, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x04, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x96, 0x24, 0x49,
+0x92, 0x20, 0x49, 0xB6, 0x04, 0x49, 0x92, 0x24, 0x49, 0xB2, 0x24, 0x48,
+0x92, 0x24, 0x41, 0x92, 0x25, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x90,
+0x24, 0x49, 0x92, 0x6C, 0x49, 0x10, 0x04, 0x49, 0x92, 0x64, 0x49, 0x96,
+0x24, 0x4A, 0x82, 0x24, 0x51, 0x92, 0x20, 0x59, 0x92, 0x20, 0x09, 0x24,
+0x49, 0x96, 0x24, 0x49, 0x82, 0x28, 0x49, 0x92, 0x84, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x20, 0x4B, 0x92, 0x04, 0x41,
+0x92, 0x24, 0x4B, 0x92, 0x24, 0x40, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x96, 0x25, 0x49, 0x82, 0x20, 0x49, 0xB6,
+0x04, 0x49, 0x02, 0x24, 0x41, 0xA2, 0x24, 0x48, 0x12, 0x24, 0x41, 0x92,
+0x25, 0x49, 0x92, 0x20, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x68,
+0x49, 0x92, 0x04, 0x48, 0x92, 0x64, 0x49, 0x94, 0x24, 0x4A, 0x82, 0x24,
+0x51, 0x92, 0x24, 0x19, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x08,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x44, 0x49, 0x92, 0x04, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92,
+0x20, 0x09, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x04,
+0x49, 0x02, 0x24, 0x48, 0x92, 0x24, 0x01, 0x92, 0x24, 0x49, 0x92, 0x24,
+0x09, 0x24, 0x41, 0x92, 0x20, 0x09, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x82, 0x64, 0x41, 0x82, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x90, 0x20, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x10,
+0x00, 0x49, 0x92, 0x44, 0x49, 0x92, 0x04, 0x4A, 0x92, 0x24, 0x41, 0x12,
+0x20, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92, 0x04, 0x49, 0x92, 0x20,
+0x49, 0x80, 0x04, 0x49, 0x92, 0x24, 0x49, 0x82, 0x24, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x09, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x20, 0x49,
+0x90, 0x20, 0x49, 0x92, 0x04, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x48,
+0x92, 0x24, 0x40, 0x13, 0x30, 0x09, 0x92, 0x24, 0x09, 0x24, 0x41, 0x92,
+0x04, 0x49, 0x92, 0x08, 0x41, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x82,
+0x24, 0x0A, 0x92, 0x24, 0x41, 0x93, 0x34, 0x59, 0x90, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x40, 0x00, 0x10, 0x80, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x40, 0x00, 0x10, 0x00, 0x00, 0x40, 0x20, 0x04, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,
+0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x91, 0x24,
+0x49, 0x02, 0x00, 0x00, 0x90, 0x24, 0x49, 0x52, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x0C, 0x00, 0x00, 0x10, 0x49, 0x92, 0x64, 0x00, 0x00, 0x00,
+0x91, 0x24, 0x49, 0x02, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00,
+0x00, 0x24, 0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00,
+0x00, 0x00, 0x91, 0x24, 0x49, 0x02, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12,
+0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x49, 0xB2,
+0x24, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x02, 0x00, 0x00, 0x90, 0x24,
+0x49, 0x52, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x04, 0x00, 0x00, 0x10,
+0x49, 0x92, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1A, 0xA2, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x82, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20,
+0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x49,
+0x92, 0x24, 0x03, 0x00, 0x00, 0x48, 0x92, 0x24, 0x39, 0x00, 0x00, 0x80,
+0x92, 0x24, 0x49, 0x00, 0x00, 0x00, 0x98, 0x24, 0x49, 0x22, 0x00, 0x00,
+0x00, 0x41, 0x12, 0x24, 0x91, 0x04, 0x49, 0x40, 0x92, 0xA4, 0x09, 0x20,
+0x00, 0x12, 0x80, 0x04, 0x48, 0x20, 0x01, 0x92, 0x90, 0x24, 0x49, 0x02,
+0x08, 0x82, 0x04, 0x41, 0x12, 0xA4, 0x91, 0x04, 0x49, 0x42, 0x92, 0x24,
+0x0D, 0x20, 0x00, 0x10, 0x80, 0x04, 0x48, 0x20, 0x01, 0x82, 0x90, 0x24,
+0x49, 0x02, 0x08, 0x00, 0x04, 0x41, 0x13, 0x24, 0x93, 0x20, 0x09, 0x40,
+0x9A, 0x24, 0x39, 0x00, 0x01, 0x80, 0xC0, 0x04, 0x48, 0x20, 0x08, 0x02,
+0x98, 0x34, 0x49, 0x02, 0x40, 0x82, 0x00, 0x00, 0x00, 0x00, 0x93, 0x24,
+0x49, 0x02, 0x00, 0x00, 0xA0, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x25,
+0x49, 0x92, 0x00, 0x00, 0x00, 0x10, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00,
+0x01, 0x20, 0x00, 0x02, 0x00, 0x00, 0x80, 0x04, 0x49, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x10, 0x20, 0x00,
+0x80, 0x00, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x04, 0x48, 0x10, 0x00, 0x00, 0x00, 0x00, 0x41, 0x92,
+0x20, 0x00, 0x00, 0x00, 0x03, 0x04, 0x40, 0x0A, 0x00, 0x00, 0xA0, 0x24,
+0x48, 0x92, 0x00, 0x00, 0x00, 0x05, 0x61, 0x90, 0x00, 0x00, 0x00, 0x10,
+0x09, 0x10, 0x24, 0x24, 0x49, 0x92, 0x00, 0x00, 0x00, 0x20, 0x49, 0x92,
+0x14, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x40, 0x92,
+0x24, 0x19, 0x00, 0x00, 0x00, 0x04, 0x49, 0x90, 0x00, 0x00, 0x00, 0x20,
+0x48, 0x82, 0x04, 0x00, 0x00, 0x00, 0x41, 0x12, 0x24, 0x00, 0x00, 0x00,
+0x40, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x04, 0x49, 0x90, 0x00, 0x00,
+0x00, 0x20, 0x48, 0x82, 0x04, 0x00, 0x00, 0x00, 0x41, 0x12, 0x24, 0x00,
+0x00, 0x00, 0x40, 0x92, 0x24, 0x09, 0x02, 0x00, 0x00, 0x04, 0x49, 0x90,
+0x00, 0x00, 0x00, 0x20, 0x48, 0x82, 0x14, 0x00, 0x00, 0x00, 0x41, 0x12,
+0x24, 0x02, 0x00, 0x00, 0x40, 0x92, 0x24, 0x19, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x01, 0x00, 0x00, 0x20, 0x49, 0x92, 0x04, 0x00, 0x00, 0x40,
+0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x44, 0x92, 0x24, 0x19, 0x00, 0x00,
+0x00, 0x04, 0x40, 0x80, 0x01, 0x00, 0x00, 0x20, 0x01, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x08,
+0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x01, 0x00, 0x00, 0x20, 0x01, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x04, 0x00, 0x02, 0x00, 0x00, 0x04, 0x40, 0x90, 0x01, 0x00, 0x00, 0x20,
+0x01, 0x92, 0x04, 0x00, 0x00, 0x40, 0x01, 0x10, 0x24, 0x00, 0x00, 0x00,
+0x44, 0x00, 0x04, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x41,
+0x10, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x20, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x08,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x84,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x10, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x25, 0x41,
+0x82, 0x2C, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x12, 0x2C, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x20, 0x48, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x90,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x12, 0x04, 0x48, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0xC9, 0x90, 0x04, 0x49, 0x92, 0x26,
+0x4B, 0x12, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x41, 0x92, 0x24,
+0x09, 0x44, 0x49, 0x92, 0x24, 0x48, 0x92, 0x28, 0x4B, 0x92, 0x04, 0x09,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x8A, 0x92, 0x24, 0xC1, 0x12, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x2C, 0x4A, 0x82, 0x04, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x20,
+0x48, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49,
+0x92, 0x20, 0xC9, 0x92, 0x04, 0x49, 0x90, 0x24, 0x4B, 0x92, 0x24, 0x40,
+0x92, 0x24, 0x41, 0x92, 0x04, 0x49, 0x92, 0x24, 0x09, 0x64, 0x49, 0x92,
+0x25, 0x08, 0x92, 0x28, 0x4B, 0x92, 0x04, 0x41, 0x90, 0x64, 0x48, 0x92,
+0x24, 0x4A, 0x92, 0x24, 0xC1, 0x92, 0x24, 0x59, 0x90, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x08, 0x00, 0x01, 0x10, 0x00, 0x04, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x49, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x90, 0x28, 0x49, 0x12, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x20, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x24, 0x69, 0xD2, 0x04, 0x48, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x49, 0xDA, 0x36, 0x40, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x82, 0x24, 0x09, 0x24, 0x09, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x04, 0x48, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x49, 0x92, 0x04, 0x09, 0x01, 0x00, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x41, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x12, 0x04, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0x90, 0x20, 0x09,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x0A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x20, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x90, 0x00, 0x01, 0x83, 0x20, 0x49, 0x92, 0x04, 0x41, 0x11, 0x00,
+0x49, 0x92, 0x04, 0x40, 0x10, 0x00, 0x40, 0x12, 0x24, 0x49, 0x86, 0x64,
+0x00, 0x25, 0x49, 0x82, 0x20, 0x48, 0x92, 0x28, 0x49, 0x92, 0x04, 0x41,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x42, 0x90, 0x24, 0x41, 0x91, 0x24, 0x59,
+0x96, 0x64, 0x09, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x20, 0x20, 0x00, 0x22, 0x00,
+0x80, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xD9, 0xB6, 0x6D, 0x03, 0x00, 0x00, 0xD0, 0xB6, 0x6D, 0x5B,
+0x00, 0x01, 0x00, 0xB4, 0x6D, 0xDB, 0x0E, 0x40, 0x00, 0x90, 0x6D, 0xDB,
+0x76, 0x01, 0xB2, 0x44, 0x99, 0xF6, 0x4F, 0x13, 0xA1, 0xE4, 0xC1, 0xB2,
+0x49, 0x19, 0x10, 0xD8, 0x12, 0xB4, 0x2D, 0xD9, 0x82, 0x01, 0x49, 0x82,
+0x6F, 0xDB, 0x37, 0x80, 0x00, 0x01, 0xD9, 0xB6, 0x6D, 0x03, 0x04, 0x04,
+0xC1, 0xB6, 0x6D, 0x1B, 0x00, 0x40, 0x10, 0xB4, 0x6D, 0xDB, 0x82, 0x00,
+0x88, 0x80, 0x6D, 0xDB, 0x36, 0x23, 0x00, 0x00, 0x59, 0xB6, 0x6D, 0x13,
+0x00, 0x00, 0xD0, 0xB6, 0x6D, 0x5B, 0x10, 0x08, 0x00, 0xF4, 0x6D, 0xDB,
+0x1E, 0x00, 0x00, 0x90, 0x69, 0xDB, 0x76, 0xB6, 0x6D, 0xDB, 0x48, 0x92,
+0x24, 0xB1, 0x6D, 0xDB, 0x46, 0x92, 0x24, 0x29, 0x6D, 0xDA, 0xB6, 0x90,
+0x20, 0x49, 0x60, 0x9B, 0xB6, 0x95, 0x24, 0x48, 0x12, 0x96, 0xDC, 0x9B,
+0x08, 0x92, 0x04, 0xA1, 0x4C, 0x09, 0x42, 0x96, 0x00, 0x0B, 0x6C, 0x01,
+0xA0, 0x90, 0x66, 0x4B, 0xE2, 0x5A, 0xD2, 0x8C, 0x04, 0x49, 0x12, 0x36,
+0x6C, 0xCA, 0x48, 0x01, 0x04, 0xB1, 0x60, 0xCB, 0x46, 0x02, 0x04, 0x01,
+0x2D, 0x9B, 0xA6, 0x90, 0x26, 0x69, 0x62, 0xDB, 0x32, 0x8C, 0x14, 0x01,
+0x10, 0x94, 0x64, 0xDB, 0x88, 0x48, 0x24, 0x89, 0x24, 0xD9, 0x46, 0x12,
+0x30, 0x89, 0x7C, 0xC1, 0xB6, 0x90, 0x16, 0x48, 0x62, 0xDB, 0xB2, 0x1D,
+0x92, 0x4C, 0x12, 0xDB, 0xB6, 0x6D, 0x27, 0x49, 0x92, 0xD8, 0xB6, 0x6D,
+0x33, 0x49, 0x92, 0xA4, 0xB6, 0x68, 0x5B, 0x48, 0x92, 0x24, 0xB1, 0x2D,
+0xDB, 0x66, 0x92, 0x24, 0x89, 0xCA, 0x05, 0x20, 0xA1, 0x01, 0x80, 0xC0,
+0x16, 0x00, 0x0A, 0x49, 0x08, 0x30, 0x26, 0x25, 0xC9, 0x0C, 0x9A, 0x34,
+0x31, 0x64, 0x9A, 0x44, 0x90, 0x92, 0x04, 0x0B, 0x12, 0x54, 0x25, 0x49,
+0x92, 0xD0, 0x9A, 0x65, 0x09, 0x4D, 0x82, 0x20, 0xF6, 0x0D, 0xCB, 0x48,
+0x92, 0x24, 0xB1, 0x61, 0x08, 0x46, 0x90, 0x04, 0x0D, 0x69, 0x90, 0x6D,
+0x23, 0x49, 0x92, 0xC0, 0x96, 0x6C, 0x3B, 0x49, 0x92, 0x24, 0x26, 0x25,
+0xDB, 0x0C, 0x92, 0x24, 0x19, 0x04, 0xDA, 0x06, 0x92, 0x25, 0x09, 0x00,
+0x00, 0x00, 0x27, 0x49, 0x92, 0x08, 0x00, 0x00, 0x20, 0x49, 0x92, 0x24,
+0x00, 0x00, 0x00, 0x49, 0x96, 0x24, 0x09, 0x10, 0x00, 0x50, 0x92, 0x24,
+0xA9, 0x00, 0x91, 0x00, 0xA5, 0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x4D,
+0xDA, 0x36, 0x00, 0x00, 0x00, 0x4C, 0xDA, 0x36, 0x81, 0x00, 0x40, 0x40,
+0xB2, 0xB6, 0x0D, 0x00, 0x40, 0x10, 0x25, 0x4D, 0x92, 0x00, 0x00, 0x00,
+0x00, 0x6D, 0xF2, 0x24, 0x00, 0x00, 0x00, 0x48, 0x93, 0x24, 0x01, 0x00,
+0x00, 0x40, 0xB2, 0x34, 0x0D, 0x00, 0x00, 0x00, 0xA7, 0x49, 0x92, 0x00,
+0x00, 0x00, 0xA0, 0x49, 0x92, 0x24, 0x10, 0x00, 0x00, 0x4D, 0x92, 0x24,
+0x01, 0x00, 0x00, 0x50, 0x92, 0x24, 0x09, 0xFF, 0xFF, 0xFF, 0x90, 0x24,
+0x49, 0xF2, 0xEF, 0xFF, 0x97, 0x24, 0x49, 0x12, 0xFF, 0xFB, 0x7F, 0x26,
+0x49, 0x92, 0xF0, 0xEF, 0xFF, 0x3F, 0x49, 0x92, 0x04, 0xEE, 0x6C, 0xF3,
+0x10, 0x24, 0x49, 0xF2, 0x7E, 0x52, 0x8E, 0x20, 0x01, 0x00, 0x6F, 0x6F,
+0xFF, 0x20, 0x01, 0x80, 0x70, 0xF7, 0xB6, 0x0D, 0x49, 0x00, 0x20, 0x3F,
+0x3D, 0xCF, 0x90, 0x20, 0x69, 0xF2, 0xFB, 0xFB, 0x8E, 0x00, 0x09, 0x12,
+0x7F, 0xDF, 0xF6, 0x24, 0x48, 0x92, 0x70, 0xD3, 0x36, 0x0F, 0x49, 0xC2,
+0x22, 0x4E, 0xC9, 0xFF, 0x50, 0xA4, 0x49, 0xF2, 0x5F, 0xFA, 0x1F, 0x24,
+0x49, 0x12, 0x6D, 0xBB, 0xFF, 0x20, 0x49, 0x92, 0x60, 0x92, 0xFE, 0x9F,
+0x49, 0x93, 0x24, 0x00, 0x00, 0x00, 0xB5, 0x6D, 0xDB, 0x02, 0x00, 0x00,
+0x88, 0x6D, 0xDB, 0x76, 0x00, 0x04, 0x00, 0x6C, 0xDB, 0xB6, 0x05, 0x00,
+0x00, 0x58, 0xDB, 0xB6, 0xAD, 0x31, 0x02, 0x0C, 0x35, 0x2D, 0xD9, 0x02,
+0x81, 0xBF, 0x85, 0x69, 0xD3, 0x24, 0x91, 0x92, 0x04, 0x68, 0x93, 0xA4,
+0x01, 0x80, 0x25, 0x43, 0xD9, 0x24, 0x28, 0x40, 0x81, 0x20, 0xF5, 0xFD,
+0xDB, 0x02, 0x01, 0x10, 0x80, 0x69, 0xDB, 0x36, 0x00, 0x20, 0x00, 0x6C,
+0xDB, 0xB6, 0x01, 0x04, 0x45, 0x41, 0xDB, 0xB6, 0x29, 0x00, 0x0B, 0x00,
+0x35, 0x6D, 0xDB, 0x22, 0x49, 0x02, 0x80, 0x6D, 0xDB, 0x76, 0x81, 0x12,
+0x00, 0x28, 0xFB, 0xB6, 0x85, 0x21, 0x05, 0x50, 0xDB, 0xB6, 0x2D, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x01, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x80, 0x00, 0x04,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x41, 0x00, 0x08, 0x80,
+0x00, 0x02, 0x40, 0x00, 0x00, 0x90, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x10, 0x00, 0x08, 0x80, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x08, 0x80, 0x00, 0x02, 0x40, 0x00,
+0x00, 0x90, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x10, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x04, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x01, 0x00, 0x08, 0x04, 0x40, 0x00, 0x00, 0x00, 0x10, 0x80, 0x08, 0xC0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x42, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x08, 0x80, 0x80,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x82, 0x00, 0x08, 0x00, 0x00, 0x40,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x02, 0x80, 0x40, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x08, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x90, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x20, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x02,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x10, 0x08, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x01, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x00, 0x96, 0x25, 0x49, 0x92, 0x2C, 0x09, 0x82, 0x0C, 0x49, 0x92, 0x44,
+0x49, 0x86, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x19, 0x92, 0x24,
+0x89, 0x24, 0x49, 0x12, 0x25, 0x49, 0xB2, 0x00, 0x49, 0x92, 0x04, 0x49,
+0xB6, 0x24, 0x41, 0x92, 0x04, 0x48, 0x92, 0x04, 0xC1, 0x92, 0x24, 0x49,
+0x92, 0xA4, 0x09, 0x24, 0x49, 0x12, 0x85, 0x49, 0x91, 0x20, 0xC8, 0xB2,
+0x04, 0x49, 0x92, 0x2C, 0x08, 0x90, 0x2C, 0x48, 0x92, 0x04, 0x41, 0x12,
+0x24, 0x49, 0xD2, 0x64, 0x09, 0x24, 0x49, 0x96, 0x05, 0xC9, 0x90, 0x64,
+0x09, 0x84, 0x14, 0x01, 0x90, 0x24, 0x49, 0x86, 0x24, 0x4A, 0x90, 0x24,
+0x41, 0x92, 0x2C, 0x59, 0x36, 0x04, 0x09, 0x24, 0x09, 0x96, 0x24, 0x49,
+0x82, 0x28, 0x49, 0x12, 0x0C, 0x49, 0x92, 0x44, 0x49, 0x06, 0x04, 0x4A,
+0x82, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x41, 0x12,
+0x24, 0x49, 0x92, 0x00, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x09, 0x82,
+0x24, 0x48, 0x92, 0x24, 0xC1, 0x12, 0x20, 0x49, 0x90, 0x24, 0x09, 0x24,
+0x40, 0x82, 0x24, 0x49, 0x92, 0x20, 0xC9, 0xB0, 0x04, 0x49, 0x10, 0x24,
+0x48, 0x80, 0x2C, 0x48, 0x92, 0x04, 0x01, 0x12, 0x24, 0x48, 0x92, 0x24,
+0x09, 0x24, 0x48, 0x96, 0x24, 0x41, 0x82, 0x68, 0x49, 0x94, 0x14, 0x48,
+0x82, 0x24, 0x41, 0x06, 0x24, 0x4A, 0x82, 0x24, 0x41, 0x10, 0x2C, 0x49,
+0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x20, 0x00, 0x01, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x01, 0x00, 0x08, 0x80, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x80, 0x44, 0x02, 0x00, 0x00, 0x02, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x12, 0x00, 0x04, 0x80, 0x08, 0x42, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x80, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x90, 0x00, 0x00, 0x00, 0x01, 0x08, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x01, 0x12, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x24, 0xD9, 0x92, 0x24, 0x69, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0xB2, 0x24, 0x4A, 0xD2, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x82, 0x24, 0x81, 0x64, 0x49, 0x92, 0x24, 0x09, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x49, 0x90, 0x04, 0x49, 0x92, 0x64, 0x40, 0x12, 0x24,
+0x41, 0x92, 0x24, 0x49, 0x12, 0x24, 0x09, 0x24, 0x49, 0x92, 0x20, 0x41,
+0x92, 0x20, 0x49, 0x92, 0x05, 0x49, 0x91, 0x04, 0x49, 0xD2, 0x24, 0x40,
+0x1A, 0x24, 0x41, 0x92, 0x25, 0x49, 0x92, 0x04, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x20, 0xC9, 0x92, 0x14, 0x49, 0x90, 0x04, 0xC9, 0x92,
+0x24, 0x42, 0x92, 0x24, 0x41, 0x92, 0x25, 0x19, 0x92, 0x24, 0x09, 0x24,
+0xD9, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x00, 0x49, 0x92, 0x44,
+0x49, 0xB2, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x64, 0x49, 0x92, 0x24, 0x09, 0x90, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x90, 0x04, 0x48, 0x92, 0x64, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x04, 0x08, 0x24, 0x49, 0x92, 0x00, 0x01, 0x10, 0x20, 0x48, 0x92,
+0x05, 0x4D, 0x80, 0x04, 0x49, 0x92, 0x24, 0x48, 0x12, 0x04, 0x41, 0x92,
+0x25, 0x49, 0x80, 0x04, 0x08, 0x24, 0x49, 0x92, 0x00, 0x01, 0x90, 0x28,
+0xC9, 0x12, 0x14, 0x49, 0x93, 0x64, 0xC9, 0x92, 0x24, 0x48, 0xD2, 0x24,
+0x41, 0x92, 0x25, 0x49, 0x80, 0x04, 0x09, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x24, 0x40, 0x82, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20,
+0x01, 0x00, 0x00, 0x00, 0x24, 0x48, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x12, 0x20, 0x00, 0x00, 0x14, 0x80, 0xD8, 0xE6, 0x6D, 0x01, 0xC0, 0x00,
+0xD0, 0xB6, 0x68, 0x5B, 0x00, 0x10, 0x40, 0xB4, 0x2D, 0xDB, 0x0F, 0x68,
+0x40, 0x90, 0xED, 0xDB, 0x66, 0x01, 0x80, 0x24, 0xDD, 0x36, 0xF9, 0x02,
+0x10, 0x1A, 0x8D, 0xF6, 0x25, 0x06, 0x03, 0x04, 0x24, 0xB0, 0x69, 0x0B,
+0x22, 0x30, 0x09, 0x83, 0x2D, 0xFF, 0x3A, 0x01, 0x94, 0x14, 0xD8, 0xFC,
+0x2D, 0x13, 0x88, 0x28, 0xC0, 0x96, 0xE9, 0x1B, 0x00, 0x32, 0x88, 0xB4,
+0x25, 0xF3, 0x02, 0x04, 0x22, 0x80, 0x7D, 0x5B, 0x34, 0x00, 0x01, 0x00,
+0xD9, 0x22, 0x6D, 0x03, 0x50, 0x02, 0xD0, 0xF6, 0x64, 0x5B, 0x80, 0x08,
+0x00, 0xB4, 0x6B, 0xDB, 0x06, 0x30, 0x01, 0x90, 0x8D, 0xDF, 0x76, 0xB6,
+0x71, 0x5B, 0x48, 0x82, 0x34, 0xBB, 0x2D, 0x5B, 0x46, 0x92, 0xA1, 0xA8,
+0x6D, 0xCB, 0xF2, 0x90, 0x64, 0x41, 0x60, 0x33, 0x96, 0x95, 0x04, 0x48,
+0x02, 0x93, 0x65, 0xFF, 0x08, 0x12, 0x20, 0xB0, 0x3C, 0xC1, 0x03, 0x92,
+0x6C, 0x10, 0x6C, 0x5B, 0x92, 0xC4, 0x20, 0x99, 0x42, 0xCB, 0xBF, 0x86,
+0x62, 0x49, 0x16, 0xB6, 0x38, 0xC9, 0x48, 0x01, 0x44, 0xA1, 0x25, 0xF3,
+0x06, 0x6A, 0x20, 0x05, 0x2D, 0x49, 0x3A, 0x10, 0x6A, 0x04, 0x60, 0x4D,
+0x94, 0x8C, 0x04, 0x89, 0x00, 0x96, 0x64, 0xD9, 0x48, 0x4E, 0x24, 0xB9,
+0x3D, 0xD9, 0x46, 0x1A, 0x29, 0x09, 0xED, 0xC1, 0xB6, 0x50, 0x10, 0x4D,
+0x6A, 0xE9, 0xB7, 0x9D, 0x40, 0x08, 0x12, 0xDB, 0xAA, 0x61, 0x27, 0x09,
+0x92, 0xD0, 0x36, 0x0C, 0x33, 0x49, 0x90, 0x24, 0x36, 0x65, 0x1D, 0x48,
+0x92, 0x24, 0xB8, 0x05, 0xDB, 0x6A, 0x12, 0x26, 0x88, 0xCA, 0x16, 0x08,
+0x71, 0x49, 0x00, 0x80, 0xA7, 0x25, 0x00, 0x09, 0x92, 0x00, 0xA2, 0x6C,
+0x4B, 0x40, 0x82, 0x26, 0x11, 0x6C, 0xD2, 0x45, 0x12, 0x00, 0x21, 0x5A,
+0x80, 0x57, 0x21, 0x01, 0x81, 0xC0, 0x8A, 0x00, 0x01, 0x49, 0x10, 0x24,
+0x96, 0x34, 0x01, 0x4C, 0x12, 0x1F, 0xB1, 0x51, 0x68, 0x43, 0x82, 0x26,
+0x09, 0xDB, 0x93, 0x6D, 0x27, 0x49, 0x92, 0xD0, 0x44, 0x6E, 0x3B, 0x09,
+0x92, 0xA4, 0x16, 0x64, 0xDB, 0x48, 0x90, 0x24, 0xB9, 0x14, 0xCA, 0x46,
+0x12, 0x20, 0x09, 0x00, 0x08, 0x00, 0x27, 0x49, 0x92, 0x02, 0x00, 0x00,
+0x20, 0x49, 0x93, 0x26, 0x00, 0x00, 0x04, 0x49, 0xD2, 0x34, 0x01, 0x60,
+0x00, 0x58, 0x92, 0xA6, 0xA9, 0x01, 0x00, 0x24, 0xB5, 0x69, 0x92, 0x00,
+0x11, 0x00, 0x01, 0x4D, 0xDB, 0x34, 0x00, 0x00, 0x00, 0x5C, 0x92, 0xB6,
+0x43, 0x00, 0x09, 0x42, 0xD2, 0x24, 0x2D, 0x00, 0x14, 0x02, 0x25, 0x45,
+0xD3, 0x10, 0x00, 0xA0, 0x00, 0x69, 0x92, 0x24, 0x00, 0x02, 0x00, 0x48,
+0xDB, 0x36, 0x01, 0x04, 0x00, 0x41, 0xDA, 0xA6, 0x09, 0x00, 0x00, 0x00,
+0x27, 0x4D, 0x92, 0x08, 0x10, 0x00, 0x20, 0x49, 0x9B, 0xA4, 0x80, 0x00,
+0x00, 0x49, 0xB2, 0x24, 0x01, 0x20, 0x01, 0x50, 0xD2, 0x24, 0x09, 0xFF,
+0xF3, 0x7B, 0x90, 0x24, 0x69, 0xF0, 0x3F, 0x9E, 0x97, 0x24, 0x48, 0x10,
+0x7F, 0xEB, 0x79, 0x24, 0x29, 0x82, 0xF0, 0x9F, 0xBF, 0x33, 0x49, 0x10,
+0x04, 0xEE, 0x5F, 0x9A, 0x00, 0x04, 0x49, 0xA2, 0xEE, 0xAD, 0x80, 0x20,
+0x00, 0x02, 0xEC, 0xFA, 0xCB, 0x20, 0x49, 0x00, 0x30, 0xCE, 0xF6, 0x0C,
+0x09, 0x92, 0x00, 0x3E, 0x6B, 0xC9, 0x90, 0x28, 0x08, 0xE2, 0x41, 0x5A,
+0x86, 0x04, 0x49, 0x12, 0x5F, 0xCC, 0xAC, 0x24, 0x00, 0x80, 0xF0, 0xD3,
+0x0E, 0x0E, 0x01, 0x10, 0x24, 0xFF, 0xC8, 0xFF, 0x90, 0x20, 0x49, 0xF2,
+0x0D, 0xFC, 0x9F, 0x24, 0x40, 0x12, 0x4F, 0xFA, 0xFE, 0x26, 0x49, 0x92,
+0xF0, 0x86, 0xEE, 0x1F, 0x09, 0x93, 0x24, 0x00, 0x04, 0x84, 0xB5, 0x2D,
+0xDB, 0x00, 0xC0, 0xA1, 0x88, 0x6D, 0xDA, 0x76, 0x80, 0x10, 0x00, 0x6C,
+0x9B, 0xB6, 0x04, 0x80, 0x20, 0x54, 0x5B, 0xB4, 0xAD, 0x24, 0xA8, 0x41,
+0xA1, 0x6D, 0x4B, 0x52, 0x40, 0x52, 0x8E, 0x2D, 0x93, 0x2B, 0x11, 0x81,
+0x34, 0x68, 0xDB, 0x24, 0x81, 0x10, 0x00, 0x48, 0x9B, 0x92, 0x01, 0x81,
+0x43, 0x20, 0xB5, 0x25, 0x9A, 0x02, 0x50, 0x05, 0x88, 0x4D, 0x5F, 0x36,
+0x40, 0x82, 0x46, 0xE8, 0x97, 0x8D, 0x01, 0xA2, 0x81, 0x40, 0xCB, 0x34,
+0x2D, 0x20, 0x2C, 0x02, 0xB4, 0x69, 0xDB, 0x02, 0x82, 0x00, 0x80, 0x2D,
+0xD2, 0x76, 0x00, 0x13, 0x00, 0x6C, 0xD9, 0xB6, 0x05, 0x0A, 0x00, 0x50,
+0x1B, 0xF2, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
+0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x10,
+0x20, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48, 0x12, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x20, 0x40, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x01, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x8C, 0x00, 0x00, 0x00, 0x80, 0x00, 0x09, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x01, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x02, 0x10, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x09, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00,
+0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x09, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x09, 0x02,
+0x24, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x90,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x09, 0x02, 0x26, 0x00, 0x00, 0x00,
+0x01, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x05, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x82, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x80, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x21, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00,
+0x10, 0x00, 0x10, 0x00, 0x01, 0x80, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x05, 0x40, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,
+0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x82, 0x44, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x04, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x86, 0x44, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x41, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x02, 0x09, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x84, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xC0, 0x10, 0x00, 0x04,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00,
+0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x02, 0x00, 0x24, 0x41, 0x96, 0x24, 0x49, 0x92, 0x2C, 0x09, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x28, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x58, 0x92, 0x24, 0x89, 0x04, 0x09, 0x80, 0x04, 0x49, 0x96, 0x00,
+0x49, 0x92, 0x04, 0x09, 0x92, 0x24, 0x89, 0x12, 0x00, 0x58, 0x92, 0x24,
+0x01, 0x92, 0x24, 0x08, 0x91, 0x24, 0x09, 0x00, 0x49, 0x92, 0x24, 0x49,
+0x92, 0x20, 0x40, 0x92, 0x0E, 0x41, 0x92, 0x24, 0x49, 0x92, 0x04, 0x48,
+0x92, 0x24, 0x01, 0x10, 0x20, 0x40, 0x92, 0x24, 0x09, 0x60, 0x48, 0x96,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0xC9, 0x00,
+0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x09, 0x86, 0x25, 0x49, 0x82, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x82, 0x2C, 0x4A, 0x92, 0x04, 0x41, 0x92, 0x24, 0x51, 0x92, 0x24,
+0x89, 0x24, 0x49, 0x92, 0x21, 0x09, 0x02, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0xC9, 0x90, 0x20, 0x48, 0xD0, 0x26, 0x01, 0x12, 0x20, 0x49,
+0x82, 0x04, 0x09, 0x04, 0x49, 0x92, 0x25, 0x49, 0xD2, 0x20, 0x49, 0x92,
+0x0C, 0x49, 0x92, 0x06, 0x49, 0x92, 0x04, 0x48, 0x92, 0x04, 0x01, 0x92,
+0x24, 0x48, 0x12, 0x24, 0x09, 0x64, 0x41, 0x96, 0x25, 0x48, 0x82, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x10, 0x20, 0xC9, 0x92, 0x24, 0x0E, 0x90, 0x20,
+0x41, 0x82, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00, 0x00, 0x10, 0x01, 0x00,
+0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x28,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x24, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x40, 0x80, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
+0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04,
+0x00, 0x00, 0x00, 0x40, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x24, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x58, 0x92, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0xB2, 0x2C, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92,
+0x20, 0x09, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0xB2, 0x24, 0x48, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x09, 0x12, 0x20, 0x09, 0x24,
+0x4D, 0xB2, 0x20, 0x09, 0x92, 0x20, 0x09, 0x92, 0x07, 0x49, 0x92, 0x24,
+0x49, 0x92, 0x24, 0x48, 0x92, 0x34, 0x41, 0x92, 0x24, 0x09, 0x92, 0x24,
+0x09, 0x24, 0x49, 0x92, 0x00, 0x09, 0x90, 0x20, 0x79, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x26, 0x59,
+0x92, 0x24, 0x09, 0x24, 0x59, 0x9A, 0x24, 0x49, 0x82, 0x20, 0x49, 0x90,
+0x04, 0x49, 0x10, 0x64, 0x49, 0xAA, 0x2C, 0x4A, 0x92, 0x24, 0x41, 0x12,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x20, 0x4C, 0x92, 0x24, 0x48, 0x02, 0x20,
+0x49, 0x92, 0x06, 0x01, 0x12, 0x20, 0x49, 0x9A, 0x24, 0x00, 0x82, 0x20,
+0x40, 0xD2, 0x24, 0x48, 0x12, 0x00, 0x01, 0x26, 0x49, 0xB2, 0x24, 0x40,
+0x02, 0x20, 0x0D, 0x92, 0x05, 0x01, 0x12, 0x00, 0x49, 0x13, 0x24, 0x08,
+0x02, 0x20, 0x40, 0xD2, 0x34, 0x09, 0x10, 0x00, 0x01, 0x24, 0x49, 0x92,
+0x24, 0x40, 0x92, 0x30, 0x59, 0x92, 0x00, 0x01, 0x90, 0x64, 0x49, 0x92,
+0x00, 0x0A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x19, 0x10, 0x00, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x91, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x80, 0x04, 0x00, 0x00, 0x00, 0x40, 0x10, 0x14, 0x01, 0x00,
+0x00, 0x40, 0x82, 0x24, 0x08, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x82, 0x24, 0x00, 0x00, 0x00, 0x02, 0xD8, 0xB6,
+0x45, 0x03, 0x20, 0x80, 0xD0, 0xB6, 0x6F, 0x59, 0x00, 0x0D, 0x09, 0xB4,
+0x6D, 0xDF, 0x06, 0xC0, 0x48, 0x90, 0x6D, 0x99, 0x77, 0x20, 0x88, 0x20,
+0x18, 0x96, 0xED, 0x03, 0xC1, 0x04, 0xC1, 0xB2, 0x6E, 0x13, 0x00, 0x04,
+0xE0, 0xF4, 0x5D, 0x5B, 0x82, 0x80, 0x00, 0x80, 0xEF, 0xD8, 0x36, 0x41,
+0x0C, 0x4B, 0xD1, 0x97, 0x65, 0x23, 0xA2, 0x24, 0x43, 0xE6, 0x6D, 0x1B,
+0x40, 0x44, 0x49, 0xB4, 0x7C, 0xDF, 0x12, 0x1C, 0x02, 0xC2, 0x2D, 0x9A,
+0x36, 0x41, 0x04, 0x00, 0xDD, 0xB7, 0x6D, 0x03, 0x90, 0x00, 0x90, 0xE6,
+0x6D, 0x5B, 0x41, 0x00, 0x00, 0xB0, 0x68, 0xDB, 0x1E, 0x10, 0x00, 0x90,
+0x2D, 0xDB, 0x76, 0xB6, 0x65, 0xC9, 0x48, 0x8A, 0x0C, 0xB9, 0x0D, 0x4B,
+0x46, 0x12, 0x00, 0x0B, 0x6D, 0xD0, 0xB7, 0x90, 0x00, 0x49, 0x6A, 0x1B,
+0xF6, 0x9D, 0xA4, 0x0B, 0x12, 0x96, 0x65, 0x7B, 0x80, 0xE2, 0x24, 0xB1,
+0xAC, 0xDB, 0x06, 0x96, 0x21, 0x01, 0x6D, 0x4F, 0x16, 0x80, 0x04, 0xC9,
+0xE0, 0x5B, 0xB2, 0x0C, 0x20, 0x4A, 0x12, 0xF6, 0x60, 0x00, 0x40, 0xA0,
+0x08, 0x91, 0x4D, 0x5B, 0xC0, 0x02, 0x00, 0x20, 0x2C, 0x9F, 0xB7, 0x90,
+0x21, 0x49, 0x70, 0x41, 0x90, 0x84, 0x44, 0x00, 0x13, 0xF7, 0x60, 0xDB,
+0x48, 0x48, 0x24, 0x99, 0x75, 0xD9, 0x06, 0x0A, 0x20, 0x89, 0x2C, 0xC9,
+0xB6, 0x14, 0x33, 0x49, 0x62, 0x49, 0xB6, 0x9D, 0x54, 0x44, 0x12, 0xDB,
+0xB2, 0x64, 0x27, 0x69, 0xD2, 0xD0, 0x16, 0x64, 0x3B, 0x49, 0xD0, 0xA4,
+0xB6, 0x60, 0xD2, 0x48, 0x82, 0x00, 0xB9, 0x2D, 0x03, 0x66, 0x92, 0x04,
+0x88, 0xC8, 0xAA, 0x4D, 0x25, 0x59, 0x10, 0x82, 0x76, 0x60, 0x08, 0x49,
+0x80, 0x20, 0xA0, 0x21, 0x4B, 0x08, 0x82, 0x26, 0x00, 0x8C, 0xDB, 0x42,
+0x10, 0x24, 0x0D, 0x18, 0x38, 0x02, 0x21, 0x48, 0xD2, 0xC2, 0x80, 0xA4,
+0x09, 0x21, 0x00, 0x30, 0x56, 0x00, 0x48, 0x48, 0x82, 0x00, 0xA0, 0x01,
+0x41, 0x0A, 0x8A, 0xB6, 0x05, 0x18, 0x8A, 0x6D, 0x23, 0x48, 0x92, 0xC0,
+0x80, 0x6C, 0xFB, 0x09, 0x90, 0x24, 0xD7, 0x70, 0xDB, 0x48, 0x92, 0x24,
+0xB9, 0x35, 0xD9, 0x06, 0xB2, 0x26, 0x09, 0x00, 0x08, 0x00, 0x27, 0x49,
+0xDA, 0x08, 0x00, 0x00, 0x20, 0x49, 0xD0, 0xA6, 0x00, 0x10, 0x00, 0x49,
+0x92, 0x24, 0x01, 0x90, 0x40, 0x50, 0x92, 0x26, 0x89, 0x24, 0x00, 0x20,
+0xA5, 0x69, 0x92, 0x22, 0x40, 0x00, 0x00, 0x4D, 0x93, 0x24, 0x00, 0x00,
+0x00, 0x08, 0x92, 0xA6, 0x41, 0x00, 0x00, 0x48, 0x12, 0x36, 0x0D, 0xC0,
+0x40, 0x00, 0x25, 0x69, 0xDA, 0x03, 0x40, 0x80, 0x80, 0x09, 0xB2, 0x34,
+0x00, 0x02, 0x00, 0x4C, 0x93, 0x24, 0x11, 0x18, 0x00, 0x48, 0xDA, 0xB6,
+0x0D, 0x40, 0x08, 0x00, 0x27, 0xC9, 0x92, 0x00, 0x10, 0x00, 0xA0, 0x69,
+0x92, 0x24, 0x00, 0x10, 0x00, 0x4F, 0x9B, 0x24, 0x01, 0x00, 0x00, 0x50,
+0xD2, 0x26, 0x09, 0xFF, 0x61, 0xF5, 0x90, 0x24, 0x01, 0xF2, 0xCF, 0x7F,
+0x9F, 0xA4, 0x0B, 0x10, 0xFF, 0xE3, 0xF7, 0x26, 0x49, 0x92, 0xF0, 0x4F,
+0xA7, 0x3F, 0x49, 0x90, 0x24, 0xCA, 0x63, 0xDF, 0x18, 0x04, 0x49, 0x90,
+0xBE, 0xFA, 0x84, 0x20, 0x48, 0x12, 0xFD, 0xF7, 0x9F, 0x64, 0x49, 0x10,
+0xA0, 0x3E, 0xFF, 0x07, 0xC9, 0x80, 0x20, 0x3C, 0x25, 0xD1, 0x90, 0x06,
+0x21, 0xD0, 0x39, 0x5B, 0x06, 0x64, 0x49, 0x02, 0x3F, 0xDC, 0x37, 0x20,
+0x48, 0x93, 0xE0, 0x83, 0xA7, 0x05, 0x01, 0x00, 0x20, 0x3F, 0xC5, 0xFF,
+0x90, 0x24, 0x49, 0xE2, 0x49, 0xFE, 0x1F, 0x04, 0x49, 0x12, 0x1E, 0xCA,
+0xFF, 0xA0, 0x40, 0x92, 0xE0, 0x83, 0xFE, 0x1F, 0x09, 0x90, 0x24, 0x00,
+0x08, 0x1A, 0xB4, 0x4D, 0x93, 0x02, 0xC0, 0x90, 0x80, 0x6D, 0x99, 0x74,
+0x00, 0x06, 0x08, 0x6C, 0xDB, 0xB2, 0x05, 0x80, 0x18, 0x50, 0xDB, 0xB4,
+0xAC, 0x31, 0x10, 0x80, 0x35, 0x4D, 0x5B, 0x40, 0x01, 0x04, 0x83, 0x69,
+0xD8, 0x36, 0x12, 0x98, 0x20, 0x2C, 0xCB, 0x34, 0x11, 0x60, 0x04, 0x41,
+0x59, 0xB4, 0x29, 0x03, 0x83, 0xB4, 0xBD, 0x4C, 0x93, 0x20, 0x16, 0x00,
+0x04, 0x0D, 0xDB, 0x26, 0x81, 0x20, 0x00, 0x6C, 0xCA, 0xB2, 0x01, 0xF6,
+0x3C, 0x01, 0x93, 0x24, 0x2B, 0x00, 0x11, 0x00, 0xB1, 0x6C, 0xDB, 0x32,
+0x0E, 0x02, 0x00, 0x2D, 0xDF, 0x76, 0x00, 0x07, 0x00, 0x68, 0xDA, 0xB6,
+0x05, 0x82, 0x00, 0x50, 0x9B, 0xB4, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x80, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x24, 0x41, 0x00,
+0x00, 0x20, 0x01, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x81, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x48, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x02, 0x04, 0x00, 0x08, 0x00, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x90, 0x24, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20,
+0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x01, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x02, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80,
+0x04, 0x00, 0x00, 0x00, 0x90, 0x24, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x01, 0x00,
+0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x40, 0x02, 0x00,
+0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x40,
+0x20, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00,
+0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40,
+0x02, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x10, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x80,
+0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x88, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x02, 0x02, 0x20, 0x00, 0x00, 0x40, 0x00, 0x20, 0x0C,
+0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x02, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x88, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x12, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x08, 0x00, 0x04, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x80, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20,
+0x08, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x05, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x20, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x04, 0x11, 0x90, 0x24, 0x49,
+0x92, 0x2A, 0x49, 0x82, 0x0C, 0x49, 0x12, 0x64, 0x59, 0x92, 0x65, 0x48,
+0x92, 0x24, 0xC1, 0xC2, 0x04, 0x59, 0x92, 0x24, 0x89, 0x65, 0x4D, 0x92,
+0x24, 0x48, 0x92, 0x20, 0x09, 0x92, 0x04, 0x01, 0x92, 0x2C, 0x40, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x83, 0x24, 0x49, 0x92, 0x04, 0x09, 0x04,
+0x19, 0x80, 0x25, 0x40, 0x12, 0x20, 0x49, 0x82, 0x05, 0x49, 0x92, 0x20,
+0x41, 0xB2, 0x08, 0x48, 0x12, 0x04, 0x03, 0x16, 0x04, 0x48, 0x92, 0x24,
+0x09, 0x00, 0x00, 0x92, 0x20, 0x09, 0x92, 0x6C, 0x49, 0x86, 0x04, 0x58,
+0x82, 0x64, 0x0B, 0x92, 0x24, 0x42, 0x92, 0x24, 0x41, 0x82, 0x21, 0x59,
+0x12, 0x24, 0x09, 0x24, 0x59, 0x12, 0x21, 0x09, 0x92, 0x28, 0x09, 0x82,
+0x0C, 0x49, 0x90, 0x44, 0x59, 0x92, 0x61, 0x0A, 0x92, 0x20, 0xC0, 0x92,
+0x24, 0x59, 0x90, 0x20, 0x01, 0x65, 0x49, 0x10, 0x21, 0x48, 0x92, 0x00,
+0x01, 0x92, 0x04, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24, 0x48, 0x92, 0x24,
+0x40, 0x92, 0x20, 0x49, 0x92, 0x04, 0x09, 0x20, 0x58, 0x80, 0x24, 0x09,
+0x98, 0x20, 0x48, 0x82, 0x05, 0x49, 0x92, 0x20, 0x49, 0xA0, 0x2C, 0x4C,
+0x12, 0x14, 0x41, 0x16, 0x06, 0x49, 0x80, 0x24, 0x09, 0x04, 0x49, 0x92,
+0x25, 0x01, 0x92, 0x68, 0x49, 0x96, 0x04, 0x48, 0x82, 0x64, 0x4B, 0x82,
+0x24, 0x42, 0x90, 0x24, 0x01, 0x02, 0x05, 0x59, 0x82, 0x30, 0x09, 0x00,
+0x00, 0x80, 0x01, 0x00, 0x40, 0x04, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x01, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x30, 0x00, 0x04, 0x42, 0x01, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x10, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x09,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x01,
+0x00, 0x01, 0x40, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x96, 0x04, 0x49, 0x90, 0x28, 0x49, 0x92, 0x04, 0x49, 0x90, 0x44,
+0x49, 0x92, 0x04, 0x4A, 0xBA, 0xA0, 0x40, 0x92, 0x2C, 0x59, 0x92, 0x04,
+0x89, 0x05, 0x49, 0x92, 0x24, 0x18, 0x92, 0x20, 0x49, 0x96, 0x04, 0x49,
+0x90, 0x24, 0x49, 0x92, 0xA5, 0x08, 0x82, 0x24, 0x51, 0x96, 0x04, 0x49,
+0x90, 0x24, 0x01, 0x24, 0x5B, 0x92, 0x20, 0x09, 0x92, 0x20, 0x49, 0xBA,
+0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x25, 0x48, 0x92, 0x24, 0x41, 0xD2,
+0x2C, 0x49, 0x92, 0x26, 0x09, 0x24, 0x59, 0x92, 0x20, 0x09, 0x92, 0x60,
+0x49, 0xB2, 0x04, 0x59, 0x9A, 0x64, 0x59, 0x92, 0x24, 0x4A, 0x96, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x41, 0x86, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x82, 0x04, 0x49, 0x92, 0x64, 0x69, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x12, 0xBC, 0x59, 0x92, 0x24, 0x89, 0x05, 0x49, 0x92,
+0x34, 0x49, 0x12, 0x20, 0x49, 0x96, 0x04, 0x44, 0x92, 0x04, 0x49, 0x92,
+0x25, 0x48, 0x92, 0x24, 0x51, 0x96, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x5B, 0x92, 0x25, 0x49, 0x10, 0x00, 0x49, 0xB2, 0x04, 0x49, 0x82, 0x24,
+0x49, 0x92, 0x25, 0x48, 0x90, 0x04, 0x41, 0x12, 0x28, 0x09, 0x92, 0x04,
+0x08, 0x24, 0x59, 0x92, 0x24, 0x48, 0x92, 0x68, 0x4D, 0xB3, 0x04, 0x49,
+0x92, 0x64, 0x59, 0x9A, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x80, 0x34, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x10, 0x00, 0x08,
+0x04, 0x16, 0xD8, 0xB6, 0x25, 0x03, 0x62, 0x61, 0xD0, 0xBE, 0x6E, 0x5B,
+0x00, 0x04, 0x0B, 0x34, 0x6D, 0xFF, 0x06, 0x8A, 0x09, 0x90, 0xE5, 0x99,
+0x74, 0x02, 0x00, 0x80, 0xD9, 0xB6, 0x6D, 0x01, 0x00, 0x6C, 0xC8, 0xB6,
+0xFD, 0x1B, 0x00, 0x00, 0x81, 0xB4, 0x6D, 0xD2, 0x83, 0x01, 0x26, 0x82,
+0x6D, 0x4B, 0x36, 0x40, 0x90, 0x96, 0xD8, 0x3F, 0x21, 0x51, 0x82, 0x3E,
+0xC9, 0xE7, 0xB7, 0x3F, 0x42, 0x22, 0x49, 0xA4, 0x44, 0xB6, 0x51, 0x9C,
+0x2D, 0x89, 0x2C, 0x2D, 0x00, 0x40, 0x10, 0x01, 0xD1, 0xF7, 0x6D, 0x23,
+0x80, 0x04, 0x50, 0xA6, 0x6B, 0x5B, 0x40, 0x50, 0x01, 0xB4, 0x0C, 0xDB,
+0x16, 0xC0, 0x02, 0xD0, 0x6D, 0xD9, 0x76, 0xB6, 0x60, 0xC9, 0x08, 0xC2,
+0x4C, 0xB9, 0x0F, 0x88, 0x46, 0x12, 0x21, 0x09, 0x65, 0xCB, 0xB9, 0x10,
+0x06, 0x49, 0x6A, 0x51, 0x96, 0x9D, 0x0C, 0x0B, 0x10, 0x94, 0x6D, 0x59,
+0x40, 0x12, 0x24, 0xB3, 0x6C, 0xB5, 0x42, 0x92, 0x00, 0x08, 0x6D, 0xDB,
+0x36, 0xC0, 0x04, 0x40, 0x60, 0xDA, 0x90, 0x0D, 0x20, 0xD0, 0x02, 0xF6,
+0x6D, 0x49, 0x68, 0x02, 0x48, 0xC3, 0xE5, 0xE5, 0x0F, 0x00, 0x6C, 0x01,
+0x25, 0x49, 0xFB, 0x00, 0x09, 0x00, 0x20, 0x43, 0x9B, 0x04, 0x45, 0x92,
+0x24, 0xF6, 0x7C, 0xD8, 0x44, 0x08, 0x30, 0x99, 0xA5, 0xD9, 0x86, 0x4A,
+0x20, 0x08, 0x2C, 0x89, 0xB2, 0x10, 0x43, 0x49, 0x7A, 0x09, 0xB0, 0x9D,
+0x94, 0x46, 0x12, 0xCB, 0x92, 0x64, 0x07, 0x69, 0x82, 0x50, 0x54, 0x2C,
+0x3B, 0x41, 0x58, 0xA4, 0x16, 0x61, 0xD0, 0xE8, 0xA2, 0x00, 0xB9, 0x05,
+0x4B, 0x66, 0x12, 0x00, 0x89, 0xC9, 0x16, 0x6D, 0x25, 0x49, 0x92, 0x90,
+0x36, 0x02, 0x03, 0x4D, 0x02, 0x04, 0xA0, 0x01, 0x18, 0x48, 0x92, 0x20,
+0x10, 0x2C, 0xEC, 0x40, 0x90, 0x24, 0x21, 0x18, 0x90, 0xD6, 0x35, 0x00,
+0x81, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x10, 0x04, 0x00, 0x40,
+0x52, 0x12, 0xD0, 0xA5, 0x64, 0x0B, 0x8A, 0x00, 0x09, 0x19, 0x82, 0x6C,
+0x2F, 0x08, 0x9A, 0xE0, 0x00, 0x2A, 0x3B, 0x49, 0x80, 0xA5, 0x57, 0x10,
+0xDA, 0x48, 0x92, 0x20, 0xA9, 0x81, 0xC9, 0x06, 0x92, 0x34, 0x09, 0x00,
+0x08, 0x00, 0x27, 0x49, 0xDA, 0x08, 0x00, 0x00, 0x20, 0xC9, 0xD9, 0xA4,
+0x00, 0x00, 0x00, 0x69, 0xD2, 0x34, 0x01, 0x80, 0x00, 0x50, 0x1A, 0xA6,
+0x89, 0x04, 0x20, 0x80, 0xA5, 0x49, 0x9A, 0x22, 0x00, 0x02, 0x00, 0x4D,
+0x92, 0x34, 0x00, 0x80, 0x84, 0x48, 0x92, 0x24, 0x40, 0x00, 0x00, 0x40,
+0x92, 0xB4, 0x09, 0x40, 0x09, 0x00, 0x25, 0x41, 0xDA, 0x42, 0x40, 0xA4,
+0x81, 0x29, 0xDA, 0x2C, 0x20, 0x02, 0x41, 0x68, 0xDB, 0x36, 0x21, 0x10,
+0x0B, 0x40, 0xD3, 0xB6, 0x2D, 0x40, 0x50, 0x00, 0x27, 0x49, 0x9A, 0x08,
+0x80, 0x02, 0xA0, 0x49, 0x93, 0xA4, 0x01, 0x00, 0x00, 0x49, 0xDB, 0x24,
+0x11, 0x00, 0x00, 0x50, 0x92, 0x36, 0x09, 0xF7, 0xE1, 0xE9, 0x90, 0x24,
+0x01, 0xF2, 0xFF, 0xDE, 0x9F, 0x24, 0x02, 0x12, 0x5F, 0xF3, 0xFF, 0x06,
+0x09, 0x82, 0x70, 0x75, 0x26, 0x3F, 0xC1, 0x10, 0x24, 0xFB, 0x4F, 0x7B,
+0x10, 0x24, 0x41, 0x90, 0x7F, 0xFD, 0x87, 0x20, 0x49, 0x03, 0xED, 0x1B,
+0x78, 0x34, 0x49, 0x92, 0x21, 0xFE, 0xDA, 0x09, 0x49, 0x02, 0x24, 0xB6,
+0x46, 0x48, 0x98, 0x2C, 0x01, 0x30, 0x99, 0x49, 0x0E, 0x44, 0x01, 0x12,
+0x19, 0x90, 0x2C, 0x04, 0x00, 0x80, 0x80, 0x4B, 0x00, 0x82, 0x08, 0x08,
+0x00, 0x3C, 0x89, 0xFB, 0x90, 0x24, 0x41, 0xC2, 0x49, 0xB8, 0x1F, 0x24,
+0x48, 0x12, 0x1E, 0xC2, 0xFE, 0x26, 0x00, 0x92, 0xE0, 0x53, 0xF6, 0x1F,
+0x49, 0x80, 0x24, 0x00, 0x09, 0x12, 0xB4, 0x4D, 0x93, 0x02, 0x80, 0x12,
+0x80, 0x65, 0x90, 0x76, 0xA8, 0x14, 0x04, 0x4C, 0xDB, 0x92, 0x05, 0xA2,
+0xB0, 0x50, 0x53, 0xB4, 0xAD, 0x20, 0x80, 0x82, 0xBD, 0x6D, 0xDB, 0x40,
+0x81, 0x00, 0x8C, 0x69, 0x6B, 0x36, 0x12, 0x64, 0x43, 0x6C, 0xFB, 0xB6,
+0x80, 0x00, 0x01, 0x42, 0xDB, 0x26, 0x0D, 0x01, 0x22, 0x21, 0xA5, 0x74,
+0x92, 0x20, 0x1E, 0x12, 0x00, 0x0C, 0x01, 0x12, 0xCE, 0xFA, 0x96, 0x6C,
+0x92, 0x88, 0x00, 0x10, 0x90, 0x44, 0x92, 0x00, 0x19, 0x02, 0x01, 0x02,
+0xB5, 0x2E, 0xD3, 0x02, 0x5E, 0x05, 0x40, 0x6D, 0xD9, 0x76, 0x80, 0x2E,
+0x05, 0xEC, 0x9A, 0xB6, 0x05, 0x36, 0x04, 0x10, 0xDB, 0xA4, 0x2D, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xB0, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x84,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x40, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x20, 0x51, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x04, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x30, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x80,
+0x00, 0x00, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x08,
+0x08, 0x00, 0x10, 0x80, 0x00, 0x04, 0x44, 0x01, 0x00, 0x00, 0x04, 0x08,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x09, 0x10, 0x10, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x80,
+0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x10, 0x22, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x84, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x09, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x20, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x04, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x49, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x0A, 0x04, 0x08, 0x41, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x89, 0x00, 0xC0, 0x00, 0x00, 0x20, 0x00,
+0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x48, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x00, 0x10, 0x00, 0x00, 0xC0, 0x04, 0x01, 0x02, 0x00, 0x00, 0x00, 0x05,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x10, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0C, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x20, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x11, 0x00, 0x00,
+0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x50, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x91, 0x30, 0x01, 0x00, 0x00, 0x00, 0x88, 0x20, 0x48, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x01, 0x10, 0x00, 0x00, 0x01, 0x0C, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x40,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x80, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
+0x04, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01,
+0x81, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x48, 0x96, 0x25, 0x49, 0x82, 0x28, 0x09, 0x90, 0x05, 0x49, 0x90, 0x64,
+0x49, 0x80, 0x20, 0x4A, 0x92, 0x24, 0x41, 0x02, 0x20, 0x59, 0x92, 0x24,
+0x89, 0x40, 0x41, 0x90, 0x25, 0x49, 0x92, 0x20, 0x48, 0x92, 0x04, 0x49,
+0x92, 0x20, 0x01, 0x82, 0x05, 0x48, 0x82, 0x2C, 0x41, 0x92, 0x24, 0x49,
+0x90, 0x24, 0x19, 0x24, 0x49, 0x90, 0x25, 0x49, 0x82, 0x20, 0x48, 0x82,
+0x0F, 0xC9, 0x93, 0x00, 0xC9, 0x92, 0x2C, 0x58, 0x10, 0x05, 0x41, 0x96,
+0x61, 0x41, 0x82, 0x21, 0x08, 0x24, 0x59, 0x90, 0x25, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x59, 0x92, 0x64, 0x09, 0x92, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x02, 0x24, 0x19, 0x92, 0x24, 0x09, 0x24, 0x49, 0x96, 0x24, 0x09,
+0x82, 0x28, 0x49, 0x90, 0x01, 0x49, 0xD2, 0x60, 0x49, 0x92, 0x20, 0x4A,
+0x92, 0x24, 0x41, 0x82, 0x20, 0x59, 0x92, 0x24, 0x89, 0x44, 0x41, 0x00,
+0x24, 0x48, 0x12, 0x20, 0x48, 0x92, 0x04, 0x49, 0x92, 0x24, 0x09, 0x9A,
+0x21, 0x0C, 0x8A, 0x20, 0x41, 0x92, 0x24, 0x48, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x82, 0x24, 0x48, 0x92, 0x20, 0x40, 0x82, 0x0D, 0x48, 0x82, 0x10,
+0xC9, 0x90, 0x2C, 0x40, 0x90, 0x04, 0x41, 0x86, 0x45, 0x09, 0xC2, 0x20,
+0x0C, 0x24, 0x51, 0x92, 0x20, 0x09, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x48, 0x92, 0x24, 0x4A, 0x9A, 0x24, 0x41, 0x92, 0x24, 0x19,
+0x92, 0x24, 0x09, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04,
+0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
+0x04, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80,
+0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x04,
+0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x41,
+0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x40, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x49, 0x96, 0x24, 0x49, 0x92, 0x28, 0x41, 0x92,
+0x04, 0x49, 0x12, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x12, 0x26, 0x88, 0x64, 0x49, 0x96, 0x24, 0x49, 0x9A, 0x20,
+0x09, 0x92, 0x04, 0x40, 0x02, 0x34, 0x49, 0x92, 0x6D, 0x48, 0x92, 0x26,
+0x40, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49,
+0x92, 0x20, 0x59, 0xB2, 0x04, 0xC9, 0x92, 0x24, 0x49, 0x92, 0x2C, 0x48,
+0x97, 0x24, 0x41, 0x92, 0x34, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92,
+0x20, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24,
+0x41, 0x96, 0x24, 0x49, 0xD2, 0x28, 0x41, 0x90, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x20, 0x4A, 0x92, 0x24, 0x41, 0x90, 0x24, 0x19, 0x92, 0x24,
+0x89, 0x64, 0x49, 0x14, 0x24, 0x49, 0x90, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x25, 0x49, 0x92, 0x6D, 0x48, 0x92, 0x24, 0x41, 0x92, 0x00, 0x49,
+0x92, 0x24, 0x09, 0x24, 0x09, 0x92, 0x24, 0x48, 0x92, 0x20, 0x59, 0xB0,
+0x04, 0x49, 0x02, 0x24, 0x49, 0x92, 0x2C, 0x40, 0x90, 0x24, 0x41, 0x92,
+0x24, 0x09, 0x8A, 0x24, 0x08, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x86, 0x26, 0xD8, 0xB6, 0xE5, 0x43, 0x22, 0x2C,
+0xD9, 0xB7, 0x6D, 0x73, 0x00, 0x44, 0x28, 0xA4, 0x6D, 0x5F, 0xC4, 0x48,
+0x00, 0x98, 0x6C, 0xDB, 0x56, 0x41, 0x8A, 0x07, 0xDC, 0x8F, 0xC7, 0xC3,
+0xD2, 0xE1, 0x80, 0x26, 0x4E, 0x19, 0x75, 0xC7, 0x21, 0xB0, 0x54, 0x5D,
+0x22, 0xA8, 0x43, 0x86, 0xED, 0x98, 0x37, 0x30, 0x9C, 0x04, 0x59, 0xDE,
+0x7D, 0x42, 0x08, 0x24, 0xC6, 0x97, 0x79, 0x0A, 0x92, 0x13, 0x45, 0xE4,
+0x35, 0xCA, 0x52, 0x08, 0x4C, 0x82, 0x78, 0xCB, 0x3E, 0x00, 0x16, 0x00,
+0xD9, 0xFE, 0x6D, 0x13, 0x10, 0x28, 0xD0, 0x76, 0x69, 0x5B, 0x00, 0x16,
+0x00, 0xB4, 0x21, 0xDB, 0x26, 0x10, 0x01, 0x90, 0x2D, 0xDB, 0x76, 0xB6,
+0x69, 0xE9, 0x48, 0x82, 0x2C, 0xF9, 0x0C, 0xD3, 0x4E, 0x92, 0x04, 0x01,
+0x65, 0x99, 0x92, 0x80, 0x04, 0xC9, 0x28, 0x91, 0x92, 0x94, 0x85, 0x08,
+0x32, 0xD3, 0xE7, 0xD8, 0x00, 0xA0, 0x08, 0x10, 0xA4, 0x18, 0x06, 0x00,
+0x01, 0x02, 0x08, 0x1C, 0x97, 0x9C, 0x0D, 0x8A, 0x00, 0x61, 0xD4, 0x40,
+0x16, 0x02, 0x02, 0x86, 0x70, 0x5D, 0xAC, 0xA1, 0xA4, 0xD0, 0x24, 0x4F,
+0x00, 0x20, 0x00, 0x10, 0x34, 0xC8, 0x92, 0x80, 0x48, 0x10, 0x20, 0xC3,
+0xB2, 0x0F, 0x23, 0x58, 0x10, 0xB2, 0x32, 0xDB, 0x40, 0x81, 0x20, 0xA9,
+0x75, 0xD1, 0x06, 0x0A, 0x02, 0x09, 0x2D, 0xC9, 0xB6, 0x18, 0xCA, 0x48,
+0x4A, 0x49, 0x96, 0x1D, 0x54, 0x41, 0x12, 0xC3, 0xB2, 0x4F, 0x07, 0x61,
+0x40, 0x10, 0x16, 0x05, 0x30, 0x44, 0x02, 0x88, 0x92, 0x21, 0x68, 0x68,
+0x8A, 0x12, 0xB9, 0x25, 0x4B, 0x6E, 0x98, 0xB5, 0x8D, 0x00, 0x00, 0x00,
+0x21, 0x40, 0x00, 0x00, 0x5B, 0x24, 0x00, 0x00, 0x10, 0x34, 0xC3, 0x02,
+0x48, 0x08, 0x82, 0x30, 0x11, 0x04, 0x80, 0x40, 0x1B, 0xA0, 0x00, 0x09,
+0x20, 0x20, 0x35, 0x05, 0x80, 0x02, 0x83, 0x00, 0x85, 0x58, 0x42, 0x26,
+0x21, 0x30, 0x64, 0x00, 0x80, 0x22, 0x50, 0x00, 0x47, 0x00, 0x82, 0x84,
+0x00, 0x1C, 0xC0, 0x6C, 0x27, 0x21, 0x92, 0xC0, 0x80, 0x64, 0x3B, 0x99,
+0x1A, 0xA4, 0x96, 0x36, 0xD9, 0x48, 0x82, 0x24, 0x89, 0x11, 0xD1, 0x46,
+0x92, 0xA0, 0x09, 0x00, 0x01, 0x22, 0x27, 0x49, 0xDA, 0x08, 0x00, 0x08,
+0x28, 0x4D, 0x92, 0xA4, 0x00, 0x00, 0x00, 0xE9, 0x9A, 0xF0, 0x01, 0x40,
+0x00, 0x50, 0x9B, 0xB4, 0xAD, 0x00, 0x81, 0xC0, 0xAD, 0x6B, 0x1A, 0x00,
+0x89, 0x40, 0x00, 0x49, 0x9B, 0x26, 0x00, 0x04, 0xB1, 0xCC, 0x9B, 0xA6,
+0x01, 0x00, 0x00, 0x40, 0xDB, 0xA6, 0x09, 0x00, 0x04, 0x00, 0xA5, 0x65,
+0x9A, 0x42, 0x08, 0x0C, 0x80, 0x6D, 0xF2, 0x3E, 0x11, 0x03, 0x22, 0x68,
+0xCA, 0x34, 0x21, 0x80, 0x00, 0x41, 0x83, 0x34, 0x09, 0x04, 0x42, 0x00,
+0x2F, 0x69, 0x92, 0x08, 0x10, 0x10, 0x20, 0x49, 0x9A, 0xA4, 0x00, 0x80,
+0x00, 0x49, 0xDA, 0x24, 0x01, 0x00, 0x20, 0x50, 0xD2, 0x2E, 0x09, 0xF7,
+0x78, 0xD9, 0x90, 0x24, 0x01, 0xF2, 0x7D, 0xD3, 0x94, 0x20, 0x49, 0x12,
+0x7B, 0xFB, 0x57, 0x06, 0x41, 0x06, 0x30, 0x9F, 0xEF, 0x37, 0x60, 0x02,
+0x00, 0x65, 0x62, 0x31, 0x10, 0x04, 0xC1, 0xA2, 0x00, 0x13, 0x84, 0x24,
+0x44, 0x10, 0x2C, 0x51, 0x0E, 0x20, 0x40, 0x10, 0x40, 0x3B, 0xE6, 0x8D,
+0x00, 0x10, 0x24, 0x06, 0x7B, 0x9F, 0x10, 0x08, 0x41, 0x20, 0x43, 0x92,
+0x00, 0x00, 0x09, 0x00, 0x68, 0xAC, 0x90, 0x04, 0x11, 0x8A, 0x02, 0x1E,
+0xB3, 0x8E, 0x58, 0x82, 0x24, 0x3A, 0x3D, 0xFF, 0x90, 0x04, 0x49, 0xF2,
+0x49, 0xCA, 0x9F, 0x24, 0x41, 0x12, 0x5D, 0x40, 0xFF, 0x26, 0x01, 0x92,
+0xC0, 0xC3, 0xD4, 0x9F, 0x09, 0x91, 0x24, 0x08, 0x00, 0x10, 0xB4, 0x4D,
+0x13, 0x02, 0xC1, 0x20, 0x83, 0x6A, 0xDB, 0x56, 0x0C, 0x06, 0x85, 0x5C,
+0xD3, 0x20, 0x45, 0x02, 0x24, 0x51, 0xD2, 0x26, 0x89, 0x2C, 0x1C, 0x2E,
+0xB0, 0x44, 0x51, 0x72, 0x24, 0x8A, 0xC9, 0x6D, 0xD8, 0x24, 0x10, 0xA8,
+0x20, 0x68, 0xC2, 0x28, 0xC1, 0xD2, 0x39, 0x4B, 0x52, 0x34, 0x2C, 0x60,
+0x8B, 0xC2, 0x24, 0x01, 0xEB, 0x20, 0x58, 0xF1, 0x08, 0x4C, 0x8B, 0x24,
+0xCE, 0x46, 0x09, 0x2C, 0x83, 0xA4, 0x81, 0x35, 0x08, 0x40, 0xCA, 0x26,
+0x35, 0x41, 0x09, 0x00, 0xB4, 0x15, 0xDB, 0x02, 0x2A, 0x03, 0x80, 0x2D,
+0xD3, 0x76, 0x40, 0x01, 0x00, 0x6C, 0x93, 0xB6, 0x15, 0xA6, 0x28, 0x50,
+0x9B, 0x36, 0x2D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x02, 0x00, 0x40, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x40, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x01, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x02, 0x00, 0x04, 0x88, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x10, 0xC0, 0x00, 0x4C, 0xC0, 0x02, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x18, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x80, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xA0, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x48, 0x80, 0x40, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x14,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x21,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00,
+0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x60,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x04, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x01, 0x04,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04,
+0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x80, 0x00, 0x0C, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x08, 0x01, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x08, 0x10, 0x04, 0x00, 0x09, 0x00,
+0x00, 0x82, 0x20, 0x04, 0x4C, 0x80, 0x00, 0x00, 0x04, 0x01, 0x09, 0x00,
+0x21, 0x00, 0x40, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x02, 0x80, 0x80,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x90, 0x08, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x08, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x08, 0x00,
+0x40, 0x00, 0x80, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x80, 0x00, 0x08, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x20,
+0x00, 0x00, 0x08, 0x10, 0x04, 0x10, 0x09, 0x00, 0x00, 0x82, 0x20, 0x04,
+0xC8, 0x80, 0x00, 0x00, 0x04, 0x01, 0x09, 0x00, 0x20, 0x00, 0x40, 0x00,
+0x81, 0x04, 0x00, 0x04, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x20, 0x20, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
+0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x01, 0x40, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x10, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x80, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x81, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x02, 0x02, 0x00,
+0x00, 0x88, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x2C, 0x81, 0x80, 0x00,
+0x00, 0x00, 0x60, 0x00, 0x09, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10,
+0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x40, 0x00, 0x08,
+0x00, 0x00, 0x20, 0x01, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,
+0x20, 0xA0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x82, 0x01, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x08, 0x20, 0x00, 0x10, 0x00, 0x00, 0x10, 0x20, 0x00,
+0x20, 0x04, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x20, 0x00, 0x40,
+0x00, 0x10, 0x00, 0x08, 0x08, 0x10, 0x24, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x60, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x02, 0x22, 0x00,
+0x08, 0x10, 0x24, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x12, 0x04,
+0x41, 0x00, 0x00, 0x40, 0x02, 0x20, 0x01, 0x00, 0x00, 0x42, 0x20, 0x08,
+0x92, 0x00, 0x00, 0x00, 0x40, 0x18, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x03, 0x80, 0x00, 0x40, 0x00, 0x20, 0x08, 0x00, 0x01, 0x00,
+0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x01, 0x00, 0x40, 0x12, 0x04, 0x41, 0x00, 0x00, 0x40,
+0x02, 0x20, 0x01, 0x00, 0x00, 0x02, 0x21, 0x08, 0x92, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,
+0x00, 0x40, 0x00, 0x20, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x81, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x06, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x24, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x20, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x48, 0x00, 0x00,
+0x20, 0x48, 0x10, 0x44, 0x00, 0x00, 0x00, 0x02, 0x04, 0x01, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02,
+0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x42,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x48, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2C, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x40,
+0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x40, 0x00, 0x14, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x00, 0x00, 0x02,
+0x84, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x09, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x81, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x04, 0x02, 0x00, 0x00,
+0x05, 0x52, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10,
+0x04, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x24, 0x49, 0xB2, 0x24, 0x49, 0x12, 0x28, 0x48, 0x90,
+0x05, 0x49, 0x92, 0x64, 0x48, 0x90, 0x65, 0x6A, 0x90, 0x24, 0x40, 0x96,
+0x20, 0x59, 0x92, 0x04, 0x81, 0x0C, 0x89, 0xB0, 0x64, 0x4C, 0x12, 0x40,
+0x49, 0x90, 0x0C, 0x08, 0x10, 0x05, 0x4B, 0x80, 0x04, 0x48, 0x92, 0x00,
+0x00, 0xC2, 0x34, 0x01, 0x12, 0x24, 0x09, 0xE4, 0xD1, 0x9A, 0x04, 0x03,
+0x00, 0x20, 0x09, 0x94, 0x49, 0x41, 0x02, 0x38, 0x48, 0x88, 0x0D, 0x58,
+0xB2, 0x64, 0x00, 0x90, 0x05, 0x80, 0x82, 0x04, 0x01, 0x04, 0x48, 0x92,
+0x04, 0x49, 0x92, 0x08, 0xC1, 0x92, 0x04, 0x09, 0x90, 0x64, 0xC0, 0x16,
+0x24, 0x4A, 0x12, 0x24, 0x41, 0x12, 0x24, 0x59, 0x92, 0x20, 0x09, 0x24,
+0x09, 0xB2, 0x25, 0x49, 0x12, 0x28, 0x09, 0x92, 0x05, 0x49, 0x9A, 0x60,
+0x48, 0x90, 0x65, 0x4A, 0x92, 0x20, 0x40, 0x96, 0x24, 0x58, 0x82, 0x24,
+0x89, 0x28, 0xC9, 0xB0, 0x05, 0x49, 0x10, 0x40, 0x49, 0x92, 0x0C, 0x48,
+0x12, 0x04, 0x4B, 0x92, 0x20, 0x00, 0x80, 0x20, 0x40, 0x92, 0x24, 0x08,
+0x90, 0x04, 0x08, 0x64, 0xD9, 0x92, 0x05, 0x00, 0x00, 0x20, 0x48, 0x94,
+0x09, 0x41, 0x82, 0x00, 0x41, 0x92, 0x0D, 0x48, 0x92, 0x00, 0x40, 0x12,
+0x25, 0x00, 0x92, 0x00, 0x01, 0x24, 0x01, 0x92, 0x25, 0x49, 0x92, 0x28,
+0xC1, 0x92, 0x04, 0x41, 0x90, 0x64, 0x89, 0x96, 0x20, 0x4A, 0x00, 0x24,
+0x41, 0x12, 0x24, 0x59, 0x12, 0x24, 0x09, 0x00, 0x44, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x81, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x22, 0x01, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x49, 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x00, 0x00,
+0x20, 0x02, 0x00, 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x81, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01,
+0x02, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x00, 0x80, 0x08,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x20, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x40, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x88, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x41, 0x00, 0x00, 0x00, 0x00, 0x04, 0x50, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x0D, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x24, 0x09,
+0x12, 0x28, 0x49, 0x92, 0x05, 0x49, 0x92, 0x74, 0x49, 0xB2, 0x20, 0x4A,
+0x92, 0x24, 0x41, 0xB2, 0x24, 0x58, 0x92, 0x24, 0x85, 0x24, 0x49, 0x92,
+0x20, 0x40, 0x02, 0x20, 0x49, 0x92, 0x07, 0x09, 0xB2, 0x24, 0x4B, 0x90,
+0x24, 0x08, 0x96, 0x20, 0x51, 0x92, 0x24, 0x49, 0x12, 0x24, 0x09, 0x2C,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x0D, 0x49, 0x90, 0x24,
+0x49, 0x92, 0x24, 0x08, 0x92, 0x24, 0xC1, 0x12, 0x25, 0x40, 0x92, 0x24,
+0x09, 0x24, 0x48, 0x96, 0x24, 0x49, 0x92, 0x28, 0x69, 0x92, 0x04, 0x49,
+0x32, 0x64, 0x49, 0xB6, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x24, 0x4D, 0x90, 0x24, 0x49, 0x02, 0x28, 0x09, 0xD3,
+0x05, 0x49, 0x92, 0x60, 0x49, 0xB0, 0x20, 0x4A, 0x92, 0x24, 0x41, 0xB2,
+0x24, 0x58, 0x92, 0xA4, 0x89, 0x24, 0x41, 0x12, 0x24, 0x01, 0x10, 0x20,
+0x09, 0x92, 0x05, 0x49, 0x10, 0x24, 0x4B, 0x52, 0x24, 0x40, 0x80, 0x20,
+0x10, 0x82, 0x24, 0x49, 0x10, 0x20, 0x09, 0x2C, 0x41, 0x9A, 0x20, 0x01,
+0x12, 0xA0, 0x69, 0xDA, 0x0D, 0x09, 0x80, 0x24, 0x49, 0xC2, 0x24, 0x48,
+0x82, 0x24, 0xC1, 0xDA, 0x35, 0x0D, 0x12, 0x04, 0x09, 0x24, 0x09, 0x96,
+0x24, 0x49, 0x92, 0x28, 0x48, 0x92, 0x04, 0x48, 0x92, 0x64, 0x49, 0xB6,
+0x24, 0x4A, 0x90, 0x26, 0x41, 0x92, 0x24, 0x19, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x4C, 0xF9, 0xF6,
+0x7D, 0x03, 0x48, 0x2C, 0xD1, 0x96, 0x6C, 0x5E, 0x88, 0x18, 0x84, 0x94,
+0x2D, 0x8B, 0x86, 0x40, 0x48, 0x91, 0xFD, 0xDB, 0x72, 0x5E, 0x00, 0x24,
+0xC8, 0xB6, 0x6D, 0x53, 0x10, 0x64, 0xC3, 0xB7, 0x7D, 0x1B, 0xB2, 0x01,
+0x0A, 0xAC, 0x6D, 0xDA, 0x42, 0x08, 0xC6, 0x00, 0x6C, 0xCB, 0x36, 0xC9,
+0x9B, 0xA6, 0xF8, 0x9A, 0x57, 0x01, 0x90, 0x84, 0xC1, 0x34, 0x5D, 0x18,
+0x0C, 0xA7, 0xCD, 0x94, 0x77, 0xCC, 0x13, 0x20, 0x44, 0x80, 0x6D, 0x8A,
+0x27, 0x01, 0x34, 0x03, 0xD9, 0xB6, 0x65, 0x53, 0x00, 0x01, 0xD0, 0xB6,
+0x6D, 0x5B, 0x00, 0x00, 0x1B, 0xB4, 0x6D, 0xDF, 0x06, 0x40, 0x88, 0x90,
+0x6D, 0x9B, 0x76, 0xB6, 0x68, 0x87, 0x48, 0x80, 0x22, 0xB8, 0x24, 0x53,
+0x47, 0xB0, 0x01, 0x08, 0x25, 0x41, 0x32, 0x30, 0x44, 0x31, 0x68, 0x9B,
+0xB2, 0x9C, 0x24, 0x08, 0x14, 0x80, 0x6C, 0xC9, 0x10, 0x82, 0x20, 0xE1,
+0x6C, 0x1F, 0x04, 0x92, 0x24, 0x29, 0x07, 0xDA, 0x90, 0x00, 0x24, 0x08,
+0x20, 0xC3, 0x10, 0x05, 0x27, 0x11, 0x12, 0x3E, 0xA6, 0x4D, 0x40, 0x34,
+0x08, 0xB2, 0x25, 0x4F, 0x06, 0x01, 0x04, 0x0A, 0x61, 0x4C, 0x53, 0xA0,
+0x2C, 0x52, 0x20, 0x4B, 0xF2, 0x8C, 0x14, 0x38, 0x02, 0xB6, 0x48, 0xC8,
+0x40, 0x09, 0x28, 0xA9, 0x65, 0xDA, 0x46, 0x42, 0x24, 0x09, 0x2C, 0xC9,
+0xA5, 0x90, 0x02, 0x00, 0x2A, 0x8B, 0x36, 0x1D, 0x14, 0x08, 0x12, 0x03,
+0x20, 0x30, 0x07, 0x04, 0x82, 0x50, 0x5A, 0x04, 0x3A, 0x49, 0x42, 0xA2,
+0x16, 0x25, 0x48, 0x48, 0xB9, 0x24, 0x39, 0x01, 0x43, 0x66, 0x00, 0x94,
+0x88, 0xC5, 0xB2, 0x42, 0x85, 0x4C, 0x42, 0x00, 0xB2, 0x09, 0x09, 0x08,
+0x02, 0x22, 0x90, 0x0C, 0x40, 0x20, 0x91, 0x14, 0xD1, 0x64, 0x09, 0x4E,
+0x92, 0xA4, 0x0C, 0x10, 0x18, 0xA0, 0x01, 0x00, 0x61, 0x00, 0x9A, 0x90,
+0x81, 0x09, 0x81, 0x20, 0x3A, 0xA2, 0x0C, 0x4C, 0x41, 0x80, 0xE0, 0x21,
+0x0D, 0x02, 0x12, 0x26, 0x0C, 0x59, 0x92, 0x6C, 0x23, 0x09, 0x92, 0xC0,
+0x82, 0x48, 0x3B, 0x48, 0xD2, 0xA4, 0x32, 0x20, 0xC0, 0x4C, 0xD2, 0x00,
+0x89, 0x05, 0x42, 0x46, 0x93, 0x04, 0x09, 0x00, 0x08, 0x15, 0x07, 0x0D,
+0x92, 0x08, 0x00, 0x00, 0x20, 0x6D, 0x93, 0xA6, 0x08, 0x10, 0x02, 0x69,
+0xDB, 0x35, 0x01, 0x82, 0x20, 0x50, 0x02, 0x34, 0x8D, 0x00, 0x00, 0x02,
+0xBD, 0x4D, 0xD2, 0x40, 0x40, 0x00, 0x00, 0x59, 0x92, 0x26, 0x02, 0x00,
+0x10, 0x68, 0x93, 0xB4, 0x01, 0x02, 0x10, 0x48, 0xD3, 0xB4, 0x09, 0x0A,
+0x00, 0x04, 0x25, 0x6D, 0xDB, 0x12, 0x04, 0x14, 0x04, 0x69, 0x93, 0x26,
+0x00, 0x00, 0x01, 0x68, 0xD8, 0xB6, 0x01, 0x00, 0x40, 0x40, 0xD3, 0x36,
+0x0D, 0x04, 0x00, 0x00, 0x27, 0x49, 0xDA, 0x08, 0x00, 0x12, 0x20, 0x49,
+0x92, 0xA4, 0x00, 0x00, 0x00, 0x4D, 0xFA, 0x65, 0x01, 0x80, 0x20, 0x51,
+0x93, 0x24, 0x09, 0x3F, 0x71, 0xEA, 0xB0, 0x60, 0x69, 0x73, 0x7D, 0x92,
+0x97, 0x00, 0x48, 0x10, 0x77, 0xEB, 0xE0, 0x06, 0x00, 0x82, 0x72, 0x7D,
+0x17, 0x3C, 0xD9, 0x82, 0x20, 0xA2, 0xFF, 0xD9, 0x40, 0x20, 0x09, 0xB2,
+0xAD, 0xDF, 0x86, 0x24, 0x49, 0x11, 0x69, 0x9F, 0x66, 0x04, 0x48, 0x02,
+0x00, 0xDD, 0xA3, 0x07, 0x0C, 0x02, 0x24, 0x34, 0xE7, 0x50, 0x98, 0x00,
+0x00, 0x20, 0x4B, 0x03, 0x82, 0x14, 0x48, 0x10, 0xF3, 0x1D, 0xF2, 0x04,
+0x03, 0x00, 0xE0, 0x93, 0xA2, 0x09, 0x08, 0x80, 0x20, 0x3A, 0xED, 0xFD,
+0x90, 0x24, 0x01, 0xB2, 0x4B, 0xC9, 0xDE, 0x24, 0x49, 0x12, 0x7D, 0xFA,
+0xF7, 0x22, 0x01, 0x92, 0xE0, 0x53, 0xC6, 0x1E, 0x48, 0x93, 0x24, 0x48,
+0x93, 0x00, 0xD5, 0x29, 0xCF, 0x02, 0x81, 0xE0, 0x80, 0x4D, 0x9A, 0x70,
+0xC8, 0x92, 0x15, 0x4C, 0x92, 0xA6, 0x85, 0x24, 0x0C, 0x51, 0x4B, 0x26,
+0xA9, 0x28, 0x01, 0x34, 0x25, 0x69, 0xBB, 0x02, 0x01, 0xA0, 0x80, 0x6C,
+0xCB, 0x34, 0x4C, 0x60, 0x2D, 0x44, 0xDA, 0xA6, 0x21, 0x10, 0x64, 0x40,
+0xDA, 0x26, 0x29, 0x41, 0x41, 0x1A, 0x94, 0x41, 0x80, 0xC0, 0x60, 0x68,
+0x08, 0x6D, 0xCA, 0x35, 0x80, 0x50, 0x20, 0x48, 0x80, 0x20, 0x10, 0xD4,
+0x10, 0x45, 0xDB, 0xE4, 0x28, 0x00, 0x01, 0x12, 0xB5, 0x6D, 0xD3, 0x02,
+0x18, 0x24, 0x80, 0x6D, 0x9B, 0x76, 0xC1, 0x16, 0x08, 0x68, 0x9B, 0xBA,
+0x55, 0x30, 0x19, 0x50, 0xDA, 0xB6, 0x2F, 0x00, 0x82, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x80, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x30, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x88, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x11, 0x04,
+0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x04, 0x00, 0xA0, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x49, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x24,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x08, 0x30, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10,
+0x00, 0x00, 0xC0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x22, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x80, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x0A, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x01, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x80, 0x21, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x40, 0x02, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x41, 0x00, 0x81, 0x00,
+0x09, 0x04, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04,
+0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80,
+0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, 0x04, 0x40, 0x02, 0x00, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x00,
+0x00, 0x11, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x20, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x20, 0x20, 0x00, 0x90, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x40, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x04, 0x24, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x42, 0x02, 0x01, 0x48, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x04,
+0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x42,
+0x20, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x81, 0x00, 0x00, 0x00, 0x44, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x02,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x04, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x08, 0x80,
+0x00, 0x00, 0x02, 0x10, 0x00, 0x02, 0x40, 0x40, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00, 0x20,
+0x08, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00,
+0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x80, 0x00, 0x00, 0x20, 0x01, 0x00, 0x80, 0x80, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x41, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x02, 0x00, 0x40,
+0x02, 0x30, 0x02, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x20, 0x01, 0x40, 0x00, 0x00, 0x08, 0x00, 0x21, 0x01, 0x00,
+0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00,
+0x04, 0x00, 0x00, 0x08, 0x20, 0x00, 0x10, 0x44, 0x00, 0x00, 0x84, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x45, 0x00,
+0x00, 0x00, 0x90, 0x00, 0x00, 0x02, 0x02, 0x40, 0x02, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x08, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
+0x00, 0x00, 0x00, 0x82, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x30,
+0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x08, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x89, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x91, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x04, 0x01, 0x44,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x80, 0x24,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x10, 0x40, 0x00, 0x00, 0x00, 0x04, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x01, 0x84, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x10, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x19, 0x90, 0x24, 0x49,
+0x90, 0x28, 0x98, 0x92, 0x01, 0x09, 0x18, 0x64, 0x41, 0xA0, 0x24, 0x4A,
+0x10, 0x20, 0x41, 0x92, 0x4C, 0x51, 0x92, 0x24, 0x89, 0x20, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x40, 0x40, 0x92, 0x04, 0x49, 0x92, 0x34, 0x49, 0x86,
+0x3D, 0x48, 0x92, 0x24, 0x51, 0x9C, 0x20, 0x01, 0x82, 0x24, 0x29, 0x24,
+0x59, 0x90, 0x25, 0x48, 0x92, 0x20, 0x09, 0x90, 0x00, 0x09, 0x92, 0x24,
+0x4B, 0x82, 0x04, 0x60, 0x12, 0x24, 0x01, 0x82, 0x14, 0x49, 0xB2, 0x24,
+0x09, 0x04, 0x4B, 0x82, 0x24, 0x49, 0x92, 0x28, 0x19, 0x80, 0x05, 0x49,
+0x92, 0x64, 0x09, 0x01, 0x26, 0x4A, 0x92, 0x24, 0x41, 0x90, 0x24, 0x58,
+0x32, 0x31, 0x09, 0x2C, 0x59, 0x92, 0x05, 0x09, 0x92, 0x28, 0x98, 0x92,
+0x01, 0x09, 0x00, 0x60, 0x49, 0xB2, 0x20, 0x0A, 0x10, 0x04, 0x41, 0x92,
+0x6C, 0x59, 0x92, 0x04, 0x88, 0x24, 0x41, 0x92, 0x25, 0x49, 0x92, 0x60,
+0x48, 0x12, 0x04, 0x48, 0x82, 0x24, 0x09, 0x96, 0x2D, 0x08, 0x82, 0x02,
+0x11, 0x94, 0x20, 0x09, 0x83, 0x04, 0x0C, 0x20, 0x59, 0x92, 0x24, 0x08,
+0x92, 0x20, 0x49, 0x92, 0x04, 0x48, 0x82, 0x24, 0x4B, 0x92, 0x04, 0x40,
+0x92, 0x24, 0x01, 0x92, 0x04, 0x40, 0x12, 0x24, 0x29, 0x04, 0x4B, 0x92,
+0x21, 0x45, 0x92, 0x28, 0x59, 0x82, 0x05, 0x09, 0x92, 0x60, 0x49, 0x10,
+0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x12, 0x34, 0x09, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, 0x10, 0x00,
+0x84, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00,
+0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x20, 0x01, 0x00, 0x00, 0x08, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x08, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x84, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00,
+0x08, 0x00, 0x00, 0x80, 0xA0, 0x00, 0x08, 0x00, 0x00, 0x40, 0x20, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x08, 0x41, 0x00, 0x00, 0x24, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x10,
+0x00, 0x81, 0x40, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x96, 0x24, 0x58, 0x02, 0x28, 0x49, 0xD2, 0x04, 0x49, 0x06, 0x44,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x20, 0xC1, 0x92, 0x24, 0x59, 0x82, 0x24,
+0xA9, 0x64, 0x49, 0x92, 0x24, 0x49, 0x92, 0x60, 0x43, 0x96, 0x04, 0x40,
+0x42, 0x24, 0x41, 0xD6, 0x24, 0x08, 0x92, 0x24, 0x41, 0x92, 0x44, 0x49,
+0x82, 0x24, 0x09, 0x24, 0x49, 0xB2, 0x25, 0x49, 0x92, 0x60, 0x49, 0x98,
+0x04, 0x49, 0x92, 0x24, 0x4B, 0x92, 0xA4, 0x48, 0x92, 0x24, 0x01, 0x92,
+0x34, 0x41, 0x92, 0x24, 0x2D, 0xA4, 0xCB, 0x92, 0x24, 0x49, 0x90, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x09, 0x92, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x82, 0x24, 0x59, 0x92, 0x04, 0x09, 0x04, 0x49, 0x96, 0x04, 0x49,
+0x90, 0x28, 0x00, 0x12, 0x06, 0x49, 0x82, 0x64, 0x49, 0x02, 0x24, 0x4A,
+0x80, 0x24, 0xC1, 0x12, 0x00, 0x59, 0x02, 0x24, 0x88, 0x76, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x50, 0x4B, 0x96, 0x04, 0x40, 0x82, 0x26, 0x6D, 0x96,
+0x04, 0x48, 0x12, 0x24, 0x41, 0x9A, 0x64, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0xB2, 0x20, 0x49, 0x92, 0x60, 0x49, 0x92, 0x04, 0x48, 0x92, 0x24,
+0x4B, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24,
+0x09, 0x24, 0xC3, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x12, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x9A, 0x36, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x21, 0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
+0x02, 0x60, 0xD8, 0xB6, 0xE9, 0x03, 0xB0, 0x50, 0xD0, 0xB6, 0xAD, 0x53,
+0x84, 0x49, 0xA1, 0xB4, 0x6D, 0x5B, 0x0E, 0x69, 0x78, 0x94, 0x6D, 0x7B,
+0x76, 0x81, 0x87, 0x2A, 0x94, 0x32, 0x67, 0xE3, 0x87, 0x06, 0x0B, 0xBB,
+0x45, 0x3B, 0x83, 0xAC, 0x43, 0x20, 0x6F, 0xDD, 0xF0, 0x22, 0x01, 0xCA,
+0x46, 0x9F, 0x16, 0x4D, 0xD1, 0x30, 0xCC, 0xAB, 0xAC, 0x03, 0xD0, 0x00,
+0x81, 0xA6, 0x6E, 0x17, 0xC3, 0x22, 0x2A, 0xB8, 0xC6, 0x3B, 0x02, 0xA4,
+0x58, 0x05, 0xCD, 0xD1, 0x30, 0x15, 0xC1, 0x0A, 0xC9, 0xB2, 0x64, 0x13,
+0x00, 0x21, 0xD1, 0xB6, 0x6D, 0x5B, 0x92, 0x65, 0x01, 0xBE, 0xEF, 0xDF,
+0x1E, 0x00, 0xC1, 0x10, 0x4D, 0x93, 0x76, 0xA6, 0x6C, 0xA9, 0x08, 0x51,
+0x20, 0xB0, 0x05, 0x0B, 0x42, 0x02, 0x40, 0xA0, 0x21, 0x82, 0x16, 0x80,
+0x04, 0xE0, 0x60, 0x82, 0x8E, 0x91, 0x30, 0xC8, 0x08, 0x13, 0xA0, 0x51,
+0x00, 0x15, 0x18, 0x51, 0x2A, 0xC9, 0x88, 0x84, 0x0C, 0x08, 0xAC, 0x51,
+0x91, 0x44, 0x04, 0x43, 0x90, 0xD9, 0xB3, 0x84, 0x09, 0x29, 0x30, 0xF3,
+0x2C, 0x6B, 0x18, 0x86, 0x75, 0xB0, 0xA4, 0x4B, 0x07, 0x01, 0x25, 0x20,
+0xAE, 0x69, 0x98, 0x84, 0x0D, 0x81, 0x21, 0x6B, 0xA6, 0x00, 0x06, 0x02,
+0x04, 0x82, 0x24, 0xC1, 0x18, 0x8D, 0x29, 0x89, 0x65, 0x58, 0x46, 0x42,
+0x32, 0x88, 0xAE, 0x38, 0xB7, 0x10, 0x00, 0x68, 0x62, 0x4B, 0x12, 0x1C,
+0x14, 0x01, 0x10, 0x0B, 0x12, 0x04, 0x07, 0x41, 0x1A, 0x58, 0x02, 0x04,
+0x39, 0x09, 0x11, 0x24, 0x62, 0x20, 0x71, 0x68, 0x98, 0x20, 0x31, 0x20,
+0x63, 0x62, 0x52, 0x06, 0x88, 0x68, 0x11, 0x00, 0x31, 0x61, 0x10, 0x20,
+0x91, 0x03, 0x00, 0x40, 0x81, 0x10, 0x13, 0x85, 0x0C, 0x50, 0x08, 0xA0,
+0x40, 0x06, 0x00, 0x02, 0x10, 0x32, 0x05, 0x06, 0xF0, 0x94, 0x01, 0x00,
+0x10, 0x40, 0x52, 0x04, 0x08, 0x2B, 0xD0, 0x22, 0x71, 0x45, 0x64, 0x60,
+0x50, 0x06, 0x91, 0x81, 0x41, 0x49, 0x02, 0x04, 0x08, 0x0D, 0x11, 0x66,
+0xA3, 0x69, 0x90, 0xC0, 0x80, 0x00, 0xBB, 0x49, 0x1A, 0x20, 0x14, 0x00,
+0xC0, 0x04, 0x04, 0x22, 0x99, 0x24, 0x00, 0x06, 0x92, 0x20, 0x0C, 0x00,
+0x08, 0xB0, 0x27, 0x4D, 0xDA, 0x08, 0x20, 0x02, 0x20, 0x69, 0x53, 0x26,
+0x40, 0x08, 0x04, 0x69, 0x93, 0xA4, 0x49, 0x00, 0x08, 0x50, 0xD2, 0xA4,
+0x89, 0x21, 0x00, 0x10, 0x35, 0x6D, 0x9B, 0x42, 0x02, 0x80, 0x88, 0x4D,
+0x9B, 0x34, 0x80, 0x08, 0x05, 0x4C, 0xBA, 0xA6, 0x81, 0x00, 0x00, 0x40,
+0x9B, 0x34, 0x2D, 0x41, 0x00, 0xA0, 0x35, 0x45, 0xD3, 0x81, 0x00, 0x00,
+0x00, 0x6D, 0xD3, 0x26, 0x82, 0x22, 0x0C, 0x4C, 0xDB, 0xA6, 0x01, 0x20,
+0x00, 0x48, 0xD3, 0x26, 0x0D, 0x00, 0x00, 0x10, 0xB7, 0x6D, 0xDB, 0x00,
+0x41, 0x10, 0xA0, 0x49, 0x9E, 0x26, 0x80, 0x10, 0x04, 0x4D, 0x9A, 0x2E,
+0x01, 0x02, 0x00, 0x51, 0x92, 0xB4, 0x09, 0x37, 0x65, 0x0A, 0x90, 0x20,
+0x21, 0xB3, 0x4B, 0xE8, 0x95, 0x04, 0x88, 0x10, 0x2F, 0xF3, 0x10, 0x06,
+0x4C, 0x12, 0x30, 0xDB, 0x36, 0x3D, 0x09, 0x12, 0x34, 0x84, 0xDC, 0xC8,
+0x80, 0x00, 0x40, 0x81, 0x78, 0x11, 0x06, 0xA0, 0x40, 0x02, 0x48, 0x53,
+0x32, 0x20, 0x41, 0x18, 0x30, 0xD0, 0xA7, 0x85, 0x44, 0x82, 0x00, 0xA2,
+0x2A, 0x4B, 0x80, 0x28, 0x08, 0x22, 0x8B, 0x9F, 0x85, 0x00, 0x08, 0x10,
+0x38, 0xD1, 0x02, 0x20, 0x00, 0x10, 0x50, 0x53, 0x35, 0x00, 0x08, 0x90,
+0x30, 0x3A, 0x2C, 0xE9, 0x40, 0x80, 0x00, 0xF2, 0x08, 0xCB, 0x1E, 0x34,
+0x41, 0x10, 0x6F, 0xA2, 0xF3, 0x20, 0x41, 0x90, 0x40, 0xD1, 0x24, 0x1E,
+0x49, 0x02, 0x24, 0x40, 0x81, 0x13, 0xB4, 0x7D, 0x53, 0x02, 0xD8, 0xB0,
+0x86, 0x6D, 0x1A, 0x76, 0x98, 0x14, 0x08, 0x4C, 0xD3, 0x36, 0x85, 0x14,
+0x00, 0x58, 0xBB, 0x54, 0xAD, 0x16, 0x6A, 0xA6, 0xA1, 0x4B, 0xD1, 0x12,
+0x40, 0x3C, 0x05, 0x62, 0xD2, 0x06, 0x64, 0x22, 0xE0, 0xE8, 0xD1, 0x30,
+0x01, 0x28, 0x5C, 0x09, 0xD0, 0xA0, 0x0B, 0x08, 0x07, 0x00, 0xA0, 0x72,
+0x1E, 0x12, 0x0D, 0xB0, 0x82, 0x4D, 0xB8, 0x31, 0x00, 0x9A, 0x11, 0x40,
+0x10, 0x14, 0x61, 0x1C, 0x8A, 0x42, 0x5B, 0xB4, 0x29, 0x60, 0xCA, 0x10,
+0x24, 0x59, 0xD2, 0x22, 0x1A, 0xA6, 0x00, 0x6D, 0xD3, 0x76, 0x41, 0x86,
+0x08, 0x60, 0x59, 0xB0, 0x25, 0x98, 0x7F, 0x51, 0xDF, 0xB6, 0x29, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x24, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x12, 0x00, 0x20, 0x08, 0x12, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x04, 0x01, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x10, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x41, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x04, 0x08, 0x00, 0x00, 0x10,
+0x40, 0x10, 0x60, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x04, 0x00, 0x40, 0x10, 0x00, 0x00,
+0x43, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00,
+0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x40, 0x10, 0x60, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x01, 0x10, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x80, 0x00, 0x20, 0x08, 0x20,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00,
+0x41, 0x00, 0x00, 0x10, 0x00, 0x02, 0x02, 0x10, 0x00, 0x10, 0x00, 0x00,
+0x01, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x03, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x04, 0x00, 0x04, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x05, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x02, 0x01, 0x10, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00,
+0xA0, 0x00, 0x08, 0x80, 0x00, 0x20, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x11, 0x01, 0x41, 0x00, 0x00, 0x10,
+0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x04,
+0x00, 0x10, 0x81, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x02,
+0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00,
+0x08, 0x05, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x08, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80,
+0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x41, 0x80, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x44, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x06, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x08,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x30, 0x00, 0x00, 0x00, 0x10, 0x00, 0x18,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x08, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x08, 0x40, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00, 0x20,
+0x20, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x82, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x90, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x48, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x08, 0x00, 0x80, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, 0x20, 0x00, 0x20,
+0x08, 0x00, 0x02, 0x20, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x04, 0x10, 0x90, 0x00, 0x20, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x05, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x40, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x41, 0x60,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08,
+0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x90, 0x80, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x40, 0x00, 0x08, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00,
+0x10, 0x00, 0x00, 0x80, 0x00, 0x20, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x80,
+0x10, 0x00, 0x10, 0x14, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x11, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x10, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x41, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x30, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x01, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0x00, 0x00, 0x08, 0x00, 0x80, 0x10,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x00, 0x01, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x01, 0x80, 0x04, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x40, 0x00, 0x02, 0x00, 0x80, 0x00, 0x01, 0x01, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x02, 0x00, 0x04, 0x00, 0x00, 0x04,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0xA0, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x80, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x01, 0x00, 0x10, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x41, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x09, 0x92, 0x25, 0x09, 0x82, 0x24, 0x08, 0xD2, 0x04, 0x49, 0x90, 0x42,
+0x89, 0x82, 0x60, 0x4A, 0x92, 0x2C, 0x41, 0x12, 0x24, 0x51, 0x12, 0x24,
+0x99, 0x34, 0x41, 0x90, 0x05, 0x49, 0xB2, 0x20, 0x49, 0x12, 0x00, 0x4B,
+0x93, 0x24, 0x09, 0x92, 0x20, 0x08, 0x82, 0x24, 0x50, 0x10, 0x28, 0x08,
+0x80, 0x24, 0x29, 0x20, 0x19, 0x82, 0x25, 0x09, 0x92, 0x00, 0x49, 0x12,
+0x00, 0xC9, 0x92, 0x24, 0x09, 0x82, 0x04, 0x48, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x48, 0xB2, 0x04, 0x09, 0x20, 0x09, 0x82, 0x25, 0x09, 0x82, 0x0C,
+0xCB, 0xB0, 0x04, 0x09, 0x90, 0x64, 0x48, 0x16, 0x25, 0x48, 0x92, 0x25,
+0x41, 0x82, 0x29, 0x41, 0x92, 0x44, 0x09, 0x24, 0x08, 0x12, 0x20, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x12, 0x44, 0xC9, 0x02, 0x64, 0x4A,
+0x10, 0x04, 0x40, 0x02, 0x24, 0x58, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x09, 0x92, 0x20, 0x40, 0x92, 0x04, 0x4D, 0x82, 0x24, 0x41, 0x82,
+0x24, 0x48, 0x82, 0x22, 0x10, 0x90, 0x2C, 0x09, 0x92, 0x04, 0x09, 0x20,
+0x59, 0x82, 0x24, 0x09, 0x02, 0x00, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24,
+0x48, 0x82, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x09, 0x82, 0x2C,
+0x09, 0x24, 0x49, 0x12, 0x24, 0x4D, 0x92, 0x28, 0xCB, 0xB2, 0x04, 0x41,
+0x10, 0x64, 0x49, 0x96, 0x25, 0x4A, 0x8A, 0x00, 0x41, 0x92, 0x29, 0x59,
+0x12, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x28, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x20, 0x40, 0x40, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x88, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10,
+0x02, 0x00, 0x00, 0x10, 0x82, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x10, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x90, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00, 0x80, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01,
+0x10, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0xC0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x24, 0xD9, 0x92, 0x04, 0x49, 0x02, 0x20, 0x51, 0x92,
+0x04, 0x48, 0xD2, 0x44, 0xC9, 0xA2, 0x64, 0x4A, 0x12, 0x04, 0x41, 0x90,
+0x24, 0x59, 0x92, 0x04, 0x80, 0x24, 0x49, 0x12, 0x20, 0x09, 0x92, 0x40,
+0x4B, 0x93, 0x04, 0x49, 0x90, 0x20, 0x49, 0x82, 0x24, 0x08, 0x92, 0x24,
+0x40, 0x02, 0x24, 0x4D, 0x12, 0x20, 0x00, 0x24, 0x50, 0x12, 0x20, 0x09,
+0x9A, 0x20, 0x48, 0x92, 0x04, 0xC9, 0x92, 0x24, 0x48, 0x90, 0x2C, 0x48,
+0x92, 0x24, 0x41, 0x92, 0x04, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x20, 0x09, 0x92, 0x20, 0x49, 0x10, 0x04, 0x49, 0x92, 0x24, 0x69, 0x82,
+0x24, 0x4A, 0x92, 0x24, 0x41, 0x90, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24,
+0xD8, 0x92, 0x25, 0x09, 0x92, 0x28, 0x59, 0x92, 0x04, 0x49, 0x92, 0x44,
+0xC9, 0xB0, 0x64, 0x4A, 0x92, 0x25, 0x41, 0x82, 0x24, 0x59, 0x80, 0x24,
+0xA8, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x60, 0x4B, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x12, 0x20, 0x41, 0x92, 0x24, 0x49,
+0x82, 0x20, 0x0C, 0x24, 0x59, 0x92, 0x25, 0x48, 0x92, 0x20, 0x49, 0x82,
+0x04, 0x49, 0x12, 0x24, 0x49, 0x92, 0x2C, 0x48, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x49, 0x02, 0x24, 0x08, 0x24, 0x09, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x40, 0x92, 0x64, 0x49, 0x92, 0x24, 0x48, 0x12, 0x24,
+0x41, 0x82, 0x24, 0x59, 0x80, 0x04, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00,
+0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x20, 0x00, 0x08, 0x10, 0x61, 0xD8, 0xB4, 0x4D, 0x13, 0x28, 0xA3,
+0xD0, 0x96, 0x65, 0x59, 0x02, 0x29, 0xC9, 0xB4, 0x6D, 0xDB, 0x2E, 0x44,
+0x52, 0x96, 0x7D, 0xDF, 0x77, 0x68, 0x10, 0x60, 0x18, 0xB4, 0x69, 0x03,
+0x89, 0x58, 0xC9, 0x92, 0x2D, 0x1B, 0x16, 0x04, 0x5A, 0xF4, 0x6D, 0xDB,
+0x92, 0x04, 0x08, 0x86, 0x7B, 0xFB, 0x36, 0x4C, 0xDA, 0x85, 0xE8, 0xDD,
+0x5C, 0x41, 0x9A, 0xA4, 0xCA, 0x04, 0x79, 0x18, 0x5A, 0x36, 0x4E, 0x9C,
+0xB4, 0xCA, 0x03, 0x24, 0x4D, 0x00, 0x7D, 0xC2, 0x27, 0x70, 0x18, 0x1D,
+0x70, 0x94, 0x2D, 0x23, 0x0E, 0x0D, 0x50, 0x97, 0x6D, 0x5B, 0x08, 0x4D,
+0x0B, 0xD4, 0x7D, 0xFB, 0x5E, 0x04, 0x01, 0xD0, 0x7C, 0xDA, 0x74, 0xB2,
+0x2D, 0x08, 0x40, 0x00, 0x10, 0xA9, 0x45, 0x58, 0x02, 0x32, 0x1C, 0x0A,
+0x65, 0xC2, 0x12, 0x80, 0x00, 0x48, 0x40, 0x1F, 0xC0, 0x99, 0x20, 0x48,
+0x10, 0x92, 0x24, 0x9B, 0x8C, 0x00, 0x00, 0x90, 0x64, 0x83, 0x06, 0xBE,
+0x44, 0x08, 0x30, 0xCB, 0x84, 0x00, 0xA6, 0x00, 0xE2, 0x5D, 0xBE, 0x81,
+0x00, 0x01, 0x00, 0xFA, 0x37, 0x4E, 0x58, 0x20, 0x05, 0xB2, 0x65, 0x4F,
+0x44, 0x20, 0x00, 0x06, 0x27, 0xED, 0xF0, 0x20, 0x69, 0x18, 0x62, 0x5F,
+0xD2, 0x04, 0x20, 0x10, 0x02, 0x86, 0x64, 0xC0, 0x80, 0xA9, 0x40, 0x99,
+0x21, 0x50, 0xC6, 0x20, 0x06, 0x89, 0x25, 0x84, 0xB8, 0xA0, 0x02, 0x41,
+0x32, 0x5D, 0xB2, 0x9D, 0x81, 0x48, 0x11, 0x59, 0x80, 0x20, 0x07, 0x09,
+0x5A, 0x02, 0x16, 0x06, 0x39, 0x49, 0x12, 0xB4, 0xA0, 0x24, 0x54, 0x60,
+0x12, 0x80, 0x88, 0x08, 0x04, 0x62, 0x82, 0xA2, 0x80, 0x61, 0x13, 0x00,
+0x15, 0x28, 0x52, 0x42, 0x3B, 0x10, 0x80, 0x49, 0x90, 0x10, 0x03, 0x05,
+0x01, 0x20, 0xC3, 0x84, 0x10, 0x22, 0x00, 0x00, 0x80, 0x04, 0x05, 0x13,
+0x48, 0x80, 0x85, 0x00, 0xC0, 0x10, 0x80, 0xA0, 0x09, 0x00, 0x49, 0x04,
+0xD8, 0x12, 0x0C, 0x00, 0x06, 0x06, 0x90, 0x08, 0x0C, 0x41, 0x4B, 0x82,
+0x28, 0x21, 0x0A, 0x64, 0x07, 0x08, 0x82, 0x30, 0xD8, 0x00, 0x3B, 0x40,
+0x8A, 0x24, 0x4A, 0x20, 0xD0, 0x08, 0x83, 0x10, 0x69, 0x00, 0x0B, 0x06,
+0x8E, 0x20, 0x09, 0x20, 0x08, 0x10, 0x37, 0x49, 0x9B, 0x2A, 0x00, 0x12,
+0x20, 0x69, 0x9A, 0xBE, 0x01, 0x82, 0x04, 0x69, 0xD2, 0xB5, 0x41, 0x90,
+0xC4, 0x58, 0x92, 0xA0, 0x89, 0x00, 0x01, 0x40, 0xB5, 0x69, 0x92, 0x00,
+0x40, 0x00, 0x80, 0x6D, 0xD2, 0x24, 0x01, 0x00, 0x14, 0x68, 0xF3, 0xA4,
+0x01, 0x06, 0xA4, 0x45, 0x92, 0x26, 0x29, 0x48, 0x36, 0x00, 0x35, 0x69,
+0xD3, 0x02, 0x00, 0x0C, 0x00, 0x69, 0xD2, 0x26, 0x26, 0x25, 0x40, 0x78,
+0xDB, 0x34, 0x01, 0x05, 0x40, 0x41, 0x96, 0xB6, 0x29, 0x00, 0x00, 0x00,
+0x87, 0x6D, 0xDA, 0x00, 0x40, 0x80, 0xA0, 0x68, 0x9A, 0x26, 0x48, 0x80,
+0x04, 0x29, 0xDA, 0x24, 0x51, 0x04, 0x20, 0x50, 0x9B, 0x36, 0x09, 0x56,
+0x45, 0xC3, 0x80, 0x24, 0x44, 0x91, 0x67, 0x09, 0x97, 0x04, 0x41, 0x00,
+0xEC, 0x19, 0xB2, 0x06, 0x09, 0x02, 0xA0, 0x4F, 0x33, 0x95, 0x49, 0x56,
+0x24, 0x06, 0x6E, 0x9A, 0x00, 0x04, 0x49, 0xA2, 0x34, 0xCB, 0x06, 0x00,
+0x29, 0x12, 0x5C, 0xDB, 0xA2, 0x04, 0x08, 0x13, 0xE0, 0xD0, 0x18, 0x08,
+0x49, 0x90, 0x04, 0x33, 0x01, 0x57, 0x80, 0x84, 0x08, 0x30, 0x41, 0x12,
+0x86, 0x04, 0x09, 0x10, 0x81, 0x88, 0xA2, 0x84, 0x00, 0x82, 0xD0, 0x9A,
+0xB0, 0x08, 0x49, 0x00, 0x04, 0x3D, 0x61, 0xE3, 0x30, 0x00, 0x01, 0x52,
+0x01, 0x5B, 0x1F, 0x05, 0x45, 0x10, 0x33, 0x77, 0xFA, 0x44, 0x25, 0x92,
+0x20, 0x92, 0x16, 0x1F, 0x40, 0x80, 0x24, 0x84, 0x52, 0x9E, 0xBD, 0x6D,
+0x93, 0x40, 0x88, 0xA0, 0x84, 0x4D, 0xD3, 0x65, 0x1A, 0x10, 0x29, 0x5C,
+0xDB, 0x3E, 0x15, 0xA0, 0x29, 0x50, 0xCB, 0x30, 0xAC, 0x9C, 0xC8, 0x25,
+0x25, 0x4D, 0x9F, 0x20, 0x80, 0x24, 0x09, 0x49, 0x9F, 0x26, 0xC8, 0x30,
+0x68, 0x0C, 0x9A, 0x36, 0x01, 0x81, 0x41, 0x4A, 0xED, 0x96, 0x3B, 0x84,
+0x80, 0x38, 0x05, 0x04, 0x8A, 0xC0, 0x3E, 0x51, 0x80, 0x4D, 0x82, 0x34,
+0x00, 0x40, 0x01, 0x44, 0x02, 0xA4, 0x20, 0xE0, 0x23, 0x4E, 0x82, 0x24,
+0x0C, 0xCA, 0x91, 0x12, 0x15, 0x4F, 0x9B, 0x42, 0x02, 0xA6, 0x00, 0x4C,
+0xF3, 0x76, 0x90, 0x12, 0x05, 0x0C, 0xCA, 0x86, 0x85, 0xE2, 0xC4, 0x10,
+0xC2, 0xB6, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x50, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x01, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x50, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x02, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x81, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
+0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x08, 0xA0, 0x01, 0x20, 0x00, 0x00, 0x01, 0x00, 0x40, 0x24, 0x00, 0x00,
+0x90, 0x2C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x20, 0x01, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x90, 0x04, 0x00, 0x00, 0x40, 0x10, 0x00, 0x20, 0x01, 0x10,
+0x10, 0x00, 0x00, 0x20, 0x48, 0x00, 0x40, 0x10, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x01, 0x01, 0x04, 0x00, 0x24, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x40, 0x24, 0x00, 0x00, 0x90, 0x24, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x04, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x08, 0x10, 0x00, 0x90, 0x04,
+0x00, 0x00, 0x40, 0x10, 0x00, 0x20, 0x01, 0x10, 0x00, 0x00, 0x00, 0x20,
+0x48, 0x00, 0x40, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x15, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
+0x00, 0x24, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x22,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x90, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
+0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x10,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x08, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00,
+0x41, 0x02, 0x80, 0x01, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x16, 0x00, 0x00, 0x04, 0x00,
+0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x40, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x20, 0x00, 0x20, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80,
+0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x08,
+0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x01, 0x80, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x01, 0x80,
+0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x09, 0x10, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x88, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x80, 0x00, 0x05, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x80, 0x02, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x44, 0x01, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x30, 0x00, 0x02,
+0x04, 0x00, 0x22, 0x04, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x14, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x20, 0x01, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
+0x00, 0x00, 0x80, 0x04, 0x00, 0x20, 0x00, 0x02, 0x04, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x60, 0x00,
+0x81, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x24, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x03, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x80, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x80, 0x01, 0x00,
+0x05, 0x00, 0x40, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x14, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00,
+0x04, 0x00, 0x01, 0x20, 0x04, 0x04, 0x20, 0x00, 0x00, 0x00, 0x20, 0x80,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x80, 0x08, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x08, 0x04, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x40,
+0x00, 0x10, 0x04, 0x08, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x0D, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x41, 0x92, 0x24, 0x49, 0x92, 0xA8, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x10, 0x44, 0x4A, 0x92, 0x04, 0x01, 0x92,
+0x24, 0x4B, 0x92, 0x24, 0x81, 0x00, 0xC0, 0x10, 0x21, 0x49, 0x92, 0x60,
+0x48, 0xB2, 0x04, 0x49, 0x92, 0x20, 0x01, 0x92, 0x04, 0x00, 0x92, 0x24,
+0x41, 0x52, 0x20, 0x49, 0x90, 0x24, 0x09, 0x00, 0x4A, 0x92, 0x24, 0x49,
+0x92, 0x20, 0x01, 0x90, 0x00, 0x1A, 0x92, 0x20, 0x40, 0x80, 0x24, 0x48,
+0x90, 0x64, 0x01, 0x92, 0x30, 0x49, 0x12, 0x00, 0x09, 0xA0, 0x09, 0x90,
+0xA0, 0x49, 0xB2, 0x2C, 0xC9, 0x92, 0x04, 0x49, 0x92, 0x60, 0x40, 0x02,
+0x20, 0x4A, 0xB2, 0x24, 0x41, 0x92, 0x2C, 0x58, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x10, 0x25, 0x49, 0x90, 0x28, 0x09, 0x90, 0x04, 0x49, 0x92, 0x44,
+0x09, 0x82, 0x64, 0x4A, 0x92, 0x24, 0x40, 0x92, 0x24, 0x5B, 0x92, 0x34,
+0x81, 0x04, 0xC8, 0x90, 0x24, 0x41, 0x90, 0x60, 0x48, 0xB2, 0x04, 0x48,
+0x12, 0x20, 0x01, 0x92, 0x24, 0x08, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x90, 0x04, 0x08, 0x24, 0x4B, 0x92, 0x25, 0x41, 0x92, 0x20, 0x49, 0x92,
+0x04, 0x08, 0x82, 0x20, 0x49, 0x12, 0x24, 0x48, 0x92, 0x20, 0x00, 0x92,
+0x24, 0x49, 0x12, 0x20, 0x09, 0x00, 0x49, 0x92, 0x21, 0x49, 0x90, 0x28,
+0xC9, 0x92, 0x04, 0x49, 0x90, 0x64, 0x49, 0x12, 0x24, 0x0A, 0x92, 0x20,
+0x41, 0x12, 0x2C, 0x59, 0x12, 0x04, 0x09, 0x00, 0x00, 0x01, 0x01, 0x00,
+0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x22, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x81, 0x00, 0x00, 0x10, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x11, 0x00, 0x00, 0x00, 0x20, 0x08, 0x82, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x42, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x34, 0xC0, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x24, 0x10,
+0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x01, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x06, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x81, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00,
+0x02, 0x80, 0x24, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x40, 0x02, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x02, 0x00, 0x08, 0xA0, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x59, 0x92, 0x24, 0x09,
+0x12, 0x28, 0x49, 0x92, 0x04, 0x41, 0x92, 0x64, 0x49, 0x92, 0x65, 0x6A,
+0x12, 0x24, 0x41, 0xB2, 0x25, 0x59, 0x92, 0x24, 0x89, 0x6C, 0x48, 0x92,
+0x00, 0x09, 0x90, 0x20, 0x49, 0x92, 0x04, 0x41, 0x92, 0x04, 0xD9, 0x9A,
+0x24, 0x0C, 0x92, 0x24, 0x81, 0x12, 0x24, 0x49, 0x92, 0x04, 0x09, 0x24,
+0x89, 0x92, 0x10, 0x09, 0xB0, 0x62, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24,
+0x4D, 0x92, 0x04, 0x08, 0x92, 0x24, 0x41, 0x92, 0x20, 0x09, 0x92, 0x25,
+0x19, 0x20, 0x49, 0x92, 0x04, 0x4D, 0x90, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x93, 0x64, 0x6B, 0x10, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x92, 0x25, 0x09, 0x64, 0x79, 0xD2, 0x24, 0x49, 0x92, 0x28, 0x69, 0x92,
+0x04, 0x49, 0x92, 0x44, 0x08, 0x92, 0x65, 0x4A, 0x92, 0x04, 0x41, 0xB2,
+0x35, 0x59, 0x92, 0x24, 0x89, 0x6C, 0x49, 0x9A, 0x24, 0x49, 0x93, 0x20,
+0x48, 0x52, 0x04, 0x49, 0x82, 0x24, 0xD9, 0x82, 0x24, 0x68, 0x92, 0x24,
+0xC1, 0x92, 0x24, 0x49, 0x12, 0x04, 0x09, 0x24, 0xC9, 0x93, 0x24, 0x00,
+0x00, 0x60, 0x69, 0x9A, 0x04, 0x48, 0x82, 0x24, 0x49, 0x9A, 0xB6, 0x48,
+0x12, 0x24, 0x41, 0x9B, 0x24, 0x4D, 0x00, 0x24, 0x09, 0x84, 0x49, 0x90,
+0x04, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x41, 0x12, 0x64, 0x4B, 0x92,
+0x24, 0x4A, 0x92, 0x04, 0x41, 0x90, 0x24, 0x59, 0x90, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x4A, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x94, 0x02, 0xD8, 0xBE,
+0x45, 0x02, 0x80, 0x86, 0xD4, 0xB6, 0x75, 0x49, 0x02, 0x23, 0x91, 0xB4,
+0x65, 0xDE, 0x0E, 0x00, 0x4C, 0x96, 0x6D, 0x8F, 0x7F, 0xDC, 0x04, 0x44,
+0xE0, 0xBE, 0x5D, 0x23, 0x02, 0xAC, 0x40, 0xB4, 0x6D, 0x18, 0x0E, 0x0A,
+0xD4, 0x9C, 0x65, 0xCB, 0x12, 0x20, 0xC2, 0x40, 0x6D, 0xDB, 0x37, 0x20,
+0x9B, 0xA0, 0x58, 0xDA, 0x6B, 0x41, 0x92, 0x34, 0xCB, 0x36, 0x8B, 0x3F,
+0x92, 0xB6, 0x40, 0xF4, 0x17, 0x91, 0x01, 0x84, 0x28, 0x89, 0x49, 0x78,
+0x02, 0x24, 0x22, 0x05, 0x69, 0xAC, 0x4D, 0x03, 0x48, 0xEC, 0xD0, 0x17,
+0x6C, 0x59, 0x28, 0x0A, 0x12, 0xDC, 0x65, 0xDB, 0x46, 0x6C, 0x5B, 0x90,
+0xFC, 0xDB, 0x77, 0xB2, 0x29, 0x59, 0x48, 0x02, 0x9C, 0xB0, 0x6D, 0x4D,
+0x42, 0x12, 0x2C, 0x12, 0x65, 0x48, 0x03, 0x90, 0x28, 0x08, 0x61, 0x5B,
+0xF2, 0x9B, 0x24, 0x18, 0x02, 0x2A, 0x28, 0x1F, 0x14, 0x10, 0x02, 0x90,
+0x2D, 0x53, 0x86, 0x10, 0x06, 0x0A, 0x22, 0x51, 0x22, 0xA0, 0x8E, 0x19,
+0x70, 0x59, 0x50, 0x0D, 0x04, 0x00, 0x10, 0x92, 0xF6, 0x5B, 0xC8, 0xB6,
+0x20, 0xB3, 0xE5, 0xEB, 0x4D, 0x02, 0x40, 0x09, 0xFD, 0x4D, 0xD6, 0x90,
+0x48, 0x02, 0x20, 0x59, 0x9E, 0x84, 0x00, 0xC2, 0x26, 0x92, 0x0F, 0xD8,
+0x98, 0x80, 0x04, 0xB9, 0x24, 0x01, 0x46, 0x60, 0x01, 0x0B, 0x45, 0xD1,
+0xA0, 0x20, 0x88, 0x05, 0x2A, 0xA7, 0xE0, 0x9D, 0x03, 0x00, 0x10, 0xD3,
+0x00, 0x20, 0x17, 0x01, 0x90, 0x58, 0x86, 0x21, 0x39, 0x49, 0xC0, 0xA4,
+0xB6, 0x02, 0x6A, 0x60, 0x12, 0x22, 0x91, 0x0D, 0x88, 0x60, 0x92, 0x02,
+0x80, 0x05, 0x51, 0x20, 0x05, 0x40, 0x82, 0x62, 0x92, 0x25, 0x0B, 0x41,
+0x03, 0x24, 0x99, 0x05, 0x09, 0x40, 0x93, 0x24, 0x00, 0x01, 0x08, 0x02,
+0x1A, 0xF4, 0x08, 0x5B, 0x24, 0x6C, 0x25, 0x01, 0x11, 0x90, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x09, 0x00, 0x00, 0xA5, 0x90, 0xA0,
+0xF1, 0x43, 0xC3, 0x14, 0x09, 0x23, 0xD0, 0x62, 0x07, 0x41, 0x82, 0x10,
+0xC0, 0x00, 0x3A, 0x48, 0x0A, 0xA4, 0x08, 0x02, 0xC8, 0x00, 0x92, 0x24,
+0xD9, 0x10, 0x00, 0x46, 0x02, 0x90, 0x08, 0x00, 0x00, 0x00, 0x37, 0x41,
+0x9B, 0x08, 0x00, 0x00, 0x20, 0x49, 0xDA, 0x36, 0x00, 0x02, 0x21, 0x69,
+0xDA, 0x36, 0x09, 0x00, 0x00, 0x5B, 0x92, 0x32, 0x89, 0x00, 0x41, 0x16,
+0x35, 0x41, 0x92, 0x02, 0x00, 0x02, 0x84, 0x49, 0x93, 0x26, 0x03, 0x00,
+0x00, 0x68, 0x9B, 0x34, 0x01, 0x00, 0x00, 0x49, 0xBA, 0xB4, 0x09, 0x00,
+0x92, 0x00, 0xB5, 0x6D, 0x92, 0x02, 0x80, 0x20, 0x00, 0x69, 0xD2, 0x2C,
+0x90, 0x45, 0x00, 0x48, 0xDA, 0xA6, 0x01, 0x00, 0x0A, 0x40, 0x9B, 0xA6,
+0x2D, 0x00, 0x42, 0x10, 0x97, 0x49, 0x9A, 0x08, 0x00, 0x00, 0x20, 0x68,
+0xDB, 0xA6, 0x08, 0x80, 0x00, 0x21, 0x9A, 0x3D, 0x41, 0x30, 0x00, 0x51,
+0x93, 0x3C, 0x09, 0xF7, 0x4F, 0x91, 0x80, 0x2C, 0x40, 0xF2, 0x4F, 0x3F,
+0x90, 0x24, 0x01, 0x08, 0xFD, 0x99, 0x9E, 0x06, 0x01, 0x80, 0xF0, 0xDF,
+0xE3, 0xB0, 0x49, 0x84, 0x24, 0xB8, 0x3E, 0xE1, 0x80, 0x2C, 0x49, 0x01,
+0x5D, 0x11, 0x42, 0x24, 0x48, 0x10, 0x74, 0xD3, 0xB2, 0x84, 0x40, 0xC2,
+0x52, 0xD3, 0xF4, 0x04, 0x41, 0x02, 0x24, 0x9F, 0x64, 0x5E, 0x00, 0x00,
+0x49, 0xB0, 0x4D, 0xC2, 0x8F, 0x04, 0x09, 0x12, 0x6D, 0x00, 0x6D, 0x24,
+0x01, 0x10, 0xF0, 0x32, 0xD5, 0x02, 0x40, 0x10, 0x00, 0x2F, 0x29, 0xE3,
+0x20, 0x24, 0x41, 0x72, 0x05, 0x5B, 0x9E, 0x05, 0x00, 0x10, 0x73, 0x58,
+0xF6, 0x4E, 0x41, 0x82, 0x10, 0xCE, 0xE4, 0x1E, 0x48, 0x82, 0x24, 0x0C,
+0xD2, 0xCE, 0xA5, 0x65, 0xD3, 0x02, 0x10, 0x92, 0x84, 0x6D, 0x83, 0x64,
+0x08, 0xF4, 0x04, 0x4C, 0xD3, 0xB0, 0x05, 0xA0, 0x15, 0x50, 0xDB, 0xA0,
+0xA4, 0x42, 0x82, 0x88, 0x85, 0x65, 0xCB, 0x80, 0x40, 0xC0, 0x00, 0x6D,
+0xDA, 0x34, 0x40, 0xA2, 0x44, 0x44, 0xD2, 0xA6, 0xA1, 0xA6, 0x25, 0x00,
+0xD3, 0x66, 0x2C, 0x24, 0x09, 0x81, 0x34, 0x01, 0xD8, 0x40, 0x3A, 0x1D,
+0x80, 0x6D, 0x1D, 0x12, 0x02, 0x38, 0xB2, 0x2C, 0x81, 0x34, 0x42, 0x4F,
+0x00, 0x4C, 0x9E, 0x05, 0x09, 0xCC, 0x04, 0x0C, 0x05, 0x65, 0xFB, 0x42,
+0x3B, 0xB6, 0x81, 0x4C, 0xD2, 0x74, 0x92, 0x24, 0x05, 0x04, 0xF3, 0xB6,
+0x05, 0x00, 0x0D, 0x50, 0x4A, 0x26, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x20, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x82, 0x00, 0x00, 0x00, 0x00, 0x09,
+0x20, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x08, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x81, 0x10, 0x00, 0x00, 0x00, 0x20, 0x01, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x24, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x40, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00,
+0x82, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x90, 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x10, 0x00, 0x00, 0x20, 0x20, 0x01, 0x80, 0x40, 0x80, 0x00, 0x00,
+0x00, 0xA2, 0x24, 0x00, 0x00, 0x82, 0x01, 0x40, 0x08, 0x20, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x22, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x24, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x14,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x12,
+0x00, 0x00, 0x04, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x21, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04,
+0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x01,
+0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x08, 0x80,
+0x00, 0x00, 0x40, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x90, 0x20, 0x04, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x01, 0x12, 0x00, 0x00, 0x04, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x01, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x05, 0x08, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x01, 0x19, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x81, 0x00, 0x00, 0x02, 0x08, 0x80, 0x00, 0x00, 0x40, 0x10,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
+0x20, 0x04, 0x00, 0x00, 0x81, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x40, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x80, 0x00,
+0x10, 0x00, 0x00, 0x42, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x05, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x10,
+0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x08, 0x92, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x84, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x05,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x81, 0x01, 0x00, 0x61, 0x00,
+0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x20, 0x0C, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x81, 0x08, 0x00, 0x04, 0x00, 0x88, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x80,
+0x00, 0x00, 0x42, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00,
+0x20, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04,
+0x00, 0x48, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x8A, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x82, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00,
+0x00, 0x02, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x80, 0x10, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
+0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x24, 0x01, 0x00, 0x00, 0x22, 0x00, 0x04, 0x00, 0x00, 0xA8,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x02, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x08, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40,
+0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x02,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x01, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x81,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x83, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x20, 0x02, 0x00, 0x00, 0x00, 0x82, 0x14, 0x04, 0x00, 0x00, 0x00, 0x20,
+0x80, 0x20, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x01, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x80,
+0x00, 0x00, 0x00, 0x02, 0x96, 0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x90, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x20, 0x00, 0x86, 0x40, 0x00, 0x43,
+0x14, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x00, 0x04, 0x00, 0x00, 0x00, 0x41, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x22, 0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x41, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x40,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x20, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x04, 0x80, 0x00, 0x02, 0x00, 0x81, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x01, 0x00, 0x40, 0x00, 0x80, 0x28, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
+0x08, 0x00, 0x00, 0x00, 0x01, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x10, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x22, 0x00, 0x00, 0x11, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x20, 0x00, 0x40, 0x00,
+0x41, 0x50, 0x00, 0x04, 0x02, 0x00, 0x00, 0x24, 0x40, 0x00, 0x10, 0x00,
+0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x04, 0x80, 0x00, 0x10, 0x20, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x04,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x40, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x24, 0x4B, 0x96, 0x24, 0xC9,
+0x82, 0x2C, 0x08, 0x12, 0x00, 0x49, 0x82, 0x60, 0xC1, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x53, 0x92, 0x24, 0x53, 0x92, 0x24, 0x88, 0x00, 0x65, 0x82,
+0x34, 0x4B, 0x83, 0x60, 0x88, 0x90, 0x01, 0x09, 0x90, 0x20, 0x01, 0x92,
+0x4C, 0x48, 0xB2, 0x24, 0x11, 0x10, 0x04, 0x40, 0x12, 0x24, 0x09, 0x04,
+0x49, 0x10, 0x24, 0x49, 0x90, 0x40, 0x49, 0xA2, 0x00, 0x49, 0x10, 0x24,
+0x49, 0x82, 0x07, 0x48, 0x92, 0x20, 0x41, 0xB3, 0x49, 0x43, 0x82, 0x24,
+0x08, 0x04, 0x40, 0x92, 0x24, 0x49, 0x82, 0x28, 0xC9, 0x02, 0x04, 0xC3,
+0x90, 0x64, 0x4B, 0x36, 0x20, 0x42, 0x96, 0x24, 0x81, 0x10, 0x20, 0x59,
+0x92, 0xAC, 0x0B, 0x24, 0x4B, 0x96, 0x05, 0x41, 0x82, 0x28, 0x49, 0x82,
+0x04, 0x49, 0x82, 0x60, 0xC9, 0x92, 0x24, 0x4A, 0x10, 0x04, 0x51, 0x02,
+0x24, 0x12, 0x92, 0x24, 0x80, 0x04, 0x49, 0x12, 0x25, 0x49, 0x82, 0x60,
+0x89, 0x92, 0x05, 0x48, 0x90, 0x20, 0x09, 0x92, 0x6C, 0x48, 0x82, 0x00,
+0x10, 0x90, 0x24, 0x09, 0x12, 0x24, 0x08, 0x04, 0x49, 0x90, 0x25, 0x49,
+0x00, 0x40, 0x49, 0xB0, 0x00, 0x68, 0x12, 0x24, 0x49, 0x92, 0x05, 0x48,
+0x92, 0x20, 0x41, 0xB2, 0x4D, 0x03, 0x02, 0x00, 0x00, 0x20, 0x09, 0x92,
+0x25, 0x01, 0x92, 0x28, 0xC1, 0x02, 0x04, 0x08, 0x80, 0x64, 0x4B, 0xA6,
+0x00, 0x46, 0x02, 0x24, 0xC1, 0x10, 0x20, 0x59, 0x90, 0x24, 0x09, 0x80,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x90, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x81, 0x00, 0x00, 0x84,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x82,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x06, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x14, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x60,
+0x00, 0x00, 0x09, 0x01, 0x00, 0x04, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x48, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x01, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00,
+0x80, 0x00, 0x00, 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x40, 0x01, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x84, 0xA0, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x04, 0x00, 0x00, 0x48, 0x00, 0x00, 0x60, 0x81, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00,
+0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x10, 0x00, 0x24,
+0x09, 0x92, 0x24, 0xC9, 0x92, 0x28, 0xD9, 0x92, 0x0D, 0xC9, 0x92, 0x60,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x2C, 0x59, 0x82, 0x24,
+0x88, 0x64, 0x49, 0x12, 0x24, 0x49, 0xD2, 0x60, 0x0A, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x59, 0x92, 0x64, 0x48, 0x92, 0x24, 0x41, 0x22, 0x20, 0x48,
+0x82, 0x24, 0x08, 0x24, 0x49, 0xB0, 0x24, 0x48, 0x92, 0x20, 0x49, 0xB2,
+0x0C, 0x48, 0x92, 0x24, 0x59, 0x9B, 0x84, 0x40, 0x92, 0x24, 0x51, 0x12,
+0x05, 0x4B, 0x92, 0x24, 0x09, 0x24, 0x49, 0xBE, 0x24, 0x49, 0x92, 0x28,
+0xC9, 0x96, 0x04, 0x49, 0x92, 0x64, 0x2A, 0x92, 0x24, 0x0A, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0xD2, 0x24, 0x49,
+0x82, 0x28, 0xD1, 0x92, 0x0D, 0x49, 0x12, 0x40, 0x49, 0x92, 0x24, 0x4A,
+0x90, 0x20, 0x40, 0x92, 0x2C, 0x59, 0x92, 0x00, 0x81, 0xE4, 0x49, 0x92,
+0x24, 0x48, 0x82, 0x40, 0x4B, 0x92, 0x04, 0x01, 0x92, 0x00, 0x79, 0x92,
+0x64, 0x08, 0x82, 0x20, 0x40, 0xB2, 0x24, 0x49, 0x92, 0x20, 0x00, 0x24,
+0x29, 0x30, 0x24, 0x00, 0x00, 0x30, 0x0D, 0xB2, 0x08, 0x48, 0x80, 0x04,
+0x59, 0x92, 0x24, 0x08, 0x82, 0x24, 0x51, 0x82, 0x25, 0x07, 0x12, 0x20,
+0x01, 0x04, 0x49, 0xB6, 0x24, 0x40, 0x92, 0x28, 0xC9, 0x96, 0x04, 0x41,
+0xD2, 0x64, 0x4B, 0x92, 0x24, 0x02, 0x92, 0x26, 0x21, 0x10, 0x36, 0x59,
+0x82, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0x18, 0x00,
+0x00, 0x00, 0x80, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20, 0x00, 0x00, 0x00, 0x40,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x04, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xC4, 0x22, 0xD9, 0xB6, 0x64, 0x02, 0x30, 0x02, 0xD6, 0xB6, 0x67, 0x4B,
+0x10, 0x05, 0x01, 0xB6, 0xED, 0xDF, 0x8E, 0x81, 0x40, 0x96, 0x6D, 0x9D,
+0x7E, 0x11, 0xA2, 0x31, 0xD9, 0xA4, 0x2F, 0x13, 0x5E, 0x24, 0xC9, 0x9E,
+0xCC, 0x3F, 0x80, 0x84, 0x08, 0x34, 0x6D, 0xB1, 0x30, 0x26, 0x29, 0x89,
+0xF5, 0x5B, 0x10, 0x08, 0xD3, 0xB3, 0x95, 0x33, 0xA4, 0x61, 0x11, 0x26,
+0x40, 0xB3, 0x65, 0x13, 0xF1, 0x2C, 0x29, 0xA0, 0xEE, 0x7F, 0xD3, 0x04,
+0x01, 0xC0, 0x4E, 0x97, 0x34, 0x0C, 0xC2, 0x0E, 0xE1, 0xBC, 0x64, 0x23,
+0x1A, 0x09, 0x50, 0x14, 0x6D, 0x5B, 0x9A, 0x66, 0x0B, 0x9C, 0xE5, 0xDF,
+0x16, 0x24, 0x00, 0x50, 0x7D, 0x93, 0x76, 0xB6, 0x29, 0xD9, 0x48, 0x4A,
+0x2D, 0xB8, 0x4C, 0x59, 0x40, 0x10, 0x38, 0x99, 0x6D, 0x48, 0x97, 0x90,
+0x00, 0x48, 0x60, 0x5A, 0xB2, 0x9B, 0x20, 0x02, 0x02, 0x82, 0xC4, 0xCA,
+0x28, 0x01, 0x44, 0x81, 0x22, 0x69, 0x4F, 0xA1, 0x01, 0x09, 0x24, 0x59,
+0x9E, 0x48, 0x04, 0x03, 0x00, 0xED, 0x92, 0x04, 0x2A, 0x85, 0x25, 0x96,
+0x2C, 0x68, 0x00, 0x16, 0x69, 0xD3, 0x64, 0xD9, 0x86, 0x86, 0x2C, 0x25,
+0x84, 0x61, 0x9F, 0x04, 0x05, 0x81, 0xB0, 0xCB, 0xB3, 0x84, 0x05, 0x00,
+0x00, 0x9A, 0x26, 0xC1, 0x14, 0x91, 0x0D, 0x99, 0x24, 0x52, 0x86, 0x20,
+0x30, 0x09, 0x26, 0x39, 0xB1, 0xB0, 0x0C, 0x40, 0x7A, 0xCD, 0xB2, 0x1D,
+0x26, 0x01, 0x13, 0xCB, 0x90, 0x25, 0xA7, 0xE9, 0x10, 0x50, 0x16, 0x60,
+0x35, 0x0D, 0x90, 0x24, 0xB6, 0x14, 0x5A, 0x08, 0x02, 0xA2, 0xB9, 0x0C,
+0xCC, 0x60, 0xD0, 0x20, 0x80, 0x69, 0x00, 0x44, 0x21, 0x45, 0x10, 0x00,
+0x08, 0x42, 0x80, 0x01, 0x4A, 0x00, 0x9A, 0x81, 0x40, 0x4C, 0x88, 0x04,
+0xD1, 0x02, 0x00, 0x03, 0x02, 0x10, 0x09, 0x00, 0x04, 0x4C, 0x81, 0x20,
+0x10, 0x20, 0x00, 0x40, 0x09, 0x08, 0x02, 0x24, 0x02, 0x00, 0x00, 0x28,
+0x08, 0x02, 0x20, 0x20, 0x40, 0x02, 0xC0, 0xA0, 0x09, 0x41, 0x60, 0x61,
+0x07, 0x65, 0xC0, 0x40, 0x10, 0x00, 0x3B, 0x01, 0x93, 0xA4, 0x14, 0x04,
+0xD8, 0x00, 0x00, 0x00, 0x89, 0x20, 0x09, 0x06, 0x4A, 0x24, 0x09, 0x00,
+0x40, 0x00, 0x27, 0x49, 0x9B, 0x00, 0x00, 0x02, 0x20, 0x4D, 0x98, 0x36,
+0x00, 0x11, 0x01, 0x49, 0x12, 0xA6, 0x01, 0xD1, 0x04, 0x58, 0x92, 0x23,
+0x89, 0x20, 0x40, 0x80, 0x25, 0x6D, 0xD2, 0x00, 0x02, 0x00, 0x80, 0x79,
+0xD3, 0x26, 0x08, 0x00, 0x00, 0x4C, 0xBA, 0xA7, 0x41, 0x20, 0x00, 0x40,
+0xDA, 0xB4, 0x2D, 0x00, 0x00, 0x80, 0xA1, 0x4C, 0xDB, 0x02, 0x00, 0x00,
+0x80, 0x6D, 0x9A, 0x24, 0xC9, 0x20, 0x03, 0xCC, 0xDB, 0xA6, 0x00, 0x40,
+0x01, 0x40, 0xD3, 0x35, 0x2D, 0x00, 0x01, 0x10, 0xB7, 0x69, 0x9B, 0x08,
+0x00, 0x80, 0xA0, 0x6D, 0x97, 0xA6, 0x02, 0x00, 0x00, 0x6D, 0x9B, 0x36,
+0x01, 0x80, 0x00, 0x50, 0xDA, 0x24, 0x09, 0xF7, 0x0D, 0x9D, 0x90, 0x24,
+0x40, 0xF2, 0xCF, 0xF8, 0x93, 0x20, 0x43, 0x00, 0xEF, 0xA2, 0xBE, 0x24,
+0xC9, 0x10, 0x70, 0x0E, 0xA9, 0x37, 0x4D, 0x94, 0x34, 0x06, 0x89, 0x47,
+0xD0, 0x00, 0x09, 0x32, 0x21, 0xF3, 0x4F, 0x04, 0x08, 0x10, 0x41, 0x5B,
+0x2C, 0x20, 0x41, 0x10, 0x00, 0xDC, 0x16, 0x86, 0x01, 0x0A, 0x00, 0xE5,
+0x0C, 0x6D, 0x14, 0x21, 0x00, 0xC0, 0x68, 0xD9, 0x04, 0x00, 0x41, 0x12,
+0x22, 0xDB, 0x4C, 0x20, 0x00, 0x10, 0xB1, 0xB3, 0x64, 0x0B, 0x08, 0x82,
+0x00, 0x28, 0x2E, 0xE1, 0x00, 0x14, 0x40, 0x42, 0x41, 0x5B, 0x1F, 0x00,
+0x48, 0x10, 0x65, 0xB9, 0xF7, 0x02, 0x40, 0x80, 0x50, 0x5F, 0xAD, 0x1F,
+0x01, 0x92, 0x24, 0x00, 0x42, 0x42, 0x34, 0x4D, 0xD2, 0x03, 0x81, 0x86,
+0x88, 0x69, 0xD1, 0x66, 0x00, 0xA2, 0x20, 0x6C, 0x5B, 0x31, 0x07, 0xA0,
+0x11, 0x50, 0x9B, 0xB0, 0xA5, 0x84, 0x1F, 0x30, 0xB5, 0x69, 0xB9, 0x62,
+0xD1, 0x9C, 0x00, 0x45, 0x12, 0x12, 0x61, 0x26, 0xB3, 0xE8, 0xD3, 0x94,
+0x01, 0x10, 0xED, 0x48, 0x43, 0x26, 0x09, 0x7B, 0xF3, 0x92, 0x38, 0x48,
+0x12, 0x00, 0x9B, 0x26, 0x02, 0x68, 0xD3, 0x3E, 0x5D, 0x96, 0x60, 0x48,
+0x50, 0x10, 0x40, 0x1C, 0x9E, 0x09, 0x98, 0x32, 0x2D, 0xA6, 0x99, 0x16,
+0x84, 0x41, 0x92, 0xA2, 0xEB, 0xA4, 0x00, 0x4F, 0xDA, 0x76, 0xC9, 0x82,
+0x04, 0x44, 0x53, 0xB2, 0x25, 0x12, 0x56, 0x10, 0x83, 0xB6, 0x2D, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0x80, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x12, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x24,
+0x88, 0x04, 0x00, 0x02, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x49, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80,
+0xA0, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x80, 0x18, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x08, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x49, 0x20,
+0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x12, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x60, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x08, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x02, 0x08, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x20, 0x00, 0x02, 0x80, 0x28,
+0x0A, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x11, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00,
+0x40, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02,
+0x00, 0x00, 0x08, 0x02, 0x21, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x20, 0x20, 0x00, 0x02, 0x81, 0x20, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x40, 0x01, 0x00,
+0x88, 0x04, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x40, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x81, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0xA3, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x01, 0x04, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x02, 0x01, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01,
+0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x48, 0x8A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x44, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x20, 0x00, 0x00,
+0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x24, 0x00, 0x00, 0x80, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x40, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x10, 0x40, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x42, 0x12, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x06, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x80, 0x44,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x58, 0x10, 0x44, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x80, 0x20, 0x08, 0x00, 0x02, 0x00, 0x08, 0x10, 0x04, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x40,
+0x00, 0x58, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x08, 0x10, 0x84, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x04, 0x08, 0x03, 0x00, 0x92, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x90, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x11,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x80, 0x08, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x20, 0x40,
+0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0x0C,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x02, 0x02, 0x00, 0x00,
+0x00, 0x08, 0x90, 0x20, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x02, 0x08,
+0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x20, 0x00, 0x01, 0x00, 0x28, 0x00,
+0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x84, 0x40, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x49, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x14, 0x01, 0x10, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20,
+0x42, 0xB0, 0x25, 0x48, 0x8A, 0x2C, 0x09, 0x94, 0x04, 0x49, 0x80, 0x64,
+0x09, 0x80, 0x61, 0x4A, 0x92, 0x04, 0x41, 0x50, 0x26, 0x5B, 0x92, 0x2C,
+0x89, 0x14, 0x0D, 0x00, 0x25, 0x49, 0x82, 0x00, 0x51, 0x92, 0x0C, 0x00,
+0x92, 0x24, 0x69, 0xA2, 0x04, 0x48, 0x22, 0x20, 0x41, 0xB2, 0x28, 0x43,
+0x92, 0x2C, 0x09, 0x04, 0x41, 0x30, 0x21, 0x49, 0x52, 0x20, 0x4A, 0x90,
+0x05, 0x41, 0x82, 0x24, 0x41, 0x92, 0x64, 0x08, 0x82, 0x20, 0x41, 0x80,
+0x26, 0x49, 0x82, 0x24, 0x09, 0x24, 0x59, 0x82, 0x25, 0x49, 0x92, 0x28,
+0x49, 0x97, 0x04, 0x49, 0x92, 0x64, 0xDA, 0x92, 0x24, 0x4A, 0x92, 0x04,
+0x41, 0x82, 0x24, 0x59, 0x12, 0x24, 0x09, 0x20, 0x0B, 0xB2, 0x24, 0x41,
+0x12, 0x28, 0x49, 0x96, 0x04, 0x49, 0x02, 0x20, 0x49, 0x90, 0x61, 0x42,
+0x92, 0x20, 0x40, 0x02, 0x24, 0x5B, 0x92, 0x24, 0x81, 0x04, 0x09, 0x00,
+0x04, 0x41, 0x92, 0x00, 0x59, 0x12, 0x0C, 0x01, 0x92, 0x04, 0x40, 0x32,
+0x04, 0x00, 0x42, 0x20, 0x01, 0xB2, 0x28, 0x47, 0x12, 0x04, 0x01, 0x20,
+0x49, 0x30, 0x04, 0x49, 0x12, 0x20, 0x43, 0x92, 0x05, 0x41, 0xD2, 0x20,
+0x4D, 0x92, 0x40, 0x40, 0x82, 0x20, 0x40, 0x92, 0x04, 0x49, 0x92, 0x24,
+0x09, 0x24, 0x59, 0x90, 0x04, 0x08, 0x92, 0x28, 0x09, 0x96, 0x04, 0x49,
+0x82, 0x64, 0xDA, 0x12, 0x24, 0x02, 0xB0, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x40, 0x00,
+0x02, 0x00, 0x80, 0x00, 0x00, 0x20, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x20,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x40, 0x02, 0x02, 0x00, 0x00,
+0x10, 0x10, 0x00, 0x00, 0x34, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x02, 0x04, 0x00, 0x00, 0x08, 0x00,
+0x30, 0x01, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x80, 0x0E, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x20, 0x04, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xA0, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x01, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x83, 0x00, 0x10, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80,
+0x04, 0x00, 0x00, 0x00, 0x41, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x92, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
+0xA0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02,
+0x08, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x82, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x40, 0x08, 0x80, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x40, 0x10, 0x00, 0x00, 0x40, 0x00, 0x04, 0x20, 0x00, 0x10, 0x01,
+0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x21, 0x04, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x0B, 0x92, 0x21, 0x49, 0x12, 0x28, 0x59, 0x93,
+0x04, 0x49, 0x12, 0x60, 0x41, 0x92, 0x20, 0x0A, 0x10, 0x04, 0x41, 0x82,
+0x24, 0x59, 0x92, 0x24, 0x09, 0x25, 0x49, 0xB0, 0x00, 0x08, 0x80, 0x60,
+0x48, 0x92, 0x0C, 0x09, 0x42, 0x00, 0x79, 0xB2, 0x6D, 0x00, 0x90, 0x00,
+0x11, 0x92, 0x64, 0x49, 0x82, 0x24, 0x28, 0x24, 0x49, 0x90, 0x00, 0x09,
+0x90, 0x20, 0x48, 0xB2, 0x44, 0x59, 0x90, 0x24, 0x4B, 0x92, 0x64, 0x00,
+0x12, 0x20, 0x41, 0x92, 0x04, 0x49, 0x82, 0x24, 0x19, 0x24, 0xCD, 0x83,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x93, 0x84, 0x49, 0x92, 0x60, 0x49, 0x9A,
+0x25, 0x02, 0x12, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24,
+0x02, 0x92, 0x20, 0x49, 0x92, 0x20, 0x59, 0x12, 0x00, 0x09, 0x90, 0x64,
+0x49, 0x90, 0x24, 0x4A, 0x92, 0x20, 0x41, 0x90, 0x20, 0x59, 0x92, 0x24,
+0x29, 0x25, 0x49, 0xB2, 0x25, 0x49, 0x92, 0x60, 0x49, 0x80, 0x0C, 0x49,
+0x12, 0x04, 0x51, 0xA2, 0x6D, 0x08, 0xC2, 0x24, 0x50, 0x00, 0x64, 0x41,
+0x12, 0x04, 0x01, 0x04, 0x49, 0x92, 0x24, 0x41, 0x10, 0x20, 0x49, 0xB2,
+0x00, 0x81, 0xB2, 0x20, 0x0A, 0x12, 0x44, 0x08, 0x82, 0x20, 0x41, 0x12,
+0x24, 0x09, 0x16, 0x24, 0x01, 0x20, 0x81, 0x92, 0x04, 0x49, 0x92, 0x28,
+0x09, 0x92, 0x04, 0x49, 0x12, 0x64, 0x49, 0x92, 0x25, 0x0A, 0x92, 0x20,
+0x41, 0x82, 0x04, 0x59, 0x92, 0x24, 0x09, 0x00, 0x08, 0x00, 0x00, 0x24,
+0x00, 0x06, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x08, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x48, 0x84, 0x20, 0x98, 0xB7, 0x4F, 0x06, 0xA3, 0x80,
+0xD4, 0xA2, 0x4D, 0x09, 0xC0, 0xA5, 0x00, 0xB4, 0x6C, 0xD9, 0x8A, 0x28,
+0x42, 0x86, 0x6F, 0xDB, 0x3F, 0xFA, 0x17, 0x22, 0x59, 0x3A, 0xF1, 0x42,
+0x04, 0x16, 0xCC, 0x36, 0xB7, 0x23, 0xB0, 0x22, 0x25, 0xF4, 0x67, 0x4E,
+0x20, 0xA0, 0x2D, 0x8A, 0x49, 0x2D, 0x1E, 0x00, 0x06, 0x32, 0xD8, 0x36,
+0x25, 0x02, 0xB0, 0x06, 0xCC, 0xF6, 0x75, 0x2F, 0x86, 0x2C, 0x09, 0xB4,
+0x61, 0xFE, 0x00, 0x14, 0x0D, 0x8B, 0x2D, 0x8D, 0x18, 0x01, 0x08, 0x01,
+0xBD, 0x97, 0x5D, 0x27, 0x0B, 0x8B, 0x10, 0x92, 0xE5, 0x19, 0x4F, 0x65,
+0x04, 0x90, 0x7C, 0xCB, 0x8A, 0x01, 0x62, 0xC0, 0x7F, 0x5E, 0x37, 0xD6,
+0xA0, 0xCB, 0x0A, 0x52, 0x04, 0xB8, 0x0C, 0x5B, 0x42, 0x06, 0x00, 0x1B,
+0x25, 0x4A, 0x96, 0xD0, 0x21, 0x6B, 0xE0, 0x51, 0xF4, 0x8B, 0x20, 0x49,
+0x00, 0x04, 0x2A, 0xF9, 0x80, 0x14, 0x28, 0xB0, 0x29, 0xCD, 0x0A, 0x12,
+0x6C, 0x14, 0x95, 0xC9, 0x93, 0x10, 0x0C, 0x90, 0x00, 0x5B, 0x9B, 0x06,
+0x00, 0x9B, 0x22, 0xB2, 0x20, 0x49, 0x08, 0x43, 0x6C, 0xB0, 0x15, 0xCD,
+0x0A, 0x00, 0x08, 0x19, 0x28, 0xC3, 0x9F, 0x80, 0x00, 0x08, 0x61, 0xCB,
+0xB3, 0x86, 0x60, 0x19, 0x24, 0xB7, 0x24, 0xDA, 0x02, 0x20, 0x00, 0x99,
+0x24, 0x40, 0xA6, 0xA5, 0x08, 0x4A, 0x20, 0x9E, 0xB2, 0xA5, 0x03, 0x50,
+0xA2, 0xD8, 0xD4, 0x0D, 0x80, 0xE8, 0x12, 0xAB, 0x02, 0x25, 0x05, 0x68,
+0x10, 0x50, 0x90, 0x64, 0x25, 0x41, 0x91, 0xE4, 0x96, 0x64, 0x53, 0x69,
+0x00, 0xA4, 0x3D, 0x24, 0x19, 0x60, 0x18, 0x24, 0x80, 0x68, 0x81, 0x08,
+0x05, 0x00, 0x02, 0x00, 0x12, 0x0A, 0x05, 0x48, 0x00, 0x04, 0x00, 0x05,
+0x48, 0x28, 0x51, 0x20, 0x91, 0x64, 0xC4, 0x40, 0x13, 0x00, 0x01, 0x0A,
+0x90, 0xAE, 0x35, 0x65, 0x13, 0x40, 0x42, 0x60, 0x00, 0x29, 0xC0, 0x00,
+0x30, 0x10, 0x02, 0x44, 0x08, 0x80, 0x91, 0x20, 0x44, 0x40, 0x82, 0x02,
+0x03, 0x00, 0x82, 0x60, 0x11, 0x48, 0x82, 0x00, 0x20, 0x00, 0x0B, 0x51,
+0x12, 0xA4, 0xC8, 0x00, 0xDD, 0x40, 0x02, 0x24, 0x45, 0x20, 0xB0, 0x16,
+0x80, 0x20, 0x08, 0x20, 0x00, 0x00, 0x27, 0x7D, 0xD3, 0x0C, 0x00, 0x00,
+0x30, 0x4D, 0x93, 0xF6, 0x00, 0x00, 0x00, 0x69, 0xB3, 0xA6, 0x05, 0x10,
+0x40, 0x4A, 0x9A, 0x26, 0xC9, 0x00, 0x02, 0xA0, 0xA5, 0x4D, 0x8B, 0x00,
+0x00, 0x00, 0x00, 0x5B, 0x59, 0x34, 0x81, 0x00, 0x05, 0x68, 0xDB, 0xB4,
+0x01, 0x82, 0x28, 0x40, 0x93, 0xB6, 0x2D, 0x04, 0x04, 0x00, 0x25, 0x6D,
+0xDB, 0x02, 0x48, 0x04, 0x08, 0x49, 0xDA, 0x30, 0x01, 0x02, 0x01, 0x48,
+0xD3, 0xA4, 0x01, 0x80, 0x01, 0x41, 0xD2, 0x35, 0x2D, 0x04, 0x00, 0x00,
+0x07, 0x68, 0x83, 0x2C, 0x08, 0x10, 0x90, 0x6D, 0x7B, 0xE6, 0x08, 0x10,
+0x04, 0x6C, 0x93, 0x34, 0x4D, 0x00, 0x20, 0x00, 0x8B, 0xA0, 0x49, 0xC7,
+0xED, 0x97, 0x92, 0x80, 0x08, 0xF6, 0x68, 0x76, 0xB3, 0x20, 0x48, 0x40,
+0x2F, 0x5B, 0xB7, 0x05, 0x48, 0x10, 0xFC, 0xCE, 0x3E, 0x25, 0x41, 0x90,
+0x64, 0x96, 0xCC, 0x1C, 0x50, 0x20, 0x50, 0xB2, 0xDD, 0xAD, 0x88, 0x24,
+0x82, 0x02, 0x7C, 0x95, 0x08, 0x04, 0x00, 0x02, 0x60, 0x50, 0xC3, 0x07,
+0x48, 0x00, 0x00, 0xB2, 0x49, 0x8D, 0x90, 0x00, 0x00, 0xB0, 0x33, 0xF8,
+0x83, 0x24, 0x01, 0x06, 0x6C, 0x98, 0x2E, 0x24, 0x08, 0x12, 0x70, 0x4B,
+0x62, 0x02, 0x09, 0x82, 0x00, 0x69, 0x43, 0xF6, 0xB2, 0x05, 0x58, 0x06,
+0x60, 0x2B, 0x1F, 0x00, 0x80, 0x50, 0x60, 0xCF, 0xF9, 0x01, 0x48, 0x82,
+0xBC, 0x97, 0xD7, 0xCF, 0x50, 0x16, 0x64, 0x10, 0x59, 0x58, 0xB5, 0x4C,
+0xD9, 0x02, 0x47, 0x88, 0x88, 0x69, 0xFA, 0xA4, 0x48, 0x90, 0x28, 0x4E,
+0xDA, 0x34, 0x01, 0x82, 0x00, 0x50, 0xD1, 0xB6, 0xA4, 0x01, 0x70, 0x47,
+0x35, 0x61, 0x43, 0x42, 0xE0, 0x30, 0x82, 0x6D, 0x01, 0x0E, 0x4A, 0x72,
+0xA4, 0x1C, 0x90, 0x22, 0x41, 0x89, 0x30, 0x49, 0xDA, 0x00, 0x05, 0x45,
+0x6B, 0x50, 0xA5, 0x49, 0x92, 0x03, 0x88, 0x12, 0x85, 0x0D, 0x83, 0x02,
+0xC3, 0x67, 0xE0, 0x68, 0xD3, 0x12, 0x01, 0x94, 0x98, 0x49, 0x9B, 0xA0,
+0x01, 0x58, 0x59, 0x0C, 0xC1, 0x5C, 0xEB, 0x72, 0xDB, 0xB6, 0x20, 0x49,
+0x53, 0xB5, 0x13, 0x20, 0x00, 0x4A, 0xCA, 0xA6, 0x11, 0x46, 0x09, 0x10,
+0xC9, 0x33, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x04, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x08, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x04, 0x00, 0x08, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x09, 0x86, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x24, 0x40, 0x82, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x02, 0x04, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x82, 0x00, 0x00,
+0x00, 0x80, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x40, 0x86, 0x00, 0x00, 0x00, 0x08, 0x00, 0x34,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x03, 0x04, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x40, 0x00, 0x00, 0x02, 0x04, 0x20, 0x01, 0x10, 0x00, 0x42, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
+0x40, 0x80, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x09, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x20, 0x20, 0x08, 0x80, 0x00, 0x20, 0x00, 0x00, 0x80, 0x04, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01,
+0x49, 0x12, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x04, 0x00, 0x02,
+0x04, 0x20, 0x01, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x80, 0x81, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x09, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x42, 0x28, 0x20, 0x08, 0x80,
+0x01, 0x20, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x49, 0x12, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0C,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x24, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x82, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x04, 0x08, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x12,
+0x08, 0x00, 0x00, 0x34, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x80, 0x01, 0x01, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x01,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x12,
+0x28, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08,
+0x00, 0x10, 0x20, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x08, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x10, 0x00,
+0x00, 0x01, 0x80, 0x10, 0x04, 0x00, 0x22, 0x80, 0x00, 0x08, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20, 0x20, 0x80, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x20, 0x00, 0x02, 0x20, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x40, 0x08, 0x00, 0x04, 0x60, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x51, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x20, 0x00, 0x02, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x81, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x01, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x02,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x30, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x24, 0x00,
+0x00, 0x80, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x20, 0x00, 0x11, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x80, 0x14, 0x00, 0x01, 0x04, 0x08, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x90, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x04,
+0x00, 0x08, 0x04, 0x20, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x18, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x40, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x08, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x24, 0x41, 0x00, 0x24, 0x41, 0x92, 0x28, 0xA1, 0x9A,
+0x00, 0x49, 0x92, 0x64, 0xC9, 0x92, 0x20, 0x4A, 0x92, 0x24, 0x41, 0x13,
+0x24, 0x58, 0x92, 0x20, 0x81, 0x04, 0x41, 0x92, 0x24, 0x49, 0x12, 0x00,
+0x49, 0x92, 0x06, 0x49, 0x92, 0x24, 0x4A, 0x12, 0x24, 0x48, 0x92, 0x24,
+0x11, 0x19, 0x04, 0x49, 0x92, 0x24, 0x19, 0x00, 0x49, 0x16, 0x04, 0x49,
+0x92, 0x20, 0x88, 0x92, 0x04, 0x48, 0x90, 0x04, 0x00, 0x00, 0x44, 0x48,
+0x12, 0x04, 0x42, 0x12, 0x20, 0x43, 0x92, 0x24, 0x01, 0x64, 0x41, 0x92,
+0x34, 0xC9, 0x92, 0x08, 0x49, 0x92, 0x04, 0x49, 0x94, 0x60, 0x79, 0x96,
+0x24, 0x0A, 0x82, 0x24, 0x80, 0x00, 0x22, 0x49, 0x92, 0x24, 0x09, 0x04,
+0x49, 0x92, 0x25, 0x49, 0x12, 0x28, 0xC9, 0x90, 0x00, 0x49, 0x10, 0x64,
+0xC9, 0x92, 0x24, 0x4A, 0x90, 0x24, 0x40, 0x12, 0x24, 0x58, 0x92, 0x24,
+0x89, 0x00, 0x41, 0x12, 0x05, 0x49, 0x12, 0x20, 0x49, 0x92, 0x04, 0x41,
+0x92, 0x24, 0x43, 0x92, 0x24, 0x40, 0x92, 0x24, 0x11, 0x92, 0x24, 0x09,
+0x92, 0x04, 0x09, 0x04, 0x41, 0x16, 0x05, 0x41, 0x82, 0x20, 0x89, 0x80,
+0x04, 0x49, 0x90, 0x04, 0x09, 0x82, 0x64, 0x48, 0x92, 0x04, 0x40, 0x12,
+0x20, 0x4B, 0x92, 0x26, 0x01, 0x64, 0x01, 0x92, 0x25, 0x48, 0x90, 0x00,
+0x48, 0x92, 0x00, 0x41, 0x92, 0x60, 0x59, 0x96, 0x24, 0x0A, 0x82, 0x24,
+0xC1, 0x12, 0x24, 0x19, 0x80, 0x24, 0x09, 0x00, 0x20, 0x20, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x92, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x92, 0x00, 0x01, 0x00,
+0x00, 0x82, 0x00, 0x00, 0x01, 0x00, 0x00, 0x84, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x20,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x44, 0x04, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x60,
+0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x41, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x14, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x01,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x24, 0x49,
+0x12, 0x28, 0xC8, 0x92, 0x05, 0x49, 0x92, 0x64, 0x59, 0x90, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x25, 0x51, 0xD2, 0x24, 0x88, 0x28, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x00, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x5B, 0x92,
+0x04, 0x48, 0x12, 0x24, 0x41, 0x92, 0x04, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x59, 0x92, 0x04, 0x49, 0x90, 0x20, 0xC8, 0x96, 0x04, 0x49, 0x92, 0x24,
+0x49, 0x92, 0x24, 0x48, 0x93, 0x24, 0x01, 0x92, 0x04, 0x49, 0x92, 0x04,
+0x19, 0x84, 0x09, 0x90, 0xA0, 0x09, 0x92, 0x28, 0xC9, 0x92, 0x04, 0x41,
+0x92, 0x66, 0x41, 0x16, 0x24, 0x1A, 0xB2, 0x24, 0xD1, 0x92, 0x24, 0x5B,
+0x90, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0xC9, 0x92,
+0x25, 0x49, 0x90, 0x44, 0x59, 0x92, 0x24, 0x4A, 0x92, 0x04, 0x41, 0x92,
+0x25, 0x59, 0x92, 0x24, 0xA9, 0x2C, 0x49, 0xD2, 0x24, 0x49, 0x12, 0x20,
+0x49, 0x92, 0x04, 0x41, 0x82, 0x24, 0x5B, 0x92, 0x24, 0x4C, 0x90, 0x00,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x04, 0x01, 0x84, 0x1C, 0x5A, 0x04, 0x49,
+0x10, 0xA0, 0xC9, 0x87, 0x04, 0x49, 0x80, 0x04, 0x49, 0x8A, 0x26, 0x08,
+0x00, 0x00, 0x40, 0x93, 0x26, 0x41, 0x92, 0x24, 0x09, 0x04, 0x4D, 0x92,
+0x24, 0x41, 0x82, 0x28, 0xC8, 0x12, 0x04, 0x49, 0x82, 0x64, 0x49, 0x14,
+0xA4, 0x0A, 0x90, 0x00, 0xD1, 0x92, 0x24, 0x1B, 0x02, 0x20, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x00, 0x40, 0x02, 0x24, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0A, 0x24,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x26, 0x70, 0xDB, 0xB6,
+0x2D, 0x07, 0xB0, 0x00, 0xD3, 0xB6, 0x6D, 0x1F, 0x80, 0x0D, 0x08, 0xB4,
+0x6D, 0xBB, 0x02, 0x68, 0x03, 0x85, 0x6D, 0xDB, 0x30, 0x4D, 0x13, 0x22,
+0xE9, 0xB2, 0x67, 0x42, 0x28, 0x02, 0xCD, 0x95, 0x65, 0x0F, 0xAA, 0x80,
+0x48, 0x8C, 0x6F, 0x9D, 0x42, 0x21, 0x48, 0x03, 0x5C, 0xDF, 0x3A, 0x28,
+0xD0, 0x20, 0x78, 0xE4, 0x4C, 0x62, 0xD8, 0xA4, 0x4C, 0x94, 0xEA, 0x0D,
+0x18, 0x34, 0x01, 0xD4, 0x8D, 0xD3, 0x02, 0xE4, 0x61, 0xC3, 0xF9, 0x51,
+0x3B, 0x0B, 0x89, 0x00, 0xDB, 0x83, 0x7F, 0x47, 0x52, 0x85, 0xD0, 0xB6,
+0x4C, 0x39, 0xC2, 0x85, 0x04, 0xB4, 0x7E, 0xC9, 0x2A, 0x21, 0x0A, 0x88,
+0xCD, 0xDA, 0x57, 0xB6, 0x08, 0x8B, 0x48, 0xD2, 0x44, 0xB8, 0x0D, 0x59,
+0x45, 0x92, 0x20, 0x09, 0x6D, 0xC0, 0x9E, 0x90, 0x84, 0x08, 0x68, 0x83,
+0xB4, 0x88, 0x24, 0x40, 0x45, 0x9A, 0x6C, 0xC9, 0x10, 0x14, 0x0C, 0xD0,
+0x05, 0xC9, 0x43, 0x30, 0x08, 0x11, 0x86, 0x5B, 0xB6, 0x60, 0x24, 0x03,
+0x22, 0xDA, 0x96, 0x46, 0x01, 0x09, 0x06, 0x9A, 0x35, 0x4B, 0xC4, 0x88,
+0x15, 0x90, 0xA5, 0x79, 0x82, 0x20, 0x21, 0x1A, 0x74, 0x69, 0x92, 0x38,
+0x44, 0x20, 0x23, 0x2F, 0xD6, 0x06, 0x00, 0x82, 0x04, 0xB4, 0xE4, 0xDB,
+0x40, 0x24, 0x04, 0x99, 0x2D, 0x4A, 0x66, 0x02, 0x03, 0x0A, 0xA4, 0x5E,
+0xB2, 0x90, 0x05, 0x5B, 0x00, 0x68, 0xB0, 0x45, 0x00, 0x40, 0x32, 0xDB,
+0x90, 0x25, 0x25, 0x61, 0x32, 0xD0, 0x06, 0xEC, 0x20, 0x09, 0x91, 0xE0,
+0xB6, 0x10, 0x43, 0x49, 0xA8, 0x84, 0xB5, 0x05, 0x19, 0x63, 0x12, 0x22,
+0x89, 0x05, 0x01, 0x04, 0x01, 0x00, 0x70, 0x22, 0x92, 0x44, 0x04, 0x48,
+0xD3, 0x02, 0x18, 0x6D, 0x40, 0x44, 0xD8, 0x80, 0x50, 0x40, 0x22, 0x41,
+0x02, 0x80, 0x20, 0x50, 0x02, 0x25, 0x05, 0x29, 0x18, 0x40, 0x02, 0x00,
+0x08, 0x08, 0x08, 0x00, 0x81, 0x02, 0x48, 0x08, 0x22, 0xA0, 0x81, 0x00,
+0x08, 0x80, 0x43, 0x30, 0x20, 0x10, 0x03, 0x60, 0x11, 0x48, 0x80, 0x20,
+0x80, 0x20, 0x03, 0x00, 0xC2, 0xC4, 0x40, 0x00, 0x5F, 0x61, 0x80, 0x24,
+0x85, 0x00, 0x91, 0x4E, 0x5A, 0x15, 0x08, 0x00, 0x00, 0x80, 0x27, 0x4D,
+0xD2, 0x0C, 0x00, 0x80, 0x11, 0x49, 0x9B, 0x66, 0x00, 0x18, 0x00, 0x49,
+0x9A, 0xA4, 0x0D, 0x40, 0x04, 0x40, 0xD2, 0x24, 0xCD, 0x08, 0x00, 0x12,
+0x3D, 0x4D, 0x9C, 0x60, 0x29, 0x13, 0x01, 0x69, 0x9B, 0x34, 0x82, 0x82,
+0x00, 0x6C, 0x93, 0x22, 0x01, 0x00, 0x00, 0x48, 0x83, 0x20, 0x0D, 0x00,
+0x08, 0x00, 0xB5, 0x49, 0xD3, 0x22, 0x00, 0x00, 0x80, 0x69, 0x9B, 0x32,
+0x01, 0x40, 0x00, 0x6C, 0xDA, 0xB6, 0x01, 0x50, 0x10, 0x09, 0x93, 0xA6,
+0x0D, 0x04, 0x40, 0x00, 0x27, 0x6C, 0x82, 0x0C, 0x00, 0x90, 0x90, 0x49,
+0x93, 0xC6, 0x08, 0x10, 0x04, 0x4D, 0x93, 0x36, 0x0D, 0x00, 0x00, 0x48,
+0xDB, 0x36, 0x68, 0xFF, 0xED, 0x47, 0x90, 0xA0, 0x09, 0xF6, 0x6F, 0x7A,
+0xB6, 0x24, 0x40, 0xD8, 0x7F, 0xC3, 0xAF, 0x25, 0x41, 0x12, 0xFC, 0x9F,
+0x38, 0x2C, 0x09, 0x92, 0x60, 0x30, 0xCC, 0x8D, 0x80, 0x30, 0x43, 0x12,
+0xD4, 0xC4, 0x82, 0x04, 0x40, 0x02, 0x61, 0x7D, 0xA7, 0x00, 0x48, 0x94,
+0x02, 0xD6, 0xA7, 0x06, 0x58, 0x96, 0x20, 0x1C, 0x31, 0x93, 0x00, 0x24,
+0x08, 0x00, 0x85, 0x3A, 0x03, 0x04, 0x40, 0x04, 0x74, 0xA3, 0xA4, 0x00,
+0x01, 0x00, 0xD0, 0x2E, 0x4C, 0x42, 0x48, 0x10, 0x20, 0xF0, 0xA0, 0xF7,
+0x92, 0x01, 0x59, 0xB6, 0x29, 0x23, 0x7F, 0x24, 0x48, 0xF0, 0xE5, 0x47,
+0x7B, 0x21, 0x48, 0x80, 0xEC, 0xB3, 0xF6, 0x07, 0x00, 0x88, 0x45, 0x00,
+0x43, 0x10, 0xB6, 0x4D, 0xBB, 0x02, 0xD0, 0x02, 0x88, 0x6D, 0xDA, 0x32,
+0x00, 0x26, 0x30, 0x6E, 0xD3, 0x16, 0x01, 0x30, 0xC0, 0x50, 0xDB, 0xB4,
+0xA9, 0x60, 0x92, 0x72, 0x84, 0x69, 0x91, 0x80, 0x48, 0x32, 0x88, 0x4C,
+0x92, 0x20, 0x45, 0x80, 0x19, 0x50, 0x91, 0x30, 0xA1, 0x2C, 0x49, 0xC8,
+0xCA, 0x32, 0x03, 0xA5, 0xCC, 0xD8, 0x14, 0x0D, 0xD2, 0xA2, 0x58, 0x87,
+0x05, 0x4F, 0x50, 0x20, 0x0A, 0x9C, 0x27, 0x1C, 0x1B, 0x36, 0x51, 0x91,
+0x23, 0x89, 0x0E, 0x24, 0x00, 0x49, 0x1C, 0x04, 0xA5, 0x48, 0xC9, 0x42,
+0x52, 0x9C, 0x88, 0x6D, 0x9A, 0x15, 0x1B, 0xA0, 0x00, 0x4E, 0xC8, 0xA4,
+0x51, 0xDE, 0x4C, 0x50, 0x13, 0xA6, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x09, 0x90, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x21, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x04, 0x04, 0x08, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x04, 0x48, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x03, 0x40, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x01, 0x04,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x80,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80,
+0x20, 0x00, 0x00, 0x82, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x04, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x02, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x80, 0x08, 0x10, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x01, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x48, 0x00,
+0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20, 0x08, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x40, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x24,
+0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x02, 0x80, 0x20, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x01, 0x01, 0x00, 0x04, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x82, 0x01, 0x04,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x24, 0x40, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x02, 0x81, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xA0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x50, 0x20, 0x00, 0x40, 0x00, 0x00, 0x04, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x02, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x42, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x03, 0x00, 0x44,
+0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x90, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00, 0x0C, 0x08,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x20, 0x02, 0x40, 0x00, 0x04, 0x80, 0x10,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x02,
+0x00, 0x80, 0x09, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xC0,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x09, 0x00,
+0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x84,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x10, 0x05, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x20, 0x00,
+0x00, 0x48, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x40, 0x01, 0x00,
+0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0xA0, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x40, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x20, 0x00, 0x00, 0x48, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x08, 0x02, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x84, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00,
+0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x40, 0x82, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x09, 0x02, 0x00, 0x82,
+0x04, 0x41, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x00,
+0x60, 0x04, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x01, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x01,
+0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x40,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x48, 0x92, 0x24, 0x49,
+0x92, 0x29, 0x40, 0x12, 0x04, 0x48, 0x92, 0x44, 0x49, 0x82, 0x64, 0x4A,
+0x92, 0x20, 0x40, 0x12, 0x04, 0x5B, 0x92, 0x25, 0x89, 0x65, 0x49, 0x92,
+0x28, 0xC9, 0x92, 0x00, 0x40, 0x02, 0x04, 0x49, 0x92, 0x24, 0x48, 0x92,
+0x00, 0x48, 0x92, 0x24, 0x01, 0x12, 0x24, 0x4B, 0x92, 0x24, 0x08, 0x04,
+0x03, 0x12, 0x34, 0x49, 0x92, 0x40, 0x03, 0x92, 0x04, 0x49, 0x92, 0x24,
+0x08, 0x1E, 0x2C, 0x68, 0x92, 0x60, 0x81, 0x36, 0x24, 0x49, 0x80, 0x2C,
+0x09, 0x04, 0x41, 0x90, 0x24, 0x4B, 0x92, 0x28, 0xC9, 0x9A, 0x04, 0x49,
+0x92, 0x64, 0x19, 0x92, 0x20, 0x6A, 0x92, 0x24, 0x51, 0x12, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49, 0x82, 0x28, 0x08, 0x12,
+0x00, 0x49, 0x92, 0x44, 0x49, 0x92, 0x64, 0x4A, 0x92, 0x24, 0x40, 0x92,
+0x04, 0x5B, 0x92, 0x24, 0x81, 0x61, 0x09, 0x92, 0x21, 0x48, 0x9A, 0x20,
+0x48, 0x92, 0x04, 0x61, 0x92, 0x20, 0x49, 0x92, 0x04, 0x00, 0x92, 0x24,
+0x01, 0x92, 0x24, 0x42, 0x92, 0x24, 0x00, 0x24, 0x4B, 0x92, 0xA5, 0x41,
+0x92, 0x60, 0x4A, 0x92, 0x04, 0x44, 0x92, 0x24, 0x48, 0x06, 0x2C, 0x48,
+0x82, 0x00, 0xC1, 0xB6, 0x24, 0x41, 0x00, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x25, 0x49, 0x92, 0x28, 0xC9, 0x90, 0x04, 0x49, 0x90, 0x64, 0x59, 0x92,
+0x24, 0x0A, 0x93, 0x24, 0x11, 0x12, 0x24, 0x19, 0x92, 0x24, 0x09, 0x10,
+0x00, 0x40, 0x01, 0x00, 0x00, 0x04, 0x04, 0x08, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x40, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x58, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x20, 0x08, 0x01, 0x00, 0x00, 0x84,
+0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x04, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x20, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x54, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x08, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x80, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x20, 0x08, 0x10, 0x00, 0x08, 0x00, 0x00, 0x02,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x04, 0x04, 0x48, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x01,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x11, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x01, 0x80, 0x48, 0x80, 0x04, 0x08, 0x40, 0x02, 0x00, 0x00, 0x01,
+0x40, 0x00, 0x00, 0x44, 0x00, 0x00, 0xE0, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x41, 0x12, 0x24, 0x4A, 0x9A, 0x24, 0xC1, 0x92, 0x64, 0x59, 0x92, 0x24,
+0x8D, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x20, 0x49, 0x92, 0x0D, 0x41,
+0x92, 0x24, 0x0B, 0xB2, 0x24, 0x08, 0x92, 0x24, 0xC1, 0x90, 0x26, 0x49,
+0x92, 0x24, 0x09, 0x24, 0xD9, 0x92, 0x24, 0x09, 0x92, 0x20, 0x49, 0x92,
+0x04, 0x09, 0x90, 0x24, 0x49, 0xD2, 0x24, 0x48, 0x92, 0x24, 0x40, 0x92,
+0x04, 0x09, 0x12, 0xA0, 0x09, 0x04, 0x49, 0x92, 0x24, 0x69, 0x92, 0x28,
+0x49, 0x82, 0x04, 0x49, 0x92, 0x64, 0x09, 0x10, 0x24, 0x4E, 0x82, 0x24,
+0x41, 0x92, 0x25, 0x59, 0x92, 0x24, 0x09, 0xA4, 0x49, 0x92, 0x24, 0x09,
+0x92, 0x2C, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0xA4, 0x4A,
+0x82, 0x24, 0xC1, 0x92, 0x64, 0x59, 0x92, 0x24, 0x89, 0x26, 0x6D, 0x92,
+0x24, 0x49, 0x92, 0x20, 0x4D, 0xD2, 0x09, 0x49, 0x92, 0x24, 0x0B, 0xB2,
+0xA4, 0x48, 0x92, 0x24, 0xE1, 0x93, 0x24, 0x49, 0x92, 0xA4, 0x01, 0x26,
+0xD8, 0x8A, 0x34, 0x49, 0x12, 0x20, 0x49, 0x92, 0x06, 0x49, 0x90, 0x24,
+0x49, 0x93, 0x24, 0x48, 0x12, 0x24, 0x01, 0x92, 0x24, 0x4D, 0x92, 0x24,
+0x09, 0x34, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x93, 0x04, 0x49,
+0x92, 0x64, 0x4D, 0x90, 0x24, 0x4A, 0x92, 0x24, 0x61, 0x92, 0x25, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x02, 0x24, 0x00, 0x00, 0x00, 0x40, 0x82, 0x04, 0x01, 0x00, 0x02, 0x00,
+0x12, 0x3C, 0x08, 0x00, 0x60, 0x00, 0x80, 0xA0, 0x41, 0x02, 0x00, 0x02,
+0x00, 0x08, 0x02, 0x24, 0x00, 0x40, 0x00, 0x40, 0x82, 0x04, 0x01, 0x00,
+0x02, 0x00, 0x12, 0x3C, 0x08, 0x00, 0x60, 0x00, 0x80, 0xA0, 0x41, 0x02,
+0x00, 0x02, 0x00, 0x08, 0x12, 0x24, 0x00, 0x40, 0x00, 0x40, 0x82, 0x04,
+0x01, 0x00, 0x02, 0x00, 0x12, 0x3C, 0x08, 0x00, 0x60, 0x00, 0x80, 0xA0,
+0x41, 0x02, 0x00, 0x02, 0x00, 0x08, 0x12, 0x24, 0x00, 0x40, 0x00, 0x40,
+0x82, 0x04, 0x01, 0x00, 0x02, 0x00, 0x12, 0x3C, 0x08, 0x00, 0x60, 0x00,
+0x80, 0xA0, 0x41, 0x02, 0x00, 0x02, 0x00, 0x08, 0x12, 0x24, 0x00, 0x40,
+0x00, 0x40, 0x02, 0x05, 0x01, 0x00, 0x04, 0x00, 0x12, 0x24, 0x08, 0x00,
+0x00, 0x00, 0x80, 0x20, 0x41, 0x02, 0x00, 0x00, 0x00, 0x08, 0x12, 0x24,
+0x00, 0x00, 0x00, 0x40, 0x02, 0x05, 0x01, 0x00, 0x04, 0x00, 0x12, 0x24,
+0x08, 0x00, 0x00, 0x00, 0x80, 0x20, 0x41, 0x02, 0x00, 0x00, 0x00, 0x08,
+0x02, 0x24, 0x00, 0x00, 0x00, 0x40, 0x02, 0x05, 0x01, 0x00, 0x04, 0x00,
+0x12, 0x24, 0x08, 0x00, 0x00, 0x00, 0x80, 0x20, 0x41, 0x02, 0x00, 0x00,
+0x00, 0x08, 0x02, 0x24, 0x00, 0x00, 0x00, 0x40, 0x02, 0x05, 0x01, 0x00,
+0x04, 0x00, 0x12, 0x24, 0x08, 0x00, 0x00, 0x00, 0x80, 0x20, 0x41, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0xD9, 0xB4, 0x6F, 0x03, 0x18, 0x02,
+0xDA, 0x96, 0x67, 0x7B, 0x80, 0xE0, 0x00, 0xB4, 0x6D, 0xD9, 0x0C, 0xE4,
+0x00, 0x98, 0x7D, 0xDD, 0x56, 0x24, 0x96, 0x24, 0x41, 0x37, 0x7D, 0x63,
+0x42, 0x22, 0x40, 0xB6, 0x64, 0x3A, 0xF6, 0x00, 0x04, 0xFC, 0x6C, 0xCB,
+0x12, 0x08, 0x03, 0x48, 0xE9, 0xDF, 0x16, 0x20, 0xC0, 0x94, 0x59, 0xB4,
+0xBA, 0x61, 0xAA, 0x90, 0x40, 0xDE, 0x0D, 0x18, 0x10, 0xAC, 0xAD, 0x74,
+0xED, 0x69, 0x03, 0x76, 0x08, 0xC0, 0x31, 0xF1, 0x35, 0x06, 0x04, 0x00,
+0xC9, 0xF6, 0x6D, 0x43, 0x85, 0x00, 0xD1, 0xB3, 0x6F, 0x7B, 0x32, 0x71,
+0x00, 0xAC, 0x0D, 0xDB, 0x4E, 0x8C, 0xC3, 0x18, 0x6E, 0xD9, 0x56, 0xB6,
+0x20, 0x1B, 0x48, 0x00, 0xA4, 0xB0, 0x65, 0xD9, 0x4C, 0x32, 0x9C, 0x81,
+0x6D, 0x0B, 0x92, 0x90, 0x14, 0x42, 0x61, 0x0F, 0x92, 0x95, 0xA4, 0x4A,
+0x22, 0x92, 0x68, 0x5F, 0x90, 0x00, 0x00, 0x91, 0x25, 0x49, 0xC6, 0x40,
+0x29, 0x08, 0x1B, 0x5B, 0x92, 0x90, 0x21, 0x19, 0x31, 0xC1, 0x95, 0x04,
+0x30, 0x01, 0x23, 0x96, 0xA5, 0x4D, 0x80, 0xC8, 0x41, 0x93, 0x47, 0x4B,
+0xC6, 0x22, 0x50, 0x06, 0x7D, 0x61, 0x1A, 0x00, 0x00, 0x9A, 0x60, 0x8D,
+0xBA, 0x8C, 0x48, 0x40, 0x00, 0x90, 0x28, 0xCB, 0x30, 0x82, 0x24, 0xF9,
+0xE0, 0x59, 0x06, 0x8C, 0x00, 0x89, 0x47, 0x8A, 0xB6, 0x00, 0x40, 0x68,
+0x22, 0x51, 0x34, 0x14, 0x05, 0x4A, 0x30, 0x5B, 0x10, 0x29, 0x27, 0x0D,
+0x81, 0xD8, 0x06, 0x24, 0x31, 0x09, 0x91, 0x04, 0x36, 0x24, 0x59, 0x48,
+0x50, 0x34, 0xB1, 0x01, 0xF8, 0x6A, 0x42, 0x20, 0x89, 0x25, 0x00, 0xE0,
+0x25, 0x04, 0x00, 0x70, 0xD0, 0x14, 0x00, 0x40, 0x52, 0x04, 0x00, 0x4C,
+0x0D, 0x00, 0xD8, 0x66, 0x01, 0x40, 0xC0, 0x0B, 0x1B, 0xA0, 0x0D, 0x49,
+0x32, 0x40, 0x25, 0x69, 0x0C, 0x90, 0x00, 0xA4, 0x01, 0x00, 0x91, 0x24,
+0x82, 0x10, 0x02, 0x08, 0x02, 0x00, 0xA0, 0x10, 0x01, 0x02, 0x03, 0x06,
+0x08, 0x01, 0x02, 0x65, 0xA7, 0x09, 0x92, 0x00, 0x30, 0x60, 0x33, 0x48,
+0x90, 0x02, 0x98, 0x24, 0x43, 0x00, 0x12, 0x24, 0x09, 0x20, 0x18, 0x46,
+0x80, 0x20, 0x0C, 0x00, 0x00, 0x00, 0x27, 0x5D, 0x91, 0x08, 0x40, 0x02,
+0x20, 0x69, 0x98, 0x24, 0x00, 0x80, 0x00, 0x49, 0xD2, 0x36, 0x09, 0x80,
+0x20, 0x50, 0xD2, 0x22, 0xA9, 0x00, 0x00, 0x84, 0xB5, 0x4C, 0x92, 0x02,
+0x20, 0x01, 0x80, 0x49, 0x9B, 0x06, 0x58, 0x92, 0x00, 0x48, 0x93, 0xB4,
+0x01, 0x00, 0x21, 0x48, 0x1B, 0x24, 0x29, 0x00, 0x88, 0x80, 0xA5, 0x59,
+0x5B, 0x22, 0x40, 0x80, 0x80, 0x29, 0xD2, 0x26, 0x40, 0x02, 0x20, 0x48,
+0xDA, 0xB6, 0x00, 0xC0, 0x08, 0x00, 0xDA, 0x34, 0x0C, 0x00, 0x00, 0x00,
+0xB7, 0x0B, 0xD3, 0x40, 0x41, 0x00, 0x20, 0x6D, 0x9A, 0x06, 0x02, 0x10,
+0x00, 0x69, 0xD2, 0x24, 0x01, 0x08, 0x00, 0x51, 0xB1, 0x26, 0x29, 0x7F,
+0xC9, 0xDB, 0x90, 0x20, 0x4A, 0xF2, 0xA7, 0xD1, 0x9D, 0x04, 0x43, 0x1A,
+0x7F, 0x13, 0x3D, 0x26, 0x09, 0x80, 0xF0, 0x1F, 0xDF, 0x31, 0x09, 0x94,
+0x04, 0x51, 0x49, 0x53, 0x40, 0x21, 0x49, 0x90, 0xC9, 0x9C, 0x0E, 0x24,
+0x40, 0x30, 0x27, 0x4C, 0x3A, 0x24, 0x48, 0x02, 0x50, 0xFA, 0x96, 0x03,
+0xC0, 0x92, 0x04, 0x1D, 0x25, 0x66, 0x10, 0x24, 0x80, 0x90, 0x17, 0x22,
+0x04, 0x44, 0x09, 0x10, 0x1F, 0x38, 0xCA, 0x24, 0x01, 0x00, 0x71, 0x1C,
+0x75, 0x4B, 0x01, 0x82, 0x21, 0xA2, 0x7F, 0xFF, 0x00, 0x64, 0x08, 0x32,
+0xAC, 0xFA, 0x9E, 0x00, 0x41, 0x30, 0x49, 0xC3, 0x77, 0x04, 0x09, 0x92,
+0x80, 0x53, 0x3E, 0x1E, 0x4A, 0x90, 0x04, 0x80, 0xCB, 0x84, 0xB5, 0x79,
+0xD8, 0x02, 0x98, 0x02, 0x80, 0x4D, 0xD0, 0x56, 0x80, 0x90, 0xA4, 0x6C,
+0x9B, 0xA4, 0x05, 0xB0, 0x05, 0x50, 0x8B, 0xB0, 0x8D, 0x4A, 0xB3, 0x00,
+0x25, 0x68, 0xCB, 0x02, 0x0A, 0xE2, 0x09, 0x6D, 0x92, 0x17, 0xC0, 0xA0,
+0x60, 0x24, 0x92, 0xA4, 0xE1, 0x37, 0x28, 0x00, 0x52, 0x32, 0x09, 0xA0,
+0x48, 0xB3, 0x34, 0x4D, 0x00, 0x60, 0x98, 0x58, 0x08, 0x05, 0x9A, 0x34,
+0x20, 0x86, 0x65, 0x2C, 0x5B, 0x44, 0x10, 0xA3, 0xC6, 0x01, 0x82, 0xD4,
+0x2C, 0x6C, 0xD1, 0x10, 0x25, 0xAD, 0xDB, 0x02, 0x0B, 0x86, 0x88, 0x68,
+0xD9, 0x54, 0x04, 0x18, 0x08, 0x64, 0x9B, 0xB6, 0xF5, 0x86, 0x41, 0x59,
+0xD8, 0xBC, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x20, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x48, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x40, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10,
+0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x04, 0x80, 0x20, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x90, 0x01, 0x00, 0x00, 0x00,
+0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x08, 0x41, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x02,
+0x00, 0x10, 0x00, 0x00, 0x41, 0x02, 0x40, 0x00, 0x00, 0x80, 0x00, 0x04,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x80, 0x20, 0x48, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x20, 0x40, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x50, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x30, 0x48, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x24, 0x01, 0x00, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x21, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82,
+0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x06, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x01, 0x02, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x04, 0x00, 0x10,
+0x01, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x04,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x04, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x88, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00,
+0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x08, 0x04, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00,
+0x10, 0x80, 0x00, 0x41, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x30, 0x10,
+0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x80, 0x02, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0C, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x08, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x80, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x04, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x44, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x08, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x22, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x01,
+0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00,
+0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x80,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x10, 0x00,
+0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x40, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x48, 0x16, 0x25, 0x41, 0x82, 0x2C, 0xC9, 0x92,
+0x00, 0x89, 0xB2, 0x44, 0x49, 0x9C, 0x24, 0x4A, 0x92, 0x24, 0x40, 0x82,
+0x26, 0x58, 0x92, 0x24, 0x99, 0x06, 0x41, 0x8C, 0x25, 0x49, 0x82, 0x00,
+0x0F, 0x12, 0x04, 0x49, 0x92, 0x24, 0x40, 0x82, 0x02, 0x48, 0x92, 0x24,
+0x01, 0x10, 0x64, 0x41, 0x92, 0x24, 0x09, 0x24, 0x09, 0x90, 0x25, 0x49,
+0x92, 0x20, 0x4C, 0x82, 0x00, 0x49, 0x92, 0x2C, 0x49, 0x12, 0x25, 0x48,
+0xD2, 0x65, 0x41, 0x12, 0x05, 0x48, 0x93, 0x24, 0x09, 0x24, 0x09, 0x86,
+0x25, 0x49, 0x92, 0x2C, 0x49, 0x96, 0x10, 0x49, 0x82, 0x24, 0x09, 0x12,
+0x24, 0x42, 0x92, 0x04, 0xA1, 0x40, 0x24, 0x49, 0x92, 0x24, 0x09, 0x04,
+0x49, 0x96, 0x24, 0x09, 0x82, 0x28, 0xC9, 0x92, 0x04, 0x09, 0x90, 0x64,
+0x49, 0x96, 0x24, 0x4A, 0x82, 0x24, 0x40, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x24, 0x49, 0x96, 0x20, 0x49, 0x02, 0x00, 0x0B, 0x92, 0x04, 0x45,
+0x92, 0x24, 0x49, 0x92, 0x00, 0x48, 0x92, 0x24, 0x41, 0x12, 0x64, 0x41,
+0x92, 0x24, 0x08, 0x24, 0x49, 0x92, 0x24, 0x41, 0x92, 0x20, 0x49, 0x82,
+0x04, 0x49, 0x92, 0x04, 0x49, 0x90, 0x25, 0x48, 0x92, 0x20, 0x41, 0x92,
+0x25, 0x49, 0x52, 0x20, 0x09, 0x24, 0x09, 0x86, 0x24, 0x49, 0x82, 0x28,
+0x69, 0x96, 0x14, 0x48, 0x82, 0x24, 0x49, 0x12, 0x24, 0x4A, 0x92, 0x04,
+0xC1, 0x12, 0x24, 0x49, 0x90, 0x04, 0x09, 0x00, 0x10, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x01, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x40,
+0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x20, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x61, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x10, 0x80,
+0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x14,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x20, 0x01, 0x00, 0x24, 0x48, 0x92, 0x24, 0x49,
+0x90, 0x28, 0x49, 0x92, 0x04, 0x48, 0x82, 0x60, 0x49, 0x12, 0x24, 0x4A,
+0x92, 0x20, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0xFE,
+0x20, 0x59, 0x92, 0xA0, 0xC9, 0x92, 0x0C, 0x11, 0x92, 0x04, 0x41, 0x92,
+0x24, 0x08, 0x92, 0x24, 0x43, 0x90, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x28, 0x09, 0xB2, 0x20, 0x4D, 0x92, 0x04, 0x49, 0x9A, 0x2C,
+0x68, 0x92, 0x24, 0x48, 0xD6, 0x24, 0x41, 0x92, 0x2C, 0x09, 0x92, 0x24,
+0x19, 0x24, 0xC9, 0x92, 0x60, 0x09, 0x92, 0x20, 0xC9, 0x92, 0x14, 0x49,
+0x96, 0x64, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0x82, 0x20, 0x59,
+0x90, 0x04, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x41, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0xB6, 0x24, 0x49, 0x92, 0x20,
+0xC9, 0x92, 0x0C, 0x49, 0x92, 0x24, 0x09, 0x92, 0x24, 0x48, 0x92, 0x26,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x29, 0x24, 0x49, 0x90, 0x24, 0x49,
+0x90, 0x20, 0x49, 0x12, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48,
+0x92, 0x00, 0x41, 0x82, 0x2C, 0x49, 0x92, 0x24, 0x09, 0x04, 0xC9, 0x92,
+0x04, 0x09, 0x92, 0x28, 0xC9, 0x92, 0x14, 0x09, 0x92, 0x24, 0x48, 0x12,
+0x24, 0x4A, 0x90, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE6, 0xD9, 0xB6,
+0xF5, 0x01, 0x00, 0x00, 0xD0, 0xB6, 0x6D, 0x52, 0x00, 0x28, 0x6C, 0xB4,
+0x6D, 0x4F, 0x07, 0x00, 0x01, 0x90, 0x6D, 0xDB, 0x66, 0x10, 0x08, 0xE3,
+0xD9, 0xD7, 0xF7, 0x41, 0x62, 0x20, 0xC9, 0xB7, 0x6C, 0x13, 0xC0, 0xBC,
+0xA4, 0xA4, 0x3C, 0x4D, 0x63, 0x0C, 0xC1, 0x82, 0xEC, 0xDA, 0x36, 0x44,
+0x00, 0xC4, 0xC8, 0xFE, 0x7F, 0x01, 0x92, 0x26, 0xC1, 0xB6, 0x67, 0x1E,
+0x10, 0x96, 0x44, 0xBC, 0x05, 0x89, 0x93, 0xC0, 0x00, 0x81, 0x6D, 0xDD,
+0x22, 0x4B, 0x92, 0x04, 0xD8, 0xB6, 0x7D, 0x43, 0x90, 0x0F, 0xD1, 0xF6,
+0x65, 0x5E, 0x20, 0x04, 0x0C, 0xB4, 0x69, 0x8B, 0x2E, 0x30, 0xC0, 0x91,
+0x2D, 0xDF, 0x72, 0xB6, 0x2D, 0x2D, 0x48, 0x90, 0x2C, 0xBA, 0x65, 0xD9,
+0x46, 0x92, 0x24, 0x00, 0x6D, 0xC3, 0xD2, 0x90, 0x00, 0xD9, 0x6A, 0xDB,
+0xB6, 0x9D, 0x34, 0x09, 0x02, 0xA6, 0x25, 0x38, 0x00, 0x2A, 0x28, 0xD3,
+0x05, 0x5B, 0x42, 0x00, 0x01, 0x00, 0x2D, 0x45, 0x12, 0x80, 0x41, 0xDB,
+0x02, 0xD1, 0x16, 0x44, 0x05, 0x08, 0x00, 0x92, 0x25, 0x1F, 0x70, 0x12,
+0x00, 0xB2, 0xEC, 0x49, 0x43, 0x01, 0x08, 0x28, 0x65, 0x49, 0xF2, 0x80,
+0xC8, 0x1B, 0x20, 0x19, 0x92, 0x04, 0x24, 0x62, 0x0F, 0xB4, 0x6C, 0xDF,
+0x00, 0x10, 0x24, 0xB9, 0x34, 0x50, 0x47, 0x92, 0x0C, 0x88, 0x04, 0xC9,
+0xB2, 0x10, 0x22, 0x19, 0x02, 0x4B, 0x32, 0x1C, 0x56, 0x40, 0x14, 0x5B,
+0x86, 0x8B, 0x27, 0x09, 0x42, 0xD0, 0xBE, 0x2C, 0x39, 0x49, 0x92, 0xAC,
+0xB6, 0x64, 0xBA, 0x48, 0x12, 0x00, 0xB8, 0x6D, 0x48, 0x62, 0x92, 0x20,
+0x89, 0x01, 0x08, 0x00, 0x25, 0x1C, 0x01, 0x30, 0x50, 0x04, 0x09, 0x40,
+0x3A, 0x02, 0x12, 0x62, 0x20, 0x48, 0x00, 0x20, 0xD0, 0x01, 0x00, 0xC0,
+0x0A, 0x20, 0x00, 0x81, 0x04, 0x20, 0xA5, 0x20, 0x80, 0x10, 0x12, 0x12,
+0x86, 0x05, 0x00, 0x20, 0x80, 0x92, 0x09, 0x00, 0x87, 0x24, 0x00, 0x2C,
+0xD8, 0x08, 0xD8, 0xB0, 0x09, 0x01, 0x13, 0x61, 0x03, 0x20, 0xC0, 0x00,
+0x00, 0x24, 0x3A, 0x08, 0x80, 0x20, 0x90, 0x24, 0xCB, 0x4C, 0x8B, 0x06,
+0x89, 0x05, 0x18, 0x47, 0x12, 0x32, 0x08, 0x00, 0x00, 0x22, 0x27, 0x49,
+0xDB, 0x0A, 0x08, 0x00, 0x20, 0x49, 0x9A, 0xA4, 0x00, 0x00, 0x40, 0x49,
+0xD2, 0xB0, 0x01, 0x10, 0x00, 0x50, 0x92, 0x24, 0x89, 0x00, 0x20, 0xA2,
+0x2D, 0x2A, 0x89, 0x22, 0x40, 0x82, 0x00, 0x69, 0x93, 0x34, 0x48, 0x96,
+0x04, 0x48, 0xDB, 0xF2, 0x00, 0x18, 0x00, 0x40, 0x1B, 0xA4, 0x2D, 0x26,
+0x08, 0x00, 0x35, 0x01, 0x91, 0x22, 0x01, 0x00, 0x00, 0x49, 0xDA, 0x36,
+0x00, 0x00, 0x40, 0x60, 0xDA, 0x36, 0x01, 0x50, 0x00, 0x40, 0x9B, 0xB2,
+0x2D, 0x04, 0x40, 0x04, 0x27, 0x4D, 0x92, 0x00, 0x10, 0x0A, 0x21, 0x5D,
+0x9B, 0x26, 0x41, 0x00, 0x00, 0x69, 0xDA, 0x34, 0x01, 0x40, 0x80, 0x50,
+0xD3, 0x3B, 0x0D, 0x7F, 0xEF, 0x5D, 0x90, 0x24, 0x00, 0xF1, 0x67, 0xBF,
+0x9D, 0x24, 0x41, 0x12, 0xFF, 0xDF, 0x93, 0x26, 0x09, 0x06, 0xF0, 0xEB,
+0xEE, 0x39, 0x49, 0x92, 0x24, 0xF5, 0xD1, 0x5D, 0xD0, 0x45, 0x52, 0xD0,
+0x09, 0x14, 0x84, 0x04, 0x48, 0x02, 0x31, 0x49, 0xD3, 0x24, 0x00, 0x04,
+0x21, 0xA3, 0xA6, 0x09, 0xC0, 0x12, 0x00, 0x91, 0xD7, 0x36, 0x80, 0x6C,
+0x4A, 0x10, 0xCC, 0x92, 0x87, 0x24, 0x01, 0x00, 0xEB, 0xD3, 0x2B, 0x0C,
+0x05, 0x80, 0x40, 0x2F, 0xB5, 0x08, 0x40, 0x04, 0x00, 0x22, 0x0D, 0xFB,
+0x90, 0x20, 0x49, 0xB2, 0x6D, 0xB1, 0x9E, 0x20, 0x40, 0x10, 0x3C, 0xDA,
+0xE3, 0x94, 0x01, 0x82, 0x60, 0x83, 0x3F, 0x1E, 0x08, 0x84, 0x20, 0x00,
+0x50, 0x10, 0xB4, 0xED, 0x03, 0x00, 0x00, 0x42, 0x82, 0x6D, 0xDB, 0x76,
+0x00, 0x10, 0x05, 0x6C, 0xDB, 0x22, 0x04, 0x00, 0x01, 0x54, 0xDB, 0xB6,
+0xAD, 0x48, 0xD2, 0x86, 0xB5, 0x08, 0x40, 0x00, 0x8A, 0xA0, 0x86, 0x6C,
+0xD2, 0x34, 0xC4, 0x90, 0x4D, 0xEC, 0x8A, 0x20, 0x02, 0x66, 0x69, 0x4B,
+0x52, 0xB6, 0x2D, 0x6C, 0xDA, 0x80, 0x24, 0x05, 0xC9, 0x40, 0x01, 0xE4,
+0x08, 0x69, 0xD1, 0x32, 0x1A, 0x2C, 0x14, 0x64, 0x92, 0xA4, 0xD0, 0x82,
+0x25, 0x47, 0x93, 0x20, 0x39, 0x48, 0x80, 0x00, 0xB4, 0x4D, 0x8B, 0x42,
+0xCB, 0xC2, 0xC0, 0x2D, 0xD3, 0x72, 0x4B, 0x13, 0x14, 0x68, 0xD6, 0xA5,
+0x55, 0xB0, 0x45, 0x50, 0x9B, 0xA0, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x11, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x10, 0x40, 0x00, 0x00, 0x00, 0x41, 0x02, 0x00, 0x08,
+0x00, 0x00, 0x40, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x00, 0x02,
+0x90, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x90, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x04, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00, 0x04, 0x00, 0x40, 0x10,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x50, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x08, 0x00, 0x00, 0x10, 0x00, 0x20, 0x41, 0x00, 0x40, 0x10, 0x00, 0x40,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x88, 0x04,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x90, 0x00, 0x08, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0C, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x04, 0x50, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x80, 0x00,
+0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x41, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x26, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x20, 0x02, 0x00, 0x00, 0x08, 0x00, 0x01, 0x04,
+0x40, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00,
+0x01, 0x01, 0x01, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x02, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x08, 0x04, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x74,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x02,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x20, 0x41, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x20,
+0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x01,
+0x40, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x44, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80,
+0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x30, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x20, 0x00, 0x06, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x09, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x80, 0x01, 0x04, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x10, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x20, 0x00, 0x20, 0x21,
+0x00, 0x06, 0x00, 0x00, 0x08, 0x08, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x02, 0x00, 0x80, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x90, 0x02, 0x00,
+0x00, 0x00, 0x01, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x00, 0x20, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x40, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x83, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x28, 0x10, 0x04, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x08, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x40, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x04,
+0x01, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x06, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x08, 0x02, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x90, 0x02, 0x49, 0x92, 0x64, 0x0B, 0x02, 0x24, 0x4A,
+0x82, 0x24, 0x41, 0x82, 0x20, 0x59, 0x90, 0x24, 0x89, 0x24, 0x18, 0x86,
+0x25, 0x49, 0x90, 0x00, 0x41, 0x18, 0x04, 0x49, 0x92, 0x24, 0x21, 0x82,
+0x2D, 0x40, 0x92, 0x24, 0x01, 0x82, 0x24, 0x49, 0x92, 0x24, 0x08, 0x25,
+0xD9, 0x92, 0x24, 0x49, 0x10, 0x20, 0x00, 0x82, 0x05, 0x49, 0x92, 0x25,
+0x48, 0x12, 0x24, 0x48, 0x92, 0x24, 0x51, 0x12, 0x20, 0x4B, 0x92, 0x28,
+0x19, 0x01, 0x4D, 0x90, 0x24, 0x49, 0x92, 0x04, 0x19, 0x02, 0x14, 0x49,
+0x92, 0x64, 0x41, 0x92, 0x24, 0x4A, 0xD6, 0x24, 0x51, 0x12, 0x00, 0x59,
+0x92, 0x24, 0x09, 0x04, 0x49, 0x82, 0x25, 0x49, 0x12, 0x28, 0x49, 0x90,
+0x04, 0x69, 0x90, 0x64, 0x0B, 0x92, 0x24, 0x42, 0x82, 0x24, 0x41, 0x90,
+0x24, 0x19, 0x92, 0x24, 0x89, 0x04, 0x50, 0x96, 0x24, 0x01, 0x82, 0x00,
+0x48, 0x02, 0x04, 0x49, 0x92, 0x24, 0x48, 0x92, 0x2D, 0x48, 0x82, 0x00,
+0x40, 0x92, 0x24, 0x01, 0x92, 0x24, 0x08, 0x25, 0xD9, 0x92, 0x21, 0x09,
+0x90, 0x20, 0x49, 0x92, 0x05, 0x49, 0x92, 0x20, 0x48, 0x12, 0x24, 0x48,
+0x92, 0x24, 0x51, 0x82, 0x24, 0x03, 0x92, 0x04, 0x21, 0x05, 0x49, 0x90,
+0x21, 0x41, 0x92, 0x00, 0x59, 0x92, 0x14, 0x09, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x4A, 0x12, 0x24, 0x51, 0x92, 0x24, 0x19, 0x92, 0x24, 0x09, 0x00,
+0x20, 0x00, 0x01, 0x00, 0x00, 0x04, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x48,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x44, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00,
+0x90, 0x00, 0x48, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x41, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x88, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x04, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x82, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x59, 0xC2, 0x04, 0x4A, 0x90, 0x00, 0x41, 0x92, 0x25, 0x49, 0x92, 0x24,
+0x89, 0xA5, 0x49, 0x92, 0x24, 0x49, 0x12, 0x00, 0x49, 0x93, 0x04, 0x49,
+0x92, 0x24, 0xD1, 0x92, 0x24, 0x48, 0x92, 0x24, 0x40, 0x82, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x20, 0xC9, 0x92, 0x24, 0x09, 0x92, 0x01, 0x59, 0x92,
+0x04, 0x4B, 0x00, 0x24, 0x49, 0x9A, 0x24, 0x50, 0x92, 0x24, 0x43, 0x92,
+0x24, 0x08, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x20, 0x09, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x25, 0x48, 0x92, 0x24,
+0x51, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x69, 0x92, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x59, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x61, 0x12, 0x25, 0x59, 0x92, 0x24, 0x89, 0x25, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x20, 0x41, 0x92, 0x04, 0x49, 0x92, 0x20, 0x99, 0xD2,
+0x24, 0x48, 0x12, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0xC9, 0x9B, 0x04, 0x49, 0x92, 0x20, 0x59, 0xD2, 0x00, 0x09, 0x82, 0x24,
+0x48, 0x02, 0x26, 0x48, 0x92, 0x24, 0x01, 0x10, 0x80, 0x48, 0x92, 0x24,
+0x08, 0x34, 0x49, 0x92, 0xA4, 0x49, 0x02, 0xA8, 0x49, 0x92, 0x04, 0x48,
+0x92, 0x64, 0x49, 0x90, 0x25, 0x4A, 0x92, 0x24, 0x51, 0x92, 0x24, 0x58,
+0x82, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x0C,
+0x04, 0x20, 0xC8, 0xBE, 0xED, 0x03, 0x00, 0x22, 0xD1, 0xB6, 0x65, 0x57,
+0x80, 0x62, 0x2A, 0xBC, 0x65, 0x1B, 0x06, 0x28, 0x00, 0x95, 0x6D, 0xDF,
+0x72, 0x49, 0xD0, 0xA4, 0xF9, 0xB6, 0x6C, 0x01, 0x06, 0x14, 0xC0, 0xB4,
+0x2D, 0x1B, 0xB8, 0x00, 0x4A, 0x94, 0xED, 0xDB, 0x23, 0x4C, 0x00, 0x82,
+0x6D, 0xFB, 0x26, 0x80, 0x00, 0x14, 0xF8, 0xB7, 0x11, 0x03, 0xC0, 0xB2,
+0xC0, 0xF7, 0xA4, 0x1C, 0x4A, 0x2C, 0x8D, 0x94, 0x6C, 0xE3, 0x72, 0x54,
+0x78, 0x83, 0xAC, 0x7D, 0x31, 0x49, 0x00, 0x10, 0xBD, 0xAE, 0xAD, 0x03,
+0x55, 0x51, 0x90, 0xB8, 0x3E, 0x5B, 0x99, 0x22, 0x28, 0x90, 0x65, 0x7B,
+0xA6, 0xEB, 0x45, 0x92, 0xE7, 0xE9, 0x74, 0xB2, 0x28, 0xEB, 0x58, 0x13,
+0x24, 0xB8, 0x2D, 0xD9, 0x43, 0x02, 0x2C, 0x01, 0x25, 0x99, 0x94, 0x90,
+0x2C, 0x88, 0x68, 0xD3, 0x96, 0x98, 0x24, 0x49, 0x0E, 0x9A, 0x24, 0x49,
+0x08, 0x82, 0x01, 0xB2, 0x20, 0xCB, 0x46, 0x81, 0x64, 0x05, 0x44, 0x4B,
+0xF0, 0x28, 0x14, 0x01, 0x02, 0x93, 0xB2, 0x0C, 0x26, 0x00, 0x02, 0x32,
+0x65, 0xCF, 0x00, 0x48, 0xC0, 0xB0, 0x24, 0x69, 0x06, 0x08, 0x79, 0x02,
+0x25, 0xC1, 0x1A, 0x20, 0x01, 0x10, 0x00, 0x89, 0xCA, 0x8C, 0x63, 0x80,
+0x04, 0xBF, 0x24, 0xCB, 0x00, 0xC2, 0x72, 0xB9, 0x28, 0x08, 0x02, 0x14,
+0x41, 0x00, 0x24, 0x49, 0x9A, 0x24, 0x08, 0x88, 0xCA, 0x30, 0xB2, 0x1D,
+0x28, 0x1A, 0x10, 0x9B, 0x90, 0x0D, 0x07, 0x45, 0x52, 0xD0, 0x92, 0x6B,
+0x34, 0x49, 0x13, 0xA0, 0xF4, 0x0D, 0x29, 0x40, 0x10, 0x04, 0x99, 0x65,
+0x58, 0x62, 0x12, 0x20, 0x89, 0x43, 0x72, 0x82, 0x81, 0x08, 0x4C, 0x40,
+0x30, 0x00, 0x09, 0x41, 0x82, 0x34, 0x9A, 0x01, 0x80, 0x0C, 0x51, 0x96,
+0x90, 0x00, 0x41, 0x40, 0x8A, 0x0C, 0x01, 0x01, 0x90, 0x00, 0x15, 0x68,
+0x8B, 0x00, 0x02, 0x08, 0x80, 0x28, 0x10, 0x30, 0xD0, 0x10, 0x20, 0x40,
+0x02, 0x00, 0x01, 0x0A, 0x00, 0x00, 0x02, 0x02, 0x00, 0xC0, 0x90, 0x00,
+0x83, 0x40, 0x13, 0x40, 0x00, 0x20, 0x38, 0x03, 0x80, 0xB4, 0x80, 0x34,
+0xC2, 0x08, 0x11, 0x04, 0x09, 0x04, 0x01, 0x46, 0x50, 0x00, 0x00, 0x00,
+0x00, 0xA0, 0x37, 0x45, 0xD3, 0x08, 0x00, 0x00, 0x24, 0x49, 0x9B, 0xA4,
+0x40, 0x02, 0x00, 0x61, 0x9B, 0xA4, 0x01, 0x00, 0x04, 0x50, 0x92, 0xA0,
+0x8D, 0x08, 0x04, 0x10, 0xA5, 0x4D, 0x93, 0x02, 0x04, 0x10, 0x40, 0x69,
+0xD2, 0x25, 0x60, 0x80, 0x44, 0x6C, 0x52, 0x2C, 0x01, 0x02, 0x00, 0x40,
+0x92, 0x14, 0x0D, 0xA2, 0x48, 0x82, 0x15, 0x48, 0xD2, 0x00, 0x48, 0x22,
+0x04, 0x0C, 0xDB, 0x22, 0x09, 0x00, 0x00, 0x68, 0xDB, 0xB4, 0x41, 0xD0,
+0x00, 0x41, 0x5F, 0xB0, 0x0D, 0x05, 0x00, 0x00, 0x27, 0x45, 0x53, 0x28,
+0x00, 0x10, 0x20, 0x45, 0xC9, 0xB6, 0x00, 0x13, 0x28, 0x6D, 0x9F, 0xB4,
+0x01, 0xC3, 0x04, 0xD1, 0x9E, 0x16, 0x09, 0xB7, 0xDF, 0x1F, 0x80, 0x28,
+0x08, 0xF3, 0xDB, 0xDB, 0x91, 0x24, 0x40, 0x12, 0x3F, 0xDD, 0x87, 0x0E,
+0x40, 0x1A, 0xD2, 0xDF, 0xFB, 0x3C, 0x49, 0x16, 0x20, 0xA6, 0x6B, 0x4A,
+0x50, 0x20, 0x48, 0x30, 0x79, 0xCB, 0x8E, 0x04, 0x29, 0x12, 0x01, 0x7B,
+0xA2, 0x10, 0x89, 0x92, 0x50, 0x99, 0xBD, 0x09, 0x49, 0xA2, 0x20, 0x4C,
+0x81, 0x44, 0xA0, 0x25, 0x09, 0x72, 0x11, 0x08, 0x81, 0x61, 0x00, 0x14,
+0xC0, 0x9A, 0xA8, 0x04, 0x00, 0x03, 0x22, 0x2B, 0x5F, 0x0C, 0x80, 0x06,
+0x30, 0xAA, 0x6B, 0xEA, 0x90, 0x28, 0x88, 0x02, 0x8E, 0xA6, 0x9C, 0x28,
+0x12, 0x00, 0x44, 0x80, 0xD6, 0x02, 0x40, 0x02, 0xE0, 0x3C, 0x3A, 0x1C,
+0x41, 0xA0, 0x24, 0x44, 0x43, 0x10, 0xA5, 0x61, 0x1B, 0x02, 0x40, 0x04,
+0x8A, 0x6D, 0xD2, 0x72, 0x0A, 0x22, 0x50, 0x64, 0xD3, 0x36, 0x05, 0x00,
+0x21, 0x51, 0xDB, 0xB2, 0xA9, 0x24, 0x89, 0x34, 0x15, 0x6D, 0x92, 0x80,
+0xCB, 0x34, 0x80, 0x6D, 0x9B, 0x26, 0x01, 0xB4, 0x0D, 0x48, 0x1A, 0x2C,
+0x40, 0x24, 0x0C, 0x47, 0xD3, 0x96, 0x3F, 0x4C, 0x0A, 0x3B, 0x84, 0x4E,
+0x82, 0x42, 0xD9, 0xD6, 0x09, 0x0C, 0x12, 0x20, 0x0A, 0x26, 0x47, 0x4C,
+0xDA, 0x86, 0xD1, 0xB4, 0xA5, 0x43, 0x1A, 0x10, 0x28, 0x10, 0x4F, 0x34,
+0x50, 0x65, 0x1A, 0x92, 0xD3, 0x96, 0x85, 0x61, 0x88, 0x66, 0x5B, 0x82,
+0x25, 0x48, 0xD2, 0x16, 0x15, 0x82, 0xCC, 0x50, 0x11, 0x8C, 0x2F, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00,
+0x80, 0x04, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00,
+0x04, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x08, 0x20, 0x00, 0x00, 0x80, 0x00, 0x02, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x41, 0x01, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x24,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x80, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x80, 0x40, 0x00, 0x02, 0x40, 0x00, 0x00, 0x00, 0x01, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x41, 0x00, 0x00, 0x00, 0x04, 0x00, 0x48, 0x00, 0x09, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x25, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x01, 0x24, 0x40, 0x00, 0xA0, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x81, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x24, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x40,
+0x04, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x08, 0x00,
+0x10, 0x00, 0x00, 0x08, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00,
+0x00, 0x00, 0x10, 0x12, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x01, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x40, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x01, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x02, 0x01, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x12, 0x00, 0x00, 0x08, 0x60, 0x00, 0x80,
+0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x41, 0x00, 0x00,
+0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x20, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x08, 0x00, 0x22,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0A, 0x00, 0x02,
+0x00, 0x00, 0x10, 0x00, 0x80, 0x28, 0x00, 0x10, 0x00, 0x00, 0x01, 0x06,
+0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x20, 0x0C, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x20, 0x00, 0x08,
+0x40, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x92, 0x00, 0x00, 0x44, 0x04, 0x00, 0x80, 0x01, 0x00, 0x80, 0x00, 0x85,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x24, 0x00, 0x00, 0x20, 0x00,
+0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x09, 0x06, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40,
+0x90, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x24, 0x00,
+0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x40, 0x00, 0xA4, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0A, 0x00, 0x00, 0x00, 0x20,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x24, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x04, 0x01,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x08,
+0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x30, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x20,
+0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
+0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x01,
+0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x00,
+0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80,
+0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x80, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x82, 0x00, 0x44,
+0x49, 0x82, 0x24, 0x69, 0x92, 0x28, 0x49, 0x12, 0x0C, 0x49, 0x92, 0x44,
+0x49, 0x92, 0x24, 0x0A, 0x92, 0x64, 0x41, 0x92, 0x24, 0x58, 0x92, 0x24,
+0x89, 0x04, 0x49, 0x84, 0x20, 0x49, 0x92, 0x00, 0x49, 0x10, 0x04, 0x49,
+0x92, 0x20, 0x09, 0xA2, 0x24, 0x5C, 0x92, 0x00, 0x41, 0x92, 0x20, 0x48,
+0x12, 0x24, 0x19, 0x24, 0x19, 0x82, 0x24, 0x41, 0x92, 0x60, 0x49, 0x80,
+0x00, 0x59, 0x02, 0x0C, 0x40, 0x92, 0x24, 0x08, 0x92, 0x24, 0x41, 0x93,
+0x04, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x96, 0x28,
+0x50, 0x92, 0x04, 0x81, 0x92, 0x64, 0x48, 0x92, 0x24, 0xCA, 0x92, 0x24,
+0x41, 0x12, 0x24, 0x58, 0x92, 0x64, 0x09, 0x64, 0x49, 0x92, 0x01, 0x48,
+0x92, 0x28, 0x41, 0x92, 0x0C, 0x49, 0x92, 0x44, 0x49, 0x92, 0x04, 0x4A,
+0x92, 0xB4, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0x96,
+0x21, 0x49, 0x02, 0x20, 0x49, 0x92, 0x04, 0x48, 0x92, 0x24, 0x49, 0xB2,
+0x24, 0x08, 0x12, 0x00, 0x41, 0x82, 0x24, 0x49, 0x82, 0x24, 0x09, 0x24,
+0x19, 0x12, 0x25, 0x09, 0x92, 0x60, 0x49, 0x12, 0x00, 0x48, 0x92, 0x04,
+0x49, 0x90, 0x24, 0x48, 0x92, 0x24, 0x41, 0x82, 0x20, 0x49, 0x92, 0x24,
+0x01, 0x04, 0x49, 0x92, 0x25, 0x49, 0x92, 0x28, 0x51, 0x92, 0x04, 0x00,
+0x91, 0x66, 0x49, 0x10, 0x24, 0x4A, 0x92, 0x24, 0x01, 0x12, 0x20, 0x59,
+0x12, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x40,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x01, 0x00, 0x00, 0x00,
+0x04, 0x49, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x44, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x01, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x20, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x80, 0x00, 0x08, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x02, 0x40, 0x00, 0x00, 0x04, 0x00, 0x10, 0x04, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x80, 0x82, 0x00, 0x00, 0x80, 0x00, 0x44, 0x80, 0x04, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x80, 0x04, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x0C, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x14,
+0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x48, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x24, 0x49, 0x12, 0x24, 0xC0, 0x92, 0x28, 0x49, 0x92,
+0x00, 0x49, 0x92, 0x64, 0x41, 0x82, 0x24, 0x4A, 0x92, 0x20, 0x41, 0xD6,
+0x24, 0xD1, 0x92, 0x04, 0x89, 0x04, 0x49, 0x92, 0x20, 0x08, 0x92, 0x20,
+0x59, 0x92, 0x04, 0x41, 0x92, 0x24, 0x09, 0x92, 0x24, 0x08, 0x92, 0x24,
+0x40, 0x90, 0x24, 0x49, 0x92, 0x24, 0x21, 0x24, 0x49, 0x92, 0x20, 0x49,
+0x90, 0x20, 0x49, 0x92, 0x04, 0x48, 0xD2, 0x24, 0x49, 0x92, 0x24, 0x40,
+0x82, 0x24, 0x41, 0x92, 0xD4, 0x43, 0x12, 0x24, 0x01, 0x24, 0x4B, 0x92,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x82, 0x04, 0x49, 0x92, 0x64, 0x59, 0x93,
+0x24, 0x4A, 0x92, 0x24, 0x41, 0x96, 0x20, 0x19, 0x12, 0x04, 0x09, 0x24,
+0x01, 0x9A, 0x24, 0x49, 0x92, 0xA8, 0x48, 0x92, 0x06, 0x49, 0x92, 0x60,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x97, 0xA4, 0x59, 0x92, 0x24,
+0x89, 0xA4, 0x49, 0x93, 0x24, 0x49, 0x90, 0x30, 0x39, 0x9A, 0x04, 0x49,
+0x82, 0x24, 0x49, 0x92, 0x02, 0x48, 0x92, 0x24, 0x41, 0xD3, 0x22, 0x49,
+0x93, 0x24, 0x09, 0x24, 0x49, 0x52, 0x24, 0x48, 0x92, 0x20, 0x09, 0x90,
+0x04, 0x48, 0xD0, 0x04, 0x41, 0x82, 0x24, 0x48, 0x92, 0x24, 0x41, 0x12,
+0x60, 0x4B, 0x82, 0x24, 0x09, 0xA6, 0x43, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x06, 0x48, 0x92, 0x64, 0x5D, 0x92, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x94, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0xA0, 0x00, 0x30, 0x79, 0xB6, 0x8D, 0x03, 0x10, 0x80,
+0xD0, 0xB6, 0x6D, 0x51, 0x88, 0x21, 0xA8, 0xD4, 0x6D, 0x7B, 0x96, 0x00,
+0x43, 0x96, 0x6D, 0xDB, 0x75, 0x61, 0x68, 0x00, 0x5C, 0x9E, 0x6E, 0x83,
+0x1A, 0x34, 0x8A, 0x96, 0xAD, 0x1B, 0xB5, 0xAE, 0x80, 0xF0, 0xF5, 0xD1,
+0x22, 0x00, 0x20, 0x80, 0x79, 0x72, 0x36, 0x61, 0x92, 0x25, 0x58, 0x94,
+0x5D, 0x02, 0x8E, 0xA9, 0xCC, 0x96, 0xEF, 0x08, 0x30, 0x24, 0x85, 0xF4,
+0x4D, 0xC1, 0x12, 0xE4, 0x79, 0x82, 0x71, 0x59, 0x3F, 0x19, 0x38, 0x2D,
+0xF0, 0x86, 0xED, 0x63, 0xC8, 0x01, 0x50, 0x95, 0x6C, 0x53, 0xB8, 0x25,
+0x70, 0x84, 0x7D, 0x5B, 0x7E, 0x21, 0x0B, 0xD0, 0xFC, 0xDA, 0x76, 0x16,
+0x2C, 0xEB, 0xC8, 0x90, 0x44, 0x99, 0x6C, 0x59, 0x42, 0x80, 0x24, 0x23,
+0x65, 0xDA, 0x1E, 0xB0, 0x24, 0xC9, 0x68, 0xCB, 0xF4, 0x91, 0x20, 0x48,
+0x00, 0x97, 0x04, 0xC9, 0x88, 0x30, 0x01, 0x30, 0x64, 0x69, 0x00, 0x31,
+0x40, 0x00, 0x18, 0x75, 0x12, 0x84, 0x0C, 0x47, 0x02, 0xC9, 0x92, 0x05,
+0x22, 0x84, 0x19, 0x96, 0x6C, 0xCC, 0x88, 0x80, 0x00, 0x90, 0xE0, 0x60,
+0x42, 0x62, 0x14, 0x1A, 0x1C, 0xCB, 0x12, 0x10, 0x02, 0x70, 0x60, 0x0F,
+0xC2, 0x8F, 0x02, 0x82, 0x00, 0x8E, 0x44, 0x72, 0x00, 0xA1, 0x02, 0xD8,
+0x25, 0xC8, 0x86, 0x20, 0x05, 0x81, 0x05, 0x4E, 0x82, 0x20, 0x20, 0x89,
+0x12, 0x68, 0xB4, 0x1D, 0x25, 0x20, 0x10, 0x61, 0x96, 0x05, 0x07, 0x4D,
+0x13, 0x50, 0xB2, 0x6D, 0x39, 0x09, 0x9A, 0xB4, 0xA6, 0x6C, 0x73, 0x08,
+0x10, 0x04, 0xB9, 0x20, 0x18, 0x22, 0xD0, 0x20, 0x80, 0x2A, 0x0C, 0x32,
+0x21, 0x40, 0xD0, 0x40, 0x01, 0x02, 0x09, 0x01, 0x02, 0x04, 0x03, 0x01,
+0x55, 0x08, 0x00, 0x34, 0x91, 0x28, 0x41, 0x46, 0x8A, 0x14, 0x29, 0x08,
+0x01, 0x20, 0x21, 0x20, 0x09, 0xC0, 0x00, 0x04, 0x89, 0x41, 0x51, 0x04,
+0x86, 0x00, 0x18, 0x08, 0x0B, 0xA2, 0x21, 0x00, 0x05, 0x00, 0x0A, 0x00,
+0x20, 0x00, 0x12, 0x04, 0x03, 0x1D, 0x03, 0x00, 0x80, 0x34, 0x38, 0x48,
+0xD0, 0x24, 0x00, 0xE0, 0x82, 0x0C, 0x40, 0x34, 0x88, 0x00, 0x01, 0x00,
+0x02, 0x0A, 0x09, 0x20, 0x08, 0x00, 0x87, 0x4D, 0xD3, 0x08, 0x08, 0x00,
+0xA0, 0x4D, 0x9A, 0xB6, 0x00, 0x00, 0x00, 0x29, 0x92, 0xA4, 0x01, 0x00,
+0x00, 0x50, 0xD2, 0x24, 0x89, 0x01, 0x00, 0x00, 0xA5, 0x65, 0x99, 0x00,
+0x09, 0x30, 0x02, 0x69, 0xDA, 0x3E, 0x08, 0xB4, 0x00, 0x4C, 0x9B, 0x26,
+0x01, 0x00, 0x04, 0x40, 0xCA, 0x84, 0x29, 0x00, 0x0C, 0x83, 0xA5, 0x4D,
+0xD2, 0x00, 0x04, 0x10, 0x80, 0x6D, 0x9A, 0x36, 0x40, 0x82, 0xA0, 0x4C,
+0xD2, 0x34, 0x03, 0x02, 0x12, 0x4A, 0xD2, 0xB6, 0x09, 0x00, 0x00, 0x30,
+0xA7, 0x6D, 0x92, 0x42, 0x01, 0x10, 0xA4, 0xF9, 0x9B, 0x24, 0x21, 0x01,
+0x00, 0x69, 0xD2, 0xB6, 0x11, 0x00, 0x02, 0x50, 0x83, 0x26, 0x0B, 0x9F,
+0xF7, 0xE7, 0x78, 0x20, 0x08, 0x73, 0xE7, 0x7F, 0x15, 0x20, 0x41, 0x00,
+0x7F, 0xDB, 0x1F, 0x46, 0x49, 0x12, 0x60, 0xFA, 0x7E, 0x3D, 0x09, 0x92,
+0x34, 0x06, 0x87, 0x92, 0x10, 0x08, 0x42, 0xA2, 0x44, 0xC3, 0x85, 0x04,
+0x05, 0x00, 0x70, 0x4B, 0xF4, 0x20, 0x40, 0x90, 0x72, 0xBE, 0x88, 0x8D,
+0x11, 0x32, 0x04, 0x0E, 0x61, 0x14, 0x58, 0x30, 0x09, 0xF2, 0xE1, 0x2B,
+0x43, 0x00, 0x41, 0x00, 0x3F, 0x10, 0x10, 0x20, 0x0D, 0x82, 0x60, 0x54,
+0x44, 0x05, 0x09, 0x00, 0x24, 0x3C, 0x61, 0xCA, 0x50, 0x00, 0x69, 0x10,
+0x28, 0xE7, 0x58, 0x04, 0x40, 0x12, 0x40, 0xDE, 0x96, 0x04, 0x09, 0x00,
+0x20, 0xBF, 0xB4, 0x1D, 0x58, 0x90, 0x24, 0x08, 0x41, 0x18, 0x15, 0x69,
+0x3A, 0x22, 0x01, 0x82, 0x86, 0x6D, 0xD3, 0x64, 0x18, 0x00, 0x00, 0x0C,
+0xDB, 0x16, 0x05, 0x14, 0x81, 0x58, 0x9B, 0xB6, 0xAE, 0x40, 0xD3, 0x04,
+0x30, 0x45, 0x98, 0x12, 0x9A, 0x94, 0x84, 0x4D, 0x1B, 0x36, 0xC0, 0x82,
+0x2A, 0x28, 0x63, 0xAC, 0x41, 0x57, 0x2E, 0x48, 0xC3, 0x06, 0x0D, 0xE1,
+0x9A, 0x5A, 0x34, 0x4D, 0xC2, 0x22, 0x1B, 0xD2, 0x04, 0x4D, 0x18, 0x24,
+0x41, 0xBC, 0x67, 0x2C, 0xD2, 0x25, 0x91, 0xB3, 0x28, 0x40, 0xE3, 0x34,
+0x04, 0x63, 0x8D, 0x80, 0x95, 0x49, 0x5A, 0xA2, 0x5A, 0x02, 0x03, 0x4C,
+0x9A, 0x76, 0xDE, 0x10, 0x6D, 0xC8, 0x8B, 0x26, 0x45, 0xD6, 0x48, 0x12,
+0x4A, 0xB4, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x08,
+0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x20, 0x80,
+0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x10, 0x00,
+0x00, 0x80, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x81, 0x30, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x83, 0x04, 0x00, 0x00, 0x22, 0x48,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x10, 0x18, 0x00, 0x00, 0x04, 0x40, 0x12, 0x00, 0x82, 0x10, 0x08,
+0x08, 0x02, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x04, 0x20, 0x11, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x80, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x04,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00,
+0x00, 0x04, 0x40, 0x12, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x20, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x84, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x02, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
+0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x40, 0x10,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x40, 0x82, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x19, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x24, 0x04, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x41, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x10, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00,
+0x81, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x82, 0x00, 0x00,
+0x00, 0x40, 0x41, 0x01, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x04,
+0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
+0x00, 0x02, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00,
+0x00, 0x80, 0x81, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x80, 0x41, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x01, 0x02, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x02, 0x10, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x11, 0x40, 0x00, 0x02,
+0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x01, 0x02, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,
+0x20, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x08, 0x08, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08,
+0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x80, 0x01, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x42, 0x00, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0xC0,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x03,
+0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x04, 0x04, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x30, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x10, 0x01, 0x00, 0x00, 0x00, 0x80,
+0x90, 0x01, 0x00, 0x00, 0x00, 0x84, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x02, 0x04, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x82, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x10, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x82, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10,
+0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x84,
+0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x02, 0x04, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00,
+0x80, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x28, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00,
+0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x80, 0x00, 0x00, 0x40,
+0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x44,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
+0x00, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x80, 0x80, 0x40, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x82, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x40, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x24, 0x48, 0x92, 0x25, 0x4B, 0x92, 0x28, 0x41, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x64, 0x4A, 0x92, 0x24, 0x02, 0x90,
+0xA4, 0x58, 0x96, 0x24, 0x89, 0xA4, 0xC9, 0xC0, 0x25, 0x49, 0x90, 0x30,
+0x49, 0x90, 0x00, 0xCB, 0x12, 0x24, 0x40, 0x02, 0x21, 0x48, 0x92, 0x28,
+0x41, 0x10, 0x24, 0x41, 0x92, 0x2C, 0x09, 0x26, 0x59, 0x92, 0x25, 0x49,
+0x92, 0x20, 0x03, 0x82, 0x00, 0x41, 0x92, 0x24, 0xC1, 0x12, 0x04, 0x48,
+0x12, 0x24, 0x41, 0x12, 0x24, 0x41, 0xB2, 0x64, 0x09, 0x04, 0x59, 0x82,
+0x27, 0x09, 0x92, 0x2C, 0x99, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x93,
+0x34, 0x4A, 0x92, 0x24, 0x41, 0x02, 0x04, 0x59, 0x90, 0x20, 0x09, 0x24,
+0x48, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x12, 0x04, 0x49, 0x90, 0x64,
+0x49, 0x92, 0x44, 0x4A, 0x93, 0x24, 0x40, 0x90, 0x20, 0x59, 0x92, 0x24,
+0x81, 0x24, 0x89, 0x02, 0x20, 0x41, 0x95, 0x20, 0x49, 0x92, 0x04, 0x41,
+0x90, 0x24, 0x40, 0x02, 0x25, 0x08, 0x82, 0x20, 0x40, 0x80, 0x24, 0x49,
+0x92, 0x64, 0x09, 0x24, 0x59, 0x92, 0x24, 0x09, 0x92, 0x20, 0x4B, 0x92,
+0x00, 0x41, 0x82, 0x24, 0xC9, 0x12, 0x04, 0x48, 0x00, 0x24, 0x41, 0x92,
+0x24, 0x49, 0x92, 0x04, 0x09, 0x20, 0x51, 0x92, 0x26, 0x09, 0x90, 0x20,
+0x99, 0x92, 0x04, 0x01, 0x90, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x10, 0x24,
+0x41, 0x92, 0x04, 0x59, 0x92, 0xA4, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x20, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x28, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x20, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x20, 0x00, 0x12, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x02, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x01, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02,
+0x00, 0x00, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x24, 0x48, 0xB2, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x94, 0x04, 0x4B, 0x92, 0x64, 0xC9, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x64, 0x59, 0x96, 0x24, 0x89, 0x0D, 0x59, 0x92,
+0x24, 0x4A, 0x16, 0x20, 0x49, 0x92, 0x04, 0xC9, 0xB2, 0x24, 0x09, 0x32,
+0x04, 0x48, 0x92, 0x24, 0x01, 0x92, 0x24, 0x49, 0x92, 0x26, 0x09, 0xA4,
+0xE9, 0x32, 0x24, 0x49, 0x92, 0x22, 0x49, 0x92, 0x04, 0x49, 0x10, 0x24,
+0x69, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x4B, 0x92, 0x24,
+0x09, 0x26, 0x49, 0x92, 0x04, 0x4B, 0x80, 0x28, 0x49, 0xB2, 0x04, 0x49,
+0x12, 0x64, 0x4B, 0x96, 0x24, 0x4A, 0x92, 0x24, 0x49, 0x52, 0x24, 0x59,
+0x92, 0x34, 0x09, 0x24, 0x00, 0xB2, 0x24, 0x49, 0x92, 0x28, 0x41, 0x94,
+0x04, 0x41, 0x12, 0x64, 0xC9, 0x92, 0x20, 0x0A, 0x92, 0x20, 0x41, 0x80,
+0x64, 0x59, 0x92, 0x24, 0x89, 0x2D, 0x19, 0x12, 0x15, 0x49, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x41, 0x92, 0x24, 0x49, 0xB2, 0x04, 0x48, 0x82, 0x20,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0xC9, 0x30, 0x24, 0x49,
+0x92, 0x20, 0x09, 0x92, 0x04, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x08,
+0x92, 0x24, 0x41, 0x82, 0x04, 0x4B, 0x92, 0x24, 0x01, 0x24, 0x49, 0x90,
+0x24, 0x65, 0x12, 0x20, 0x49, 0xB2, 0x04, 0x49, 0x92, 0x64, 0x4B, 0x86,
+0x04, 0x4A, 0x92, 0x04, 0x01, 0x92, 0x24, 0x59, 0x82, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x2C, 0xD9, 0xBE,
+0xED, 0x02, 0x04, 0x0C, 0xDD, 0xB6, 0x6D, 0x47, 0x00, 0x22, 0x28, 0xB4,
+0x65, 0x1B, 0x06, 0x00, 0xC1, 0x93, 0x6D, 0xDB, 0x7A, 0x54, 0x90, 0x64,
+0xC1, 0xB6, 0x7D, 0x23, 0x0C, 0x31, 0x40, 0x96, 0x2D, 0x1A, 0x06, 0x60,
+0x0D, 0xBC, 0x6D, 0xCB, 0x92, 0x00, 0x41, 0x40, 0x7D, 0xFB, 0x36, 0xCA,
+0x83, 0x01, 0xD8, 0xB3, 0x6F, 0x93, 0x53, 0x00, 0xC0, 0x82, 0x1E, 0x3B,
+0x70, 0x81, 0x02, 0xB4, 0x6E, 0xD9, 0x12, 0x85, 0x0D, 0x8E, 0xEF, 0xC9,
+0x16, 0x22, 0x60, 0x04, 0x5D, 0xA6, 0x6A, 0x03, 0x58, 0x30, 0xDB, 0x9E,
+0x2E, 0x7B, 0x13, 0x80, 0x02, 0xF0, 0xED, 0xD9, 0x0C, 0xA2, 0x19, 0x98,
+0xF1, 0xF9, 0x56, 0xB6, 0x0D, 0xE3, 0x48, 0x80, 0x24, 0xB8, 0x29, 0x51,
+0x43, 0x02, 0x24, 0x11, 0x6D, 0x59, 0x92, 0x90, 0x28, 0x88, 0x6A, 0xDB,
+0x32, 0x96, 0xA4, 0x49, 0x16, 0xA2, 0x2D, 0x8D, 0x50, 0x90, 0x00, 0x90,
+0x60, 0xC8, 0xC6, 0xB2, 0x64, 0x00, 0x2B, 0x0B, 0xB2, 0x00, 0x04, 0x58,
+0x72, 0x5B, 0x96, 0x0D, 0x20, 0x49, 0x12, 0x54, 0xE4, 0xD8, 0x0C, 0x44,
+0x80, 0x01, 0x2C, 0x5B, 0x02, 0x86, 0x01, 0x00, 0x04, 0x48, 0x94, 0x10,
+0x11, 0x46, 0x60, 0x58, 0xB2, 0x81, 0x00, 0x12, 0x23, 0x90, 0x04, 0xD9,
+0xE0, 0xC8, 0x01, 0x98, 0x25, 0x49, 0x0C, 0x21, 0x41, 0x80, 0x74, 0x49,
+0xB4, 0x04, 0x16, 0x4F, 0x20, 0x69, 0x8E, 0xD4, 0x08, 0x02, 0x23, 0x1B,
+0x12, 0x05, 0x27, 0x41, 0x41, 0xD0, 0x82, 0x25, 0x3C, 0x49, 0x8A, 0x82,
+0xB6, 0x2C, 0x4B, 0x48, 0x12, 0x16, 0xB9, 0x49, 0x5C, 0x64, 0x92, 0x30,
+0xA0, 0x4D, 0x06, 0x00, 0x25, 0x08, 0x49, 0xD1, 0xB2, 0x00, 0x09, 0x4D,
+0x1A, 0x26, 0x90, 0x25, 0xD4, 0x40, 0x12, 0x82, 0x81, 0x68, 0x00, 0x06,
+0x80, 0x02, 0x08, 0x09, 0x09, 0x06, 0x85, 0x40, 0x90, 0x40, 0x00, 0x20,
+0x81, 0x21, 0xC8, 0x14, 0x06, 0x04, 0x79, 0x28, 0x94, 0x24, 0x31, 0x80,
+0xC4, 0x0A, 0x48, 0x00, 0x01, 0x78, 0x02, 0x04, 0x23, 0x49, 0x80, 0x20,
+0x10, 0x24, 0x30, 0x01, 0x18, 0x00, 0x00, 0x44, 0x09, 0x00, 0x12, 0x34,
+0xC9, 0x80, 0xC0, 0x40, 0x42, 0x80, 0x09, 0x00, 0x02, 0x00, 0x27, 0x43,
+0xD3, 0x08, 0x00, 0x00, 0x20, 0x49, 0xBB, 0xB6, 0x00, 0x42, 0x00, 0x49,
+0x9A, 0xB6, 0x01, 0x10, 0x00, 0x52, 0x92, 0x24, 0xAF, 0x00, 0x40, 0x16,
+0x35, 0x49, 0x92, 0x00, 0x08, 0x12, 0x82, 0x6D, 0xF2, 0x24, 0x02, 0x80,
+0x00, 0x48, 0xD3, 0x34, 0x01, 0x80, 0x00, 0x40, 0x82, 0xC4, 0x09, 0x20,
+0x40, 0x00, 0x25, 0x6D, 0x9A, 0x00, 0x49, 0x12, 0xC4, 0x4D, 0x81, 0x06,
+0x20, 0x00, 0x24, 0x68, 0xD9, 0xA6, 0x01, 0x13, 0x00, 0x48, 0x10, 0x36,
+0x29, 0x00, 0x40, 0x00, 0xB3, 0x69, 0x91, 0x00, 0x08, 0x40, 0xAC, 0x61,
+0xD9, 0x24, 0x01, 0x80, 0x00, 0x6D, 0x5A, 0x26, 0x41, 0x02, 0x08, 0x50,
+0xCB, 0xA6, 0x2D, 0xBF, 0x79, 0xBB, 0x90, 0x2C, 0x08, 0xF2, 0xCF, 0xFB,
+0x91, 0x24, 0x40, 0x00, 0xFF, 0x9D, 0xC7, 0x26, 0x41, 0x01, 0xF0, 0xCB,
+0xBE, 0x3C, 0x49, 0x92, 0x00, 0x39, 0x2F, 0xC8, 0x80, 0x24, 0x49, 0x92,
+0x75, 0x89, 0x0D, 0x00, 0x09, 0x12, 0xED, 0x5F, 0xF2, 0x24, 0x08, 0x82,
+0x50, 0x7F, 0xBE, 0x0D, 0x59, 0x32, 0x24, 0xC6, 0xA9, 0xD3, 0x90, 0x00,
+0x41, 0xE2, 0xA0, 0xC4, 0x09, 0x22, 0x5A, 0x31, 0x8F, 0x13, 0x1A, 0x04,
+0x02, 0x10, 0xE0, 0xA0, 0xA6, 0x05, 0xCF, 0x80, 0x04, 0x15, 0xA9, 0xD2,
+0x04, 0x84, 0x4A, 0x22, 0x87, 0x86, 0x12, 0x1C, 0x02, 0x13, 0x58, 0x73,
+0x3E, 0x00, 0x81, 0xD0, 0xA0, 0xB4, 0xA4, 0x15, 0x10, 0x10, 0x00, 0x40,
+0xC0, 0x50, 0xB5, 0x65, 0x1A, 0x02, 0x50, 0x82, 0x82, 0x6D, 0xD3, 0x60,
+0x00, 0x82, 0x34, 0x6C, 0xD3, 0x24, 0x05, 0x24, 0x01, 0x59, 0xDB, 0xA6,
+0x83, 0x02, 0xD0, 0x32, 0xA5, 0x6D, 0x82, 0x23, 0x09, 0x76, 0x00, 0x49,
+0x93, 0x34, 0x40, 0x90, 0x09, 0x64, 0xDB, 0x24, 0x21, 0x84, 0x69, 0x00,
+0xCB, 0x94, 0x2D, 0x20, 0x12, 0x20, 0x34, 0x68, 0xDD, 0x22, 0xDF, 0x9C,
+0x0C, 0x49, 0x80, 0x06, 0xD9, 0xB2, 0x00, 0x4C, 0xD8, 0xB4, 0x81, 0x26,
+0x09, 0x40, 0x11, 0xA4, 0x0D, 0x05, 0xDD, 0x23, 0x30, 0x6D, 0xD8, 0x42,
+0xCA, 0x92, 0x81, 0x47, 0x90, 0x56, 0x8B, 0xB2, 0xC0, 0x28, 0x5B, 0xA4,
+0x15, 0x17, 0x21, 0x5B, 0x03, 0x14, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x02, 0x00, 0x04,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x08, 0x00, 0x88, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00,
+0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x88, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x80, 0x08, 0x00, 0x10, 0x80, 0x18, 0x02, 0x00,
+0x40, 0x00, 0x00, 0x01, 0x40, 0x08, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04, 0x82, 0x10, 0x00, 0x80,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x04, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x02, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x10, 0x04, 0x00, 0x01, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x08, 0x20, 0x80, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x02,
+0x80, 0x02, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00,
+0x01, 0x00, 0x11, 0x04, 0x11, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x08, 0x00, 0x81, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x30,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04,
+0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04,
+0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00,
+0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x81, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0xC0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x01, 0x00, 0x00, 0x05, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x10, 0x00, 0x02, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x20, 0x04,
+0x80, 0x00, 0x08, 0x88, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x08, 0x00, 0x04, 0x06,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x05, 0x40, 0x00, 0x16, 0x00, 0x40, 0x40,
+0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x44, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x48, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00,
+0x80, 0x09, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x80,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x48,
+0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x01, 0x02, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x21, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x01, 0x12, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x81, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00, 0x00, 0x04,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x80,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x41, 0x10, 0x00, 0x08, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
+0x02, 0x10, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0xA4, 0x09, 0x92, 0x24, 0x59,
+0x9A, 0x2A, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x09, 0x92, 0x20, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x82,
+0x25, 0x49, 0x92, 0x00, 0x49, 0x96, 0x04, 0x09, 0x90, 0x24, 0x48, 0x10,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0xA8, 0x48, 0x92, 0x24, 0x01, 0x20,
+0x08, 0x12, 0x20, 0x49, 0x92, 0x00, 0x49, 0x9A, 0x00, 0x09, 0x96, 0x24,
+0xC8, 0x82, 0xA4, 0xC8, 0xB0, 0x24, 0x43, 0x12, 0x20, 0x41, 0x92, 0x24,
+0x09, 0x44, 0x09, 0x92, 0x2C, 0x48, 0xB2, 0x2C, 0x4A, 0x92, 0x00, 0x41,
+0x92, 0x64, 0x59, 0x12, 0x24, 0x4A, 0x82, 0x24, 0x41, 0xB2, 0x27, 0x59,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x28, 0x09, 0x92,
+0x04, 0x49, 0x92, 0x60, 0x49, 0x92, 0x04, 0x4A, 0x92, 0x04, 0x40, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x00,
+0x49, 0x96, 0x04, 0x49, 0x88, 0x24, 0x48, 0x90, 0x04, 0x48, 0x90, 0x24,
+0x41, 0x92, 0x2C, 0x49, 0x92, 0x00, 0x09, 0x24, 0x49, 0x02, 0x25, 0x49,
+0x82, 0x20, 0x49, 0x92, 0x00, 0x49, 0x82, 0x24, 0xC9, 0x92, 0x24, 0x00,
+0x80, 0x20, 0x40, 0x92, 0x20, 0x41, 0x92, 0x34, 0x09, 0x44, 0x40, 0x92,
+0x25, 0x48, 0x92, 0x28, 0x4A, 0x12, 0x04, 0x41, 0x52, 0x64, 0x59, 0x92,
+0x04, 0x0A, 0x82, 0x24, 0x41, 0xB2, 0x25, 0x59, 0x10, 0x20, 0x09, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x20, 0x00, 0x80, 0x00, 0x08, 0x01, 0x00, 0x40, 0x00, 0x00, 0x44,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x02, 0x40, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x84,
+0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x02, 0x05, 0x00, 0x00, 0x00, 0x10,
+0x60, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x80,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x04, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80,
+0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20,
+0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0C,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x24,
+0x09, 0xA2, 0x24, 0x49, 0x82, 0x28, 0x49, 0x92, 0x00, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x04, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x58, 0x92, 0x24,
+0x81, 0x01, 0x49, 0x9A, 0x24, 0x09, 0x12, 0x00, 0x49, 0x92, 0x04, 0x4D,
+0x92, 0x04, 0x49, 0x92, 0x24, 0x08, 0x92, 0x26, 0x41, 0x92, 0x24, 0x49,
+0x12, 0x24, 0x09, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x96,
+0x04, 0x49, 0x80, 0x0C, 0x09, 0x12, 0x6C, 0x48, 0x12, 0x20, 0x41, 0x92,
+0x24, 0x49, 0x90, 0x24, 0x09, 0x24, 0x41, 0x92, 0x0C, 0x49, 0x90, 0x08,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x6C, 0x49, 0x92, 0x24, 0x1A, 0x92, 0x24,
+0x41, 0x12, 0x64, 0x59, 0x92, 0x04, 0x09, 0x24, 0x49, 0xB2, 0x24, 0x49,
+0x92, 0xA8, 0x49, 0x92, 0x04, 0x49, 0x82, 0x64, 0x49, 0x90, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x25, 0x49, 0x92,
+0x24, 0x09, 0x92, 0x20, 0x49, 0x92, 0x04, 0x48, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0xA4, 0x09, 0x24,
+0x08, 0x92, 0x20, 0x09, 0x92, 0x20, 0x49, 0x96, 0x04, 0x49, 0x92, 0x04,
+0x49, 0x92, 0xFC, 0x48, 0x82, 0x24, 0x40, 0x92, 0xA4, 0x4D, 0x92, 0x24,
+0x09, 0x24, 0x41, 0x92, 0x20, 0x49, 0x92, 0xA0, 0x69, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x49, 0x93, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x64, 0x59,
+0x90, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x82, 0xB5, 0xF8, 0xB6, 0x3D, 0x00, 0x00, 0x04, 0xDD, 0xB6, 0x6D, 0x6A,
+0x08, 0x40, 0x0C, 0x94, 0x6D, 0xE9, 0x05, 0x20, 0x03, 0x9A, 0x6D, 0xDB,
+0x5C, 0x9D, 0xA0, 0x04, 0xE9, 0xBE, 0x69, 0x53, 0x12, 0x10, 0xC1, 0xB5,
+0x2F, 0x3F, 0x1A, 0x46, 0x03, 0x8C, 0x65, 0x9B, 0xD2, 0xA4, 0x48, 0x09,
+0x6C, 0xF9, 0x12, 0x27, 0x02, 0xB2, 0x68, 0xF6, 0xA5, 0x01, 0x0A, 0x80,
+0xCD, 0xD6, 0xEF, 0x25, 0x2E, 0x74, 0x68, 0xDC, 0x2D, 0x3F, 0x01, 0xB0,
+0x29, 0x09, 0x35, 0x59, 0x09, 0x19, 0x92, 0x0C, 0xF8, 0xBE, 0x6D, 0x03,
+0x52, 0x22, 0xDB, 0x7D, 0x66, 0x5B, 0x0A, 0x42, 0x00, 0x14, 0x61, 0xDB,
+0x46, 0x96, 0x02, 0x90, 0xA4, 0xDD, 0x76, 0xB6, 0x2D, 0x4E, 0x48, 0x92,
+0x60, 0xBA, 0x2D, 0xC9, 0x4A, 0x90, 0x04, 0x18, 0x65, 0x99, 0x9A, 0xB0,
+0xA0, 0x59, 0x68, 0xCB, 0xB0, 0x96, 0x04, 0x61, 0x20, 0x0A, 0x45, 0xCB,
+0x58, 0x03, 0x20, 0xC0, 0x64, 0x4B, 0x47, 0x00, 0x60, 0x01, 0x26, 0x09,
+0x90, 0xA0, 0x0C, 0x20, 0x20, 0x49, 0xBE, 0x04, 0x25, 0x03, 0x24, 0x90,
+0x2C, 0x69, 0x90, 0x11, 0x4A, 0x92, 0x24, 0x5B, 0x4B, 0x20, 0x10, 0x12,
+0x02, 0x0B, 0xDE, 0x20, 0x42, 0x80, 0x60, 0x4B, 0x92, 0x44, 0x42, 0x8A,
+0x24, 0x8A, 0x2E, 0xD3, 0x00, 0x02, 0x80, 0xB8, 0x36, 0x59, 0x44, 0x00,
+0x3D, 0x01, 0x64, 0x09, 0x92, 0x60, 0x0A, 0x48, 0x2A, 0x49, 0x90, 0x94,
+0x4B, 0x03, 0x01, 0xD3, 0xD2, 0xA8, 0x07, 0x41, 0x00, 0x50, 0x86, 0x31,
+0x31, 0x49, 0x8A, 0x80, 0x3E, 0xAC, 0x03, 0x48, 0x9A, 0x86, 0xB8, 0x45,
+0x59, 0x60, 0x52, 0x30, 0x85, 0x40, 0x10, 0x14, 0x01, 0x41, 0x88, 0x00,
+0x02, 0x10, 0x80, 0x24, 0x91, 0x00, 0xC8, 0x20, 0x68, 0x00, 0xC2, 0xA2,
+0x91, 0x4C, 0x40, 0x02, 0x40, 0x04, 0x08, 0x41, 0x01, 0x06, 0x01, 0x21,
+0x13, 0x20, 0x08, 0x84, 0x04, 0x01, 0x58, 0x01, 0x48, 0x20, 0x00, 0x04,
+0x0A, 0x00, 0x00, 0xA0, 0x00, 0x40, 0x0A, 0x00, 0x10, 0x40, 0x01, 0x20,
+0x03, 0x01, 0x80, 0x00, 0x00, 0x20, 0x30, 0x00, 0x10, 0x80, 0x80, 0x04,
+0x09, 0x40, 0xD2, 0x36, 0x59, 0x42, 0x40, 0x40, 0x02, 0xA0, 0x29, 0x00,
+0x40, 0x00, 0x07, 0x49, 0xD2, 0x0A, 0x00, 0x12, 0x20, 0x49, 0x93, 0xB4,
+0x00, 0x00, 0x00, 0x69, 0x9A, 0xB5, 0x00, 0x10, 0x04, 0x50, 0x92, 0x2C,
+0xAD, 0x08, 0x04, 0x00, 0xB5, 0x61, 0xD2, 0x00, 0x40, 0x00, 0x85, 0x6D,
+0xD0, 0x06, 0x40, 0x92, 0x00, 0x6C, 0x9B, 0x34, 0x01, 0x80, 0x08, 0x48,
+0xDB, 0x26, 0x2D, 0x20, 0x28, 0x21, 0xD5, 0x0D, 0xDB, 0x22, 0x20, 0x80,
+0x04, 0x2D, 0x11, 0x36, 0x00, 0x10, 0x00, 0x2C, 0xD3, 0xA2, 0x41, 0x12,
+0x20, 0x40, 0xC2, 0xA6, 0x24, 0x00, 0x01, 0x82, 0xB7, 0x49, 0x96, 0x09,
+0x42, 0x02, 0x64, 0x6C, 0x99, 0xA4, 0x00, 0x80, 0x00, 0x6D, 0xDA, 0x34,
+0x41, 0x80, 0x02, 0x50, 0x5B, 0xB2, 0x2D, 0xFF, 0x3D, 0x8E, 0xB0, 0x24,
+0x09, 0x70, 0xEF, 0xA9, 0x9A, 0x24, 0x48, 0x02, 0x7F, 0xDF, 0x7B, 0x06,
+0x41, 0x42, 0xF1, 0xCF, 0x70, 0x33, 0x49, 0x92, 0x00, 0xB2, 0x6B, 0xDA,
+0x40, 0x0C, 0x09, 0x72, 0x89, 0xCB, 0x0A, 0x00, 0x0B, 0x30, 0xA3, 0x41,
+0x26, 0x00, 0x40, 0x82, 0x00, 0x5B, 0x36, 0x04, 0x00, 0x90, 0x00, 0x08,
+0x55, 0x02, 0x20, 0x60, 0x00, 0x10, 0xD9, 0x72, 0x89, 0x40, 0xCA, 0x00,
+0x7F, 0x82, 0x4D, 0x40, 0x08, 0x14, 0x00, 0xC4, 0x46, 0x02, 0x19, 0x10,
+0x09, 0xAE, 0x4A, 0x51, 0x00, 0x24, 0x49, 0x72, 0x9D, 0xD9, 0x90, 0x01,
+0x42, 0x12, 0x41, 0x14, 0xB6, 0x02, 0x01, 0x82, 0x20, 0x60, 0xB5, 0x1D,
+0x80, 0x04, 0x00, 0x08, 0x00, 0x50, 0x95, 0x6D, 0x8B, 0x00, 0x50, 0x46,
+0x84, 0x6D, 0xD3, 0x46, 0x80, 0x02, 0xE4, 0x4C, 0xD3, 0x04, 0x04, 0x30,
+0x84, 0x59, 0x9B, 0xA6, 0x81, 0x25, 0x8A, 0x21, 0x84, 0xE5, 0xD3, 0xA2,
+0x99, 0xA4, 0x08, 0x48, 0x98, 0x12, 0x15, 0x96, 0x15, 0x44, 0x93, 0x34,
+0x61, 0xB2, 0x01, 0xC9, 0x9E, 0x94, 0x0B, 0x2C, 0xD2, 0x90, 0x04, 0x0D,
+0x12, 0x40, 0xD3, 0x20, 0x82, 0x1D, 0x11, 0x00, 0x91, 0x94, 0xB1, 0x00,
+0x93, 0x12, 0xB0, 0x16, 0xED, 0x4F, 0x83, 0x34, 0x00, 0x25, 0xD0, 0x04,
+0x94, 0x65, 0xDB, 0xC3, 0xE9, 0x86, 0x89, 0x24, 0xD4, 0x76, 0x3B, 0xB3,
+0x64, 0x4C, 0x93, 0xAC, 0x85, 0xB4, 0x2D, 0x5B, 0x16, 0x78, 0x0D, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x90, 0x20,
+0x00, 0x80, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2C, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x20, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
+0x00, 0x00, 0x00, 0x20, 0x0A, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x40, 0x02, 0x00,
+0x00, 0x10, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0C,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x20,
+0x08, 0x10, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x90, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x10, 0x00, 0x00, 0x90, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x80, 0x00, 0x41, 0x10, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x02, 0x01, 0x40, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x10, 0x00, 0x00, 0x01, 0x92, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x20, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xC1, 0x00,
+0x41, 0x10, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x22, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x41, 0x20, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x82, 0x00, 0x10,
+0x01, 0x00, 0x01, 0x92, 0x00, 0x00, 0x00, 0x00, 0x11, 0x20, 0x08, 0x04,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x09, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x82, 0x01, 0x00, 0x01, 0x20, 0x00, 0x04, 0x08, 0x01, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x40, 0x08, 0x00, 0x02, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x02, 0x01, 0x00, 0x08, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x08,
+0x10, 0x00, 0x00, 0x00, 0x04, 0x10, 0x08, 0x00, 0x00, 0x00, 0x08, 0x01,
+0x20, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00,
+0x10, 0x40, 0x00, 0x0A, 0x00, 0x20, 0x80, 0x80, 0x00, 0x01, 0x00, 0x20,
+0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x44, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x08, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xA0, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x12, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x4C, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x08, 0x02, 0x00, 0x20, 0x00,
+0x80, 0x40, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04,
+0x00, 0x00, 0x00, 0x40, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x12, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
+0x04, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x10,
+0x40, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4C, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x40,
+0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x01, 0x00, 0x02, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x40, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x40, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x41, 0x02, 0x00, 0x00, 0x40, 0x20, 0x00, 0x02, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x40, 0x40, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0x48, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x00, 0x00,
+0x00, 0x20, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x02, 0x41, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x44, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00,
+0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x01, 0x08, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x41, 0x18,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x90, 0x04, 0x00, 0x02, 0x00, 0x04, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x24,
+0x09, 0x92, 0x24, 0x49, 0x82, 0x28, 0x49, 0xD2, 0x04, 0x49, 0x82, 0x64,
+0x49, 0x12, 0x24, 0x4A, 0x92, 0x24, 0x51, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x81, 0x04, 0xC9, 0x92, 0x20, 0x48, 0x92, 0x40, 0x00, 0x82, 0x00, 0x41,
+0x9A, 0x24, 0x21, 0xA2, 0x24, 0x48, 0xA2, 0x64, 0x43, 0x90, 0x0C, 0x09,
+0x92, 0x24, 0x09, 0x20, 0x08, 0x82, 0x24, 0x43, 0x92, 0x20, 0x49, 0x96,
+0x04, 0x01, 0x92, 0x24, 0xC1, 0x10, 0x00, 0x48, 0x92, 0x24, 0x11, 0x12,
+0x03, 0x09, 0x9E, 0x24, 0x29, 0x20, 0x41, 0x90, 0x24, 0x49, 0x92, 0x28,
+0x49, 0xD2, 0x04, 0x49, 0x92, 0x64, 0x09, 0x82, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x96, 0x20, 0x19, 0x92, 0x20, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49,
+0x81, 0x28, 0x09, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x12, 0x24, 0x4A,
+0x92, 0x24, 0x51, 0x92, 0x24, 0x18, 0x92, 0x24, 0x80, 0x24, 0xC1, 0x92,
+0x21, 0x41, 0x90, 0x60, 0x09, 0x92, 0x00, 0x48, 0x82, 0x24, 0x49, 0xB2,
+0x24, 0x08, 0x13, 0x06, 0x41, 0x92, 0x2C, 0x49, 0x92, 0x04, 0x01, 0x24,
+0x49, 0x82, 0x25, 0x41, 0x90, 0x20, 0x49, 0x96, 0x04, 0x09, 0x82, 0x34,
+0xC1, 0x12, 0x04, 0x48, 0x90, 0x24, 0x51, 0x82, 0x21, 0x09, 0x92, 0x20,
+0x09, 0x24, 0x41, 0x90, 0x25, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x52, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x90, 0x20, 0x41, 0x96, 0x20, 0x19,
+0x82, 0x20, 0x09, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x04, 0x20, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x04, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xA0, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01,
+0x01, 0x00, 0x00, 0x14, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08,
+0x80, 0x00, 0x00, 0x04, 0x10, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x20, 0x40, 0x00, 0x00, 0x84, 0x01, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x60, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x20, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00,
+0x80, 0x20, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x09,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x0C, 0x80, 0x10,
+0x08, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x08, 0x90, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x48, 0x00, 0x20, 0x01, 0x80, 0x00, 0x05,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00, 0x00, 0x00, 0x20, 0x01,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x20, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x48, 0x92,
+0x00, 0x4B, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x26, 0x51, 0x8A, 0x24, 0x89, 0x24, 0x09, 0xD2, 0x20, 0x48, 0x92, 0x20,
+0x40, 0x02, 0x04, 0x09, 0x92, 0x20, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24,
+0x01, 0x12, 0x34, 0x49, 0x90, 0x34, 0x01, 0x2C, 0x29, 0x92, 0xA4, 0x49,
+0x92, 0x20, 0x59, 0x96, 0x06, 0x49, 0x82, 0x24, 0x49, 0xD2, 0x2C, 0x40,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x80, 0x34, 0x08, 0x24, 0x49, 0x92,
+0x24, 0x48, 0x92, 0x28, 0x49, 0x90, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92,
+0x25, 0x4A, 0x92, 0x24, 0x41, 0x12, 0x24, 0x59, 0x82, 0x24, 0x09, 0xA4,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x4D, 0x92, 0x04, 0x49, 0x9A, 0x44,
+0x49, 0x93, 0xB4, 0x4A, 0x92, 0x26, 0x60, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x24, 0x69, 0x9A, 0x20, 0x49, 0x92, 0x20, 0x4D, 0x93, 0x04, 0x49,
+0x92, 0x04, 0x68, 0x9B, 0x24, 0x48, 0x92, 0x24, 0x41, 0x93, 0x26, 0x09,
+0x92, 0x22, 0x09, 0xBC, 0x49, 0x93, 0x04, 0x49, 0x92, 0x20, 0x59, 0xD6,
+0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x1E, 0x44, 0x12, 0x24, 0x61, 0x82,
+0x20, 0x09, 0x82, 0x20, 0x08, 0x24, 0x49, 0x9A, 0x24, 0x49, 0x92, 0x38,
+0x49, 0x9A, 0x06, 0x49, 0x90, 0x64, 0x69, 0x92, 0x35, 0x42, 0x92, 0x04,
+0x41, 0x92, 0x26, 0x19, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x80, 0x00, 0x34, 0xA0, 0x68, 0x48, 0xB7, 0x6D, 0xC3, 0x0A, 0x10,
+0xD9, 0xD6, 0x3D, 0x7F, 0x60, 0x00, 0x48, 0xFC, 0x6C, 0x9B, 0x84, 0x10,
+0xD7, 0x9B, 0x3D, 0xEB, 0x52, 0xB3, 0xC0, 0x20, 0x58, 0x77, 0x6C, 0x43,
+0x00, 0xAE, 0xC1, 0xFE, 0x67, 0x19, 0xC2, 0x10, 0x08, 0xF4, 0xAC, 0xDB,
+0x32, 0xF6, 0x01, 0x84, 0x25, 0xDD, 0x37, 0x0C, 0xB2, 0x00, 0xC8, 0xB6,
+0x5D, 0x02, 0x0B, 0x90, 0xC4, 0x92, 0xAD, 0x0D, 0x86, 0x64, 0x04, 0xBC,
+0x6D, 0xCB, 0x12, 0x20, 0x60, 0x03, 0x7F, 0x7B, 0x3B, 0x4B, 0xD0, 0x20,
+0xDC, 0xA6, 0xCE, 0x03, 0x56, 0xA5, 0x91, 0xFE, 0x4C, 0x55, 0x83, 0x88,
+0x68, 0x30, 0xE9, 0x19, 0x8E, 0x3A, 0x58, 0x95, 0xA5, 0xDB, 0x73, 0x82,
+0x4C, 0x01, 0xD8, 0x08, 0x20, 0x39, 0x24, 0x4B, 0x4B, 0x30, 0x64, 0x09,
+0x05, 0x59, 0x96, 0x90, 0x23, 0x0C, 0x28, 0xC9, 0x20, 0x14, 0x40, 0x11,
+0x36, 0x00, 0x2C, 0x49, 0x88, 0x10, 0x05, 0x90, 0x2C, 0x51, 0x46, 0x82,
+0x28, 0x0A, 0x2C, 0x4B, 0x92, 0x10, 0x41, 0x4D, 0x00, 0x09, 0x93, 0x88,
+0x6A, 0x02, 0x02, 0x92, 0x0D, 0x49, 0x18, 0x10, 0x80, 0x90, 0x24, 0x4B,
+0x02, 0x66, 0x56, 0x32, 0x63, 0x8B, 0x92, 0x40, 0x00, 0x34, 0x61, 0x4B,
+0xD2, 0x06, 0x00, 0x88, 0x04, 0xB5, 0xA4, 0xEB, 0x40, 0x88, 0x05, 0xB8,
+0x32, 0x4A, 0x03, 0x13, 0x01, 0x02, 0x24, 0x51, 0x96, 0x04, 0x10, 0x8A,
+0x22, 0xE1, 0xC6, 0x18, 0x7C, 0x00, 0x0E, 0x23, 0x90, 0x26, 0x27, 0x48,
+0x50, 0x12, 0xD0, 0x71, 0x30, 0x00, 0x8B, 0x82, 0x42, 0x2C, 0x4B, 0x20,
+0x92, 0x86, 0x98, 0x40, 0x40, 0x60, 0x81, 0x00, 0x80, 0x09, 0x82, 0x81,
+0x31, 0x0C, 0x10, 0xC0, 0x21, 0x22, 0x80, 0x20, 0x01, 0x20, 0x02, 0x14,
+0x05, 0x04, 0x10, 0x94, 0x11, 0x00, 0x08, 0x02, 0x03, 0xB0, 0x0C, 0x45,
+0x00, 0x20, 0x05, 0x25, 0x80, 0x00, 0x00, 0x04, 0x80, 0xC1, 0x12, 0x20,
+0x80, 0x00, 0x4C, 0x60, 0x0C, 0x26, 0x11, 0x20, 0x00, 0x09, 0x08, 0x04,
+0x00, 0x08, 0x22, 0x04, 0x13, 0x0C, 0x10, 0x02, 0x80, 0xA4, 0x38, 0x05,
+0x02, 0xA0, 0x92, 0x84, 0xE0, 0x70, 0x50, 0x04, 0x88, 0x05, 0x01, 0x42,
+0x10, 0x9C, 0x08, 0x24, 0x60, 0x02, 0xB7, 0x4C, 0xDA, 0x0A, 0x18, 0x02,
+0x20, 0x2D, 0xC2, 0xB6, 0x0A, 0x80, 0x00, 0x01, 0x9B, 0xA4, 0x41, 0x10,
+0x04, 0x50, 0xCA, 0x14, 0xAD, 0xA0, 0x40, 0x80, 0xB5, 0x0C, 0xDB, 0x00,
+0x01, 0x80, 0x80, 0x01, 0x99, 0x26, 0x40, 0x10, 0x20, 0x0C, 0x53, 0x26,
+0x01, 0x90, 0x05, 0x4D, 0xDB, 0xA6, 0x08, 0x00, 0x00, 0x00, 0xB5, 0x49,
+0xCB, 0x02, 0x09, 0x10, 0x80, 0x6D, 0x53, 0x32, 0x0B, 0x82, 0x00, 0x48,
+0xD2, 0xB4, 0x01, 0x48, 0x20, 0x49, 0xC0, 0x86, 0x2D, 0x01, 0xC0, 0x20,
+0x27, 0x6D, 0xD3, 0x08, 0x02, 0x01, 0x21, 0x4D, 0xD3, 0xA6, 0x00, 0x40,
+0x04, 0x6D, 0x1B, 0xA7, 0x21, 0x00, 0x40, 0x54, 0xFA, 0xA4, 0x1D, 0x53,
+0x1D, 0xDC, 0x00, 0x21, 0x21, 0xB1, 0xC1, 0xFD, 0x9F, 0x40, 0x19, 0x00,
+0x75, 0x1E, 0x26, 0x6E, 0x40, 0x12, 0x10, 0xC6, 0xAA, 0x34, 0x11, 0xA2,
+0x00, 0x4E, 0x1F, 0x53, 0x40, 0x61, 0x00, 0xB2, 0xFA, 0x58, 0x06, 0x6C,
+0x42, 0x18, 0x1D, 0xE2, 0x96, 0x60, 0x88, 0x90, 0x60, 0x4A, 0xE8, 0x00,
+0x00, 0x10, 0x25, 0x22, 0x6D, 0x96, 0x00, 0x24, 0x10, 0xB0, 0x64, 0x2B,
+0x01, 0x00, 0x88, 0x04, 0x64, 0x10, 0x24, 0x24, 0x09, 0x02, 0xC0, 0x96,
+0x4E, 0x02, 0x1B, 0x30, 0x00, 0x36, 0x29, 0x93, 0x90, 0x00, 0x08, 0xA2,
+0x1D, 0x52, 0x9C, 0x20, 0x08, 0x11, 0x58, 0x3A, 0x82, 0x02, 0xC0, 0x10,
+0x40, 0xA9, 0xB5, 0x18, 0x01, 0x12, 0x20, 0x4C, 0x03, 0x90, 0x25, 0x6C,
+0x9B, 0x40, 0x0B, 0x84, 0x84, 0x0D, 0x82, 0x50, 0x98, 0x82, 0xB0, 0x04,
+0xDA, 0x34, 0x45, 0x36, 0x0D, 0xDB, 0x8A, 0x86, 0x89, 0x64, 0x71, 0x36,
+0x25, 0x28, 0xDA, 0x22, 0xD2, 0x84, 0x09, 0x05, 0xD0, 0x34, 0xD1, 0xA0,
+0x68, 0x28, 0x1A, 0x26, 0xC1, 0xB6, 0x64, 0x41, 0x92, 0x20, 0x28, 0x28,
+0xD2, 0xDE, 0xA5, 0x49, 0xCB, 0x62, 0xDB, 0xB0, 0x0D, 0x4B, 0x1B, 0x28,
+0x18, 0x34, 0x21, 0x44, 0xD3, 0xA4, 0xA1, 0x94, 0x2D, 0x40, 0xC1, 0x16,
+0x20, 0x40, 0x5D, 0x18, 0xA1, 0x69, 0x78, 0x50, 0x49, 0x18, 0x86, 0x21,
+0xDA, 0x70, 0x69, 0x23, 0x19, 0x48, 0x1F, 0x74, 0x55, 0x12, 0x28, 0x51,
+0x13, 0x26, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x02, 0x48,
+0x00, 0x00, 0x20, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0xC0, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x48, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x81, 0x00, 0x00, 0x00, 0x30, 0x00, 0x09, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x04, 0x00, 0x20, 0x24, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x04, 0x41, 0x86, 0x02, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x24, 0x00, 0x10, 0x04,
+0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x90, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00,
+0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x01, 0x00,
+0x84, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x04, 0x41, 0x82, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x90, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x64, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x82, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x24, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x24, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00,
+0x01, 0x01, 0x00, 0x24, 0x00, 0x00, 0x00, 0x80, 0x8C, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
+0x01, 0x10, 0x00, 0x12, 0x20, 0x04, 0x40, 0x80, 0x00, 0x00, 0x00, 0x09,
+0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x01, 0x04, 0x00, 0x00,
+0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x08, 0x02, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01, 0x24,
+0x00, 0x00, 0x00, 0x80, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x20, 0x00, 0x04, 0x41, 0x00, 0x00, 0x00, 0x05, 0x10, 0x00, 0x12,
+0x20, 0x04, 0x40, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x06, 0x04, 0x00,
+0x00, 0x40, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x01, 0x04, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x08,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x02, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x20, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x08, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x40, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x01, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x04, 0x18, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x06, 0x05, 0x00, 0x00, 0x00,
+0x80, 0x08, 0x80, 0x02, 0x20, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x22, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x20, 0x00,
+0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x48, 0x00, 0x02, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x20, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x18, 0x02, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x02,
+0x00, 0x00, 0x20, 0x40, 0x00, 0x04, 0x08, 0x00, 0x20, 0x00, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00,
+0x08, 0x40, 0x03, 0x00, 0x24, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x80, 0x04, 0x08, 0x00, 0x40, 0xC0, 0x00, 0x04, 0x21, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40,
+0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10,
+0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x26, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x08, 0x00, 0x00, 0x40, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x90,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x14, 0x40,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x84,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x28, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x21,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00,
+0x02, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x10, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x03, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x20, 0x00,
+0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x14, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x04, 0x20, 0x00, 0x01, 0x00,
+0x00, 0x05, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x01, 0x80, 0x04, 0x15, 0x61, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x09, 0x93, 0x25, 0x4B, 0x92, 0x28, 0x43, 0x92,
+0x04, 0x09, 0x92, 0x64, 0x49, 0x82, 0x04, 0x4A, 0x96, 0x64, 0x01, 0x92,
+0x24, 0x59, 0x86, 0x24, 0x89, 0x04, 0x08, 0x96, 0x25, 0x49, 0x02, 0x20,
+0x09, 0x92, 0x0E, 0x49, 0x90, 0x04, 0xA8, 0x43, 0x04, 0x48, 0x92, 0x24,
+0x41, 0x90, 0x74, 0x43, 0x96, 0x24, 0x09, 0x24, 0x40, 0x92, 0x25, 0xC9,
+0x92, 0x00, 0x49, 0x96, 0x44, 0x49, 0x92, 0x24, 0xC9, 0x80, 0x24, 0x48,
+0x90, 0x64, 0x41, 0x80, 0x0C, 0x49, 0x92, 0x24, 0x00, 0x24, 0x41, 0x92,
+0x25, 0x01, 0x12, 0x68, 0x08, 0x12, 0x49, 0x09, 0x92, 0x40, 0x48, 0x82,
+0x1C, 0x4A, 0x92, 0x24, 0x01, 0x32, 0x00, 0x5E, 0x10, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0xD2, 0x28, 0x4B, 0x92, 0x04, 0x01, 0x92, 0x64,
+0x49, 0x93, 0x24, 0x4A, 0x92, 0xA4, 0x01, 0x90, 0x20, 0x59, 0x92, 0x24,
+0x8D, 0x24, 0x49, 0x96, 0x24, 0x49, 0x02, 0x00, 0x49, 0x82, 0x0C, 0x41,
+0xD1, 0x04, 0xC9, 0x92, 0x24, 0x48, 0x91, 0x24, 0x41, 0x92, 0x40, 0x0B,
+0x92, 0x20, 0x00, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x16,
+0x04, 0x49, 0x82, 0x04, 0xC9, 0x90, 0x24, 0x48, 0x90, 0x24, 0x40, 0x92,
+0x2E, 0x49, 0x92, 0x04, 0x05, 0x04, 0x49, 0x92, 0x24, 0x49, 0x12, 0x68,
+0x49, 0x02, 0x0D, 0x08, 0x92, 0x42, 0x49, 0x92, 0x0C, 0x48, 0x92, 0x04,
+0x41, 0xB0, 0x20, 0x53, 0x10, 0x24, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x10, 0x00, 0x01, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x0C, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x10, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0C,
+0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x40, 0x40, 0x00, 0x08, 0x00, 0x00, 0x24, 0x49, 0x92, 0x24, 0x4B,
+0x92, 0x28, 0x49, 0x96, 0x04, 0x51, 0x92, 0x64, 0x49, 0x92, 0x24, 0x8A,
+0x92, 0x24, 0x41, 0x92, 0x26, 0x55, 0x92, 0x24, 0x88, 0x04, 0x49, 0x92,
+0x24, 0x09, 0xB2, 0x00, 0x09, 0xB6, 0x04, 0x59, 0x16, 0x24, 0x49, 0x92,
+0x04, 0xC8, 0xB6, 0x24, 0x41, 0x92, 0x2C, 0x41, 0x96, 0x2E, 0x09, 0x24,
+0x4B, 0x92, 0x60, 0x0A, 0x96, 0xA0, 0x49, 0x92, 0x04, 0x48, 0x82, 0x25,
+0x49, 0x82, 0x24, 0x48, 0x12, 0x6C, 0x41, 0x92, 0x24, 0x49, 0x80, 0x24,
+0x09, 0x24, 0x49, 0xE2, 0x22, 0x09, 0x92, 0x20, 0x49, 0x96, 0x04, 0x48,
+0x92, 0x64, 0x59, 0x12, 0x24, 0x48, 0x92, 0x24, 0x01, 0x12, 0x24, 0x59,
+0x92, 0x2C, 0x09, 0x24, 0x49, 0x92, 0x24, 0x59, 0x92, 0x28, 0x49, 0x96,
+0x04, 0x48, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x81, 0x24, 0x49, 0x92, 0x24, 0x49, 0x90, 0x20,
+0x49, 0xB6, 0x04, 0x49, 0x12, 0x24, 0x49, 0x12, 0x24, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x2C, 0x49, 0x12, 0x34, 0x01, 0x20, 0x4B, 0x92, 0x25, 0x49,
+0x92, 0x20, 0x49, 0x92, 0x04, 0x48, 0x82, 0x20, 0x49, 0x92, 0x24, 0x48,
+0x92, 0x24, 0x40, 0x92, 0x00, 0x09, 0x12, 0x00, 0x01, 0x24, 0x49, 0xB2,
+0x06, 0x49, 0x80, 0x28, 0x49, 0x96, 0x04, 0x48, 0x82, 0x60, 0x59, 0x92,
+0x24, 0x4A, 0x92, 0x20, 0x41, 0x92, 0x20, 0x59, 0x90, 0x24, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2C, 0x20, 0x30, 0x49, 0xBF,
+0x2D, 0x02, 0x00, 0x2C, 0xDF, 0xBF, 0x6D, 0x6F, 0xC0, 0x22, 0x4A, 0xFC,
+0x64, 0xBB, 0xC4, 0x02, 0x03, 0x9B, 0x64, 0xDB, 0x58, 0x8B, 0x93, 0x01,
+0xDC, 0x32, 0x7F, 0xC3, 0x40, 0x22, 0x8A, 0xF7, 0x46, 0x1B, 0x23, 0xE0,
+0x04, 0xA0, 0x6F, 0xC9, 0xD2, 0x91, 0x53, 0x80, 0xAC, 0xDD, 0x36, 0x4D,
+0x80, 0x04, 0xCC, 0xBF, 0x7D, 0x02, 0x13, 0x04, 0x8D, 0xA2, 0x6F, 0x0E,
+0x43, 0x26, 0x05, 0xB8, 0x64, 0x8B, 0x02, 0xA4, 0x09, 0x03, 0x6F, 0xD9,
+0x3A, 0xE2, 0x50, 0x00, 0x38, 0xAE, 0x4C, 0x13, 0x43, 0xEC, 0xD2, 0xF2,
+0x6E, 0x59, 0x2A, 0x22, 0x41, 0xD4, 0xE5, 0xDB, 0x8E, 0xB0, 0x41, 0x96,
+0xAF, 0xD1, 0x77, 0x92, 0x4C, 0x4B, 0xD8, 0x12, 0x64, 0xB8, 0x6C, 0xD3,
+0x49, 0x02, 0x04, 0x19, 0x25, 0xD9, 0x9C, 0x00, 0x29, 0x09, 0x28, 0xD9,
+0x90, 0x16, 0x29, 0x41, 0x34, 0x31, 0xEC, 0xD8, 0x48, 0x04, 0x20, 0x50,
+0x2C, 0x59, 0x00, 0x82, 0x0D, 0x00, 0x44, 0x09, 0xB2, 0x04, 0x00, 0x1E,
+0x22, 0x4A, 0x81, 0x84, 0x41, 0x02, 0x10, 0xF3, 0x24, 0xDF, 0x10, 0x42,
+0x80, 0xB0, 0x64, 0x5B, 0x03, 0x06, 0xA0, 0x10, 0x26, 0x49, 0x92, 0x84,
+0x0B, 0x11, 0x62, 0x59, 0x92, 0x06, 0x04, 0x0B, 0x17, 0x10, 0x2C, 0xD9,
+0x80, 0x80, 0x05, 0x89, 0x24, 0x11, 0x00, 0x14, 0x01, 0x02, 0x05, 0xF9,
+0xB6, 0xB0, 0x0A, 0x09, 0xE2, 0x69, 0xD2, 0xD9, 0x50, 0x43, 0x00, 0x83,
+0x16, 0x2D, 0x07, 0x40, 0x13, 0x12, 0x80, 0x61, 0x30, 0x40, 0x0A, 0x80,
+0x92, 0x0C, 0x41, 0x20, 0x10, 0x84, 0xD8, 0x6C, 0x58, 0x60, 0x90, 0xA0,
+0x81, 0x48, 0x00, 0x02, 0x11, 0x01, 0x81, 0x00, 0x20, 0x07, 0x84, 0x0C,
+0x10, 0x15, 0x02, 0xA4, 0x49, 0x60, 0x10, 0x25, 0x91, 0x00, 0x08, 0x05,
+0x30, 0xE0, 0x2C, 0x04, 0x80, 0x20, 0x01, 0x40, 0x88, 0x01, 0x02, 0x84,
+0x08, 0x21, 0xC9, 0x00, 0x11, 0x24, 0x48, 0x40, 0x02, 0x60, 0x11, 0x01,
+0xC0, 0x44, 0x48, 0x40, 0x21, 0x60, 0x41, 0x01, 0x07, 0x00, 0x92, 0x42,
+0x08, 0x84, 0x38, 0x01, 0x08, 0xB4, 0x04, 0x04, 0xC0, 0x00, 0x52, 0x20,
+0x18, 0x40, 0x08, 0x40, 0x10, 0xB0, 0x00, 0x24, 0x62, 0x00, 0xB7, 0x44,
+0xD2, 0x0A, 0x00, 0x02, 0x20, 0x44, 0x92, 0xB4, 0x52, 0x02, 0x00, 0x21,
+0x9B, 0xA4, 0x01, 0x02, 0x00, 0x50, 0x9B, 0xB4, 0xAD, 0x20, 0xC1, 0x00,
+0x35, 0x4F, 0xAA, 0x00, 0x48, 0x10, 0x80, 0x0D, 0x99, 0x26, 0x40, 0x40,
+0x04, 0x6C, 0xD8, 0x76, 0x01, 0x02, 0x23, 0x40, 0x57, 0x26, 0x29, 0x01,
+0x04, 0x00, 0x35, 0x65, 0x93, 0x00, 0x09, 0x12, 0x00, 0x4D, 0x90, 0x36,
+0x02, 0x03, 0x00, 0x6C, 0xDB, 0xB6, 0x01, 0x80, 0x10, 0x48, 0x98, 0xB6,
+0x0D, 0x00, 0x01, 0x10, 0x97, 0x45, 0x9B, 0x00, 0x08, 0x01, 0x20, 0x0D,
+0x99, 0x36, 0x09, 0x32, 0x04, 0x29, 0x9B, 0x24, 0x01, 0x90, 0x40, 0x55,
+0xDA, 0xB6, 0x09, 0xD3, 0x1D, 0x8F, 0x00, 0x29, 0x09, 0xF0, 0xCB, 0xD9,
+0x9B, 0x29, 0x49, 0x02, 0x09, 0xDD, 0x2F, 0x4E, 0x40, 0x1A, 0x50, 0xFC,
+0x7E, 0x36, 0x40, 0x02, 0x00, 0x97, 0x08, 0xDF, 0x80, 0x20, 0x51, 0xE2,
+0xB5, 0x81, 0x06, 0x60, 0x42, 0x10, 0xA8, 0x12, 0xF2, 0x00, 0x03, 0x80,
+0x20, 0xF1, 0x84, 0x0D, 0x88, 0x90, 0x04, 0xE2, 0x6B, 0x97, 0x80, 0x08,
+0x48, 0xA2, 0xC0, 0x88, 0x81, 0x20, 0x4B, 0x00, 0x3C, 0xD0, 0xE8, 0x00,
+0x04, 0x00, 0xC0, 0x53, 0xA6, 0x06, 0x43, 0x00, 0x20, 0x2C, 0x2A, 0xC3,
+0x20, 0x28, 0x40, 0x72, 0x94, 0x5A, 0x9E, 0x70, 0x42, 0x08, 0x74, 0xC4,
+0xB2, 0x44, 0x40, 0x92, 0xE0, 0x62, 0xBC, 0x18, 0x01, 0x00, 0x34, 0x6C,
+0x81, 0xD0, 0x25, 0x64, 0x9A, 0x40, 0x13, 0x04, 0x84, 0x64, 0xD3, 0x42,
+0x48, 0x22, 0xB0, 0x04, 0xD2, 0x16, 0x05, 0x02, 0xA5, 0x59, 0xD2, 0x36,
+0x81, 0x04, 0x33, 0x24, 0xA1, 0x69, 0xC8, 0x32, 0xD3, 0xA8, 0x49, 0x28,
+0xD0, 0x26, 0x9D, 0x12, 0x04, 0x48, 0xD9, 0xA4, 0x41, 0xB4, 0x64, 0x4A,
+0x1A, 0x30, 0x09, 0x08, 0x5B, 0x40, 0xA0, 0x64, 0xC3, 0x52, 0x9D, 0x60,
+0x84, 0x49, 0x94, 0x2A, 0xC8, 0x92, 0x35, 0x60, 0xD2, 0xAE, 0xA1, 0xA6,
+0x2D, 0x49, 0x91, 0xB4, 0x01, 0x1D, 0x96, 0x2E, 0x14, 0x65, 0xDA, 0x20,
+0xD3, 0x22, 0xC5, 0x29, 0xD0, 0x64, 0xDA, 0x02, 0x09, 0x0C, 0x13, 0xB6,
+0x05, 0x96, 0x27, 0x52, 0x19, 0x24, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x20, 0x01, 0x00, 0x00, 0x01, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x11, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x01, 0x00, 0x80, 0x04, 0x08, 0x00, 0x40, 0x01, 0x04, 0x01, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x80, 0x20, 0x01, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x08, 0x22, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x40, 0x00, 0x00, 0x10, 0x00, 0x08, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x83, 0x00, 0x04, 0x08, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x06, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x20,
+0x40, 0x20, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x12, 0x05, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x06, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x02, 0x20, 0x40, 0x40, 0x00,
+0x00, 0x00, 0x28, 0x00, 0x00, 0x02, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x81, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
+0x04, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x11, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x10, 0x01, 0x10, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x24, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00,
+0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x20, 0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x84,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x12, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x01, 0x01,
+0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x00, 0x11, 0x00, 0x12, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x04, 0x00, 0x00, 0x20, 0x01,
+0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x80,
+0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x80, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x01, 0x40, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20,
+0x04, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x12, 0x00, 0x20, 0x00, 0x0C, 0x10, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x20, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x40, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x01, 0x00,
+0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x10,
+0x05, 0x40, 0x00, 0x08, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x90, 0x00,
+0x00, 0x10, 0x24, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x81, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x02,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x85, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x04, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x64, 0x09, 0x12, 0x20, 0x49,
+0x92, 0x28, 0x49, 0x12, 0x04, 0x49, 0xB2, 0x64, 0x41, 0x82, 0x04, 0x4A,
+0x92, 0x04, 0x43, 0x02, 0x24, 0x51, 0x92, 0x24, 0x08, 0x24, 0x5B, 0xD0,
+0x24, 0x49, 0xD0, 0x30, 0x41, 0x82, 0x05, 0x49, 0x92, 0x28, 0x1C, 0x92,
+0x2C, 0x48, 0x12, 0x34, 0x41, 0x92, 0x20, 0x4B, 0x92, 0xA1, 0x09, 0x44,
+0x09, 0x92, 0x24, 0x49, 0xB2, 0x20, 0x09, 0x92, 0x04, 0xC9, 0x92, 0x24,
+0x4B, 0x12, 0x04, 0x48, 0x92, 0x24, 0x41, 0x12, 0x00, 0x48, 0x92, 0xA4,
+0x09, 0x2C, 0xC8, 0x92, 0x24, 0x49, 0x92, 0xAC, 0x48, 0x10, 0x04, 0x49,
+0x92, 0x64, 0x49, 0x8A, 0x44, 0x4E, 0x96, 0x64, 0x51, 0x94, 0x24, 0x59,
+0xD2, 0x04, 0x09, 0x64, 0x49, 0x92, 0x25, 0x48, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x41, 0x92, 0x24, 0x4A, 0x92, 0x04, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x88, 0x24, 0x1B, 0x90, 0x25, 0x01, 0x92, 0x20,
+0x49, 0x92, 0x05, 0x49, 0x82, 0x20, 0x59, 0x82, 0x2C, 0x0C, 0x92, 0x04,
+0x41, 0x92, 0x24, 0x4B, 0x92, 0x24, 0x01, 0x64, 0x09, 0x92, 0xA5, 0x48,
+0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x14, 0x4A, 0x12, 0x04, 0x40,
+0x92, 0x24, 0x01, 0x92, 0x20, 0x48, 0x92, 0x34, 0x09, 0x2C, 0xC8, 0x92,
+0x01, 0x49, 0x90, 0x28, 0x49, 0x92, 0x04, 0x48, 0x93, 0x64, 0x09, 0x90,
+0x64, 0x4A, 0x92, 0x24, 0x50, 0x94, 0x24, 0x19, 0x82, 0x24, 0x09, 0x00,
+0x00, 0x01, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x48, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x04, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x44, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x40, 0x00, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x80, 0x60, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00, 0x30, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x20, 0x00, 0x80, 0x40,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x50, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x49, 0x82, 0x24, 0x09, 0x92, 0x28, 0x49, 0x92, 0x00, 0x49, 0x92, 0x64,
+0x09, 0x12, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x81, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x04, 0x58, 0x92, 0x20, 0x09, 0x92, 0x20, 0x49, 0x98, 0x04, 0x49,
+0x92, 0x24, 0x4D, 0xB2, 0x25, 0x40, 0x82, 0x04, 0x41, 0x92, 0x26, 0x09,
+0x92, 0x24, 0x08, 0x25, 0xC9, 0x92, 0x20, 0x49, 0x82, 0x20, 0x49, 0x96,
+0x05, 0x49, 0x92, 0x24, 0x48, 0xA2, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x01, 0xB2, 0x24, 0x09, 0x66, 0x4B, 0x92, 0x20, 0x09, 0x92, 0x01,
+0x49, 0x9A, 0x04, 0x09, 0xB2, 0x6C, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x2C,
+0x41, 0x12, 0xA4, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0x82, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x9A, 0x04, 0x49, 0x92, 0x64, 0x49, 0xD2, 0x24, 0x6A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x20, 0x59, 0x92,
+0x24, 0x49, 0x92, 0x20, 0x69, 0x92, 0x04, 0x49, 0x86, 0x24, 0x49, 0x33,
+0x25, 0x48, 0x12, 0x20, 0x41, 0x92, 0x20, 0x49, 0x92, 0x04, 0x09, 0x21,
+0xC9, 0x92, 0x24, 0x49, 0x92, 0x20, 0x4D, 0x96, 0x05, 0x49, 0x92, 0x24,
+0x41, 0xB3, 0x24, 0x08, 0xD2, 0x20, 0x41, 0x92, 0x24, 0x49, 0x90, 0x04,
+0x09, 0x64, 0x0B, 0x92, 0x24, 0x41, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x0A, 0x92, 0x20, 0x41, 0xD2, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50,
+0x01, 0x25, 0xD9, 0xB2, 0x7F, 0xC2, 0x26, 0x00, 0xD6, 0xF6, 0x7D, 0x4A,
+0xB0, 0xA0, 0x44, 0xB4, 0x6F, 0xC9, 0x06, 0x30, 0x4C, 0x92, 0x0D, 0xCB,
+0x7E, 0x0B, 0x98, 0x2F, 0x9C, 0x9E, 0x65, 0xC3, 0x41, 0x28, 0x81, 0xF2,
+0x6C, 0x1B, 0x17, 0x02, 0x01, 0xB0, 0x75, 0xDF, 0xB2, 0x10, 0x00, 0x82,
+0xAF, 0x9B, 0x36, 0x4B, 0x90, 0x3C, 0xD8, 0xBF, 0x2D, 0x13, 0x92, 0x62,
+0xC4, 0xE6, 0x75, 0x09, 0x42, 0x26, 0x01, 0xB4, 0x60, 0xFB, 0xB2, 0x30,
+0x4C, 0x80, 0x2D, 0xCF, 0x3E, 0x05, 0x08, 0x08, 0xCD, 0x97, 0x69, 0x03,
+0x52, 0x31, 0x91, 0xB6, 0xAC, 0x5F, 0xE3, 0x45, 0x09, 0xB8, 0x7C, 0x93,
+0x16, 0x04, 0x3B, 0x11, 0xED, 0x7A, 0x72, 0x86, 0x6C, 0x5E, 0x00, 0x9E,
+0x24, 0x38, 0x08, 0x4B, 0x40, 0x10, 0x04, 0x18, 0x85, 0x59, 0x92, 0x90,
+0x20, 0x5A, 0x2A, 0xC9, 0xB2, 0x9F, 0x44, 0x51, 0x12, 0x91, 0x25, 0xC0,
+0x08, 0x22, 0x08, 0x11, 0x2C, 0xD3, 0x02, 0x16, 0x05, 0x29, 0x60, 0xC9,
+0x93, 0x94, 0x28, 0x60, 0x80, 0xCB, 0xB2, 0x84, 0x64, 0x00, 0x10, 0xF0,
+0x6D, 0xC3, 0x48, 0x10, 0x44, 0x80, 0x3C, 0x89, 0x42, 0x02, 0x08, 0x1C,
+0x24, 0xD9, 0x92, 0x80, 0x29, 0x00, 0x42, 0x49, 0xB2, 0x8C, 0x40, 0x10,
+0x00, 0xB3, 0x24, 0xC3, 0x78, 0xA2, 0x00, 0x99, 0x25, 0x68, 0x07, 0x81,
+0x43, 0x00, 0x06, 0x9E, 0xB6, 0x04, 0x85, 0x00, 0x2A, 0x4B, 0x8C, 0x1C,
+0x24, 0x80, 0x17, 0x81, 0x31, 0x20, 0x27, 0x48, 0x01, 0x52, 0x92, 0x21,
+0x39, 0x04, 0xC2, 0xA6, 0x12, 0xAE, 0xDB, 0x28, 0x11, 0xA4, 0x38, 0x74,
+0xDD, 0x60, 0x13, 0x04, 0x80, 0xC0, 0xC8, 0x00, 0x91, 0x01, 0x01, 0x40,
+0xC6, 0x04, 0x80, 0x08, 0x12, 0x30, 0xB2, 0x2A, 0x48, 0x20, 0xC2, 0xA2,
+0x11, 0x1C, 0x05, 0x04, 0x11, 0xB4, 0x05, 0x08, 0x00, 0x30, 0x01, 0x20,
+0x09, 0x40, 0x00, 0x00, 0x0C, 0x05, 0x00, 0x26, 0x90, 0x00, 0x80, 0x60,
+0x46, 0x92, 0x81, 0x04, 0x08, 0x01, 0x18, 0x80, 0x00, 0x18, 0x02, 0x40,
+0x23, 0x48, 0xDA, 0x00, 0xA0, 0x00, 0xB8, 0x21, 0x1A, 0xA0, 0x11, 0x20,
+0xC1, 0x40, 0x80, 0x00, 0xC9, 0x05, 0x20, 0x06, 0x4A, 0x41, 0x09, 0x00,
+0x00, 0x00, 0xA7, 0x5D, 0x90, 0x2A, 0x11, 0x00, 0x20, 0x09, 0xC3, 0xB6,
+0x08, 0x00, 0x00, 0x49, 0x9B, 0xB6, 0x01, 0x00, 0x00, 0x50, 0xDB, 0x34,
+0x89, 0x00, 0x00, 0x00, 0xB5, 0x61, 0xDA, 0x00, 0x00, 0x0A, 0x84, 0x0D,
+0x93, 0x24, 0x00, 0x82, 0x21, 0x6C, 0xCA, 0x34, 0x01, 0x10, 0x20, 0x41,
+0x53, 0x24, 0x09, 0x20, 0x48, 0x92, 0x35, 0x51, 0xD2, 0x00, 0x00, 0xC3,
+0x84, 0x4D, 0xCB, 0x34, 0x00, 0x82, 0x26, 0x6C, 0x9B, 0x0C, 0x01, 0x02,
+0x04, 0x41, 0xD2, 0x32, 0x05, 0x01, 0x00, 0x00, 0x37, 0x6C, 0xD2, 0x08,
+0x40, 0x20, 0xA1, 0x69, 0xDB, 0xAD, 0x62, 0x80, 0x24, 0x6D, 0x93, 0x24,
+0x41, 0x12, 0x1C, 0x50, 0x33, 0xA6, 0x0D, 0xB7, 0xFC, 0x9F, 0x10, 0x20,
+0x4B, 0x90, 0xCC, 0xB7, 0x9B, 0x64, 0x18, 0x00, 0xE7, 0x9E, 0xBB, 0x36,
+0x40, 0x00, 0x60, 0xD7, 0xB7, 0x3F, 0x00, 0x82, 0x34, 0xE7, 0x6B, 0xD9,
+0x00, 0x8C, 0x01, 0xA2, 0xDE, 0xD1, 0x02, 0x60, 0x48, 0x12, 0xEC, 0x5C,
+0x56, 0x00, 0x11, 0x82, 0xE0, 0xAF, 0x06, 0x0C, 0x8C, 0x92, 0x24, 0xD6,
+0x07, 0x09, 0x88, 0x2C, 0x09, 0xB2, 0x59, 0x1C, 0x4A, 0x20, 0x10, 0x02,
+0x2D, 0x18, 0x88, 0x00, 0x40, 0xB2, 0x60, 0xC9, 0x33, 0x8E, 0x2D, 0x84,
+0x28, 0xF2, 0x63, 0xD2, 0x80, 0x03, 0x09, 0x22, 0x29, 0xCB, 0x1E, 0x04,
+0x00, 0x12, 0x18, 0x57, 0xC0, 0x02, 0x48, 0x92, 0x80, 0xA9, 0x80, 0x1E,
+0xC8, 0x10, 0x20, 0x68, 0x82, 0xC0, 0xB5, 0x69, 0xC8, 0x00, 0x41, 0xD4,
+0x84, 0x29, 0x8B, 0x65, 0x48, 0x00, 0x24, 0x4C, 0xD8, 0x24, 0xC5, 0x0A,
+0x00, 0x50, 0xBA, 0xA6, 0xA5, 0x3C, 0x12, 0x36, 0x21, 0x45, 0xD2, 0x32,
+0x11, 0x20, 0x0D, 0x2B, 0xDA, 0x2E, 0x09, 0x14, 0x24, 0x48, 0x83, 0x30,
+0x41, 0x20, 0x58, 0x4B, 0x18, 0x66, 0x2B, 0x05, 0x92, 0x04, 0xB4, 0x44,
+0x92, 0x22, 0xC7, 0xB6, 0x81, 0x29, 0xC3, 0x24, 0x4B, 0x27, 0x6D, 0x4C,
+0xB2, 0x04, 0x11, 0xB2, 0x45, 0x42, 0x93, 0x22, 0x35, 0x44, 0xD9, 0x35,
+0xA0, 0x4C, 0x93, 0x72, 0x5A, 0x96, 0x00, 0x4F, 0x16, 0x73, 0xC8, 0x00,
+0x1A, 0x60, 0xCA, 0xB6, 0x35, 0xF0, 0x41, 0x51, 0x13, 0x16, 0x29, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x20, 0x02, 0x08, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x20, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x20,
+0x40, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x09, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00,
+0x24, 0x24, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
+0x80, 0x40, 0x00, 0x00, 0x01, 0x00, 0x40, 0x02, 0x00, 0x02, 0x09, 0x10,
+0x88, 0x00, 0x00, 0x60, 0x00, 0x80, 0x00, 0x80, 0x04, 0x00, 0x00, 0x12,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x02, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x40, 0x04, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0B, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x40, 0x10, 0x08, 0x40, 0x00, 0x24, 0x00, 0x92,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x40, 0x00, 0x01, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x10, 0x00, 0x02, 0x00, 0x20,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x04,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x24,
+0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x09, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x03, 0x00, 0x08, 0x00,
+0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02,
+0x00, 0x08, 0x45, 0x02, 0x08, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x24, 0x01, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x08, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x00, 0x41, 0x02,
+0x08, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x24, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
+0x00, 0x08, 0x01, 0x00, 0x10, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x90, 0x01, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x04, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x01,
+0x00, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x0A, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x01, 0x00, 0x50, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x20, 0x00, 0x00, 0x01, 0x02, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x18, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x09, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x41, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10,
+0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x28, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x10, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x08, 0x00, 0x20, 0x01, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x01, 0x00,
+0x04, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x40, 0x10, 0x00,
+0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x01, 0x00, 0x04, 0x00, 0x02, 0x00,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x20, 0x01, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x80, 0x10, 0x40,
+0x00, 0x04, 0x10, 0x80, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x40, 0x95, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x08, 0x10,
+0x08, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x08, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x24,
+0x01, 0x82, 0x24, 0x49, 0x12, 0x29, 0x58, 0x92, 0x04, 0x49, 0x92, 0x60,
+0x49, 0x90, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x26, 0x59, 0x92, 0x24,
+0x89, 0x20, 0x09, 0xD0, 0x24, 0xC9, 0xB2, 0x20, 0x09, 0x86, 0x00, 0x49,
+0x92, 0x24, 0x40, 0x12, 0x10, 0x48, 0x92, 0x24, 0x40, 0x92, 0x06, 0x4A,
+0x92, 0x24, 0x09, 0x2C, 0x00, 0x12, 0x24, 0xC9, 0x92, 0x20, 0x09, 0x80,
+0x00, 0x49, 0x92, 0x04, 0x03, 0x94, 0x04, 0x48, 0x92, 0x64, 0x40, 0x12,
+0x60, 0x49, 0x32, 0x24, 0x01, 0x24, 0x41, 0x80, 0x24, 0x41, 0x96, 0x68,
+0xC9, 0x82, 0x04, 0x59, 0x90, 0x65, 0x09, 0x02, 0x04, 0x48, 0x82, 0x24,
+0x41, 0x10, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x09, 0x92, 0x25, 0x49,
+0x12, 0x28, 0x59, 0x92, 0x04, 0x09, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x09, 0x90,
+0x25, 0x49, 0x92, 0x20, 0x49, 0x96, 0x04, 0x49, 0x82, 0x24, 0x49, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x0B, 0x92, 0x04, 0x01, 0x2C,
+0x48, 0x92, 0x05, 0x49, 0x92, 0x20, 0x49, 0x92, 0x00, 0x49, 0x13, 0x24,
+0x0B, 0x96, 0x24, 0x40, 0x82, 0x20, 0x40, 0x12, 0x60, 0x41, 0x90, 0x24,
+0x04, 0x24, 0x41, 0x92, 0x25, 0x49, 0x92, 0x68, 0xC9, 0x92, 0x04, 0x48,
+0x90, 0x64, 0x09, 0x92, 0x24, 0x0A, 0x82, 0x24, 0x41, 0x10, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x04, 0x24, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x90, 0x00, 0x00, 0x00, 0x20, 0x01,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x81, 0x00, 0x00, 0x10,
+0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x10, 0x20, 0x20, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x01, 0x00, 0x00, 0x84, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0xC0, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x42, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x20, 0x40,
+0x00, 0x08, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x04, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x04, 0x02, 0x01, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x01, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x14,
+0x04, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x40, 0x10, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x48, 0x92, 0x24, 0x49, 0x92, 0x28, 0x69, 0x92,
+0x04, 0x49, 0xB2, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x25, 0x41, 0x92,
+0x24, 0x58, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92, 0x04, 0x49, 0x93, 0x20,
+0x49, 0x90, 0x04, 0x89, 0x92, 0x24, 0x49, 0xB2, 0x24, 0x48, 0x96, 0x26,
+0x41, 0x82, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x4D, 0x92, 0x24, 0x49,
+0x92, 0x20, 0xC9, 0x86, 0x04, 0x49, 0x92, 0x24, 0xC9, 0x90, 0x24, 0x48,
+0x92, 0x20, 0x41, 0x92, 0x26, 0x4B, 0x92, 0x24, 0x09, 0xE0, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x28, 0xC3, 0x9A, 0x04, 0x49, 0x92, 0x64, 0x4C, 0x96,
+0x24, 0x4A, 0x92, 0x24, 0x61, 0x92, 0x24, 0x58, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x48, 0x92, 0x64,
+0x69, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x5D, 0x92, 0x24,
+0x88, 0x26, 0x49, 0x9B, 0x24, 0x49, 0x92, 0xA0, 0x49, 0x93, 0x06, 0x49,
+0x92, 0x24, 0x45, 0xB2, 0x26, 0x48, 0x92, 0x20, 0x41, 0x93, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x34, 0x49, 0x93, 0x24, 0x49, 0x92, 0x20, 0xC9, 0x96,
+0x06, 0x49, 0x92, 0x24, 0xC9, 0x92, 0x86, 0x48, 0xD2, 0x20, 0x40, 0x93,
+0x24, 0x4B, 0x92, 0x24, 0x09, 0x74, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28,
+0xCB, 0x93, 0x04, 0x41, 0x92, 0x64, 0x49, 0xD6, 0x24, 0x4A, 0x92, 0x20,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x30, 0x80, 0xC0, 0x79, 0xB6, 0x6D, 0x11, 0x10, 0x0C,
+0xD0, 0xBF, 0x6D, 0x5B, 0x08, 0x61, 0x40, 0xD4, 0x6D, 0xDB, 0xCF, 0x06,
+0x0A, 0x92, 0x64, 0xDB, 0x66, 0x38, 0xB2, 0x04, 0x71, 0xF6, 0xC9, 0x63,
+0x30, 0xBC, 0x40, 0xB5, 0xA9, 0x19, 0x18, 0x31, 0x29, 0xC4, 0x2D, 0x53,
+0xD2, 0x20, 0x68, 0xC0, 0x68, 0x7B, 0x37, 0x60, 0x82, 0x34, 0x19, 0xBF,
+0x8D, 0x03, 0x11, 0xD5, 0xC9, 0x22, 0xAD, 0x31, 0x44, 0x2A, 0x29, 0xF4,
+0x64, 0x7B, 0x80, 0x00, 0x60, 0x8A, 0x6F, 0x7B, 0x15, 0xCA, 0x00, 0x00,
+0xF9, 0xF6, 0x6D, 0x43, 0x97, 0x04, 0xD3, 0xF0, 0x7F, 0x5B, 0xBA, 0x30,
+0x0A, 0x94, 0x09, 0xDA, 0x36, 0xB1, 0x0E, 0x90, 0x2F, 0xC9, 0x76, 0x86,
+0x2D, 0x1B, 0xCC, 0x90, 0x20, 0xAB, 0x6C, 0xD3, 0x02, 0x00, 0x04, 0x09,
+0x64, 0x98, 0xF6, 0x20, 0x24, 0x49, 0x22, 0xC9, 0xB0, 0x9D, 0x09, 0x49,
+0x82, 0x8E, 0x1D, 0xD9, 0xC0, 0x12, 0x00, 0xD1, 0x0C, 0x63, 0xC6, 0x90,
+0x60, 0x03, 0x75, 0x48, 0x92, 0xA0, 0x64, 0x81, 0x32, 0xCB, 0xDA, 0x8C,
+0x21, 0xC9, 0x10, 0xD2, 0x2E, 0x69, 0xA0, 0x02, 0x40, 0x91, 0x2C, 0x08,
+0x0A, 0x0C, 0x40, 0x02, 0x21, 0xD1, 0x9A, 0x08, 0x0F, 0x80, 0xE1, 0xC9,
+0xD6, 0x45, 0x80, 0xCC, 0x20, 0x18, 0x6C, 0xC9, 0x04, 0x18, 0x04, 0xB9,
+0xB0, 0x4D, 0x04, 0x04, 0x80, 0x00, 0x44, 0xC9, 0xB4, 0xB0, 0x40, 0x44,
+0x0A, 0x48, 0x90, 0x9C, 0x74, 0x17, 0x13, 0x43, 0x34, 0x2C, 0x07, 0x4B,
+0x91, 0x00, 0x90, 0x61, 0x3B, 0x20, 0xC2, 0xB4, 0x82, 0x2C, 0x9B, 0x08,
+0x1A, 0x26, 0xB8, 0x66, 0xD9, 0x62, 0xE0, 0x14, 0x81, 0xC1, 0x80, 0x44,
+0x05, 0x01, 0x40, 0x10, 0x96, 0x90, 0x08, 0x0C, 0x03, 0x24, 0xA2, 0x3C,
+0xC0, 0x08, 0x1A, 0x02, 0xA1, 0x6C, 0x01, 0x07, 0x10, 0x04, 0x0C, 0x80,
+0x00, 0x80, 0x25, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x02, 0x00,
+0x02, 0x04, 0x01, 0x08, 0x12, 0x12, 0x11, 0x04, 0x00, 0x42, 0xD0, 0x14,
+0x04, 0x40, 0x02, 0x40, 0x17, 0x0C, 0x93, 0x40, 0x02, 0x20, 0xB9, 0x00,
+0x81, 0xA1, 0x10, 0x24, 0xC9, 0x00, 0x11, 0x04, 0x09, 0x60, 0x41, 0x06,
+0x19, 0x04, 0x09, 0x80, 0x00, 0x00, 0x87, 0x49, 0x93, 0x03, 0x08, 0x00,
+0x20, 0x44, 0x92, 0x34, 0x00, 0x82, 0x00, 0x29, 0x92, 0x25, 0x01, 0x02,
+0x00, 0x50, 0xDB, 0x34, 0x89, 0x00, 0x10, 0x00, 0xA5, 0x49, 0x1B, 0x00,
+0x00, 0x22, 0x80, 0x4D, 0xD3, 0x26, 0x00, 0x00, 0x20, 0x68, 0xDA, 0xB6,
+0x01, 0x00, 0x48, 0x40, 0xD3, 0xB4, 0x09, 0x20, 0x00, 0xA0, 0xA5, 0x4D,
+0xDB, 0x22, 0x00, 0x58, 0x08, 0x4F, 0x5B, 0x36, 0x01, 0x40, 0x04, 0x08,
+0xBB, 0xA4, 0xC1, 0x10, 0x20, 0xC1, 0x9A, 0xC4, 0x29, 0x02, 0x40, 0x00,
+0xB7, 0x0D, 0xD2, 0x08, 0x05, 0x04, 0x20, 0x4D, 0xD3, 0xA4, 0x41, 0x90,
+0x00, 0x6D, 0xDA, 0x24, 0x41, 0x00, 0x02, 0x50, 0xD8, 0x3E, 0x0D, 0x3E,
+0x7D, 0x7F, 0x30, 0x24, 0x48, 0x60, 0xE7, 0xFB, 0xDF, 0x29, 0x49, 0x02,
+0x5B, 0x5D, 0xFF, 0x44, 0x49, 0x92, 0x70, 0xF8, 0xF7, 0x19, 0x20, 0x82,
+0x24, 0xDD, 0x6D, 0xF2, 0x10, 0x24, 0xC0, 0x52, 0xEF, 0x48, 0x0C, 0x20,
+0x28, 0x10, 0xF3, 0xCF, 0xD4, 0x04, 0x05, 0x00, 0x30, 0xDE, 0x96, 0x0F,
+0x08, 0x02, 0x26, 0xC4, 0x4B, 0x42, 0x10, 0x20, 0x00, 0x10, 0x48, 0x23,
+0x84, 0x20, 0x80, 0x00, 0x1C, 0x99, 0x18, 0x64, 0x40, 0x12, 0x00, 0xC6,
+0x5E, 0x00, 0x41, 0x32, 0x04, 0x2C, 0x1D, 0xD3, 0x00, 0x60, 0x09, 0x22,
+0xD8, 0xDA, 0x9E, 0x20, 0x08, 0x12, 0x24, 0x06, 0xF4, 0x02, 0x01, 0x92,
+0xA0, 0x4B, 0xA0, 0x1F, 0x23, 0x80, 0x20, 0x28, 0xC2, 0x80, 0x14, 0x6D,
+0xDA, 0x40, 0x03, 0x04, 0x84, 0x44, 0x9B, 0x66, 0x19, 0x02, 0x00, 0x0C,
+0xD3, 0xB4, 0x44, 0x10, 0x04, 0x54, 0x92, 0xA6, 0xBD, 0x22, 0x42, 0x2B,
+0x15, 0x2D, 0x1B, 0xA2, 0x41, 0x05, 0x01, 0x68, 0x1E, 0x34, 0x0C, 0x82,
+0x2F, 0x0C, 0x93, 0x34, 0x41, 0x11, 0x24, 0x00, 0xDA, 0x16, 0x28, 0x3D,
+0xD1, 0x1E, 0x34, 0x64, 0x1B, 0x42, 0xF7, 0xB6, 0x87, 0x79, 0x1B, 0x14,
+0xD8, 0x22, 0xE4, 0x2C, 0xD2, 0x04, 0x01, 0x32, 0xA9, 0x48, 0x99, 0x06,
+0x08, 0x25, 0x91, 0x36, 0x85, 0x29, 0xDA, 0x82, 0x49, 0x92, 0x00, 0x29,
+0xC8, 0x76, 0x8B, 0x5B, 0x00, 0x4C, 0x9A, 0xB7, 0xD5, 0x96, 0x2C, 0x51,
+0x94, 0xA4, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x09,
+0x00, 0x48, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xC0, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x0C, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x18, 0x00, 0x01, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x08, 0x90, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x10, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x08, 0x40, 0x00, 0x00, 0x02, 0x00, 0x08, 0x08, 0x90,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x01, 0x01, 0x00, 0x90, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x02, 0x00, 0x00, 0x80, 0x04,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x20, 0x20,
+0x00, 0x00, 0x90, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x80, 0x00, 0x00, 0x00, 0x12,
+0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x10, 0x20, 0x00, 0x00, 0x00, 0x81, 0x04, 0x01, 0x04, 0x00, 0x00,
+0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x20, 0x20, 0x00, 0x00, 0x91, 0x00,
+0x08, 0x02, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x01, 0x10, 0x00, 0x80, 0x00, 0x00, 0x20, 0x12, 0x20, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x20, 0x02,
+0x00, 0x00, 0x41, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x41, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x80, 0x02, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x02, 0x00, 0x01, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x02,
+0x04, 0x04, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x01, 0x10, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x20,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00,
+0x20, 0x00, 0x00, 0x40, 0x00, 0x02, 0xA4, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x12, 0x10, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x23, 0x00, 0x00, 0x00, 0x00, 0x80, 0x46,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40,
+0x04, 0x00, 0x00, 0x00, 0x40, 0x04, 0x22, 0x00, 0x04, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x20, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x02, 0x00, 0x00, 0x28, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x4A, 0x22, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x11, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x20,
+0x00, 0x00, 0x40, 0x08, 0x00, 0x04, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00,
+0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x08, 0x90, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x08, 0x00, 0x04, 0x0A, 0x92, 0x25, 0x49, 0x92, 0x2C, 0x41, 0x90,
+0x04, 0x49, 0x92, 0x64, 0xE9, 0xA0, 0x20, 0x4A, 0x92, 0x24, 0x41, 0x91,
+0x24, 0x5C, 0x90, 0x24, 0x99, 0x24, 0x09, 0x1F, 0x25, 0x49, 0x92, 0x20,
+0x49, 0x82, 0x04, 0x49, 0x92, 0x24, 0x4D, 0x12, 0x20, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x00, 0x41, 0x92, 0x24, 0x01, 0x00, 0x09, 0x10, 0x25, 0x49,
+0x96, 0x20, 0x89, 0x92, 0x04, 0x49, 0x90, 0x24, 0x09, 0x86, 0x20, 0x08,
+0x92, 0x24, 0x43, 0x10, 0x01, 0x41, 0x92, 0x24, 0x09, 0x24, 0x49, 0x90,
+0x25, 0x49, 0xB2, 0x28, 0x49, 0x92, 0x06, 0x49, 0x92, 0x64, 0x49, 0x82,
+0x24, 0x4A, 0x92, 0x2C, 0x01, 0x96, 0x20, 0x51, 0x92, 0x24, 0x09, 0x04,
+0x03, 0x92, 0x24, 0x41, 0x93, 0x28, 0x41, 0x90, 0x04, 0x49, 0x92, 0x64,
+0x89, 0xB0, 0x24, 0x4A, 0x10, 0x24, 0x41, 0x90, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x24, 0x09, 0x94, 0x24, 0x49, 0x8A, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x82, 0x04, 0x49, 0x02, 0x04, 0x48, 0x12, 0x20, 0x40, 0x92, 0x24, 0x41,
+0x92, 0x04, 0x09, 0x04, 0x49, 0x12, 0x24, 0x49, 0x92, 0x20, 0xC9, 0x92,
+0x04, 0x4D, 0x90, 0x24, 0x49, 0x96, 0x24, 0x08, 0x83, 0x26, 0x41, 0x82,
+0x25, 0x49, 0x90, 0x20, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x24, 0x42, 0x92, 0x24,
+0x41, 0x96, 0x20, 0x59, 0x82, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x80, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x40, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x0C, 0x80, 0x19,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0C,
+0x80, 0x01, 0x00, 0x00, 0x01, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01,
+0x00, 0x08, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x70, 0x20, 0x00, 0x00, 0x10, 0x00, 0x0C, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x04, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x10, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x40, 0x04,
+0x00, 0x04, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x80, 0x20, 0x20, 0x00, 0x10, 0x20, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x04, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04,
+0x20, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x48,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xE4, 0x09, 0x92, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x86, 0x04, 0xC2,
+0x12, 0x24, 0x41, 0x92, 0x24, 0x59, 0x12, 0x24, 0x81, 0x04, 0x49, 0xA2,
+0x20, 0x01, 0x92, 0x20, 0x09, 0xD2, 0x04, 0x49, 0x92, 0x28, 0x49, 0x22,
+0x21, 0x40, 0x12, 0x24, 0x41, 0x92, 0x34, 0x49, 0x92, 0x24, 0x09, 0x20,
+0x49, 0xD2, 0x20, 0x48, 0x96, 0x20, 0x49, 0x92, 0x04, 0x49, 0x12, 0x24,
+0x49, 0x92, 0x64, 0x00, 0x12, 0x28, 0x41, 0x92, 0x24, 0x41, 0x94, 0x04,
+0x09, 0x24, 0x49, 0x82, 0x64, 0x49, 0x92, 0x28, 0x09, 0x92, 0x04, 0x49,
+0x96, 0x64, 0x49, 0x92, 0x24, 0x42, 0x12, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x90, 0x24, 0x09, 0x64, 0x49, 0x92, 0x25, 0x49, 0x92, 0x20, 0x49, 0x12,
+0x04, 0x49, 0x90, 0x44, 0x49, 0x96, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x04, 0x49, 0xB2, 0x24, 0x49, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x49, 0x90, 0x04, 0x49, 0xB2, 0x25, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x41, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49,
+0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x90, 0x04, 0x49, 0x92, 0x64, 0x48,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x90, 0x64, 0x49, 0x92,
+0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x80, 0x00, 0x00, 0x02, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0xC8, 0x80, 0x00, 0xD1, 0xB7,
+0x6D, 0xA3, 0x02, 0x0C, 0x50, 0xA6, 0x6D, 0x5B, 0x40, 0x00, 0x00, 0xB4,
+0x6C, 0xDB, 0x1E, 0x08, 0x00, 0xD0, 0x6D, 0xDB, 0x76, 0x09, 0x20, 0x24,
+0xF1, 0xB6, 0x6D, 0x63, 0x50, 0x08, 0x44, 0xF4, 0x6C, 0x0B, 0x08, 0x20,
+0x00, 0x94, 0x69, 0xDB, 0x92, 0x10, 0x4B, 0xC0, 0xAD, 0xDB, 0x3E, 0x19,
+0xB3, 0x24, 0xD0, 0xBA, 0xCD, 0x73, 0x00, 0xA0, 0x48, 0x36, 0x6D, 0x31,
+0x02, 0x26, 0x71, 0xB4, 0x67, 0x5B, 0x90, 0x00, 0x49, 0xCA, 0x6D, 0xDB,
+0x17, 0x88, 0x80, 0x02, 0xF9, 0xB6, 0x65, 0x43, 0x12, 0x00, 0xD1, 0xD5,
+0x6D, 0x5B, 0x8A, 0x00, 0x10, 0x84, 0x69, 0xDF, 0xCE, 0x1C, 0x00, 0x90,
+0x2C, 0xDB, 0x76, 0x76, 0x6D, 0xDB, 0x40, 0x90, 0x24, 0x11, 0x6D, 0xD3,
+0xC6, 0x02, 0x24, 0x89, 0x25, 0x5B, 0xB6, 0x90, 0x25, 0x48, 0x72, 0xD1,
+0xB6, 0x9D, 0x04, 0x49, 0x12, 0xBE, 0x0D, 0xD9, 0x40, 0x82, 0x20, 0x90,
+0x3C, 0x51, 0xC2, 0x90, 0x85, 0x19, 0x64, 0xDB, 0x92, 0xB0, 0x20, 0x45,
+0x32, 0xCB, 0x94, 0x8D, 0x64, 0x09, 0x12, 0xA6, 0x46, 0x6B, 0x40, 0x06,
+0x00, 0x81, 0x2C, 0x5B, 0x8A, 0x12, 0x24, 0x06, 0x65, 0x49, 0x86, 0x90,
+0x0C, 0xA8, 0x30, 0xDB, 0xD6, 0x04, 0x84, 0x01, 0x30, 0x1A, 0x6C, 0xD9,
+0x4C, 0x91, 0x28, 0xF1, 0x7C, 0xDB, 0x06, 0x80, 0x24, 0x09, 0x24, 0x5B,
+0xA6, 0xE0, 0x20, 0x48, 0x22, 0xC1, 0xB6, 0x9C, 0x61, 0x01, 0x12, 0x19,
+0x36, 0x6D, 0x07, 0x48, 0x90, 0x58, 0x92, 0x61, 0x3B, 0x41, 0x82, 0x24,
+0xF6, 0x2D, 0xDB, 0x48, 0x92, 0x26, 0xA1, 0x65, 0xDB, 0x26, 0x92, 0x34,
+0x89, 0xC1, 0x12, 0x04, 0x01, 0x49, 0x03, 0x40, 0xA6, 0x25, 0x09, 0x0C,
+0xD2, 0x24, 0xB2, 0x4C, 0xD9, 0x4C, 0x12, 0xB4, 0xA1, 0x5D, 0xA0, 0x04,
+0x11, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x11, 0x01, 0x09, 0x62, 0x96, 0x04,
+0x00, 0x48, 0x5A, 0x05, 0x30, 0x01, 0x48, 0x64, 0x00, 0x30, 0x00, 0x25,
+0x00, 0x03, 0x91, 0x00, 0x00, 0x23, 0x36, 0x6C, 0x07, 0x4D, 0x90, 0x08,
+0xA8, 0x61, 0x3A, 0x24, 0x92, 0xA0, 0xC2, 0x0C, 0xCA, 0x40, 0x94, 0x20,
+0x99, 0x60, 0xC9, 0x46, 0x80, 0x24, 0x09, 0x00, 0x01, 0x00, 0x27, 0x49,
+0x92, 0x08, 0x08, 0x00, 0xA0, 0x49, 0x92, 0x24, 0x00, 0x42, 0x00, 0x69,
+0x93, 0x26, 0x09, 0x00, 0x00, 0x50, 0x9A, 0x24, 0x89, 0x00, 0x00, 0x00,
+0x25, 0x49, 0x9F, 0x00, 0x50, 0x10, 0x84, 0x4D, 0x9B, 0x36, 0x00, 0x00,
+0x24, 0x6C, 0x92, 0x24, 0x01, 0x00, 0x00, 0x40, 0x53, 0xA4, 0x01, 0x04,
+0x01, 0xA1, 0x25, 0x6D, 0xD2, 0x10, 0x00, 0x02, 0x80, 0x4D, 0x93, 0x36,
+0x01, 0x00, 0x00, 0x68, 0xD8, 0xAE, 0x31, 0x00, 0x02, 0x41, 0x93, 0xA4,
+0x2D, 0x20, 0x00, 0x02, 0x77, 0x4D, 0x9A, 0x00, 0x00, 0x00, 0x20, 0x4D,
+0x92, 0x24, 0x00, 0x00, 0x00, 0x6F, 0x93, 0x22, 0x01, 0x00, 0x04, 0x50,
+0xDB, 0x24, 0x0D, 0xF5, 0x7C, 0xFF, 0x90, 0x24, 0x49, 0xD2, 0xF1, 0xFB,
+0x1F, 0x24, 0x49, 0x12, 0x3F, 0xBD, 0xFF, 0x06, 0x48, 0x90, 0xF0, 0xFB,
+0xFF, 0x3F, 0x41, 0x92, 0x24, 0xFC, 0x7B, 0x9B, 0x90, 0xA4, 0x40, 0x12,
+0xAF, 0xCF, 0x0B, 0x20, 0x40, 0x00, 0xF7, 0xDE, 0xD8, 0x00, 0x49, 0x92,
+0x70, 0xEF, 0xA6, 0x0F, 0x88, 0x1A, 0x2C, 0xF0, 0x6A, 0x52, 0x90, 0x80,
+0x09, 0x82, 0x5F, 0x59, 0x0C, 0x20, 0x4C, 0x00, 0xFC, 0xD9, 0x06, 0x04,
+0x03, 0x10, 0x40, 0xD7, 0x74, 0x04, 0x48, 0x12, 0x00, 0x9E, 0x7F, 0xFD,
+0x80, 0x20, 0x41, 0x62, 0xF9, 0xFB, 0x9E, 0x20, 0x49, 0x12, 0x61, 0xDE,
+0xFF, 0x00, 0x48, 0x94, 0x30, 0xEA, 0xE3, 0x1F, 0x00, 0x92, 0x20, 0x02,
+0x80, 0x00, 0xB4, 0x6C, 0xDB, 0x22, 0x04, 0x04, 0x00, 0x6D, 0xDB, 0x76,
+0x08, 0x80, 0x00, 0x6C, 0xDA, 0xB4, 0x05, 0x02, 0x00, 0x10, 0xDB, 0xA6,
+0xAD, 0x02, 0xC0, 0x22, 0x9D, 0x6D, 0xFA, 0xA2, 0x41, 0x82, 0x04, 0x2B,
+0x9A, 0x26, 0x09, 0x21, 0x24, 0x48, 0xDB, 0x26, 0x41, 0x20, 0x49, 0x02,
+0x1A, 0xB6, 0x25, 0x03, 0x99, 0x9C, 0xA5, 0x61, 0x52, 0x00, 0x61, 0xA0,
+0x07, 0xED, 0x93, 0x14, 0x8A, 0xB6, 0xA1, 0x58, 0xD1, 0x26, 0xC1, 0x00,
+0x29, 0x08, 0xDA, 0xB6, 0x0E, 0x44, 0x81, 0x02, 0x95, 0x69, 0xD3, 0x82,
+0x03, 0x04, 0xC1, 0x08, 0xDB, 0x76, 0x1D, 0xA1, 0x01, 0x4C, 0xDB, 0xF2,
+0x45, 0x16, 0x00, 0x51, 0x9A, 0xB6, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x20, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x02, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x41, 0x08, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x50, 0x80, 0x00, 0x20, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x01, 0x80, 0x08, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00,
+0x04, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x08, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x04, 0x09, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x42, 0x02, 0x00, 0x82, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x10, 0x00, 0x20, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x41, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x11, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00,
+0x01, 0x80, 0x01, 0x04, 0x09, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x02,
+0x00, 0x82, 0x00, 0x08, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92,
+0x00, 0x20, 0x00, 0x10, 0x01, 0x20, 0x01, 0x04, 0x00, 0x00, 0x00, 0x05,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x41, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00,
+0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x44, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x02, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x82, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x82, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08, 0x20, 0x00,
+0x81, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x20, 0x00, 0x22, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x02, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x02, 0x40,
+0x00, 0x00, 0x10, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00,
+0x48, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20,
+0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x05, 0x00, 0x80, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x24, 0x49,
+0x92, 0x2C, 0x41, 0x92, 0x04, 0x59, 0x92, 0x64, 0x49, 0x82, 0x24, 0x4A,
+0x92, 0x24, 0xD1, 0x82, 0x24, 0x59, 0x92, 0x24, 0x89, 0x20, 0x49, 0x82,
+0x2C, 0x49, 0x92, 0x20, 0x48, 0x12, 0x04, 0x4B, 0x92, 0x24, 0x49, 0x12,
+0x24, 0x48, 0x92, 0x24, 0x01, 0x90, 0x0C, 0x49, 0x92, 0x24, 0x09, 0x34,
+0x08, 0x10, 0x24, 0x41, 0x90, 0x20, 0x49, 0x02, 0x00, 0x49, 0x92, 0x2C,
+0x49, 0x02, 0x00, 0x48, 0x90, 0x24, 0x40, 0x30, 0x00, 0x49, 0x12, 0x24,
+0x09, 0x24, 0x01, 0x82, 0x24, 0x49, 0x92, 0x2C, 0x48, 0x92, 0x44, 0x6D,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x08, 0x92, 0x04, 0x81, 0x82, 0x34, 0x58,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x90, 0x24, 0x4A, 0x92, 0x24, 0xD1, 0x92,
+0x24, 0x19, 0x80, 0x24, 0x89, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x12, 0x24, 0x48, 0x12, 0x24,
+0x41, 0x92, 0x2C, 0x49, 0x92, 0x04, 0x09, 0x24, 0x49, 0x82, 0x25, 0x49,
+0x10, 0x20, 0x49, 0x92, 0x00, 0x49, 0x92, 0x24, 0x41, 0x12, 0x24, 0x08,
+0x92, 0x04, 0x41, 0xB2, 0x20, 0x49, 0x12, 0x24, 0x01, 0x04, 0x49, 0x92,
+0x25, 0x49, 0x92, 0x28, 0x48, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92,
+0x24, 0x4A, 0x92, 0x04, 0xC1, 0x92, 0x24, 0x59, 0x90, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x84, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x84,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0xC0, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x14, 0x40, 0x00, 0x04, 0x00, 0x00, 0x82, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x08, 0x80, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x4B, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x82, 0x24,
+0x89, 0x24, 0xC9, 0x82, 0x20, 0x09, 0x92, 0x00, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x48, 0x92, 0x04, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x2C, 0xC9, 0x82, 0x20, 0x09, 0x92, 0x00, 0x49, 0x96,
+0x00, 0x49, 0x92, 0x24, 0x49, 0x92, 0x2C, 0x48, 0x10, 0x64, 0x41, 0x12,
+0x20, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x00, 0x09, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x59, 0x92, 0x04, 0x4A, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x2C, 0x09, 0x24, 0x4B, 0x92, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x41, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0xC9, 0x92,
+0x24, 0x49, 0x90, 0x00, 0x49, 0x82, 0x04, 0x49, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x0C,
+0xC9, 0x92, 0x04, 0x49, 0x90, 0x00, 0x09, 0x86, 0x04, 0x49, 0x92, 0x24,
+0x41, 0x12, 0x0C, 0x4C, 0x90, 0x04, 0x41, 0x92, 0x20, 0x49, 0x90, 0x04,
+0x09, 0x24, 0x48, 0x92, 0x04, 0x41, 0x90, 0x38, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x58, 0x92, 0x24, 0x4A, 0x92, 0x20, 0x41, 0x92, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x02, 0x00, 0xD9, 0xBE, 0x6D, 0x03, 0x00, 0x00, 0xD0, 0x36, 0x6D, 0x5B,
+0x00, 0x03, 0x00, 0xB4, 0x65, 0xDB, 0x0E, 0x04, 0x00, 0x90, 0x6D, 0xDB,
+0x76, 0x20, 0x00, 0x00, 0x59, 0xB6, 0x6D, 0x03, 0x00, 0x00, 0xC0, 0xB6,
+0x6D, 0x1B, 0x10, 0x00, 0x00, 0xF4, 0x6D, 0xDB, 0x02, 0x00, 0x00, 0x80,
+0x69, 0xDB, 0x36, 0x00, 0xD8, 0x10, 0xD8, 0x96, 0x2C, 0x03, 0x00, 0x10,
+0xC0, 0xB6, 0xAD, 0x1B, 0x00, 0x40, 0x00, 0xB4, 0xFD, 0xFB, 0x02, 0x00,
+0x20, 0x80, 0x6D, 0x7B, 0x36, 0x25, 0x00, 0x00, 0x4D, 0xB7, 0x6D, 0x03,
+0x02, 0x00, 0x90, 0xB6, 0x6D, 0x5B, 0x41, 0x40, 0x00, 0xF8, 0x6C, 0xDB,
+0x16, 0x00, 0x00, 0x90, 0x6D, 0xDB, 0x76, 0x36, 0x6F, 0xDB, 0x48, 0x92,
+0x24, 0xB1, 0x65, 0xDB, 0x46, 0x52, 0x24, 0x09, 0x6D, 0xD8, 0xB6, 0x90,
+0x28, 0x49, 0x62, 0xCB, 0xB6, 0x9D, 0x24, 0x49, 0x12, 0x96, 0x6D, 0xDB,
+0xC8, 0x92, 0x24, 0xB1, 0x6D, 0xDB, 0x46, 0x92, 0x24, 0x09, 0x7D, 0xDB,
+0xB6, 0x90, 0x24, 0x49, 0x62, 0xDB, 0xB6, 0x8D, 0x20, 0x49, 0x12, 0xB6,
+0x25, 0xC9, 0x48, 0x32, 0x61, 0xB1, 0x6D, 0xC9, 0x46, 0x92, 0x64, 0x09,
+0x6D, 0x0B, 0xB6, 0x90, 0x04, 0x44, 0x62, 0xDB, 0x96, 0x8D, 0x24, 0x84,
+0x10, 0x93, 0x6D, 0xDB, 0xD8, 0x92, 0x24, 0x99, 0x6D, 0xDB, 0x06, 0x83,
+0x24, 0x09, 0x2C, 0x9B, 0xB6, 0x84, 0x25, 0x48, 0x2A, 0xD9, 0xB6, 0x1D,
+0x20, 0x49, 0x12, 0x5B, 0xB4, 0x6D, 0x27, 0x41, 0x92, 0xD8, 0x96, 0x6D,
+0x3B, 0x69, 0x92, 0xA4, 0xB6, 0x6C, 0xDB, 0x48, 0x92, 0x24, 0xB9, 0x6D,
+0xDB, 0x66, 0x82, 0x24, 0x89, 0xDB, 0xB6, 0x6D, 0x25, 0x49, 0x92, 0xD0,
+0xB6, 0x6D, 0x0B, 0x49, 0x92, 0x24, 0xA6, 0x6D, 0xDB, 0x08, 0x92, 0x24,
+0xB1, 0x6C, 0xDB, 0x46, 0x92, 0x24, 0x09, 0xDB, 0x06, 0x7C, 0x25, 0x09,
+0x90, 0xD0, 0x36, 0x40, 0x0B, 0x49, 0x12, 0x24, 0xB6, 0x01, 0xD0, 0x48,
+0x22, 0x04, 0xB1, 0x2D, 0x40, 0x46, 0x92, 0x04, 0x09, 0xB8, 0xB6, 0x6D,
+0x23, 0x48, 0x92, 0xC0, 0xB2, 0x69, 0xBB, 0x41, 0x92, 0xA4, 0x80, 0x2D,
+0xDB, 0x00, 0x92, 0x24, 0x99, 0x6C, 0xDB, 0x06, 0x9A, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x27, 0x49, 0x92, 0x00, 0x00, 0x00, 0x20, 0x69, 0x92, 0x24,
+0x00, 0x00, 0x00, 0x4B, 0x9A, 0x24, 0x01, 0x00, 0x00, 0x50, 0x92, 0x24,
+0x89, 0x00, 0x00, 0x00, 0xA5, 0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x49,
+0x92, 0x24, 0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x01, 0x00, 0x00, 0x40,
+0x92, 0x24, 0x09, 0x00, 0x48, 0x10, 0x25, 0x69, 0xDB, 0x00, 0x00, 0x10,
+0x00, 0x49, 0x5A, 0x24, 0x00, 0x00, 0x00, 0x48, 0x42, 0x06, 0x01, 0x00,
+0x20, 0x40, 0x92, 0x84, 0x09, 0x04, 0x00, 0x00, 0xB7, 0x48, 0x92, 0x08,
+0x00, 0x00, 0xA0, 0x49, 0x92, 0xA4, 0x40, 0x00, 0x00, 0x05, 0x93, 0x24,
+0x01, 0x00, 0x04, 0x50, 0x9B, 0x24, 0x09, 0xFF, 0xFF, 0xFF, 0x90, 0x26,
+0x49, 0xF2, 0xCF, 0xFF, 0x9F, 0x04, 0x49, 0x12, 0xFF, 0xFC, 0xFF, 0x24,
+0x41, 0x92, 0xF0, 0xFB, 0xFF, 0x3F, 0x49, 0x92, 0x24, 0xDF, 0xFF, 0xFF,
+0x10, 0x24, 0x49, 0xF2, 0xFF, 0xFF, 0x8F, 0x24, 0x49, 0x12, 0xFF, 0xFF,
+0xFF, 0x24, 0x49, 0x92, 0xF0, 0xFE, 0xFF, 0x0F, 0x49, 0x92, 0x24, 0xFF,
+0x07, 0xEE, 0x90, 0x04, 0x00, 0xF2, 0x7F, 0xEB, 0x8F, 0x24, 0xA5, 0x12,
+0xFF, 0xFF, 0xFC, 0x24, 0x99, 0xB0, 0xF0, 0xBF, 0x4C, 0x0F, 0x49, 0x32,
+0x24, 0xFB, 0xFF, 0xFF, 0x00, 0x25, 0x49, 0xA2, 0xF9, 0xFB, 0x1F, 0x24,
+0x49, 0x12, 0xBA, 0xFF, 0xFF, 0xEA, 0x48, 0x92, 0xC0, 0xFE, 0xFB, 0x1F,
+0x40, 0x92, 0x24, 0x00, 0x00, 0x00, 0xB5, 0x65, 0xDB, 0x02, 0x28, 0x00,
+0x80, 0x4D, 0xDB, 0x76, 0x00, 0x02, 0x00, 0x6C, 0xD3, 0xB6, 0x05, 0x10,
+0x00, 0x50, 0xDB, 0xB6, 0xAD, 0x20, 0x00, 0x00, 0x35, 0x6D, 0xDB, 0x02,
+0x00, 0x00, 0x80, 0x6D, 0xDB, 0x36, 0x00, 0x00, 0x00, 0x2C, 0xDB, 0xB6,
+0x01, 0x01, 0x00, 0x40, 0xDB, 0xB6, 0x2D, 0x00, 0xD8, 0x02, 0xB5, 0xCD,
+0x9A, 0x02, 0x80, 0x36, 0x80, 0x6D, 0x1B, 0x36, 0x00, 0xB4, 0x09, 0x6C,
+0x4B, 0x96, 0x01, 0x00, 0x29, 0x40, 0xDB, 0x16, 0x2D, 0x44, 0x00, 0x00,
+0x21, 0x6C, 0xDB, 0x32, 0x00, 0x04, 0x00, 0x6D, 0xDB, 0x76, 0x53, 0x00,
+0x00, 0x20, 0xDA, 0xB6, 0x45, 0x02, 0x00, 0x50, 0xD3, 0xB6, 0x2D, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x42, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x20, 0x40, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x18, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x20, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x10, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x12, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x12, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x80, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x40, 0x00, 0x50, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x2C, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x20, 0x49, 0x90, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x48, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x20, 0x49,
+0x92, 0x24, 0x09, 0x20, 0x69, 0x92, 0x24, 0x49, 0x92, 0x20, 0x09, 0x92,
+0x04, 0x49, 0x92, 0x24, 0x41, 0x82, 0x24, 0x48, 0x92, 0x24, 0x41, 0x02,
+0x30, 0x49, 0x12, 0x24, 0x09, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x90, 0x24, 0x4A, 0x82, 0x24,
+0x41, 0x82, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x25, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A,
+0x82, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x12,
+0x25, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x25, 0x49, 0x92, 0x20, 0x09, 0x92, 0x04, 0x49, 0x92, 0x24,
+0x49, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24,
+0x09, 0x24, 0x49, 0x92, 0x25, 0x49, 0x92, 0x28, 0x49, 0x90, 0x04, 0x41,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x04, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x40, 0x01, 0x00, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x04,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00,
+0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x09, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x09, 0x12, 0x24, 0x49,
+0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x41, 0x92, 0x24, 0x48,
+0x82, 0x24, 0x41, 0x32, 0x24, 0x49, 0x92, 0x04, 0x09, 0x24, 0x41, 0x92,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x09, 0x92,
+0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x20, 0x09, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x09, 0x04, 0x49, 0x92, 0x20, 0x09, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x24, 0x40, 0x92, 0x20, 0x09, 0x92, 0x20, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x24, 0x09, 0x92, 0x24, 0x48, 0x82, 0x24, 0x40, 0xB2,
+0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x41, 0x92, 0x20, 0x01, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x09, 0x92, 0x04, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x19, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x04, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x40, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x4D, 0xDA, 0xB6, 0x06, 0x00, 0x00, 0xCC, 0xFF, 0xFF,
+0x9F, 0x24, 0x49, 0x52, 0xDB, 0xA6, 0x6D, 0x06, 0x00, 0x00, 0xF8, 0xFF,
+0xFF, 0x7F, 0x49, 0x92, 0xE4, 0x6D, 0xDA, 0xB6, 0x00, 0x00, 0x00, 0xF0,
+0xFF, 0xFF, 0x8F, 0x24, 0x49, 0x12, 0xDB, 0xB6, 0x6D, 0x00, 0x00, 0x00,
+0xF0, 0xFF, 0xFF, 0x0F, 0x49, 0x92, 0x24, 0x6D, 0xDB, 0xB6, 0x00, 0x00,
+0x00, 0xF0, 0xFF, 0xFF, 0x8F, 0x24, 0x49, 0x12, 0xDB, 0xB6, 0x6D, 0x00,
+0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x0F, 0x49, 0x92, 0x24, 0x0D, 0x00, 0x00,
+0x02, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x98, 0x04, 0x00, 0x60, 0x0B, 0x00,
+0x40, 0x02, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x18, 0x01, 0x00, 0x60, 0x00,
+0x00, 0x00, 0x91, 0x24, 0x49, 0x62, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x49, 0x92, 0x80, 0x24, 0x49, 0x02, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x42, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x90, 0x24, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91, 0x24, 0x49, 0x42, 0x92, 0x24,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x90, 0x24,
+0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00, 0x40,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00,
+0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92, 0x01, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x49, 0x92,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x92,
+0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x49, 0x92, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x4D, 0xDA, 0xB6, 0x96, 0x24, 0xDB, 0x0E, 0x49, 0x92,
+0x94, 0x00, 0x00, 0x40, 0x93, 0xA4, 0x6D, 0x2E, 0xD9, 0xB6, 0x59, 0x92,
+0x24, 0x79, 0x00, 0x00, 0xC0, 0x6D, 0xDB, 0xB6, 0xB4, 0x6D, 0xDB, 0x22,
+0x49, 0x92, 0x04, 0x00, 0x00, 0x00, 0xDB, 0xB6, 0x6D, 0x6C, 0xD9, 0xB6,
+0x41, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x6D, 0xDB, 0xB6, 0xB4, 0x6D,
+0xDB, 0x22, 0x49, 0x92, 0x04, 0x00, 0x00, 0x00, 0xDB, 0xB6, 0x6D, 0x6C,
+0xDB, 0xB6, 0x41, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00,
+0x36, 0x00, 0x00, 0x2E, 0x01, 0x00, 0x18, 0x00, 0x00, 0x60, 0x0B, 0x00,
+0x40, 0x2E, 0x00, 0x00, 0x49, 0x00, 0x00, 0x18, 0x00, 0x00, 0x60, 0x69,
+0x93, 0x24, 0xB7, 0x6D, 0x49, 0x4E, 0xDB, 0xB6, 0x9D, 0x6D, 0xDB, 0x76,
+0xDB, 0x36, 0x49, 0x66, 0x4B, 0x92, 0xD8, 0xB6, 0x6D, 0x7B, 0xDB, 0xB6,
+0xED, 0x49, 0x92, 0x24, 0x91, 0x24, 0x49, 0x62, 0xDB, 0xB6, 0x8D, 0x6D,
+0xDB, 0x36, 0x92, 0x24, 0x49, 0x24, 0x4B, 0x92, 0xD0, 0xB6, 0x6D, 0x4B,
+0xDB, 0xB6, 0x2D, 0x49, 0x92, 0x24, 0x91, 0x24, 0x49, 0x62, 0xDB, 0xB6,
+0x8D, 0x6D, 0xDB, 0x36, 0x92, 0x24, 0x49, 0x24, 0x49, 0x92, 0xD0, 0xB6,
+0x6D, 0x4B, 0xDB, 0xB6, 0x2D, 0x09, 0x00, 0x00, 0x13, 0x00, 0x00, 0x6E,
+0x01, 0x00, 0x98, 0x05, 0x00, 0x60, 0x02, 0x00, 0x40, 0x26, 0x00, 0x00,
+0xD9, 0x00, 0x00, 0x58, 0x03, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x49,
+0x92, 0x20, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48,
+0x92, 0x24, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x24, 0x49, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x48, 0x92, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x24, 0x49, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x80, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x24, 0x49, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x49, 0x92, 0x64, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x92, 0x24, 0x00, 0x00, 0x00,
+0x80, 0x24, 0x49, 0x02, 0x00, 0x00, 0x80, 0x24, 0x49, 0x12, 0x00, 0x00,
+0x00, 0x00, 0x49, 0x92, 0x08, 0x00, 0x00, 0x00, 0x49, 0x92, 0x64, 0x00,
+0x00, 0x00, 0x15, 0x20, 0xDB, 0x4E, 0x92, 0x24, 0x09, 0x80, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x08, 0x92, 0xB6, 0x81, 0x24, 0x49, 0x42, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0xB5, 0x69, 0xDB, 0x42, 0x92, 0x24, 0x09, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xDB, 0xB6, 0x91, 0x24, 0x49, 0x02,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x6D, 0xDB, 0x42, 0x92, 0x24,
+0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xDB, 0xB6, 0x91, 0x24,
+0x49, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0x49, 0x92, 0x4C,
+0x00, 0x00, 0x00, 0x48, 0x92, 0x24, 0x00, 0x00, 0x00, 0x6C, 0x92, 0x24,
+0x91, 0x00, 0x00, 0x00, 0x90, 0x24, 0x09, 0xDA, 0xB6, 0x6D, 0xF8, 0xFF,
+0x6D, 0x97, 0x24, 0x49, 0x62, 0x7F, 0xFF, 0xFF, 0xB6, 0x6D, 0xDB, 0xD1,
+0x64, 0xDB, 0x26, 0x49, 0x92, 0x84, 0xFF, 0xFF, 0x3F, 0xDB, 0xB6, 0x6D,
+0xD8, 0xB6, 0x6D, 0x93, 0x24, 0x49, 0xC2, 0xFF, 0xFF, 0x3F, 0xB6, 0x6D,
+0xDB, 0xB4, 0x6D, 0xDB, 0x22, 0x49, 0x92, 0xC4, 0xFF, 0xFF, 0x3F, 0xDB,
+0xB6, 0x6D, 0xD9, 0xB6, 0x6D, 0x93, 0x24, 0x49, 0xC2, 0xFF, 0xFF, 0x3F,
+0xB6, 0x6D, 0xDB, 0xB4, 0x6D, 0xDB, 0x22, 0x49, 0x92, 0xC4, 0xFF, 0xFF,
+0x3F, 0x9B, 0x24, 0x49, 0x58, 0x92, 0x24, 0x95, 0x24, 0x49, 0xE2, 0x97,
+0x24, 0xC9, 0x26, 0x49, 0x92, 0xB5, 0x24, 0x49, 0x26, 0x49, 0x92, 0xC4,
+0x27, 0x49, 0x12, 0xDA, 0xB6, 0x6D, 0x6D, 0x9B, 0xB6, 0xD9, 0xB6, 0x6D,
+0xFB, 0x49, 0xB2, 0xED, 0xB6, 0x7D, 0xDB, 0xBD, 0xBD, 0x6D, 0xAF, 0x6D,
+0xDB, 0xC6, 0x92, 0x6D, 0xDB, 0xDB, 0xB6, 0x6D, 0x6D, 0xDB, 0xB6, 0xD1,
+0xB6, 0x6D, 0x4B, 0xDB, 0xB6, 0x2D, 0xB6, 0x6D, 0xDB, 0xD8, 0xB6, 0x6D,
+0xB3, 0x6D, 0xDB, 0xC6, 0xB6, 0x6D, 0x1B, 0xDB, 0xB6, 0x6D, 0x6C, 0xDB,
+0xB6, 0xD1, 0xB6, 0x6D, 0x4B, 0xDB, 0xB6, 0x2D, 0xB6, 0x6D, 0xDB, 0xD8,
+0xB6, 0x6D, 0xB3, 0x6D, 0xDB, 0xC6, 0xB6, 0x6D, 0x1B, 0x9B, 0x24, 0x49,
+0x6D, 0xDB, 0xB6, 0xDB, 0x24, 0x49, 0x72, 0xDB, 0xB6, 0xED, 0x26, 0x49,
+0x92, 0xD9, 0xB6, 0x6D, 0xBF, 0x49, 0x92, 0xC4, 0xB6, 0x6D, 0x7B, 0x00,
+0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40,
+0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x08, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x04,
+0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x82, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x82, 0x24,
+0x89, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x12, 0x24, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92,
+0x00, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24, 0x41, 0xB2,
+0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x24, 0x0A, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49,
+0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A,
+0x92, 0x24, 0x41, 0x82, 0x24, 0x59, 0x82, 0x24, 0x89, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92,
+0x24, 0x48, 0x92, 0x24, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24,
+0x49, 0x92, 0x24, 0x48, 0x82, 0x24, 0x41, 0xB2, 0x24, 0x49, 0x12, 0x24,
+0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x90, 0x28, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59,
+0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
+0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+0x00, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x24, 0x48, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92,
+0x04, 0x49, 0x92, 0x64, 0x49, 0x82, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92,
+0x24, 0x59, 0x92, 0x24, 0x89, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x82, 0x24, 0x49,
+0x92, 0x20, 0x49, 0x92, 0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48,
+0x92, 0x20, 0x41, 0x92, 0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92,
+0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92,
+0x04, 0x4A, 0x92, 0x24, 0x01, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x24,
+0x49, 0x92, 0x24, 0x49, 0x92, 0x28, 0x49, 0x92, 0x04, 0x49, 0x92, 0x64,
+0x49, 0x92, 0x24, 0x4A, 0x92, 0x24, 0x41, 0x92, 0x24, 0x59, 0x92, 0x24,
+0x89, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x49, 0x92, 0x04, 0x49,
+0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x90, 0x04, 0x41, 0x92, 0x24, 0x49,
+0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x20, 0x09, 0x92,
+0x04, 0x49, 0x92, 0x24, 0x49, 0x92, 0x24, 0x48, 0x90, 0x24, 0x41, 0x92,
+0x24, 0x49, 0x92, 0x24, 0x09, 0x24, 0x49, 0x92, 0x24, 0x49, 0x92, 0x28,
+0x49, 0x92, 0x04, 0x49, 0x92, 0x64, 0x49, 0x92, 0x24, 0x4A, 0x92, 0x24,
+0x41, 0x92, 0x24, 0x59, 0x92, 0x24, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00,
+0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x01, 0x40, 0x00, 0x04,
+0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x40, 0x00, 0x40, 0x00, 0x10, 0x00,
+0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00, 0x01, 0x40,
+0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x40, 0x00, 0x40, 0x00,
+0x10, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x00,
+0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x40, 0x00,
+0x40, 0x00, 0x10, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20,
+0x00, 0x00, 0x01, 0x40, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
+0x40, 0x00, 0x40, 0x00, 0x10, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xCF, 0xFF,
+0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF, 0xCF,
+0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF, 0xF3, 0xFF, 0xFF,
+0xCF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xF3, 0xFF,
+0xFF, 0xCF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF,
+0xFB, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0x7F, 0x0C, 0xD6,
+};
+
+const unsigned long top_address[] =
+{
+0x00000000,
+};
+const unsigned long top_length_of_sections[] =
+{
+0x0001FA9D,
+};
+const unsigned long top_sections = 0x00000001;
+const unsigned long top_termination = 0x00000000;
+const unsigned long top_start = 0x00000000;
+const unsigned long top_finish = 0x0001FA9D;
+const unsigned long top_length = 0x0001FA9D;
+
+#define TOP_TERMINATION 0x00000000
+#define TOP_START 0x00000000
+#define TOP_FINISH 0x0001FA9D
+#define TOP_LENGTH 0x0001FA9D
+#define TOP_SECTIONS 0x00000001
diff --git a/Bios/src/funclets/DcoFllCal/DcoCal.s43 b/Bios/src/funclets/DcoFllCal/DcoCal.s43
index 51d4618..270e663 100644
--- a/Bios/src/funclets/DcoFllCal/DcoCal.s43
+++ b/Bios/src/funclets/DcoFllCal/DcoCal.s43
@@ -52,7 +52,8 @@
dint ;Disable interrupts.
- mov.b #XT2OFF+RSEL2+RSEL1+RSEL0,&BCSCTL1 ;BCL12 Workaround
+ bic.b #0x3F,&BCSCTL1 ;BCL12 Workaround
+ bis.b #0x07,&BCSCTL1 ;BCL12 Workaround
mov.b valDCO,&DCOCTL ;Load DCO value.
mov.b valBCS1,&BCSCTL1 ;Load BCS1 value.
diff --git a/Bios/src/funclets/DcoFllCal/FllCal.s43 b/Bios/src/funclets/DcoFllCal/FllCal.s43
index c892a54..c632b28 100644
--- a/Bios/src/funclets/DcoFllCal/FllCal.s43
+++ b/Bios/src/funclets/DcoFllCal/FllCal.s43
@@ -56,8 +56,8 @@
mov.b #80h ,&SCFQCTL ;D/FN_x.
mov.b #0 ,&SCFI0 ;N(dco).
mov.b valSCFI1,&SCFI1 ;N(dco).
- mov.b #80h ,&FLL_CTL0
- mov.b #0 ,&FLL_CTL1
+ bis.b #80h,&FLL_CTL0
+ bic.b #5fh,&FLL_CTL1
xor R10,R10 ;Clear R10.
xor R9,R9 ;Clear R9.
diff --git a/Bios/src/funclets/FlashXv2/Flash.eww b/Bios/src/funclets/FlashXv2/Flash.eww
index 36b8a63..b191b96 100644
--- a/Bios/src/funclets/FlashXv2/Flash.eww
+++ b/Bios/src/funclets/FlashXv2/Flash.eww
@@ -13,7 +13,8 @@
$WS_DIR$\FramErase.ewp
+
+ $WS_DIR$\FramEraseFR41xx.ewp
+
-
-
diff --git a/Bios/src/funclets/FlashXv2/FramEraseFR41xx.ewp b/Bios/src/funclets/FlashXv2/FramEraseFR41xx.ewp
new file mode 100644
index 0000000..8770b17
--- /dev/null
+++ b/Bios/src/funclets/FlashXv2/FramEraseFR41xx.ewp
@@ -0,0 +1,1770 @@
+
+
+
+ 2
+
+ Debug
+
+ MSP430
+
+ 1
+
+ General
+ 7
+
+ 27
+ 1
+ 1
+
+ ExePath
+ Debug\Exe
+
+
+ ObjPath
+ Debug\Obj
+
+
+ ListPath
+ Debug\List
+
+
+ PosIndCode
+ 0
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 1
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 0
+
+
+ RTDescription
+ Do not link with a runtime library.
+
+
+ RTConfigPath
+
+
+
+ RTLibraryPath
+
+
+
+ Input variant
+ 0
+ 1
+
+
+ Input description
+ Full formatting.
+
+
+ Output variant
+ 0
+ 1
+
+
+ Output description
+ Full formatting.
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 0
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430FR4133 MSP430FR4133
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 160
+
+
+ GHeapSize2
+ 160
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ 80
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 29
+ 1
+ 1
+
+ CCDefines
+
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 00000
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 1
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ CPIC
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 1
+
+
+ CCOptStrategy
+ 0
+ 0
+
+
+ CCOptLevelSlave
+ 1
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ IccRelaxedFpPrecision
+ 0
+
+
+
+
+ A430
+ 4
+
+ 13
+ 1
+ 1
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 1
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+ $FILE_BNAME$.r43
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ XLINK
+ 4
+
+ 22
+ 1
+ 1
+
+ XOutOverride
+ 0
+
+
+ OutputFile
+ FramEraseFR41xx.d43
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 1
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ $TOOLKIT_DIR$\LIB\
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 1
+
+
+ XclFile
+ $PROJ_DIR$\config\lnk430FR41xx_obj.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 0
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 1
+
+
+ GenerateExtraOutput
+ 1
+
+
+ XExtraOutOverride
+ 0
+
+
+ ExtraOutputFile
+ FramEraseFR41xx.txt
+
+
+ ExtraOutputFormat
+ 11
+ 33
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 1
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 1
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ MSP430
+
+ 0
+
+ General
+ 7
+
+ 27
+ 1
+ 0
+
+ ExePath
+ Release\Exe
+
+
+ ObjPath
+ Release\Obj
+
+
+ ListPath
+ Release\List
+
+
+ PosIndCode
+ 0
+
+
+ Hardware Multiplier
+ 1
+
+
+ GOutputBinary
+ 0
+
+
+ AssemblerOnly
+ 0
+
+
+ OGDouble
+ 0
+
+
+ GRuntimeLibSelect
+ 0
+ 4
+
+
+ RTDescription
+
+
+
+ RTConfigPath
+ xxx.h
+
+
+ RTLibraryPath
+ xxx.r43
+
+
+ Input variant
+ 0
+ 0
+
+
+ Input description
+
+
+
+ Output variant
+ 0
+ 0
+
+
+ Output description
+
+
+
+ GRuntimeLibSelectSlave
+ 0
+ 1
+
+
+ OGCore
+ 0
+
+
+ GeneralEnableMisra
+ 0
+
+
+ GeneralMisraVerbose
+ 0
+
+
+ OGChipSelectMenu
+ MSP430F149 MSP430F149
+
+
+ GStackHeapOverride
+ 0
+
+
+ GStackSize2
+ 80
+
+
+ GHeapSize2
+ 80
+
+
+ RadioDataModelType
+ 0
+
+
+ GHeap20Size
+ ###Uninitialized###
+
+
+ GeneralMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ RadioHeapSizeType
+ 0
+
+
+ RadioHardwareMultiplierType
+ 0
+
+
+ GeneralMisraVer
+ 0
+
+
+ GeneralMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ RadioL092ModelType
+ 0
+
+
+
+
+ ICC430
+ 4
+
+ 29
+ 1
+ 0
+
+ CCDefines
+ NDEBUG
+
+
+ CCPreprocFile
+ 0
+
+
+ CCPreprocComments
+ 0
+
+
+ CCPreprocLine
+ 0
+
+
+ CCListCFile
+ 0
+
+
+ CCListCMnemonics
+ 0
+
+
+ CCListCMessages
+ 0
+
+
+ CCListAssFile
+ 0
+
+
+ CCListAssSource
+ 0
+
+
+ CCEnableRemarks
+ 0
+
+
+ CCDiagSuppress
+
+
+
+ CCDiagRemark
+
+
+
+ CCDiagWarning
+
+
+
+ CCDiagError
+
+
+
+ IObjPrefix2
+ 1
+
+
+ CCRequirePrototypes
+ 0
+
+
+ CCAllowList
+ 1
+ 11111
+
+
+ CCObjUseModuleName
+ 0
+
+
+ CCObjModuleName
+
+
+
+ CCDebugInfo
+ 0
+
+
+ IProcessor
+ 0
+
+
+ CCDiagWarnAreErr
+ 0
+
+
+ CCCharIs
+ 1
+
+
+ CCExt
+ 0
+
+
+ CCMultibyteSupport
+ 0
+
+
+ CCMigrationPreprocExtentions
+ 0
+
+
+ CCCompilerRuntimeInfo
+ 1
+
+
+ IDoubleSize
+ 1
+
+
+ OutputFile
+
+
+
+ CCLibConfigHeader
+ 1
+
+
+ OCCR4Utilize
+ 0
+
+
+ OCCR5Utilize
+ 0
+
+
+ CPIC
+ 1
+
+
+ IExtraOptionsCheck
+ 0
+
+
+ IExtraOptions
+
+
+
+ PreInclude
+
+
+
+ CCOverrideModuleTypeDefault
+ 0
+
+
+ CCRadioModuleType
+ 0
+
+
+ CCRadioModuleTypeSlave
+ 1
+
+
+ newCCIncludePaths
+
+
+
+ CCStdIncCheck
+ 0
+
+
+ CompilerMisraOverride
+ 0
+
+
+ OI430X
+ 1
+
+
+ ReduceStack
+ 0
+
+
+ Save20bit
+ 0
+
+
+ CompilerDataModel
+ 1
+
+
+ CCOptLevel
+ 3
+
+
+ CCOptStrategy
+ 0
+ 1
+
+
+ CCOptLevelSlave
+ 3
+
+
+ CInput
+ 1
+
+
+ CompilerMisraRules98
+ 0
+ 1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111
+
+
+ CompilerMisraRules04
+ 0
+ 111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111
+
+
+ IccLang
+ 0
+
+
+ IccCDialect
+ 1
+
+
+ IccAllowVLA
+ 0
+
+
+ IccCppDialect
+ 1
+
+
+ IccRelaxedFpPrecision
+ 0
+
+
+
+
+ A430
+ 4
+
+ 13
+ 1
+ 0
+
+ AObjPrefix
+ 1
+
+
+ ACaseSensitivity
+ 1
+
+
+ MacroChars
+ 0
+ 0
+
+
+ AWarnEnable
+ 0
+
+
+ AWarnWhat
+ 0
+
+
+ AWarnOne
+
+
+
+ AWarnRange1
+
+
+
+ AWarnRange2
+
+
+
+ ADefines
+
+
+
+ AList
+ 0
+
+
+ AListHeader
+ 1
+
+
+ AListing
+ 1
+
+
+ Includes
+ 0
+
+
+ MacDefs
+ 0
+
+
+ MacExps
+ 1
+
+
+ MacExec
+ 0
+
+
+ OnlyAssed
+ 0
+
+
+ MultiLine
+ 0
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ TabSpacing
+ 8
+
+
+ AXRef
+ 0
+
+
+ AXRefDefines
+ 0
+
+
+ AXRefInternal
+ 0
+
+
+ AXRefDual
+ 0
+
+
+ ADebug
+ 0
+
+
+ ADebugType
+ 0
+
+
+ IProcessor
+ 0
+
+
+ AMaxErrOn
+ 0
+
+
+ AMaxErrNum
+ 100
+
+
+ OutputFile
+
+
+
+ AMultibyteSupport
+ 0
+
+
+ AExtraOptionsCheck
+ 0
+
+
+ AExtraOptions
+
+
+
+ OA1M
+ 1
+
+
+ AIgnoreStdInclude
+ 0
+
+
+ AStdIncludes
+ $TOOLKIT_DIR$\INC\
+
+
+ AUserIncludes
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ XLINK
+ 4
+
+ 22
+ 1
+ 0
+
+ XOutOverride
+ 0
+
+
+ OutputFile
+ templproj.txt
+
+
+ OutputFormat
+ 11
+ 33
+
+
+ FormatVariant
+ 8
+ 2
+
+
+ SecondaryOutputFile
+ (None for the selected format)
+
+
+ XDefines
+
+
+
+ AlwaysOutput
+ 0
+
+
+ OverlapWarnings
+ 0
+
+
+ NoGlobalCheck
+ 0
+
+
+ XList
+ 0
+
+
+ SegmentMap
+ 1
+
+
+ ListSymbols
+ 2
+
+
+ PageLengthCheck
+ 0
+
+
+ PageLength
+ 80
+
+
+ XIncludes
+ ###Uninitialized###
+
+
+ ModuleStatus
+ 0
+
+
+ XclOverride
+ 0
+
+
+ XclFile
+ $TOOLKIT_DIR$\CONFIG\lnk430F149.xcl
+
+
+ XclFileSlave
+
+
+
+ DoFill
+ 0
+
+
+ FillerByte
+ 0xFF
+
+
+ DoCrc
+ 0
+
+
+ CrcSize
+ 0
+ 1
+
+
+ CrcAlgo
+ 1
+
+
+ CrcPoly
+ 0x11021
+
+
+ CrcCompl
+ 0
+ 0
+
+
+ RangeCheckAlternatives
+ 0
+
+
+ SuppressAllWarn
+ 0
+
+
+ SuppressDiags
+
+
+
+ TreatAsWarn
+
+
+
+ TreatAsErr
+
+
+
+ ModuleLocalSym
+ 0
+ 0
+
+
+ CrcBitOrder
+ 0
+ 0
+
+
+ XHardwareMul
+ 1
+
+
+ IncludeSuppressed
+ 0
+
+
+ ModuleSummary
+ 0
+
+
+ XlinkStackSize
+ 1
+
+
+ XlinkCodeModel
+ 1
+
+
+ xcProgramEntryLabel
+ __program_start
+
+
+ DebugInformation
+ 1
+
+
+ RuntimeControl
+ 1
+
+
+ IoEmulation
+ 1
+
+
+ XcRTLibraryFile
+ 1
+
+
+ OXLibIOConfig
+ 1
+
+
+ XLibraryHeap
+ 1
+
+
+ AllowExtraOutput
+ 0
+
+
+ GenerateExtraOutput
+ 0
+
+
+ XExtraOutOverride
+ 0
+
+
+ ExtraOutputFile
+ templproj.a43
+
+
+ ExtraOutputFormat
+ 11
+ 23
+
+
+ ExtraFormatVariant
+ 8
+ 2
+
+
+ xcOverrideProgramEntryLabel
+ 0
+
+
+ xcProgramEntryLabelSelect
+ 0
+
+
+ ListOutputFormat
+ 0
+
+
+ BufferedTermOutput
+ 0
+
+
+ XExtraOptionsCheck
+ 0
+
+
+ XExtraOptions
+
+
+
+ OverlaySystemMap
+ 0
+
+
+ RawBinaryFile
+
+
+
+ RawBinarySymbol
+
+
+
+ RawBinarySegment
+
+
+
+ RawBinaryAlign
+
+
+
+ XLinkMisraHandler
+ 0
+
+
+ CrcAlign
+ 2
+
+
+ CrcInitialValue
+ 0x0
+
+
+ XLibraryHeap20
+ 1
+
+
+
+
+ XAR
+ 4
+
+ 0
+ 1
+ 0
+
+ XAROutOverride
+ 0
+
+
+ XARInputs
+
+
+
+ OutputFile
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ $PROJ_DIR$\msp430FR41xx_FramErase.s43
+
+
diff --git a/Bios/src/funclets/FlashXv2/config/lnk430FR41xx_obj.xcl b/Bios/src/funclets/FlashXv2/config/lnk430FR41xx_obj.xcl
new file mode 100644
index 0000000..8dfa341
--- /dev/null
+++ b/Bios/src/funclets/FlashXv2/config/lnk430FR41xx_obj.xcl
@@ -0,0 +1,167 @@
+// ************************************************
+//
+// XLINK configuration file for MSP430G6001
+//
+// Copyright 1996-2010 IAR Systems AB
+//
+// $Revision: 5971 $
+//
+// ************************************************
+
+// ---------------------------------------------------------
+// Description
+//
+
+//
+// Usage:
+//
+// xlink [file file ...] -f lnk430g6001.xcl
+//
+// -----------------------------------------------
+// Device summary
+//
+
+//
+// Core: MSP430
+//
+// Peripheral units: 0-0FFF
+//
+// Information memory (FRAM) : 1800 - 19FF
+//
+// Read/write memory (RAM): 2000 - 21FF
+//
+// Read-only memory (FRAM) : F000 - FF7F
+//
+
+
+// -----------------------------------------------
+// Segments
+//
+
+// -------------------------------------
+// Data read/write segments (RAM)
+//
+
+//
+// segment Usage
+// ------- --------------------------
+// DATA16_Z Data initialized to zero
+// DATA16_I Data initialized by copying from DATA16_ID
+// DATA16_N Data defined using __no_init
+// DATA16_HEAP The heap used by 'malloc' and 'free'
+// CSTACK Runtime stack
+//
+
+
+// -------------------------------------
+// Program and data read-only segments (FRAM)
+//
+
+//
+// segment Usage
+// ------- --------------------------
+// DATA16_C Constant data, including string literals
+// DATA16_ID initializers for DATA_I
+// INFO Information memory
+// INFOx Information memory, bank x
+// CSTART Program startup code
+// CODE Program code
+// ISR_CODE Program code for interrupt service routines
+// DIFUNCT Dynamic initialization vector used by C++
+// CHECKSUM Checksum byte(s) generated by the -J option
+// SIGNATURE Signature memory
+// INTVEC Interrupt vectors
+// RESET The reset vector
+//
+// Notes:
+//
+// * The INFOx and INFO segments overlap, this allows data either to be
+// placed in a specific bank or anywhere in the info memory.
+//
+// * The INTVEC and RESET segments overlap. This allows an application to
+// either use the reset vector provided by the runtime library, or
+// provide a reset function by defining an interrupt function associated
+// with the reset vector.
+//
+
+
+// ---------------------------------------------------------
+// Configuation
+//
+
+// -----------------------------------------------
+// Stack and heap sizes
+//
+
+// Uncomment for command line use
+//-D_STACK_SIZE=160
+//-D_DATA16_HEAP_SIZE=160
+
+
+// -----------------------------------------------
+// Define cpu
+//
+
+-cmsp430
+
+
+// -----------------------------------------------
+// Support for placing functions in read/write memory
+//
+
+-QCODE_I=CODE_ID
+
+
+// ---------------------------------------------------------
+// Placement directives
+//
+
+// -----------------------------------------------
+// Read/write memory
+//
+
+-Z(DATA)DATA16_I,DATA16_Z,DATA16_N,DATA16_HEAP+_DATA16_HEAP_SIZE=2000-21FF
+-Z(DATA)CODE_I
+-Z(DATA)CSTACK+_STACK_SIZE#
+
+
+// -----------------------------------------------
+// Read-only memory
+//
+
+// -------------------------------------
+// Information memory
+//
+
+-Z(CONST)INFO=1800-19FF
+-Z(CONST)INFOA=1800-19FF
+
+
+
+// -------------------------------------
+// Constant data
+//
+
+-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=F000-FF7F
+
+
+// -------------------------------------
+// Code
+//
+
+-Z(CODE)CSTART,ISR_CODE,CODE_ID=F000-FF7F
+-P(CODE)CODE=F000-FF7F
+
+
+// -------------------------------------
+// Signatures
+//
+
+-Z(CODE)SIGNATURE=FF80-FF87
+
+// -------------------------------------
+// Interrupt vectors
+//
+
+-Z(CODE)INTVEC=FF88-FFFF
+-Z(CODE)RESET=FFFE-FFFF
diff --git a/Bios/src/funclets/FlashXv2/msp430FR41xx_FramErase.s43 b/Bios/src/funclets/FlashXv2/msp430FR41xx_FramErase.s43
new file mode 100644
index 0000000..e7aef3b
--- /dev/null
+++ b/Bios/src/funclets/FlashXv2/msp430FR41xx_FramErase.s43
@@ -0,0 +1,97 @@
+/**
+* \ingroup
+*
+* \file msp430FR41xx_FramErase.s43
+*
+* \brief FRAM erase funclet
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config\msp430fr4133.h"
+;-------------------------------------------------------------------------------
+ NAME FlashErase
+;-------------------------------------------------------------------------------
+
+; must be set from calling marco
+#define MyEraseAddr R5
+; must be set from calling marco
+#define MyEraseLen R6
+
+;-------------------------------------------------------------------------------
+ RSEG CODE
+;-------------------------------------------------------------------------------
+;--- [1] Erase Routine Start ---------------------------------------------------
+PageErase
+StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Make sure watchdog timer is stopped
+
+;--- [3] Wait for Erase comand in -------------------------------------------------
+
+confMail MOV #JMBCLR0OFF+JMBCLR1OFF+JMBMODE,&SYSJMBC ; disable auto-clear feature, 16bit mode
+
+NotifyDriverStart
+ MOV #0xABAD,&SYSJMBO1
+ MOV #0xBABE,&SYSJMBO0
+
+Wcmd BIT #JMBIN1FG,&SYSJMBC ; Data available in mailbox?
+
+ JZ Wcmd ; No, wait for data
+ CMP.W #0xBEEF ,&SYSJMBI0 ; Is first word ofcomand correct?
+ JNE Wcmd ; if incorrect jmp to wait for comand
+ CMP.W #0xDEAD, &SYSJMBI1 ; Is second word if comand correct?
+ JNE Wcmd ; if incorrect jmp to wait for comand
+ ; else erase flash 0xDEAD
+;--- [4] Actual Erase Sequence -------------------------------------------------
+PreapareErase
+ MOVX.A MyEraseAddr,R10 ; The Address for the dummy write
+ MOVX.A MyEraseLen ,R11 ; The Address for the dummy write
+DoErase
+ MOV.W #0xFFFF,0(R10) ; Dummy erase Adress
+ INCDX.A R10 ; count up adress
+ DECDX.A R11 ; decrement length
+
+ CMP.W #0x0,R11 ; Is lengh equals zero
+ JNE DoErase ; No, continue
+
+;--- [6] Erase Routine End -----------------------------------------------------
+NotifyDriverStop
+ MOV #0xCAFE,&SYSJMBO1
+ MOV #0xBABE,&SYSJMBO0
+TheEnd
+#ifdef SUBROUTINE
+ RETA
+#else
+ JMP TheEnd
+#endif
+ END
diff --git a/Bios/src/funclets/FlashXv2/msp430x5xx_FlashWrite.s43 b/Bios/src/funclets/FlashXv2/msp430x5xx_FlashWrite.s43
index 01b671f..7581144 100644
--- a/Bios/src/funclets/FlashXv2/msp430x5xx_FlashWrite.s43
+++ b/Bios/src/funclets/FlashXv2/msp430x5xx_FlashWrite.s43
@@ -104,39 +104,39 @@ DoTask
MOVX.A MyWriteAddr,R10 ; The start address to write to
MOVX.A MyWriteSize,R11 ; the number of words to be written
-; MOV #FWKEY+WRT,&FCTL1 ; configure word-write access
-#ifdef SUBROUTINE
-W1 ; CMP.W @R12,0(R10) ; check if content is already there...
- ; JEQ Next ; ...next word if already there
- MOV #FWKEY+WRT,&FCTL1 ; configure word-write access
- MOVX.W @R12+,0(R10)
-Next
-#else
- MOV #JMBCLR0OFF+JMBCLR1OFF+JMBMODE,&SYSJMBC ; disable auto-clear feature, 16bit mode
+ MOV #JMBMODE,&SYSJMBC ; disable auto-clear feature, 16bit mode
-W1 BIT #JMBIN1FG,&SYSJMBC ; Data available in mailbox?
+W1 BIT #JMBIN0FG,&SYSJMBC ; Data available in mailbox?
JZ W1 ; No, wait for data
- ;----------Write two Words----------------------------------------;
-MOV #FWKEY+BLKWRT,&FCTL1 ; configure Long-Word Write access
+ ;----------Write two Words----------------------------------------;
- MOV.W &SYSJMBI0,0(R10) ; WRITE, move data into Flash
+L2 BIT #BUSY,&FCTL3
+ JNZ L2
+ MOV #FWKEY,&FCTL1 ; disable word-write access
+
+MOV #FWKEY+BLKWRT,&FCTL1 ; configure Long-Word Write access
+
+ MOV.W &SYSJMBI0,0(R10) ; WRITE, move data into Fl
INCDX.A R10 ; count up adress
- DECX.A R11 ; decrement length
+ DECX.A R11 ; decrement lengthash
+
+W2 BIT #JMBIN1FG,&SYSJMBC ; Data available in mailbox?
+ JZ W2
MOV.W &SYSJMBI1,0(R10) ; WRITE, move data into Flash
-Next BIC #JMBIN1FG,&SYSJMBC ; clear the mailbox input flag
- BIC #JMBIN0FG,&SYSJMBC ; clear the mailbox input flag
-#endif
-L2 BIT #BUSY,&FCTL3
- JNZ L2
- MOV #FWKEY,&FCTL1 ; disable word-write access
-
+;Next BIC #JMBIN1FG,&SYSJMBC ; clear the mailbox input flag
+; BIC #JMBIN0FG,&SYSJMBC ; clear the mailbox input flag
+
INCDX.A R10 ; count up adress
- DECX.A R11 ; decrement length
+ DECX.A R11 ; decrement length
- JNZ W1
+ JNZ W1
+
+L3 BIT #BUSY,&FCTL3
+ JNZ L3
+ MOV #FWKEY,&FCTL1 ; disable word-write access
;--- [4] Restore Context Section -----------------------------------------------
RestoreR10 MOVX.A MyR10,R10
diff --git a/Bios/src/funclets/FlashXv2/path.txt b/Bios/src/funclets/FlashXv2/path.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/Bios/src/funclets/eraseDco.s43 b/Bios/src/funclets/eraseDco.s43
index db8c71e..851c5e3 100644
--- a/Bios/src/funclets/eraseDco.s43
+++ b/Bios/src/funclets/eraseDco.s43
@@ -128,8 +128,6 @@ Loop
dec R11 ; Loop on erase cycles.
jnz Again
- mov.b #XT2OFF+RSEL2+RSEL1+RSEL0,&BCSCTL1 ;BCL12 Workaround
-
jmp Stop
;-------------------------------------------------------------------------------
; Program End
diff --git a/Bios/src/funclets/eraseDcoX.s43 b/Bios/src/funclets/eraseDcoX.s43
index 41828ca..d9d06f9 100644
--- a/Bios/src/funclets/eraseDcoX.s43
+++ b/Bios/src/funclets/eraseDcoX.s43
@@ -3,6 +3,7 @@
*
* Funclet which gets uploaded onto the target and erases the
* specified FLASH area
+ *
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
*
@@ -15,8 +16,7 @@
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materiFunclet which gets uploaded onto the target and erases the
-; specified FLASH areaals provided with the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
@@ -128,8 +128,6 @@ Loop
decd R11 ; Loop on erase cycles.
jnz Again
- mov.b #XT2OFF+RSEL2+RSEL1+RSEL0,&BCSCTL1 ;BCL12 Workaround
-
jmp Stop
;-------------------------------------------------------------------------------
diff --git a/Bios/src/funclets/writeDco.s43 b/Bios/src/funclets/writeDco.s43
index f825710..8d448fc 100644
--- a/Bios/src/funclets/writeDco.s43
+++ b/Bios/src/funclets/writeDco.s43
@@ -131,8 +131,6 @@ Next
dec R6 ;Decrement word counter.
jnz Prog ;Program Length words.
- mov.b #XT2OFF+RSEL2+RSEL1+RSEL0,&BCSCTL1 ;BCL12 Workaround
-
jmp Stop ; Jump to the end of the program (must be located at offset EEh)
;-------------------------------------------------------------------------------
; End
diff --git a/Bios/src/funclets/writeDcoX.s43 b/Bios/src/funclets/writeDcoX.s43
index 8ce7f9e..75d5b94 100644
--- a/Bios/src/funclets/writeDcoX.s43
+++ b/Bios/src/funclets/writeDcoX.s43
@@ -131,8 +131,6 @@ Next
dec R6 ;Decrement word counter.
jnz Prog ;Program Length words.
- mov.b #XT2OFF+RSEL2+RSEL1+RSEL0,&BCSCTL1 ;BCL12 Workaround
-
jmp Stop ; Jump to the end of the program (must be located at offset EEh)
;-------------------------------------------------------------------------------
diff --git a/Bios/src/fw/fet/EnergyTrace_TSPA/VCC_Current.c b/Bios/src/fw/fet/EnergyTrace_TSPA/VCC_Current.c
new file mode 100644
index 0000000..b048044
--- /dev/null
+++ b/Bios/src/fw/fet/EnergyTrace_TSPA/VCC_Current.c
@@ -0,0 +1,766 @@
+/*
+ * VCC_Current.c
+ *
+ * Copyright (c) 2007 - 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * All rights reserved not granted herein.
+ * Limited License.
+ *
+ * Texas Instruments Incorporated grants a world-wide, royalty-free,
+ * non-exclusive license under copyrights and patents it now or hereafter
+ * owns or controls to make, have made, use, import, offer to sell and sell ("Utilize")
+ * this software subject to the terms herein. With respect to the foregoing patent
+ * license, such license is granted solely to the extent that any such patent is necessary
+ * to Utilize the software alone. The patent license shall not apply to any combinations which
+ * include this software, other than combinations with devices manufactured by or for TI (“TI Devices”).
+ * No hardware patent is licensed hereunder.
+ *
+ * Redistributions must preserve existing copyright notices and reproduce this license (including the
+ * above copyright notice and the disclaimer and (if applicable) source code license limitations below)
+ * in the documentation and/or other materials provided with the distribution
+ *
+ * Redistribution and use in binary form, without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * * No reverse engineering, decompilation, or disassembly of this software is permitted with respect to any
+ * software provided in binary form.
+ * * any redistribution and use are licensed by TI for use only with TI Devices.
+ * * Nothing shall obligate TI to provide you with source code for the software licensed and provided to you in object code.
+ *
+ * If software source code is provided to you, modification and redistribution of the source code are permitted
+ * provided that the following conditions are met:
+ *
+ * * any redistribution and use of the source code, including any resulting derivative works, are licensed by
+ * TI for use only with TI Devices.
+ * * any redistribution and use of any object code compiled from the source code and any resulting derivative
+ * works, are licensed by TI for use only with TI Devices.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of its suppliers may be used to endorse or
+ * promote products derived from this software without specific prior written permission.
+ *
+ * DISCLAIMER.
+ *
+ * THIS SOFTWARE IS PROVIDED BY TI AND TI’S LICENSORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL TI AND TI’S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*----------------------------------------------------------------------------+
+| |
+| Texas Instruments
+| |
+| MSP430G2452 software controlled DCDC converter
+| |
++-----------------------------------------------------------------------------+
+| Source: VCC_Current.h, File Version 1.0 2012/07/12 |
+| Author: ANBR |
+| |
+| WHO WHEN WHAT |
+| --- ---------- ------------------------------------------------ |
+| ANBR 2012/07/12 born |
++-----------------------------------------------------------------------------+
+| Pin out table
++-----------------------------------------------------------------------------+
+ MSP-FET 0.9 & eZ-FET 0.92 hardware
+
+ Pin MSP430G2xxx Signal Note
+ 1 DVCC
+ 2 P1.0/CA0 A_VCC_OUT Target voltage feedback (divided by 2)
+ 3 P1.1 DCDC_CAL1 Calibration resistor 1
+ 4 P1.2/TA0.1 DCDC_PULSE FET driver output
+ 5 P1.3 DCDC_IO0 Status bit0 (output, 1=overcurrent detected)
+ 6 P1.4 DCDC_IO1 Status bit1 (input, 1=overcurrent shutdown enable)
+ 7 P1.5/CA5 A_VCC_REF Reference voltage (divided by 2)
+ 8 P1.6/SCL HOST_SCL I2C clock
+ 9 P1.7/SDA HOST_SDA I2C data
+ 10 RST DCDC_RST SBWTDIO i/o (external pull-up resistor)
+ 11 TEST DCDC_TEST SBWTCK in (pull-down in host MCU)
+ 12 P2.7 DCDC_CAL2 Calibration resistor 2
+ 13 P2.6 DCDC_CAL0 Calibration resistor 0
+ 14 DVSS
++-----------------------------------------------------------------------------+
+Version history
+
+Version 1: Initial release
+Version 2: Changed DCDC_CAL2 signal to output "1" on eZ-FET when inactive
+ (bug fix for P2.6 being 2.83V when it should be pulled to VCCOUT)
+Version 3: Added pwm on duty and overcurrent table
+ Removed SDIO interface, timer-based PWM, eZ-FET ALPHA2 initialisation
+ Changed variable names and function headers to meet coding guidelines
+Version 4: Modified drive strength and overcurrent table
+Version 5: Added overcurrent calibration when configuring output voltage
+ Balanced DCDC regulation loop paths
+Version 8: Reduced drive strength at 3600mV and increased regulation frequency
+ Overcurrent detection VCC=3.6V: VBUS=5V ~90mA, VBUS=4.5V ~60mA
+Version 9: Added highres PWM mode. Commented LOW_USB_FIX lines.
+ Moved command handler to main loop. Added overcurrent shutdown after 15msec.
+ Every ca. 300msec s/w tries to restart voltage regulation.
+Version 10: Changed overcurrent shutdown pin function to enable function.
+ Removed calibration for overcurrent detection. It will now trigger
+ at ca. 70mA (VUSB=4.5V) - 100mA (VUSB=5V) and will turn off voltage
+ regulation only if DCDC_IO1 input is high.
++----------------------------------------------------------------------------*/
+
+#include "msp430.h"
+
+// Software configuration
+#define USE_OVERCURRENT_PROTECTION
+#define OVERCURRENT_SHUTDOWN
+
+// Sanity checks
+#ifdef MSP_FET
+ #ifdef EZ_FET
+ #error "Wrong number of #defines"
+ #endif
+#endif
+
+#ifndef MSP_FET
+ #ifndef EZ_FET
+ #error "Wrong number of #defines"
+ #endif
+#endif
+
+// Software version (each version increments by 1)
+#if defined(EZ_FET_V14) || defined(MSP_FET_V12)
+ #define VERSION 17
+#endif
+
+#ifdef EZ_FET_V2X
+ #define VERSION 80
+#endif
+
+
+#ifdef MSP_FET_V2X
+ #define VERSION 52
+#endif
+
+
+// Host commands
+#define CMD_CONFIGURE 0x01
+#define CMD_SETPWM 0x02
+#define CMD_CALLOAD 0x03
+#define CMD_POWERDOWN 0x04
+
+// I2C communication
+#define I2C_SLAVE_ADDRESS 0x90
+#define I2C_PACKET_BYTES 3
+#define I2C_CMD_BYTE 0
+#define I2C_DATA_HI_BYTE 1
+#define I2C_DATA_LO_BYTE 2
+
+// Status output to Host MCU
+#define STATUS_OC_OFF { P1OUT &= ~BIT3; }
+#define STATUS_OC_ON { P1OUT |= BIT3; }
+#define OC_SHUTDOWN_ENABLE ((P1IN & BIT4)==0)
+
+// pwmPowerdown key
+#define POWERDOWN_KEY 0x5a5a
+
+// Constants
+const int fwVersion @0x1000 = VERSION;
+const char i2cSlaveAddress = 0x90; // Address is 0x90<<1 for R/W
+
+// Global variables
+__no_init unsigned int __regvar pwmTimerReg @ 4;
+#ifdef USE_OVERCURRENT_PROTECTION
+__no_init unsigned int __regvar pwmOffCount @ 5;
+//__no_init unsigned int pwmTimeOut;
+__no_init unsigned char pwmOcEvents;
+#define OVERCURRENT_TIMEOUT 1
+#define OVERCURRENT_EVENT_LIMIT 3
+#endif
+__no_init unsigned char i2cReceived[I2C_PACKET_BYTES];
+__no_init unsigned int i2cState; // State variable
+__no_init unsigned i2cRxIndex; // Pointer to i2cReceived[] while receiving
+__no_init int i2cCmd; // Received 8-bit command
+__no_init unsigned int i2cData; // Received 16-bit data
+
+// Startup voltages
+#define EZ_FET_VOLTAGE 3600
+#define MSP_FET_VOLTAGE 3000
+
+// Configuration settings, in 100mV steps
+// Format: pwm on duty, overcurrent limit
+#define PWM_ARRAY_VCC_MIN 1200
+#define PWM_ARRAY_VCC_MAX 3600
+
+#if defined(EZ_FET_V14) || defined(MSP_FET_V12)
+const unsigned char pwmConfigTable[] = { 3, 2, // 1200mV
+ 3, 2, // 1300mV
+ 3, 2, // 1400mV
+ 3, 2, // 1500mV
+ 4, 2, // 1600mV
+ 4, 2, // 1700mV
+ 5, 2, // 1800mV
+ 5, 2, // 1900mV
+ 5, 2, // 2000mV
+ 5, 2, // 2100mV
+ 5, 2, // 2200mV
+ 5, 2, // 2300mV
+ 6, 2, // 2400mV
+ 6, 3, // 2500mV
+ 6, 3, // 2600mV
+ 6, 3, // 2700mV
+ 7, 3, // 2800mV
+ 7, 3, // 2900mV
+ 7, 3, // 3000mV
+ 8, 3, // 3100mV
+ 8, 3, // 3200mV
+ 8, 3, // 3300mV
+ 8, 3, // 3400mV
+ 9, 3, // 3500mV
+ 9, 3 }; // 3600mV
+#endif
+
+
+#ifdef EZ_FET_V2X
+const unsigned char pwmConfigTable[] = { 3, 2, // 1200mV
+ 3, 2, // 1300mV
+ 3, 2, // 1400mV
+ 3, 2, // 1500mV
+ 4, 2, // 1600mV
+ 4, 2, // 1700mV
+ 5, 2, // 1800mV
+ 5, 2, // 1900mV
+ 5, 2, // 2000mV
+ 5, 2, // 2100mV
+ 5, 2, // 2200mV
+ 5, 2, // 2300mV
+ 6, 2, // 2400mV
+ 6, 3, // 2500mV
+ 6, 3, // 2600mV
+ 6, 3, // 2700mV
+ 7, 3, // 2800mV
+ 7, 3, // 2900mV
+ 7, 3, // 3000mV
+ 8, 3, // 3100mV
+ 9, 3, // 3200mV
+ 10, 3, // 3300mV
+ 11, 3, // 3400mV
+ 11, 3, // 3500mV
+ 11, 3 }; // 3600mV
+#endif
+
+#ifdef MSP_FET_V2X
+const unsigned char pwmConfigTable[] = { 3, 2, // 1200mV
+ 3, 2, // 1300mV
+ 3, 2, // 1400mV
+ 3, 2, // 1500mV
+ 4, 2, // 1600mV
+ 4, 2, // 1700mV
+ 6, 3, // 1800mV
+ 6, 3, // 1900mV
+ 6, 3, // 2000mV
+ 6, 3, // 2100mV
+ 7, 3, // 2200mV
+ 7, 3, // 2300mV
+ 7, 3, // 2400mV
+ 7, 3, // 2500mV
+ 7, 3, // 2600mV
+ 7, 3, // 2700mV
+ 8, 3, // 2800mV
+ 8, 3, // 2900mV
+ 8, 3, // 3000mV
+ 9, 3, // 3100mV
+ 9, 3, // 3200mV
+ 10, 3, // 3300mV
+ 11, 3, // 3400mV
+ 11, 3, // 3500mV
+ 11, 3 }; // 3600mV
+#endif
+
+// Function prototypes
+void calibrationSetLoad(int i2cData);
+
+/**
+* \brief pwmConfigure
+*
+* PWM regulation and overcurrent detection requires voltage-dependend
+* parameters.
+*
+* The pwmConfigure function accesses a configuration table
+* to set the voltage-dependent PWM on duty.
+*
+* The calibration resistor #0 is then used to finetune the overcurrent
+* detection threshold. Target power switch needs to be disconnected during
+* this calibration!
+*
+* @param int i2cData [IN] Output voltage in mV (1200 - 3600, 100mV steps)
+*
+* @return void
+*/
+int voltage;
+unsigned char highresMode;
+
+void pwmConfigure(int i2cData)
+{
+ unsigned int index = 0;
+ voltage = i2cData&0x7FFF; // Mask MSB
+ highresMode = ((i2cData>>8)>>8)&0x01; // Extract MSB
+
+ if ((voltage >= PWM_ARRAY_VCC_MIN) && (voltage <= PWM_ARRAY_VCC_MAX))
+ {
+ // Find PWM on duty in configuration table
+ index = voltage - PWM_ARRAY_VCC_MIN;
+ index = index / 100;
+ TA0CCR0 = pwmConfigTable[index*2 + highresMode] + 1;
+ }
+}
+
+/**
+* \brief pwmSetOnTime
+*
+* Manually override the PWM on duty setting done by
+* pwmConfigure()
+*
+* @param int i2cData [IN] 0 = PWM off, 1..10 = PWM on duty
+*
+* @return void
+*/
+void pwmSetOnTime(int i2cData)
+{
+ if (i2cData == 0)
+ {
+ pwmTimerReg = TACLR; // Turn off PWM
+ }
+ else if (i2cData < 10)
+ {
+ TA0CCR0 = i2cData;
+ pwmTimerReg = TASSEL_2 + MC_2 + TACLR; // using register is faster than accessing a Flash-stored value
+ }
+}
+
+
+/**
+* \brief calibrationSetLoad
+*
+* Connect one or more calibration resistors to the output voltage
+*
+* @param int i2cData [IN] 0 = disconnect all resistors
+* 1 = connect resistor #0
+* 2 = connect resistor #1
+* 4 = connect resistor #2
+*
+* @return void
+*/
+#ifdef EZ_FET
+void calibrationSetLoad(int i2cData)
+{
+ // eZ-FET: Set pin to output "0"
+ P1OUT &= ~BIT1;
+ P2OUT &= ~(BIT6+BIT7);
+
+ // Calibration resistor 0
+ if (i2cData & BIT0) { P2DIR |= BIT6; }
+ else { P2DIR &= ~BIT6; }
+
+ // Calibration resistor 1
+ if (i2cData & BIT1) { P1DIR |= BIT1; }
+ else { P1DIR &= ~BIT1; }
+
+ // Calibration resistor 2
+ if (i2cData & BIT2) { P2DIR |= BIT7; }
+ else { P2DIR &= ~BIT7; }
+}
+#endif
+#ifdef MSP_FET
+void calibrationSetLoad(int i2cData)
+{
+ // MSP-FET: Turn on calibration resistor switch
+ P1DIR |= BIT1;
+ P2DIR |= BIT6+BIT7;
+
+ // Calibration resistor 0
+ if (i2cData & BIT0) { P2OUT |= BIT6; }
+ else { P2OUT &= ~BIT6; }
+
+ // Calibration resistor 1
+ if (i2cData & BIT1) { P1OUT |= BIT1; }
+ else { P1OUT &= ~BIT1; }
+
+ // Calibration resistor 2
+ if (i2cData & BIT2) { P2OUT |= BIT7; }
+ else { P2OUT &= ~BIT7; }
+}
+#endif
+
+
+/**
+* \brief pwmPowerdown
+*
+* Go to LPM3 and wait there until I2C communication
+* resumes
+*
+* @param int i2cData [IN] Powerdown key
+*
+* @return void
+*/
+void pwmPowerdown(int i2cData)
+{
+ if (i2cData == POWERDOWN_KEY)
+ {
+ // To LPM - exit through next communication packet
+#ifdef USE_OVERCURRENT_PROTECTION
+ IE1 &= ~WDTIE;
+#endif
+ _BIS_SR(LPM3_bits+GIE);
+ __no_operation();
+#ifdef USE_OVERCURRENT_PROTECTION
+ IE1 |= WDTIE;
+#endif
+ }
+}
+
+
+/**
+* \brief commandHandler
+*
+* Evaluates command received through I2C
+*
+* @param int i2cData [IN] Data received through I2C
+*
+* @return void
+*/
+void commandHandler(int i2cData)
+{
+ switch(i2cCmd)
+ {
+ // pwmConfigure PWM
+ case CMD_CONFIGURE: pwmConfigure(i2cData);
+ break;
+ // Set PWM manually
+ case CMD_SETPWM: pwmSetOnTime(i2cData);
+ break;
+ // Enable calibration loads
+ case CMD_CALLOAD: calibrationSetLoad(i2cData);
+ break;
+ // Powerdown device
+ case CMD_POWERDOWN: pwmPowerdown(i2cData);
+ break;
+ }
+ // Void command
+ i2cCmd = -1;
+}
+
+
+/**
+* \brief main
+*
+* Initialises system, sets initial PWM parameters
+* starts voltage regulation
+*
+* @param none
+*
+* @return none
+*/
+int main( void )
+{
+ // Stop watchdog timer to prevent time out reset
+ WDTCTL = WDTPW + WDTHOLD;
+
+#if defined MSP_FET
+ // Hardware initialisation
+
+ // PORT1
+ // P1.0 = A_VCC_OUT
+ // P1.1 = DCDC_CAL1
+ // P1.2 = DCDC_PULSE
+ // P1.3 = DCDC_IO0
+ // P1.4 = DCDC_IO1
+ // P1.5 = A_VCCPOD
+ // P1.6 = HOST_SCL
+ // P1.7 = HOST_SDA
+ P1SEL |= BIT2; // DCDC_PULSE = TA0.1 output
+ P1OUT &= ~(BIT1+BIT3); // DCDC_CAL0, DCDC_IO0 are "0"
+ P1DIR = BIT1+BIT2+BIT3; // DCDC_PULSE, DCDC_IO0 are output
+
+ // PORT2
+ // P2.6 = DCDC_CAL1
+ // P2.7 = DCDC_CAL2
+ P2SEL &= ~(BIT6+BIT7); // XT1 pins to GPIO functionality
+ P2SEL2 &= ~(BIT6+BIT7);
+ P2OUT = 0;
+ P2DIR = BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7;
+#endif
+#ifdef EZ_FET
+ // Hardware initialisation
+
+ // PORT1
+ // P1.0 = A_VCC_OUT
+ // P1.1 = DCDC_CAL1
+ // P1.2 = DCDC_PULSE
+ // P1.3 = DCDC_IO0
+ // P1.4 = DCDC_IO1
+ // P1.5 = A_VCCPOD
+ // P1.6 = HOST_SCL
+ // P1.7 = HOST_SDA
+ P1SEL |= BIT2; // DCDC_PULSE = TA0.1 output
+ P1OUT &= ~(BIT1+BIT3); // DCDC_CAL0, DCDC_IO0 are "0"
+ P1DIR = BIT2+BIT3; // DCDC_PULSE, DCDC_IO0, DCDC_IO1 are output
+ P1REN = 0;
+
+ // PORT2
+ // P2.6 = DCDC_CAL1
+ // P2.7 = DCDC_CAL2
+ P2SEL &= ~(BIT6+BIT7); // XT1 pins to GPIO functionality
+ P2SEL2 &= ~(BIT6+BIT7);
+ P2OUT &= ~(BIT6+BIT7); // DCDC_CAL0, DCDC_CAL1 are "0"
+ P2REN = 0;
+ P2DIR = BIT0+BIT1+BIT2+BIT3+BIT4+BIT5;
+#endif
+
+ // P1.0 & P1.5 = comparator inputs for regulation loop
+ CAPD = CAPD0 + CAPD5;
+ CACTL2 = P2CA0 + P2CA3 + P2CA1;
+ CACTL1 = CAON;
+
+ // Set DCO to 16MHz
+ DCOCTL = CALDCO_16MHZ;
+ BCSCTL1 = CALBC1_16MHZ;
+
+ // Setup timer (set at TA0CCR1, clear at TA0CCR0)
+ TA0CCTL1 = OUTMOD_3;
+ TA0CCR0 = 8;
+ TA0CCR1 = 2;
+ pwmTimerReg = TASSEL_2 + MC_2 + TACLR; // using register is faster than accessing a Flash-stored value
+
+#ifdef USE_OVERCURRENT_PROTECTION
+ // Start Watchdog timer to periodically check off count
+ // Watchdog timer runs off VLOCLK (12kHz), results in an ISR every 5.3msec
+ pwmOffCount = 0;
+ BCSCTL3 |= LFXT1S_2;
+ WDTCTL = WDTPW + WDTNMI + WDTTMSEL + WDTCNTCL + WDTSSEL + WDTIS1 + WDTIS0;
+ IE1 |= WDTIE;
+#endif
+
+#ifdef OVERCURRENT_SHUTDOWN
+ pwmOcEvents = 0;
+#endif
+
+ // Enable I2C interface
+ i2cCmd = -1;
+ i2cState = 0;
+ i2cRxIndex = 0;
+ USICTL0 = USIPE6+USIPE7+USISWRST; // Port & USI mode setup
+ USICTL1 = USII2C+USIIE+USISTTIE; // Enable I2C mode & USI interrupts
+ USICKCTL = USIDIV_7+USISSEL_3+USICKPL;// SMCLK/128, inactive state is high
+ USICNT |= USIIFGCC; // Disable automatic clear control
+ USICTL0 &= ~USISWRST; // Enable USI
+ USICTL1 &= ~USIIFG; // Clear pending flag
+ _EINT();
+
+#ifdef EZ_FET
+ // pwmConfigure PWM for 3.6V
+ pwmConfigure(EZ_FET_VOLTAGE);
+#endif
+#ifdef MSP_FET
+ // pwmConfigure PWM for 3.0V
+ pwmConfigure(MSP_FET_VOLTAGE);
+#endif
+
+ while(1)
+ {
+ // Main regulation loop - 12 cycles = 750nsec @ 16MHz (1.31MHz)
+ if ((CACTL2&CAOUT)==0)
+ {
+ // VCC_OUT too low? Trigger "one-shot" charge pulse
+ // 3.6V high=410nsec=7cycles, low=350nsec=5cycles
+ TA0CTL = pwmTimerReg;
+ _NOP();
+ }
+ else
+ {
+ // VCC_OUT too high? Skip pulse!
+ TA0CTL = TACLR;
+ // Increase PWM off counter - used for overcurrent detection
+ #ifdef USE_OVERCURRENT_PROTECTION
+ pwmOffCount++;
+ #endif
+ }
+
+#define CMD_HANDLER
+#ifdef CMD_HANDLER
+ if (i2cCmd != -1)
+ {
+ commandHandler(i2cData);
+ }
+#endif
+ }
+}
+
+
+/**
+* \brief wdtIsr
+*
+* Interrupt service routine for watchdog timer
+* Checks every 5.3msec if the pwmOffCount is below a
+* voltage dependent threshold. If TRUE, then the output
+* current is too high, and the overcurrent detection signal
+* is asserted
+*
+* @param none
+*
+* @return void
+*/
+#ifdef USE_OVERCURRENT_PROTECTION
+#pragma vector=WDT_VECTOR
+__interrupt void wdtIsr(void)
+{
+ if (OC_SHUTDOWN_ENABLE)
+ {
+ // No off phases anymore? Then we have overcurrent!
+ if (pwmOffCount == 0) //pwmTimeOut)
+ {
+ if (++pwmOcEvents > OVERCURRENT_EVENT_LIMIT)
+ {
+ // Assert overcurrent detection
+ STATUS_OC_ON;
+ // Wait for overcurrent condition to heal
+ __delay_cycles(5000000);
+ pwmOcEvents = 0;
+ }
+ }
+ else
+ {
+ // Deassert overcurrent detection
+ STATUS_OC_OFF;
+ pwmOcEvents = 0;
+ }
+ }
+
+ // Reset counter
+ pwmOffCount = 0;
+}
+#endif
+
+
+
+
+/**
+* \brief usiTxrxIsr
+*
+* Interrupt service routine for I2C communication
+*
+* All I2C packets to the DCDC MCU are 4 x 8bit long
+* 1: slave address
+* 2: command
+* 3: dataH
+* 4: dataL
+*
+* When reading from the DCDC MCU, it returns 2 x 8bit
+* 1: software fwVersion H
+* 2: software fwVersion L
+*
+* @param none
+*
+* @return void
+*/
+#pragma vector = USI_VECTOR
+__interrupt void usiTxrxIsr (void)
+{
+ // Start entry?
+ if (USICTL1 & USISTTIFG)
+ {
+ i2cState = 2; // Enter 1st state on start
+ i2cRxIndex = 0;
+ }
+
+ switch(i2cState)
+ {
+ case 0: // Idle, should not get here
+ break;
+
+ case 2: // RX Address
+ USICNT = (USICNT & 0xE0) + 0x08; // Bit counter = 8, RX address
+ USICTL1 &= ~USISTTIFG; // Clear start flag
+ i2cState = 4; // Go to next state: check address
+ break;
+
+ case 4: // Process Address and send (N)Ack
+ USICTL0 |= USIOE; // SDA = output
+ if ((USISRL&0xFE) == i2cSlaveAddress) // Address match?
+ {
+ if (USISRL & 0x01) i2cState = 18; // Go to next state: TX data
+ else i2cState = 8; // Go to next state: RX data
+ USISRL = 0x00; // Send Ack
+ }
+ else
+ {
+ USISRL = 0xFF; // Send NAck
+ i2cState = 6; // Go to next state: prep for next Start
+ }
+ USICNT |= 0x01; // Bit counter = 1, send (N)Ack bit
+ break;
+
+ case 6: // Prep for Start condition
+ USICTL0 &= ~USIOE; // SDA = input
+ i2cState = 0; // Reset state machine
+ break;
+
+ case 8: // Receive data byte
+ USICTL0 &= ~USIOE; // SDA = input
+ USICNT |= 0x08; // Bit counter = 8, RX data
+ i2cState = 10; // Go to next state: Test data and (N)Ack
+ break;
+
+ case 10:// Check Data & TX (N)Ack
+ USICTL0 |= USIOE; // SDA = output
+ if (i2cRxIndex < I2C_PACKET_BYTES)
+ {
+ i2cReceived[i2cRxIndex++] = USISRL;
+ }
+ USISRL = 0x00; // Send Ack
+ if (i2cRxIndex >= I2C_PACKET_BYTES)
+ {
+ // Evaluate command
+ i2cCmd = i2cReceived[I2C_CMD_BYTE];
+ i2cData = ((unsigned int)i2cReceived[I2C_DATA_HI_BYTE])<<8;
+ i2cData += i2cReceived[I2C_DATA_LO_BYTE];
+ i2cState = 6; // Go to next state: prep for next Start
+ i2cRxIndex = 0;
+ }
+ else
+ {
+ i2cState = 8; // Receive next byte
+ }
+ USICNT |= 0x01; // Bit counter = 1, send (N)Ack bit
+ break;
+
+ case 18: // Send Version high byte
+ USICTL0 |= USIOE; // SDA = output
+ USISRL = fwVersion>>8; // Send data byte
+ USICNT |= 0x08; // Bit counter = 8, TX data
+ i2cState = 20; // Go to next state: receive (N)Ack
+ break;
+
+ case 20:// Receive Data (N)Ack
+ USICTL0 &= ~USIOE; // SDA = input
+ USICNT |= 0x01; // Bit counter = 1, receive (N)Ack
+ i2cState = 22; // Go to next state: check (N)Ack
+ break;
+
+ case 22:// Process Data Ack/NAck
+ // Prep for Start condition
+ if(USISRL & 0X01)
+ {
+ USICTL0 &= ~USIOE; // SDA = input
+ i2cState = 0; // Reset state machine
+ }
+ else // Send NextByte
+ {
+ // Send Version low byte
+ USICTL0 |= USIOE; // SDA = output
+ USISRL = fwVersion&0XFF; // Send data byte
+ USICNT |= 0x08; // Bit counter = 8, TX data
+ i2cState = 20; // Go to next state: receive (N)Ack
+ }
+ break;
+ }
+
+ USICTL1 &= ~USIIFG; // Clear pending flags
+ LPM3_EXIT; // Clear LPM3 request
+}
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_FLASH.c b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_FLASH.c
new file mode 100644
index 0000000..b769ebd
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_FLASH.c
@@ -0,0 +1,152 @@
+/*******************************************************************************
+ *
+ * HAL_FLASH.c
+ * Flash Library for flash memory controller of MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 01/18/2011
+ *
+ ******************************************************************************/
+
+#include "msp430.h"
+#include "HAL_FLASH.h"
+
+void Flash_SegmentErase(unsigned short *Flash_ptr)
+{
+ FCTL3 = FWKEY; // Clear Lock bit
+ FCTL1 = FWKEY + ERASE; // Set Erase bit
+ *Flash_ptr = 0; // Dummy write to erase Flash seg
+ while (FCTL3 & BUSY); // test busy
+ FCTL1 = FWKEY; // Clear WRT bit
+ FCTL3 = FWKEY + LOCK; // Set LOCK bit
+}
+
+uint8_t Flash_EraseCheck(unsigned char *Flash_ptr, unsigned long len)
+{
+ unsigned long i;
+ // wordwise erasecheck
+ for (i = 0; i < len; i++)
+ { // was erasing successfull?
+ if ((*(Flash_ptr + i) != 0xFF))
+ {
+ return FLASH_STATUS_ERROR;
+ }
+ }
+ return FLASH_STATUS_OK;
+}
+
+void FlashWrite_8(uint8_t *Data_ptr, uint8_t *Flash_ptr, uint16_t count)
+{
+ FCTL3 = FWKEY; // Clear Lock bit
+ FCTL1 = FWKEY+WRT; // Enable byte/word write mode
+
+ while (count > 0) {
+ while (FCTL3 & BUSY); // test busy
+ *Flash_ptr++ = *Data_ptr++; // Write to Flash
+ count--;
+ }
+
+ FCTL1 = FWKEY; // Clear write bit
+ FCTL3 = FWKEY + LOCK; // Set LOCK bit
+}
+
+void FlashWrite_16(unsigned short *Data_ptr, unsigned short *Flash_ptr, unsigned long count)
+{
+ FCTL3 = FWKEY; // Clear Lock bit
+ FCTL1 = FWKEY+WRT; // Enable byte/word write mode
+
+ while (count > 0) {
+ while (FCTL3 & BUSY); // test busy
+ *Flash_ptr++ = *Data_ptr++; // Write to Flash
+ count--;
+ }
+
+ FCTL1 = FWKEY; // Clear Erase bit
+ FCTL3 = FWKEY + LOCK; // Set LOCK bit
+}
+
+void FlashWrite_32(unsigned long *Data_ptr, unsigned long *Flash_ptr, unsigned long count)
+{
+ FCTL3 = FWKEY; // Clear Lock bit
+ FCTL1 = FWKEY + BLKWRT; // Enable long-word write
+
+ while (count > 0) {
+ while (FCTL3 & BUSY); // test busy
+ *Flash_ptr++ = *Data_ptr++; // Write to Flash
+ count--;
+ }
+
+ FCTL1 = FWKEY; // Clear Erase bit
+ FCTL3 = FWKEY + LOCK; // Set LOCK bit
+}
+
+void FlashMemoryFill_32(uint32_t value, uint32_t *Flash_ptr, uint16_t count)
+{
+ FCTL3 = FWKEY; // Clear Lock bit
+ FCTL1 = FWKEY + BLKWRT; // Enable long-word write
+
+ while (count > 0) {
+ while (FCTL3 & BUSY); // test busy
+ *Flash_ptr++ = value; // Write to Flash
+ count--;
+ }
+
+ FCTL1 = FWKEY; // Clear Erase bit
+ FCTL3 = FWKEY + LOCK; // Set LOCK bit
+}
+
+void UnlockInfoA()
+{
+ //Clear LOCKINFO, if set
+ FCTL4 = FWPW;
+ // egmentA is locked
+ if((FCTL3 & LOCKA))
+ {
+ FCTL3 = FWPW+LOCKA; // Unlock info a
+ }
+}
+
+void LockInfoA()
+{
+ //if egment A not Locked
+ if((FCTL3 & LOCKA))
+ {
+ FCTL3 = FWPW+LOCKA;
+ }
+ else
+ {
+ FCTL4 = FWPW+LOCKINFO;
+ }
+}
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_FLASH.h b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_FLASH.h
new file mode 100644
index 0000000..63bc2d3
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_FLASH.h
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ *
+ * HAL_FLASH.h
+ * Flash Library for flash memory controller of MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 01/18/2011
+ *
+ ******************************************************************************/
+
+#ifndef HAL_FLASH_H
+#define HAL_FLASH_H
+
+#include
+
+//******************************************************************************
+// Defines
+//******************************************************************************
+
+#define FLASH_STATUS_OK 0
+#define FLASH_STATUS_ERROR 1
+
+/*******************************************************************************
+ * \brief Erase a single segment of the flash memory
+ *
+ * \param *Flash_ptr Pointer into the flash segment to erase
+ ******************************************************************************/
+extern void Flash_SegmentErase(unsigned short *Flash_ptr);
+
+/*******************************************************************************
+ * \brief Erase Check of the flash memory
+ *
+ * \param *Flash_ptr Pointer into the flash segment to erase
+ * \param len give the len in word
+ ******************************************************************************/
+extern uint8_t Flash_EraseCheck(unsigned char *Flash_ptr, unsigned long len);
+
+/*******************************************************************************
+ * \brief Write data into the flash memory (Byte format)
+ *
+ * \param *Data_ptr Pointer to the Data to write
+ * \param *Flash_ptr Pointer into the flash to write data to
+ * \param count number of data to write
+ ******************************************************************************/
+extern void FlashWrite_8(uint8_t *Data_ptr, uint8_t *Flash_ptr, uint16_t count);
+
+/*******************************************************************************
+ * \brief Write data into the flash memory (Word format)
+ *
+ * \param *Data_ptr Pointer to the Data to write
+ * \param *Flash_ptr Pointer into the flash to write data to
+ * \param count number of data to write
+ ******************************************************************************/
+extern void FlashWrite_16(unsigned short *Data_ptr, unsigned short *Flash_ptr, unsigned long count);
+
+/*******************************************************************************
+ * \brief Write data into the flash memory (Long format)
+ *
+ * \param *Data_ptr Pointer to the Data to write
+ * \param *Flash_ptr Pointer into the flash to write data to
+ * \param count number of data to write
+ ******************************************************************************/
+extern void FlashWrite_32(unsigned long *Data_ptr, unsigned long *Flash_ptr, unsigned long count);
+
+/*******************************************************************************
+ * \brief Fill data into the flash memory (Long format)
+ *
+ * \param value Pointer to the Data to write
+ * \param *Flash_ptr pointer into the flash to write data to
+ * \param count number of data to write (= byte * 4)
+ ******************************************************************************/
+extern void FlashMemoryFill_32(uint32_t value, uint32_t *Flash_ptr, uint16_t count);
+
+extern void LockInfoA();
+extern void UnlockInfoA();
+
+#endif /* HAL_FLASH_H */
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_MACROS.h b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_MACROS.h
new file mode 100644
index 0000000..ddf06b5
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_MACROS.h
@@ -0,0 +1,51 @@
+/* ****************************************************************************
+ *
+ * HAL_MACROS.h
+ * Flash Library for flash memory controller of MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ *
+******************************************************************************/
+
+#ifndef HAL_MACROS_H
+#define HAL_MACROS_H
+
+/*
+ * This macro is for use by other macros to form a fully valid C statement.
+ */
+#define st(x) do { x } while (__LINE__ == -1)
+
+#endif /* HAL_MACROS_H */
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMAP.c b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMAP.c
new file mode 100644
index 0000000..5a8d63a
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMAP.c
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ *
+ * HAL_PMAP.c
+ * Port Mapper Library for PMAP controller of MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ *
+ ******************************************************************************/
+
+#include "msp430.h"
+#include "HAL_PMAP.h"
+#include "hw_compiler_specific.h"
+
+// Check and define PMAP function only if the device has port mapping capability
+// Note: This macro is defined in the device-specific header file if this
+// feature is available on a given MSP430.
+#ifdef __MSP430_HAS_PORT_MAPPING__
+
+void configure_ports(const uint8_t *port_mapping, uint8_t *PxMAPy,
+ uint8_t num_of_ports, uint8_t port_map_reconfig)
+{
+ uint16_t i;
+
+ // Store current interrupt state, then disable all interrupts
+ uint16_t globalInterruptState = __get_SR_register() & GIE;
+ _DINT_FET();
+
+ // Get write-access to port mapping registers:
+ PMAPPWD = PMAPPW;
+
+ if (port_map_reconfig) {
+ // Allow reconfiguration during runtime:
+ PMAPCTL = PMAPRECFG;
+ }
+
+ // Configure Port Mapping:
+ for (i = 0; i < num_of_ports * 8; i++) {
+ PxMAPy[i] = port_mapping[i];
+ }
+
+ // Disable write-access to port mapping registers:
+ PMAPPWD = 0;
+
+ // Restore previous interrupt state
+ __bis_SR_register(globalInterruptState);
+}
+
+#endif /* __MSP430_HAS_PORT_MAPPING__ */
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMAP.h b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMAP.h
new file mode 100644
index 0000000..a6f479f
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMAP.h
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ *
+ * HAL_PMAP.h
+ * Port Mapper Library for PMAP controller of MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ *
+ ******************************************************************************/
+
+#ifndef HAL_PMAP_H
+#define HAL_PMAP_H
+
+#include
+
+/*******************************************************************************
+ * \brief Configures the MSP430 Port Mapper
+ *
+ * \param *port_mapping Pointer to init Data
+ * \param PxMAPy Pointer start of first Port Mapper to initialize
+ * \param num_of_ports Number of Ports to initialize
+ * \param port_map_reconfig Flag to enable/disable reconfiguration
+ *
+ ******************************************************************************/
+extern void configure_ports(const uint8_t *port_mapping, uint8_t *PxMAPy,
+ uint8_t num_of_ports, uint8_t port_map_reconfig);
+
+#endif /* HAL_PMAP_H */
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMM.c b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMM.c
new file mode 100644
index 0000000..d6ab880
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMM.c
@@ -0,0 +1,273 @@
+/*******************************************************************************
+ *
+ * HAL_PMM.c
+ * Power Management Module Library for MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ * Modified SetVcoreUp() and SetVcoreDown() functions
+ *
+ ******************************************************************************/
+
+#include "msp430.h"
+#include "HAL_PMM.h"
+
+#define _HAL_PMM_DISABLE_SVML_
+#define _HAL_PMM_DISABLE_SVSL_
+#define _HAL_PMM_DISABLE_FULL_PERFORMANCE_
+
+#ifdef _HAL_PMM_DISABLE_SVML_
+#define _HAL_PMM_SVMLE SVMLE
+#else
+#define _HAL_PMM_SVMLE 0
+#endif
+
+#ifdef _HAL_PMM_DISABLE_SVSL_
+#define _HAL_PMM_SVSLE SVSLE
+#else
+#define _HAL_PMM_SVSLE 0
+#endif
+
+#ifdef _HAL_PMM_DISABLE_FULL_PERFORMANCE_
+#define _HAL_PMM_SVSFP SVSLFP
+#define _HAL_PMM_SVMFP SVMLFP
+#else
+#define _HAL_PMM_SVSFP 0
+#define _HAL_PMM_SVMFP 0
+#endif
+
+/*******************************************************************************
+ * \brief Increase Vcore by one level
+ *
+ * \param level Level to which Vcore needs to be increased
+ * \return status Success/failure
+ ******************************************************************************/
+static uint16_t SetVCoreUp(uint8_t level)
+{
+ uint16_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;
+
+ // The code flow for increasing the Vcore has been altered to work around
+ // the erratum FLASH37.
+ // Please refer to the Errata sheet to know if a specific device is affected
+ // DO NOT ALTER THIS FUNCTION
+
+ // Open PMM registers for write access
+ PMMCTL0_H = 0xA5;
+
+ // Disable dedicated Interrupts
+ // Backup all registers
+ PMMRIE_backup = PMMRIE;
+ PMMRIE &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE | SVSLPE | SVMHVLRIE |
+ SVMHIE | SVSMHDLYIE | SVMLVLRIE | SVMLIE | SVSMLDLYIE );
+ SVSMHCTL_backup = SVSMHCTL;
+ SVSMLCTL_backup = SVSMLCTL;
+
+ // Clear flags
+ PMMIFG = 0;
+
+ // Set SVM highside to new level and check if a VCore increase is possible
+ SVSMHCTL = SVMHE | SVSHE | (SVSMHRRL0 * level);
+
+ // Wait until SVM highside is settled
+ while ((PMMIFG & SVSMHDLYIFG) == 0);
+
+ // Clear flag
+ PMMIFG &= ~SVSMHDLYIFG;
+
+ // Check if a VCore increase is possible
+ if ((PMMIFG & SVMHIFG) == SVMHIFG) { // -> Vcc is too low for a Vcore increase
+ // recover the previous settings
+ PMMIFG &= ~SVSMHDLYIFG;
+ SVSMHCTL = SVSMHCTL_backup;
+
+ // Wait until SVM highside is settled
+ while ((PMMIFG & SVSMHDLYIFG) == 0);
+
+ // Clear all Flags
+ PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);
+
+ PMMRIE = PMMRIE_backup; // Restore PMM interrupt enable register
+ PMMCTL0_H = 0x00; // Lock PMM registers for write access
+ return PMM_STATUS_ERROR; // return: voltage not set
+ }
+
+ // Set also SVS highside to new level
+ // Vcc is high enough for a Vcore increase
+ SVSMHCTL |= (SVSHRVL0 * level);
+
+ // Wait until SVM highside is settled
+ while ((PMMIFG & SVSMHDLYIFG) == 0);
+
+ // Clear flag
+ PMMIFG &= ~SVSMHDLYIFG;
+
+ // Set VCore to new level
+ PMMCTL0_L = PMMCOREV0 * level;
+
+ // Set SVM, SVS low side to new level
+ SVSMLCTL = SVMLE | (SVSMLRRL0 * level) | SVSLE | (SVSLRVL0 * level);
+
+ // Wait until SVM, SVS low side is settled
+ while ((PMMIFG & SVSMLDLYIFG) == 0);
+
+ // Clear flag
+ PMMIFG &= ~SVSMLDLYIFG;
+ // SVS, SVM core and high side are now set to protect for the new core level
+
+ // Restore Low side settings
+ // Clear all other bits _except_ level settings
+ SVSMLCTL &= (SVSLRVL0+SVSLRVL1+SVSMLRRL0+SVSMLRRL1+SVSMLRRL2);
+
+ // Clear level settings in the backup register,keep all other bits
+ SVSMLCTL_backup &= ~(SVSLRVL0+SVSLRVL1+SVSMLRRL0+SVSMLRRL1+SVSMLRRL2);
+
+ // Restore low-side SVS monitor settings
+ SVSMLCTL |= SVSMLCTL_backup;
+
+ // Restore High side settings
+ // Clear all other bits except level settings
+ SVSMHCTL &= (SVSHRVL0+SVSHRVL1+SVSMHRRL0+SVSMHRRL1+SVSMHRRL2);
+
+ // Clear level settings in the backup register,keep all other bits
+ SVSMHCTL_backup &= ~(SVSHRVL0+SVSHRVL1+SVSMHRRL0+SVSMHRRL1+SVSMHRRL2);
+
+ // Restore backup
+ SVSMHCTL |= SVSMHCTL_backup;
+
+ // Wait until high side, low side settled
+ while (((PMMIFG & SVSMLDLYIFG) == 0) && ((PMMIFG & SVSMHDLYIFG) == 0));
+
+ // Clear all Flags
+ PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);
+
+ PMMRIE = PMMRIE_backup; // Restore PMM interrupt enable register
+ PMMCTL0_H = 0x00; // Lock PMM registers for write access
+
+ return PMM_STATUS_OK;
+}
+
+/*******************************************************************************
+ * \brief Decrease Vcore by one level
+ *
+ * \param level Level to which Vcore needs to be decreased
+ * \return status Success/failure
+ ******************************************************************************/
+static uint16_t SetVCoreDown(uint8_t level)
+{
+ uint16_t PMMRIE_backup, SVSMHCTL_backup, SVSMLCTL_backup;
+
+ // The code flow for decreasing the Vcore has been altered to work around
+ // the erratum FLASH37.
+ // Please refer to the Errata sheet to know if a specific device is affected
+ // DO NOT ALTER THIS FUNCTION
+
+ // Open PMM registers for write access
+ PMMCTL0_H = 0xA5;
+
+ // Disable dedicated Interrupts
+ // Backup all registers
+ PMMRIE_backup = PMMRIE;
+ PMMRIE &= ~(SVMHVLRPE | SVSHPE | SVMLVLRPE | SVSLPE | SVMHVLRIE |
+ SVMHIE | SVSMHDLYIE | SVMLVLRIE | SVMLIE | SVSMLDLYIE );
+ SVSMHCTL_backup = SVSMHCTL;
+ SVSMLCTL_backup = SVSMLCTL;
+
+ // Clear flags
+ PMMIFG &= ~(SVMHIFG | SVSMHDLYIFG | SVMLIFG | SVSMLDLYIFG);
+
+ // Set SVM, SVS high & low side to new settings in normal mode
+ SVSMHCTL = SVMHE | (SVSMHRRL0 * level) | SVSHE | (SVSHRVL0 * level);
+ SVSMLCTL = SVMLE | (SVSMLRRL0 * level) | SVSLE | (SVSLRVL0 * level);
+
+ // Wait until SVM high side and SVM low side is settled
+ while ((PMMIFG & SVSMHDLYIFG) == 0 || (PMMIFG & SVSMLDLYIFG) == 0);
+
+ // Clear flags
+ PMMIFG &= ~(SVSMHDLYIFG + SVSMLDLYIFG);
+ // SVS, SVM core and high side are now set to protect for the new core level
+
+ // Set VCore to new level
+ PMMCTL0_L = PMMCOREV0 * level;
+
+ // Restore Low side settings
+ // Clear all other bits _except_ level settings
+ SVSMLCTL &= (SVSLRVL0+SVSLRVL1+SVSMLRRL0+SVSMLRRL1+SVSMLRRL2);
+
+ // Clear level settings in the backup register,keep all other bits
+ SVSMLCTL_backup &= ~(SVSLRVL0+SVSLRVL1+SVSMLRRL0+SVSMLRRL1+SVSMLRRL2);
+
+ // Restore low-side SVS monitor settings
+ SVSMLCTL |= SVSMLCTL_backup;
+
+ // Restore High side settings
+ // Clear all other bits except level settings
+ SVSMHCTL &= (SVSHRVL0+SVSHRVL1+SVSMHRRL0+SVSMHRRL1+SVSMHRRL2);
+
+ // Clear level settings in the backup register, keep all other bits
+ SVSMHCTL_backup &= ~(SVSHRVL0+SVSHRVL1+SVSMHRRL0+SVSMHRRL1+SVSMHRRL2);
+
+ // Restore backup
+ SVSMHCTL |= SVSMHCTL_backup;
+
+ // Wait until high side, low side settled
+ while (((PMMIFG & SVSMLDLYIFG) == 0) && ((PMMIFG & SVSMHDLYIFG) == 0));
+
+ // Clear all Flags
+ PMMIFG &= ~(SVMHVLRIFG | SVMHIFG | SVSMHDLYIFG | SVMLVLRIFG | SVMLIFG | SVSMLDLYIFG);
+
+ PMMRIE = PMMRIE_backup; // Restore PMM interrupt enable register
+ PMMCTL0_H = 0x00; // Lock PMM registers for write access
+ return PMM_STATUS_OK; // Return: OK
+}
+
+uint16_t SetVCore(uint8_t level)
+{
+ uint16_t actlevel;
+ uint16_t status = 0;
+
+ level &= PMMCOREV_3; // Set Mask for Max. level
+ actlevel = (PMMCTL0 & PMMCOREV_3); // Get actual VCore
+ // step by step increase or decrease
+ while (((level != actlevel) && (status == 0)) || (level < actlevel)) {
+ if (level > actlevel) {
+ status = SetVCoreUp(++actlevel);
+ }
+ else {
+ status = SetVCoreDown(--actlevel);
+ }
+ }
+
+ return status;
+}
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMM.h b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMM.h
new file mode 100644
index 0000000..fd1b01d
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_PMM.h
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ *
+ * HAL_PMM.h
+ * Power Management Module Library for MSP430F5xx/6xx family
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ *
+ ******************************************************************************/
+
+#ifndef HAL_PMM_H
+#define HAL_PMM_H
+
+#include
+#include "HAL_MACROS.h"
+
+/*******************************************************************************
+ * Macros
+ ******************************************************************************/
+#define ENABLE_SVSL() st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVSL() st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~SVSLE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVML() st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVMLE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVML() st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~SVMLE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVSH() st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVSH() st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~SVSHE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVMH() st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVMHE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVMH() st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~SVMHE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVSL_SVML() st(PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLE + SVMLE); PMMCTL0_H = 0x00;)
+#define DISABLE_SVSL_SVML() st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~(SVSLE + SVMLE); PMMCTL0_H = 0x00;)
+#define ENABLE_SVSH_SVMH() st(PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHE + SVMHE); PMMCTL0_H = 0x00;)
+#define DISABLE_SVSH_SVMH() st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~(SVSHE + SVMHE); PMMCTL0_H = 0x00;)
+
+#define ENABLE_SVSL_RESET() st(PMMCTL0_H = 0xA5; PMMRIE |= SVSLPE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVSL_RESET() st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVSLPE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVML_INTERRUPT() st(PMMCTL0_H = 0xA5; PMMRIE |= SVMLIE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVML_INTERRUPT() st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVMLIE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVSH_RESET() st(PMMCTL0_H = 0xA5; PMMRIE |= SVSHPE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVSH_RESET() st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVSHPE; PMMCTL0_H = 0x00;)
+#define ENABLE_SVMH_INTERRUPT() st(PMMCTL0_H = 0xA5; PMMRIE |= SVMHIE; PMMCTL0_H = 0x00;)
+#define DISABLE_SVMH_INTERRUPT() st(PMMCTL0_H = 0xA5; PMMRIE &= ~SVMHIE; PMMCTL0_H = 0x00;)
+#define CLEAR_PMM_IFGS() st(PMMCTL0_H = 0xA5; PMMIFG = 0; PMMCTL0_H = 0x00;)
+
+// These settings use SVSH/LACE = 0
+#define SVSL_ENABLED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLFP+SVSLMD); SVSMLCTL &= ~SVSMLACE; PMMCTL0_H = 0x00;)
+#define SVSL_ENABLED_IN_LPM_SLOW_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLMD; SVSMLCTL &= ~(SVSLFP+SVSMLACE); PMMCTL0_H = 0x00;)
+
+#define SVSL_DISABLED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= SVSLFP; SVSMLCTL &= ~(SVSLMD+SVSMLACE); PMMCTL0_H = 0x00;)
+#define SVSL_DISABLED_IN_LPM_SLOW_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL &= ~(SVSLFP+SVSMLACE+SVSLMD); PMMCTL0_H = 0x00;)
+
+#define SVSH_ENABLED_IN_LPM_NORM_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHMD; SVSMHCTL &= ~(SVSMHACE+SVSHFP); PMMCTL0_H = 0x00;)
+#define SVSH_ENABLED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHMD+SVSHFP); SVSMHCTL &= ~SVSMHACE; PMMCTL0_H = 0x00;)
+
+#define SVSH_DISABLED_IN_LPM_NORM_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL &= ~(SVSMHACE+SVSHFP+SVSHMD);PMMCTL0_H = 0x00;)
+#define SVSH_DISABLED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= SVSHFP; SVSMHCTL &= ~(SVSMHACE+SVSHMD); PMMCTL0_H = 0x00;)
+
+// These setting use SVSH/LACE = 1
+#define SVSL_OPTIMIZED_IN_LPM_FAST_WAKE() st(PMMCTL0_H = 0xA5; SVSMLCTL |= (SVSLFP+SVSLMD+SVSMLACE); PMMCTL0_H = 0x00;)
+#define SVSH_OPTIMIZED_IN_LPM_FULL_PERF() st(PMMCTL0_H = 0xA5; SVSMHCTL |= (SVSHMD+SVSHFP+SVSMHACE); PMMCTL0_H = 0x00;)
+
+/*******************************************************************************
+ * Defines
+ ******************************************************************************/
+#define PMM_STATUS_OK 0
+#define PMM_STATUS_ERROR 1
+
+/*******************************************************************************
+ * \brief Set Vcore to expected level
+ *
+ * \param level Level to which Vcore needs to be increased/decreased
+ * \return status Success/failure
+ ******************************************************************************/
+extern uint16_t SetVCore(uint8_t level);
+
+#endif /* HAL_PMM_H */
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_TLV.c b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_TLV.c
new file mode 100644
index 0000000..7acd7e3
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_TLV.c
@@ -0,0 +1,173 @@
+/*******************************************************************************
+ *
+ * HAL_TLV.c
+ * Provides Functions to Read the TLV Data Section of the MSP430 Devices
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Updated: Version 2.0 01/17/2011
+ *
+ ******************************************************************************/
+
+#include "msp430.h"
+#include "HAL_TLV.h"
+
+void Get_TLV_Info(uint8_t tag, uint8_t instance, uint8_t *length, uint16_t **data_address)
+{
+ unsigned char *TLV_address = (unsigned char *)TLV_START; // TLV Structure Start Address
+
+ while((TLV_address < (unsigned char *)TLV_END)
+ && ((*TLV_address != tag) || instance) // check for tag and instance
+ && (*TLV_address != TLV_TAGEND)) // do range check first
+ {
+ if (*TLV_address == tag) instance--; // repeat till requested instance is reached
+ TLV_address += *(TLV_address + 1) + 2; // add (Current TAG address + LENGTH) + 2
+ }
+
+ if (*TLV_address == tag) // Check if Tag match happened..
+ {
+ *length = *(TLV_address + 1); // Return length = Address + 1
+ *data_address = (uint16_t *)(TLV_address + 2); // Return address of first data/value info = Address + 2
+ }
+ else // If there was no tag match and the end of TLV structure was reached..
+ {
+ *length = 0; // Return 0 for TAG not found
+ *data_address = 0; // Return 0 for TAG not found
+ }
+}
+
+uint16_t Get_Device_Type(void)
+{
+ uint16_t *pDeviceType = (uint16_t *)DEVICE_ID_0;
+ return pDeviceType[0]; // Return Value from TLV Table
+}
+
+uint16_t Get_TLV_Memory(uint8_t instance)
+{
+ uint8_t *pPDTAG;
+ uint8_t bPDTAG_bytes;
+ uint16_t count;
+
+ instance *= 2; // set tag for word access comparison
+
+ // TLV access Function Call
+ Get_TLV_Info(TLV_PDTAG, 0, &bPDTAG_bytes, (uint16_t **)&pPDTAG); // Get Peripheral data pointer
+
+ if(pPDTAG == 0)
+ {
+ return 0;
+ }
+
+ for (count = 0;count <= instance; count += 2)
+ {
+ if (pPDTAG[count] == 0) return 0; // Return 0 if end reached
+ if (count == instance) return (pPDTAG[count] | pPDTAG[count+1]<<8);
+ }
+
+ return 0; // Return 0: not found
+}
+
+uint16_t Get_TLV_Peripheral(uint8_t tag, uint8_t instance)
+{
+ uint8_t *pPDTAG;
+ uint8_t bPDTAG_bytes;
+ uint16_t count = 0;
+ uint16_t pcount = 0;
+
+ Get_TLV_Info(TLV_PDTAG, 0, &bPDTAG_bytes, (uint16_t **)&pPDTAG); // Get Peripheral data pointer
+
+ if(pPDTAG == 0)
+ {
+ return 0;
+ }
+
+ // read memory configuration from TLV to get offset for Peripherals
+ while (Get_TLV_Memory(count)) {
+ count++;
+ }
+
+ pcount = pPDTAG[count * 2 + 1]; // get number of Peripheral entries
+ count++; // inc count to first Periperal
+ pPDTAG += count*2; // adjust point to first address of Peripheral
+ count = 0; // set counter back to 0
+ pcount *= 2; // align pcount for work comparision
+
+ // TLV access Function Call
+ for (count = 0; count <= pcount; count += 2) {
+ if (pPDTAG[count+1] == tag) { // test if required Peripheral is found
+ if (instance > 0) { // test if required instance is found
+ instance--;
+ }
+ else {
+ return (pPDTAG[count] | pPDTAG[count + 1] << 8); // Return found data
+ }
+ }
+ }
+
+ return 0; // Return 0: not found
+}
+
+uint8_t Get_TLV_Interrupt(uint8_t tag)
+{
+ uint8_t *pPDTAG;
+ uint8_t bPDTAG_bytes;
+ uint16_t count = 0;
+ uint16_t pcount = 0;
+
+ Get_TLV_Info(TLV_PDTAG, 0, &bPDTAG_bytes, (uint16_t **)&pPDTAG); // Get Peripheral data pointer
+
+ if(pPDTAG == 0)
+ {
+ return 0;
+ }
+
+ // read memory configuration from TLV to get offset for Peripherals
+ while (Get_TLV_Memory(count))
+ {
+ count++;
+ }
+
+ pcount = pPDTAG[count * 2 + 1];
+ count++; // inc count to first Periperal
+ pPDTAG += (pcount + count) * 2; // adjust point to first address of Peripheral
+ count = 0; // set counter back to 0
+
+ // TLV access Function Call
+ for (count = 0; count <= tag; count += 2)
+ {
+ if (pPDTAG[count] == 0) return 0; // Return 0: not found/end of table
+ if (count == tag) return (pPDTAG[count]); // Return found data
+ }
+
+ return 0; // Return 0: not found
+}
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_TLV.h b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_TLV.h
new file mode 100644
index 0000000..60e2778
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_TLV.h
@@ -0,0 +1,228 @@
+/*******************************************************************************
+ *
+ * HAL_TLV.c
+ * Provides Functions to Read the TLV Data Section of the MSP430 Devices
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Updated: Version 2.0 01/17/2011
+ *
+ ******************************************************************************/
+
+#ifndef HAL_TLV_H
+#define HAL_TLV_H
+
+#include
+
+/*******************************************************************************
+ * Device Descriptors - Fixed Memory Locations
+ ******************************************************************************/
+#define DEVICE_ID_0 (0x1A04)
+#define DEVICE_ID_1 (0x1A05)
+
+/*******************************************************************************
+ * Data Types
+ ******************************************************************************/
+struct s_TLV_Die_Record {
+ uint8_t die_record[10];
+};
+
+struct s_TLV_ADC_Cal_Data {
+ uint16_t adc_gain_factor;
+ uint16_t adc_offset;
+ uint16_t adc_ref15_30_temp;
+ uint16_t adc_ref15_85_temp;
+ uint16_t adc_ref20_30_temp;
+ uint16_t adc_ref20_85_temp;
+ uint16_t adc_ref25_30_temp;
+ uint16_t adc_ref25_85_temp;
+};
+
+struct s_TLV_Timer_D_Cal_Data {
+ uint16_t TDH0CTL1_64;
+ uint16_t TDH0CTL1_128;
+ uint16_t TDH0CTL1_200;
+ uint16_t TDH0CTL1_256;
+};
+
+struct s_TLV_REF_Cal_Data {
+ uint16_t ref_ref15;
+ uint16_t ref_ref20;
+ uint16_t adc_ref25;
+};
+
+/*******************************************************************************
+ * Tag Defines
+ ******************************************************************************/
+#define TLV_LDTAG (0x01) /* Legacy descriptor (1xx, 2xx,
+ 4xx families) */
+#define TLV_PDTAG (0x02) /* Peripheral discovery descriptor */
+#define TLV_Reserved3 (0x03) /* Future usage */
+#define TLV_Reserved4 (0x04) /* Future usage */
+#define TLV_BLANK (0x05) /* Blank descriptor */
+#define TLV_Reserved6 (0x06) /* Future usage */
+#define TLV_Reserved7 (0x07) /* Serial Number */
+#define TLV_DIERECORD (0x08) /* Die Record */
+#define TLV_ADCCAL (0x11) /* ADC12 calibration */
+#define TLV_ADC12CAL (0x11) /* ADC12 calibration */
+#define TLV_ADC10CAL (0x13) /* ADC10 calibration */
+#define TLV_REFCAL (0x12) /* REF calibration */
+#define TLV_TIMER_D_CAL (0x15) /* Timer_Dx calibration */
+#define TLV_TAGEXT (0xFE) /* Tag extender */
+#define TLV_TAGEND (0xFF) /* Tag End of Table */
+
+/*******************************************************************************
+ * Peripheral Defines
+ ******************************************************************************/
+#define TLV_PID_NO_MODULE (0x00) /* No Module */
+#define TLV_PID_PORTMAPPING (0x10) /* Port Mapping */
+#define TLV_PID_MSP430CPUXV2 (0x23) /* MSP430CPUXV2 */
+#define TLV_PID_JTAG (0x09) /* JTAG */
+#define TLV_PID_SBW (0x0F) /* SBW */
+#define TLV_PID_EEM_XS (0x02) /* EEM X-Small */
+#define TLV_PID_EEM_S (0x03) /* EEM Small */
+#define TLV_PID_EEM_M (0x04) /* EEM Medium */
+#define TLV_PID_EEM_L (0x05) /* EEM Large */
+#define TLV_PID_PMM (0x30) /* PMM */
+#define TLV_PID_PMM_FR (0x32) /* PMM FRAM */
+#define TLV_PID_FCTL (0x39) /* Flash */
+#define TLV_PID_CRC16 (0x3C) /* CRC16 */
+#define TLV_PID_CRC16_RB (0x3D) /* CRC16 Reverse */
+#define TLV_PID_WDT_A (0x40) /* WDT_A */
+#define TLV_PID_SFR (0x41) /* SFR */
+#define TLV_PID_SYS (0x42) /* SYS */
+#define TLV_PID_RAMCTL (0x44) /* RAMCTL */
+#define TLV_PID_DMA_1 (0x46) /* DMA 1 */
+#define TLV_PID_DMA_3 (0x47) /* DMA 3 */
+#define TLV_PID_UCS (0x48) /* UCS */
+#define TLV_PID_DMA_6 (0x4A) /* DMA 6 */
+#define TLV_PID_DMA_2 (0x4B) /* DMA 2 */
+#define TLV_PID_PORT1_2 (0x51) /* Port 1 + 2 / A */
+#define TLV_PID_PORT3_4 (0x52) /* Port 3 + 4 / B */
+#define TLV_PID_PORT5_6 (0x53) /* Port 5 + 6 / C */
+#define TLV_PID_PORT7_8 (0x54) /* Port 7 + 8 / D */
+#define TLV_PID_PORT9_10 (0x55) /* Port 9 + 10 / E */
+#define TLV_PID_PORT11_12 (0x56) /* Port 11 + 12 / F */
+#define TLV_PID_PORTU (0x5E) /* Port U */
+#define TLV_PID_PORTJ (0x5F) /* Port J */
+#define TLV_PID_TA2 (0x60) /* Timer A2 */
+#define TLV_PID_TA3 (0x61) /* Timer A1 */
+#define TLV_PID_TA5 (0x62) /* Timer A5 */
+#define TLV_PID_TA7 (0x63) /* Timer A7 */
+#define TLV_PID_TB3 (0x65) /* Timer B3 */
+#define TLV_PID_TB5 (0x66) /* Timer B5 */
+#define TLV_PID_TB7 (0x67) /* Timer B7 */
+#define TLV_PID_RTC (0x68) /* RTC */
+#define TLV_PID_BT_RTC (0x69) /* BT + RTC */
+#define TLV_PID_BBS (0x6A) /* Battery Backup Switch */
+#define TLV_PID_RTC_B (0x6B) /* RTC_B */
+#define TLV_PID_TD2 (0x6C) /* Timer D2 */
+#define TLV_PID_TD3 (0x6D) /* Timer D1 */
+#define TLV_PID_TD5 (0x6E) /* Timer D5 */
+#define TLV_PID_TD7 (0x6F) /* Timer D7 */
+#define TLV_PID_TEC (0x70) /* Imer Event Control */
+#define TLV_PID_RTC_C (0x71) /* RTC_C */
+#define TLV_PID_AES (0x80) /* AES */
+#define TLV_PID_MPY16 (0x84) /* MPY16 */
+#define TLV_PID_MPY32 (0x85) /* MPY32 */
+#define TLV_PID_MPU (0x86) /* MPU */
+#define TLV_PID_USCI_AB (0x90) /* USCI_AB */
+#define TLV_PID_USCI_A (0x91) /* USCI_A */
+#define TLV_PID_USCI_B (0x92) /* USCI_B */
+#define TLV_PID_EUSCI_A (0x94) /* eUSCI_A */
+#define TLV_PID_EUSCI_B (0x95) /* eUSCI_B */
+#define TLV_PID_REF (0xA0) /* Shared Reference */
+#define TLV_PID_COMP_B (0xA8) /* COMP_B */
+#define TLV_PID_COMP_D (0xA9) /* COMP_D */
+#define TLV_PID_USB (0x98) /* USB */
+#define TLV_PID_LCD_B (0xB1) /* LCD_B */
+#define TLV_PID_LCD_C (0xB2) /* LCD_C */
+#define TLV_PID_DAC12_A (0xC0) /* DAC12_A */
+#define TLV_PID_SD16_B_1 (0xC8) /* SD16_B 1 Channel */
+#define TLV_PID_SD16_B_2 (0xC9) /* SD16_B 2 Channel */
+#define TLV_PID_SD16_B_3 (0xCA) /* SD16_B 3 Channel */
+#define TLV_PID_SD16_B_4 (0xCB) /* SD16_B 4 Channel */
+#define TLV_PID_SD16_B_5 (0xCC) /* SD16_B 5 Channel */
+#define TLV_PID_SD16_B_6 (0xCD) /* SD16_B 6 Channel */
+#define TLV_PID_SD16_B_7 (0xCE) /* SD16_B 7 Channel */
+#define TLV_PID_SD16_B_8 (0xCF) /* SD16_B 8 Channel */
+#define TLV_PID_ADC12_A (0xD1) /* ADC12_A */
+#define TLV_PID_ADC10_A (0xD3) /* ADC10_A */
+#define TLV_PID_ADC10_B (0xD4) /* ADC10_B */
+#define TLV_PID_SD16_A (0xD8) /* SD16_A */
+#define TLV_PID_TI_BSL (0xFC) /* BSL */
+
+/*******************************************************************************
+ * \brief Get Information out of the TLV Table
+ *
+ * \param tag Tag of the TLV entry
+ * \param instance Instance of the Tag of the TLV entry
+ * \param *length return: Length of the information if found
+ * \param **data_address return: start pointer of Data
+ ******************************************************************************/
+void Get_TLV_Info(uint8_t tag, uint8_t instance, uint8_t *length,
+ uint16_t **data_address);
+
+/*******************************************************************************
+ * \brief Get Device Type out of the TLV Table
+ *
+ * \return Device dependent value
+ ******************************************************************************/
+uint16_t Get_Device_Type(void);
+
+/*******************************************************************************
+ * \brief Get Memory Info out of the TLV Table
+ *
+ * \param instance Index of the Instance [0..]
+ * \return Memory Data found
+ ******************************************************************************/
+uint16_t Get_TLV_Memory(uint8_t instance);
+
+/*******************************************************************************
+ * \brief Get Peripheral Info out of the TLV Table
+ *
+ * \param tag Tag of the TLV entry
+ * \param instance Index of the Instance [0..]
+ * \return Peripheral Data found
+ ******************************************************************************/
+uint16_t Get_TLV_Peripheral(uint8_t tag, uint8_t instance);
+
+/*******************************************************************************
+ * \brief Get Interrupt Info out of the TLV Table
+ *
+ * \param tag Tag of the TLV entry
+ * \return Interrupt Data found
+ ******************************************************************************/
+uint8_t Get_TLV_Interrupt(uint8_t tag);
+
+#endif /* HAL_TLV_H */
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_UCS.c b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_UCS.c
new file mode 100644
index 0000000..dcdb5da
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_UCS.c
@@ -0,0 +1,299 @@
+/*******************************************************************************
+ *
+ * HAL_UCS.c
+ * Provides Functions to Initialize the UCS/FLL and clock sources
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ * Added Functions: XT2_Stop() and XT1_Stop()
+ * Modified all functions to preserve drive settings
+ *
+ ******************************************************************************/
+
+#include "msp430.h"
+#include "HAL_UCS.h"
+
+/*******************************************************************************
+ * Check and define required Defines
+ ******************************************************************************/
+#ifndef XT1LFOFFG // Defines if not available in header file
+#define XT1LFOFFG 0
+#endif
+
+#ifndef XT1HFOFFG // Defines if not available in header file
+#define XT1HFOFFG 0
+#endif
+
+#ifndef XT2OFFG // Defines if not available in header file
+#define XT2OFFG 0
+#endif
+
+#ifndef XTS // Defines if not available in header file
+#define XTS 0
+#endif
+
+#ifndef XT2DRIVE_3 // Defines if not available in header file
+#define XT2DRIVE_3 0
+#endif
+
+void LFXT_Start(uint16_t xtdrive)
+{
+ // If the drive setting is not already set to maximum
+ // Set it to max for LFXT startup
+ if ((UCSCTL6 & XT1DRIVE_3)!= XT1DRIVE_3) {
+ UCSCTL6_L |= XT1DRIVE1_L + XT1DRIVE0_L; // Highest drive setting for XT1startup
+ }
+
+ while (SFRIFG1 & OFIFG) { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags fault flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+
+ UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) | (xtdrive); // set requested Drive mode
+}
+
+uint16_t LFXT_Start_Timeout(uint16_t xtdrive, uint16_t timeout)
+{
+ // If the drive setting is not already set to maximum
+ // Set it to max for LFXT startup
+ if ((UCSCTL6 & XT1DRIVE_3)!= XT1DRIVE_3) {
+ UCSCTL6_L |= XT1DRIVE1_L+XT1DRIVE0_L; // Highest drive setting for XT1startup
+ }
+
+ while ((SFRIFG1 & OFIFG) && timeout--){ // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags fault flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+
+ UCSCTL6 = (UCSCTL6 & ~(XT1DRIVE_3)) |(xtdrive); // set Drive mode
+
+ if (timeout)
+ return (UCS_STATUS_OK);
+ else
+ return (UCS_STATUS_ERROR);
+}
+
+void XT1_Start(uint16_t xtdrive)
+{
+ // Check if drive value is the expected one
+ if ((UCSCTL6 & XT1DRIVE_3) != xtdrive) {
+ UCSCTL6 &= ~XT1DRIVE_3; // Clear XT1drive field
+ UCSCTL6 |= xtdrive; // Set requested value
+ }
+
+ UCSCTL6 &= ~XT1OFF; // Enable XT1
+ UCSCTL6 |= XTS; // Enable HF mode
+
+ while (SFRIFG1 & OFIFG) { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+}
+
+uint16_t XT1_Start_Timeout(uint16_t xtdrive, uint16_t timeout)
+{
+ // Check if drive value is the expected one
+ if ((UCSCTL6 & XT1DRIVE_3) != xtdrive) {
+ UCSCTL6 &= ~XT1DRIVE_3; // Clear XT1drive field
+ UCSCTL6 |= xtdrive; // Set requested value
+ }
+
+ UCSCTL6 &= ~XT1OFF; // Enable XT1
+ UCSCTL6 |= XTS; // Enable HF mode
+
+ while ((SFRIFG1 & OFIFG) && timeout--) { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+
+ if (timeout) {
+ return UCS_STATUS_OK;
+ }
+ else {
+ return UCS_STATUS_ERROR;
+ }
+}
+
+void XT1_Bypass(void)
+{
+ UCSCTL6 |= XT1BYPASS;
+
+ while (SFRIFG1 & OFIFG) { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+}
+
+void XT1_Stop(void)
+{
+ UCSCTL6 |= XT1OFF; // Switch off XT1 oscillator
+}
+
+void XT2_Start(uint16_t xtdrive)
+{
+ // Check if drive value is the expected one
+ if ((UCSCTL6 & XT2DRIVE_3) != xtdrive)
+ {
+ UCSCTL6 &= ~XT2DRIVE_3; // Clear XT2drive field
+ UCSCTL6 |= xtdrive; // Set requested value
+ }
+ UCSCTL6 &= ~XT2OFF;
+ while (SFRIFG1 & OFIFG)
+ { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+}
+
+#pragma optimize = low
+uint16_t XT2_Start_Timeout(uint16_t xtdrive, uint16_t timeout)
+{
+ uint16_t timeoutint = timeout;
+ // Check if drive value is the expected one
+ if ((UCSCTL6 & XT2DRIVE_3) != xtdrive)
+ {
+ UCSCTL6 &= ~XT2DRIVE_3; // Clear XT2drive field
+ UCSCTL6 |= xtdrive; // Set requested value
+ }
+
+ UCSCTL6 &= ~XT2OFF;
+
+ while ((SFRIFG1 & OFIFG) && timeoutint--)
+ { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG;
+ }
+
+ if (timeoutint)
+ {
+ return UCS_STATUS_OK;
+ }
+ else
+ {
+ return UCS_STATUS_ERROR;
+ }
+}
+
+void XT2_Bypass(void)
+{
+#ifdef XT2BYPASS // On devices without XT2 this function will be empty
+ UCSCTL6 |= XT2BYPASS;
+
+ while (SFRIFG1 & OFIFG) { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+#endif
+}
+
+void XT2_Stop(void)
+{
+ UCSCTL6 |= XT2OFF; // Switch off XT2 oscillator
+}
+
+void Init_FLL_Settle(uint16_t fsystem, uint16_t ratio)
+{
+ volatile uint16_t x = ratio * 32;
+
+ Init_FLL(fsystem, ratio);
+
+ while (x--) {
+ __delay_cycles(30);
+ }
+}
+
+void Init_FLL(uint16_t fsystem, uint16_t ratio)
+{
+ uint16_t d, dco_div_bits;
+ uint16_t mode = 0;
+
+ // Save actual state of FLL loop control, then disable it. This is needed to
+ // prevent the FLL from acting as we are making fundamental modifications to
+ // the clock setup.
+ uint16_t srRegisterState = __get_SR_register() & SCG0;
+ __bic_SR_register(SCG0);
+
+ d = ratio;
+ dco_div_bits = FLLD__2; // Have at least a divider of 2
+
+ if (fsystem > 16000) {
+ d >>= 1 ;
+ mode = 1;
+ }
+ else {
+ fsystem <<= 1; // fsystem = fsystem * 2
+ }
+
+ while (d > 512) {
+ dco_div_bits = dco_div_bits + FLLD0; // Set next higher div level
+ d >>= 1;
+ }
+
+ UCSCTL0 = 0x0000; // Set DCO to lowest Tap
+
+ UCSCTL2 &= ~(0x03FF); // Reset FN bits
+ UCSCTL2 = dco_div_bits | (d - 1);
+
+ if (fsystem <= 630) // fsystem < 0.63MHz
+ UCSCTL1 = DCORSEL_0;
+ else if (fsystem < 1250) // 0.63MHz < fsystem < 1.25MHz
+ UCSCTL1 = DCORSEL_1;
+ else if (fsystem < 2500) // 1.25MHz < fsystem < 2.5MHz
+ UCSCTL1 = DCORSEL_2;
+ else if (fsystem < 5000) // 2.5MHz < fsystem < 5MHz
+ UCSCTL1 = DCORSEL_3;
+ else if (fsystem < 10000) // 5MHz < fsystem < 10MHz
+ UCSCTL1 = DCORSEL_4;
+ else if (fsystem < 20000) // 10MHz < fsystem < 20MHz
+ UCSCTL1 = DCORSEL_5;
+ else if (fsystem < 40000) // 20MHz < fsystem < 40MHz
+ UCSCTL1 = DCORSEL_6;
+ else
+ UCSCTL1 = DCORSEL_7;
+
+ while (SFRIFG1 & OFIFG) { // Check OFIFG fault flag
+ UCSCTL7 &= ~(DCOFFG+XT1LFOFFG+XT1HFOFFG+XT2OFFG); // Clear OSC flaut Flags
+ SFRIFG1 &= ~OFIFG; // Clear OFIFG fault flag
+ }
+
+ if (mode == 1) { // fsystem > 16000
+ SELECT_MCLK_SMCLK(SELM__DCOCLK + SELS__DCOCLK); // Select DCOCLK
+ }
+ else {
+ SELECT_MCLK_SMCLK(SELM__DCOCLKDIV + SELS__DCOCLKDIV); // Select DCODIVCLK
+ }
+
+ __bis_SR_register(srRegisterState); // Restore previous SCG0
+}
diff --git a/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_UCS.h b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_UCS.h
new file mode 100644
index 0000000..1ea6c39
--- /dev/null
+++ b/Bios/src/fw/fet/F5xx_F6xx_Core_Lib/HAL_UCS.h
@@ -0,0 +1,163 @@
+/*******************************************************************************
+ *
+ * HAL_UCS.h
+ * Provides Functions to Initialize the UCS/FLL and clock sources
+ *
+ *
+ * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Created: Version 1.0 11/24/2009
+ * Updated: Version 2.0 12/15/2010
+ * Added Functions: XT2_Stop() and XT1_Stop()
+ *
+ ******************************************************************************/
+
+#ifndef HAL_UCS_H
+#define HAL_UCS_H
+
+#include
+#include "hal_macros.h"
+
+/*******************************************************************************
+ * Macros
+ ******************************************************************************/
+
+/* Select source for FLLREF e.g. SELECT_FLLREF(SELREF__XT1CLK) */
+#define SELECT_FLLREF(source) st(UCSCTL3 = (UCSCTL3 & ~(SELREF_7)) | (source);)
+/* Select source for ACLK e.g. SELECT_ACLK(SELA__XT1CLK) */
+#define SELECT_ACLK(source) st(UCSCTL4 = (UCSCTL4 & ~(SELA_7)) | (source);)
+/* Select source for MCLK e.g. SELECT_MCLK(SELM__XT2CLK) */
+#define SELECT_MCLK(source) st(UCSCTL4 = (UCSCTL4 & ~(SELM_7)) | (source);)
+/* Select source for SMCLK e.g. SELECT_SMCLK(SELS__XT2CLK) */
+#define SELECT_SMCLK(source) st(UCSCTL4 = (UCSCTL4 & ~(SELS_7)) | (source);)
+/* Select source for MCLK and SMCLK e.g. SELECT_MCLK_SMCLK(SELM__DCOCLK + SELS__DCOCLK) */
+#define SELECT_MCLK_SMCLK(sources) st(UCSCTL4 = (UCSCTL4 & ~(SELM_7 + SELS_7)) | (sources);)
+
+/* set ACLK/x */
+#define ACLK_DIV(x) st(UCSCTL5 = (UCSCTL5 & ~(DIVA_7)) | (DIVA__##x);)
+/* set MCLK/x */
+#define MCLK_DIV(x) st(UCSCTL5 = (UCSCTL5 & ~(DIVM_7)) | (DIVM__##x);)
+/* set SMCLK/x */
+#define SMCLK_DIV(x) st(UCSCTL5 = (UCSCTL5 & ~(DIVS_7)) | (DIVS__##x);)
+/* Select divider for FLLREF e.g. SELECT_FLLREFDIV(2) */
+#define SELECT_FLLREFDIV(x) st(UCSCTL3 = (UCSCTL3 & ~(FLLREFDIV_7))|(FLLREFDIV__##x);)
+
+/*******************************************************************************
+ * Defines
+ ******************************************************************************/
+#define UCS_STATUS_OK 0
+#define UCS_STATUS_ERROR 1
+
+/*******************************************************************************
+ * \brief Startup routine for 32kHz Crystal on LFXT1
+ *
+ * \param xtdrive Bits defining the LFXT drive mode after startup
+ ******************************************************************************/
+extern void LFXT_Start(uint16_t xtdrive);
+
+/*******************************************************************************
+ * \brief Startup routine for 32kHz Crystal on LFXT1 with timeout counter
+ *
+ * \param xtdrive Bits defining the LFXT drive mode after startup
+ * \param timeout Value for the timeout counter
+ ******************************************************************************/
+extern uint16_t LFXT_Start_Timeout(uint16_t xtdrive, uint16_t timeout);
+
+/*******************************************************************************
+ * \brief Startup routine for XT1
+ *
+ * \param xtdrive Bits defining the XT drive mode
+ ******************************************************************************/
+extern void XT1_Start(uint16_t xtdrive);
+
+/*******************************************************************************
+ * \brief Startup routine for XT1 with timeout counter
+ *
+ * \param xtdrive Bits defining the XT drive mode
+ * \param timeout Value for the timeout counter
+ ******************************************************************************/
+extern uint16_t XT1_Start_Timeout(uint16_t xtdrive, uint16_t timeout);
+
+/*******************************************************************************
+ * \brief Use XT1 in Bypasss mode
+ ******************************************************************************/
+extern void XT1_Bypass(void);
+
+/*******************************************************************************
+ * \brief Stop XT1 oscillator
+ ******************************************************************************/
+extern void XT1_Stop(void);
+
+/*******************************************************************************
+ * \brief Startup routine for XT2
+ *
+ * \param xtdrive Bits defining the XT drive mode
+ ******************************************************************************/
+extern void XT2_Start(uint16_t xtdrive);
+
+/*******************************************************************************
+ * \brief Startup routine for XT2 with timeout counter
+ *
+ * \param xtdrive Bits defining the XT drive mode
+ * \param timeout Value for the timeout counter
+ ******************************************************************************/
+extern uint16_t XT2_Start_Timeout(uint16_t xtdrive, uint16_t timeout);
+
+/*******************************************************************************
+ * \brief Use XT2 in Bypasss mode for MCLK
+ ******************************************************************************/
+extern void XT2_Bypass(void);
+
+/*******************************************************************************
+ * \brief Stop XT2 oscillator
+ ******************************************************************************/
+extern void XT2_Stop(void);
+
+/*******************************************************************************
+ * \brief Initializes FLL of the UCS and wait till settled before allowing
+ * code execution to resume. The use of this function is preferred
+ * over the use of Init_FLL().
+ *
+ * \param fsystem Required system frequency (MCLK) in kHz
+ * \param ratio Ratio between fsystem and FLLREFCLK
+ ******************************************************************************/
+extern void Init_FLL_Settle(uint16_t fsystem, uint16_t ratio);
+
+/*******************************************************************************
+ * \brief Initializes FLL of the UCS
+ *
+ * \param fsystem Required system frequency (MCLK) in kHz
+ * \param ratio Ratio between fsystem and FLLREFCLK
+ ******************************************************************************/
+extern void Init_FLL(uint16_t fsystem, uint16_t ratio);
+
+#endif /* HAL_UCS_H */
diff --git a/Bios/src/fw/fet/FetIcc/Fet_IccMonitor.h b/Bios/src/fw/fet/FetIcc/Fet_IccMonitor.h
new file mode 100644
index 0000000..0ea9af7
--- /dev/null
+++ b/Bios/src/fw/fet/FetIcc/Fet_IccMonitor.h
@@ -0,0 +1,48 @@
+/*
+ * MSP_IccMonitor.h
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hil_Structs.h"
+
+#ifndef FETICC_H_
+#define FETICC_H_
+
+void IccMonitor_StartVoltageSupervision();
+void IccMonitor_StopVoltageSupervision();
+void IccMonitor_TriggerAdc();
+short IccMonitor_Process(unsigned short flags);
+void IccMonitor_setHilIterface(edt_common_methods_t *edt_c);
+void IccMonitor_StopDcdcOvercurrentDetection();
+void IccMonitor_StartDcdcOvercurrentDetection();
+#endif /* FETICC_H_ */
diff --git a/Bios/src/fw/fet/FetIcc/MSP_FET_IccMonitor.c b/Bios/src/fw/fet/FetIcc/MSP_FET_IccMonitor.c
new file mode 100644
index 0000000..4ce81b3
--- /dev/null
+++ b/Bios/src/fw/fet/FetIcc/MSP_FET_IccMonitor.c
@@ -0,0 +1,175 @@
+/*
+ * MSP_IccMonitor.c
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "Bios.h"
+#include "Fet_IccMonitor.h"
+#include "stream.h"
+
+static unsigned short voltageSupervsion;
+static edt_common_methods_t edt_Common_Methods;
+
+void IccMonitor_setHilIterface(edt_common_methods_t *edt_c)
+{
+ edt_Common_Methods = *edt_c;
+}
+void IccMonitor_StartVoltageSupervision()
+{
+ voltageSupervsion = 1;
+}
+void IccMonitor_StopVoltageSupervision()
+{
+ voltageSupervsion = 0;
+}
+void IccMonitor_TriggerAdc()
+{
+ ADC12CTL0 |= ADC12SC;
+}
+void IccMonitor_StopDcdcOvercurrentDetection()
+{
+ P5DIR |= BIT7;
+ P5OUT |= BIT7;
+}
+void IccMonitor_StartDcdcOvercurrentDetection()
+{
+ P5DIR |= BIT7;
+ P5OUT &= ~BIT7;
+}
+void IccMonitor_SendOverCurrentEvent(unsigned short event)
+{
+ static unsigned long counter = 0;
+ if(counter == 0)
+ {
+ if(STREAM_out_init(0, RESPTYP_STATUS) != EXCEPTION_TX_NO_BUFFER)
+ {
+ STREAM_put_word(event);
+ STREAM_flush();
+ }
+ }
+ if(counter++ > 100000)
+ {
+ counter = 0;
+ }
+}
+
+short IccMonitor_Process(unsigned short flags)
+{
+ static short overcurrent = 0;
+ static short VccDtSampling = 0;
+ static short AdcTrigger = 1000;
+ short error = 0;
+
+ AdcTrigger--;
+ if(AdcTrigger == 0)
+ {
+ IccMonitor_TriggerAdc();
+ AdcTrigger = 1000;
+ }
+
+ if(!voltageSupervsion)
+ {
+ return 0;
+ }
+ if(VccDtSampling++ > 50 || overcurrent)
+ {
+ //call VCC regulation algorithm
+ error = edt_Common_Methods.regulateVcc();
+ IccMonitor_TriggerAdc();
+ VccDtSampling = 0;
+ if(error)
+ {
+ if(overcurrent == 0)
+ {
+ IccMonitor_SendOverCurrentEvent(FET_OVERCURRENT);
+ }
+ overcurrent = 1;
+ BIOS_LedOff(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ return 0;
+ }
+ }
+ if((P8IN & BIT4) == BIT4)
+ {
+ //overcurrent detected -> Sub MCU swith off VCC -> Biso switch on READ LED -> switch of GREEN LED
+ BIOS_LedOff(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ if(overcurrent == 0)
+ {
+ IccMonitor_SendOverCurrentEvent(FET_OVERCURRENT); // callback
+ }
+ overcurrent = 1;
+ return 0;
+ }
+ else
+ {
+ // switch on LEDs.
+ BIOS_LedOn(BIOS_LED_POWER);
+ if(overcurrent)
+ {
+ overcurrent = 0;
+ BIOS_LedOff(BIOS_LED_MODE);
+ }
+ }
+ return 0;
+}
+
+#pragma vector=ADC12_VECTOR
+__interrupt void ADC12ISR (void)
+{
+ switch(__even_in_range(ADC12IV,34))
+ {
+ case 0: break; // Vector 0: No interrupt
+ case 2: break; // Vector 2: ADC overflow
+ case 4: break; // Vector 4: ADC timing overflow
+ case 6: break; // Vector 6: ADC12IFG0
+ case 8: break; // Vector 8: ADC12IFG1
+ case 10: break; // Vector 10: ADC12IFG2
+ case 12: // Vector 14: ADC12IFG3
+ edt_Common_Methods.ReadADC12();
+ ADC12CTL0 &= ~ADC12SC;
+ break;
+ case 14: break; // Vector 14: ADC12IFG4
+ case 16: break; // Vector 16: ADC12IFG5
+ case 18: break; // Vector 18: ADC12IFG6
+ case 20: break; // Vector 20: ADC12IFG7
+ case 22: break; // Vector 22: ADC12IFG8
+ case 24: break; // Vector 24: ADC12IFG9
+ case 26: break; // Vector 26: ADC12IFG10
+ case 28: break; // Vector 28: ADC12IFG11
+ case 30: break; // Vector 30: ADC12IFG12
+ case 32: break; // Vector 32: ADC12IFG13
+ case 34: break; // Vector 34: ADC12IFG14
+ default: break;
+ }
+}
diff --git a/Bios/src/fw/fet/FetIcc/eZ_FET_IccMonitor.c b/Bios/src/fw/fet/FetIcc/eZ_FET_IccMonitor.c
new file mode 100644
index 0000000..43ea5bb
--- /dev/null
+++ b/Bios/src/fw/fet/FetIcc/eZ_FET_IccMonitor.c
@@ -0,0 +1,121 @@
+/*
+ * eZ_Fet_IccMonitor.c
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "Bios.h"
+#include "Fet_IccMonitor.h"
+#include "stream.h"
+
+static unsigned short voltageSupervsion;
+
+void IccMonitor_setHilIterface(edt_common_methods_t *edt_c)
+{
+ return;
+}
+void IccMonitor_StartVoltageSupervision()
+{
+ voltageSupervsion = 1;
+}
+void IccMonitor_StopVoltageSupervision()
+{
+ voltageSupervsion = 0;
+}
+void IccMonitor_TriggerAdc()
+{
+ ADC12CTL0 |= ADC12SC;
+}
+
+void IccMonitor_SendOverCurrentEvent(unsigned short event)
+{
+ static unsigned long counter = 0;
+ if(counter == 0)
+ {
+ if(STREAM_out_init(0, RESPTYP_STATUS) != EXCEPTION_TX_NO_BUFFER)
+ {
+ STREAM_put_word(event);
+ STREAM_flush();
+ }
+ }
+ if(counter++ > 100000)
+ {
+ counter = 0;
+ }
+}
+
+void IccMonitor_StopDcdcOvercurrentDetection()
+{
+ // Switch off over-current detection
+ P6DIR |= BIT5;
+ P6OUT |= BIT5;
+}
+void IccMonitor_StartDcdcOvercurrentDetection()
+{
+ P6DIR |= BIT5;
+ P6OUT &= ~BIT5;
+}
+
+short IccMonitor_Process(unsigned short flags)
+{
+ static short overcurrent = 0;
+
+ if(!voltageSupervsion)
+ {
+ return 0;
+ }
+ if(((P6IN & BIT4) == BIT4) && Bios_getTool_id() == eZ_FET_WITH_DCDC
+ || ((P6IN & BIT4) == BIT4) && Bios_getTool_id() == eZ_FET_WITH_DCDC_NO_FLOWCTL
+ || ((P6IN & BIT4) == BIT4) && Bios_getTool_id() == eZ_FET_WITH_DCDC_V2x)//eZ-FET with DCDC
+ {
+ //overcurrent detected -> Sub MCU swith off VCC -> Biso switch on READ LED -> switch of GREEN LED
+ BIOS_LedOff(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ if(overcurrent == 0)
+ {
+ IccMonitor_SendOverCurrentEvent(FET_OVERCURRENT);
+ }
+ overcurrent = 1;
+ return 0;
+ }
+ else
+ {
+ // switch on LEDs.
+ BIOS_LedOn(BIOS_LED_POWER);
+ if(overcurrent)
+ {
+ overcurrent = 0;
+ BIOS_LedOff(BIOS_LED_MODE);
+ }
+ }
+ return 0;
+}
diff --git a/Bios/src/fw/fet/FetInit/Fet_initClock.c b/Bios/src/fw/fet/FetInit/Fet_initClock.c
new file mode 100644
index 0000000..1fdc5ab
--- /dev/null
+++ b/Bios/src/fw/fet/FetInit/Fet_initClock.c
@@ -0,0 +1,73 @@
+/*
+ * Fet_initClock.c
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "init.h"
+#include "F5xx_F6xx_Core_Lib/HAL_UCS.h"
+#include "F5xx_F6xx_Core_Lib/HAL_PMM.h"
+#include "hw_compiler_specific.h"
+#include "USB_config/descriptors.h"
+#include "bios.h"
+#include "USB_API/USB_Common/device.h"
+
+void init_Clock(void)
+{
+ XT2_Stop(); // stop X2 for default state
+
+ SetVCore(3);
+ _DINT_FET();
+
+ //Initialization of clock module
+ #if defined (__MSP430F552x) || defined (__MSP430F550x)
+ P5SEL |= 0x0C; //enable XT2 pins for F5529
+ #elif defined (__MSP430F563x_F663x)
+ P7SEL |= 0x0C;
+ #endif
+
+ //use REFO for FLL and ACLK
+ UCSCTL3 = (UCSCTL3 & ~(SELREF_7)) | (SELREF__REFOCLK);
+ UCSCTL4 = (UCSCTL4 & ~(SELA_7)) | (SELA__REFOCLK);
+
+ //MCLK will be driven by the FLL (not by XT2), referenced to the REFO
+ Init_FLL_Settle(USB_MCLK_FREQ / 1000, USB_MCLK_FREQ / 32768); //Start the FLL, at the freq indicated by the config
+ //constant USB_MCLK_FREQ
+ XT1_Stop(); // Stop xt1 to prevent any error
+
+ if( UCS_STATUS_ERROR == XT2_Start_Timeout(XT2DRIVE_0, 0x4E20))
+ {
+ BIOS_LedOff(0);
+ BIOS_LedOn(1);
+ while(1);
+ }
+}
diff --git a/Bios/src/fw/fet/FetInit/MSP_FET_init.c b/Bios/src/fw/fet/FetInit/MSP_FET_init.c
new file mode 100644
index 0000000..900c08d
--- /dev/null
+++ b/Bios/src/fw/fet/FetInit/MSP_FET_init.c
@@ -0,0 +1,114 @@
+/*
+ * MSP_FET_init.c
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#include "init.h"
+#include "hw_compiler_specific.h"
+
+void init_BiosPorts(void)
+{
+ // Ports all back to reset state
+ P1DIR = 0; P2DIR = 0; P3DIR = 0; // Reset all ports direction to be inputs
+ P4DIR = 0; P5DIR = 0; P6DIR = 0;
+ P7DIR = 0; P8DIR = 0; P9DIR = 0;
+ P1SEL = 0; P2SEL = 0; P3SEL = 0; // Reset all ports alternate function
+ P4SEL = 0; P5SEL = 0; P6SEL = 0;
+ P7SEL = 0; P8SEL = 0; P9SEL = 0;
+ P1OUT = 0; P2OUT = 0; P3OUT = 0; // Reset all port output registers
+ P4OUT = 0; P5OUT = 0; P6OUT = 0;
+ P7OUT = 0; P8OUT = 0; P9OUT = 0;
+
+ // Port2
+ // P2.0 <- DCDC_PULSE
+ // P2.1 <- UART_RTS
+ // P2.2 -> CMD[0]
+ // P2.3 -> CMD[1]
+ // P2.4 -> CMD[2]
+ // P2.5 -> CMD[3]
+ // P2.6 -> WR_TRIG
+ // P2.7 -> SYS_CLK
+ //P2SEL = BIT0;
+
+ // Port5
+ // P5.0 -> VREF+ (output of reference voltage to ADC)
+ // P5.1 -> FPGA_RESET
+ // P5.2 -> VF2TEST_CTRL
+ // P5.3 -> LED1
+ // P5.4 -> VF2TDI_CTRL
+ // P5.5 -> TDIOFF_CTRL (0 = turns off TDI, after that ok to select VF for fuse blowing)
+ // P5.6 <- MCU_DMAE0 / RD_TRIG (DMA trigger input)
+ // P5.7 -> DCDC_IO1
+ P5DIR |= (BIT3 | BIT4 | BIT5 | BIT7); // set pins initially to output direction
+ //P5SEL = (BIT0);
+ P5OUT = (BIT5);
+ P5OUT &= ~BIT7;
+
+
+ // Port6
+ // P6.0 <- A_VBUS5 (input to ADC channel A0)
+ // P6.1 <- A_VCC_SUPPLY
+ // P6.2 <- A_VF
+ // P6.3 <- A_VCC_SENSE0_TRGT
+ // P6.4 <- A_VCC_DT
+ // P6.5 <- A_VCC_DT_BSR
+ // P6.6 -> VCC_JTAGLDO2TRGT_CTRL
+ // P6.7 -> LED0
+ P6DIR |= (BIT7); // set pins initially to output direction
+ //P6SEL = (BIT0+BIT1+BIT2+BIT3+BIT4+BIT5);
+
+ // Port7
+ // P7.0 -> n/c
+ // P7.1 -> n/c
+ // P7.2 <- XT2IN
+ // P7.3 -> XT2OUT
+ // P7.4 -> DCDC_TEST
+ // P7.5 -> DCDC_RST (0 = reset)
+ // P7.6 -> VCC_DT_REF
+ // P7.7 -> VCC_DCDC_REF
+ P7DIR |= (BIT0+BIT1); // set pins initially to output direction
+ P7SEL |= (BIT6+BIT7); // set pins to alternate port function BIT2+BIT3
+
+ // Port8
+ // P8.0 -> VCC_DT2TRGT_CTRL (control signal to switches to provide debug signals to target via JTAG.x)
+ // P8.1 -> IO_CTRL
+ // P8.2 -> UART_TXD
+ P8DIR |= BIT3; // set UART_TXD to output direction\r
+ // P8.3 <- UART_RXD
+ // P8.4 <- DCDC_IO0
+ // P8.5 -> HOST_SDA
+ // P8.6 -> HOST_SCL
+ // P8.7 -> VCC_SUPPLY2TRGT_CTRL (DCDC VCC to target VCC)
+ P8DIR |= (BIT0+BIT7); // set pins initially to output direction
+}
diff --git a/Bios/src/fw/fet/FetInit/eZ_FET_init.c b/Bios/src/fw/fet/FetInit/eZ_FET_init.c
new file mode 100644
index 0000000..bf8a032
--- /dev/null
+++ b/Bios/src/fw/fet/FetInit/eZ_FET_init.c
@@ -0,0 +1,70 @@
+/*
+ * MSP_FET_init.c
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include "init.h"
+#include "hw_compiler_specific.h"
+
+void init_BiosPorts(void)
+{
+ // Ports all back to reset state
+ P1DIR = 0; P2DIR = 0; P3DIR = 0; // Reset all ports direction to be inputs
+ P4DIR = 0; P5DIR = 0; P6DIR = 0;
+ //P7DIR = 0; P8DIR = 0;
+ P1SEL = 0; P2SEL = 0; P3SEL = 0; // Reset all ports alternate function
+ P4SEL = 0; P5SEL = 0; P6SEL = 0;
+ //P7SEL = 0; P8SEL = 0;
+ P1OUT = 0; P2OUT = 0; P3OUT = 0; // Reset all port output registers
+ P4OUT = 0; P5OUT = 0; P6OUT = 0;
+ //P7OUT = 0; P8OUT = 0;
+
+ //Port1
+ //LED's
+ P1DIR = (BIT2+BIT3+BIT4);
+
+ // Port5
+ P5DIR = (BIT0); // set pins initially to output direction
+ P5SEL = (BIT0+BIT6);
+
+ // Port6
+ P6DIR = (BIT5); // set pins initially to output direction
+ P6SEL = (BIT0+BIT1+BIT2);
+
+ // set PORT6.4 to input for SUB mcu current reculation
+ P6DIR &= ~BIT4;
+
+ P6OUT &= ~(BIT6); // set Reset to 1 -> drive device reset
+ __delay_cycles(20000);
+ P6OUT = (BIT6); // release Reset start Sub MCU
+ P2REN |= BIT6; // enable pull down for RTS uart line
+}
diff --git a/Bios/src/fw/fet/FetInit/init.h b/Bios/src/fw/fet/FetInit/init.h
new file mode 100644
index 0000000..b41096e
--- /dev/null
+++ b/Bios/src/fw/fet/FetInit/init.h
@@ -0,0 +1,42 @@
+/*
+ * inti.h
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef INIT_H_
+#define INIT_H_
+
+void init_BiosPorts(void);
+void init_Clock(void);
+
+#endif /* INIT_H_ */
diff --git a/Bios/src/fw/fet/FetUsb.h b/Bios/src/fw/fet/FetUsb.h
new file mode 100644
index 0000000..8a22e93
--- /dev/null
+++ b/Bios/src/fw/fet/FetUsb.h
@@ -0,0 +1,52 @@
+/*
+ * FetUsb.h
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "USB_API/USB_Common/device.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+#include "USB_config/descriptors.h"
+#include "USB_API/USB_Common/usb.h" // USB-specific functions
+#include "USB_API/USB_CDC_API/UsbCdc.h"
+
+/*----- FetUsb.h -----*/
+#ifndef FetUSB_H
+#define FetUSB_H
+
+typedef struct FET_USB_INFOS
+{
+ BYTE(*FetUSB_bytesInUSBBuffer)(BYTE intfNum);
+ BYTE(*FetUSB_receiveData)(BYTE* data, WORD size, BYTE intfNum);
+ BYTE(*FetUsb_CdcSendDataInBackground)(BYTE* dataBuf,WORD size,BYTE intfNum,ULONG ulTimeout);
+}FET_USB_INFOS_t;
+#endif
diff --git a/Bios/src/fw/fet/FetVersion.h b/Bios/src/fw/fet/FetVersion.h
new file mode 100644
index 0000000..736c675
--- /dev/null
+++ b/Bios/src/fw/fet/FetVersion.h
@@ -0,0 +1,61 @@
+/*
+ * FetVersion.h
+ *
+ * Holds Version number.
+ *
+ * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#define VERSION_MAJOR 3
+#define VERSION_MINOR 12
+#define VERSION_PATCH 0
+#define VERSION_BUILD 000
+
+#define VERSION_MAJOR_CMP 3
+#define VERSION_MINOR_CMP 11
+#define VERSION_PATCH_CMP 0
+#define VERSION_BUILD_CMP 001
+
+#define CORE_VERSION 0x1D
+
+#define COM_LAYER_VERSION 0x0009
+#define DCDC_LAYER_VERSION 0x0005
+#define MSP_FET_HIL_VERSION 0x0012
+#define EZ_FET_HIL_VERSION 0x000D
+
+#define COM_LAYER_VERSION_CMP 0x0009
+#define DCDC_LAYER_VERSION_CMP 0x0005
+#define MSP_FET_HIL_VERSION_CMP 0x0010
+#define EZ_FET_HIL_VERSION_CMP 0x000B
+
diff --git a/Bios/src/fw/fet/Fet_cStartUp/cstartup.s43 b/Bios/src/fw/fet/Fet_cStartUp/cstartup.s43
new file mode 100644
index 0000000..c773562
--- /dev/null
+++ b/Bios/src/fw/fet/Fet_cStartUp/cstartup.s43
@@ -0,0 +1,417 @@
+/**************************************************
+ *
+ * System initialization code for the MSP430 IAR C/EC++ Compiler.
+ *
+ * Copyright © 2002-2008 IAR Systems AB.
+ *
+ * $Revision: 7961 $
+ *
+ **************************************************/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+//#ifdef DISABLE_WATCHDOG
+ #include "msp430.h"
+//#endif
+
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+ // The CPU40 warning is issued when a Jxx instruction is place
+ // at the end of a segment part. However, this case is safe,
+ // as we have control of what will be placed right after the
+ // instruction.
+ SUPPRESS_CPU40_WARNING
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+ RSEG TLS16_I:DATA:NOROOT
+ RSEG TLS16_ID:CONST:NOROOT
+
+// ---------------------------------------------------------
+// System initialization.
+//
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+//#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+//#endif
+
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+ MOV #SFE(CSTACK), SP
+
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XXCALL __low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ XMOVROPIADDR SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XXCALL __data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ XMOVROPIADDR SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XXCALL __data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XXCALL __data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ XMOVROPIADDR SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XXCALL __data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XXCALL __data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ XMOVROPIADDR SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XXCALL __data20_memcpy
+
+#endif // IGNORE_DATA20_DATA
+
+#endif // MSP430X
+
+
+ // --------------------
+ // Thread-local storage
+ //
+
+ //
+ // Copy TLS16_ID to TLS16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC __cstart_init_tls
+ EXTERN __data16_memcpy
+
+__cstart_init_tls
+ MOV.W #SFB TLS16_I, CW0
+ XMOVROPIADDR SFB TLS16_ID, CW1
+ MOV.W #sizeof TLS16_I, CW2
+
+ XXCALL __data16_memcpy
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+ XMOVROPIADDR SFB DIFUNCT, CW0
+ XMOVROPIADDR SFE DIFUNCT, CW1
+
+ XXCALL __call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+ EXTERN main
+ EXTERN exit
+
+?cstart_call_main:
+ XXCALL main
+ XXCALL exit
+
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC16 __program_start
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// ?CPU30_OFFSET
+//
+// The compiler compensates for the CPU30 hardware bug by adding or
+// subtracting the symbol ?CPU30_OFFSET from certain immediates. Here,
+// it is defined to the default value zero (0), for when the device is
+// not affected by CPU30. If the device is affected, the value must be
+// set to two (2) using a linker command line override:
+//
+// -D?CPU30_OFFSET=2.
+//
+// The override is normally placed in the device-specific .xcl file.
+
+ MODULE ?cpu30_offset
+
+ PUBLIC ?CPU30_OFFSET
+
+?CPU30_OFFSET EQU 0
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/fw/fet/HalGlobalVars.c b/Bios/src/fw/fet/HalGlobalVars.c
new file mode 100644
index 0000000..56ec5a6
--- /dev/null
+++ b/Bios/src/fw/fet/HalGlobalVars.c
@@ -0,0 +1,82 @@
+/*
+ * HalGlobalVars.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHAL
+//! \file HalGlobalVars.c
+//! \brief
+//!
+//! \author Detlef Fink (03/10/2011)
+
+#include "hw_compiler_specific.h"
+#include
+#include "stream.h"
+#include "hal.h"
+#include "HalGlobalVars.h"
+
+
+//extern unsigned char TCLK_saved;
+#ifndef UNIX
+extern struct stream_funcs *_stream_Funcs;
+#endif
+extern HAL_INFOS hal_infos_in_ram_;
+extern unsigned char mclk_modules[32];
+extern unsigned short activeDevice;
+extern unsigned char numOfDevices;
+extern unsigned short TCE;
+extern unsigned long _hal_mclkCntrl0;
+extern unsigned long lAddr;
+extern unsigned long lLen;
+extern unsigned long lLenWBlk;
+extern unsigned short ret_len;
+extern DevicePowerSettings devicePowerSettings;
+// ARM specific
+extern unsigned long cswValues[4];
+extern ARMConfigSettings armConfigSettings;
+
+void globalVarsInit(void)
+{
+ memset(&hal_infos_in_ram_, 0, sizeof(HAL_INFOS));
+
+ //SyncJtagAssertPor_SaveContextXv2.c
+ memset(mclk_modules, 0, sizeof(mclk_modules));
+ memset(cswValues, 0, sizeof(cswValues));
+ armConfigSettings.scsBase = 0xE000E000; // Default location of the SCS
+ activeDevice = 0;
+ numOfDevices = 0;
+ TCE = 0;
+ _hal_mclkCntrl0 = 0x0417;
+ // Disable device power settings by default
+ memset(&devicePowerSettings, 0, sizeof(devicePowerSettings));
+}
diff --git a/Bios/src/hal/HalGlobalVars.h b/Bios/src/fw/fet/HalGlobalVars.h
similarity index 53%
rename from Bios/src/hal/HalGlobalVars.h
rename to Bios/src/fw/fet/HalGlobalVars.h
index 5ad11cb..4574883 100644
--- a/Bios/src/hal/HalGlobalVars.h
+++ b/Bios/src/fw/fet/HalGlobalVars.h
@@ -1,100 +1,91 @@
/*
* HalGlobalVars.h
- *
- *
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
//! \ingroup MODULHAL
//! \file HalGlobalVars.h
//! \brief
//!
//! \author Detlef Fink (03/10/2011)
-// var addresses
-// unsigned char
-#define HAL_ADDR_VAR_TCLK_SAVED 0x1100
-// unsigned char[16]
-#define HAL_ADDR_VAR_MCLK_MODULES 0x1102
-// *to_struc
-#define HAL_ADDR_VAR_STREAM_FUNCS 0x1112
-// struct (10 Bytes)
-#define HAL_ADDR_VAR_HAL_INFOS_IN_RAM 0x1114
+// var addresses
+// unsigned char
+
+//#define HAL_ADDR_VAR_MCLK_MODULES 0x2402
// union (char) 32 Bytes
-#define HAL_ADDR_VAR_CHAIN_CONFIGURATION 0x111E
+//#define HAL_ADDR_VAR_CHAIN_CONFIGURATION 0x2424
// unsigned short
-#define HAL_ADDR_VAR_ACTIVE_DEVICE 0x113E
-// unsigned char
-#define HAL_ADDR_VAR_NUM_OF_DEVICES 0x1140
+//#define HAL_ADDR_VAR_ACTIVE_DEVICE 0x2444
// unsigned char
-#define HAL_ADDR_ENTI2TDO 0x1141
+//#define HAL_ADDR_VAR_NUM_OF_DEVICES 0x2446
// unsigned short
-#define HAL_ADDR_VAR_TCE 0x1142
+//#define HAL_ADDR_VAR_TCE 0x2448
// unsigned short
-#define HALL_ADDR_VAR_HAL_MCLK_CNTRL0 0x1144
+//#define HALL_ADDR_VAR_HAL_MCLK_CNTRL0 0x244C
+
+
// 512
-#define HAL_ADDR_VAR_HAL_FUNCTION 0x1146
+//#define HAL_ADDR_VAR_HAL_FUNCTION 0x00244Eul
+// *to_struc
+//#define HAL_ADDR_VAR_STREAM_FUNCS 0x0025FEul
+// 18 bytes
+//#define HAL_ADDR_CONST_ETD_COMMON_METHODS 0x002602ul
+// 12 bytes
+//#define HAL_ADDR_VAR_EDT_DISTINCT_METHODS 0x002652ul
+// struct (10 Bytes)
+//#define HAL_ADDR_VAR_HAL_INFOS_IN_RAM 0x00268Aul
+
+
// unsigned short
-#define HAL_ADDR_VAR_QPROTOCOL_ID 0x1346
+//#define HAL_ADDR_VAR_QPROTOCOL_ID 0x2698
// unsigned short
-#define HAL_ADDR_VAR_B_VCC_ON 0x134A
+//#define HAL_ADDR_VAR_B_VCC_ON 0x269A
// unsigned char*
-#define HL_ADDR_JTAG_PORT_OUT 0x134C
-// 12 bytes
-#define HAL_ADDR_VAR_EDT_DISTINCT_METHODS 0x134E
+//#define HL_ADDR_JTAG_PORT_OUT 0x269C
// unsigned long
-#define HAL_ADDR_VAR_DEVICE_FLAGS 0x136C
+//#define HAL_ADDR_VAR_DEVICE_FLAGS 0x269E
// unsigned char *
-#define HAL_ADDR_TSTCTRL_PORT 0x1370
+//#define HAL_ADDR_TSTCTRL_PORT 0x26A0
// unsigned short
-#define HAL_ADDR_VAR_DELAY_LOOP_US 0x1374
+//#define HAL_ADDR_VAR_DELAY_LOOP_US 0x26A2
// unsigned short
-#define HAL_ADDR_VAR_DELAY_LOOP_MS 0x1378
-// 4 byte
-#define HAL_ADDR_VAR_DEVICE_SETTINGS 0x137C
-// 20byte
-#define HAL_ADDR_VAR_DEVICE_POWER_SETTINGS 0x1382
-// unsigned char
-#define HAL_ADDR_CURRENT_INSTR 0x1396
-// unsigned short
-#define HAL_ADDR_VAR_ROM_FOR_CPU_READ 0x1398
+//#define HAL_ADDR_VAR_DELAY_LOOP_MS 0x26A4
+//#define HAL_ADDR_VAR_DEVICE_POWER_SETTINGS 0x26A6ul
// const addresses
// short[5]
-#define HAL_ADDR_CONST_HAL_INFOS 0x253A
+//#define HAL_ADDR_CONST_HAL_INFOS 0x0D020ul//0x0026CAul
// 512 bytes
-#define HAL_ADDR_CONST_HAL_FUNCTION_DEFAULTS 0x2544
-// 18 bytes
-#define HAL_ADDR_CONST_ETD_COMMON_METHODS 0x2748
+//#define HAL_ADDR_CONST_HAL_FUNCTION_DEFAULTS 0x0E02Eul//0x0D02Eul//0x0026D8ul
diff --git a/Bios/src/fw/fet/MemorySegments.h b/Bios/src/fw/fet/MemorySegments.h
new file mode 100644
index 0000000..0ddd9e9
--- /dev/null
+++ b/Bios/src/fw/fet/MemorySegments.h
@@ -0,0 +1,100 @@
+/*
+ * MemorySegments.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// This header file defines the memory segments for each FET
+// The values are used during the firmware update process
+
+// Info memory
+// Used for storing firmware module specific information (e.g. signature, checksum)
+// These segments stay the same for both, eZ-FET and MSP-FET
+const unsigned long INFO_SEGMENTS_COMCHANNEL[] = {0x1980,0x19FF}; // INFOA
+const unsigned long INFO_SEGMENTS_HAL[] ={0x1900, 0x197F}; // INFOB
+const unsigned long INFO_SEGMENTS_HIL[] ={0x1880, 0x18FF}; // INFOC
+const unsigned long INFO_SEGMENTS_DCDC[] ={0x1800, 0x187F}; // INFOD
+
+
+// Checksum address for each firmware module
+const unsigned long CHECKSUM_COMCHANNEL[] = {0x19FA, 0x19FB};
+const unsigned long CHECKSUM_HAL[] = {0x197A, 0x197B};
+const unsigned long CHECKSUM_HIL[] = {0x18FA, 0x18FB};
+const unsigned long CHECKSUM_DCDC[] = {0x187A, 0x187B};
+// Core checksum is not FET independent because it's not stored in INFO memory
+// but rather on the beginning of the core segment
+
+
+// Flash segments for each firmware module
+#ifdef eZ_FET
+ // Core checksum is not FET independent because it's not stored in INFO memory
+ // but rather on the beginning of the core segment
+ const unsigned long CHECKSUM_CORE[] = {0x4402, 0x4403};
+
+ const unsigned long HAL_SEGMENTS[] = {0x0E000, 0x0FDFF, 0x10000, 0x1DFFF};
+ const unsigned long HIL_SEGMENTS[] = {0x8A00, 0xDFFF};
+ const unsigned long DCDC_SEGMENTS[] = {0x23000,0x243FF};
+ const unsigned long COMCHANNEL_SEGMENTS[] = {0x21000,0x22FFF};
+ const unsigned long CORE_SEGMENTS[] = {0x4400,0x89FF};
+ const unsigned long CORE_SEGMENTS_RESET[] = {0xFF80,0xFFFF};
+#endif
+
+#ifdef MSP_FET
+ const unsigned long CHECKSUM_CORE[] = {0x8002, 0x8003};
+
+ const unsigned long HAL_SEGMENTS[] = {0x18E00, 0x30DFF};
+ const unsigned long HAL_FPGA_SEGMENTS[] = {0x18E00, 0x45FFF};
+ const unsigned long HIL_SEGMENTS[] = {0xCC00, 0xFDFF, 0x10000, 0x18DFF};
+ const unsigned long DCDC_SEGMENTS[] = {0x47200,0x47FFF};
+ const unsigned long COMCHANNEL_SEGMENTS[] = {0x46000,0x471FF};
+ const unsigned long CORE_SEGMENTS[] = {0x8000,0xCBFF};
+ const unsigned long CORE_SEGMENTS_RESET[] = {0xFE00,0xFFFF};
+#endif
+
+
+// Segment types
+// These are used during the update process to determine which segments to erase
+// or write
+const unsigned char NO_SEGMENT = 0;
+const unsigned char INFO_SEGMENT_HIL = 1;
+const unsigned char INFO_SEGMENT_HAL = 2;
+const unsigned char HAL_SEGMENT = 3;
+const unsigned char HIL_SEGMENT = 4;
+const unsigned char INFO_SEGMENT_DCDC = 5;
+const unsigned char DCDC_SEGMENT = 6;
+const unsigned char INFO_SEGMENT_COMCHANNEL = 7;
+const unsigned char COMCHANNEL_SEGMENT = 8;
+const unsigned char HAL_SEGMENT_FPGA = 9;
+
+// Segment size of different memory parts (e.g. INFO memory, Flash memory)
+const unsigned short SEGMENT_SIZE_INFO = 128; // Segment size in bytes of Flash
+const unsigned short SEGMENT_SIZE_HAL_HIL = 512; // Segment size in bytes of Flash
diff --git a/Bios/src/fw/fet/USB_API/USB_CDC_API/UsbCdc.c b/Bios/src/fw/fet/USB_API/USB_CDC_API/UsbCdc.c
new file mode 100644
index 0000000..bc44e72
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_CDC_API/UsbCdc.c
@@ -0,0 +1,1139 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== UsbCdc.c ========
+ */
+#include
+
+#ifdef _CDC_
+
+
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h" //USB-specific Data Structures
+#include "../USB_CDC_API/UsbCdc.h"
+#include "hw_compiler_specific.h"
+
+#include
+
+//Local Macros
+#define INTFNUM_OFFSET(X) (X - CDC0_INTFNUM) //Get the CDC offset
+
+static struct _CdcControl {
+ ULONG lBaudrate;
+ BYTE bDataBits;
+ BYTE bStopBits;
+ BYTE bParity;
+} CdcControl[CDC_NUM_INTERFACES];
+
+struct _CdcWrite CdcWriteCtrl[CDC_NUM_INTERFACES];
+
+struct _CdcRead CdcReadCtrl[CDC_NUM_INTERFACES];
+
+#ifdef BRIDGE_CDC_PRESENT
+
+static struct _CdcBridgeCtrl {
+ BYTE *uartRx;
+ BYTE *uartTx;
+ BYTE *uartIFG;
+ WORD *usbToUartDmaChSz;
+ WORD *usbToUartDmaChCtl;
+ BYTE ctsState;
+} CdcBridgeCtrl;
+
+#endif
+
+extern WORD wUsbEventMask;
+
+//function pointers
+extern VOID *(*USB_TX_memcpy)(VOID * dest, const VOID * source, size_t count);
+extern VOID *(*USB_RX_memcpy)(VOID * dest, const VOID * source, size_t count);
+
+
+/*----------------------------------------------------------------------------+
+ | Global Variables |
+ +----------------------------------------------------------------------------*/
+
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern __no_init tEDB __data16 tOutputEndPointDescriptorBlock[];
+
+
+VOID CdcResetData ()
+{
+ int i;
+
+ //indicates which buffer is used by host to transmit data via OUT endpoint3 - X buffer is first
+ //CdcReadCtrl[intfIndex].bCurrentBufferXY = X_BUFFER;
+
+ memset(&CdcWriteCtrl, 0, sizeof(CdcWriteCtrl));
+ memset(&CdcReadCtrl, 0, sizeof(CdcReadCtrl));
+ memset(&CdcControl, 0, sizeof(CdcControl));
+
+ for (i = 0; i < CDC_NUM_INTERFACES; i++){
+ CdcControl[i].bDataBits = 8;
+ }
+}
+
+/*
+ * Sends data over interface intfNum, of size size and starting at address data.
+ * Returns: kUSBCDC_sendStarted
+ * kUSBCDC_sendComplete
+ * kUSBCDC_intfBusyError
+ */
+BYTE USBCDC_sendData (const BYTE* data, WORD size, BYTE intfNum)
+{
+ BYTE edbIndex;
+ WORD state;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (size == 0)
+ {
+ return (kUSBCDC_generalError);
+ }
+
+ state = usbDisableInEndpointInterrupt(edbIndex);
+
+ //do not access USB memory if suspended (PLL uce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE))
+ {
+ //data can not be read because of USB suspended
+ usbRestoreInEndpointInterrupt(state); //restore interrupt status
+ return (kUSBCDC_busNotAvailable);
+ }
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft != 0)
+ {
+ //the USB still sends previous data, we have to wait
+ usbRestoreInEndpointInterrupt(state); //restore interrupt status
+ return (kUSBCDC_intfBusyError);
+ }
+
+ //This function generate the USB interrupt. The data will be sent out from interrupt
+
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSend = size;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft = size;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].pUsbBufferToSend = data;
+
+ //trigger Endpoint Interrupt - to start send operation
+ USBIEPIFG |= 1 << (edbIndex + 1); //IEPIFGx;
+
+ usbRestoreInEndpointInterrupt(state);
+
+ return (kUSBCDC_sendStarted);
+}
+
+#define EP_MAX_PACKET_SIZE_CDC 0x40
+
+//this function is used only by USB interrupt
+BOOL CdcToHostFromBuffer (BYTE intfNum)
+{
+ BYTE byte_count, nTmp2;
+ BYTE * pEP1;
+ BYTE * pEP2;
+ BYTE * pCT1;
+ BYTE * pCT2;
+ BYTE bWakeUp = FALSE; //TRUE for wake up after interrupt
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft == 0){ //do we have somtething to send?
+ if (!CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bZeroPacketSent){ //zero packet was not yet sent
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bZeroPacketSent = TRUE;
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].last_ByteSend ==
+ EP_MAX_PACKET_SIZE_CDC){
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY ==
+ X_BUFFER){
+ if (tInputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK){
+ tInputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY
+ = Y_BUFFER; //switch buffer
+ }
+ } else {
+ if (tInputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK){
+ tInputEndPointDescriptorBlock[edbIndex].bEPBCTY = 0;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY
+ = X_BUFFER; //switch buffer
+ }
+ }
+ }
+
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSend = 0; //nothing to send
+
+ //call event callback function
+ if (wUsbEventMask & kUSB_sendCompletedEvent){
+ bWakeUp = USBCDC_handleSendCompleted(intfNum);
+ }
+ } //if (!bSentZeroPacket)
+
+ return (bWakeUp);
+ }
+
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bZeroPacketSent = FALSE; //zero packet will be not sent: we have data
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can send over one endpoint buffer
+ byte_count =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft >
+ EP_MAX_PACKET_SIZE_CDC) ? EP_MAX_PACKET_SIZE_CDC : CdcWriteCtrl[
+ INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft;
+ nTmp2 = *pCT1;
+
+ if (nTmp2 & EPBCNT_NAK){
+ USB_TX_memcpy(pEP1, CdcWriteCtrl[INTFNUM_OFFSET(
+ intfNum)].pUsbBufferToSend,
+ byte_count); //copy data into IEP3 X or Y buffer
+ *pCT1 = byte_count; //Set counter for usb In-Transaction
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY + 1) & 0x01; //switch buffer
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft -= byte_count;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].pUsbBufferToSend += byte_count; //move buffer pointer
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].last_ByteSend = byte_count;
+
+ //try to send data over second buffer
+ nTmp2 = *pCT2;
+ if ((CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft > 0) && //do we have more data to send?
+ (nTmp2 & EPBCNT_NAK)){ //if the second buffer is free?
+ //how many byte we can send over one endpoint buffer
+ byte_count =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft >
+ EP_MAX_PACKET_SIZE_CDC) ? EP_MAX_PACKET_SIZE_CDC :
+ CdcWriteCtrl[
+ INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft;
+
+ USB_TX_memcpy(pEP2, CdcWriteCtrl[INTFNUM_OFFSET(
+ intfNum)].pUsbBufferToSend,
+ byte_count); //copy data into IEP3 X or Y buffer
+ *pCT2 = byte_count; //Set counter for usb In-Transaction
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01; //switch buffer
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft -=
+ byte_count;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].pUsbBufferToSend +=
+ byte_count; //move buffer pointer
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].last_ByteSend = byte_count;
+ }
+ }
+ return (bWakeUp);
+}
+
+/*
+ * Aborts an active send operation on interface intfNum.
+ * Returns the number of bytes that were sent prior to the abort, in size.
+ */
+BYTE USBCDC_abortSend (WORD* size, BYTE intfNum)
+{
+ BYTE edbIndex;
+ WORD state;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ state = usbDisableInEndpointInterrupt(edbIndex); //disable interrupts - atomic operation
+
+ *size =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSend -
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft);
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSend = 0;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft = 0;
+
+ usbRestoreInEndpointInterrupt(state);
+ return (kUSB_succeed);
+}
+
+//This function copies data from OUT endpoint into user's buffer
+//Arguments:
+//pEP - pointer to EP to copy from
+//pCT - pointer to pCT control reg
+//
+VOID CopyUsbToBuff (BYTE* pEP, BYTE* pCT, BYTE intfNum)
+{
+ BYTE nCount;
+
+ //how many byte we can get from one endpoint buffer
+ nCount =
+ (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft >
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp) ? CdcReadCtrl[
+ INTFNUM_OFFSET(intfNum)].nBytesInEp : CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)].
+ nBytesToReceiveLeft;
+
+ USB_RX_memcpy(CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer, pEP, nCount); //copy data from OEP3 X or Y buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft -= nCount;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer += nCount; //move buffer pointer
+ //to read rest of data next time from this place
+
+ if (nCount == CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp){ //all bytes are copied from receive buffer?
+ //switch current buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY + 1) & 0x01;
+
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+
+ //clear NAK, EP ready to receive data
+ *pCT = 0x00;
+ } else {
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp -= nCount;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos = pEP + nCount;
+ }
+}
+
+/*
+ * Receives data over interface intfNum, of size size, into memory starting at address data.
+ * Returns:
+ * kUSBCDC_receiveStarted if the receiving process started.
+ * kUSBCDC_receiveCompleted all requested date are received.
+ * kUSBCDC_receiveInProgress previous receive opereation is in progress. The requested receive operation can be not started.
+ * kUSBCDC_generalError error occurred.
+ */
+BYTE USBCDC_receiveData (BYTE* data, WORD size, BYTE intfNum)
+{
+ BYTE nTmp1;
+ BYTE edbIndex;
+ WORD state;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if ((size == 0) || //read size is 0
+ (data == NULL)){
+ return (kUSBCDC_generalError);
+ }
+
+ state = usbDisableOutEndpointInterrupt(edbIndex);
+ //atomic operation - disable interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //data can not be read because of USB suspended
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_busNotAvailable);
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL){ //receive process already started
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_intfBusyError);
+ }
+
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive = size; //bytes to receive
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft = size; //left bytes to receive
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = data; //set user receive buffer
+
+ //read rest of data from buffer, if any
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > 0){
+ //copy data from pEP-endpoint into User's buffer
+ CopyUsbToBuff(CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1, intfNum);
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBCDC_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_receiveCompleted); //receive completed
+ }
+
+ //check other EP buffer for data - exchange pCT1 with pCT2
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 ==
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX){
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ } else {
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ }
+
+ nTmp1 = *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ //try read data from second buffer
+ if (nTmp1 & EPBCNT_NAK){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+ CopyUsbToBuff(CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1, intfNum);
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBCDC_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_receiveCompleted); //receive completed
+ }
+ } //read rest of data from buffer, if any
+
+ //read 'fresh' data, if available
+ nTmp1 = 0;
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //this is current buffer
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ //this is the active EP buffer
+ //pEP1
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ nTmp1 = 1; //indicate that data is available
+ }
+ } else { //Y_BUFFER
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){
+ //this is the active EP buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ nTmp1 = 1; //indicate that data is available
+ }
+ }
+
+ if (nTmp1){
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ while (nTmp1 == 0)
+ {
+ nTmp1 = *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ }
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+
+ CopyUsbToBuff(CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1, intfNum);
+
+ nTmp1 = *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ //try read data from second buffer
+ if ((CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft >
+ 0) && //do we have more data to send?
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+ CopyUsbToBuff(CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pEP2,
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2, intfNum);
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ }
+ }
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBCDC_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_receiveCompleted);
+ }
+
+ //interrupts enable
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_receiveStarted);
+}
+
+//this function is used only by USB interrupt.
+//It fills user receiving buffer with received data
+BOOL CdcToBufferFromHost (BYTE intfNum)
+{
+ BYTE * pEP1;
+ BYTE nTmp1;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //do we have somtething to receive?
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ return (bWakeUp);
+ }
+
+ //No data to receive...
+ if (!((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX |
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY)
+ & 0x80)){
+ return (bWakeUp);
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+
+ CopyUsbToBuff(pEP1, CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1, intfNum);
+
+ nTmp1 = *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ //try read data from second buffer
+ if ((CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft > 0) && //do we have more data to send?
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+ CopyUsbToBuff(CdcReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pEP2,
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2, intfNum);
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ }
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ bWakeUp |= USBCDC_handleReceiveCompleted(intfNum);
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp){ //Is not read data still available in the EP?
+ if (wUsbEventMask & kUSB_dataReceivedEvent){
+ bWakeUp |= USBCDC_handleDataReceived(intfNum);
+ }
+ }
+ }
+ return (bWakeUp);
+}
+
+//helper for USB interrupt handler
+BOOL CdcIsReceiveInProgress (BYTE intfNum)
+{
+ return (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL);
+}
+
+/*
+ * Aborts an active receive operation on interface intfNum.
+ * Returns the number of bytes that were received and transferred
+ * to the data location established for this receive operation.
+ */
+BYTE USBCDC_abortReceive (WORD* size, BYTE intfNum)
+{
+ //interrupts disable
+ BYTE edbIndex;
+ WORD state;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ state = usbDisableOutEndpointInterrupt(edbIndex);
+
+ *size = 0; //set received bytes count to 0
+
+ //is receive operation underway?
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer){
+ //how many bytes are already received?
+ *size = CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive -
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft;
+
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL;
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft = 0;
+ }
+
+ //restore interrupt status
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSB_succeed);
+}
+
+/*
+ * This function rejects payload data that has been received from the host.
+ */
+BYTE USBCDC_rejectData (BYTE intfNum)
+{
+ BYTE edbIndex;
+ WORD state;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ state = usbDisableOutEndpointInterrupt(edbIndex);
+
+ //atomic operation - disable interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if (bFunctionSuspended){
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSBCDC_busNotAvailable);
+ }
+
+ //Is receive operation underway?
+ //- do not flush buffers if any operation still active.
+ if (!CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer){
+ BYTE tmp1 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK;
+ BYTE tmp2 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK;
+
+ if (tmp1 ^ tmp2){ //switch current buffer if any and only ONE of buffers
+ //is full
+ //switch current buffer
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01;
+ }
+
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0; //flush buffer X
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY = 0; //flush buffer Y
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0; //indicates that no more data available in the EP
+ }
+
+ usbRestoreOutEndpointInterrupt(state);
+ return (kUSB_succeed);
+}
+
+/*
+ * This function indicates the status of the itnerface intfNum.
+ * If a send operation is active for this interface,
+ * the function also returns the number of bytes that have been transmitted to the host.
+ * If a receiver operation is active for this interface, the function also returns
+ * the number of bytes that have been received from the host and are waiting at the assigned address.
+ *
+ * returns kUSBCDC_waitingForSend (indicates that a call to USBCDC_SendData()
+ * has been made, for which data transfer has not been completed)
+ *
+ * returns kUSBCDC_waitingForReceive (indicates that a receive operation
+ * has been initiated, but not all data has yet been received)
+ *
+ * returns kUSBCDC_dataWaiting (indicates that data has been received
+ * from the host, waiting in the USB receive buffers)
+ */
+BYTE USBCDC_intfStatus (BYTE intfNum, WORD* bytesSent, WORD* bytesReceived)
+{
+ BYTE ret = 0;
+ WORD stateIn, stateOut;
+ BYTE edbIndex;
+
+ *bytesSent = 0;
+ *bytesReceived = 0;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ stateIn = usbDisableInEndpointInterrupt(edbIndex);
+ stateOut = usbDisableOutEndpointInterrupt(edbIndex);
+
+ //Is send operation underway?
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft != 0){
+ ret |= kUSBCDC_waitingForSend;
+ *bytesSent = CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSend -
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft;
+ }
+
+ //Is receive operation underway?
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL){
+ ret |= kUSBCDC_waitingForReceive;
+ *bytesReceived = CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive -
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].
+ nBytesToReceiveLeft;
+ }
+ else
+ { //receive operation not started
+ //do not access USB memory if suspended (PLL off).
+ //It may produce BUS_ERROR
+ if (!bFunctionSuspended)
+ {
+ if ((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK) | //any of buffers has a valid data packet
+ (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK)){
+ ret |= kUSBCDC_dataWaiting;
+ }
+ }
+ }
+
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //if suspended or not enumerated - report no other tasks pending
+ ret = kUSBCDC_busNotAvailable;
+ }
+
+ //restore interrupt status
+ usbRestoreInEndpointInterrupt(stateIn);
+ usbRestoreOutEndpointInterrupt(stateOut);
+
+ __no_operation();
+ return (ret);
+}
+
+/*
+ * Returns how many bytes are in the buffer are received and ready to be read.
+ */
+BYTE USBCDC_bytesInUSBBuffer (BYTE intfNum)
+{
+ BYTE bTmp1 = 0;
+ WORD state;
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ state = usbDisableOutEndpointInterrupt(edbIndex);
+ //atomic operation - disable interrupts
+
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ usbRestoreOutEndpointInterrupt(state);
+ //if suspended or not enumerated - report 0 bytes available
+ return (0);
+ }
+
+ if (CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > 0){ //If a RX operation is underway, part of data may
+ //was read of the OEP buffer
+ bTmp1 = CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp;
+ if (*CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & EPBCNT_NAK){ //the next buffer has a valid data packet
+ bTmp1 += *CdcReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & 0x7F;
+ }
+ } else {
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ bTmp1 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & 0x7F;
+ }
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){ //this buffer has a valid data packet
+ bTmp1 += tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & 0x7F;
+ }
+ }
+
+ usbRestoreOutEndpointInterrupt(state);
+ return (bTmp1);
+}
+
+//----------------------------------------------------------------------------
+//Line Coding Structure
+//dwDTERate | 4 | Data terminal rate, in bits per second
+//bCharFormat | 1 | Stop bits, 0 = 1 Stop bit, 1 = 1,5 Stop bits, 2 = 2 Stop bits
+//bParityType | 1 | Parity, 0 = None, 1 = Odd, 2 = Even, 3= Mark, 4 = Space
+//bDataBits | 1 | Data bits (5,6,7,8,16)
+//----------------------------------------------------------------------------
+BYTE usbGetLineCoding (VOID)
+{
+ BYTE infIndex;
+
+ if(tSetupPacket.wIndex % 2)
+ {
+ infIndex = (tSetupPacket.wIndex-1) / 2;
+ }
+ else
+ {
+ infIndex = (tSetupPacket.wIndex) / 2;
+ }
+
+ abUsbRequestReturnData[6] =
+ CdcControl[infIndex].bDataBits; //Data bits = 8
+ abUsbRequestReturnData[5] =
+ CdcControl[infIndex].bParity; //No Parity
+ abUsbRequestReturnData[4] =
+ CdcControl[infIndex].bStopBits; //Stop bits = 1
+
+ abUsbRequestReturnData[3] =
+ CdcControl[infIndex].lBaudrate >> 24;
+ abUsbRequestReturnData[2] =
+ CdcControl[infIndex].lBaudrate >> 16;
+ abUsbRequestReturnData[1] =
+ CdcControl[infIndex].lBaudrate >> 8;
+ abUsbRequestReturnData[0] =
+ CdcControl[infIndex].lBaudrate;
+
+ wBytesRemainingOnIEP0 = 0x07; //amount of data to be send over EP0 to host
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]); //send data to host
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetLineCoding (VOID)
+{
+ usbReceiveDataPacketOnEP0((PBYTE)&abUsbRequestIncomingData); //receive data over EP0 from Host
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetControlLineState (VOID)
+{
+ USBCDC_handleSetControlLineState((BYTE)tSetupPacket.wIndex,
+ (BYTE)tSetupPacket.wValue);
+ usbSendZeroLengthPacketOnIEP0(); //Send ZLP for status stage
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE Handler_SetLineCoding (VOID)
+{
+ BYTE bWakeUp;
+ volatile BYTE infIndex;
+
+ if(tSetupPacket.wIndex % 2)
+ {
+ infIndex = (tSetupPacket.wIndex-1) / 2;
+ }
+ else
+ {
+ infIndex = (tSetupPacket.wIndex) / 2;
+ }
+
+ //Baudrate Settings
+
+ CdcControl[infIndex].lBaudrate =
+ (ULONG)abUsbRequestIncomingData[3] << 24 |
+ (ULONG)abUsbRequestIncomingData[2] << 16 |
+ (ULONG)
+ abUsbRequestIncomingData[1] << 8 | abUsbRequestIncomingData[0];
+ bWakeUp =
+ USBCDC_handleSetLineCoding(tSetupPacket.wIndex,
+ CdcControl[infIndex].lBaudrate);
+
+ return (bWakeUp);
+}
+
+#ifdef BRIDGE_CDC_PRESENT
+
+BYTE USBCDC_setupDMA_Bridge()
+{
+ CdcBridgeCtrl.ctsState = 0;
+ switch (BRIDGE_UART_USCI_NUM) {
+ case 0:
+ CdcBridgeCtrl.uartRx = (BYTE *)&UCA0RXBUF;
+ CdcBridgeCtrl.uartTx = (BYTE *)&UCA0TXBUF;
+ CdcBridgeCtrl.uartIFG = (BYTE *)&UCA0IFG;
+ break;
+ case 1:
+ CdcBridgeCtrl.uartRx = (BYTE *)&UCA1RXBUF;
+ CdcBridgeCtrl.uartTx = (BYTE *)&UCA1TXBUF;
+ CdcBridgeCtrl.uartIFG = (BYTE *)&UCA1IFG;
+ break;
+ case 2:
+ CdcBridgeCtrl.uartRx = (BYTE *)&UCB0RXBUF;
+ CdcBridgeCtrl.uartTx = (BYTE *)&UCB0TXBUF;
+ CdcBridgeCtrl.uartIFG = (BYTE *)&UCB0IFG;
+ break;
+ case 3:
+ CdcBridgeCtrl.uartRx = (BYTE *)&UCB1RXBUF;
+ CdcBridgeCtrl.uartTx = (BYTE *)&UCB1TXBUF;
+ CdcBridgeCtrl.uartIFG = (BYTE *)&UCB1IFG;
+ break;
+ }
+ switch (BRIDGE_UART_TO_USB_DMA_CHAN)
+ {
+ case 0:
+ DMACTL0 = DMA0TSEL_16;
+ __data16_write_addr((unsigned short) &DMA0SA,(unsigned long)CdcBridgeCtrl.uartRx);
+ __data16_write_addr((unsigned short) &DMA0DA,(unsigned long)USBCDC_Bridge_getInEndpointBufferXAddr(CDC0_INTFNUM));
+ DMA0SZ = 16;
+ DMA0CTL = DMADT_0 + DMADSTINCR_3 + DMASBDB + DMAEN + DMAIE;
+ break;
+ case 1:
+ DMACTL0 = DMA1TSEL_16;
+ __data16_write_addr((unsigned short) &DMA1SA,(unsigned long)CdcBridgeCtrl.uartRx);
+ __data16_write_addr((unsigned short) &DMA1DA,(unsigned long)USBCDC_Bridge_getInEndpointBufferXAddr(CDC0_INTFNUM));
+ DMA1SZ = 16;
+ DMA1CTL = DMADT_0 + DMADSTINCR_3 + DMASBDB + DMAEN + DMAIE;
+ break;
+ case 2:
+ DMACTL1 = DMA2TSEL_16;
+ __data16_write_addr((unsigned short) &DMA2SA,(unsigned long)CdcBridgeCtrl.uartRx);
+ __data16_write_addr((unsigned short) &DMA2DA,(unsigned long)USBCDC_Bridge_getInEndpointBufferXAddr(CDC0_INTFNUM));
+ DMA2SZ = 16;
+ DMA2CTL = DMADT_0 + DMADSTINCR_3 + DMASBDB + DMAEN + DMAIE;
+ break;
+ }
+
+ switch (BRIDGE_USB_TO_UART_DMA_CHAN)
+ {
+ case 0:
+ CdcBridgeCtrl.usbToUartDmaChSz = (WORD *)&DMA0SZ;
+ CdcBridgeCtrl.usbToUartDmaChCtl = (WORD *)&DMA0CTL;
+ DMACTL0 = DMA0TSEL_17;
+ __data16_write_addr((unsigned short) &DMA0SA,(unsigned long)(USBCDC_Bridge_getOutEndpointBufferXAddr(CDC0_INTFNUM) + 1));
+ __data16_write_addr((unsigned short) &DMA0DA,(unsigned long)CdcBridgeCtrl.uartTx);
+ break;
+ case 1:
+ CdcBridgeCtrl.usbToUartDmaChSz = (WORD *)&DMA1SZ;
+ CdcBridgeCtrl.usbToUartDmaChCtl = (WORD *)&DMA1CTL;
+ DMACTL0 = DMA1TSEL_17;
+ __data16_write_addr((unsigned short) &DMA1SA,(unsigned long)(USBCDC_Bridge_getOutEndpointBufferXAddr(CDC0_INTFNUM) + 1));
+ __data16_write_addr((unsigned short) &DMA1DA,(unsigned long)CdcBridgeCtrl.uartTx);
+ break;
+ case 2:
+ CdcBridgeCtrl.usbToUartDmaChSz = (WORD *)&DMA2SZ;
+ CdcBridgeCtrl.usbToUartDmaChCtl = (WORD *)&DMA2CTL;
+ DMACTL1 = DMA2TSEL_17;
+ __data16_write_addr((unsigned short) &DMA2SA,(unsigned long)(USBCDC_Bridge_getOutEndpointBufferXAddr(CDC0_INTFNUM) + 1));
+ __data16_write_addr((unsigned short) &DMA2DA,(unsigned long)CdcBridgeCtrl.uartTx);
+ break;
+ }
+
+ return (TRUE);
+}
+
+BYTE USBCDC_Bridge_sendData (WORD size, BYTE intfNum)
+{
+ BYTE edbIndex;
+ WORD state;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ state = usbDisableInEndpointInterrupt(edbIndex);
+ //atomic operation - disable interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //data can not be read because of USB suspended
+ usbRestoreInEndpointInterrupt(state);
+ return (kUSBCDC_busNotAvailable);
+ }
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft != 0){
+ //the USB still sends previous data, we have to wait
+ usbRestoreInEndpointInterrupt(state);
+ return (kUSBCDC_intfBusyError);
+ }
+
+ //This function generate the USB interrupt. The data will be sent out from interrupt
+
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSend = size;
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft = size;
+
+ //trigger Endpoint Interrupt - to start send operation
+ USBIEPIFG |= 1 << (edbIndex + 1); //IEPIFGx;
+
+ usbRestoreInEndpointInterrupt(state);
+
+ return (kUSBCDC_sendStarted);
+}
+
+//this function is used only by USB interrupt
+BOOL CdcToHostFromBuffer_Bridge (BYTE intfNum)
+{
+ BYTE byte_count, nTmp2;
+ BYTE * pCT1;
+ BYTE bWakeUp = FALSE; //TRUE for wake up after interrupt
+ BYTE edbIndex;
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft == 0){
+ return (bWakeUp);
+ }
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ //this is the active EP buffer
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ if (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ } else {
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ }
+
+ //how many byte we can send over one endpoint buffer
+ byte_count =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft >
+ EP_MAX_PACKET_SIZE_CDC) ? EP_MAX_PACKET_SIZE_CDC : CdcWriteCtrl[
+ INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft;
+ nTmp2 = *pCT1;
+
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY + 1) & 0x01;
+
+ if (nTmp2 & EPBCNT_NAK){ //copy data into IEP3 X or Y buffer
+ *pCT1 = byte_count; //Set counter for usb In-Transaction
+ CdcWriteCtrl[INTFNUM_OFFSET(intfNum)].nCdcBytesToSendLeft -= byte_count;
+ }
+
+ return (bWakeUp);
+}
+
+BYTE *USBCDC_Bridge_getInEndpointBufferXAddr(BYTE intfNum) {
+ return ((BYTE *)stUsbHandle[CDC0_INTFNUM].iep_X_Buffer);
+}
+
+BYTE *USBCDC_Bridge_getInEndpointBufferYAddr(BYTE intfNum) {
+ return ((BYTE *)stUsbHandle[CDC0_INTFNUM].iep_Y_Buffer);
+}
+
+BYTE *USBCDC_Bridge_getOutEndpointBufferXAddr(BYTE intfNum) {
+ return ((BYTE *)stUsbHandle[CDC0_INTFNUM].oep_X_Buffer);
+}
+
+BYTE *USBCDC_Bridge_getOutEndpointBufferYAddr(BYTE intfNum) {
+ return ((BYTE *)stUsbHandle[CDC0_INTFNUM].oep_Y_Buffer);
+}
+
+//this function is used only by USB interrupt.
+//It fills user receiving buffer with received data
+BOOL CdcToBufferFromHost_Bridge (BYTE intfNum)
+{
+ BYTE *pEP1, *pCT1;
+ BYTE nTmp1;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+ BYTE i;
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ //No data to receive...
+ if (!((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & 0x80))){
+ return (bWakeUp);
+ }
+
+ if (CdcBridgeCtrl.ctsState == 0) {
+ return (bWakeUp);
+ }
+
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ pCT1 = &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ __no_operation();
+ __no_operation();
+
+ //how many byte we can get from endpoint buffer
+ nTmp1 = *pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ CdcReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+
+ if (nTmp1 > 0) {
+ //Start DMA
+ if (nTmp1 > 5 ) {
+ //Start DMA
+ while (!(*CdcBridgeCtrl.uartIFG & UCTXIFG));
+ *CdcBridgeCtrl.uartTx = *pEP1;
+ *CdcBridgeCtrl.usbToUartDmaChSz = nTmp1 - 1; // Block size
+ *CdcBridgeCtrl.usbToUartDmaChCtl = DMADT_0 + DMASRCINCR_3 + DMASBDB + DMAEN + DMAIE;// Rpt, inc src, enable
+ }
+ else {
+ for (i = 0; i < nTmp1; i++) {
+ while (!(*CdcBridgeCtrl.uartIFG & UCTXIFG)); // USCI_A0 TX buffer ready?
+ *CdcBridgeCtrl.uartTx = *pEP1++; // TX -> RXed character
+ }
+ *pCT1 = 0x00;
+ }
+ }
+ else {
+ *pCT1 = 0x00;
+ }
+ }
+
+ return (bWakeUp);
+}
+
+BYTE USBCDC_Bridge_completeReceiveData (BYTE intfNum)
+{
+ BYTE *pCT1;
+ BYTE edbIndex;
+
+ DMA2CTL = 0;
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ pCT1 = &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ *pCT1 = 0x00;
+
+ return (FALSE);
+}
+
+void USBCDC_setCTS(BYTE state)
+{
+ CdcBridgeCtrl.ctsState = state;
+ CdcToBufferFromHost_Bridge(CDC0_INTFNUM);
+}
+#endif //BRIDGE_CDC_PRESENT
+
+#endif //ifdef _CDC_
+
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_CDC_API/UsbCdc.h b/Bios/src/fw/fet/USB_API/USB_CDC_API/UsbCdc.h
new file mode 100644
index 0000000..831994d
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_CDC_API/UsbCdc.h
@@ -0,0 +1,241 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== UsbCdc.h ========
+ */
+#ifndef _UsbCdc_H_
+#define _UsbCdc_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+#define kUSBCDC_sendStarted 0x01
+#define kUSBCDC_sendComplete 0x02
+#define kUSBCDC_intfBusyError 0x03
+#define kUSBCDC_receiveStarted 0x04
+#define kUSBCDC_receiveCompleted 0x05
+#define kUSBCDC_receiveInProgress 0x06
+#define kUSBCDC_generalError 0x07
+#define kUSBCDC_busNotAvailable 0x08
+
+struct _CdcWrite {
+ WORD nCdcBytesToSend; //holds counter of bytes to be sent
+ WORD nCdcBytesToSendLeft; //holds counter how many bytes is still to be sent
+ const BYTE* pUsbBufferToSend; //holds the buffer with data to be sent
+ BYTE bCurrentBufferXY; //is 0 if current buffer to write data is X, or 1 if current buffer is Y
+ BYTE bZeroPacketSent; //= FALSE;
+ BYTE last_ByteSend;
+};
+
+struct _CdcRead {
+ BYTE *pUserBuffer; //holds the current position of user's receiving buffer. If NULL- no receiving
+ //operation started
+ BYTE *pCurrentEpPos; //current positon to read of received data from curent EP
+ WORD nBytesToReceive; //holds how many bytes was requested by receiveData() to receive
+ WORD nBytesToReceiveLeft; //holds how many bytes is still requested by receiveData() to receive
+ BYTE * pCT1; //holds current EPBCTxx register
+ BYTE * pCT2; //holds next EPBCTxx register
+ BYTE * pEP2; //holds addr of the next EP buffer
+ BYTE nBytesInEp; //how many received bytes still available in current EP
+ BYTE bCurrentBufferXY; //indicates which buffer is used by host to transmit data via OUT endpoint3
+};
+
+
+/*----------------------------------------------------------------------------
+ * These functions can be used in application
+ +----------------------------------------------------------------------------*/
+
+/*
+ * Sends data over interface intfNum, of size size and starting at address data.
+ * Returns: kUSBCDC_sendStarted
+ * kUSBCDC_sendComplete
+ * kUSBCDC_intfBusyError
+ */
+BYTE USBCDC_sendData (const BYTE* data, WORD size, BYTE intfNum);
+
+/*
+ * Receives data over interface intfNum, of size size, into memory starting at address data.
+ */
+BYTE USBCDC_receiveData (BYTE* data, WORD size, BYTE intfNum);
+
+/*
+ * Aborts an active receive operation on interface intfNum.
+ * size: the number of bytes that were received and transferred
+ * to the data location established for this receive operation.
+ */
+BYTE USBCDC_abortReceive (WORD* size, BYTE intfNum);
+
+
+#define kUSBCDC_noDataWaiting 1 //returned by USBCDC_rejectData() if no data pending
+
+/*
+ * This function rejects payload data that has been received from the host.
+ */
+BYTE USBCDC_rejectData (BYTE intfNum);
+
+/*
+ * Aborts an active send operation on interface intfNum. Returns the number of bytes that were sent prior to the abort, in size.
+ */
+BYTE USBCDC_abortSend (WORD* size, BYTE intfNum);
+
+
+#define kUSBCDC_waitingForSend 0x01
+#define kUSBCDC_waitingForReceive 0x02
+#define kUSBCDC_dataWaiting 0x04
+#define kUSBCDC_busNotAvailable 0x08
+#define kUSB_allCdcEvents 0xFF
+
+/*
+ * This function indicates the status of the interface intfNum.
+ * If a send operation is active for this interface,
+ * the function also returns the number of bytes that have been transmitted to the host.
+ * If a receiver operation is active for this interface, the function also returns
+ * the number of bytes that have been received from the host and are waiting at the assigned address.
+ *
+ * returns kUSBCDC_waitingForSend (indicates that a call to USBCDC_SendData()
+ * has been made, for which data transfer has not been completed)
+ *
+ * returns kUSBCDC_waitingForReceive (indicates that a receive operation
+ * has been initiated, but not all data has yet been received)
+ *
+ * returns kUSBCDC_dataWaiting (indicates that data has been received
+ * from the host, waiting in the USB receive buffers)
+ */
+BYTE USBCDC_intfStatus (BYTE intfNum, WORD* bytesSent, WORD* bytesReceived);
+
+/*
+ * Returns how many bytes are in the buffer are received and ready to be read.
+ */
+BYTE USBCDC_bytesInUSBBuffer (BYTE intfNum);
+
+/*----------------------------------------------------------------------------
+ * Event-Handling routines
+ +----------------------------------------------------------------------------*/
+
+/*
+ * This event indicates that data has been received for interface intfNum, but no data receive operation is underway.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBCDC_handleDataReceived (BYTE intfNum);
+
+/*
+ * This event indicates that a send operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBCDC_handleSendCompleted (BYTE intfNum);
+
+/*
+ * This event indicates that a receive operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBCDC_handleReceiveCompleted (BYTE intfNum);
+
+/*
+ * Toggle state variable for CTS in USB Stack
+ */
+void USBCDC_setCTS(BYTE state);
+
+/*
+ * This event indicates that a SetLineCoding request was received from the host and new values
+ * for line coding paramters are available.
+ *
+ */
+BYTE USBCDC_handleSetLineCoding (BYTE intfNum, ULONG lBaudrate);
+
+/*
+ * This event indicates that a SetControlLineState request was received from the host.
+ * Basically new RTS and DTR states have been sent. Bit 0 of lineState is DTR and Bit 1 is RTS.
+ *
+ */
+BYTE USBCDC_handleSetControlLineState (BYTE intfNum, BYTE lineState);
+
+/*----------------------------------------------------------------------------
+ * These functions is to be used ONLY by USB stack, and not by application
+ +----------------------------------------------------------------------------*/
+
+/**
+ * Send a packet with the settings of the second uart back to the usb host
+ */
+BYTE usbGetLineCoding(VOID);
+
+/**
+ * Prepare EP0 to receive a packet with the settings for the second uart
+ */
+BYTE usbSetLineCoding(VOID);
+
+/**
+ * Function set or reset RTS
+ */
+BYTE usbSetControlLineState(VOID);
+
+/**
+ * Readout the settings (send from usb host) for the second uart
+ */
+BYTE Handler_SetLineCoding(VOID);
+
+/**
+ * sets up dma for CDC interface used as usb to uart bridge
+ */
+BYTE USBCDC_setupDMA_Bridge();
+/**
+ * sends data alread present in endpoint buffer
+ */
+BYTE USBCDC_Bridge_sendData (WORD size, BYTE intfNum);
+/**
+ * gets address of input endpoint X
+ */
+BYTE *USBCDC_Bridge_getInEndpointBufferXAddr(BYTE intfNum);
+/**
+ * gets address of input endpoint Y
+ */
+BYTE *USBCDC_Bridge_getInEndpointBufferYAddr(BYTE intfNum);
+/**
+ * gets address of output endpoint X
+ */
+BYTE *USBCDC_Bridge_getOutEndpointBufferXAddr(BYTE intfNum);
+/**
+ * gets address of output endpoint Y
+ */
+BYTE *USBCDC_Bridge_getOutEndpointBufferYAddr(BYTE intfNum);
+/**
+ * completes receive operation once data from endpoint has been transmitted thru uart
+ */
+BYTE USBCDC_Bridge_completeReceiveData(BYTE intfNum);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_UsbCdc_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/UsbIsr.h b/Bios/src/fw/fet/USB_API/USB_Common/UsbIsr.h
new file mode 100644
index 0000000..0fc71f2
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/UsbIsr.h
@@ -0,0 +1,78 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== UsbIsr.h ========
+ */
+#ifndef _ISR_H_
+#define _ISR_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/**
+ * Handle incoming setup packet.
+ * returns TRUE to keep CPU awake
+ */
+BYTE SetupPacketInterruptHandler(VOID);
+
+/**
+ * Handle VBuss on signal.
+ */
+VOID PWRVBUSonHandler(VOID);
+
+/**
+ * Handle VBuss off signal.
+ */
+VOID PWRVBUSoffHandler(VOID);
+
+/**
+ * Handle In-requests from control pipe.
+ */
+VOID IEP0InterruptHandler(VOID);
+
+/**
+ * Handle Out-requests from control pipe.
+ */
+BYTE OEP0InterruptHandler(VOID);
+
+/*----------------------------------------------------------------------------+
+ | End of header file |
+ +----------------------------------------------------------------------------*/
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* _ISR_H_ */
+
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/defMSP430USB.h b/Bios/src/fw/fet/USB_API/USB_Common/defMSP430USB.h
new file mode 100644
index 0000000..125f12e
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/defMSP430USB.h
@@ -0,0 +1,184 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== defMSP430USB.h ========
+ */
+#ifndef _defMSP430USB_H
+#define _defMSP430USB_H
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*----------------------------------------------------------------------------+
+ | Constant Definitions |
+ +----------------------------------------------------------------------------*/
+#define YES 1
+#define NO 0
+
+#define TRUE 1
+#define FALSE 0
+
+#define NOERR 0
+#define ERR 1
+
+#define NO_ERROR 0
+#define ERROR 1
+
+#define DISABLE 0
+#define ENABLE 1
+
+
+/*----------------------------------------------------------------------------+
+ | USB Constants, Type Definition & Macro |
+ +----------------------------------------------------------------------------*/
+
+//USB related Constant
+#define MAX_ENDPOINT_NUMBER 0x07 //A maximum of 7 endpoints is available
+#define EP0_MAX_PACKET_SIZE 0x08
+#define EP0_PACKET_SIZE 0x08
+#define EP_MAX_PACKET_SIZE 0x40
+
+//Base addresses of transmit and receive buffers
+#define OEP1_X_BUFFER_ADDRESS 0x1C00 //Input Endpoint 1 X Buffer Base-address
+#define OEP1_Y_BUFFER_ADDRESS 0x1C40 //Input Endpoint 1 Y Buffer Base-address
+#define IEP1_X_BUFFER_ADDRESS 0x1C80 //Output Endpoint 1 X Buffer Base-address
+#define IEP1_Y_BUFFER_ADDRESS 0x1CC0 //Output Endpoint 1 Y Buffer Base-address
+
+#define OEP2_X_BUFFER_ADDRESS 0x1D00 //Input Endpoint 2 X Buffer Base-address
+#define OEP2_Y_BUFFER_ADDRESS 0x1D40 //Input Endpoint 2 Y Buffer Base-address
+#define IEP2_X_BUFFER_ADDRESS 0x1D80 //Output Endpoint 2 X Buffer Base-address
+#define IEP2_Y_BUFFER_ADDRESS 0x1DC0 //Output Endpoint 2 Y Buffer Base-address
+
+#define OEP3_X_BUFFER_ADDRESS 0x1E00 //Input Endpoint 2 X Buffer Base-address
+#define OEP3_Y_BUFFER_ADDRESS 0x1E40 //Input Endpoint 2 Y Buffer Base-address
+#define IEP3_X_BUFFER_ADDRESS 0x1E80 //Output Endpoint 2 X Buffer Base-address
+#define IEP3_Y_BUFFER_ADDRESS 0x1EC0 //Output Endpoint 2 Y Buffer Base-address
+
+#define OEP4_X_BUFFER_ADDRESS 0x1F00 //Input Endpoint 2 X Buffer Base-address
+#define OEP4_Y_BUFFER_ADDRESS 0x1F40 //Input Endpoint 2 Y Buffer Base-address
+#define IEP4_X_BUFFER_ADDRESS 0x1F80 //Output Endpoint 2 X Buffer Base-address
+#define IEP4_Y_BUFFER_ADDRESS 0x1FC0 //Output Endpoint 2 Y Buffer Base-address
+
+#define OEP5_X_BUFFER_ADDRESS 0x2000 //Input Endpoint 2 X Buffer Base-address
+#define OEP5_Y_BUFFER_ADDRESS 0x2040 //Input Endpoint 2 Y Buffer Base-address
+#define IEP5_X_BUFFER_ADDRESS 0x2080 //Output Endpoint 2 X Buffer Base-address
+#define IEP5_Y_BUFFER_ADDRESS 0x20C0 //Output Endpoint 2 Y Buffer Base-address
+
+#define OEP6_X_BUFFER_ADDRESS 0x2100 //Input Endpoint 2 X Buffer Base-address
+#define OEP6_Y_BUFFER_ADDRESS 0x2140 //Input Endpoint 2 Y Buffer Base-address
+#define IEP6_X_BUFFER_ADDRESS 0x2180 //Output Endpoint 2 X Buffer Base-address
+#define IEP6_Y_BUFFER_ADDRESS 0x21C0 //Output Endpoint 2 Y Buffer Base-address
+
+#define OEP7_X_BUFFER_ADDRESS 0x2200 //Input Endpoint 2 X Buffer Base-address
+#define OEP7_Y_BUFFER_ADDRESS 0x2240 //Input Endpoint 2 Y Buffer Base-address
+#define IEP7_X_BUFFER_ADDRESS 0x2280 //Output Endpoint 2 X Buffer Base-address
+#define IEP7_Y_BUFFER_ADDRESS 0x22C0 //Output Endpoint 2 Y Buffer Base-address
+
+#define X_BUFFER 0
+#define Y_BUFFER 1
+
+//Macros for end point numbers
+#define EP1 1
+#define EP2 2
+#define EP3 3
+#define EP4 4
+#define EP5 5
+#define EP6 6
+#define EP7 7
+
+//addresses of pipes for endpoints
+#define EP1_OUT_ADDR 0x01 //address for endpoint 1
+#define EP2_OUT_ADDR 0x02 //address for endpoint 2
+#define EP3_OUT_ADDR 0x03 //address for endpoint 3
+#define EP4_OUT_ADDR 0x04 //address for endpoint 4
+#define EP5_OUT_ADDR 0x05 //address for endpoint 5
+#define EP6_OUT_ADDR 0x06 //address for endpoint 6
+#define EP7_OUT_ADDR 0x07 //address for endpoint 7
+
+//Input end points
+#define EP1_IN_ADDR 0x81 //address for endpoint 1
+#define EP2_IN_ADDR 0x82 //address for endpoint 2
+#define EP3_IN_ADDR 0x83 //address for endpoint 3
+#define EP4_IN_ADDR 0x84 //address for endpoint 4
+#define EP5_IN_ADDR 0x85 //address for endpoint 5
+#define EP6_IN_ADDR 0x86 //address for endpoint 6
+#define EP7_IN_ADDR 0x87 //address for endpoint 7
+
+
+//EDB Data Structure
+typedef struct _tEDB {
+ BYTE bEPCNF; //Endpoint Configuration
+ BYTE bEPBBAX; //Endpoint X Buffer Base Address
+ BYTE bEPBCTX; //Endpoint X Buffer byte Count
+ BYTE bSPARE0; //no used
+ BYTE bSPARE1; //no used
+ BYTE bEPBBAY; //Endpoint Y Buffer Base Address
+ BYTE bEPBCTY; //Endpoint Y Buffer byte Count
+ BYTE bEPSIZXY; //Endpoint XY Buffer Size
+} tEDB, *tpEDB;
+
+typedef struct _tEDB0 {
+ BYTE bIEPCNFG; //Input Endpoint 0 Configuration Register
+ BYTE bIEPBCNT; //Input Endpoint 0 Buffer Byte Count
+ BYTE bOEPCNFG; //Output Endpoint 0 Configuration Register
+ BYTE bOEPBCNT; //Output Endpoint 0 Buffer Byte Count
+} tEDB0, *tpEDB0;
+
+//EndPoint Desciptor Block Bits
+#define EPCNF_USBIE 0x04 //USB Interrupt on Transaction Completion. Set By MCU
+ //0:No Interrupt, 1:Interrupt on completion
+#define EPCNF_STALL 0x08 //USB Stall Condition Indication. Set by UBM
+ //0: No Stall, 1:USB Install Condition
+#define EPCNF_DBUF 0x10 //Double Buffer Enable. Set by MCU
+ //0: Primary Buffer Only(x-buffer only), 1:Toggle Bit Selects Buffer
+
+#define EPCNF_TOGGLE 0x20 //USB Toggle bit. This bit reflects the toggle sequence bit of DATA0 and DATA1.
+
+#define EPCNF_UBME 0x80 //UBM Enable or Disable bit. Set or Clear by MCU.
+ //0:UBM can't use this endpoint
+ //1:UBM can use this endpoint
+#define EPBCNT_BYTECNT_MASK 0x7F //MASK for Buffer Byte Count
+#define EPBCNT_NAK 0x80 //NAK, 0:No Valid in buffer, 1:Valid packet in buffer
+
+//definitions for MSP430 USB-module
+#define START_OF_USB_BUFFER 0x1C00
+
+//input and output buffers for EP0
+#define USBIEP0BUF 0x2378
+#define USBOEP0BUF 0x2370
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*_defMSP430USB_H */
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/device.h b/Bios/src/fw/fet/USB_API/USB_Common/device.h
new file mode 100644
index 0000000..7870e21
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/device.h
@@ -0,0 +1,73 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== device.h ========
+ */
+#include
+
+#if defined (__MSP430F6638__) || defined (__MSP430F6637__) || \
+ defined (__MSP430F6636__) || \
+ defined (__MSP430F6635__) || defined (__MSP430F6634__) || \
+ defined (__MSP430F6633__) || \
+ defined (__MSP430F6632__) || defined (__MSP430F6631__) || \
+ defined (__MSP430F6630__) || \
+ defined (__MSP430F5638__) || defined (__MSP430F5637__) || \
+ defined (__MSP430F5636__) || \
+ defined (__MSP430F5635__) || defined (__MSP430F5634__) || \
+ defined (__MSP430F5633__) || \
+ defined (__MSP430F5632__) || defined (__MSP430F5631__) || \
+ defined (__MSP430F5630__)
+ #define __MSP430F563x_F663x
+#elif defined (__MSP430F5510__) || defined (__MSP430F5509__) || \
+ defined (__MSP430F5508__) || \
+ defined (__MSP430F5507__) || defined (__MSP430F5506__) || \
+ defined (__MSP430F5505__) || \
+ defined (__MSP430F5504__) || defined (__MSP430F5503__) || \
+ defined (__MSP430F5502__) || \
+ defined (__MSP430F5501__) || defined (__MSP430F5500__)
+ #define __MSP430F550x
+#elif defined (__MSP430F5529__) || defined (__MSP430F5528__) || \
+ defined (__MSP430F5527__) || \
+ defined (__MSP430F5526__) || defined (__MSP430F5525__) || \
+ defined (__MSP430F5524__) || \
+ defined (__MSP430F5522__) || defined (__MSP430F5521__) || \
+ defined (__MSP430F5519__) || \
+ defined (__MSP430F5517__) || defined (__MSP430F5515__) || \
+ defined (__MSP430F5514__) || \
+ defined (__MSP430F5513__)
+ #define __MSP430F552x
+#else
+ #error \
+ Define a constant of format __MSP430Fxxxx__ within the projects preprocessor settings,
+according to the device being used.
+#endif
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/dma.c b/Bios/src/fw/fet/USB_API/USB_Common/dma.c
new file mode 100644
index 0000000..e7b0b36
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/dma.c
@@ -0,0 +1,185 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== dma.c ========
+ */
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/defMSP430USB.h"
+#include
+#include
+
+#ifdef __REGISTER_MODEL__
+/* for IAR */
+# if __REGISTER_MODEL__ == __REGISTER_MODEL_REG20__
+# define __DMA_ACCESS_REG__ (void __data20 *)
+# else
+# define __DMA_ACCESS_REG__ (unsigned short)
+# endif
+#else
+/* for CCS */
+# define __DMA_ACCESS_REG__ (__SFR_FARPTR)(unsigned long)
+#endif
+
+//function pointers
+VOID *(*USB_TX_memcpy)(VOID * dest, const VOID * source, size_t count);
+VOID *(*USB_RX_memcpy)(VOID * dest, const VOID * source, size_t count);
+
+VOID * memcpyDMA0 (VOID * dest, const VOID * source, size_t count);
+VOID * memcpyDMA1 (VOID * dest, const VOID * source, size_t count);
+VOID * memcpyDMA2 (VOID * dest, const VOID * source, size_t count);
+
+//NOTE: this functin works only with data in the area <64k (small memory model)
+VOID * memcpyV (VOID * dest, const VOID * source, size_t count)
+{
+ WORD i;
+ volatile BYTE bTmp;
+
+ for (i = 0; i < count; i++)
+ {
+ bTmp = *((BYTE*)source + i);
+ *((BYTE*)dest + i) = bTmp;
+ }
+ return (dest);
+}
+
+//this function inits the DMA
+VOID USB_initMemcpy (VOID)
+{
+ USB_TX_memcpy = memcpyV;
+ USB_RX_memcpy = memcpyV;
+
+ switch (USB_DMA_CHAN)
+ {
+ case 0:
+ DMACTL0 &= ~DMA0TSEL_31; //DMA0 is triggered by DMAREQ
+ DMACTL0 |= DMA0TSEL_0; //DMA0 is triggered by DMAREQ
+ DMA0CTL = (DMADT_1 + DMASBDB + DMASRCINCR_3 + //configure block transfer (byte-wise) with increasing source
+ DMADSTINCR_3 ); //and destination address
+ DMACTL4 |= ENNMI; //enable NMI interrupt
+ USB_TX_memcpy = memcpyDMA0;
+ USB_RX_memcpy = memcpyDMA0;
+ break;
+ case 1:
+ DMACTL0 &= ~DMA1TSEL_31; //DMA1 is triggered by DMAREQ
+ DMACTL0 |= DMA1TSEL_0; //DMA1 is triggered by DMAREQ
+ DMA1CTL = (DMADT_1 + DMASBDB + DMASRCINCR_3 + //configure block transfer (byte-wise) with increasing source
+ DMADSTINCR_3 ); //and destination address
+ DMACTL4 |= ENNMI; //enable NMI interrupt
+ USB_TX_memcpy = memcpyDMA1;
+ USB_RX_memcpy = memcpyDMA1;
+ break;
+ case 2:
+ DMACTL0 &= ~DMA2TSEL_31; //DMA2 is triggered by DMAREQ
+ DMACTL0 |= DMA2TSEL_0; //DMA2 is triggered by DMAREQ
+ DMA2CTL = (DMADT_1 + DMASBDB + DMASRCINCR_3 + //configure block transfer (byte-wise) with increasing source
+ DMADSTINCR_3 ); //and destination address
+ DMACTL4 |= ENNMI; //enable NMI interrupt
+ USB_TX_memcpy = memcpyDMA2;
+ USB_RX_memcpy = memcpyDMA2;
+ break;
+ }
+}
+
+//this functions starts DMA transfer to/from USB memory into/from RAM
+//Using DMA0
+//Support only for data in <64k memory area.
+VOID * memcpyDMA0 (VOID * dest, const VOID * source, size_t count)
+{
+ if (count == 0){ //do nothing if zero bytes to transfer
+ return (dest);
+ }
+
+ DMA0DA = __DMA_ACCESS_REG__ dest; //set destination for DMAx
+ DMA0SA = __DMA_ACCESS_REG__ source; //set source for DMAx
+ DMA0SZ = count; //how many bytes to transfer
+
+ DMA0CTL |= DMAEN; //enable DMAx
+ DMA0CTL |= DMAREQ; //trigger DMAx
+
+ //wait for DMA transfer finished
+ while (!(DMA0CTL & DMAIFG)) ;
+
+ DMA0CTL &= ~DMAEN; //disable DMAx
+ return (dest);
+}
+
+//this functions starts DMA transfer to/from USB memory into/from RAM
+//Using DMA1
+//Support only for data in <64k memory area.
+VOID * memcpyDMA1 (VOID * dest, const VOID * source, size_t count)
+{
+ if (count == 0){ //do nothing if zero bytes to transfer
+ return (dest);
+ }
+
+ DMA1DA = __DMA_ACCESS_REG__ dest; //set destination for DMAx
+ DMA1SA = __DMA_ACCESS_REG__ source; //set source for DMAx
+ DMA1SZ = count; //how many bytes to transfer
+
+ DMA1CTL |= DMAEN; //enable DMAx
+ DMA1CTL |= DMAREQ; //trigger DMAx
+
+ //wait for DMA transfer finished
+ while (!(DMA1CTL & DMAIFG)) ;
+
+ DMA1CTL &= ~DMAEN; //disable DMAx
+ return (dest);
+}
+
+//this functions starts DMA transfer to/from USB memory into/from RAM
+//Using DMA2
+//Support only for data in <64k memory area.
+VOID * memcpyDMA2 (VOID * dest, const VOID * source, size_t count)
+{
+ if (count == 0){ //do nothing if zero bytes to transfer
+ return (dest);
+ }
+
+ DMA2DA = __DMA_ACCESS_REG__ dest; //set destination for DMAx
+ DMA2SA = __DMA_ACCESS_REG__ source; //set source for DMAx
+ DMA2SZ = count; //how many bytes to transfer
+
+ DMA2CTL |= DMAEN; //enable DMAx
+ DMA2CTL |= DMAREQ; //trigger DMAx
+
+ //wait for DMA transfer finished
+ while (!(DMA2CTL & DMAIFG)) ;
+
+ DMA2CTL &= ~DMAEN; //disable DMAx
+ return (dest);
+}
+
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/types.h b/Bios/src/fw/fet/USB_API/USB_Common/types.h
new file mode 100644
index 0000000..2819606
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/types.h
@@ -0,0 +1,131 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== types.h ========
+ */
+#ifndef _TYPES_H_
+#define _TYPES_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#ifdef __TI_COMPILER_VERSION__
+#define __no_init
+#define __data16
+#endif
+
+/*----------------------------------------------------------------------------+
+ | Include files |
+ +----------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------+
+ | Function Prototype |
+ +----------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------+
+ | Type Definition & Macro |
+ +----------------------------------------------------------------------------*/
+typedef char CHAR;
+typedef unsigned char UCHAR;
+typedef int INT;
+typedef unsigned int UINT;
+typedef short SHORT;
+typedef unsigned short USHORT;
+typedef long LONG;
+typedef unsigned long ULONG;
+typedef void VOID;
+typedef unsigned long HANDLE;
+typedef char * PSTR;
+typedef int BOOL;
+typedef double DOUBLE;
+typedef unsigned char BYTE;
+typedef unsigned char* PBYTE;
+typedef unsigned int WORD;
+typedef unsigned long DWORD;
+typedef unsigned long* PDWORD;
+
+#define SUCCESS 0
+#define FAILURE 1
+#define VOID void
+
+//DEVICE_REQUEST Structure
+typedef struct _tDEVICE_REQUEST {
+ BYTE bmRequestType; //See bit definitions below
+ BYTE bRequest; //See value definitions below
+ WORD wValue; //Meaning varies with request type
+ WORD wIndex; //Meaning varies with request type
+ WORD wLength; //Number of bytes of data to transfer
+} tDEVICE_REQUEST, *ptDEVICE_REQUEST;
+
+typedef struct _tDEVICE_REQUEST_COMPARE {
+ BYTE bmRequestType; //See bit definitions below
+ BYTE bRequest; //See value definitions below
+ BYTE bValueL; //Meaning varies with request type
+ BYTE bValueH; //Meaning varies with request type
+ BYTE bIndexL; //Meaning varies with request type
+ BYTE bIndexH; //Meaning varies with request type
+ BYTE bLengthL; //Number of bytes of data to transfer (LSByte)
+ BYTE bLengthH; //Number of bytes of data to transfer (MSByte)
+ BYTE bCompareMask; //MSB is bRequest, if set 1, bRequest should be matched
+ BYTE (*pUsbFunction)(VOID); //function pointer
+} tDEVICE_REQUEST_COMPARE, *ptDEVICE_REQUEST_COMPARE;
+
+//----------------------------------------------------------------------------
+typedef enum {
+ STATUS_ACTION_NOTHING,
+ STATUS_ACTION_DATA_IN,
+ STATUS_ACTION_DATA_OUT
+} tSTATUS_ACTION_LIST;
+
+typedef enum {
+ DISABLE,
+ ENABLE
+} tSTATUS_EN_DISABLED;
+
+#define FALSE 0
+#define TRUE 1
+
+/*----------------------------------------------------------------------------+
+ | Constant Definition |
+ +----------------------------------------------------------------------------*/
+
+
+/*----------------------------------------------------------------------------+
+ | End of header file |
+ +----------------------------------------------------------------------------*/
+#ifdef __cplusplus
+}
+#endif
+#endif /*
+ * _TYPES_H_
+ *------------------------ Nothing Below This Line --------------------------
+ */
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/usb.c b/Bios/src/fw/fet/USB_API/USB_Common/usb.c
new file mode 100644
index 0000000..09e644c
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/usb.c
@@ -0,0 +1,1423 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== usb.c ========
+ */
+/*----------------------------------------------------------------------------+
+ | Include files |
+ +----------------------------------------------------------------------------*/
+
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h" //USB-specific Data Structures
+#include "../USB_CDC_API/UsbCdc.h"
+#include "../USB_PHDC_API/UsbPHDC.h"
+#include "../USB_HID_API/UsbHidReq.h"
+#include "../USB_MSC_API/UsbMscScsi.h"
+#include "hw_compiler_specific.h"
+#include
+
+#include
+#include
+#include
+#include "../USB_CDC_API/UsbCdc.h"
+
+/*----------------------------------------------------------------------------+
+ | Internal Constant Definition |
+ +----------------------------------------------------------------------------*/
+#define NO_MORE_DATA 0xFFFF
+#define EPBCT_NAK 0x80
+#define EPCNF_TOGLE 0x20
+
+#define DIRECTION_IN 0x80
+#define DIRECTION_OUT 0x00
+
+/*----------------------------------------------------------------------------+
+ | Internal Variables |
+ +----------------------------------------------------------------------------*/
+
+static BYTE bConfigurationNumber; //Set to 1 when USB device has been
+//configured, set to 0 when unconfigured
+
+static BYTE bInterfaceNumber; //interface number
+
+WORD wBytesRemainingOnIEP0; //For endpoint zero transmitter only
+ //Holds count of bytes remaining to be
+ //transmitted by endpoint 0. A value
+ //of 0 means that a 0-length data packet
+ //A value of 0xFFFF means that transfer
+ //is complete.
+
+WORD wBytesRemainingOnOEP0; //For endpoint zero transmitter only
+ //Holds count of bytes remaining to be
+ //received by endpoint 0. A value
+ //of 0 means that a 0-length data packet
+ //A value of 0xFFFF means that transfer
+ //is complete.
+
+static PBYTE pbIEP0Buffer; //A buffer pointer to input end point 0
+ //Data sent back to host is copied from
+ //this pointed memory location
+
+static PBYTE pbOEP0Buffer; //A buffer pointer to output end point 0
+ //Data sent from host is copied to
+ //this pointed memory location
+
+static BYTE bHostAskMoreDataThanAvailable = 0;
+
+BYTE abUsbRequestReturnData[USB_RETURN_DATA_LENGTH];
+BYTE abUsbRequestIncomingData[USB_RETURN_DATA_LENGTH];
+
+__no_init BYTE abramSerialStringDescriptor[34];
+
+BYTE bStatusAction;
+BYTE bFunctionSuspended = FALSE; //TRUE if function is suspended
+BYTE bEnumerationStatus = 0; //is 0 if not enumerated
+
+static BYTE bRemoteWakeup;
+
+WORD wUsbEventMask; //used by USB_getEnabledEvents() and USB_setEnabledEvents()
+
+#ifdef _MSC_
+extern BYTE USBMSC_reset (void);
+void MscResetData ();
+extern struct _MscState MscState;
+#endif
+
+#ifdef _CDC_
+extern struct _CdcWrite CdcWriteCtrl[CDC_NUM_INTERFACES];
+extern struct _CdcRead CdcReadCtrl[CDC_NUM_INTERFACES];
+#endif
+
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+
+extern const void *usbConfigurationDescriptors[];
+extern const void *usbDeviceDescriptors[];
+extern const BYTE usbConfigurationsSizes[];
+BYTE activeInterfaceIndex = 0;
+
+#endif
+
+/*----------------------------------------------------------------------------+
+ | Global Variables |
+ +----------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------+
+ | Hardware Related Structure Definition |
+ +----------------------------------------------------------------------------*/
+
+#ifdef __IAR_SYSTEMS_ICC__
+
+#pragma location = 0x2380
+__no_init tDEVICE_REQUEST __data16 tSetupPacket;
+
+#pragma location = 0x0920
+__no_init tEDB0 __data16 tEndPoint0DescriptorBlock;
+
+#pragma location = 0x23C8
+__no_init tEDB __data16 tInputEndPointDescriptorBlock[7];
+
+#pragma location = 0x2388
+__no_init tEDB __data16 tOutputEndPointDescriptorBlock[7];
+
+#pragma location = 0x2378
+__no_init BYTE __data16 abIEP0Buffer[EP0_MAX_PACKET_SIZE];
+
+#pragma location = 0x2370
+__no_init BYTE __data16 abOEP0Buffer[EP0_MAX_PACKET_SIZE];
+
+#pragma location = OEP1_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp1[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP1_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp1[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP1_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp81[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP1_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp81[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP2_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp2[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP2_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp2[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP2_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp82[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP2_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp82[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP3_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp3[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP3_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp3[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP3_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp83[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP3_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp83[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP4_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp4[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP4_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp4[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP4_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp84[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP4_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp84[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP5_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp5[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP5_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp5[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP5_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp85[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP5_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp85[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP6_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp6[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP6_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp6[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP6_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp86[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP6_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp86[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP7_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp7[EP_MAX_PACKET_SIZE];
+
+#pragma location = OEP7_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp7[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP7_X_BUFFER_ADDRESS
+__no_init BYTE __data16 pbXBufferAddressEp87[EP_MAX_PACKET_SIZE];
+
+#pragma location = IEP7_Y_BUFFER_ADDRESS
+__no_init BYTE __data16 pbYBufferAddressEp87[EP_MAX_PACKET_SIZE];
+
+
+
+#endif
+
+#ifdef __TI_COMPILER_VERSION__
+extern __no_init tDEVICE_REQUEST tSetupPacket;
+extern __no_init tEDB0 tEndPoint0DescriptorBlock;
+extern __no_init tEDB tInputEndPointDescriptorBlock[7];
+extern __no_init tEDB tOutputEndPointDescriptorBlock[7];
+extern __no_init BYTE abIEP0Buffer[EP0_MAX_PACKET_SIZE];
+extern __no_init BYTE abOEP0Buffer[EP0_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp1[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp1[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp81[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp81[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp2[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp2[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp82[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp82[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp3[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp3[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp83[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp83[EP_MAX_PACKET_SIZE];
+
+extern __no_init BYTE pbXBufferAddressEp4[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp4[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp84[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp84[EP_MAX_PACKET_SIZE];
+
+extern __no_init BYTE pbXBufferAddressEp5[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp5[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbXBufferAddressEp85[EP_MAX_PACKET_SIZE];
+extern __no_init BYTE pbYBufferAddressEp85[EP_MAX_PACKET_SIZE];
+
+#endif
+
+VOID CdcResetData ();
+VOID HidResetData ();
+VOID PHDCResetData();
+
+VOID USB_InitSerialStringDescriptor (VOID);
+VOID USB_initMemcpy (VOID);
+
+//----------------------------------------------------------------------------
+BYTE USB_init (VOID)
+{
+ WORD bGIE = __get_SR_register() & GIE; //save interrupt status
+
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //configuration of USB module
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to
+ //configuration registers enabled
+ /* To fix USB9 enumeration issue seen by Matrox*/
+ USBPWRCTL = 0;
+
+ USBPHYCTL = PUSEL; //use DP and DM as USB terminals (not needed
+ //because an external PHY is connected to port
+ //9)
+
+ USBPWRCTL = VUSBEN + SLDOAON; //enable primary and secondary LDO (3.3 and 1.8
+ //V)
+ {
+ volatile unsigned int i;
+ for (i = 0; i < USB_MCLK_FREQ / 1000 * 5 / 10; i++){ //wait some time for LDOs (5ms delay)
+ }
+ }
+
+ USBPWRCTL = VUSBEN + SLDOAON + VBONIE; //enable interrupt VBUSon
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+
+ //reset events mask
+ wUsbEventMask = 0;
+
+ //init Serial Number
+#if (USB_STR_INDEX_SERNUM != 0)
+ USB_InitSerialStringDescriptor();
+#endif
+
+ //init memcpy() function: DMA or non-DMA
+ USB_initMemcpy();
+#ifdef _MSC_
+ MscResetCtrlLun();
+#endif
+
+#ifdef BRIDGE_CDC_PRESENT
+ USBCDC_setupDMA_Bridge();
+#endif
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+//----------------------------------------------------------------------------
+//This function will be compiled only if
+#if (USB_STR_INDEX_SERNUM != 0)
+VOID USB_InitSerialStringDescriptor (VOID)
+{
+ BYTE i,j,hexValue;
+ PBYTE pbSerNum;
+ BYTE bBytes;
+
+ j = 1; //we start with second byte, first byte (lenght)
+ //will be filled later
+ pbSerNum = 0;
+ abramSerialStringDescriptor[j++] = DESC_TYPE_STRING;
+
+ //TLV access Function Call
+ Get_TLV_Info(TLV_DIERECORD, 0, (uint8_t *)&bBytes, (uint16_t **)&pbSerNum); //The die record used for serial number
+ if (bBytes == 0){ //no serial number available
+ //use 00 as serial number = no serial number available
+ abramSerialStringDescriptor[0] = 4; //length
+ abramSerialStringDescriptor[j++] = 0; //no serial number available
+ abramSerialStringDescriptor[j++] = 0; //no serial number available
+ } else {
+ for (i = 0; (i < bBytes) && (i < 8); i++,pbSerNum++)
+ {
+ hexValue = (*pbSerNum & 0xF0) >> 4;
+ if (hexValue < 10){
+ abramSerialStringDescriptor[j++] = (hexValue + '0');
+ } else { abramSerialStringDescriptor[j++] = (hexValue + 55);}
+ abramSerialStringDescriptor[j++] = 0x00; //needed for UNI-Code
+
+ hexValue = (*pbSerNum & 0x0F);
+ if (hexValue < 10){
+ abramSerialStringDescriptor[j++] = (hexValue + '0');
+ } else { abramSerialStringDescriptor[j++] = (hexValue + 55);}
+ abramSerialStringDescriptor[j++] = 0x00; //needed for UNI-Code
+ }
+ abramSerialStringDescriptor[0] = i * 4 + 2; //calculate the length
+ }
+}
+
+#endif
+
+extern short BIOS_LedOn(unsigned char no);
+extern short BIOS_LedOff(unsigned char no);
+
+
+//----------------------------------------------------------------------------
+
+BYTE USB_enable ()
+{
+ volatile unsigned int i;
+ volatile unsigned int j = 0;
+
+ if (!(USBPWRCTL & USBBGVBV)){ //check USB Bandgap and VBUS valid
+ return (kUSB_generalError);
+ }
+
+ if ((USBCNF & USB_EN) &&
+ (USBPLLCTL & UPLLEN))
+ {
+ return (kUSB_succeed); //exit if PLL is already enalbed
+ }
+
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to
+ //configuration registers enabled
+ USBPLLDIVB = USB_XT_FREQ; //Settings desired frequency
+
+ USBPLLCTL = UPFDEN + UPLLEN; //Select XT2 as Ref / Select PLL for USB / Discrim.
+
+ //Wait some time till PLL is settled
+ do
+ {
+ USBPLLIR = 0x0000; //make sure no interrupts can occur on
+ //PLL-module
+#ifdef __MSP430F6638
+ //wait 1 ms till enable USB
+ for (i = 0; i < USB_MCLK_FREQ / 1000 * 1 / 10; i++){}
+#else
+ //wait 1/2 ms till enable USB
+ for (i = 0; i < USB_MCLK_FREQ / 1000 * 1 / 2 / 10; i++){}
+#endif
+
+ if (j++ > 10)
+ {
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+ return (kUSB_generalError);
+ }
+ } while (USBPLLIR != 0);
+
+ USBCNF |= USB_EN; //enable USB module
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+ return (kUSB_succeed);
+}
+
+/*
+ * Disables the USB module and PLL.
+ */
+BYTE USB_disable (VOID)
+{
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to
+ //configuration registers enabled
+ USBCNF = 0; //disable USB module
+ USBPLLCTL &= ~UPLLEN; //disable PLL
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+ bEnumerationStatus = 0x00; //device is not enumerated
+ bFunctionSuspended = FALSE; //device is not suspended
+ return (kUSB_succeed);
+}
+
+/*
+ * Enables/disables various USB events.
+ */
+BYTE USB_setEnabledEvents (WORD events)
+{
+ wUsbEventMask = events;
+ return (kUSB_succeed);
+}
+
+/*
+ * Returns which events are enabled and which are disabled.
+ */
+WORD USB_getEnabledEvents ()
+{
+ return (wUsbEventMask);
+}
+
+/*
+ * Reset USB-SIE and global variables.
+ */
+BYTE USB_reset ()
+{
+ int i;
+
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to
+ //configuration registers enabled
+
+ //reset should be on the bus after this!
+ bEnumerationStatus = 0x00; //Device not enumerated yet
+ bFunctionSuspended = FALSE; //Device is not in suspend mode
+
+ bRemoteWakeup = DISABLE;
+
+ bConfigurationNumber = 0x00; //device unconfigured
+ bInterfaceNumber = 0x00;
+
+ //FRSTE handling:
+ //Clear FRSTE in the RESRIFG interrupt service routine before re-configuring USB control registers.
+ //Set FRSTE at the beginning of SUSRIFG, SETUP, IEPIFG.EP0 and OEPIFG.EP0 interrupt service routines.
+ USBCTL = 0; //Function Reset Connection disable (FRSTE)
+
+ wBytesRemainingOnIEP0 = NO_MORE_DATA;
+ wBytesRemainingOnOEP0 = NO_MORE_DATA;
+ bStatusAction = STATUS_ACTION_NOTHING;
+
+ //The address reset normally will be done automatically during bus function reset
+ USBFUNADR = 0x00; //reset address of USB device (unconfigured)
+
+ /* Set settings for EP0 */
+ //NAK both 0 endpoints and enable endpoint 0 interrupt
+ tEndPoint0DescriptorBlock.bIEPBCNT = EPBCNT_NAK;
+ tEndPoint0DescriptorBlock.bOEPBCNT = EPBCNT_NAK;
+ tEndPoint0DescriptorBlock.bIEPCNFG = EPCNF_USBIE | EPCNF_UBME | EPCNF_STALL; //8 byte data packet
+ tEndPoint0DescriptorBlock.bOEPCNFG = EPCNF_USBIE | EPCNF_UBME | EPCNF_STALL; //8 byte data packet
+
+ USBOEPIE = USB_OUTEP_INT_EN;
+ USBIEPIE = USB_INEP_INT_EN;
+
+ //loop for initialization all of used enpoints
+ for (i = 0;
+ i < (CDC_NUM_INTERFACES + HID_NUM_INTERFACES + MSC_NUM_INTERFACES + PHDC_NUM_INTERFACES);
+ i++)
+ {
+ BYTE edbIndex = stUsbHandle[i].edb_Index;
+
+ /* Set settings for IEPx */
+ tInputEndPointDescriptorBlock[edbIndex].bEPCNF = EPCNF_USBIE |
+ EPCNF_UBME |
+ EPCNF_DBUF; //double buffering
+ tInputEndPointDescriptorBlock[edbIndex].bEPBBAX =
+ (BYTE)(((stUsbHandle[i].iep_X_Buffer -
+ START_OF_USB_BUFFER) >> 3) & 0x00ff);
+ tInputEndPointDescriptorBlock[edbIndex].bEPBBAY =
+ (BYTE)(((stUsbHandle[i].iep_Y_Buffer -
+ START_OF_USB_BUFFER) >> 3) & 0x00ff);
+ tInputEndPointDescriptorBlock[edbIndex].bEPBCTX = EPBCNT_NAK;
+ tInputEndPointDescriptorBlock[edbIndex].bEPBCTY = EPBCNT_NAK;
+ tInputEndPointDescriptorBlock[edbIndex].bEPSIZXY = MAX_PACKET_SIZE;
+
+ /* Set settings for OEPx */
+#ifdef BRIDGE_CDC_PRESENT
+ if (i == BRIDGE_CDC_INTFNUM) {
+ tOutputEndPointDescriptorBlock[edbIndex].bEPCNF = EPCNF_USBIE |
+ EPCNF_UBME;
+ }
+ else
+ {
+ tOutputEndPointDescriptorBlock[edbIndex].bEPCNF = EPCNF_USBIE |
+ EPCNF_UBME |
+ EPCNF_DBUF ; //double buffering
+ }
+#else
+ tOutputEndPointDescriptorBlock[edbIndex].bEPCNF = EPCNF_USBIE |
+ EPCNF_UBME |
+ EPCNF_DBUF ; //double buffering
+#endif
+
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBBAX =
+ (BYTE)(((stUsbHandle[i].oep_X_Buffer -
+ START_OF_USB_BUFFER) >> 3) & 0x00ff);
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBBAY =
+ (BYTE)(((stUsbHandle[i].oep_Y_Buffer -
+ START_OF_USB_BUFFER) >> 3) & 0x00ff);
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0x00;
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY = 0x00;
+ tOutputEndPointDescriptorBlock[edbIndex].bEPSIZXY = MAX_PACKET_SIZE;
+
+# ifdef _CDC_
+ /* Additional interrupt end point for CDC */
+ if (stUsbHandle[i].dev_Class == CDC_CLASS){
+ //The decriptor tool always generates the managemnet endpoint before the data endpoint
+ tInputEndPointDescriptorBlock[edbIndex -
+ 1].bEPCNF = EPCNF_USBIE |
+ EPCNF_UBME | EPCNF_DBUF; //double buffering
+ tInputEndPointDescriptorBlock[edbIndex -
+ 1].bEPBBAX =
+ (BYTE)(((stUsbHandle[i].intepEP_X_Buffer -
+ START_OF_USB_BUFFER) >> 3) & 0x00ff);
+ tInputEndPointDescriptorBlock[edbIndex -
+ 1].bEPBBAY =
+ (BYTE)(((stUsbHandle[i].intepEP_Y_Buffer -
+ START_OF_USB_BUFFER) >> 3) & 0x00ff);
+ tInputEndPointDescriptorBlock[edbIndex - 1].bEPBCTX = EPBCNT_NAK;
+ tInputEndPointDescriptorBlock[edbIndex - 1].bEPBCTY = EPBCNT_NAK;
+ tInputEndPointDescriptorBlock[edbIndex -
+ 1].bEPSIZXY = MAX_PACKET_SIZE;
+ }
+# endif
+ }
+
+# ifdef _HID_
+ HidResetData(); //reset HID specific data structures
+# endif //_HID_
+
+# ifdef _MSC_
+ MscState.isMSCConfigured = FALSE;
+ USBMSC_reset();
+ MscResetData();
+# endif
+
+# ifdef _CDC_
+ CdcResetData(); //reset CDC specific data structures
+# endif //_CDC_
+
+# ifdef _PHDC_
+ PHDCResetData(); // reset CDC specific data structures
+# endif // _PHDC_
+
+ USBCTL = FEN; //enable function
+ USBIFG = 0; //make sure no interrupts are pending
+
+ USBIE = SETUPIE | RSTRIE | SUSRIE; //enable USB specific interrupts (setup, reset,
+ //suspend)
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+ return (kUSB_succeed);
+}
+
+/*
+ * Instruct USB module to make itself available to the PC for connection, by pulling PUR high.
+ */
+BYTE USB_connect ()
+{
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to
+ //configuration registers enabled
+ USBCNF |= PUR_EN; //generate rising edge on DP -> the host
+ //enumerates our device as full speed device
+ USBPWRCTL |= VBOFFIE; //enable interrupt VUSBoff
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+
+ return (kUSB_succeed);
+}
+
+/*
+ * Force a disconnect from the PC by pulling PUR low.
+ */
+BYTE USB_disconnect ()
+{
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to
+ //configuration registers enabled
+ USBCNF &= ~PUR_EN; //disconnect pull up resistor - logical
+ //disconnect from HOST
+ USBPWRCTL &= ~VBOFFIE; //disable interrupt VUSBoff
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+ bEnumerationStatus = 0; //not enumerated
+ bFunctionSuspended = FALSE; //device is not suspended
+ return (kUSB_succeed);
+}
+
+/*
+ * Force a remote wakeup of the USB host.
+ */
+BYTE USB_forceRemoteWakeup ()
+{
+ if (bFunctionSuspended == FALSE)
+ { //device is not suspended
+ return (kUSB_NotSuspended);
+ }
+ if (bRemoteWakeup == ENABLE)
+ {
+ USBCTL |= RWUP; //USB - Device Remote Wakeup Request - this bit
+ //is self-cleaned
+ return (kUSB_succeed);
+ }
+ return (kUSB_generalError);
+}
+
+/*
+ * Returns the status of the USB connection.
+ */
+BYTE USB_connectionInfo ()
+{
+ BYTE retVal = 0;
+
+ if (USBPWRCTL & USBBGVBV)
+ {
+ retVal |= kUSB_vbusPresent;
+ }
+ if (bEnumerationStatus == ENUMERATION_COMPLETE)
+ {
+ retVal |= kUSB_Enumerated;
+ }
+ if (USBCNF & PUR_EN)
+ {
+ retVal |= kUSB_purHigh;
+ }
+ if (bFunctionSuspended == TRUE)
+ {
+ retVal |= kUSB_suspended;
+ }
+ else
+ {
+ retVal |= kUSB_NotSuspended;
+ }
+ return (retVal);
+}
+
+/*
+ * Returns the state of the USB connection.
+ */
+BYTE USB_connectionState ()
+{
+ //If no VBUS present
+ if (!(USBPWRCTL & USBBGVBV)){
+ return (ST_USB_DISCONNECTED);
+ }
+
+ //If VBUS present, but PUR is low
+ if ((USBPWRCTL & USBBGVBV) && (!(USBCNF & PUR_EN))){
+ return (ST_USB_CONNECTED_NO_ENUM);
+ }
+
+ //If VBUS present, PUR is high, and enumeration is complete, and not suspended
+ if ((USBPWRCTL & USBBGVBV) && (USBCNF & PUR_EN)
+ && (bEnumerationStatus == ENUMERATION_COMPLETE)
+ && (!(bFunctionSuspended == TRUE))){
+ return (ST_ENUM_ACTIVE);
+ }
+
+ //If VBUS present, PUR is high, and enumeration is NOT complete, and suspended
+ if ((USBPWRCTL & USBBGVBV) && (USBCNF & PUR_EN)
+ && (!(bEnumerationStatus == ENUMERATION_COMPLETE))
+ && (bFunctionSuspended == TRUE)){
+ return (ST_NOENUM_SUSPENDED);
+ }
+
+ //If VBUS present, PUR is high, and enumeration is complete, and suspended
+ if ((USBPWRCTL & USBBGVBV) && (USBCNF & PUR_EN)
+ && (bEnumerationStatus == ENUMERATION_COMPLETE)
+ && (bFunctionSuspended == TRUE)){
+ return (ST_ENUM_SUSPENDED);
+ }
+
+ //If VBUS present, PUR is high, but no enumeration yet
+ if ((USBPWRCTL & USBBGVBV) && (USBCNF & PUR_EN)
+ && (!(bEnumerationStatus == ENUMERATION_COMPLETE))){
+ return (ST_ENUM_IN_PROGRESS);
+ }
+
+ return (ST_ERROR);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE USB_suspend (VOID)
+{
+ bFunctionSuspended = TRUE;
+ USBKEYPID = 0x9628; //set KEY and PID to 0x9628 -> access to configuration registers enabled
+ USBCTL |= FRSTE; //Function Reset Connection Enable
+ USBIFG &= ~SUSRIFG; //clear interrupt flag
+
+ USBPLLCTL &= ~UPLLEN;
+
+ if (USB_DISABLE_XT_SUSPEND){
+ if (USB_PLL_XT == 2){
+ UCSCTL6 |= XT2OFF; //disable XT2
+ } else {
+ UCSCTL6 |= XT1OFF;
+ }
+ }
+
+ USBIE = RESRIE; //disable USB specific interrupts (setup, suspend, reset), enable resume.
+ //If the reset occured during device in suspend, the resume-interrupt will come, after -
+ //reset interrupt
+ USBKEYPID = 0x9600; //access to configuration registers disabled
+
+ return (kUSB_succeed);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE USB_resume (VOID)
+{
+ USB_enable(); //enable PLL
+
+ USBIFG &= ~(RESRIFG | SUSRIFG); //clear interrupt flags
+ USBIE = SETUPIE | RSTRIE | SUSRIE; //enable USB specific interrupts (setup, reset, suspend)
+
+ bFunctionSuspended = FALSE;
+ return (kUSB_succeed);
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbStallEndpoint0 (VOID)
+{
+ tEndPoint0DescriptorBlock.bIEPCNFG |= EPCNF_STALL;
+ tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_STALL;
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbClearOEP0ByteCount (VOID)
+{
+ tEndPoint0DescriptorBlock.bOEPBCNT = 0x00;
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbStallOEP0 (VOID)
+{
+ //in standard USB request, there is not control write request with data stage
+ //control write, stall output endpoint 0
+ //wLength should be 0 in all cases
+ tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_STALL;
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbSendNextPacketOnIEP0 (VOID)
+{
+ BYTE bPacketSize,bIndex;
+
+ //First check if there are bytes remaining to be transferred
+ if (wBytesRemainingOnIEP0 != NO_MORE_DATA){
+ if (wBytesRemainingOnIEP0 > EP0_PACKET_SIZE){
+ //More bytes are remaining than will fit in one packet
+ //there will be More IN Stage
+ bPacketSize = EP0_PACKET_SIZE;
+ wBytesRemainingOnIEP0 -= EP0_PACKET_SIZE;
+ bStatusAction = STATUS_ACTION_DATA_IN;
+ } else if (wBytesRemainingOnIEP0 < EP0_PACKET_SIZE){
+ //The remaining data will fit in one packet.
+ //This case will properly handle wBytesRemainingOnIEP0 == 0
+ bPacketSize = (BYTE)wBytesRemainingOnIEP0;
+ wBytesRemainingOnIEP0 = NO_MORE_DATA; //No more data need to be Txed
+ bStatusAction = STATUS_ACTION_NOTHING;
+ } else {
+ bPacketSize = EP0_PACKET_SIZE;
+ if (bHostAskMoreDataThanAvailable == TRUE){
+ wBytesRemainingOnIEP0 = 0;
+ bStatusAction = STATUS_ACTION_DATA_IN;
+ } else {
+ wBytesRemainingOnIEP0 = NO_MORE_DATA;
+ bStatusAction = STATUS_ACTION_NOTHING;
+ }
+ }
+
+ for (bIndex = 0; bIndex < bPacketSize; bIndex++)
+ {
+ abIEP0Buffer[bIndex] = *pbIEP0Buffer;
+ pbIEP0Buffer++;
+ }
+ tEndPoint0DescriptorBlock.bIEPBCNT = bPacketSize;
+ } else {
+ bStatusAction = STATUS_ACTION_NOTHING;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbSendDataPacketOnEP0 (PBYTE pbBuffer)
+{
+ WORD wTemp;
+
+ pbIEP0Buffer = pbBuffer;
+ wTemp = tSetupPacket.wLength;
+
+ //Limit transfer size to wLength if needed
+ //this prevent USB device sending 'more than require' data back to host
+ if (wBytesRemainingOnIEP0 >= wTemp){
+ wBytesRemainingOnIEP0 = wTemp;
+ bHostAskMoreDataThanAvailable = FALSE;
+ } else {
+ bHostAskMoreDataThanAvailable = TRUE;
+ }
+ usbSendNextPacketOnIEP0();
+}
+
+//----------------------------------------------------------------------------
+VOID usbReceiveNextPacketOnOEP0 (VOID)
+{
+ BYTE bIndex,bByte;
+
+ bByte = tEndPoint0DescriptorBlock.bOEPBCNT & EPBCNT_BYTECNT_MASK;
+
+ if (wBytesRemainingOnOEP0 >= (WORD)bByte){
+ for (bIndex = 0; bIndex < bByte; bIndex++)
+ {
+ *pbOEP0Buffer = abOEP0Buffer[bIndex];
+ pbOEP0Buffer++;
+ }
+ wBytesRemainingOnOEP0 -= (WORD)bByte;
+
+ //clear the NAK bit for next packet
+ if (wBytesRemainingOnOEP0 > 0){
+ usbClearOEP0ByteCount();
+ bStatusAction = STATUS_ACTION_DATA_OUT;
+ } else {
+ usbStallOEP0();
+ bStatusAction = STATUS_ACTION_NOTHING;
+ }
+ } else {
+ usbStallOEP0();
+ bStatusAction = STATUS_ACTION_NOTHING;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbReceiveDataPacketOnEP0 (PBYTE pbBuffer)
+{
+ pbOEP0Buffer = pbBuffer;
+
+ wBytesRemainingOnOEP0 = tSetupPacket.wLength;
+ bStatusAction = STATUS_ACTION_DATA_OUT;
+
+ usbClearOEP0ByteCount();
+}
+
+//----------------------------------------------------------------------------
+
+VOID usbSendZeroLengthPacketOnIEP0 (VOID)
+{
+ wBytesRemainingOnIEP0 = NO_MORE_DATA;
+ bStatusAction = STATUS_ACTION_NOTHING;
+ tEndPoint0DescriptorBlock.bIEPBCNT = 0x00;
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbClearEndpointFeature (VOID)
+{
+ BYTE i;
+ BYTE bEndpointNumber;
+
+ //EP is from EP1 to EP7 while C language start from 0
+ bEndpointNumber = (tSetupPacket.wIndex & EP_DESC_ADDR_EP_NUM);
+ if (bEndpointNumber == 0x00){
+ usbSendZeroLengthPacketOnIEP0();
+ } else {
+ bEndpointNumber--;
+ if (bEndpointNumber < MAX_ENDPOINT_NUMBER){
+ if ((tSetupPacket.wIndex & EP_DESC_ADDR_DIR_IN) ==
+ EP_DESC_ADDR_DIR_IN){
+#ifdef _MSC_
+ if (!MscState.bMscResetRequired){
+#endif
+ tInputEndPointDescriptorBlock[bEndpointNumber].bEPCNF &=
+ ~(EPCNF_STALL | EPCNF_TOGGLE );
+#ifdef _MSC_
+ }
+#endif
+# ifdef _MSC_
+ if (stUsbHandle[MSC0_INTFNUM].edb_Index == bEndpointNumber){
+ MscReadControl.bCurrentBufferXY = 0; //Set current buffer to X
+ MscState.bMcsCommandSupported = TRUE;
+ }
+# endif
+#ifdef _CDC_
+ /* search to EP correspdonding IF */
+ for(i = 0; i < CDC_NUM_INTERFACES; ++i)
+ {
+ if(stUsbHandle[i].edb_Index == bEndpointNumber)
+ {
+ CdcReadCtrl[i].bCurrentBufferXY = X_BUFFER;
+ break;
+ }
+
+ }
+#endif
+ } else {
+#ifdef _MSC_
+ if (!MscState.bMscResetRequired){
+#endif
+ tOutputEndPointDescriptorBlock[bEndpointNumber].bEPCNF &=
+ ~(EPCNF_STALL | EPCNF_TOGGLE );
+#ifdef _MSC_
+ tOutputEndPointDescriptorBlock[bEndpointNumber].bEPBCTX = 0;
+ tOutputEndPointDescriptorBlock[bEndpointNumber].bEPBCTY = 0;
+ MscState.stallEndpoint = FALSE;
+#endif
+#ifdef _MSC_
+ }
+#endif
+# ifdef _MSC_
+ if (stUsbHandle[MSC0_INTFNUM].edb_Index == bEndpointNumber){
+ MscWriteControl.bCurrentBufferXY = 0; //Set current buffer to X
+ MscState.bMcsCommandSupported = TRUE;
+ }
+# endif
+#ifdef _CDC_
+ /* search to EP correspdonding IF */
+ for(i = 0; i < CDC_NUM_INTERFACES; ++i)
+ {
+ if(stUsbHandle[i].edb_Index == bEndpointNumber)
+ {
+ CdcWriteCtrl[i].bCurrentBufferXY = X_BUFFER;
+ break;
+ }
+
+ }
+#endif
+ }
+ usbSendZeroLengthPacketOnIEP0();
+ }
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetConfiguration (VOID)
+{
+ usbClearOEP0ByteCount(); //for status stage
+ wBytesRemainingOnIEP0 = 1;
+ usbSendDataPacketOnEP0((PBYTE)&bConfigurationNumber);
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetDeviceDescriptor (VOID)
+{
+ usbClearOEP0ByteCount();
+ wBytesRemainingOnIEP0 = SIZEOF_DEVICE_DESCRIPTOR;
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+ usbSendDataPacketOnEP0((PBYTE)usbDeviceDescriptors[activeInterfaceIndex]);
+#else
+ usbSendDataPacketOnEP0((PBYTE)&abromDeviceDescriptor);
+#endif
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetConfigurationDescriptor (VOID)
+{
+ usbClearOEP0ByteCount();
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+ wBytesRemainingOnIEP0 = usbConfigurationsSizes[activeInterfaceIndex];
+ usbSendDataPacketOnEP0((PBYTE)usbConfigurationDescriptors[activeInterfaceIndex]);
+#else
+ wBytesRemainingOnIEP0 = sizeof(abromConfigurationDescriptorGroup);
+ usbSendDataPacketOnEP0((PBYTE)&abromConfigurationDescriptorGroup);
+#endif
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetStringDescriptor (VOID)
+{
+ WORD bIndex;
+ BYTE bVal = (BYTE)tSetupPacket.wValue;
+
+ usbClearOEP0ByteCount(); //for status stage
+#if (USB_STR_INDEX_SERNUM != 0)
+
+ if (bVal == 0x03){
+ wBytesRemainingOnIEP0 = abramSerialStringDescriptor[0];
+ usbSendDataPacketOnEP0((PBYTE)&abramSerialStringDescriptor);
+ } else
+#endif
+ {
+ bIndex = 0x00;
+ while (bVal-- > 0x00) bIndex += abromStringDescriptor[bIndex];
+ wBytesRemainingOnIEP0 = abromStringDescriptor[bIndex];
+ usbSendDataPacketOnEP0((PBYTE)&abromStringDescriptor[bIndex]);
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetInterface (VOID)
+{
+ //not fully supported, return one byte, zero
+ usbClearOEP0ByteCount(); //for status stage
+ wBytesRemainingOnIEP0 = 0x02;
+ abUsbRequestReturnData[0] = 0x00; //changed to report alternative setting byte
+ abUsbRequestReturnData[1] = bInterfaceNumber;
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]);
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetDeviceStatus (VOID)
+{
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+ if ((((struct abromConfigurationDescriptorGroup *)
+ usbConfigurationDescriptors[activeInterfaceIndex])->
+ abromConfigurationDescriptorGenric.mattributes &
+ CFG_DESC_ATTR_SELF_POWERED) == CFG_DESC_ATTR_SELF_POWERED){
+ abUsbRequestReturnData[0] = DEVICE_STATUS_SELF_POWER;
+ }
+#else
+ if ((abromConfigurationDescriptorGroup.abromConfigurationDescriptorGenric.
+ mattributes &
+ CFG_DESC_ATTR_SELF_POWERED) == CFG_DESC_ATTR_SELF_POWERED){
+ abUsbRequestReturnData[0] = DEVICE_STATUS_SELF_POWER;
+ }
+#endif
+ if (bRemoteWakeup == ENABLE){
+ abUsbRequestReturnData[0] |= DEVICE_STATUS_REMOTE_WAKEUP;
+ }
+ usbClearOEP0ByteCount(); //for status stage
+
+ //Return self power status and remote wakeup status
+ wBytesRemainingOnIEP0 = 2;
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]);
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetInterfaceStatus (VOID)
+{
+ //check bIndexL for index number (not supported)
+ usbClearOEP0ByteCount(); //for status stage
+
+ //Return two zero bytes
+ wBytesRemainingOnIEP0 = 2;
+ abUsbRequestReturnData[0] = 0x00; //changed to support multiple interfaces
+ abUsbRequestReturnData[1] = bInterfaceNumber;
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]);
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetEndpointStatus (VOID)
+{
+ BYTE bEndpointNumber;
+
+ //Endpoint number is bIndexL
+ bEndpointNumber = tSetupPacket.wIndex & EP_DESC_ADDR_EP_NUM;
+ if (bEndpointNumber == 0x00){
+ if ((tSetupPacket.wIndex & EP_DESC_ADDR_DIR_IN) ==
+ EP_DESC_ADDR_DIR_IN){
+ //input endpoint 0
+ abUsbRequestReturnData[0] =
+ (BYTE)(tEndPoint0DescriptorBlock.bIEPCNFG & EPCNF_STALL);
+ } else {
+ //output endpoint 0
+ abUsbRequestReturnData[0] =
+ (BYTE)(tEndPoint0DescriptorBlock.bOEPCNFG & EPCNF_STALL);
+ }
+ abUsbRequestReturnData[0] = abUsbRequestReturnData[0] >> 3; //STALL is on bit 3
+ usbClearOEP0ByteCount(); //for status stage
+ wBytesRemainingOnIEP0 = 0x02;
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]);
+ } else {
+ bEndpointNumber--;
+ //EP is from EP1 to EP7 while C language start from 0
+ //Firmware should NOT response if specified endpoint is not supported. (charpter 8)
+ if (bEndpointNumber < MAX_ENDPOINT_NUMBER){
+ if (tSetupPacket.wIndex & EP_DESC_ADDR_DIR_IN){
+ //input endpoint
+ abUsbRequestReturnData[0] =
+ (BYTE)(tInputEndPointDescriptorBlock[bEndpointNumber].
+ bEPCNF &
+ EPCNF_STALL);
+ } else {
+ //output endpoint
+ abUsbRequestReturnData[0] =
+ (BYTE)(tOutputEndPointDescriptorBlock[bEndpointNumber].
+ bEPCNF &
+ EPCNF_STALL);
+ }
+ } //no response if endpoint is not supported.
+ abUsbRequestReturnData[0] = abUsbRequestReturnData[0] >> 3; //STALL is on bit 3
+ usbClearOEP0ByteCount();
+ wBytesRemainingOnIEP0 = 0x02;
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]);
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+BYTE usbSetAddress (VOID)
+{
+ usbStallOEP0(); //control write without data stage
+
+ //bValueL contains device address
+ if (tSetupPacket.wValue < 128){
+ //hardware will update the address after status stage
+ //therefore, firmware can set the address now.
+ USBFUNADR = tSetupPacket.wValue;
+ usbSendZeroLengthPacketOnIEP0();
+ } else {
+ usbStallEndpoint0();
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetConfiguration (VOID)
+{
+ usbStallOEP0(); //control write without data stage
+
+ //configuration number is in bValueL
+ //change the code if more than one configuration is supported
+ bConfigurationNumber = tSetupPacket.wValue;
+ usbSendZeroLengthPacketOnIEP0();
+
+ if (bConfigurationNumber == 1){
+ bEnumerationStatus = ENUMERATION_COMPLETE; //set device as enumerated
+ } else {
+ bEnumerationStatus = 0; //device is not configured == config # is zero
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbClearDeviceFeature (VOID)
+{
+ //bValueL contains feature selector
+ if (tSetupPacket.wValue == FEATURE_REMOTE_WAKEUP){
+ bRemoteWakeup = DISABLE;
+ usbSendZeroLengthPacketOnIEP0();
+ } else {
+ usbStallEndpoint0();
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetDeviceFeature (VOID)
+{
+ //bValueL contains feature selector
+ if (tSetupPacket.wValue == FEATURE_REMOTE_WAKEUP){
+ bRemoteWakeup = ENABLE;
+ usbSendZeroLengthPacketOnIEP0();
+ } else {
+ usbStallEndpoint0();
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetEndpointFeature (VOID)
+{
+ BYTE bEndpointNumber;
+
+ //wValue contains feature selector
+ //bIndexL contains endpoint number
+ //Endpoint number is in low byte of wIndex
+ if (tSetupPacket.wValue == FEATURE_ENDPOINT_STALL){
+ bEndpointNumber = tSetupPacket.wIndex & EP_DESC_ADDR_EP_NUM;
+ if (bEndpointNumber == 0x00){
+ usbSendZeroLengthPacketOnIEP0(); //do nothing for endpoint 0
+ } else {
+ bEndpointNumber--;
+ //Firmware should NOT response if specified endpoint is not supported. (charpter 8)
+ if (bEndpointNumber < MAX_ENDPOINT_NUMBER){
+ if (tSetupPacket.wIndex & EP_DESC_ADDR_DIR_IN){
+ //input endpoint
+ tInputEndPointDescriptorBlock[bEndpointNumber].bEPCNF |=
+ EPCNF_STALL;
+ } else {
+ //output endpoint
+ tOutputEndPointDescriptorBlock[bEndpointNumber].bEPCNF |=
+ EPCNF_STALL;
+ }
+ usbSendZeroLengthPacketOnIEP0();
+ } //no response if endpoint is not supported.
+ }
+ } else {
+ usbStallEndpoint0();
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetInterface (VOID)
+{
+ //bValueL contains alternative setting
+ //bIndexL contains interface number
+ //change code if more than one interface is supported
+ usbStallOEP0(); //control write without data stage
+ bInterfaceNumber = tSetupPacket.wIndex;
+#ifdef _MSC_
+ tInputEndPointDescriptorBlock[stUsbHandle[MSC0_INTFNUM].edb_Index].bEPCNF
+ &= ~(EPCNF_TOGGLE);
+ tOutputEndPointDescriptorBlock[stUsbHandle[MSC0_INTFNUM].edb_Index].bEPCNF
+ &= ~(EPCNF_TOGGLE);
+ MscReadControl.bCurrentBufferXY = 0; //Set current buffer to X
+ MscWriteControl.bCurrentBufferXY = 0; //Set current buffer to X
+#endif
+ usbSendZeroLengthPacketOnIEP0();
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbInvalidRequest (VOID)
+{
+ //check if setup overwrite is set
+ //if set, do nothing since we might decode it wrong
+ //setup packet buffer could be modified by hardware if another setup packet
+ //was sent while we are deocding setup packet
+ if ((USBIFG & STPOWIFG) == 0x00){
+ usbStallEndpoint0();
+ }
+
+ return (FALSE);
+}
+
+typedef BYTE (*tpF)(VOID);
+
+BYTE usbDecodeAndProcessUsbRequest (VOID)
+{
+ BYTE bMask,bResult,bTemp;
+ const BYTE* pbUsbRequestList;
+ BYTE bWakeUp = FALSE;
+ ptDEVICE_REQUEST ptSetupPacket = &tSetupPacket;
+ BYTE bRequestType,bRequest;
+ tpF lAddrOfFunction;
+
+ //point to beginning of the matrix
+ pbUsbRequestList = (PBYTE)&tUsbRequestList[0];
+
+ while (1)
+ {
+ bRequestType = *pbUsbRequestList++;
+ bRequest = *pbUsbRequestList++;
+
+ if (((bRequestType == 0xff) && (bRequest == 0xff)) ||
+ (tSetupPacket.bmRequestType ==
+ (USB_REQ_TYPE_INPUT | USB_REQ_TYPE_VENDOR |
+ USB_REQ_TYPE_DEVICE)) ||
+ (tSetupPacket.bmRequestType ==
+ (USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_VENDOR |
+ USB_REQ_TYPE_DEVICE))){
+ pbUsbRequestList -= 2;
+ break;
+ }
+
+ if ((bRequestType == tSetupPacket.bmRequestType) &&
+ (bRequest == tSetupPacket.bRequest)){
+ //compare the first two
+ bResult = 0xc0;
+ bMask = 0x20;
+ //first two bytes matched, compare the rest
+ for (bTemp = 2; bTemp < 8; bTemp++)
+ {
+ if (*((BYTE*)ptSetupPacket + bTemp) == *pbUsbRequestList){
+ bResult |= bMask;
+ }
+ pbUsbRequestList++;
+ bMask = bMask >> 1;
+ }
+ //now we have the result
+ if ((*pbUsbRequestList & bResult) == *pbUsbRequestList){
+ pbUsbRequestList -= 8;
+ break;
+ } else {
+ pbUsbRequestList += (sizeof(tDEVICE_REQUEST_COMPARE) - 8);
+ }
+ } else {
+ pbUsbRequestList += (sizeof(tDEVICE_REQUEST_COMPARE) - 2);
+ }
+ }
+
+ //if another setup packet comes before we have the chance to process current
+ //setup request, we return here without processing the request
+ //this check is not necessary but still kept here to reduce response(or simulation) time
+
+ if ((USBIFG & STPOWIFG) != 0x00){
+ return (bWakeUp);
+ }
+
+ //now we found the match and jump to the function accordingly.
+ lAddrOfFunction =
+ ((tDEVICE_REQUEST_COMPARE*)pbUsbRequestList)->pUsbFunction;
+
+ //call function
+ bWakeUp = (*lAddrOfFunction)();
+
+ //perform enumeration complete event:
+ //when SetAddress was called and USBADDR is not zero
+ if ((lAddrOfFunction == &usbSetAddress) && (USBFUNADR != 0)){
+ bWakeUp = USB_handleEnumCompleteEvent();
+ }
+ return (bWakeUp);
+}
+
+WORD usbDisableInEndpointInterrupt(BYTE edbIndex)
+{
+ WORD state;
+ //_DISABLE_UART();
+ state = USBIEPIE & (1 << (edbIndex + 1));
+ USBIEPIE &= ~(1 << (edbIndex + 1));
+ return (state);
+}
+VOID usbRestoreInEndpointInterrupt(WORD state)
+{
+ USBIEPIE |= state;
+}
+WORD usbDisableOutEndpointInterrupt(BYTE edbIndex)
+{
+ WORD state;
+ //_DISABLE_UART();
+ state = USBOEPIE & (1 << (edbIndex + 1));
+ USBOEPIE &= ~(1 << (edbIndex + 1));
+ return (state);
+}
+VOID usbRestoreOutEndpointInterrupt(WORD state)
+{
+ USBOEPIE |= state;
+}
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+
+BYTE USB_switchInterface(BYTE interfaceIndex)
+{
+ if (interfaceIndex < NONCOMP_NUM_USB_INTERFACES) {
+ activeInterfaceIndex = interfaceIndex;
+ return (TRUE);
+ }
+ else {
+ return (FALSE);
+ }
+}
+
+#endif
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_Common/usb.h b/Bios/src/fw/fet/USB_API/USB_Common/usb.h
new file mode 100644
index 0000000..df70fa9
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_Common/usb.h
@@ -0,0 +1,483 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== usb.h ========
+ */
+#ifndef _USB_H_
+#define _USB_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*----------------------------------------------------------------------------+
+ | Constant Definition |
+ +----------------------------------------------------------------------------*/
+#define USB_RETURN_DATA_LENGTH 8
+#define SIZEOF_DEVICE_REQUEST 0x08
+
+//Bit definitions for DEVICE_REQUEST.bmRequestType
+//Bit 7: Data direction
+#define USB_REQ_TYPE_OUTPUT 0x00 //0 = Host sending data to device
+#define USB_REQ_TYPE_INPUT 0x80 //1 = Device sending data to host
+
+//Bit 6-5: Type
+#define USB_REQ_TYPE_MASK 0x60 //Mask value for bits 6-5
+#define USB_REQ_TYPE_STANDARD 0x00 //00 = Standard USB request
+#define USB_REQ_TYPE_CLASS 0x20 //01 = Class specific
+#define USB_REQ_TYPE_VENDOR 0x40 //10 = Vendor specific
+
+//Bit 4-0: Recipient
+#define USB_REQ_TYPE_RECIP_MASK 0x1F //Mask value for bits 4-0
+#define USB_REQ_TYPE_DEVICE 0x00 //00000 = Device
+#define USB_REQ_TYPE_INTERFACE 0x01 //00001 = Interface
+#define USB_REQ_TYPE_ENDPOINT 0x02 //00010 = Endpoint
+#define USB_REQ_TYPE_OTHER 0x03 //00011 = Other
+
+//Values for DEVICE_REQUEST.bRequest
+//Standard Device Requests
+#define USB_REQ_GET_STATUS 0
+#define USB_REQ_CLEAR_FEATURE 1
+#define USB_REQ_SET_FEATURE 3
+#define USB_REQ_SET_ADDRESS 5
+#define USB_REQ_GET_DESCRIPTOR 6
+#define USB_REQ_SET_DESCRIPTOR 7
+#define USB_REQ_GET_CONFIGURATION 8
+#define USB_REQ_SET_CONFIGURATION 9
+#define USB_REQ_GET_INTERFACE 10
+#define USB_REQ_SET_INTERFACE 11
+#define USB_REQ_SYNCH_FRAME 12
+
+//CDC CLASS Requests
+#define USB_CDC_GET_LINE_CODING 0x21
+#define USB_CDC_SET_LINE_CODING 0x20
+#define USB_CDC_SET_CONTROL_LINE_STATE 0x22
+
+//HID CLASS Requests
+#define USB_HID_REQ 0x81
+#define USB_REQ_GET_REPORT 0x01
+#define USB_REQ_GET_IDLE 0x02
+#define USB_REQ_SET_REPORT 0x09
+#define USB_REQ_SET_IDLE 0x0A
+#define USB_REQ_SET_PROTOCOL 0x0B
+#define USB_REQ_GET_PROTOCOL 0x03
+
+//MSC CLASS Requests
+#define USB_MSC_RESET_BULK 0xFF
+#define USB_MSC_GET_MAX_LUN 0xFE
+
+// PHDC CLASS Requests
+#define USB_PHDC_GET_STATUS 0x00
+
+//HID Values for HID Report Types (tSetup.bValueH)
+#define USB_REQ_HID_INPUT 0x01
+#define USB_REQ_HID_OUTPUT 0x02
+#define USB_REQ_HID_FEATURE 0x03
+
+#define USB_REQ_HID_BOOT_PROTOCOL 0x00
+#define USB_REQ_HID_REPORT_PROTOCOL 0x01
+
+
+//Descriptor Type Values
+#define DESC_TYPE_DEVICE 1 //Device Descriptor (Type 1)
+#define DESC_TYPE_CONFIG 2 //Configuration Descriptor (Type 2)
+#define DESC_TYPE_STRING 3 //String Descriptor (Type 3)
+#define DESC_TYPE_INTERFACE 4 //Interface Descriptor (Type 4)
+#define DESC_TYPE_ENDPOINT 5 //Endpoint Descriptor (Type 5)
+#define DESC_TYPE_DEVICE_QUALIFIER 6 //Endpoint Descriptor (Type 6)
+#define DESC_TYPE_IAD 0x0B
+#define DESC_TYPE_HUB 0x29 //Hub Descriptor (Type 6)
+#define DESC_TYPE_HID 0x21 //HID Descriptor
+#define DESC_TYPE_REPORT 0x22 //Report Descriptor
+#define DESC_TYPE_PHYSICAL 0x23 //Physical Descriptor
+
+//Feature Selector Values
+#define FEATURE_REMOTE_WAKEUP 1 //Remote wakeup (Type 1)
+#define FEATURE_ENDPOINT_STALL 0 //Endpoint stall (Type 0)
+
+//Device Status Values
+#define DEVICE_STATUS_REMOTE_WAKEUP 0x02
+#define DEVICE_STATUS_SELF_POWER 0x01
+
+//Maximum descriptor size
+#define MAX_DESC_SIZE 256
+
+//DEVICE_DESCRIPTOR structure
+#define SIZEOF_DEVICE_DESCRIPTOR 0x12
+#define OFFSET_DEVICE_DESCRIPTOR_VID_L 0x08
+#define OFFSET_DEVICE_DESCRIPTOR_VID_H 0x09
+#define OFFSET_DEVICE_DESCRIPTOR_PID_L 0x0A
+#define OFFSET_DEVICE_DESCRIPTOR_PID_H 0x0B
+#define OFFSET_CONFIG_DESCRIPTOR_POWER 0x07
+#define OFFSET_CONFIG_DESCRIPTOR_CURT 0x08
+
+//CONFIG_DESCRIPTOR structure
+#define SIZEOF_CONFIG_DESCRIPTOR 0x09
+
+//HID DESCRIPTOR structure
+//#define SIZEOF_HID_DESCRIPTOR 0x09
+
+//Bit definitions for CONFIG_DESCRIPTOR.bmAttributes
+#define CFG_DESC_ATTR_SELF_POWERED 0x40 //Bit 6: If set, device is self powered
+#define CFG_DESC_ATTR_BUS_POWERED 0x80 //Bit 7: If set, device is bus powered
+#define CFG_DESC_ATTR_REMOTE_WAKE 0x20 //Bit 5: If set, device supports remote wakeup
+
+//INTERFACE_DESCRIPTOR structure
+#define SIZEOF_INTERFACE_DESCRIPTOR 0x09
+
+//ENDPOINT_DESCRIPTOR structure
+#define SIZEOF_ENDPOINT_DESCRIPTOR 0x07
+
+//Bit definitions for EndpointDescriptor.EndpointAddr
+#define EP_DESC_ADDR_EP_NUM 0x0F //Bit 3-0: Endpoint number
+#define EP_DESC_ADDR_DIR_IN 0x80 //Bit 7: Direction of endpoint, 1/0 = In/Out
+
+//Bit definitions for EndpointDescriptor.EndpointFlags
+#define EP_DESC_ATTR_TYPE_MASK 0x03 //Mask value for bits 1-0
+#define EP_DESC_ATTR_TYPE_CONT 0x00 //Bit 1-0: 00 = Endpoint does control transfers
+#define EP_DESC_ATTR_TYPE_ISOC 0x01 //Bit 1-0: 01 = Endpoint does isochronous transfers
+#define EP_DESC_ATTR_TYPE_BULK 0x02 //Bit 1-0: 10 = Endpoint does bulk transfers
+#define EP_DESC_ATTR_TYPE_INT 0x03 //Bit 1-0: 11 = Endpoint does interrupt transfers
+
+//Definition to indicate valid/invalid data
+#define DATA_VALID 1
+#define DATA_INVALID 0
+
+extern __no_init tDEVICE_REQUEST __data16 tSetupPacket;
+extern __no_init BYTE __data16 abIEP0Buffer[];
+extern __no_init BYTE __data16 abOEP0Buffer[];
+extern __no_init BYTE __data16 pbXBufferAddressEp1[];
+extern __no_init BYTE __data16 pbYBufferAddressEp1[];
+extern __no_init BYTE __data16 pbXBufferAddressEp81[];
+extern __no_init BYTE __data16 pbYBufferAddressEp81[];
+extern __no_init BYTE __data16 pbXBufferAddressEp2[];
+extern __no_init BYTE __data16 pbYBufferAddressEp2[];
+extern __no_init BYTE __data16 pbXBufferAddressEp82[];
+extern __no_init BYTE __data16 pbYBufferAddressEp82[];
+
+extern __no_init BYTE __data16 pbXBufferAddressEp3[];
+extern __no_init BYTE __data16 pbYBufferAddressEp3[];
+extern __no_init BYTE __data16 pbXBufferAddressEp83[];
+extern __no_init BYTE __data16 pbYBufferAddressEp83[];
+
+extern __no_init BYTE __data16 pbXBufferAddressEp4[];
+extern __no_init BYTE __data16 pbYBufferAddressEp4[];
+extern __no_init BYTE __data16 pbXBufferAddressEp84[];
+extern __no_init BYTE __data16 pbYBufferAddressEp84[];
+
+extern __no_init BYTE __data16 pbXBufferAddressEp5[];
+extern __no_init BYTE __data16 pbYBufferAddressEp5[];
+extern __no_init BYTE __data16 pbXBufferAddressEp85[];
+extern __no_init BYTE __data16 pbYBufferAddressEp85[];
+
+
+extern __no_init BYTE __data16 pbXBufferAddressEp6[];
+extern __no_init BYTE __data16 pbYBufferAddressEp6[];
+extern __no_init BYTE __data16 pbXBufferAddressEp86[];
+extern __no_init BYTE __data16 pbYBufferAddressEp86[];
+
+extern __no_init BYTE __data16 pbXBufferAddressEp7[];
+extern __no_init BYTE __data16 pbYBufferAddressEp7[];
+extern __no_init BYTE __data16 pbXBufferAddressEp87[];
+extern __no_init BYTE __data16 pbYBufferAddressEp87[];
+
+extern WORD wBytesRemainingOnIEP0;
+extern WORD wBytesRemainingOnOEP0;
+extern BYTE abUsbRequestReturnData[];
+extern BYTE abUsbRequestIncomingData[];
+extern BYTE bEnumerationStatus;
+extern BYTE bFunctionSuspended;
+
+//Function return values
+#define kUSB_succeed 0x00
+#define kUSB_generalError 0x01
+#define kUSB_notEnabled 0x02
+//#define kUSB_VbusNotPresent 0x03
+
+//return values USB_connectionInfo(), USB_connect()
+#define kUSB_vbusPresent 0x01
+#define kUSB_busActive 0x02 //frame sync packets are being received
+#define kUSB_ConnectNoVBUS 0x04
+#define kUSB_suspended 0x08
+#define kUSB_NotSuspended 0x10
+#define kUSB_Enumerated 0x20
+#define kUSB_purHigh 0x40
+
+//Parameters for function USB_setEnabledEvents()
+#define kUSB_clockFaultEvent 0x0001
+#define kUSB_VbusOnEvent 0x0002
+#define kUSB_VbusOffEvent 0x0004
+#define kUSB_UsbResetEvent 0x0008
+#define kUSB_UsbSuspendEvent 0x0010
+#define kUSB_UsbResumeEvent 0x0020
+#define kUSB_dataReceivedEvent 0x0040
+#define kUSB_sendCompletedEvent 0x0080
+#define kUSB_receiveCompletedEvent 0x0100
+#define kUSB_allUsbEvents 0x01FF
+
+//USB connection states
+#define ST_USB_DISCONNECTED 0x80
+#define ST_USB_CONNECTED_NO_ENUM 0x81
+#define ST_ENUM_IN_PROGRESS 0x82
+#define ST_ENUM_ACTIVE 0x83
+#define ST_ENUM_SUSPENDED 0x84
+//#define ST_FAILED_ENUM 0x85
+#define ST_ERROR 0x86
+#define ST_NOENUM_SUSPENDED 0x87
+
+VOID usbStallInEndpoint(BYTE);
+VOID usbStallOutEndpoint(BYTE);
+VOID usbStallEndpoint(BYTE);
+VOID usbClearOEPByteCount(BYTE);
+
+
+/*----------------------------------------------------------------------------
+ * These functions can be used in application
+ +----------------------------------------------------------------------------*/
+
+/*
+ * MSP430 USB Module Management functions
+ */
+
+/**
+ * Init the USB HW interface.
+ */
+BYTE USB_init(VOID);
+
+/**
+ * Init and start the USB PLL.
+ */
+BYTE USB_enable ();
+
+/**
+ * Disables the USB module and PLL.
+ */
+BYTE USB_disable(VOID);
+
+/*
+ * Enables/disables various USB events.
+ */
+BYTE USB_setEnabledEvents (WORD events);
+
+/*
+ * Returns which events are enabled and which are disabled.
+ */
+WORD USB_getEnabledEvents ();
+
+/*
+ * Instruct USB module to make itself available to the PC for connection, by pulling PUR high.
+ */
+BYTE USB_connect ();
+
+/*
+ * Force a disconnect from the PC by pulling PUR low.
+ */
+BYTE USB_disconnect ();
+
+/**
+ * Reset USB-SIE and global variables.
+ */
+BYTE USB_reset ();
+
+/**
+ * Suspend USB.
+ */
+BYTE USB_suspend(VOID);
+
+/**
+ * Resume USB.
+ */
+BYTE USB_resume(VOID);
+
+/*
+ * Force a remote wakeup of the USB host.
+ * This method can be generated only if device supports
+ * remote wake-up feature in some of its configurations.
+ * The method wakes-up the USB bus only if wake-up feature is enabled by the host.
+ */
+BYTE USB_forceRemoteWakeup ();
+
+/*
+ * Returns the status of the USB connection.
+ */
+BYTE USB_connectionInfo ();
+
+/*
+ * Returns the state of the USB connection.
+ */
+BYTE USB_connectionState ();
+
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+/*
+ * Switch to a different USB configuration. Used only for non-composite devices with multiple configuratons.
+ */
+BYTE USB_switchInterface(BYTE interfaceIndex);
+
+#endif
+
+/*
+ * Event-Handling routines
+ */
+
+/*
+ * If this function gets executed, it's a sign that the output of the USB PLL has failed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleClockEvent ();
+
+/*
+ * If this function gets executed, it indicates that a valid voltage has just been applied to the VBUS pin.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleVbusOnEvent ();
+
+/*
+ * If this function gets executed, it indicates that a valid voltage has just been removed from the VBUS pin.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleVbusOffEvent ();
+
+/*
+ * If this function gets executed, it indicates that the USB host has issued a USB reset event to the device.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleResetEvent ();
+
+/*
+ * If this function gets executed, it indicates that the USB host has chosen to suspend this device after a period of active
+ * operation.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleSuspendEvent ();
+
+/*
+ * If this function gets executed, it indicates that the USB host has chosen to resume this device after a period of suspended
+ * operation.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleResumeEvent ();
+
+/*
+ * If this function gets executed, it indicates that the USB host has enumerated this device :
+ * after host assigned the address to the device.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleEnumCompleteEvent ();
+
+/**
+ * Send stall handshake for in- and out-endpoint0 (control pipe)
+ */
+VOID usbStallEndpoint0(VOID);
+
+/**
+ * Clear byte counter for endpoint0 (control pipe)
+ */
+VOID usbClearOEP0ByteCount(VOID);
+
+/**
+ * Send stall handshake for out-endpoint0 (control pipe)
+ */
+VOID usbStallOEP0(VOID);
+
+/**
+ * Send further data over control pipe if needed.
+ * Function is called from control-in IRQ. Do not call from user application
+ */
+VOID usbSendNextPacketOnIEP0(VOID);
+
+/**
+ * Send data over control pipe to host.
+ * Number of bytes to transmit should be set with
+ * global varible "wBytesRemainingOnIEP0" before function is called.
+ */
+VOID usbSendDataPacketOnEP0 (PBYTE pbBuffer);
+
+/**
+ * Receive further data from control pipe if needed.
+ * Function is called from control-out IRQ. Do not call from user application
+ */
+VOID usbReceiveNextPacketOnOEP0(VOID);
+
+/**
+ * Receive data from control pipe.
+ * Number of bytes to receive should be set with
+ * global varible "wBytesRemainingOnOEP0" before function is called.
+ */
+VOID usbReceiveDataPacketOnEP0 (PBYTE pbBuffer);
+
+/**
+ * Send zero length packet on control pipe.
+ */
+VOID usbSendZeroLengthPacketOnIEP0(VOID);
+
+/*Send data to host.*/
+BYTE MscSendData (const BYTE* data, WORD size);
+
+/**
+ * Decode incoming usb setup packet and call corresponding function
+ * usbDecodeAndProcessUsbRequest is called from IRQ. Do not call from user application
+ */
+BYTE usbDecodeAndProcessUsbRequest(VOID);
+BYTE usbClearEndpointFeature(VOID);
+BYTE usbGetConfiguration(VOID);
+BYTE usbGetDeviceDescriptor(VOID);
+BYTE usbGetConfigurationDescriptor(VOID);
+BYTE usbGetStringDescriptor(VOID);
+BYTE usbGetInterface(VOID);
+BYTE usbGetDeviceStatus(VOID);
+BYTE usbGetEndpointStatus(VOID);
+BYTE usbGetInterfaceStatus(VOID);
+BYTE usbSetAddress(VOID);
+BYTE usbSetConfiguration(VOID);
+BYTE usbClearDeviceFeature(VOID);
+BYTE usbSetDeviceFeature(VOID);
+BYTE usbSetEndpointFeature(VOID);
+BYTE usbSetInterface(VOID);
+BYTE usbInvalidRequest(VOID);
+WORD usbDisableInEndpointInterrupt(BYTE edbIndex);
+VOID usbRestoreInEndpointInterrupt(WORD state);
+WORD usbDisableOutEndpointInterrupt(BYTE edbIndex);
+VOID usbRestoreOutEndpointInterrupt(WORD state);
+
+#define ENUMERATION_COMPLETE 0x01
+
+/*----------------------------------------------------------------------------+
+ | End of header file |
+ +----------------------------------------------------------------------------*/
+#ifdef __cplusplus
+}
+#endif
+#endif /*
+ * _USB_H
+ *------------------------ Nothing Below This Line --------------------------
+ */
diff --git a/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHid.c b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHid.c
new file mode 100644
index 0000000..9b0d525
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHid.c
@@ -0,0 +1,920 @@
+//(c)2009 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (HID Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbHid.c, File Version 1.00 2009/12/03 |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2009/02/20 ported from CdcHid |
+ | RSTO 2009/05/19 updated USBHID_intfStatus() |
+ | RSTO 2009/05/26 added USBHID_bytesInUSBBuffer() |
+ | RSTO 2009/05/28 changed USBHID_sendData() |
+ | RSTO 2009/06/09 updated USBHID_bytesInUSBBuffer() |
+ | MSP/Biju 2009/10/21 Changes for composite support |
+ | RSTO 2009/10/21 move __disable_interrupt() before |
+ | checking for suspend |
+ +----------------------------------------------------------------------------*/
+
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h" //USB-specific Data Structures
+#include "UsbHid.h"
+#include
+#include
+
+#ifdef _HID_
+
+//function pointers
+extern VOID *(*USB_TX_memcpy)(VOID * dest, const VOID * source, size_t count);
+extern VOID *(*USB_RX_memcpy)(VOID * dest, const VOID * source, size_t count);
+
+//Local Macros
+#define INTFNUM_OFFSET(X) (X - HID0_INTFNUM) //Get the HID offset
+
+extern BYTE const report_len_input[HID_NUM_INTERFACES];
+
+static struct _HidWrite {
+ WORD nHidBytesToSend; //holds counter of bytes to be sent
+ WORD nHidBytesToSendLeft; //holds counter how many bytes is still to be sent
+ const BYTE* pHidBufferToSend; //holds the buffer with data to be sent
+ BYTE bCurrentBufferXY; //indicates which buffer is to use next for for write into IN OUT endpoint
+} HidWriteCtrl[HID_NUM_INTERFACES];
+
+static struct _HidRead {
+ BYTE *pUserBuffer; //holds the current position of user's receiving buffer. If NULL- no receiving
+ //operation started
+ BYTE *pCurrentEpPos; //current positon to read of received data from curent EP
+ WORD nBytesToReceive; //holds how many bytes was requested by receiveData() to receive
+ WORD nBytesToReceiveLeft; //holds how many bytes is still requested by receiveData() to receive
+ BYTE * pCT1; //holds current EPBCTxx register
+ BYTE * pCT2; //holds next EPBCTxx register
+ BYTE * pEP2; //holds addr of the next EP buffer
+ BYTE nBytesInEp; //how many received bytes still available in current EP
+ BYTE bCurrentBufferXY; //indicates which buffer is used by host to transmit data via OUT endpoint
+} HidReadCtrl[HID_NUM_INTERFACES];
+
+extern WORD wUsbEventMask;
+
+BYTE hidProtocol[HID_NUM_INTERFACES] = {0};
+BYTE hidIdleRate[HID_NUM_INTERFACES] = {0};
+
+/*----------------------------------------------------------------------------+
+ | Global Variables |
+ +----------------------------------------------------------------------------*/
+
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern __no_init tEDB __data16 tOutputEndPointDescriptorBlock[];
+
+
+VOID HidCopyUsbToBuff (BYTE* pEP, BYTE* pCT, BYTE);
+
+/*----------------------------------------------------------------------------+
+ | Functions' implementatin |
+ +----------------------------------------------------------------------------*/
+
+//resets internal HID data structure
+VOID HidResetData ()
+{
+ int i;
+
+ //indicates which buffer is used by host to transmit data via OUT endpoint3 - X buffer is first
+ //HidReadCtrl[intfIndex].bCurrentBufferXY = X_BUFFER;
+
+ memset(&HidReadCtrl, 0, sizeof(HidReadCtrl));
+ memset(&HidWriteCtrl, 0, sizeof(HidWriteCtrl));
+ for (i = 0; i < HID_NUM_INTERFACES; i++){
+ hidProtocol[i] = USB_REQ_HID_REPORT_PROTOCOL;
+ }
+}
+
+/*
+ * Sends a pre-built report reportData to the host.
+ * Returns: kUSBHID_sendComplete
+ * kUSBHID_intfBusyError
+ * kUSBCDC_busNotAvailable
+ */
+BYTE USBHID_sendReport (const BYTE * reportData, BYTE intfNum)
+{
+ BYTE byte_count;
+ BYTE * pEP1;
+ BYTE * pCT1;
+
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ return (kUSBHID_busNotAvailable);
+ }
+
+ if (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ }
+
+ byte_count = report_len_input[INTFNUM_OFFSET(intfNum)];
+
+ if (*pCT1 & EPBCNT_NAK){ //if this EP is empty
+ USB_TX_memcpy(pEP1, reportData, byte_count); //copy data into IEP X or Y buffer
+ *pCT1 = byte_count; //Set counter for usb In-Transaction
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY + 1) & 0x01; //switch buffer
+ return (kUSBHID_sendComplete);
+ }
+ return (kUSBHID_intfBusyError);
+}
+
+/*
+ * Receives report reportData from the host.
+ * Return: kUSBHID_receiveCompleted
+ * kUSBHID_generalError
+ * kUSBCDC_busNotAvailable
+ */
+BYTE USBHID_receiveReport (BYTE * reportData, BYTE intfNum)
+{
+ BYTE ret = kUSBHID_generalError;
+ BYTE nTmp1 = 0;
+
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ return (kUSBHID_busNotAvailable);
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //this is current buffer
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ //this is the active EP buffer
+ //pEP1
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ nTmp1 = 1; //indicate that data is available
+ }
+ } else { //Y_BUFFER
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){
+ //this is the active EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ nTmp1 = 1; //indicate that data is available
+ }
+ }
+
+ if (nTmp1){
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+
+ USB_RX_memcpy(reportData, HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ nTmp1);
+ //memcpy(reportData, HidReadCtrl.pEP1, nTmp1);
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+ *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 = 0; //clear NAK, EP ready to receive data
+
+ ret = kUSBHID_receiveCompleted;
+ }
+ }
+ return (ret);
+}
+
+/*
+ * Sends data over interface intfNum, of size size and starting at address data.
+ * Returns: kUSBHID_sendStarted
+ * kUSBHID_sendComplete
+ * kUSBHID_intBusyError
+ */
+BYTE USBHID_sendData (const BYTE* data, WORD size, BYTE intfNum)
+{
+ unsigned short bGIE;
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (size == 0){
+ return (kUSBHID_generalError);
+ }
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //data can not be read because of USB suspended
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_busNotAvailable);
+ }
+
+ if (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft != 0){
+ //the USB still sends previous data, we have to wait
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_intfBusyError);
+ }
+
+ //This function generate the USB interrupt. The data will be sent out from interrupt
+
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSend = size;
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft = size;
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].pHidBufferToSend = data;
+
+ //trigger Endpoint Interrupt - to start send operation
+ USBIEPIFG |= 1 << (edbIndex + 1); //IEPIFGx;
+
+ __bis_SR_register(bGIE); //restore interrupt status
+
+ return (kUSBHID_sendStarted);
+}
+
+//this function is used only by USB interrupt
+BOOL HidToHostFromBuffer (BYTE intfNum)
+{
+ BYTE byte_count, nTmp2;
+ BYTE * pEP1;
+ BYTE * pEP2;
+ BYTE * pCT1;
+ BYTE * pCT2;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft == 0){ //do we have somtething to send?
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSend = 0;
+
+ //call event callback function
+ if (wUsbEventMask & kUSB_sendCompletedEvent){
+ bWakeUp = USBHID_handleSendCompleted(intfNum);
+ }
+ return (bWakeUp);
+ }
+
+ if (!(tInputEndPointDescriptorBlock[edbIndex].bEPCNF & EPCNF_TOGGLE)){
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can send over one endpoint buffer
+ //2 bytes a reserved: [0] - HID Report Descriptor, [1] - count of valid bytes
+ byte_count =
+ (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft >
+ EP_MAX_PACKET_SIZE -
+ 2) ? EP_MAX_PACKET_SIZE -
+ 2 : HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft;
+ nTmp2 = *pCT1;
+
+ if (nTmp2 & EPBCNT_NAK){
+ USB_TX_memcpy(pEP1 + 2, HidWriteCtrl[INTFNUM_OFFSET(
+ intfNum)].pHidBufferToSend,
+ byte_count); //copy data into IEP3 X or Y buffer
+ pEP1[0] = 0x3F; //set HID report descriptor: 0x3F
+ pEP1[1] = byte_count; //set HID report descriptor
+
+ //64 bytes will be send: we use only one HID report descriptor
+ *pCT1 = 0x40; //Set counter for usb In-Transaction
+
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft -= byte_count;
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].pHidBufferToSend += byte_count; //move buffer pointer
+
+ //try to send data over second buffer
+ nTmp2 = *pCT2;
+ if ((HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft > 0) && //do we have more data to send?
+ (nTmp2 & EPBCNT_NAK)){ //if the second buffer is free?
+ //how many byte we can send over one endpoint buffer
+ byte_count =
+ (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft >
+ EP_MAX_PACKET_SIZE -
+ 2) ? EP_MAX_PACKET_SIZE -
+ 2 : HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft;
+
+ USB_TX_memcpy(pEP2 + 2, HidWriteCtrl[INTFNUM_OFFSET(
+ intfNum)].pHidBufferToSend,
+ byte_count); //copy data into IEP3 X or Y buffer
+ pEP2[0] = 0x3F; //set HID report descriptor: 0x3F
+ pEP2[1] = byte_count; //set byte count of valid data
+
+ //64 bytes will be send: we use only one HID report descriptor
+ *pCT2 = 0x40; //Set counter for usb In-Transaction
+
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft -=
+ byte_count;
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].pHidBufferToSend +=
+ byte_count; //move buffer pointer
+ }
+ }
+ return (bWakeUp);
+}
+
+/*
+ * Aborts an active send operation on interface intfNum.
+ * Returns the number of bytes that were sent prior to the abort, in size.
+ */
+BYTE USBHID_abortSend (WORD* size, BYTE intfNum)
+{
+ unsigned short bGIE;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+
+ _DINT_FET(); //disable interrupts - atomic operation
+
+ *size =
+ (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSend -
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft);
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSend = 0;
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft = 0;
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+//This function copies data from OUT endpoint into user's buffer
+//Arguments:
+//pEP - pointer to EP to copy from
+//pCT - pointer to pCT control reg
+//
+VOID HidCopyUsbToBuff (BYTE* pEP, BYTE* pCT,BYTE intfNum)
+{
+ BYTE nCount;
+
+ //how many byte we can get from one endpoint buffer
+ nCount =
+ (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft >
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp) ? HidReadCtrl[
+ INTFNUM_OFFSET(intfNum)].nBytesInEp : HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].
+ nBytesToReceiveLeft;
+
+ USB_RX_memcpy(HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer, pEP, nCount); //copy data from OEPx X or Y buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft -= nCount;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer += nCount; //move buffer pointer
+ //to read rest of data next time from this place
+
+ if (nCount == HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp){ //all bytes are copied from receive buffer?
+ //switch current buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY + 1) & 0x01;
+
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+
+ //clear NAK, EP ready to receive data
+ *pCT = 0;
+ } else {
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp -= nCount;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos = pEP + nCount;
+ }
+}
+
+/*
+ * Receives data over interface intfNum, of size size, into memory starting at address data.
+ * Returns:
+ * kUSBHID_receiveStarted if the receiving process started.
+ * kUSBHID_receiveCompleted all requested date are received.
+ * kUSBHID_receiveInProgress previous receive opereation is in progress. The requested receive operation can be not started.
+ * kUSBHID_generalError error occurred.
+ */
+BYTE USBHID_receiveData (BYTE* data, WORD size, BYTE intfNum)
+{
+ BYTE nTmp1;
+ unsigned short bGIE;
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if ((size == 0) || //read size is 0
+ (data == NULL)){
+ return (kUSBHID_generalError);
+ }
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_busNotAvailable);
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL){ //receive process already started
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_receiveInProgress);
+ }
+
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive = size; //bytes to receive
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft = size; //left bytes to receive
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = data; //set user receive buffer
+
+ //read rest of data from buffer, if any
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > 0){
+ //copy data from pEP-endpoint into User's buffer
+ HidCopyUsbToBuff(HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1,intfNum);
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ USBHID_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_receiveCompleted); //receive completed
+ }
+
+ //check other EP buffer for data - exchange pCT1 with pCT2
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 ==
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX){
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ } else {
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ }
+ nTmp1 = *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ //try read data from second buffer
+ if (nTmp1 & EPBCNT_NAK){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp =
+ *(HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos + 1); //holds how many valid bytes in the EP buffer
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > nTmp1 - 2){
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1 - 2;
+ }
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos += 2; //here starts user data
+ HidCopyUsbToBuff(HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1,intfNum);
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBHID_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_receiveCompleted); //receive completed
+ }
+ } //read rest of data from buffer, if any
+
+ //read 'fresh' data, if available
+ nTmp1 = 0;
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //this is current buffer
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ //this is the active EP buffer
+ //pEP1
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ nTmp1 = 1; //indicate that data is available
+ }
+ } else { //Y_BUFFER
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){
+ //this is the active EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ nTmp1 = 1; //indicate that data is available
+ }
+ }
+
+ if (nTmp1){
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp =
+ *(HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos + 1); //holds how many valid bytes in the EP buffer
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > nTmp1 - 2){
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1 - 2;
+ }
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos += 2; //here starts user data
+ HidCopyUsbToBuff(HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1,intfNum);
+
+ nTmp1 = *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ //try read data from second buffer
+ if ((HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft >
+ 0) && //do we have more data to receive?
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp =
+ *(HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 + 1); //holds how many valid bytes in the EP buffer
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > nTmp1 -
+ 2){
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1 - 2;
+ }
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 += 2; //here starts user data
+ HidCopyUsbToBuff(HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pEP2,
+ HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT2,intfNum);
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ }
+ }
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBHID_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_receiveCompleted);
+ }
+
+ //interrupts enable
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_receiveStarted);
+}
+
+//this function is used only by USB interrupt.
+//It fills user receiving buffer with received data
+BOOL HidToBufferFromHost (BYTE intfNum)
+{
+ BYTE * pEP1;
+ BYTE nTmp1;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //do we have somtething to receive?
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ return (bWakeUp);
+ }
+
+ //No data to receive...
+ if (!((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX |
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY)
+ & 0x80)){
+ return (bWakeUp);
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = *(pEP1 + 1); //holds how many valid bytes in the EP buffer
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > nTmp1 - 2){
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1 - 2;
+ }
+ pEP1 += 2; //here starts user data
+ HidCopyUsbToBuff(pEP1, HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCT1,intfNum);
+
+ nTmp1 = *HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ //try read data from second buffer
+ if ((HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft > 0) && //do we have more data to send?
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = *(pEP1 + 1); //holds how many valid bytes in the EP buffer
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > nTmp1 - 2){
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1 - 2;
+ }
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 += 2; //here starts user data
+ HidCopyUsbToBuff(HidReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pEP2,
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2,intfNum);
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ }
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ bWakeUp = USBHID_handleReceiveCompleted(intfNum);
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp){ //Is not read data still available in the EP?
+ if (wUsbEventMask & kUSB_dataReceivedEvent){
+ bWakeUp = USBHID_handleDataReceived(intfNum);
+ }
+ }
+ }
+ return (bWakeUp);
+}
+
+//helper for USB interrupt handler
+BOOL HidIsReceiveInProgress (BYTE intfNum)
+{
+ return (HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL);
+}
+
+/*
+ * Aborts an active receive operation on interface intfNum.
+ * Returns the number of bytes that were received and transferred
+ * to the data location established for this receive operation.
+ */
+BYTE USBHID_abortReceive (WORD* size, BYTE intfNum)
+{
+ unsigned short bGIE;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ _DINT_FET(); //disable interrupts - atomic operation
+
+ *size = 0; //set received bytes count to 0
+
+ //is receive operation underway?
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer){
+ //how many bytes are already received?
+ *size = HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive -
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft;
+
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL;
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft = 0;
+ }
+
+ //restore interrupt status
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+/*
+ * This function rejects payload data that has been received from the host.
+ */
+BYTE USBHID_rejectData (BYTE intfNum)
+{
+ unsigned short bGIE;
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+
+ //interrupts disable
+ _DINT_FET();
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if (bFunctionSuspended){
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBHID_busNotAvailable);
+ }
+
+ //Is receive operation underway?
+ //- do not flush buffers if any operation still active.
+ if (!HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer){
+ BYTE tmp1 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK;
+ BYTE tmp2 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK;
+
+ if (tmp1 ^ tmp2){ //switch current buffer if any and only ONE of the
+ //buffers is full
+ //switch current buffer
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (HidReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01;
+ }
+
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0; //flush buffer X
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY = 0; //flush buffer Y
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0; //indicates that no more data available in the EP
+ }
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+/*
+ * This function indicates the status of the interface intfNum.
+ * If a send operation is active for this interface,
+ * the function also returns the number of bytes that have been transmitted to the host.
+ * If a receiver operation is active for this interface, the function also returns
+ * the number of bytes that have been received from the host and are waiting at the assigned address.
+ *
+ * returns kUSBHID_waitingForSend (indicates that a call to USBHID_SendData()
+ * has been made, for which data transfer has not been completed)
+ *
+ * returns kUSBHID_waitingForReceive (indicates that a receive operation
+ * has been initiated, but not all data has yet been received)
+ *
+ * returns kUSBHID_dataWaiting (indicates that data has been received
+ * from the host, waiting in the USB receive buffers)
+ */
+BYTE USBHID_intfStatus (BYTE intfNum, WORD* bytesSent, WORD* bytesReceived)
+{
+ BYTE ret = 0;
+ unsigned short bGIE;
+ BYTE edbIndex;
+
+ *bytesSent = 0;
+ *bytesReceived = 0;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ _DINT_FET(); //disable interrupts - atomic operation
+
+ //Is send operation underway?
+ if (HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft != 0){
+ ret |= kUSBHID_waitingForSend;
+ *bytesSent = HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSend -
+ HidWriteCtrl[INTFNUM_OFFSET(intfNum)].nHidBytesToSendLeft;
+ }
+
+ //Is receive operation underway?
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL){
+ ret |= kUSBHID_waitingForReceive;
+ *bytesReceived = HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive -
+ HidReadCtrl[INTFNUM_OFFSET(intfNum)].
+ nBytesToReceiveLeft;
+ } else { //not receive operation started
+ //do not access USB memory if suspended (PLL off).
+ //It may produce BUS_ERROR
+ if (!bFunctionSuspended){
+ if ((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK) | //any of buffers has a valid data packet
+ (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK)){
+ ret |= kUSBHID_dataWaiting;
+ }
+ }
+ }
+
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //if suspended or not enumerated - report no other tasks pending
+ ret = kUSBHID_busNotAvailable;
+ }
+
+ //restore interrupt status
+ __bis_SR_register(bGIE); //restore interrupt status
+
+ return (ret);
+}
+
+/*
+ * Returns how many bytes are in the buffer are received and ready to be read.
+ */
+BYTE USBHID_bytesInUSBBuffer (BYTE intfNum)
+{
+ BYTE bTmp1 = 0;
+ BYTE bTmp2;
+
+ BYTE edbIndex;
+ unsigned short bGIE;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ //interrupts disable
+ _DINT_FET();
+
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //if suspended or not enumerated - report 0 bytes available
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (0);
+ }
+
+ if (HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > 0){ //If a RX operation is underway, part of data may
+ //was read of the OEP buffer
+ bTmp1 = HidReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp;
+ if (*HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & EPBCNT_NAK){ //the next buffer has a valid data packet
+ bTmp2 = *(HidReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 + 1); //holds how many valid bytes in the EP buffer
+ if (bTmp2 >
+ (*HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & 0x7F) - 2){ //check if all data received correctly
+ bTmp1 +=
+ (*HidReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & 0x7F) - 2;
+ } else {
+ bTmp1 += bTmp2;
+ }
+ }
+ } else {
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ bTmp2 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & 0x7F;
+ bTmp1 = *((BYTE*)stUsbHandle[intfNum].oep_X_Buffer + 1);
+ if (bTmp2 - 2 < bTmp1){ //check if the count (second byte) is valid
+ bTmp1 = bTmp2 - 2;
+ }
+ }
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){ //this buffer has a valid data packet
+ bTmp2 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & 0x7F;
+ if (bTmp2 - 2 > *((BYTE*)stUsbHandle[intfNum].oep_Y_Buffer + 1)){ //check if the count (second byte) is valid
+ bTmp1 += *((BYTE*)stUsbHandle[intfNum].oep_Y_Buffer + 1);
+ } else {
+ bTmp1 += bTmp2 - 2;
+ }
+ }
+ }
+
+ //interrupts enable
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (bTmp1);
+}
+
+#endif //ifdef _HID_
+
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHid.h b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHid.h
new file mode 100644
index 0000000..4a10826
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHid.h
@@ -0,0 +1,155 @@
+//(c)2009 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (HID Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbHid.h, File Version 1.00 2009/12/03 |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2009/02/20 portet from UsbCdc.h |
+ | RSTO 2009/05/15 added param to USBHID_rejectData() |
+ | RSTO 2009/05/26 added USBHID_bytesInUSBBuffer() |
+ +----------------------------------------------------------------------------*/
+#ifndef _UsbHid_H_
+#define _UsbHid_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+#define kUSBHID_sendStarted 0x01
+#define kUSBHID_sendComplete 0x02
+#define kUSBHID_intfBusyError 0x03
+#define kUSBHID_receiveStarted 0x04
+#define kUSBHID_receiveCompleted 0x05
+#define kUSBHID_receiveInProgress 0x06
+#define kUSBHID_generalError 0x07
+#define kUSBHID_busNotAvailable 0x08
+
+#define HID_BOOT_PROTOCOL 0x00
+#define HID_REPORT_PROTOCOL 0x01
+
+/*----------------------------------------------------------------------------
+ * These functions can be used in application
+ +----------------------------------------------------------------------------*/
+
+/*
+ * Sends a pre-built report reportData to the host.
+ * Returns: kUSBHID_sendComplete
+ * kUSBHID_intfBusyError
+ * kUSBHID_busSuspended
+ */
+BYTE USBHID_sendReport (const BYTE * reportData, BYTE intfNum);
+
+/*
+ * Receives report reportData from the host.
+ * Return: kUSBHID_receiveCompleted
+ * kUSBHID_generalError
+ * kUSBHID_busSuspended
+ */
+BYTE USBHID_receiveReport (BYTE * reportData, BYTE intfNum);
+
+/*
+ * Sends data over interface intfNum, of size size and starting at address data.
+ * Returns: kUSBHID_sendStarted
+ * kUSBHID_sendComplete
+ * kUSBHID_intfBusyError
+ */
+BYTE USBHID_sendData (const BYTE* data, WORD size, BYTE intfNum);
+
+/*
+ * Receives data over interface intfNum, of size size, into memory starting at address data.
+ */
+BYTE USBHID_receiveData (BYTE* data, WORD size, BYTE intfNum);
+
+/*
+ * Aborts an active receive operation on interface intfNum.
+ * size: the number of bytes that were received and transferred
+ * to the data location established for this receive operation.
+ */
+BYTE USBHID_abortReceive (WORD* size, BYTE intfNum);
+
+
+#define kUSBHID_noDataWaiting 1 //returned by USBHID_rejectData() if no data pending
+
+/*
+ * This function rejects payload data that has been received from the host.
+ */
+BYTE USBHID_rejectData (BYTE intfNum);
+
+/*
+ * Aborts an active send operation on interface intfNum. Returns the number of bytes that were sent prior to the abort, in size.
+ */
+BYTE USBHID_abortSend (WORD* size, BYTE intfNum);
+
+
+#define kUSBHID_waitingForSend 0x01
+#define kUSBHID_waitingForReceive 0x02
+#define kUSBHID_dataWaiting 0x04
+#define kUSBHID_busNotAvailable 0x08
+#define kUSB_allHidEvents 0xFF
+/*
+ * This function indicates the status of the interface intfNum.
+ * If a send operation is active for this interface,
+ * the function also returns the number of bytes that have been transmitted to the host.
+ * If a receiver operation is active for this interface, the function also returns
+ * the number of bytes that have been received from the host and are waiting at the assigned address.
+ *
+ * returns kUSBHID_waitingForSend (indicates that a call to USBHID_SendData()
+ * has been made, for which data transfer has not been completed)
+ *
+ * returns kUSBHID_waitingForReceive (indicates that a receive operation
+ * has been initiated, but not all data has yet been received)
+ *
+ * returns kUSBHID_dataWaiting (indicates that data has been received
+ * from the host, waiting in the USB receive buffers)
+ */
+BYTE USBHID_intfStatus (BYTE intfNum, WORD* bytesSent, WORD* bytesReceived);
+
+/*
+ * Returns how many bytes are in the buffer are received and ready to be read.
+ */
+BYTE USBHID_bytesInUSBBuffer (BYTE intfNum);
+
+/*----------------------------------------------------------------------------
+ * Event-Handling routines
+ +----------------------------------------------------------------------------*/
+
+/*
+ * This event indicates that data has been received for port port, but no data receive operation is underway.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBHID_handleDataReceived (BYTE intfNum);
+
+/*
+ * This event indicates that a send operation on port port has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBHID_handleSendCompleted (BYTE intfNum);
+
+/*
+ * This event indicates that a receive operation on port port has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBHID_handleReceiveCompleted (BYTE intfNum);
+
+/*
+ * This event indicates that a Set_Protocol request was received from the host
+ * The application may maintain separate reports for boot and report protocols.
+ * The protocol field is either HID_BOOT_PROTOCOL or
+ * HID_REPORT_PROTOCOL
+ */
+BYTE USBHID_handleBootProtocol (BYTE protocol, BYTE intfnum);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_UsbHid_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHidReq.c b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHidReq.c
new file mode 100644
index 0000000..928fa11
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHidReq.c
@@ -0,0 +1,196 @@
+//(c)2009 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (HID Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbHidReq.c, File Version 1.00 2009/12/03 |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2009/03/03 born |
+ | MSP/Biju 2009/10/21 Changes for composite support |
+ +----------------------------------------------------------------------------*/
+
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h" //USB-specific Data Structures
+#include "UsbHid.h"
+#include "UsbHidReq.h"
+#include
+
+#ifdef _HID_
+
+VOID usbClearOEP0ByteCount (VOID);
+VOID usbSendDataPacketOnEP0 (PBYTE pbBuffer);
+VOID usbReceiveDataPacketOnEP0 (PBYTE pbBuffer);
+
+extern const BYTE report_desc_size[HID_NUM_INTERFACES];
+extern const PBYTE report_desc[HID_NUM_INTERFACES]; //KLQ
+extern BYTE hidProtocol[];
+extern BYTE hidIdleRate[];
+extern WORD wUsbHidEventMask;
+
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+extern const struct abromConfigurationDescriptorGroupHID abromConfigurationDescriptorGroupHID;
+#endif
+
+//Local Macros
+#define INTERFACE_OFFSET(X) (X - HID0_REPORT_INTERFACE) //Get the HID offset
+
+BYTE usbGetHidDescriptor (VOID)
+{
+ usbClearOEP0ByteCount();
+ wBytesRemainingOnIEP0 = 9;
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+ usbSendDataPacketOnEP0((PBYTE)&abromConfigurationDescriptorGroupHID.stHid[
+ INTERFACE_OFFSET(tSetupPacket.wIndex)].blength_hid_descriptor);
+#else
+ usbSendDataPacketOnEP0((PBYTE)&abromConfigurationDescriptorGroup.stHid[
+ INTERFACE_OFFSET(tSetupPacket.wIndex)].blength_hid_descriptor);
+#endif
+ return (FALSE);
+}
+
+BYTE usbGetReportDescriptor (VOID)
+{
+ wBytesRemainingOnIEP0 =
+ report_desc_size[INTERFACE_OFFSET(tSetupPacket.wIndex)];
+ usbSendDataPacketOnEP0(report_desc[INTERFACE_OFFSET(tSetupPacket.wIndex)]);
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetReport (VOID)
+{
+ BYTE *buffer;
+
+ //tSetupPacket.wValue = USB_REQ_HID_FEATURE or USB_REQ_HID_INPUT
+ buffer = Handler_SetReport(tSetupPacket.wValue,
+ tSetupPacket.wLength,
+ tSetupPacket.wIndex);
+
+ //What if buffer is NULL?
+ if (buffer == 0){
+ usbReceiveDataPacketOnEP0((PBYTE)&abUsbRequestIncomingData);
+ } else {
+ usbReceiveDataPacketOnEP0((PBYTE)buffer); //receive data over EP0 from Host
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetReport (VOID)
+{
+ BYTE *buffer;
+
+ //tSetupPacket.wValue = USB_REQ_HID_FEATURE or USB_REQ_HID_INPUT
+ buffer = Handler_GetReport((BYTE)tSetupPacket.wValue,
+ tSetupPacket.wLength,
+ tSetupPacket.wIndex);
+ if (buffer != 0){
+ usbSendDataPacketOnEP0((PBYTE)buffer);
+ }
+
+ return (FALSE);
+}
+
+BYTE usbSetProtocol (VOID)
+{
+ BYTE bWakeUp = FALSE;
+
+ hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)] =
+ (BYTE)tSetupPacket.wValue;
+ //tSetupPacket.wValue = USB_REQ_HID_BOOT_PROTOCOL or USB_REQ_HID_REPORT_PROTOCOL
+ bWakeUp = USBHID_handleBootProtocol((BYTE)tSetupPacket.wValue,
+ tSetupPacket.wIndex);
+ usbSendZeroLengthPacketOnIEP0();
+
+ return (bWakeUp);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetProtocol (VOID)
+{
+ usbSendDataPacketOnEP0(&hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)]);
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbSetIdle (VOID)
+{
+ if (hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)] ==
+ USB_REQ_HID_BOOT_PROTOCOL){
+ hidIdleRate[INTERFACE_OFFSET(tSetupPacket.wIndex)] =
+ tSetupPacket.wValue >> 8;
+ usbSendZeroLengthPacketOnIEP0();
+ } else {
+ usbInvalidRequest();
+ }
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+
+BYTE usbGetIdle (VOID)
+{
+ if (hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)] ==
+ USB_REQ_HID_BOOT_PROTOCOL){
+ usbSendDataPacketOnEP0(&hidIdleRate[INTERFACE_OFFSET(tSetupPacket.
+ wIndex)]);
+ } else {
+ usbInvalidRequest();
+ }
+
+ return (FALSE);
+}
+
+BYTE setReportBuffer[64];
+
+/*
+ * This event indicates that a Set_Report request was received from the host
+ */
+BYTE *Handler_SetReport (WORD reportType_reportId,
+ WORD dataLength,
+ BYTE intfnum)
+{
+ return (&setReportBuffer[0]);
+}
+
+/*
+ * This event indicates that a Set_Report request data has been received
+ */
+BYTE Handler_SetReportDataAvailable (BYTE intfnum)
+{
+ return (FALSE);
+}
+
+/*
+ * This event indicates that a Get_Report request was received from the host
+ */
+BYTE *Handler_GetReport (WORD reportType_reportId,
+ WORD requestedLength,
+ BYTE intfnum)
+{
+ return (&setReportBuffer[0]);
+}
+
+//----------------------------------------------------------------------------
+
+#endif //_HID_
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHidReq.h b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHidReq.h
new file mode 100644
index 0000000..aff85b2
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_HID_API/UsbHidReq.h
@@ -0,0 +1,90 @@
+//(c)2009 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (HID Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbHidReq.h, File Version 1.00 2009/12/03 |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2009/03/03 born |
+ | MSP,Biju 2009/12/03 file versioning started |
+ +----------------------------------------------------------------------------*/
+
+#ifndef _UsbHidReq_H_
+#define _UsbHidReq_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+/**
+ * Return Hid descriptor to host over control endpoint
+ */
+BYTE usbGetHidDescriptor(VOID);
+/**
+ * Return HID report descriptor to host over control endpoint
+ */
+BYTE usbGetReportDescriptor(VOID);
+/**
+ * Receive Set_Report from host over control endpoint
+ */
+BYTE usbSetReport(VOID);
+/**
+ * Process Get_Report request from host over control endpoint
+ */
+BYTE usbGetReport(VOID);
+/**
+ * Receive Set_Idle from host over control endpoint
+ */
+BYTE usbSetIdle(VOID);
+/**
+ * Process Get_Idle request from host over control endpoint
+ */
+BYTE usbGetIdle(VOID);
+/**
+ * Receive Set_Protocol from host over control endpoint
+ */
+BYTE usbSetProtocol(VOID);
+/**
+ * Process Get_Protocol request from host over control endpoint
+ */
+BYTE usbGetProtocol(VOID);
+
+/*
+ * This event indicates that a Set_Report request was received from the host
+ * The application needs to supply a buffer to retrieve the report data that will be sent
+ * as part of this request. This handler is passed the wValue from the setup packet
+ * which contains the reportType (upper byte) and reportId(lower byte), the length of data
+ * phase as well as the interface number.
+ */
+BYTE *Handler_SetReport (WORD reportType_reportId,
+ WORD requestedLength,
+ BYTE intfnum);
+/*
+ * This event indicates that data as part of Set_Report request was received from the host
+ * Tha application can return TRUE to wake up the CPU. If the application supplied a buffer
+ * as part of USBHID_handleSetReport, then this buffer will contain the Set Report data.
+ */
+BYTE Handler_SetReportDataAvailable (BYTE intfnum);
+/*
+ * This event indicates that a Get_Report request was received from the host
+ * The application can supply a buffer of data that will be sent to the host.
+ * This handler is passed the wValue from the setup packet which contains the
+ * reportType(high byte) and reportId(low byte), the requested length as well
+ * as the interface number.
+ */
+BYTE *Handler_GetReport (WORD reportType_reportId,
+ WORD requestedLength,
+ BYTE intfnum);
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_UsbHidReq_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMsc.h b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMsc.h
new file mode 100644
index 0000000..29014f5
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMsc.h
@@ -0,0 +1,55 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbMsc.h, File Version 1.01 |
+ | Description: This file contains API declarations for function to use by |
+ | User Application. |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2010/10/29 Created |
+ +----------------------------------------------------------------------------*/
+#ifndef _USB_MSC_H_
+#define _USB_MSC_H_
+
+#include "UsbMscScsi.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*Return values of getState() and USBMSC_poll() API */
+#define kUSBMSC_idle 0
+#define kUSBMSC_readInProgress 1
+#define kUSBMSC_writeInProgress 2
+#define kUSBMSC_cmdBeingProcessed 3
+#define kUSBMSC_okToSleep 4
+#define kUSBMSC_processBuffer 5
+
+/*----------------------------------------------------------------------------+
+ | Function Prototypes |
+ +----------------------------------------------------------------------------*/
+/*Function to handle the MSC SCSI state machine */
+BYTE USBMSC_poll(VOID);
+
+/* MSC functions */
+BOOL MSCToHostFromBuffer ();
+BOOL MSCFromHostToBuffer ();
+BYTE USBMSC_bufferProcessed(VOID);
+BYTE USBMSC_getState ();
+BYTE USBMSC_updateMediaInfo (BYTE lun, struct USBMSC_mediaInfoStr *info);
+
+BYTE USBMSC_handleBufferEvent(VOID);
+BYTE USBMSC_registerBufInfo ( BYTE lun, BYTE* RWbuf_x, BYTE* RWbuf_y, WORD size);
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_USB_MSC_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscReq.c b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscReq.c
new file mode 100644
index 0000000..881e57d
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscReq.c
@@ -0,0 +1,76 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: Usb_Msc_Req.c, File Version 1.02 |
+ | Description: This file contains the APIs specific to MSC class |
+ | (Class specific requests) |
+ | Author: Biju,MSP |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | MSP 2010/02/01 born |
+ | Biju,MSP 2010/07/15 CV bug fix |
+ | |
+ +----------------------------------------------------------------------------*/
+/*----------------------------------------------------------------------------+
+ | Includes |
+ +----------------------------------------------------------------------------*/
+
+#include
+
+#ifdef _MSC_
+
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/device.h"
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h" //USB-specific Data Structures
+#include "../USB_MSC_API/UsbMscScsi.h"
+#include "../USB_MSC_API/UsbMscReq.h"
+#include "../USB_MSC_API/UsbMsc.h"
+
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern __no_init tEDB __data16 tOutputEndPointDescriptorBlock[];
+extern struct _MscState MscState;
+
+/*----------------------------------------------------------------------------+
+ | Functions |
+ +----------------------------------------------------------------------------*/
+BYTE USBMSC_reset (VOID)
+{
+ Msc_ResetStateMachine();
+ Msc_ResetFlags();
+ Msc_ResetStruct();
+ MscState.isMSCConfigured = TRUE;
+
+ MscState.bMscResetRequired = FALSE;
+ tInputEndPointDescriptorBlock[stUsbHandle[MSC0_INTFNUM].edb_Index].bEPCNF
+ &= ~(EPCNF_STALL | EPCNF_TOGGLE );
+ tOutputEndPointDescriptorBlock[stUsbHandle[MSC0_INTFNUM].edb_Index].bEPCNF
+ &= ~(EPCNF_STALL | EPCNF_TOGGLE );
+ usbSendZeroLengthPacketOnIEP0(); //status stage for control transfer
+
+ return (FALSE);
+}
+
+//----------------------------------------------------------------------------
+BYTE Get_MaxLUN (VOID)
+{
+ BYTE maxLunNumber = MSC_MAX_LUN_NUMBER - 1;
+
+ wBytesRemainingOnIEP0 = 1;
+ MscState.isMSCConfigured = TRUE;
+ usbSendDataPacketOnEP0((PBYTE)&maxLunNumber);
+
+ return (FALSE);
+}
+
+#endif //_MSC_
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscReq.h b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscReq.h
new file mode 100644
index 0000000..8493b5b
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscReq.h
@@ -0,0 +1,35 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: Usb_Msc_Req.h, File Version 1.0 |
+ | Description: This file contains function declarations of MSC class specific|
+ | Requests. |
+ | Author: MSP |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | MSP 01/02/2010 born |
+ +----------------------------------------------------------------------------*/
+#ifndef _USB_MSC_REQ_H_
+#define _USB_MSC_REQ_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* MSC Class defined Request.Reset State-Machine and makes endpoints ready again*/
+BYTE USBMSC_reset(VOID);
+
+/* MSC Class defined Request.Tells the host the number of supported logical units*/
+BYTE Get_MaxLUN(VOID);
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_USB_MSC_REQ_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscScsi.c b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscScsi.c
new file mode 100644
index 0000000..1f9bdb9
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscScsi.c
@@ -0,0 +1,1952 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: Msc_Scsi.c, File Version 1.03 |
+ | Description: This file contains the SCSI command handlers, MSC stack |
+ | internal functions. |
+ | Author: Biju, MSP |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | MSP 2010/02/16 Created |
+ | Biju,MSP 2010/07/15 Fixed CV bugs |
+ | RSTO 2010/10/15 Improving READ/WRITE functionality |
+ +----------------------------------------------------------------------------*/
+
+/*----------------------------------------------------------------------------+
+ | Includes |
+ +----------------------------------------------------------------------------*/
+#include "../USB_Common/types.h"
+#include "../USB_Common/device.h"
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h"
+#include "../USB_MSC_API/UsbMscScsi.h"
+#include "../USB_MSC_API/UsbMsc.h"
+#include
+#include
+
+#ifdef _MSC_
+
+/*----------------------------------------------------------------------------+
+ | Internal Definitions |
+ +----------------------------------------------------------------------------*/
+//Error codes
+#define RESCODE_CURRENT_ERROR 0x70
+
+#define S_NO_SENSE 0x00
+#define S_NOT_READY 0x02
+#define S_MEDIUM_ERROR 0x03
+#define S_ILLEGAL_REQUEST 0x05
+#define S_UNITATTN 0x06
+#define S_WRITE_PROTECTED 0x07
+#define S_ABORTED_COMMAND 0x0B
+
+#define ASC_NOT_READY 0x04
+#define ASCQ_NOT_READY 0x03
+
+#define ASC_MEDIUM_NOT_PRESENT 0x3A
+#define ASCQ_MEDIUM_NOT_PRESENT 0x00
+
+#define ASC_INVALID_COMMAND_OP_CODE 0x20
+#define ASCQ_INVALID_COMMAND_OP_CODE 0x00
+
+#define ASC_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE 0x21
+#define ASCQ_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE 0x00
+
+#define ASC_INVALID_FIELD_IN_CDB 0x24
+#define ASCQ_INVALID_FIELD_IN_CDB 0x00
+
+#define ASC_INVALID_PARAMETER_LIST 0x26
+#define ASCQ_INVALID_PARAMETER_LIST 0x02
+
+#define ASC_ABORTED_DATAPHASE_ERROR 0x4B
+#define ASCQ_ABORTED_DATAPHASE_ERROR 0x00
+
+#define ASC_ILLEGAL_REQUEST 0x20
+#define ASCQ_ILLEGAL_REQUEST 0x00
+
+#define ASC_UNITATTN_READY_NOTREADY 0x28
+#define ASCQ_UNITATTN_READY_NOTREADY 0x00
+
+#define ASC_WRITE_PROTECTED 0X27
+#define ASCQ_WRITE_PROTECTED 0X00
+
+#define ASC_WRITE_FAULT 0x03
+#define ASCQ_WRITE_FAULT 0x00
+
+#define ASC_UNRECOVERED_READ 0x11
+#define ASCQ_UNRECOVERED_READ 0x00
+
+#define DIRECTION_IN 0x80
+#define DIRECTION_OUT 0x00
+
+#define EP_MAX_PACKET_SIZE 0x40
+
+VOID usbStallEndpoint (BYTE);
+BYTE Scsi_Verify_CBW ();
+
+extern struct config_struct USBMSC_config;
+
+extern VOID *(*USB_TX_memcpy)(VOID * dest, const VOID * source, size_t count);
+extern VOID *(*USB_RX_memcpy)(VOID * dest, const VOID * source, size_t count);
+
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern __no_init tEDB __data16 tOutputEndPointDescriptorBlock[];
+/*----------------------------------------------------------------------------+
+ | Global Variables |
+ +----------------------------------------------------------------------------*/
+
+struct _MscWriteControl MscWriteControl;
+struct _MscReadControl MscReadControl;
+struct _MscControl MscControl[MSC_MAX_LUN_NUMBER] = {0};
+
+/* Structure internal to stack for maintaining LBA info,buffer address etc */
+USBMSC_RWbuf_Info sRwbuf;
+
+__no_init CBW McsCbw;
+__no_init CSW McsCsw;
+
+struct _MscState MscState;
+
+/*----------------------------------------------------------------------------+
+ | Initiliazing Command data |
+ +----------------------------------------------------------------------------*/
+BYTE Scsi_Standard_Inquiry_Data[256];
+
+REQUEST_SENSE_RESPONSE RequestSenseResponse;
+
+struct _Scsi_Read_Capacity Scsi_Read_Capacity_10[MSC_MAX_LUN_NUMBER];
+
+const struct _Report_Luns Report_Luns = {{0x02,0x00,0x00,0x00},
+ {0x00,0x00,0x00,0x00},
+ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+ 0x00}};
+
+BYTE Scsi_Mode_Sense_6[SCSI_MODE_SENSE_6_CMD_LEN] = {0x03,0,0,0 }; //No mode sense parameter
+
+BYTE Scsi_Mode_Sense_10[SCSI_MODE_SENSE_10_CMD_LEN] = {0,0x06,0,0,0,0,0,0 }; //No mode sense parameter
+
+BYTE Scsi_Read_Format_Capacity[SCSI_READ_FORMAT_CAPACITY_CMD_LEN] =
+{0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x00,0x03,0x00,0x02,0x00};
+
+/*Default values initialized for SCSI Inquiry data */
+const BYTE bScsi_Standard_Inquiry_Data[SCSI_SCSI_INQUIRY_CMD_LEN] = {
+#ifdef CDROM_SUPPORT
+ 0x05, //Peripheral qualifier & peripheral device type
+#else
+ 0x00, //Peripheral qualifier & peripheral device type
+#endif
+ 0x80, //Removable medium
+ 0x02, //Version of the standard (SPC-2)
+ 0x02, //No NormACA, No HiSup, response data format=2
+ 0x1F, //No extra parameters
+ 0x00, //No flags
+ 0x00, //0x80 => BQue => Basic Task Management supported
+ 0x00, //No flags
+ /* 'T','I',' ',' ',' ',' ',' ',' ',
+ * 'M','a','s','s',' ','S','t','o','r','a','g','e', */
+};
+
+#ifdef CDROM_SUPPORT
+
+/* SCSI TOC Record - Pg.459 of mmc6r02g.pdf */
+const BYTE Scsi_Read_TOC_PMA_ATIP_F1[Scsi_Read_TOC_PMA_ATIP_F1_LEN] = {
+ 0x00, 0x12, // Length
+ 0x01, // First Track
+ 0x01, // Last Track
+
+ 0x00, // Reserved
+ 0x14, // ADR/CTL
+ 0x01, // Track Number
+ 0x00, // Reserved
+ 0x00, 0x00, 0x02, 0x00, // Track Address (TIME Form)
+ 0x00,0x00,0x00,0x00, // Padding
+ 0x00,0x00,0x00,0x00
+};
+
+const BYTE Scsi_Read_TOC_PMA_ATIP_F2[Scsi_Read_TOC_PMA_ATIP_F2_LEN] = {
+ 0x00, 0x2E, // Length
+ 0x01, // First Track
+ 0x01, // Last Track
+ 0x01, // Reserved
+ 0x14, // ADR/CTL
+ 0x00, // Track Number
+ 0xA0, // Reserved
+ 0x00, 0x00, 0x00, 0x00, // Track Address (TIME Form)
+ 0x01,0x00,0x00,0x01, // Padding/Descriptors
+ 0x14,0x00,0xA1,0x00,
+ 0x00,0x00,0x00,0x01,
+ 0x00,0x00,0x01,0x14,
+ 0x00,0xA2,0x00,0x00,
+ 0x00,0x00,0x1C,0x35,
+ 0x30,0x01,0x14,0x00,
+ 0x01,0x00,0x00,0x00,
+ 0x00,0x00,0x02,0x00
+};
+
+/* GET_CONFIGURATION Response Pg. 312 of mmc6r02g.pdf */
+const BYTE Scsi_Get_Configuration_Descriptor[SCSI_GET_CONFIGURATION_LEN] = {
+
+ /* Feature Header */
+ 0x00,0x00,0x00,0x00 // Length
+};
+
+/* EVENT STATUS Response Pg. 316 of mmc6r02g.pdf */
+const BYTE Scsi_Event_Status_Descriptor[SCSI_EVENT_STATUS_LEN] = {
+
+ /* Feature Header */
+ 0x00,0x06, // Event Descriptor Length
+ 0x04, // NEA/Reserved/Notification Class
+ 0x54, // Supported Event Classes
+ 0x02, // Reserved/Event Code
+ 0x02,
+ 0x00,0x00
+};
+
+
+/* READ_DISC_INFORMATION Response Pg. 374 of mmc6r02g.pdf */
+const BYTE Scsi_Disc_Information_Descriptor[SCSI_READ_DISC_INFORMATION_LEN] = {
+
+ 0x00,0x00, // Disc Information Length
+ 0x00, // Disc Information Type, Non-Erasable, Last Session, Finalized
+ 0x00, // First Track on Disc
+ 0x00, // Number of Sessions
+ 0x00, // First Track Number in Last Session
+ 0x00, // Last Track Number in Last Session
+ 0x00, // BG/Barcode/ID Disable
+ 0x00, // Disc Type (CD-ROM)
+ 0x00, // Number of Sessions (MSB)
+ 0x00, // First Track Number in Last Session (MSB)
+ 0x00, // Last Track Number in Last Sessions (MSB)
+ 0x00,0x00,0x00,0x00, // Disc ID
+ 0x00,0x00,0x00,0x00, // Last Session Lead-In Address
+ 0x00,0x00,0x00,0x00, // Last Lead-Out Start Address
+ 0x00,0x00,0x00,0x00, // Bar Code (Not Supported)
+ 0x00,0x00,0x00,0x00,
+ 0x00, // Disc Application Code (Not Supported)
+ 0x00,0x00,0x00 // No OPC Entries
+};
+
+VOID Scsi_Read_TocPmaAtip(BYTE intfNum);
+VOID Scsi_Get_Configuration(BYTE intfNum);
+VOID Scsi_Event_Status_Notification(BYTE intfNum);
+VOID Scsi_Read_Disc_Information(BYTE intfNum);
+
+#endif
+/*----------------------------------------------------------------------------+
+ | Functions |
+ +----------------------------------------------------------------------------*/
+VOID Reset_RequestSenseResponse (VOID)
+{
+ int i;
+
+ RequestSenseResponse.ResponseCode = RESCODE_CURRENT_ERROR;
+ RequestSenseResponse.VALID = 0; //no data in the information field
+ RequestSenseResponse.Obsolete = 0x00;
+ RequestSenseResponse.SenseKey = S_NO_SENSE;
+ RequestSenseResponse.ILI = 0;
+ RequestSenseResponse.EOM = 0;
+ RequestSenseResponse.FILEMARK = 0;
+ RequestSenseResponse.Information[0] = 0x00;
+ RequestSenseResponse.Information[1] = 0x00;
+ RequestSenseResponse.Information[2] = 0x00;
+ RequestSenseResponse.Information[3] = 0x00;
+ RequestSenseResponse.AddSenseLen = 0x0a;
+ RequestSenseResponse.CmdSpecificInfo[0] = 0x00;
+ RequestSenseResponse.CmdSpecificInfo[1] = 0x00;
+ RequestSenseResponse.CmdSpecificInfo[2] = 0x00;
+ RequestSenseResponse.CmdSpecificInfo[3] = 0x00;
+ RequestSenseResponse.ASC = 0x00;
+ RequestSenseResponse.ASCQ = 0x00;
+ RequestSenseResponse.FRUC = 0x00;
+ RequestSenseResponse.SenseKeySpecific[0] = 0x00;
+ RequestSenseResponse.SenseKeySpecific[1] = 0x00;
+ RequestSenseResponse.SenseKeySpecific[2] = 0x00;
+ for (i = 0; i < 14; i++){
+ RequestSenseResponse.padding[i] = 0x00;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+BYTE Check_CBW (BYTE intfNum,BYTE Dir_Dev_Exp, DWORD Bytes_Dev_Exp)
+{
+ if (McsCbw.CBWCB[0] == SCSI_INQUIRY || McsCbw.CBWCB[0] ==
+ SCSI_REQUEST_SENSE){
+ return (SUCCESS);
+ }
+
+ if (Dir_Dev_Exp == McsCbw.bmCBWFlags){ //all is right. Host is sending direction as expected by device
+ if (McsCbw.dCBWDataTransferLength < Bytes_Dev_Exp){ //Host expect less data to send or receive then device
+ MscState.Scsi_Status = SCSI_PHASE_ERROR;
+ MscState.Scsi_Residue = 0 ;
+ if (McsCbw.bmCBWFlags == DIRECTION_IN){
+ usbStallInEndpoint(intfNum);
+ } else {
+ usbStallOutEndpoint(intfNum);
+ }
+ } else if ((McsCbw.dCBWDataTransferLength > Bytes_Dev_Exp) &&
+ (McsCbw.CBWCB[0] != SCSI_MODE_SENSE_6) &&
+ (McsCbw.CBWCB[0] != SCSI_MODE_SENSE_10) &&
+ (McsCbw.CBWCB[0] != SCSI_READ_TOC_PMA_ATIP)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = McsCbw.dCBWDataTransferLength -
+ Bytes_Dev_Exp;
+ if (McsCbw.bmCBWFlags == DIRECTION_IN){
+ usbStallInEndpoint(intfNum);
+ } else {
+ usbStallOutEndpoint(intfNum);
+ }
+ } else {
+ return ( SUCCESS) ;
+ }
+ } else { //Direction mismatch
+ MscState.Scsi_Residue = McsCbw.dCBWDataTransferLength;
+ MscState.Scsi_Status = SCSI_FAILED;
+ if (McsCbw.bmCBWFlags == DIRECTION_IN){
+ usbStallInEndpoint(intfNum);
+ } else if ((McsCbw.bmCBWFlags == DIRECTION_OUT) &&
+ (McsCbw.CBWCB[0] == SCSI_READ_10)){
+ usbStallOutEndpoint(intfNum);
+ }
+ }
+
+ //Indicates a generic failure. Read/write failure/sense data is handled separately
+ if (MscState.Scsi_Status != SCSI_READWRITE_FAIL){
+ RequestSenseResponse.ResponseCode = RESCODE_CURRENT_ERROR;
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.AddSenseLen = 0xA0;
+ RequestSenseResponse.SenseKey = S_ILLEGAL_REQUEST;
+ RequestSenseResponse.ASC = ASC_INVALID_PARAMETER_LIST;
+ RequestSenseResponse.ASCQ = ASCQ_INVALID_PARAMETER_LIST;
+ }
+
+ return (FAILURE);
+}
+
+//----------------------------------------------------------------------------
+BYTE Scsi_Verify_CBW ()
+{
+ /*(5.2.3) Devices must consider the CBW meaningful if no reserved bits
+ * are set, the LUN number indicates a LUN supported by the device,
+ * bCBWCBLength is in the range of 1 through 16, and the length and
+ * content of the CBWCB field are appropriate to the SubClass.
+ */
+ if ((MscState.bMscResetRequired || McsCbw.dCBWSignature !=
+ CBW_SIGNATURE) || //Check for correct CBW signature
+ ((McsCbw.bmCBWFlags != DIRECTION_IN && McsCbw.bmCBWFlags !=
+ DIRECTION_OUT) ||
+ (McsCbw.bCBWLUN & 0xF0) || //Upper bits have to be zero
+ (McsCbw.bCBWCBLength > 16))){ //maximum length is 16
+ MscState.bMscResetRequired = TRUE;
+ usbStallEndpoint(MSC0_INTFNUM);
+ usbClearOEPByteCount(MSC0_INTFNUM);
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ return (FAILURE);
+ }
+ MscState.Scsi_Status = SCSI_PASSED;
+ return (SUCCESS);
+}
+
+//----------------------------------------------------------------------------
+BYTE Scsi_Send_CSW (BYTE intfNum)
+{
+ BYTE retval = 0;
+
+ //Populate the CSW to be sent
+ McsCsw.dCSWSignature = CSW_SIGNATURE;
+ McsCsw.dCSWTag = McsCbw.dCBWTag;
+ McsCsw.bCSWStatus = MscState.Scsi_Status;
+ McsCsw.dCSWDataResidue = MscState.Scsi_Residue;
+ retval = MscSendData((PBYTE)&McsCsw, CSW_LENGTH); //Sending CSW
+ MscState.Scsi_Status = SCSI_PASSED;
+ return (retval);
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Inquiry (BYTE intfNum)
+{
+ //int index;
+
+ //clear the inquiry array
+ memset(Scsi_Standard_Inquiry_Data, 256, 0);
+ //copy the inquiry data from flash to RAM
+
+ memcpy(Scsi_Standard_Inquiry_Data,
+ bScsi_Standard_Inquiry_Data,
+ SCSI_SCSI_INQUIRY_CMD_LEN);
+
+
+
+ //get the values from USB_Config
+ Scsi_Standard_Inquiry_Data[1] = USBMSC_config.LUN[McsCbw.bCBWLUN].removable;
+ memcpy(&Scsi_Standard_Inquiry_Data[8],
+ USBMSC_config.LUN[McsCbw.bCBWLUN].t10VID,
+ 8);
+ memcpy(&Scsi_Standard_Inquiry_Data[16],
+ USBMSC_config.LUN[McsCbw.bCBWLUN].t10PID,
+ 16);
+ memcpy(&Scsi_Standard_Inquiry_Data[32],
+ USBMSC_config.LUN[McsCbw.bCBWLUN].t10rev,
+ 4);
+
+ if (McsCbw.dCBWDataTransferLength < SCSI_SCSI_INQUIRY_CMD_LEN){
+ if (McsCbw.dCBWDataTransferLength == 0){
+ MscState.Scsi_Residue = 0;
+ return;
+ }
+ if (SUCCESS ==
+ MscSendData((PBYTE)Scsi_Standard_Inquiry_Data,
+ McsCbw.dCBWDataTransferLength)){
+ MscState.Scsi_Residue = 0;
+ } else {
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ } else if (McsCbw.dCBWDataTransferLength > SCSI_SCSI_INQUIRY_CMD_LEN){
+ Reset_RequestSenseResponse();
+
+ RequestSenseResponse.ResponseCode = RESCODE_CURRENT_ERROR;
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_ILLEGAL_REQUEST;
+ RequestSenseResponse.ASC = ASC_INVALID_FIELD_IN_CDB;
+ RequestSenseResponse.ASCQ = ASCQ_INVALID_FIELD_IN_CDB;
+ usbStallInEndpoint(intfNum);
+ MscState.Scsi_Status = SCSI_FAILED;
+ } else {
+ if (SUCCESS ==
+ MscSendData((PBYTE)Scsi_Standard_Inquiry_Data,
+ SCSI_SCSI_INQUIRY_CMD_LEN)){
+ MscState.Scsi_Residue = 0;
+ } else {
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Read_Capacity10 (BYTE intfNum)
+{
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_READ_CAPACITY_CMD_LEN)){
+ return;
+ }
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Scsi_Read_Capacity_10[McsCbw.bCBWLUN],
+ SCSI_READ_CAPACITY_CMD_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Read10 (BYTE intfNum)
+{
+ WORD wLBA_len;
+ unsigned short bGIE;
+ DWORD dLBA;
+
+ /* Get first LBA: convert 4 bytes into DWORD */
+ dLBA = McsCbw.CBWCB[2];
+ dLBA <<= 8;
+ dLBA += McsCbw.CBWCB[3];
+ dLBA <<= 8;
+ dLBA += McsCbw.CBWCB[4];
+ dLBA <<= 8;
+ dLBA += McsCbw.CBWCB[5];
+
+ /* Get number of requested logical blocks */
+ wLBA_len = McsCbw.CBWCB[7];
+ wLBA_len <<= 8;
+ wLBA_len += McsCbw.CBWCB[8];
+
+ if (FAILURE ==
+ Check_CBW( intfNum, DIRECTION_IN, ((DWORD)wLBA_len) *
+ MscControl[McsCbw.bCBWLUN].lbaSize)){
+ return;
+ }
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ _DINT_FET();
+
+ //Populating stack internal structure required for READ/WRITE
+ MscReadControl.lba = dLBA; //the first LBA number.
+ MscReadControl.lbaCount = wLBA_len; //how many LBAs to read.
+ MscReadControl.XorY = 0;
+
+ sRwbuf.bufferAddr = MscControl[McsCbw.bCBWLUN].xBufferAddr;
+ sRwbuf.lun = McsCbw.bCBWLUN;
+
+ //set LBA count
+ sRwbuf.lbCount = wLBA_len >
+ MscControl[McsCbw.bCBWLUN].lbaBufCapacity ?
+ MscControl[McsCbw.bCBWLUN].lbaBufCapacity : wLBA_len;
+ sRwbuf.operation = kUSBMSC_READ;
+ sRwbuf.lba = dLBA;
+ sRwbuf.returnCode = kUSBMSC_RWSuccess;
+ sRwbuf.XorY = 0;
+ sRwbuf.xBufFull = 0;
+ sRwbuf.xWordCnt = 0;
+ sRwbuf.yBufFull = 0;
+ sRwbuf.yWordCnt = 0;
+ sRwbuf.bufferProcessed = 0;
+ sRwbuf.firstFlag = 0;
+ //buffer is prepared, let user's Application fill data.
+ USBMSC_handleBufferEvent();
+
+ __bis_SR_register(bGIE); //restore interrupt status
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Write10 (BYTE intfNum)
+{
+ WORD wLBA_len;
+ unsigned short bGIE;
+ /* Get first LBA: convert 4 bytes into DWORD */
+ DWORD dLBA = McsCbw.CBWCB[2];
+
+ dLBA <<= 8;
+ dLBA += McsCbw.CBWCB[3];
+ dLBA <<= 8;
+ dLBA += McsCbw.CBWCB[4];
+ dLBA <<= 8;
+ dLBA += McsCbw.CBWCB[5];
+
+ /* Get number of requested logical blocks */
+ wLBA_len = McsCbw.CBWCB[7];
+ wLBA_len <<= 8;
+ wLBA_len += McsCbw.CBWCB[8];
+
+ if (FAILURE ==
+ Check_CBW(intfNum,DIRECTION_OUT,((DWORD)wLBA_len) *
+ MscControl[McsCbw.bCBWLUN].lbaSize)){
+ return;
+ }
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ _DINT_FET();
+
+ //calculate the whole size to receive (Host to MSP430)
+ MscWriteControl.dwBytesToReceiveLeft = (DWORD)wLBA_len *
+ MscControl[McsCbw.bCBWLUN].lbaSize;
+ MscWriteControl.pUserBuffer = MscControl[McsCbw.bCBWLUN].xBufferAddr;
+ MscWriteControl.wFreeBytesLeft =
+ MscControl[McsCbw.bCBWLUN].wMscUserBufferSize;
+
+ /*Populating stack internal structure required for READ/WRITE */
+
+ MscWriteControl.bWriteProcessing = TRUE; //indicate that we are in WRITE phase
+ MscWriteControl.lba = dLBA;
+ MscWriteControl.wCurrentByte = 0; //reset internal variable
+ MscWriteControl.lbaCount = 0; //reset internal variable
+ MscWriteControl.XorY = 0;
+
+ sRwbuf.lun = McsCbw.bCBWLUN;
+ sRwbuf.operation = 0;
+ sRwbuf.lba = 0;
+ sRwbuf.lbCount = 0;
+ sRwbuf.bufferAddr = MscControl[McsCbw.bCBWLUN].xBufferAddr;
+ sRwbuf.returnCode = 0;
+ sRwbuf.XorY = 0;
+ sRwbuf.xBufFull = 0;
+ sRwbuf.yBufFull = 0;
+ sRwbuf.bufferProcessed = 0;
+ sRwbuf.firstFlag = 0;
+ sRwbuf.xlba = 0;
+ sRwbuf.xlbaCount = 0;
+ sRwbuf.ylba = 0;
+ sRwbuf.ylbaCount = 0;
+
+ __bis_SR_register(bGIE); //restore interrupt status
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Mode_Sense6 (BYTE intfNum)
+{
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_MODE_SENSE_6_CMD_LEN)){
+ return;
+ }
+ /* Fix for SDOCM00077834 - Set WP bit. WP bit is BIT7 in byte 3 */
+ Scsi_Mode_Sense_6[2] |= (MscControl[McsCbw.bCBWLUN].bWriteProtected << 0x7);
+
+ if (SUCCESS !=
+ MscSendData((PBYTE)Scsi_Mode_Sense_6, SCSI_MODE_SENSE_6_CMD_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Mode_Sense10 (BYTE intfNum)
+{
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_MODE_SENSE_10_CMD_LEN)){
+ return;
+ }
+ /* Fix for SDOCM00077834 - Set WP bit. WP bit is BIT7 in byte 3 */
+ Scsi_Mode_Sense_10[4] |= (MscControl[McsCbw.bCBWLUN].bWriteProtected << 0x7);
+
+ if (SUCCESS !=
+ MscSendData((PBYTE)Scsi_Mode_Sense_10, SCSI_MODE_SENSE_10_CMD_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Request_Sense (BYTE intfNum)
+{
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_REQ_SENSE_CMD_LEN)){
+ return;
+ }
+
+ //If there is attention needed, setup the request sense response. The
+ //bUnitAttention flag is set in USBMSC_updateMediaInfo() when the volume
+ //is removed or inserted. Note that the response is different for the
+ //removed and inserted case.
+ if (MscState.bUnitAttention == TRUE){
+ //Check if the volume was removed.
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_NOT_READY;
+ RequestSenseResponse.ASC = ASC_MEDIUM_NOT_PRESENT;
+ RequestSenseResponse.ASCQ = ASCQ_MEDIUM_NOT_PRESENT;
+ }
+ //Otherwise it was inserted.
+ else {
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_UNITATTN;
+ RequestSenseResponse.ASC = ASC_UNITATTN_READY_NOTREADY;
+ RequestSenseResponse.ASCQ = ASCQ_UNITATTN_READY_NOTREADY;
+ }
+ }
+
+ if (McsCbw.dCBWDataTransferLength < SCSI_REQ_SENSE_CMD_LEN){
+ if (SUCCESS ==
+ MscSendData((PBYTE)&RequestSenseResponse,
+ McsCbw.dCBWDataTransferLength)){
+ MscState.Scsi_Residue = 0;
+ } else {
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ } else if (McsCbw.dCBWDataTransferLength > SCSI_REQ_SENSE_CMD_LEN){
+ RequestSenseResponse.AddSenseLen +=
+ (McsCbw.dCBWDataTransferLength - SCSI_REQ_SENSE_CMD_LEN);
+ if (SUCCESS ==
+ MscSendData((PBYTE)&RequestSenseResponse,
+ McsCbw.dCBWDataTransferLength)){
+ MscState.Scsi_Residue = 0;
+ } else {
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ } else {
+ if (SUCCESS ==
+ MscSendData((PBYTE)&RequestSenseResponse,SCSI_REQ_SENSE_CMD_LEN)){
+ MscState.Scsi_Residue = 0;
+ } else {
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ }
+
+ //Clear the bUnitAttention flag after the response was properly sent via
+ //MscSendData().
+ if (MscState.bUnitAttention == TRUE){
+ MscState.bUnitAttention = FALSE;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Test_Unit_Ready (BYTE intfNum)
+{
+ if (SUCCESS != Check_CBW(intfNum,DIRECTION_OUT,0)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+
+ Reset_RequestSenseResponse();
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Unknown_Request (BYTE intfNum)
+{
+ Reset_RequestSenseResponse();
+
+ RequestSenseResponse.ResponseCode = RESCODE_CURRENT_ERROR;
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.AddSenseLen = 0xA0;
+ RequestSenseResponse.SenseKey = S_ILLEGAL_REQUEST;
+ RequestSenseResponse.ASC = ASC_INVALID_COMMAND_OP_CODE;
+ RequestSenseResponse.ASCQ = ASCQ_INVALID_COMMAND_OP_CODE;
+ MscState.Scsi_Residue = 0;
+ MscState.Scsi_Status = SCSI_FAILED;
+
+ if (McsCbw.dCBWDataTransferLength && (McsCbw.bmCBWFlags == DIRECTION_IN)){
+ MscState.bMcsCommandSupported = FALSE;
+ usbStallInEndpoint(intfNum);
+ }
+ if (McsCbw.dCBWDataTransferLength && (McsCbw.bmCBWFlags == DIRECTION_OUT)){
+ MscState.bMcsCommandSupported = FALSE;
+ usbStallOutEndpoint(intfNum);
+ }
+}
+
+//----------------------------------------------------------------------------
+
+VOID Scsi_Report_Luns (BYTE intfNum)
+{
+ if (FAILURE ==
+ Check_CBW( intfNum, DIRECTION_IN, SCSI_REPORT_LUNS_CMD_LEN)){
+ return;
+ }
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Report_Luns, SCSI_REPORT_LUNS_CMD_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+//----------------------------------------------------------------------------
+
+BYTE Scsi_Cmd_Parser (BYTE intfNum)
+{
+ BYTE ret = kUSBMSC_cmdBeingProcessed;
+
+ //MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = McsCbw.dCBWDataTransferLength;
+
+ //fails the commands during UNIT ATTENTION
+ if ((MscState.bUnitAttention) && (McsCbw.CBWCB[0] != SCSI_INQUIRY) &&
+ (McsCbw.CBWCB[0] != SCSI_REQUEST_SENSE)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ return (kUSB_generalError);
+ }
+
+ if (!McsCbw.bCBWCBLength){
+ return (kUSB_generalError);
+ }
+
+ switch (McsCbw.CBWCB[0]) //SCSI Operation code
+ {
+ case SCSI_READ_10:
+ if (MscControl[McsCbw.bCBWLUN].xBufferAddr == NULL){ //Check for null address.
+ ret = kUSB_generalError;
+ SET_RequestsenseNotReady();
+ MscState.Scsi_Status = SCSI_FAILED;
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses
+ //media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+ Scsi_Read10(intfNum);
+ break;
+
+ case SCSI_WRITE_10:
+ if (MscControl[McsCbw.bCBWLUN].xBufferAddr == NULL){ //Check for null address.
+ ret = kUSB_generalError;
+ SET_RequestsenseNotReady();
+ MscState.Scsi_Status = SCSI_FAILED;
+ break;
+ }
+
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses
+ //media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallOutEndpoint(intfNum);
+ break;
+ }
+
+ if (MscControl[McsCbw.bCBWLUN].bWriteProtected){ //Do this only for WRITE
+ ret = kUSB_generalError;
+ //Set REQUEST SENSE with "write protected"
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_WRITE_PROTECTED;
+ RequestSenseResponse.ASC = ASC_WRITE_PROTECTED;
+ RequestSenseResponse.ASCQ = ASCQ_WRITE_PROTECTED;
+ MscWriteControl.bWriteProcessing = FALSE;
+ //Send CSW with error status
+ MscState.Scsi_Residue = 1;
+ MscState.Scsi_Status = SCSI_FAILED;
+ usbStallOutEndpoint(intfNum);
+ break;
+ }
+
+ Scsi_Write10(intfNum);
+ break;
+
+ case START_STOP_UNIT:
+ case PREVENT_ALLW_MDM:
+ case SCSI_MODE_SELECT_10:
+ case SCSI_MODE_SELECT_6:
+ case SCSI_TEST_UNIT_READY:
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses
+ //media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ break;
+ }
+ Scsi_Test_Unit_Ready(intfNum);
+ break;
+
+ case SCSI_SET_CD_SPEED:
+ break;
+ case SCSI_INQUIRY:
+ Scsi_Inquiry(intfNum);
+ break;
+
+ case SCSI_MODE_SENSE_6:
+ Scsi_Mode_Sense6(intfNum);
+ break;
+
+ case SCSI_MODE_SENSE_10:
+ Scsi_Mode_Sense10(intfNum);
+ break;
+
+ case SCSI_READ_CAPACITY_10:
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+ Scsi_Read_Capacity10(intfNum);
+ break;
+
+ case SCSI_REQUEST_SENSE:
+ Scsi_Request_Sense(intfNum);
+ break;
+
+ case SCSI_REPORT_LUNS:
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ if (McsCbw.bmCBWFlags == DIRECTION_IN){
+ usbStallInEndpoint(intfNum);
+ } else {
+ usbStallOutEndpoint(intfNum);
+ }
+ break;
+ }
+ Scsi_Report_Luns(intfNum);
+ break;
+ case SCSI_VERIFY:
+ /* Fix for SDOCM00078183 */
+ /* NOTE: we are assuming that BYTCHK=0 and PASSing the command. */
+ break;
+#ifdef CDROM_SUPPORT
+
+ case SCSI_READ_TOC_PMA_ATIP:
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+ Scsi_Read_TocPmaAtip(intfNum);
+ break;
+
+ case SCSI_GET_CONFIGURATION:
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+ Scsi_Get_Configuration(intfNum);
+ break;
+ case SCSI_EVENT_STATUS:
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+ Scsi_Event_Status_Notification(intfNum);
+ break;
+
+ case SCSI_READ_DISC_INFORMATION:
+
+ if (MscControl[McsCbw.bCBWLUN].bMediaPresent ==
+ kUSBMSC_MEDIA_NOT_PRESENT){ //Check for media present. Do this for any command that accesses media.
+ ret = kUSB_generalError;
+ SET_RequestsenseMediaNotPresent();
+ usbStallInEndpoint(intfNum);
+ break;
+ }
+
+ Scsi_Read_Disc_Information(intfNum);
+ break;
+#endif
+ default:
+ ret = kUSB_generalError;
+ Scsi_Unknown_Request(intfNum);
+ break;
+ }
+ return (ret);
+}
+
+//-------------------------------------------------------------------------------------------------------
+/* This function is called only from ISR(only on Input endpoint interrupt to transfer data to host)
+ * This function actually performs the data transfer to host Over USB */
+BOOL MSCToHostFromBuffer ()
+{
+ //Check if there are any pending LBAs to process
+ BYTE * pEP1;
+ BYTE * pEP2;
+ BYTE * pCT1;
+ BYTE * pCT2;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+ BYTE edbIndex;
+ BYTE bCount;
+
+ if (MscControl[sRwbuf.lun].yBufferAddr == NULL) {
+ //Check if there are any pending data to send
+ if (MscReadControl.dwBytesToSendLeft == 0){
+ //no more data to send - clear ready busy status
+ MscReadControl.bReadProcessing = FALSE;
+
+ //check if more LBA to send out pending...
+ if (MscReadControl.lbaCount > 0){
+ sRwbuf.lba = MscReadControl.lba; //update current lba
+ sRwbuf.lbCount = MscControl[sRwbuf.lun].lbaBufCapacity >
+ MscReadControl.lbaCount ?
+ MscReadControl.lbaCount : MscControl[sRwbuf.lun].
+ lbaBufCapacity; //update LBA count
+ sRwbuf.operation = kUSBMSC_READ; //start data READ phase
+ sRwbuf.returnCode = kUSBMSC_RWSuccess;
+ sRwbuf.bufferAddr = MscControl[sRwbuf.lun].xBufferAddr;
+ sRwbuf.XorY = 0; //only one buffer is active
+ //buffer is prepared, let user's Application fill data.
+ USBMSC_handleBufferEvent();
+ }
+ return (TRUE); //data sent out - wake up!
+ }
+ }
+ else {
+ if ((MscReadControl.lbaCount > 0) && (sRwbuf.bufferProcessed == 1)) {
+ if ((sRwbuf.XorY == 0) && (sRwbuf.yBufFull == 0)){
+ sRwbuf.bufferProcessed = 0;
+ sRwbuf.XorY = 1;
+ sRwbuf.bufferAddr = MscControl[sRwbuf.lun].yBufferAddr;
+ sRwbuf.lba = MscReadControl.lba; //update current lba
+ sRwbuf.lbCount = MscControl[sRwbuf.lun].lbaBufCapacity >
+ MscReadControl.lbaCount ?
+ MscReadControl.lbaCount : MscControl[sRwbuf.lun].
+ lbaBufCapacity; //update LBA count
+ sRwbuf.operation = kUSBMSC_READ; //start data READ phase
+ sRwbuf.returnCode = kUSBMSC_RWSuccess;
+ //buffer is prepared, let user's Application fill data.
+ USBMSC_handleBufferEvent();
+ }
+ else if ((sRwbuf.XorY == 1) && (sRwbuf.xBufFull == 0)){
+ sRwbuf.bufferProcessed = 0;
+ sRwbuf.XorY = 0;
+ sRwbuf.bufferAddr = MscControl[sRwbuf.lun].xBufferAddr;
+ sRwbuf.lba = MscReadControl.lba; //update current lba
+ sRwbuf.lbCount = MscControl[sRwbuf.lun].lbaBufCapacity >
+ MscReadControl.lbaCount ?
+ MscReadControl.lbaCount : MscControl[sRwbuf.lun].
+ lbaBufCapacity; //update LBA count
+ sRwbuf.operation = kUSBMSC_READ; //start data READ phase
+ sRwbuf.returnCode = kUSBMSC_RWSuccess;
+ //buffer is prepared, let user's Application fill data.
+ USBMSC_handleBufferEvent();
+ }
+ }
+
+ //Check if there are any pending data to send
+ if (MscReadControl.dwBytesToSendLeft == 0){
+ //no more data to send - clear ready busy status
+ MscReadControl.bReadProcessing = FALSE;
+
+ if (MscReadControl.XorY == 0) {
+ sRwbuf.xBufFull = 0;
+ sRwbuf.xWordCnt = 0;
+ if (sRwbuf.yBufFull) {
+ MscSendData(MscControl[sRwbuf.lun].yBufferAddr, sRwbuf.yWordCnt);
+ MscReadControl.XorY = 1;
+ }
+ }
+ else {
+ sRwbuf.yBufFull = 0;
+ sRwbuf.yWordCnt = 0;
+ if (sRwbuf.xBufFull) {
+ MscSendData(MscControl[sRwbuf.lun].xBufferAddr, sRwbuf.xWordCnt);
+ MscReadControl.XorY = 0;
+ }
+ }
+
+ return (TRUE); //data sent out - wake up!
+ }
+ }
+
+
+ edbIndex = stUsbHandle[MSC0_INTFNUM].edb_Index;
+
+ //check if the endpoint is stalled = do not send data.
+ if (tInputEndPointDescriptorBlock[edbIndex].bEPCNF & EPCNF_STALL){
+ return (TRUE);
+ }
+
+ //send one chunk of 64 bytes
+ //check what is current buffer: X or Y
+ if (MscReadControl.bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].iep_X_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[MSC0_INTFNUM].iep_Y_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].iep_Y_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[MSC0_INTFNUM].iep_X_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can send over one endpoint buffer
+ bCount =
+ (MscReadControl.dwBytesToSendLeft >
+ EP_MAX_PACKET_SIZE) ? EP_MAX_PACKET_SIZE : MscReadControl.
+ dwBytesToSendLeft;
+
+ if (*pCT1 & EPBCNT_NAK){
+ USB_TX_memcpy(pEP1, MscReadControl.pUserBuffer, bCount); //copy data into IEPx X or Y buffer
+ *pCT1 = bCount; //Set counter for usb In-Transaction
+ MscReadControl.bCurrentBufferXY =
+ (MscReadControl.bCurrentBufferXY + 1) & 0x01; //switch buffer
+ MscReadControl.dwBytesToSendLeft -= bCount;
+ MscReadControl.pUserBuffer += bCount; //move buffer pointer
+
+ //try to send data over second buffer
+ if ((MscReadControl.dwBytesToSendLeft > 0) && //do we have more data to send?
+ (*pCT2 & EPBCNT_NAK)){ //if the second buffer is free?
+ //how many byte we can send over one endpoint buffer
+ bCount =
+ (MscReadControl.dwBytesToSendLeft >
+ EP_MAX_PACKET_SIZE) ? EP_MAX_PACKET_SIZE : MscReadControl.
+ dwBytesToSendLeft;
+ //copy data into IEPx X or Y buffer
+ USB_TX_memcpy(pEP2, MscReadControl.pUserBuffer, bCount);
+ //Set counter for usb In-Transaction
+ *pCT2 = bCount;
+ //switch buffer
+ MscReadControl.bCurrentBufferXY =
+ (MscReadControl.bCurrentBufferXY + 1) & 0x01;
+ MscReadControl.dwBytesToSendLeft -= bCount;
+ //move buffer pointer
+ MscReadControl.pUserBuffer += bCount;
+ }
+ } //if(*pCT1 & EPBCNT_NAK)
+ return (bWakeUp);
+}
+
+//------------------------------------------------------------------------------------------------------
+
+//This function used to initialize the sending process.
+//Use this by functiosn for send CSW or send LBA
+//To use only by STACK itself, not by application
+//Returns: SUCCESS or FAILURE
+BYTE MscSendData (const BYTE* data, WORD size)
+{
+ BYTE edbIndex;
+ unsigned short bGIE;
+
+ edbIndex = stUsbHandle[MSC0_INTFNUM].edb_Index;
+
+ if (size == 0){
+ return (FAILURE);
+ }
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //data can not be read because of USB suspended
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (FAILURE);
+ }
+
+ if ((MscReadControl.dwBytesToSendLeft != 0) || //data was not sent out
+ (MscReadControl.bReadProcessing == TRUE)){ //still processing previous data
+ //the USB still sends previous data, we have to wait
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (FAILURE);
+ }
+
+ //This function generate the USB interrupt. The data will be sent out from interrupt
+
+ MscReadControl.bReadProcessing = TRUE; //set reading busy status.
+ MscReadControl.dwBytesToSendLeft = size;
+ MscReadControl.pUserBuffer = (BYTE*)data;
+
+ //trigger Endpoint Interrupt - to start send operation
+ USBIEPIFG |= 1 << (edbIndex + 1); //IEPIFGx;
+
+ __bis_SR_register(bGIE); //restore interrupt status
+
+ return (SUCCESS);
+}
+
+//This function copies data from OUT endpoint into user's buffer
+//This function to call only from MSCFromHostToBuffer()
+//Arguments:
+//pEP - pointer to EP to copy from
+//pCT - pointer to EP control reg
+//
+VOID MscCopyUsbToBuff (BYTE* pEP, BYTE* pCT)
+{
+ BYTE nCount;
+
+ nCount = *pCT & (~EPBCNT_NAK);
+
+ //how many bytes we can receive to avoid overflow
+ nCount =
+ (nCount >
+ MscWriteControl.dwBytesToReceiveLeft) ? MscWriteControl.
+ dwBytesToReceiveLeft :
+ nCount;
+
+ USB_RX_memcpy(MscWriteControl.pUserBuffer, pEP, nCount); //copy data from OEPx X or Y buffer
+ MscWriteControl.dwBytesToReceiveLeft -= nCount;
+ MscWriteControl.pUserBuffer += nCount; //move buffer pointer
+ //to read rest of data next time from this place
+ MscWriteControl.wFreeBytesLeft -= nCount; //update counter
+
+ MscWriteControl.wCurrentByte += nCount;
+ if (MscWriteControl.wCurrentByte >= MscControl[sRwbuf.lun].lbaSize){
+ MscWriteControl.wCurrentByte = 0;
+ MscWriteControl.lbaCount++;
+ }
+
+ //switch current buffer
+ MscWriteControl.bCurrentBufferXY =
+ (MscWriteControl.bCurrentBufferXY + 1) & 0x01;
+
+ //clear NAK, EP ready to receive data
+ *pCT = 0x00;
+}
+
+//------------------------------------------------------------------------------------------------------
+/* This function is called only from ISR(only on Output endpoint interrupt, to recv data from host)
+ * This function actually recieves the data from host Over USB */
+BOOL MSCFromHostToBuffer ()
+{
+ BYTE * pEP1;
+ BYTE nTmp1;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[MSC0_INTFNUM].edb_Index;
+
+ if (MscState.stallEndpoint == TRUE) {
+ tOutputEndPointDescriptorBlock[edbIndex].bEPCNF |= EPCNF_STALL;
+ return TRUE;
+ }
+
+ if (MscState.bMscCbwReceived == TRUE){
+ //previous CBW is not performed, so exit interrupt hendler
+ //and trigger it again later
+ return (TRUE); //true for wake up!
+ }
+
+ if (!MscWriteControl.bWriteProcessing){ //receiving CBW
+ //CBW will be received here....
+ //check what is current buffer: X or Y
+ if (MscWriteControl.bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_X_Buffer;
+ MscWriteControl.pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ MscWriteControl.pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_Y_Buffer;
+ MscWriteControl.pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ MscWriteControl.pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *MscWriteControl.pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ BYTE nCount;
+
+ //switch current buffer
+ MscWriteControl.bCurrentBufferXY =
+ (MscWriteControl.bCurrentBufferXY + 1) & 0x01;
+
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ nCount = (nTmp1 > sizeof(McsCbw)) ? sizeof(McsCbw) : nTmp1;
+ USB_RX_memcpy(&McsCbw, pEP1, nCount); //copy data from OEPx X or Y buffer
+
+ //clear NAK, EP ready to receive data
+ *MscWriteControl.pCT1 = 0x00;
+
+ //set flag and check the CBW from the usbmsc_poll
+ MscState.bMscCbwReceived = TRUE;
+
+ //second 64b buffer will be not read out here because the CBW is <64 bytes
+ }
+
+ bWakeUp = TRUE; //wake up to perform CBW
+ return (bWakeUp);
+ }
+
+ //if we are here - LBAs will be received
+ if (MscControl[sRwbuf.lun].yBufferAddr == NULL) {
+
+ /*Check if there are any pending LBAs to process */
+ if (MscWriteControl.dwBytesToReceiveLeft > 0){
+ //read one chunk of 64 bytes
+
+ //check what is current buffer: X or Y
+ if (MscWriteControl.bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_X_Buffer;
+ MscWriteControl.pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ MscWriteControl.pEP2 =
+ (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_Y_Buffer;
+ MscWriteControl.pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_Y_Buffer;
+ MscWriteControl.pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ MscWriteControl.pEP2 =
+ (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_X_Buffer;
+ MscWriteControl.pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *MscWriteControl.pCT1;
+
+ if ((nTmp1 & EPBCNT_NAK) &&
+ (MscWriteControl.wFreeBytesLeft >= 64)){
+ //copy data from Endpoint
+ MscCopyUsbToBuff(pEP1, MscWriteControl.pCT1);
+
+ nTmp1 = *MscWriteControl.pCT2;
+
+ //try read data from second buffer
+ if ((MscWriteControl.dwBytesToReceiveLeft > 0) && //do we have more data to send?
+ (MscWriteControl.wFreeBytesLeft >= 64) &&
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ //copy data from Endpoint
+ MscCopyUsbToBuff(MscWriteControl.pEP2, MscWriteControl.pCT2);
+ //MscWriteControl.pCT1 = MscWriteControl.pCT2;
+ }
+
+ if ((MscWriteControl.wFreeBytesLeft == 0) || //user's buffer is full, give it to User
+ (MscWriteControl.dwBytesToReceiveLeft == 0)){ //or no bytes to read left - give it to User
+ sRwbuf.operation = kUSBMSC_WRITE;
+ sRwbuf.lba = MscWriteControl.lba; //copy lba number
+ MscWriteControl.lba += MscWriteControl.lbaCount;
+ sRwbuf.lbCount = MscWriteControl.lbaCount; //copy lba count
+ MscWriteControl.wCurrentByte = 0;
+ MscWriteControl.lbaCount = 0;
+
+ //call event handler, we are ready with data
+ bWakeUp = USBMSC_handleBufferEvent();
+ } //if (wFreeBytesLeft == 0)
+ }
+ } //if (MscWriteControl.dwBytesToReceiveLeft > 0)
+ else {
+ //perform error handling here, if required.
+ bWakeUp = TRUE;
+ }
+ }
+ else {
+ //if we are here - LBAs will be received
+ if (sRwbuf.bufferProcessed == 1) {
+ if (sRwbuf.XorY == 0) {
+ sRwbuf.xBufFull = 0;
+ if (sRwbuf.yBufFull) {
+ sRwbuf.bufferProcessed = 0;
+ sRwbuf.XorY = 1;
+ sRwbuf.bufferAddr = MscControl[McsCbw.bCBWLUN].yBufferAddr;
+ sRwbuf.operation = kUSBMSC_WRITE;
+ sRwbuf.lba = sRwbuf.ylba; //copy lba number
+ sRwbuf.lbCount = sRwbuf.ylbaCount; //copy lba count
+
+ //call event handler, we are ready with data
+ bWakeUp = USBMSC_handleBufferEvent();
+ }
+ }
+ else {
+ sRwbuf.yBufFull = 0;
+ if (sRwbuf.xBufFull) {
+ sRwbuf.bufferProcessed = 0;
+ sRwbuf.XorY = 0;
+ sRwbuf.bufferAddr = MscControl[McsCbw.bCBWLUN].xBufferAddr;
+ sRwbuf.operation = kUSBMSC_WRITE;
+ sRwbuf.lba = sRwbuf.xlba; //copy lba number
+ sRwbuf.lbCount = sRwbuf.xlbaCount; //copy lba count
+
+ //call event handler, we are ready with data
+ bWakeUp = USBMSC_handleBufferEvent();
+ }
+ }
+ }
+
+ /*Check if there are any pending LBAs to process */
+ if (MscWriteControl.dwBytesToReceiveLeft > 0){
+ //read one chunk of 64 bytes
+
+ if (MscWriteControl.wFreeBytesLeft == 0) {
+ P7OUT &= ~BIT1;
+ P7OUT &= ~BIT2;
+ P7OUT &= ~BIT3;
+ if (MscWriteControl.XorY == 0) {
+ if (sRwbuf.yBufFull == 0) {
+ P7OUT |= BIT1;
+ P7OUT |= BIT3;
+ MscWriteControl.lba += MscWriteControl.lbaCount;
+ MscWriteControl.wCurrentByte = 0;
+ MscWriteControl.lbaCount = 0;
+ MscWriteControl.pUserBuffer = MscControl[sRwbuf.lun].yBufferAddr;
+ MscWriteControl.XorY = 1;
+ MscWriteControl.wFreeBytesLeft =
+ MscControl[sRwbuf.lun].wMscUserBufferSize;
+ }
+ }
+ else {
+ if (sRwbuf.xBufFull == 0) {
+ P7OUT |= BIT1;
+ P7OUT |= BIT2;
+ MscWriteControl.lba += MscWriteControl.lbaCount;
+ MscWriteControl.wCurrentByte = 0;
+ MscWriteControl.lbaCount = 0;
+ MscWriteControl.pUserBuffer = MscControl[sRwbuf.lun].xBufferAddr;
+ MscWriteControl.XorY = 0;
+ MscWriteControl.wFreeBytesLeft =
+ MscControl[sRwbuf.lun].wMscUserBufferSize;
+ }
+ }
+ }
+
+
+ //check what is current buffer: X or Y
+ if (MscWriteControl.bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_X_Buffer;
+ MscWriteControl.pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ MscWriteControl.pEP2 =
+ (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_Y_Buffer;
+ MscWriteControl.pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_Y_Buffer;
+ MscWriteControl.pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ MscWriteControl.pEP2 =
+ (BYTE*)stUsbHandle[MSC0_INTFNUM].oep_X_Buffer;
+ MscWriteControl.pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *MscWriteControl.pCT1;
+
+ if ((nTmp1 & EPBCNT_NAK) &&
+ (MscWriteControl.wFreeBytesLeft >= 64)){
+ //copy data from Endpoint
+ MscCopyUsbToBuff(pEP1, MscWriteControl.pCT1);
+
+ nTmp1 = *MscWriteControl.pCT2;
+
+ //try read data from second buffer
+ if ((MscWriteControl.dwBytesToReceiveLeft > 0) && //do we have more data to send?
+ (MscWriteControl.wFreeBytesLeft >= 64) &&
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ //copy data from Endpoint
+ MscCopyUsbToBuff(MscWriteControl.pEP2, MscWriteControl.pCT2);
+ //MscWriteControl.pCT1 = MscWriteControl.pCT2;
+ }
+
+ if ((MscWriteControl.wFreeBytesLeft == 0) || //user's buffer is full, give it to User
+ (MscWriteControl.dwBytesToReceiveLeft == 0)){ //or no bytes to read left - give it to User
+
+ if (sRwbuf.firstFlag == 0) {
+ sRwbuf.firstFlag = 1;
+ sRwbuf.operation = kUSBMSC_WRITE;
+ sRwbuf.lba = MscWriteControl.lba; //copy lba number
+ sRwbuf.lbCount = MscWriteControl.lbaCount; //copy lba count
+
+ //call event handler, we are ready with data
+ bWakeUp = USBMSC_handleBufferEvent();
+ }
+ if (MscWriteControl.XorY == 0) {
+ sRwbuf.xBufFull = 1;
+ sRwbuf.xlba = MscWriteControl.lba;
+ sRwbuf.xlbaCount = MscWriteControl.lbaCount;
+ }
+ else {
+ sRwbuf.yBufFull = 1;
+ sRwbuf.ylba = MscWriteControl.lba;
+ sRwbuf.ylbaCount = MscWriteControl.lbaCount;
+ }
+ return (TRUE);
+ } //if (wFreeBytesLeft == 0)
+ }
+ } //if (MscWriteControl.dwBytesToReceiveLeft > 0)
+ else {
+ if (sRwbuf.xBufFull ==0 && sRwbuf.yBufFull == 0) {
+ MscWriteControl.pUserBuffer = NULL; //no more receiving pending
+ MscWriteControl.bWriteProcessing = FALSE; //ready to receive next CBW
+ }
+ bWakeUp = TRUE;
+ }
+ }
+ return (bWakeUp);
+}
+
+//--------------------------------------------------------------------------------------
+/*This function is called by application to indicate buffer processed and ready for stack to operate on */
+BYTE USBMSC_bufferProcessed ()
+{
+ unsigned short bGIE;
+ BYTE edbIndex;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //Disable interrupt
+ _DINT_FET();
+
+ if (MscControl[sRwbuf.lun].yBufferAddr == NULL) {
+ /*
+ * Fix for SDOCM00078384
+ * Reset bWriteProcessing after last buffer is processed by the application
+ */
+ if (sRwbuf.operation == kUSBMSC_WRITE &&
+ MscWriteControl.dwBytesToReceiveLeft == 0){ //the Receive opereation (MSC_WRITE) is completed
+ MscWriteControl.pUserBuffer = NULL; //no more receiving pending
+ MscWriteControl.bWriteProcessing = FALSE; //ready to receive next CBW
+ }
+
+ if (sRwbuf.operation == kUSBMSC_WRITE && sRwbuf.returnCode ==
+ kUSBMSC_RWSuccess){
+ //initialize user buffer.
+ MscWriteControl.pUserBuffer = MscControl[sRwbuf.lun].xBufferAddr;
+ MscWriteControl.wFreeBytesLeft =
+ MscControl[sRwbuf.lun].wMscUserBufferSize;
+ sRwbuf.operation = NULL; //no operation pending...
+ //read out next portion of data if available.
+ MSCFromHostToBuffer();
+ } else if (sRwbuf.operation == kUSBMSC_READ && sRwbuf.returnCode ==
+ kUSBMSC_RWSuccess){
+ WORD wCnt = sRwbuf.lbCount * MscControl[sRwbuf.lun].lbaSize;
+
+ //trigger sending LBA(s)
+ MscSendData(sRwbuf.bufferAddr, wCnt);
+
+ if (sRwbuf.lbCount >= MscReadControl.lbaCount){
+ //all bytes sent, reset structure
+ MscReadControl.lbaCount = 0;
+ } else {
+ //update read structure
+ MscReadControl.lbaCount -= sRwbuf.lbCount;
+ MscReadControl.lba += sRwbuf.lbCount;
+
+ }
+ sRwbuf.operation = NULL; //no operation pending...
+ }
+ }
+ else {
+ if (sRwbuf.operation == kUSBMSC_WRITE && sRwbuf.returnCode ==
+ kUSBMSC_RWSuccess){
+ P7OUT &= ~BIT0;
+ //initialize user buffer.
+ sRwbuf.bufferProcessed = 1;
+ if (sRwbuf.XorY == 0) {
+ sRwbuf.xBufFull = 0;
+ }
+ else {
+ sRwbuf.yBufFull = 0;
+ }
+ sRwbuf.operation = NULL; //no operation pending...
+ //read out next portion of data if available.
+ MSCFromHostToBuffer();
+ } else if (sRwbuf.operation == kUSBMSC_READ && sRwbuf.returnCode ==
+ kUSBMSC_RWSuccess){
+ WORD wCnt = sRwbuf.lbCount * MscControl[sRwbuf.lun].lbaSize;
+
+ sRwbuf.bufferProcessed = 1;
+
+ if (sRwbuf.XorY == 0) {
+ sRwbuf.xBufFull = 1;
+ sRwbuf.xWordCnt = wCnt;
+ }
+ else {
+ sRwbuf.yBufFull = 1;
+ sRwbuf.yWordCnt = wCnt;
+ }
+
+ if (sRwbuf.firstFlag == 0) {
+ //trigger sending LBA(s)
+ sRwbuf.firstFlag = 1;
+ MscSendData(sRwbuf.bufferAddr, wCnt);
+ }
+ else {
+ edbIndex = stUsbHandle[MSC0_INTFNUM].edb_Index;
+ //trigger Endpoint Interrupt - to start send operation
+ USBIEPIFG |= 1 << (edbIndex + 1); //IEPIFGx;
+ }
+
+ if (sRwbuf.lbCount >= MscReadControl.lbaCount){
+ //all bytes sent, reset structure
+ MscReadControl.lbaCount = 0;
+ sRwbuf.operation = NULL;
+ } else {
+ //update read structure
+ MscReadControl.lbaCount -= sRwbuf.lbCount;
+ MscReadControl.lba += sRwbuf.lbCount;
+ }
+ sRwbuf.operation = NULL; //no operation pending...
+ }
+ }
+
+ switch (sRwbuf.returnCode)
+ {
+ case kUSBMSC_RWSuccess:
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ break;
+ //Set RequestSenseResponse if necessary? Maybe initialized values OK?
+
+ case kUSBMSC_RWNotReady:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 1;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_NOT_READY;
+ RequestSenseResponse.ASC = ASC_NOT_READY;
+ RequestSenseResponse.ASCQ = ASCQ_NOT_READY;
+ break;
+
+ case kUSBMSC_RWIllegalReq:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_ILLEGAL_REQUEST;
+ RequestSenseResponse.ASC = ASC_ILLEGAL_REQUEST;
+ RequestSenseResponse.ASCQ = ASCQ_ILLEGAL_REQUEST;
+ break;
+
+ case kUSBMSC_RWUnitAttn:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_UNITATTN;
+ RequestSenseResponse.ASC = ASC_UNITATTN_READY_NOTREADY;
+ RequestSenseResponse.ASCQ = ASCQ_UNITATTN_READY_NOTREADY;
+ break;
+
+ case kUSBMSC_RWLbaOutOfRange:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_ILLEGAL_REQUEST;
+ RequestSenseResponse.ASC = ASC_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE;
+ RequestSenseResponse.ASCQ = ASCQ_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE;
+ break;
+
+ case kUSBMSC_RWMedNotPresent:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_NOT_READY;
+ RequestSenseResponse.ASC = ASC_MEDIUM_NOT_PRESENT;
+ RequestSenseResponse.ASCQ = ASCQ_MEDIUM_NOT_PRESENT;
+ break;
+
+ case kUSBMSC_RWDevWriteFault:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_MEDIUM_ERROR;
+ RequestSenseResponse.ASC = ASC_WRITE_FAULT;
+ RequestSenseResponse.ASCQ = ASCQ_WRITE_FAULT;
+ break;
+
+ case kUSBMSC_RWUnrecoveredRead:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_MEDIUM_ERROR;
+ RequestSenseResponse.ASC = ASC_UNRECOVERED_READ;
+ RequestSenseResponse.ASCQ = ASCQ_UNRECOVERED_READ;
+ break;
+
+ case kUSBMSC_RWWriteProtected:
+ MscState.Scsi_Status = SCSI_FAILED;
+ MscState.Scsi_Residue = 0;
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_WRITE_PROTECTED;
+ RequestSenseResponse.ASC = ASC_WRITE_PROTECTED;
+ RequestSenseResponse.ASCQ = ASCQ_WRITE_PROTECTED;
+ break;
+ //case breakouts for all the codes
+ }
+
+ if (sRwbuf.returnCode != kUSBMSC_RWSuccess){
+ sRwbuf.operation = NULL; //no operation pending...
+ if (McsCbw.bmCBWFlags == DIRECTION_IN){
+ usbStallInEndpoint(MSC0_INTFNUM);
+ MscReadControl.bReadProcessing = FALSE; //ready to receive next CBW
+ MscReadControl.pUserBuffer = NULL; //no more receiving pending
+ MscReadControl.lbaCount = 0;
+ } else {
+ //we need to stall only if not all af data was transfered
+ if (MscWriteControl.dwBytesToReceiveLeft > 0){
+ usbStallOutEndpoint(MSC0_INTFNUM);
+ }
+ MscWriteControl.bWriteProcessing = FALSE; //ready to receive next CBW
+ MscWriteControl.pUserBuffer = NULL; //no more receiving pending
+ *MscWriteControl.pCT1 = 0x00; //clear NAK, EP ready to receive next data
+ *MscWriteControl.pCT2 = 0x00; //clear NAK, EP ready to receive next data
+ }
+ }
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+//-------------------------------------------------------------------------------------------
+VOID Msc_ResetFlags ()
+{
+ MscState.bMscCbwReceived = FALSE;
+}
+
+//-------------------------------------------------------------------------------------------
+VOID Msc_ResetStruct ()
+{
+ memset(&sRwbuf,0,sizeof(USBMSC_RWbuf_Info));
+ memset(&McsCbw,0,sizeof(CBW));
+ memset(&McsCsw,0,sizeof(CSW));
+
+ MscReadControl.pUserBuffer = NULL;
+ MscReadControl.dwBytesToSendLeft = 0;
+ MscReadControl.bReadProcessing = FALSE;
+
+ MscWriteControl.bWriteProcessing = FALSE;
+ MscWriteControl.pUserBuffer = NULL;
+ MscWriteControl.dwBytesToReceiveLeft = 0; //holds how many bytes is still requested by WRITE operation (Host to MSP430)
+ //we do not reset the bCurrentBufferXY, becuase the buffer doesnt changed if he MSC reseted.
+ //The bCurrentBufferXY should be reseted in USB_Reset()
+
+ Reset_RequestSenseResponse();
+}
+
+//-------------------------------------------------------------------------------------------
+VOID MscResetData ()
+{
+ Msc_ResetStruct();
+
+ memset(&MscWriteControl, 0, sizeof(MscWriteControl));
+ memset(&MscReadControl, 0, sizeof(MscReadControl));
+}
+
+//-------------------------------------------------------------------------------------------
+VOID MscResetCtrlLun ()
+{
+ int i;
+
+ for (i = 0; i < MSC_MAX_LUN_NUMBER; i++)
+ {
+ MscControl[i].bMediaPresent = 0x80;
+ MscControl[i].bWriteProtected = FALSE;
+ }
+}
+
+//-------------------------------------------------------------------------------------------
+/* This function can be called by application to get the current status of stack operation */
+BYTE USBMSC_getState ()
+{
+ BYTE state;
+
+ if (sRwbuf.operation == 0 && MscState.bMscSendCsw == FALSE){
+ state = kUSBMSC_idle;
+ } else if (sRwbuf.operation == kUSBMSC_READ && sRwbuf.lbCount > 0){
+ state = kUSBMSC_readInProgress;
+ } else if (sRwbuf.operation == kUSBMSC_WRITE && sRwbuf.lbCount > 0){
+ state = kUSBMSC_writeInProgress;
+ } else if (sRwbuf.operation == 0 && MscState.bMscSendCsw == TRUE){
+ state = kUSBMSC_cmdBeingProcessed;
+ }
+ return (state);
+}
+
+//-------------------------------------------------------------------------------------------
+BYTE USBMSC_updateMediaInfo ( BYTE lun, struct USBMSC_mediaInfoStr *info)
+{
+ BYTE state;
+
+ Scsi_Read_Capacity_10[lun].lLba[0] = (BYTE)(info->lastBlockLba >> 24);
+ Scsi_Read_Capacity_10[lun].lLba[1] = (BYTE)(info->lastBlockLba >> 16);
+ Scsi_Read_Capacity_10[lun].lLba[2] = (BYTE)(info->lastBlockLba >> 8);
+ Scsi_Read_Capacity_10[lun].lLba[3] = (BYTE)(info->lastBlockLba);
+
+ Scsi_Read_Capacity_10[lun].bLength[0] = (BYTE)(info->bytesPerBlock >> 24);
+ Scsi_Read_Capacity_10[lun].bLength[1] = (BYTE)(info->bytesPerBlock >> 16);
+ Scsi_Read_Capacity_10[lun].bLength[2] = (BYTE)(info->bytesPerBlock >> 8);
+ Scsi_Read_Capacity_10[lun].bLength[3] = (BYTE)(info->bytesPerBlock);
+
+ MscControl[lun].lbaSize = (WORD)Scsi_Read_Capacity_10[lun].bLength[2] <<
+ 8 | Scsi_Read_Capacity_10[lun].bLength[3];
+
+ //If the LUN was reported as not removable, then leave mediaPresent/mediaChanged as
+ //their initialized defaults.
+ if (USBMSC_config.LUN[lun].removable){
+ if (((MscControl[lun].bMediaPresent == kUSBMSC_MEDIA_NOT_PRESENT)) &&
+ (info->mediaPresent == kUSBMSC_MEDIA_PRESENT)){ //If media was inserted...
+ //Set Unit Attention flag. This flag is used in Scsi_Request_Sense().
+ MscState.bUnitAttention = TRUE;
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+
+ if ((MscControl[lun].bMediaPresent == kUSBMSC_MEDIA_PRESENT &&
+ ((info->mediaPresent == kUSBMSC_MEDIA_NOT_PRESENT))) || //If media was removed...
+ ((info->mediaPresent == kUSBMSC_MEDIA_PRESENT) &&
+ (info->mediaChanged))){ //Or if media still present, but has changed...
+ //Set Unit Attention flag. This flag is used in Scsi_Request_Sense().
+ MscState.bUnitAttention = TRUE;
+ MscState.Scsi_Status = SCSI_FAILED;
+ state = USBMSC_getState();
+
+ if (state == kUSBMSC_readInProgress || state ==
+ kUSBMSC_writeInProgress){
+ if (McsCbw.bmCBWFlags == DIRECTION_IN){
+ usbStallInEndpoint(MSC0_INTFNUM);
+ } else {
+ usbStallOutEndpoint(MSC0_INTFNUM);
+ }
+
+ Msc_ResetStateMachine();
+ Msc_ResetFlags();
+ Msc_ResetStruct();
+ MscState.isMSCConfigured = TRUE;
+
+ Scsi_Send_CSW(MSC0_INTFNUM);
+ }
+ }
+ MscControl[lun].bMediaPresent = info->mediaPresent;
+ }
+
+ MscControl[lun].bWriteProtected = info->writeProtected;
+ return (kUSB_succeed);
+}
+
+//-------------------------------------------------------------------------------------------
+BYTE USBMSC_registerBufInfo (BYTE lun, BYTE *RWbuf_x, BYTE *RWbuf_y, WORD size)
+{
+ MscControl[lun].wMscUserBufferSize = 0;
+ MscControl[lun].xBufferAddr = NULL;
+ MscControl[lun].yBufferAddr = NULL; //this version supports only X buffer.
+
+ //check if arguments are valid
+ if ((size < MscControl[lun].lbaSize) ||
+ (RWbuf_x == NULL)){ //Need at least one buffer
+ return (kUSB_generalError);
+ }
+
+ MscControl[lun].wMscUserBufferSize = size;
+ MscControl[lun].lbaBufCapacity = MscControl[lun].wMscUserBufferSize /
+ MscControl[lun].lbaSize;
+ MscControl[lun].xBufferAddr = RWbuf_x;
+ MscControl[lun].yBufferAddr = RWbuf_y;
+ return (kUSB_succeed);
+}
+
+//-------------------------------------------------------------------------------------------
+VOID SET_RequestsenseNotReady ()
+{
+ //Set REQUEST SENSE with "not ready"
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_NOT_READY;
+ RequestSenseResponse.ASC = ASC_NOT_READY;
+ RequestSenseResponse.ASCQ = ASCQ_NOT_READY;
+ //Send CSW with error status
+ MscState.Scsi_Status = SCSI_FAILED;
+}
+
+//-------------------------------------------------------------------------------------------
+VOID SET_RequestsenseMediaNotPresent ()
+{
+ //Set REQUEST SENSE with "not ready"
+ Reset_RequestSenseResponse();
+ RequestSenseResponse.VALID = 1;
+ RequestSenseResponse.SenseKey = S_NOT_READY;
+ RequestSenseResponse.ASC = ASC_MEDIUM_NOT_PRESENT;
+ RequestSenseResponse.ASCQ = ASCQ_MEDIUM_NOT_PRESENT;
+ //Send CSW with error status
+ MscState.Scsi_Status = SCSI_FAILED;
+}
+
+//-------------------------------------------------------------------------------------------
+VOID usbClearOEPByteCount (BYTE intfNum)
+{
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0;
+}
+
+//-------------------------------------------------------------------------------------------
+VOID usbStallEndpoint (BYTE intfNum)
+{
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ tOutputEndPointDescriptorBlock[edbIndex].bEPCNF |= EPCNF_STALL;
+ tInputEndPointDescriptorBlock[edbIndex].bEPCNF |= EPCNF_STALL;
+}
+
+//-------------------------------------------------------------------------------------------
+VOID usbStallInEndpoint (BYTE intfNum)
+{
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ tInputEndPointDescriptorBlock[edbIndex].bEPCNF |= EPCNF_STALL;
+}
+
+//-------------------------------------------------------------------------------------------
+VOID usbStallOutEndpoint (BYTE intfNum)
+{
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+ tOutputEndPointDescriptorBlock[edbIndex].bEPCNF |= EPCNF_STALL;
+ MscState.stallEndpoint = TRUE;
+}
+
+//-------------------------------------------------------------------------------------------
+USBMSC_RWbuf_Info* USBMSC_fetchInfoStruct (VOID)
+{
+ return (&sRwbuf);
+}
+
+#ifdef CDROM_SUPPORT
+//----------------------------------------------------------------------------
+
+VOID Scsi_Read_TocPmaAtip(BYTE intfNum)
+{
+ if(McsCbw.CBWCB[2] & 0x01) {
+
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Scsi_Read_TOC_PMA_ATIP_F1[McsCbw.bCBWLUN],
+ Scsi_Read_TOC_PMA_ATIP_F1_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ } else {
+
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Scsi_Read_TOC_PMA_ATIP_F2[McsCbw.bCBWLUN],
+ Scsi_Read_TOC_PMA_ATIP_F2_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+ }
+}
+
+VOID Scsi_Get_Configuration(BYTE intfNum) {
+
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_GET_CONFIGURATION_LEN)){
+ return;
+ }
+
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Scsi_Get_Configuration_Descriptor[McsCbw.bCBWLUN],
+ SCSI_GET_CONFIGURATION_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+VOID Scsi_Event_Status_Notification(BYTE intfNum) {
+
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_EVENT_STATUS_LEN)){
+ return;
+ }
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Scsi_Event_Status_Descriptor[McsCbw.bCBWLUN],
+ SCSI_EVENT_STATUS_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+VOID Scsi_Read_Disc_Information(BYTE intfNum) {
+
+
+ if (FAILURE == Check_CBW(intfNum,DIRECTION_IN,SCSI_READ_DISC_INFORMATION_LEN)){
+ return;
+ }
+ if (SUCCESS !=
+ MscSendData( (PBYTE)&Scsi_Disc_Information_Descriptor[McsCbw.bCBWLUN],
+ SCSI_READ_DISC_INFORMATION_LEN)){
+ MscState.Scsi_Status = SCSI_FAILED;
+ }
+}
+
+#endif
+
+#endif //_MSC_
+
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscScsi.h b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscScsi.h
new file mode 100644
index 0000000..9cdd072
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscScsi.h
@@ -0,0 +1,305 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: Msc_Scsi.h, File Version 1.02 |
+ | Description: This file contains all the structure,function declarations |
+ | used by stack |
+ | Author: Biju,MSP |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | MSP 2010/02/16 Created |
+ | Biju,MSP 2010/07/15 CV bug fix |
+ +----------------------------------------------------------------------------*/
+#ifndef _UMSC_SCSI_H_
+#define _UMSC_SCSI_H_
+
+#include
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*Macros for CBW, CSW signatures */
+#define CBW_SIGNATURE 0x43425355u
+#define CSW_SIGNATURE 0x53425355u
+
+/*CBW, CSW length in bytes */
+#define CBW_LENGTH 31
+#define CSW_LENGTH 13
+
+/*SCSI Commands - Mandatory only implemented */
+#define SCSI_TEST_UNIT_READY 0x00
+#define SCSI_REQUEST_SENSE 0x03
+#define SCSI_INQUIRY 0x12
+#define SCSI_MODE_SENSE_6 0x1A
+#define SCSI_MODE_SENSE_10 0x5A
+#define SCSI_READ_CAPACITY_10 0x25
+#define SCSI_READ_10 0x28
+#define SCSI_WRITE_10 0x2A
+#define SCSI_READ_FORMAT_CAPACITIES 0x23
+#define SCSI_MODE_SELECT_6 0x15
+#define SCSI_MODE_SELECT_10 0x55
+#define PREVENT_ALLW_MDM 0x1E
+#define START_STOP_UNIT 0x1B
+#define SCSI_REPORT_LUNS 0xA0
+#define SCSI_VERIFY 0x2F
+
+#define SCSI_READ_TOC_PMA_ATIP 0x43
+#define Scsi_Read_TOC_PMA_ATIP_F1_LEN 20
+#define Scsi_Read_TOC_PMA_ATIP_F2_LEN 48
+#define SCSI_GET_CONFIGURATION 0x46
+#define SCSI_GET_CONFIGURATION_LEN 4
+#define SCSI_EVENT_STATUS 0x4A
+#define SCSI_EVENT_STATUS_LEN 8
+#define SCSI_READ_DISC_INFORMATION 0x51
+#define SCSI_SET_CD_SPEED 0xBB
+#define SCSI_READ_DISC_INFORMATION_LEN 36
+
+/*SCSI Status codes. Used in CSW response */
+#define SCSI_PASSED 0
+#define SCSI_FAILED 1
+#define SCSI_PHASE_ERROR 2
+#define SCSI_READWRITE_FAIL 2
+
+#define kUSBMSC_RWSuccess 0
+#define kUSBMSC_RWNotReady 1
+#define kUSBMSC_RWIllegalReq 2
+#define kUSBMSC_RWUnitAttn 3
+#define kUSBMSC_RWLbaOutOfRange 4
+#define kUSBMSC_RWMedNotPresent 5
+#define kUSBMSC_RWDevWriteFault 6
+#define kUSBMSC_RWUnrecoveredRead 7
+#define kUSBMSC_RWWriteProtected 8
+
+
+/* Macros to indicate READ or WRITE operation */
+#define kUSBMSC_READ 1
+#define kUSBMSC_WRITE 2
+
+#define kUSBMSC_MEDIA_PRESENT 0x81
+#define kUSBMSC_MEDIA_NOT_PRESENT 0x82
+
+#define kUSBMSC_WRITE_PROTECTED 0x00
+
+/* Defines for MSC SCSI State-Machine */
+#define MSC_READY 0x00
+#define MSC_COMMAND_TRANSPORT 0x01
+#define MSC_DATA_IN 0x02
+#define MSC_DATA_OUT 0x03
+#define MSC_STATUS_TRANSPORT 0x04
+#define MSC_DATA 0x05
+#define MSC_WAIT4RESET 0x06
+
+/*Lengths of SCSI commands(in bytes) */
+#define SCSI_SCSI_INQUIRY_CMD_LEN 36
+#define SCSI_READ_CAPACITY_CMD_LEN 8
+#define SCSI_MODE_SENSE_6_CMD_LEN 4
+#define SCSI_MODE_SENSE_10_CMD_LEN 8
+#define SCSI_REQ_SENSE_CMD_LEN 18
+#define SCSI_READ_FORMAT_CAPACITY_CMD_LEN 12
+#define SCSI_REPORT_LUNS_CMD_LEN 16
+
+/*----------------------------------------------------------------------------+
+ | Type defines and structures |
+ +----------------------------------------------------------------------------*/
+/*CBW Structure */
+typedef struct {
+ DWORD dCBWSignature;
+ DWORD dCBWTag;
+ DWORD dCBWDataTransferLength;
+ BYTE bmCBWFlags;
+ BYTE bCBWLUN;
+ BYTE bCBWCBLength;
+ BYTE CBWCB[16];
+} CBW, *pCBW;
+
+/*CSW structure */
+typedef struct {
+ DWORD dCSWSignature;
+ DWORD dCSWTag;
+ DWORD dCSWDataResidue;
+ BYTE bCSWStatus;
+} CSW, *pCSW;
+
+/*Request Response union(Required for Request sense command) */
+typedef struct {
+ BYTE ResponseCode : 7;
+ BYTE VALID : 1;
+ BYTE Obsolete;
+ BYTE SenseKey : 4;
+ BYTE Resv : 1;
+ BYTE ILI : 1;
+ BYTE EOM : 1;
+ BYTE FILEMARK : 1;
+ BYTE Information[4];
+ BYTE AddSenseLen;
+ BYTE CmdSpecificInfo[4];
+ BYTE ASC;
+ BYTE ASCQ;
+ BYTE FRUC;
+ BYTE SenseKeySpecific[3];
+ BYTE padding[14]; /* padding to cover case where host requests 24 bytes of sense data */
+} REQUEST_SENSE_RESPONSE;
+
+/*Read capacity union(Required for READ CAPACITY command)*/
+typedef struct {
+ DWORD Last_LBA;
+ BYTE Resv;
+ BYTE Size_LBA[3];
+} SCSI_READ_CAPACITY;
+
+/*Structure internal to stack for holding LBA,buffer addr etc information*/
+typedef struct {
+ //BYTE intfNum;
+ BYTE lun;
+ BYTE operation;
+ DWORD lba;
+ BYTE lbCount;
+ BYTE *bufferAddr;
+ BYTE returnCode;
+ BYTE XorY;
+ BYTE xBufFull;
+ WORD xWordCnt;
+ BYTE yBufFull;
+ WORD yWordCnt;
+ BYTE bufferProcessed;
+ BYTE firstFlag;
+ DWORD xlba;
+ BYTE xlbaCount;
+ DWORD ylba;
+ BYTE ylbaCount;
+
+}USBMSC_RWbuf_Info;
+
+/*Media info structure */
+struct USBMSC_mediaInfoStr {
+ DWORD lastBlockLba;
+ DWORD bytesPerBlock;
+ BYTE mediaPresent;
+ BYTE mediaChanged;
+ BYTE writeProtected;
+};
+
+/*Lun entry Structures */
+struct _LUN_entry_struct {
+ BYTE number;
+ BYTE PDT;
+ BYTE removable;
+ char t10VID[8];
+ char t10PID[16];
+ char t10rev[4];
+};
+
+struct config_struct {
+ struct _LUN_entry_struct LUN[MSC_MAX_LUN_NUMBER];
+};
+
+struct _Report_Luns {
+ BYTE LunListLength[4];
+ BYTE Reserved[4];
+ BYTE LunList1[8];
+};
+
+struct _Scsi_Read_Capacity {
+ BYTE lLba[4]; //Last logical block address
+ BYTE bLength[4]; //Block length, in this case 0x200 = 512 bytes for each Logical Block
+};
+
+//structure for controlling WRITE phase (HOST to MSP430)
+struct _MscWriteControl {
+ DWORD dwBytesToReceiveLeft; //holds how many bytes is still requested by WRITE operation:
+ //Host to MSP430.
+ WORD wFreeBytesLeft; //free bytes left in UserBuffer
+ DWORD lba; //holds the current LBA number. This is the first LBA in the UserBuffer
+ BYTE *pUserBuffer; //holds the current position of user's receiving buffer.
+ //If NULL- no receiving operation started
+ WORD wCurrentByte; //how many bytes in current LBA are received
+ WORD lbaCount; //how many LBA we have received in current User Buffer
+ BYTE * pCT1; //holds current EPBCTxx register
+ BYTE * pCT2; //holds next EPBCTxx register
+ BYTE * pEP2; //holds addr of the next EP buffer
+ BYTE bCurrentBufferXY; //indicates which buffer is used by host to transmit data via OUT
+ BYTE bWriteProcessing; //indicated if the current state is DATA WRITE phase or CBW receiwing
+ BYTE XorY;
+};
+
+//structure for controlling READ phase (MSP430 to HOST)
+struct _MscReadControl {
+ DWORD dwBytesToSendLeft; //holds how many bytes is still requested by WRITE operation (Host to MSP430)
+ BYTE *pUserBuffer; //holds the current position of user's receiving buffer.
+ //If NULL- no receiving operation started
+ DWORD lba; //holds the current LBA number. This is the first LBA in the UserBuffer.
+ BYTE * pCT1; //holds current EPBCTxx register
+ BYTE * pCT2; //holds next EPBCTxx register
+ BYTE * pEP2; //holds addr of the next EP buffer
+ WORD lbaCount; //how many LBA we have to send to Host
+ BYTE bCurrentBufferXY; //indicates which buffer is used by host to transmit data via OUT
+ BYTE bReadProcessing; //indicated if the current state is DATA READ phase or CSW sending
+ //initiated by McsDataSend()
+ BYTE XorY;
+};
+
+//structure for common control of MSC stack
+struct _MscControl {
+ WORD wMscUserBufferSize;
+ WORD lbaSize; //limitid to WORD, but could be increased if required.
+ BYTE lbaBufCapacity; //how many LBAs (max) contains UserBuffer for read/write operation (>=1)
+ BYTE *xBufferAddr;
+ BYTE *yBufferAddr;
+ BYTE bMediaPresent;
+ BYTE bWriteProtected;
+};
+
+struct _MscState {
+ volatile DWORD Scsi_Residue;
+ volatile BYTE Scsi_Status; /*Variable to track command status */
+ BOOL bMcsCommandSupported; /*Flag to indicate read/write command is recieved from host */
+ BOOL bMscCbwReceived; /*Flag to inidicate whether any CBW recieved from host*/
+ BOOL bMscSendCsw;
+ BOOL isMSCConfigured;
+ BYTE bUnitAttention;
+ BYTE bMscCbwFailed;
+ BYTE bMscResetRequired;
+ BYTE stallEndpoint;
+};
+
+extern struct _MscWriteControl MscWriteControl;
+extern struct _MscReadControl MscReadControl;
+extern struct _MscControl MscControl[];
+
+/*----------------------------------------------------------------------------+
+ | Extern Variables |
+ +----------------------------------------------------------------------------*/
+
+extern CBW cbw;
+extern CSW csw;
+extern REQUEST_SENSE_RESPONSE RequestSenseResponse;
+
+/*----------------------------------------------------------------------------+
+ | Function Prototypes |
+ +----------------------------------------------------------------------------*/
+
+/*SCSI Wrapper functions */
+BYTE Scsi_Cmd_Parser (BYTE opcode);
+BYTE Scsi_Send_CSW (BYTE intfNum);
+
+/*Function to reset MSC SCSI state machine */
+VOID Msc_ResetStateMachine(VOID);
+VOID Msc_ResetFlags(VOID);
+VOID Msc_ResetStruct(VOID);
+VOID SET_RequestsenseNotReady(VOID);
+VOID SET_RequestsenseMediaNotPresent(VOID);
+VOID MscResetCtrlLun(VOID);
+
+USBMSC_RWbuf_Info* USBMSC_fetchInfoStruct(VOID);
+#ifdef __cplusplus
+}
+#endif
+#endif //_MSC_SCSI_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscStateMachine.c b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscStateMachine.c
new file mode 100644
index 0000000..adf4c03
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscStateMachine.c
@@ -0,0 +1,143 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: Msc_State_Machine.c, File Version 1.01 |
+ | Description: This file contains the core function that handles the MSC SCSI|
+ | state machine. |
+ | Author: Biju,MSP |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | MSP 2010/02/16 Created |
+ | Biju,MSP 2010/07/15 CV Bug fix |
+ | RSTO 2010/10/30 state machine rework |
+ +----------------------------------------------------------------------------*/
+/*File includes */
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h"
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_MSC_API/UsbMscScsi.h"
+#include "../USB_MSC_API/UsbMsc.h"
+#include "../USB_Common/usb.h"
+#include
+#include
+
+#ifdef _MSC_
+
+/*Macros to indicate data direction */
+#define DIRECTION_IN 0x80
+#define DIRECTION_OUT 0x00
+
+/*Buffer pointers passed by application */
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern struct _MscState MscState;
+
+BYTE Scsi_Verify_CBW ();
+
+/*----------------------------------------------------------------------------+
+ | Functions |
+ +----------------------------------------------------------------------------*/
+VOID Msc_ResetStateMachine (VOID)
+{
+ MscState.bMscSendCsw = FALSE;
+ MscState.Scsi_Residue = 0;
+ MscState.Scsi_Status = SCSI_PASSED; /*Variable to track command status */
+ MscState.bMcsCommandSupported = TRUE; /*Flag to indicate read/write command is recieved from host */
+ MscState.bMscCbwReceived = 0; /*Flag to inidicate whether any CBW recieved from host*/
+ MscState.bMscSendCsw = FALSE;
+ MscState.isMSCConfigured = FALSE;
+ MscState.bUnitAttention = FALSE;
+ MscState.bMscCbwFailed = FALSE;
+ MscState.bMscResetRequired = FALSE;
+ MscState.stallEndpoint = FALSE;
+}
+
+//----------------------------------------------------------------------------
+/*This is the core function called by application to handle the MSC SCSI state
+ * machine */
+BYTE USBMSC_poll ()
+{
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[MSC0_INTFNUM].edb_Index;
+
+ //check if currently transmitting data..
+ if (MscReadControl.bReadProcessing == TRUE){
+ BYTE bGIE;
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+ if ((MscReadControl.dwBytesToSendLeft == 0) &&
+ (MscReadControl.lbaCount == 0)){
+ //data is no more processing - clear flags..
+ MscReadControl.bReadProcessing = FALSE;
+ __bis_SR_register(bGIE); //restore interrupt status
+ } else {
+ if (!(tInputEndPointDescriptorBlock[edbIndex].bEPCNF &
+ EPCNF_STALL)){ //if it is not stalled - contiune communication
+ USBIEPIFG |= 1 << (edbIndex + 1); //trigger IN interrupt to finish data tranmition
+ }
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBMSC_processBuffer);
+ }
+ }
+
+ if (MscState.isMSCConfigured == FALSE){
+ return (kUSBMSC_okToSleep);
+ }
+
+ if (!MscState.bMscSendCsw){
+ if (MscState.bMscCbwReceived){
+ if (Scsi_Verify_CBW() == SUCCESS){
+ //Successful reception of CBW
+ //Parse the CBW opcode and invoke the right command handler function
+ Scsi_Cmd_Parser(MSC0_INTFNUM);
+ MscState.bMscSendCsw = TRUE;
+ }
+ MscState.bMscCbwReceived = FALSE; //CBW is performed!
+ } else {
+ return (kUSBMSC_okToSleep);
+ }
+ //check if any of out pipes has pending data and trigger interrupt
+
+ if ((MscWriteControl.pCT1 != NULL) &&
+ ((*MscWriteControl.pCT1 & EPBCNT_NAK ) ||
+ (*MscWriteControl.pCT2 & EPBCNT_NAK ))){
+ USBOEPIFG |= 1 << (edbIndex + 1); //trigger OUT interrupt again
+ return (kUSBMSC_okToSleep); //do not asleep, as data is coming in
+ //and follow up data perform will be required.
+ }
+ }
+
+ if (MscState.bMscSendCsw){
+ if (MscState.bMcsCommandSupported == TRUE){
+ //watiting till transport is finished!
+ if ((MscWriteControl.bWriteProcessing == FALSE) &&
+ (MscReadControl.bReadProcessing == FALSE) &&
+ (MscReadControl.lbaCount == 0)){
+ //Send CSW
+ if (SUCCESS == Scsi_Send_CSW(MSC0_INTFNUM)){
+ MscState.bMscSendCsw = FALSE;
+ return (kUSBMSC_okToSleep);
+ }
+ }
+ else {
+ MSCFromHostToBuffer();
+ }
+ }
+ }
+
+ return (kUSBMSC_processBuffer); //When MscState.bMcsCommandSupported = FALSE, bReadProcessing became true, and
+ //bWriteProcessing = true.
+}
+
+#endif //_MSC_
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscStateMachine.h b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscStateMachine.h
new file mode 100644
index 0000000..fbf5803
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_MSC_API/UsbMscStateMachine.h
@@ -0,0 +1,31 @@
+//(c)2010 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (MSC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbMsc.h, File Version 1.01 |
+ | Description: This file contains API declarations for function to use by |
+ | User Application. |
+ | Author: Biju,MSP |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2010/10/29 Created |
+ +----------------------------------------------------------------------------*/
+#ifndef _USB_MSCSTATE_H_
+#define _USB_MSCSTATE_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+//this file is obsolete. To delete in next version.
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_USB_MSCSTATE_H_
diff --git a/Bios/src/fw/fet/USB_API/USB_PHDC_API/UsbPHDC.c b/Bios/src/fw/fet/USB_API/USB_PHDC_API/UsbPHDC.c
new file mode 100644
index 0000000..9e706ad
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_PHDC_API/UsbPHDC.c
@@ -0,0 +1,857 @@
+//(c)2009 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (PHDC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbPHDC.c, File Version 1.01 2009/12/03 |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2008/09/03 born |
+ | RSTO 2008/09/19 Changed USBPHDC_sendData to send more then 64bytes|
+ | RSTO 2008/12/23 enhancements of PHDC API |
+ | RSTO 2008/05/19 updated USBPHDC_intfStatus() |
+ | RSTO 2009/05/26 added USBPHDC_bytesInUSBBuffer() |
+ | RSTO 2009/05/28 changed USBPHDC_sendData() |
+ | RSTO 2009/07/17 updated USBPHDC_bytesInUSBBuffer() |
+ | RSTO 2009/10/21 move __disable_interrupt() before |
+ | checking for suspend |
+ +----------------------------------------------------------------------------*/
+#include
+
+#ifdef _PHDC_
+
+
+#include "../USB_Common/device.h"
+#include "../USB_Common/types.h" //Basic Type declarations
+#include "../USB_Common/defMSP430USB.h"
+#include "../USB_Common/usb.h" //USB-specific Data Structures
+#include "..\USB_PHDC_API\UsbPHDC.h"
+#include
+
+//Local Macros
+#define INTFNUM_OFFSET(X) (X - PHDC0_INTFNUM) //Get the PHDC offset
+
+static struct _PHDCWrite {
+ WORD nPHDCBytesToSend; //holds counter of bytes to be sent
+ WORD nPHDCBytesToSendLeft; //holds counter how many bytes is still to be sent
+ const BYTE* pUsbBufferToSend; //holds the buffer with data to be sent
+ BYTE bCurrentBufferXY; //is 0 if current buffer to write data is X, or 1 if current buffer is Y
+ BYTE bZeroPacketSent; //= FALSE;
+ BYTE last_ByteSend;
+} PHDCWriteCtrl[PHDC_NUM_INTERFACES];
+
+static struct _PHDCRead {
+ BYTE *pUserBuffer; //holds the current position of user's receiving buffer. If NULL- no receiving
+ //operation started
+ BYTE *pCurrentEpPos; //current positon to read of received data from curent EP
+ WORD nBytesToReceive; //holds how many bytes was requested by receiveData() to receive
+ WORD nBytesToReceiveLeft; //holds how many bytes is still requested by receiveData() to receive
+ BYTE * pCT1; //holds current EPBCTxx register
+ BYTE * pCT2; //holds next EPBCTxx register
+ BYTE * pEP2; //holds addr of the next EP buffer
+ BYTE nBytesInEp; //how many received bytes still available in current EP
+ BYTE bCurrentBufferXY; //indicates which buffer is used by host to transmit data via OUT endpoint3
+} PHDCReadCtrl[PHDC_NUM_INTERFACES];
+
+extern WORD wUsbEventMask;
+
+//function pointers
+extern VOID *(*USB_TX_memcpy)(VOID * dest, const VOID * source, size_t count);
+extern VOID *(*USB_RX_memcpy)(VOID * dest, const VOID * source, size_t count);
+
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+extern const struct abromConfigurationDescriptorGroupPHDC abromConfigurationDescriptorGroupPHDC;
+#endif
+/*----------------------------------------------------------------------------+
+ | Global Variables |
+ +----------------------------------------------------------------------------*/
+
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern __no_init tEDB __data16 tOutputEndPointDescriptorBlock[];
+
+
+VOID PHDCResetData ()
+{
+ //indicates which buffer is used by host to transmit data via OUT endpoint3 - X buffer is first
+ //PHDCReadCtrl[intfIndex].bCurrentBufferXY = X_BUFFER;
+
+ memset(&PHDCWriteCtrl, 0, sizeof(PHDCWriteCtrl));
+ memset(&PHDCReadCtrl, 0, sizeof(PHDCReadCtrl));
+}
+
+/*
+ * Sends data over interface intfNum, of size size and starting at address data.
+ * Returns: kUSBPHDC_sendStarted
+ * kUSBPHDC_sendComplete
+ * kUSBPHDC_intfBusyError
+ */
+BYTE USBPHDC_sendData (const BYTE* data, WORD size, BYTE intfNum)
+{
+ BYTE edbIndex;
+ unsigned short bGIE;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (size == 0){
+ return (kUSBPHDC_generalError);
+ }
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //data can not be read because of USB suspended
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_busNotAvailable);
+ }
+
+ if (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft != 0){
+ //the USB still sends previous data, we have to wait
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_intfBusyError);
+ }
+
+ //This function generate the USB interrupt. The data will be sent out from interrupt
+
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSend = size;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft = size;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].pUsbBufferToSend = data;
+
+ //trigger Endpoint Interrupt - to start send operation
+ USBIEPIFG |= 1 << (edbIndex + 1); //IEPIFGx;
+
+ __bis_SR_register(bGIE); //restore interrupt status
+
+ return (kUSBPHDC_sendStarted);
+}
+
+//workaround for PHDC windows driver: it doesn't give data to Application if was sent 64 byte
+#define EP_MAX_PACKET_SIZE_PHDC 0x40
+
+//this function is used only by USB interrupt
+BOOL PHDCToHostFromBuffer (BYTE intfNum)
+{
+ BYTE byte_count, nTmp2;
+ BYTE * pEP1;
+ BYTE * pEP2;
+ BYTE * pCT1;
+ BYTE * pCT2;
+ BYTE bWakeUp = FALSE; //TRUE for wake up after interrupt
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft == 0){ //do we have somtething to send?
+ if (!PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bZeroPacketSent){ //zero packet was not yet sent
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bZeroPacketSent = TRUE;
+
+ if (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].last_ByteSend ==
+ EP_MAX_PACKET_SIZE_PHDC){
+ if (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY ==
+ X_BUFFER){
+ if (tInputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK){
+ tInputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY
+ = Y_BUFFER; //switch buffer
+ }
+ } else {
+ if (tInputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK){
+ tInputEndPointDescriptorBlock[edbIndex].bEPBCTY = 0;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY
+ = X_BUFFER; //switch buffer
+ }
+ }
+ }
+
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSend = 0; //nothing to send
+
+ //call event callback function
+ if (wUsbEventMask & kUSB_sendCompletedEvent){
+ bWakeUp = USBPHDC_handleSendCompleted(intfNum);
+ }
+ } //if (!bSentZeroPacket)
+
+ return (bWakeUp);
+ }
+
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bZeroPacketSent = FALSE; //zero packet will be not sent: we have data
+
+ if (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].iep_Y_Buffer;
+ pCT1 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ pEP2 = (BYTE*)stUsbHandle[intfNum].iep_X_Buffer;
+ pCT2 = &tInputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can send over one endpoint buffer
+ byte_count =
+ (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft >
+ EP_MAX_PACKET_SIZE_PHDC) ? EP_MAX_PACKET_SIZE_PHDC : PHDCWriteCtrl[
+ INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft;
+ nTmp2 = *pCT1;
+
+ if (nTmp2 & EPBCNT_NAK){
+ USB_TX_memcpy(pEP1, PHDCWriteCtrl[INTFNUM_OFFSET(
+ intfNum)].pUsbBufferToSend,
+ byte_count); //copy data into IEP3 X or Y buffer
+ *pCT1 = byte_count; //Set counter for usb In-Transaction
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01; //switch buffer
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft -=
+ byte_count;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].pUsbBufferToSend += byte_count; //move buffer pointer
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].last_ByteSend = byte_count;
+
+ //try to send data over second buffer
+ nTmp2 = *pCT2;
+ if ((PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft >
+ 0) && //do we have more data to send?
+ (nTmp2 & EPBCNT_NAK)){ //if the second buffer is free?
+ //how many byte we can send over one endpoint buffer
+ byte_count =
+ (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft >
+ EP_MAX_PACKET_SIZE_PHDC) ? EP_MAX_PACKET_SIZE_PHDC :
+ PHDCWriteCtrl[
+ INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft;
+
+ USB_TX_memcpy(pEP2, PHDCWriteCtrl[INTFNUM_OFFSET(
+ intfNum)].pUsbBufferToSend,
+ byte_count); //copy data into IEP3 X or Y buffer
+ *pCT2 = byte_count; //Set counter for usb In-Transaction
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01; //switch buffer
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft -=
+ byte_count;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].pUsbBufferToSend +=
+ byte_count; //move buffer pointer
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].last_ByteSend = byte_count;
+ }
+ }
+ return (bWakeUp);
+}
+
+/*
+ * Aborts an active send operation on interface intfNum.
+ * Returns the number of bytes that were sent prior to the abort, in size.
+ */
+BYTE USBPHDC_abortSend (WORD* size, BYTE intfNum)
+{
+ unsigned short bGIE;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ _DINT_FET(); //disable interrupts - atomic operation
+
+ *size =
+ (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSend -
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft);
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSend = 0;
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft = 0;
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+//This function copies data from OUT endpoint into user's buffer
+//Arguments:
+//pEP - pointer to EP to copy from
+//pCT - pointer to pCT control reg
+//
+VOID PHDCCopyUsbToBuff (BYTE* pEP, BYTE* pCT, BYTE intfNum)
+{
+ BYTE nCount;
+
+ //how many byte we can get from one endpoint buffer
+ nCount =
+ (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft >
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp) ? PHDCReadCtrl[
+ INTFNUM_OFFSET(intfNum)].nBytesInEp : PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].
+ nBytesToReceiveLeft;
+
+ USB_RX_memcpy(PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pUserBuffer, pEP, nCount); //copy data from OEP3 X or Y buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft -= nCount;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer += nCount; //move buffer pointer
+ //to read rest of data next time from this place
+
+ if (nCount == PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp){ //all bytes are copied from receive buffer?
+ //switch current buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY + 1) & 0x01;
+
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+
+ //clear NAK, EP ready to receive data
+ *pCT = 0x00;
+ } else {
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp -= nCount;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos = pEP + nCount;
+ }
+}
+
+/*
+ * Receives data over interface intfNum, of size size, into memory starting at address data.
+ * Returns:
+ * kUSBPHDC_receiveStarted if the receiving process started.
+ * kUSBPHDC_receiveCompleted all requested date are received.
+ * kUSBPHDC_receiveInProgress previous receive opereation is in progress. The requested receive operation can be not started.
+ * kUSBPHDC_generalError error occurred.
+ */
+BYTE USBPHDC_receiveData (BYTE* data, WORD size, BYTE intfNum)
+{
+ BYTE nTmp1;
+ BYTE edbIndex;
+ unsigned short bGIE;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if ((size == 0) || //read size is 0
+ (data == NULL)){
+ return (kUSBPHDC_generalError);
+ }
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //data can not be read because of USB suspended
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_busNotAvailable);
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL){ //receive process already started
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_intfBusyError);
+ }
+
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive = size; //bytes to receive
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft = size; //left bytes to receive
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = data; //set user receive buffer
+
+ //read rest of data from buffer, if any4
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > 0){
+ //copy data from pEP-endpoint into User's buffer
+ PHDCCopyUsbToBuff(PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1, intfNum);
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBPHDC_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_receiveCompleted); //receive completed
+ }
+
+ //check other EP buffer for data - exchange pCT1 with pCT2
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 ==
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX){
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ } else {
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ }
+
+ nTmp1 = *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ //try read data from second buffer
+ if (nTmp1 & EPBCNT_NAK){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+ PHDCCopyUsbToBuff(PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1, intfNum);
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBPHDC_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_receiveCompleted); //receive completed
+ }
+ } //read rest of data from buffer, if any
+
+ //read 'fresh' data, if available
+ nTmp1 = 0;
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //this is current buffer
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ //this is the active EP buffer
+ //pEP1
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ nTmp1 = 1; //indicate that data is available
+ }
+ } else { //Y_BUFFER
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){
+ //this is the active EP buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCurrentEpPos =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ nTmp1 = 1; //indicate that data is available
+ }
+ }
+ if (nTmp1){
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ while (nTmp1 == 0)
+ {
+ nTmp1 = *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+ }
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+
+ PHDCCopyUsbToBuff(PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCurrentEpPos,
+ PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT1, intfNum);
+
+ nTmp1 = *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ //try read data from second buffer
+ if ((PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft >
+ 0) && //do we have more data to send?
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+ PHDCCopyUsbToBuff(PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pEP2,
+ PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)
+ ].pCT2, intfNum);
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ }
+ }
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ USBPHDC_handleReceiveCompleted(intfNum); //call event handler in interrupt context
+ }
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_receiveCompleted);
+ }
+
+ //interrupts enable
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_receiveStarted);
+}
+
+//this function is used only by USB interrupt.
+//It fills user receiving buffer with received data
+BOOL PHDCToBufferFromHost (BYTE intfNum)
+{
+ BYTE * pEP1;
+ BYTE nTmp1;
+ BYTE bWakeUp = FALSE; //per default we do not wake up after interrupt
+
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //do we have somtething to receive?
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ return (bWakeUp);
+ }
+
+ //No data to receive...
+ if (!((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX |
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY)
+ & 0x80)){
+ return (bWakeUp);
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY == X_BUFFER){ //X is current buffer
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+
+ //second EP buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+ } else {
+ //this is the active EP buffer
+ pEP1 = (BYTE*)stUsbHandle[intfNum].oep_Y_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY;
+
+ //second EP buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pEP2 =
+ (BYTE*)stUsbHandle[intfNum].oep_X_Buffer;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 =
+ &tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX;
+ }
+
+ //how many byte we can get from one endpoint buffer
+ nTmp1 = *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1;
+
+ if (nTmp1 & EPBCNT_NAK){
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+
+ PHDCCopyUsbToBuff(pEP1, PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pCT1, intfNum);
+
+ nTmp1 = *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ //try read data from second buffer
+ if ((PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft > 0) && //do we have more data to send?
+ (nTmp1 & EPBCNT_NAK)){ //if the second buffer has received data?
+ nTmp1 = nTmp1 & 0x7f; //clear NAK bit
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = nTmp1; //holds how many valid bytes in the EP buffer
+ PHDCCopyUsbToBuff(PHDCReadCtrl[INTFNUM_OFFSET(
+ intfNum)].pEP2,
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2, intfNum);
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT1 =
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2;
+ }
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft == 0){ //the Receive opereation is completed
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL; //no more receiving pending
+ if (wUsbEventMask & kUSB_receiveCompletedEvent){
+ bWakeUp = USBPHDC_handleReceiveCompleted(intfNum);
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp){ //Is not read data still available in the EP?
+ if (wUsbEventMask & kUSB_dataReceivedEvent){
+ bWakeUp = USBPHDC_handleDataReceived(intfNum);
+ }
+ }
+ }
+ return (bWakeUp);
+}
+
+//helper for USB interrupt handler
+BOOL PHDCIsReceiveInProgress (BYTE intfNum)
+{
+ return (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL);
+}
+
+/*
+ * Aborts an active receive operation on interface intfNum.
+ * Returns the number of bytes that were received and transferred
+ * to the data location established for this receive operation.
+ */
+BYTE USBPHDC_abortReceive (WORD* size, BYTE intfNum)
+{
+ //interrupts disable
+ unsigned short bGIE;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ *size = 0; //set received bytes count to 0
+
+ //is receive operation underway?
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer){
+ //how many bytes are already received?
+ *size = PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive -
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft;
+
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer = NULL;
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft = 0;
+ }
+
+ //restore interrupt status
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+/*
+ * This function rejects payload data that has been received from the host.
+ */
+BYTE USBPHDC_rejectData (BYTE intfNum)
+{
+ BYTE edbIndex;
+ unsigned short bGIE;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ //do not access USB memory if suspended (PLL off). It may produce BUS_ERROR
+ if (bFunctionSuspended){
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSBPHDC_busNotAvailable);
+ }
+
+ //Is receive operation underway?
+ //- do not flush buffers if any operation still active.
+ if (!PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer){
+ BYTE tmp1 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK;
+ BYTE tmp2 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK;
+
+ if (tmp1 ^ tmp2){ //switch current buffer if any and only ONE of buffers is full
+ //switch current buffer
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY =
+ (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].bCurrentBufferXY +
+ 1) & 0x01;
+ }
+
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX = 0; //flush buffer X
+ tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY = 0; //flush buffer Y
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp = 0; //indicates that no more data available in the EP
+ }
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (kUSB_succeed);
+}
+
+/*
+ * This function indicates the status of the itnerface intfNum.
+ * If a send operation is active for this interface,
+ * the function also returns the number of bytes that have been transmitted to the host.
+ * If a receiver operation is active for this interface, the function also returns
+ * the number of bytes that have been received from the host and are waiting at the assigned address.
+ *
+ * returns kUSBPHDC_waitingForSend (indicates that a call to USBPHDC_SendData()
+ * has been made, for which data transfer has not been completed)
+ *
+ * returns kUSBPHDC_waitingForReceive (indicates that a receive operation
+ * has been initiated, but not all data has yet been received)
+ *
+ * returns kUSBPHDC_dataWaiting (indicates that data has been received
+ * from the host, waiting in the USB receive buffers)
+ */
+BYTE USBPHDC_intfStatus (BYTE intfNum, WORD* bytesSent, WORD* bytesReceived)
+{
+ BYTE ret = 0;
+ unsigned short bGIE;
+
+ *bytesSent = 0;
+ *bytesReceived = 0;
+
+ BYTE edbIndex;
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ _DINT_FET(); //disable interrupts - atomic operation
+
+ //Is send operation underway?
+ if (PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSendLeft != 0){
+ ret |= kUSBPHDC_waitingForSend;
+ *bytesSent = PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].nPHDCBytesToSend -
+ PHDCWriteCtrl[INTFNUM_OFFSET(intfNum)].
+ nPHDCBytesToSendLeft;
+ }
+
+ //Is receive operation underway?
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pUserBuffer != NULL){
+ ret |= kUSBPHDC_waitingForReceive;
+ *bytesReceived =
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceive -
+ PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesToReceiveLeft;
+ } else { //receive operation not started
+ //do not access USB memory if suspended (PLL off). It may produce
+ //BUS_ERROR
+ if (!bFunctionSuspended){
+ if ((tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX &
+ EPBCNT_NAK) | //any of buffers has a valid data packet
+ (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY &
+ EPBCNT_NAK)){
+ ret |= kUSBPHDC_dataWaiting;
+ }
+ }
+ }
+
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ //if suspended or not enumerated - report no other tasks pending
+ ret = kUSBPHDC_busNotAvailable;
+ }
+
+ //restore interrupt status
+ __bis_SR_register(bGIE); //restore interrupt status
+
+ __no_operation();
+ return (ret);
+}
+
+/*
+ * Returns how many bytes are in the buffer are received and ready to be read.
+ */
+BYTE USBPHDC_bytesInUSBBuffer (BYTE intfNum)
+{
+ BYTE bTmp1 = 0;
+ unsigned short bGIE;
+ BYTE edbIndex;
+
+ edbIndex = stUsbHandle[intfNum].edb_Index;
+
+ bGIE = (__get_SR_register() & GIE); //save interrupt status
+ //atomic operation - disable interrupts
+ _DINT_FET(); //Disable global interrupts
+
+ if ((bFunctionSuspended) ||
+ (bEnumerationStatus != ENUMERATION_COMPLETE)){
+ __bis_SR_register(bGIE); //restore interrupt status
+ //if suspended or not enumerated - report 0 bytes available
+ return (0);
+ }
+
+ if (PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp > 0){ //If a RX operation is underway, part of data may was read of the
+ //OEP buffer
+ bTmp1 = PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].nBytesInEp;
+ if (*PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & EPBCNT_NAK){ //the next buffer has a valid data packet
+ bTmp1 += *PHDCReadCtrl[INTFNUM_OFFSET(intfNum)].pCT2 & 0x7F;
+ }
+ } else {
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & EPBCNT_NAK){ //this buffer has a valid data packet
+ bTmp1 = tOutputEndPointDescriptorBlock[edbIndex].bEPBCTX & 0x7F;
+ }
+ if (tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & EPBCNT_NAK){ //this buffer has a valid data packet
+ bTmp1 += tOutputEndPointDescriptorBlock[edbIndex].bEPBCTY & 0x7F;
+ }
+ }
+
+ __bis_SR_register(bGIE); //restore interrupt status
+ return (bTmp1);
+}
+
+//----------------------------------------------------------------------------
+//Line Coding Structure
+//dwDTERate | 4 | Data terminal rate, in bits per second
+//bCharFormat | 1 | Stop bits, 0 = 1 Stop bit, 1 = 1,5 Stop bits, 2 = 2 Stop bits
+//bParityType | 1 | Parity, 0 = None, 1 = Odd, 2 = Even, 3= Mark, 4 = Space
+//bDataBits | 1 | Data bits (5,6,7,8,16)
+//----------------------------------------------------------------------------
+BYTE USBPHDC_GetDataStatusReq (VOID)
+{
+ BYTE i;
+
+ //Initialize response
+ abUsbRequestReturnData[0] = 0;
+ abUsbRequestReturnData[1] = 0;
+
+ for (i = 0; i < PHDC_NUM_INTERFACES; i++)
+ {
+#ifdef NON_COMPOSITE_MULTIPLE_INTERFACES
+ if (abromConfigurationDescriptorGroupPHDC.stPhdc[i].bInterfaceNumber ==
+ tSetupPacket.wIndex){
+#else
+ if (abromConfigurationDescriptorGroup.stPhdc[i].bInterfaceNumber ==
+ tSetupPacket.wIndex){
+#endif
+ if (PHDCWriteCtrl[i].nPHDCBytesToSendLeft){
+ abUsbRequestReturnData[0] |= 1 <<
+ (stUsbHandle[PHDC0_INTFNUM +
+ i].ep_Out_Addr);
+ }
+
+ if (PHDCReadCtrl[i].nBytesInEp){
+ abUsbRequestReturnData[0] |= 1 <<
+ (stUsbHandle[PHDC0_INTFNUM +
+ i].ep_In_Addr & 0x7F);
+ }
+ break;
+ }
+ }
+
+ /*
+ * edbIndex = stUsbHandle[intfNum].edb_Index;
+ * tInputEndPointDescriptorBlock[edbIndex].bEPCNF = 0;
+ *
+ * abromConfigurationDescriptorGroup.stPhdc[0].bEndpointAddress_intp
+ #ifdef PHDC_USE_INT_ENDPOINT
+ * // ENDPOINT #1 INPUT DESCRIPTOR, (7 bytes)
+ * SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ * DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ * PHDC0_INTEP_ADDR, // bEndpointAddress:
+ *
+ * for (i=0; i < PHDC_NUM_INTERFACES; i++)
+ * {
+ * for (j=0; j< abromConfigurationDescriptorGroup.stPhdc[i].bNumEndpoints; j++)
+ * {
+ *
+ * }
+ * }
+ * bNumEndpoints
+ * abromConfigurationDescriptorGroup.stPhdc[PHDC_NUM_INTERFACES]
+ * if(tSetupPacket.wIndex & EP_DESC_ADDR_DIR_IN)
+ * {
+ * // input endpoint
+ * abUsbRequestReturnData[0] = (BYTE)(tInputEndPointDescriptorBlock[bEndpointNumber].bEPCNF & EPCNF_STALL);
+ * }else
+ * {
+ * // output endpoint
+ * abUsbRequestReturnData[0] = (BYTE)(tOutputEndPointDescriptorBlock[bEndpointNumber].bEPCNF & EPCNF_STALL);
+ * }
+ * } // no response if endpoint is not supported.
+ * abUsbRequestReturnData[0] = abUsbRequestReturnData[0] >> 3; // STALL is on bit 3
+ */
+ wBytesRemainingOnIEP0 = 0x02;
+ usbSendDataPacketOnEP0((PBYTE)&abUsbRequestReturnData[0]);
+ return (FALSE);
+}
+
+#endif //ifdef _PHDC_
+
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_API/USB_PHDC_API/UsbPHDC.h b/Bios/src/fw/fet/USB_API/USB_PHDC_API/UsbPHDC.h
new file mode 100644
index 0000000..2cb5abc
--- /dev/null
+++ b/Bios/src/fw/fet/USB_API/USB_PHDC_API/UsbPHDC.h
@@ -0,0 +1,137 @@
+//(c)2009 by Texas Instruments Incorporated, All Rights Reserved.
+/*----------------------------------------------------------------------------+
+ | |
+ | Texas Instruments |
+ | |
+ | MSP430 USB-Example (PHDC Driver) |
+ | |
+ +-----------------------------------------------------------------------------+
+ | Source: UsbPHDC.h, File Version 1.00 2009/12/03 |
+ | Author: RSTO |
+ | |
+ | WHO WHEN WHAT |
+ | --- ---------- ------------------------------------------------ |
+ | RSTO 2008/09/03 born |
+ | |
+ +----------------------------------------------------------------------------*/
+#ifndef _UsbPHDC_H_
+#define _UsbPHDC_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+#define kUSBPHDC_sendStarted 0x01
+#define kUSBPHDC_sendComplete 0x02
+#define kUSBPHDC_intfBusyError 0x03
+#define kUSBPHDC_receiveStarted 0x04
+#define kUSBPHDC_receiveCompleted 0x05
+#define kUSBPHDC_receiveInProgress 0x06
+#define kUSBPHDC_generalError 0x07
+#define kUSBPHDC_busNotAvailable 0x08
+
+
+
+/*----------------------------------------------------------------------------
+ * These functions can be used in application
+ +----------------------------------------------------------------------------*/
+
+/*
+ * Sends data over interface intfNum, of size size and starting at address data.
+ * Returns: kUSBPHDC_sendStarted
+ * kUSBPHDC_sendComplete
+ * kUSBPHDC_intfBusyError
+ */
+BYTE USBPHDC_sendData (const BYTE* data, WORD size, BYTE intfNum);
+
+/*
+ * Receives data over interface intfNum, of size size, into memory starting at address data.
+ */
+BYTE USBPHDC_receiveData (BYTE* data, WORD size, BYTE intfNum);
+
+/*
+ * Aborts an active receive operation on interface intfNum.
+ * size: the number of bytes that were received and transferred
+ * to the data location established for this receive operation.
+ */
+BYTE USBPHDC_abortReceive (WORD* size, BYTE intfNum);
+
+
+#define kUSBPHDC_noDataWaiting 1 //returned by USBPHDC_rejectData() if no data pending
+
+/*
+ * This function rejects payload data that has been received from the host.
+ */
+BYTE USBPHDC_rejectData (BYTE intfNum);
+
+/*
+ * Aborts an active send operation on interface intfNum. Returns the number of bytes that were sent prior to the abort, in size.
+ */
+BYTE USBPHDC_abortSend (WORD* size, BYTE intfNum);
+
+
+#define kUSBPHDC_waitingForSend 0x01
+#define kUSBPHDC_waitingForReceive 0x02
+#define kUSBPHDC_dataWaiting 0x04
+#define kUSBPHDC_busNotAvailable 0x08
+#define kUSB_allPHDCEvents 0xFF
+
+/*
+ * This function indicates the status of the interface intfNum.
+ * If a send operation is active for this interface,
+ * the function also returns the number of bytes that have been transmitted to the host.
+ * If a receiver operation is active for this interface, the function also returns
+ * the number of bytes that have been received from the host and are waiting at the assigned address.
+ *
+ * returns kUSBPHDC_waitingForSend (indicates that a call to USBPHDC_SendData()
+ * has been made, for which data transfer has not been completed)
+ *
+ * returns kUSBPHDC_waitingForReceive (indicates that a receive operation
+ * has been initiated, but not all data has yet been received)
+ *
+ * returns kUSBPHDC_dataWaiting (indicates that data has been received
+ * from the host, waiting in the USB receive buffers)
+ */
+BYTE USBPHDC_intfStatus (BYTE intfNum, WORD* bytesSent, WORD* bytesReceived);
+
+/*
+ * This function is called when the device receives a Get_Status request
+ */
+BYTE USBPHDC_GetDataStatusReq(VOID);
+
+
+/*
+ * Returns how many bytes are in the buffer are received and ready to be read.
+ */
+BYTE USBPHDC_bytesInUSBBuffer (BYTE intfNum);
+
+
+/*----------------------------------------------------------------------------
+ * Event-Handling routines
+ +----------------------------------------------------------------------------*/
+
+/*
+ * This event indicates that data has been received for interface intfNum, but no data receive operation is underway.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBPHDC_handleDataReceived (BYTE intfNum);
+
+/*
+ * This event indicates that a send operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBPHDC_handleSendCompleted (BYTE intfNum);
+
+/*
+ * This event indicates that a receive operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBPHDC_handleReceiveCompleted (BYTE intfNum);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_UsbPHDC_H_
diff --git a/Bios/src/fw/fet/USB_config/1CDC_descTool.inf b/Bios/src/fw/fet/USB_config/1CDC_descTool.inf
new file mode 100644
index 0000000..f02377d
--- /dev/null
+++ b/Bios/src/fw/fet/USB_config/1CDC_descTool.inf
@@ -0,0 +1,92 @@
+; Copyright (c) 2010 Texas Instruments
+; MSP430 Virtual COM Port Installation file for Win2000/XP/Vista/7
+;
+; Port drivers setup
+;
+; Supported operating systems:
+; Windows 32-bit and 64-bit
+[Version]
+
+Signature="$Windows NT$"
+CatalogFile=MSP430_CDC.cat
+Class=Ports
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%TI%
+DriverVer=09/06/2010, 1.02
+
+[Manufacturer]
+%TI%=DeviceList, NTamd64
+
+[DestinationDirs]
+FakeModemCopyFileSection=12
+DefaultDestDir=12
+
+[SourceDisksNames]
+
+[SourceDisksFiles]
+
+;You can modify next string and place your VID and PID
+[DeviceList]
+%DESCRIPTION0%=TIUSB, USB\Vid_2047&Pid_0300
+
+[DeviceList.NTamd64]
+%DESCRIPTION0%=TIUSB.NTamd64, USB\Vid_2047&Pid_0300
+
+ ;------------------------------------------------------------------------------
+; Windows 32-bit Sections
+;------------------------------------------------------------------------------
+
+[TIUSB.nt]
+include=mdmcpq.inf
+CopyFiles=FakeModemCopyFileSection
+AddReg=TIUSB.nt.AddReg
+
+[TIUSB.nt.AddReg]
+HKR,,NTMPDriver,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+HKR,,PortSubClass,1,01
+
+[TIUSB.nt.Services]
+AddService=usbser, 0x00000002, DriverService
+
+[TIUSB.nt.HW]
+include=mdmcpq.inf
+
+[DriverService]
+DisplayName=%DESCRIPTION%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\usbser.sys
+LoadOrderGroup=Base
+
+;------------------------------------------------------------------------------
+; Windows 64-bit Sections
+;------------------------------------------------------------------------------
+
+[TIUSB.NTamd64]
+include=mdmcpq.inf
+CopyFiles=FakeModemCopyFileSection
+AddReg=TIUSB.NTamd64.AddReg
+
+[TIUSB.NTamd64.AddReg]
+HKR,,NTMPDriver,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+HKR,,PortSubClass,1,01
+
+[TIUSB.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService
+
+[TIUSB.NTamd64.HW]
+include=mdmcpq.inf
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+
+[Strings]
+TI="Texas Instruments"
+DESCRIPTION="MSP430-USB Example"
+DESCRIPTION0="Virtual COM Port (CDC)"
diff --git a/Bios/src/fw/fet/USB_config/MSP430_CDC.inf b/Bios/src/fw/fet/USB_config/MSP430_CDC.inf
new file mode 100644
index 0000000..ccb30e4
--- /dev/null
+++ b/Bios/src/fw/fet/USB_config/MSP430_CDC.inf
@@ -0,0 +1,95 @@
+; Copyright (c) 2010 Texas Instruments
+; MSP430 Virtual COM Port Installation file for Win2000/XP/Vista/7
+;
+; Port drivers setup
+;
+; Supported operating systems:
+; Windows 32-bit and 64-bit
+[Version]
+
+Signature="$Windows NT$"
+CatalogFile=MSP430_CDC.cat
+Class=Ports
+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
+Provider=%TI%
+DriverVer=09/06/2010, 1.02
+
+[Manufacturer]
+%TI%=DeviceList, NTamd64
+
+[DestinationDirs]
+FakeModemCopyFileSection=12
+DefaultDestDir=12
+
+[SourceDisksNames]
+
+[SourceDisksFiles]
+
+;You can modify next string and place your VID and PID
+[DeviceList]
+%DESCRIPTION0%=TIUSB, USB\Vid_2047&Pid_0013&MI_00
+%DESCRIPTION1%=TIUSB, USB\Vid_2047&Pid_0013&MI_02
+
+[DeviceList.NTamd64]
+%DESCRIPTION0%=TIUSB.NTamd64, USB\Vid_2047&Pid_0013&MI_00
+%DESCRIPTION1%=TIUSB.NTamd64, USB\Vid_2047&Pid_0013&MI_02
+
+ ;------------------------------------------------------------------------------
+; Windows 32-bit Sections
+;------------------------------------------------------------------------------
+
+[TIUSB.nt]
+include=mdmcpq.inf
+CopyFiles=FakeModemCopyFileSection
+AddReg=TIUSB.nt.AddReg
+
+[TIUSB.nt.AddReg]
+HKR,,NTMPDriver,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+HKR,,PortSubClass,1,01
+
+[TIUSB.nt.Services]
+AddService=usbser, 0x00000002, DriverService
+
+[TIUSB.nt.HW]
+include=mdmcpq.inf
+
+[DriverService]
+DisplayName=%DESCRIPTION%
+ServiceType=1
+StartType=3
+ErrorControl=1
+ServiceBinary=%12%\usbser.sys
+LoadOrderGroup=Base
+
+;------------------------------------------------------------------------------
+; Windows 64-bit Sections
+;------------------------------------------------------------------------------
+
+[TIUSB.NTamd64]
+include=mdmcpq.inf
+CopyFiles=FakeModemCopyFileSection
+AddReg=TIUSB.NTamd64.AddReg
+
+[TIUSB.NTamd64.AddReg]
+HKR,,NTMPDriver,,*ntkern
+HKR,,NTMPDriver,,usbser.sys
+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
+HKR,,PortSubClass,1,01
+
+[TIUSB.NTamd64.Services]
+AddService=usbser, 0x00000002, DriverService
+
+[TIUSB.NTamd64.HW]
+include=mdmcpq.inf
+
+;------------------------------------------------------------------------------
+; String Definitions
+;------------------------------------------------------------------------------
+
+[Strings]
+TI="Texas Instruments"
+DESCRIPTION="MSP Tools Driver"
+DESCRIPTION0="MSP Debug Interface"
+DESCRIPTION1="MSP Application UART"
diff --git a/Bios/src/fw/fet/USB_config/UsbIsr.c b/Bios/src/fw/fet/USB_config/UsbIsr.c
new file mode 100644
index 0000000..ccdaef9
--- /dev/null
+++ b/Bios/src/fw/fet/USB_config/UsbIsr.c
@@ -0,0 +1,351 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+
+/*-----------------------------------------------------------------------------+
+| Include files |
+|-----------------------------------------------------------------------------*/
+#include
+#include // Basic Type declarations
+#include
+#include "descriptors.h"
+#include //USB-specific Data Structures
+#include
+#include
+
+#include
+#include
+#include
+/*----------------------------------------------------------------------------+
+| External Variables |
++----------------------------------------------------------------------------*/
+extern BYTE bFunctionSuspended;
+extern __no_init tEDB0 __data16 tEndPoint0DescriptorBlock;
+extern __no_init tEDB __data16 tInputEndPointDescriptorBlock[];
+extern __no_init tEDB __data16 tOutputEndPointDescriptorBlock[];
+extern volatile BYTE bHostAsksUSBData;
+extern volatile BYTE bTransferInProgress;
+extern volatile BYTE bSecondUartTxDataCounter[];
+extern volatile PBYTE pbSecondUartTxData;
+extern BYTE bStatusAction;
+extern WORD wUsbEventMask;
+BOOL CdcToHostFromBuffer(BYTE);
+BOOL CdcToBufferFromHost(BYTE);
+BOOL CdcIsReceiveInProgress(BYTE);
+BOOL HidToHostFromBuffer(BYTE);
+BOOL HidToBufferFromHost(BYTE);
+BOOL HidIsReceiveInProgress(BYTE);
+extern WORD wUsbHidEventMask;
+BOOL PHDCToHostFromBuffer(BYTE);
+BOOL PHDCToBufferFromHost(BYTE);
+BOOL PHDCIsReceiveInProgress(BYTE);
+/*----------------------------------------------------------------------------+
+| General Subroutines |
++----------------------------------------------------------------------------*/
+#pragma vector=USB_UBM_VECTOR
+__interrupt VOID iUsbInterruptHandler(VOID)
+{
+ BYTE bWakeUp = FALSE;
+ //Check if the setup interrupt is pending.
+ //We need to check it before other interrupts,
+ //to work around that the Setup Int has lower priority then Input Endpoint 0
+ if (USBIFG & SETUPIFG)
+ {
+ bWakeUp = SetupPacketInterruptHandler();
+ // Workaround as described in errata USB10
+ tEndPoint0DescriptorBlock.bIEPCNFG &= ~EPCNF_UBME;
+ tEndPoint0DescriptorBlock.bOEPCNFG &= ~EPCNF_UBME;
+ USBIFG &= ~SETUPIFG; // clear the interrupt bit
+ tEndPoint0DescriptorBlock.bIEPCNFG |= EPCNF_UBME;
+ tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_UBME;
+ }
+ switch (__even_in_range(USBVECINT & 0x3f, USBVECINT_OUTPUT_ENDPOINT7))
+ {
+ case USBVECINT_NONE:
+ break;
+ case USBVECINT_PWR_DROP:
+ __no_operation();
+ break;
+ case USBVECINT_PLL_LOCK:
+ break;
+ case USBVECINT_PLL_SIGNAL:
+ break;
+ case USBVECINT_PLL_RANGE:
+ if (wUsbEventMask & kUSB_clockFaultEvent)
+ {
+ bWakeUp = USB_handleClockEvent();
+ }
+ break;
+ case USBVECINT_PWR_VBUSOn:
+ PWRVBUSonHandler();
+ if (wUsbEventMask & kUSB_VbusOnEvent)
+ {
+ bWakeUp = USB_handleVbusOnEvent();
+ }
+ break;
+ case USBVECINT_PWR_VBUSOff:
+ PWRVBUSoffHandler();
+ if (wUsbEventMask & kUSB_VbusOffEvent)
+ {
+ bWakeUp = USB_handleVbusOffEvent();
+ }
+ break;
+ case USBVECINT_USB_TIMESTAMP:
+ break;
+ case USBVECINT_INPUT_ENDPOINT0:
+ IEP0InterruptHandler();
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT0:
+ OEP0InterruptHandler();
+ break;
+ case USBVECINT_RSTR:
+ USB_reset();
+ if (wUsbEventMask & kUSB_UsbResetEvent)
+ {
+ bWakeUp = USB_handleResetEvent();
+ }
+ break;
+ case USBVECINT_SUSR:
+ USB_suspend();
+ if (wUsbEventMask & kUSB_UsbSuspendEvent)
+ {
+ bWakeUp = USB_handleSuspendEvent();
+ }
+ break;
+ case USBVECINT_RESR:
+ USB_resume();
+ if (wUsbEventMask & kUSB_UsbResumeEvent)
+ {
+ bWakeUp = USB_handleResumeEvent();
+ }
+ //-- after resume we will wake up! Independ what event handler says.
+ bWakeUp = TRUE;
+ break;
+ case USBVECINT_SETUP_PACKET_RECEIVED:
+ // NAK both IEP and OEP enpoints
+ tEndPoint0DescriptorBlock.bIEPBCNT = EPBCNT_NAK;
+ tEndPoint0DescriptorBlock.bOEPBCNT = EPBCNT_NAK;
+ SetupPacketInterruptHandler();
+ break;
+ case USBVECINT_STPOW_PACKET_RECEIVED:
+ break;
+ case USBVECINT_INPUT_ENDPOINT1:
+ break;
+ case USBVECINT_INPUT_ENDPOINT2:
+ //send saved bytes from buffer...
+ bWakeUp = CdcToHostFromBuffer(CDC0_INTFNUM);
+ break;
+ case USBVECINT_INPUT_ENDPOINT3:
+ break;
+ case USBVECINT_INPUT_ENDPOINT4:
+ //send saved bytes from buffer...
+ bWakeUp = CdcToHostFromBuffer(CDC1_INTFNUM);
+ break;
+ case USBVECINT_INPUT_ENDPOINT5:
+ break;
+ case USBVECINT_INPUT_ENDPOINT6:
+ break;
+ case USBVECINT_INPUT_ENDPOINT7:
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT1:
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT2:
+ //call callback function if no receive operation is underway
+ if (!CdcIsReceiveInProgress(CDC0_INTFNUM) && USBCDC_bytesInUSBBuffer(CDC0_INTFNUM))
+ {
+ if (wUsbEventMask & kUSB_dataReceivedEvent)
+ {
+ bWakeUp = USBCDC_handleDataReceived(CDC0_INTFNUM);
+ }
+ }
+ else
+ {
+ //complete receive opereation - copy data to user buffer
+ bWakeUp = CdcToBufferFromHost(CDC0_INTFNUM);
+ }
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT3:
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT4:
+ //call callback function if no receive operation is underway
+ if (!CdcIsReceiveInProgress(CDC1_INTFNUM) && USBCDC_bytesInUSBBuffer(CDC1_INTFNUM))
+ {
+ if (wUsbEventMask & kUSB_dataReceivedEvent)
+ {
+ bWakeUp = USBCDC_handleDataReceived(CDC1_INTFNUM);
+ }
+ }
+ else
+ {
+ //complete receive opereation - copy data to user buffer
+ bWakeUp = CdcToBufferFromHost(CDC1_INTFNUM);
+ }
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT5:
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT6:
+ break;
+ case USBVECINT_OUTPUT_ENDPOINT7:
+ break;
+ default:
+ break;
+ }
+ if (bWakeUp)
+ {
+ __bic_SR_register_on_exit(LPM3_bits); // Exit LPM0-3
+ __no_operation(); // Required for debugger
+ }
+}
+
+/*----------------------------------------------------------------------------+
+| Interrupt Sub-routines |
++----------------------------------------------------------------------------*/
+BYTE SetupPacketInterruptHandler(VOID)
+{
+ BYTE bTemp;
+ BYTE bWakeUp = FALSE;
+ USBCTL |= FRSTE; // Function Reset Connection Enable - set enable after first setup packet was received
+ usbProcessNewSetupPacket:
+ // copy the MSB of bmRequestType to DIR bit of USBCTL
+ if((tSetupPacket.bmRequestType & USB_REQ_TYPE_INPUT) == USB_REQ_TYPE_INPUT)
+ {
+ USBCTL |= DIR;
+ }
+ else
+ {
+ USBCTL &= ~DIR;
+ }
+ bStatusAction = STATUS_ACTION_NOTHING;
+ // clear out return data buffer
+ for(bTemp=0; bTemp access to configuration registers enabled
+ bEnumerationStatus = 0x00; // device is not enumerated
+ bFunctionSuspended = FALSE; // device is not suspended
+ USBCNF = 0; // disable USB module
+ USBPLLCTL &= ~UPLLEN; // disable PLL
+ USBPWRCTL &= ~(VBOFFIE + VBOFFIFG + SLDOEN); // disable interrupt VBUSoff
+ USBKEYPID = 0x9600; // access to configuration registers disabled
+ }
+}
+
+//----------------------------------------------------------------------------
+VOID PWRVBUSonHandler(VOID)
+{
+ volatile unsigned int i;
+ for (i =0; i < USB_MCLK_FREQ/1000*1/10; i++); // waiting till voltage will be stable (1ms delay)
+ USBKEYPID = 0x9628; // set KEY and PID to 0x9628 -> access to configuration registers enabled
+ USBPWRCTL |= VBOFFIE; // enable interrupt VBUSoff
+ USBPWRCTL &= ~ (VBONIFG + VBOFFIFG); // clean int flag (bouncing)
+ USBKEYPID = 0x9600; // access to configuration registers disabled
+}
+
+//----------------------------------------------------------------------------
+VOID IEP0InterruptHandler(VOID)
+{
+ USBCTL |= FRSTE; // Function Reset Connection Enable
+ tEndPoint0DescriptorBlock.bOEPBCNT = 0x00;
+ if(bStatusAction == STATUS_ACTION_DATA_IN)
+ {
+ usbSendNextPacketOnIEP0();
+ }
+ else
+ {
+ tEndPoint0DescriptorBlock.bIEPCNFG |= EPCNF_STALL; // no more data
+ }
+}
+
+//----------------------------------------------------------------------------
+BYTE OEP0InterruptHandler(VOID)
+{
+ BYTE bWakeUp = FALSE;
+ USBCTL |= FRSTE; // Function Reset Connection Enable
+ tEndPoint0DescriptorBlock.bIEPBCNT = 0x00;
+ if(bStatusAction == STATUS_ACTION_DATA_OUT)
+ {
+ usbReceiveNextPacketOnOEP0();
+ if(bStatusAction == STATUS_ACTION_NOTHING)
+ {
+# ifdef _CDC_
+ if(tSetupPacket.bRequest == USB_CDC_SET_LINE_CODING)
+ {
+ bWakeUp = Handler_SetLineCoding();
+ }
+# endif
+#ifdef _HID_
+ if (tSetupPacket.bRequest == USB_REQ_SET_REPORT) {
+ bWakeUp = Handler_SetReportDataAvailable(tSetupPacket.wIndex);
+ }
+#endif
+ }
+ }
+ else
+ {
+ tEndPoint0DescriptorBlock.bOEPCNFG |= EPCNF_STALL; // no more data
+ }
+ return (bWakeUp);
+}
+
+
+
+/*----------------------------------------------------------------------------+
+| End of source file |
++----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/USB_config/descriptors.c b/Bios/src/fw/fet/USB_config/descriptors.c
new file mode 100644
index 0000000..1738762
--- /dev/null
+++ b/Bios/src/fw/fet/USB_config/descriptors.c
@@ -0,0 +1,532 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+
+/*-----------------------------------------------------------------------------+
+| Include files |
+|-----------------------------------------------------------------------------*/
+#include
+#include // Basic Type declarations
+#include
+#include // USB-specific Data Structures
+#include "descriptors.h"
+#include
+#include
+
+/*-----------------------------------------------------------------------------+
+| Device Descriptor |
+|-----------------------------------------------------------------------------*/
+BYTE const abromDeviceDescriptor[SIZEOF_DEVICE_DESCRIPTOR] = {
+ SIZEOF_DEVICE_DESCRIPTOR, // Length of this descriptor
+ DESC_TYPE_DEVICE, // Type code of this descriptor
+ 0x00, 0x02, // Release of USB spec
+ 0xef, // Device's base class code
+ 0x02, // Device's sub class code
+ 0x01, // Device's protocol type code
+ EP0_PACKET_SIZE, // End point 0's packet size
+ USB_VID&0xFF, USB_VID>>8, // Vendor ID for device, TI=0x0451
+ // You can order your own VID at www.usb.org
+ USB_PID&0xFF, USB_PID>>8, // Product ID for device,
+ // this ID is to only with this example
+ VER_FW_L, VER_FW_H, // Revision level of device
+ 1, // Index of manufacturer name string desc
+ 2, // Index of product name string desc
+ USB_STR_INDEX_SERNUM, // Index of serial number string desc
+ 1 // Number of configurations supported
+};
+
+/*-----------------------------------------------------------------------------+
+| Configuration Descriptor |
+|-----------------------------------------------------------------------------*/
+const struct abromConfigurationDescriptorGroup abromConfigurationDescriptorGroup=
+{
+ /* Generic part */
+ {
+ // CONFIGURATION DESCRIPTOR (9 bytes)
+ SIZEOF_CONFIG_DESCRIPTOR, // bLength
+ DESC_TYPE_CONFIG, // bDescriptorType
+ DESCRIPTOR_TOTAL_LENGTH, 0x00, // wTotalLength
+ USB_NUM_INTERFACES, // bNumInterfaces
+ USB_CONFIG_VALUE, // bConfigurationvalue
+ CONFIG_STRING_INDEX, // iConfiguration Description offset
+ USB_SUPPORT_SELF_POWERED | USB_SUPPORT_REM_WAKE, // bmAttributes, bus power, remote wakeup
+ USB_MAX_POWER // Max. Power Consumption
+ },
+
+ /******************************************************* start of CDC*************************************/
+
+ {
+ /* start CDC[0] */
+ {
+
+ //Interface Association Descriptor
+ 0X08, // bLength
+ DESC_TYPE_IAD, // bDescriptorType = 11
+ CDC0_COMM_INTERFACE, // bFirstInterface
+ 0x02, // bInterfaceCount
+ 0x02, // bFunctionClass (Communication Class)
+ 0x02, // bFunctionSubClass (Abstract Control Model)
+ 0x01, // bFunctionProcotol (V.25ter, Common AT commands)
+ INTF_STRING_INDEX + 0, // iInterface
+
+ //INTERFACE DESCRIPTOR (9 bytes)
+ 0x09, // bLength: Interface Descriptor size
+ DESC_TYPE_INTERFACE, // bDescriptorType: Interface
+ CDC0_COMM_INTERFACE, // bInterfaceNumber
+ 0x00, // bAlternateSetting: Alternate setting
+ 0x01, // bNumEndpoints: Three endpoints used
+ 0x02, // bInterfaceClass: Communication Interface Class
+ 0x02, // bInterfaceSubClass: Abstract Control Model
+ 0x01, // bInterfaceProtocol: Common AT commands
+ INTF_STRING_INDEX + 0, // iInterface:
+
+ //Header Functional Descriptor
+ 0x05, // bLength: Endpoint Descriptor size
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x00, // bDescriptorSubtype: Header Func Desc
+ 0x10, // bcdCDC: spec release number
+ 0x01,
+
+ //Call Managment Functional Descriptor
+ 0x05, // bFunctionLength
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x01, // bDescriptorSubtype: Call Management Func Desc
+ 0x00, // bmCapabilities: D0+D1
+ CDC0_DATA_INTERFACE, // bDataInterface: 0
+
+ //ACM Functional Descriptor
+ 0x04, // bFunctionLength
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x02, // bDescriptorSubtype: Abstract Control Management desc
+ 0x02, // bmCapabilities
+
+ // Union Functional Descriptor
+ 0x05, // Size, in bytes
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x06, // bDescriptorSubtype: Union Functional Desc
+ CDC0_COMM_INTERFACE, // bMasterInterface -- the controlling intf for the union
+ CDC0_DATA_INTERFACE, // bSlaveInterface -- the controlled intf for the union
+
+ //EndPoint Descriptor for Interrupt endpoint
+ SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ CDC0_INTEP_ADDR, // bEndpointAddress: (IN2)
+ EP_DESC_ATTR_TYPE_INT, // bmAttributes: Interrupt
+ 0x40, 0x00, // wMaxPacketSize, 64 bytes
+ 0xFF, // bInterval
+
+ //DATA INTERFACE DESCRIPTOR (9 bytes)
+ 0x09, // bLength: Interface Descriptor size
+ DESC_TYPE_INTERFACE, // bDescriptorType: Interface
+ CDC0_DATA_INTERFACE, // bInterfaceNumber
+ 0x00, // bAlternateSetting: Alternate setting
+ 0x02, // bNumEndpoints: Three endpoints used
+ 0x0A, // bInterfaceClass: Data Interface Class
+ 0x00, // bInterfaceSubClass:
+ 0x00, // bInterfaceProtocol: No class specific protocol required
+ 0x00, // iInterface:
+
+ //EndPoint Descriptor for Output endpoint
+ SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ CDC0_OUTEP_ADDR, // bEndpointAddress: (OUT3)
+ EP_DESC_ATTR_TYPE_BULK, // bmAttributes: Bulk
+ 0x40, 0x00, // wMaxPacketSize, 64 bytes
+ 0xFF, // bInterval: ignored for Bulk transfer
+
+ //EndPoint Descriptor for Input endpoint
+ SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ CDC0_INEP_ADDR, // bEndpointAddress: (IN3)
+ EP_DESC_ATTR_TYPE_BULK, // bmAttributes: Bulk
+ 0x40, 0x00, // wMaxPacketSize, 64 bytes
+ 0xFF // bInterval: ignored for bulk transfer
+ },
+
+ /* end CDC[0]*/
+
+ /* start CDC[1] */
+ {
+
+ //Interface Association Descriptor
+ 0X08, // bLength
+ DESC_TYPE_IAD, // bDescriptorType = 11
+ CDC1_COMM_INTERFACE, // bFirstInterface
+ 0x02, // bInterfaceCount
+ 0x02, // bFunctionClass (Communication Class)
+ 0x02, // bFunctionSubClass (Abstract Control Model)
+ 0x01, // bFunctionProcotol (V.25ter, Common AT commands)
+ INTF_STRING_INDEX + 1, // iInterface
+
+ //INTERFACE DESCRIPTOR (9 bytes)
+ 0x09, // bLength: Interface Descriptor size
+ DESC_TYPE_INTERFACE, // bDescriptorType: Interface
+ CDC1_COMM_INTERFACE, // bInterfaceNumber
+ 0x00, // bAlternateSetting: Alternate setting
+ 0x01, // bNumEndpoints: Three endpoints used
+ 0x02, // bInterfaceClass: Communication Interface Class
+ 0x02, // bInterfaceSubClass: Abstract Control Model
+ 0x01, // bInterfaceProtocol: Common AT commands
+ INTF_STRING_INDEX + 1, // iInterface:
+
+ //Header Functional Descriptor
+ 0x05, // bLength: Endpoint Descriptor size
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x00, // bDescriptorSubtype: Header Func Desc
+ 0x10, // bcdCDC: spec release number
+ 0x01,
+
+ //Call Managment Functional Descriptor
+ 0x05, // bFunctionLength
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x01, // bDescriptorSubtype: Call Management Func Desc
+ 0x00, // bmCapabilities: D0+D1
+ CDC1_DATA_INTERFACE, // bDataInterface: 0
+
+ //ACM Functional Descriptor
+ 0x04, // bFunctionLength
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x02, // bDescriptorSubtype: Abstract Control Management desc
+ 0x02, // bmCapabilities
+
+ // Union Functional Descriptor
+ 0x05, // Size, in bytes
+ 0x24, // bDescriptorType: CS_INTERFACE
+ 0x06, // bDescriptorSubtype: Union Functional Desc
+ CDC1_COMM_INTERFACE, // bMasterInterface -- the controlling intf for the union
+ CDC1_DATA_INTERFACE, // bSlaveInterface -- the controlled intf for the union
+
+ //EndPoint Descriptor for Interrupt endpoint
+ SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ CDC1_INTEP_ADDR, // bEndpointAddress: (IN2)
+ EP_DESC_ATTR_TYPE_INT, // bmAttributes: Interrupt
+ 0x40, 0x00, // wMaxPacketSize, 64 bytes
+ 0xFF, // bInterval
+
+ //DATA INTERFACE DESCRIPTOR (9 bytes)
+ 0x09, // bLength: Interface Descriptor size
+ DESC_TYPE_INTERFACE, // bDescriptorType: Interface
+ CDC1_DATA_INTERFACE, // bInterfaceNumber
+ 0x00, // bAlternateSetting: Alternate setting
+ 0x02, // bNumEndpoints: Three endpoints used
+ 0x0A, // bInterfaceClass: Data Interface Class
+ 0x00, // bInterfaceSubClass:
+ 0x00, // bInterfaceProtocol: No class specific protocol required
+ 0x00, // iInterface:
+
+ //EndPoint Descriptor for Output endpoint
+ SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ CDC1_OUTEP_ADDR, // bEndpointAddress: (OUT3)
+ EP_DESC_ATTR_TYPE_BULK, // bmAttributes: Bulk
+ 0x40, 0x00, // wMaxPacketSize, 64 bytes
+ 0xFF, // bInterval: ignored for Bulk transfer
+
+ //EndPoint Descriptor for Input endpoint
+ SIZEOF_ENDPOINT_DESCRIPTOR, // bLength: Endpoint Descriptor size
+ DESC_TYPE_ENDPOINT, // bDescriptorType: Endpoint
+ CDC1_INEP_ADDR, // bEndpointAddress: (IN3)
+ EP_DESC_ATTR_TYPE_BULK, // bmAttributes: Bulk
+ 0x40, 0x00, // wMaxPacketSize, 64 bytes
+ 0xFF // bInterval: ignored for bulk transfer
+ }
+
+ /* end CDC[1]*/
+
+ }
+ /******************************************************* end of CDC**************************************/
+
+};
+/*-----------------------------------------------------------------------------+
+| String Descriptor |
+|-----------------------------------------------------------------------------*/
+BYTE const abromStringDescriptor[] = {
+
+ // String index0, language support
+ 4, // Length of language descriptor ID
+ 3, // LANGID tag
+ 0x09, 0x04, // 0x0409 for English
+
+ // String index1, Manufacturer
+ 36, // Length of this string descriptor
+ 3, // bDescriptorType
+ 'T',0x00,'e',0x00,'x',0x00,'a',0x00,'s',0x00,' ',0x00,
+ 'I',0x00,'n',0x00,'s',0x00,'t',0x00,'r',0x00,'u',0x00,
+ 'm',0x00,'e',0x00,'n',0x00,'t',0x00,'s',0x00,
+
+ // String index2, Product
+ 34, // Length of this string descriptor
+ 3, // bDescriptorType
+ 'M',0x00,'S',0x00,'P',0x00,' ',0x00,'T',0x00,'o',0x00,
+ 'o',0x00,'l',0x00,'s',0x00,' ',0x00,'D',0x00,'r',0x00,
+ 'i',0x00,'v',0x00,'e',0x00,'r',0x00,
+
+ // String index3, Serial Number
+ 4, // Length of this string descriptor
+ 3, // bDescriptorType
+ '0',0x00,
+
+ // String index4, Configuration String
+ 22, // Length of this string descriptor
+ 3, // bDescriptorType
+ 'M',0x00,'S',0x00,'P',0x00,'4',0x00,'3',0x00,'0',0x00,
+ ' ',0x00,'U',0x00,'S',0x00,'B',0x00,
+
+ // String index5, Interface String
+ 40, // Length of this string descriptor
+ 3, // bDescriptorType
+ 'M',0x00,'S',0x00,'P',0x00,' ',0x00,'D',0x00,'e',0x00,
+ 'b',0x00,'u',0x00,'g',0x00,' ',0x00,'I',0x00,'n',0x00,
+ 't',0x00,'e',0x00,'r',0x00,'f',0x00,'a',0x00,'c',0x00,
+ 'e',0x00,
+
+ // String index6, Interface String
+ 42, // Length of this string descriptor
+ 3, // bDescriptorType
+ 'M',0x00,'S',0x00,'P',0x00,' ',0x00,'A',0x00,'p',0x00,
+ 'p',0x00,'l',0x00,'i',0x00,'c',0x00,'a',0x00,'t',0x00,
+ 'i',0x00,'o',0x00,'n',0x00,' ',0x00,'U',0x00,'A',0x00,
+ 'R',0x00,'T',0x00
+};
+
+/**** Populating the endpoint information handle here ****/
+
+const struct tUsbHandle stUsbHandle[]=
+{
+ {
+ CDC0_INEP_ADDR,
+ CDC0_OUTEP_ADDR,
+ 1,
+ CDC_CLASS,
+ IEP1_X_BUFFER_ADDRESS,
+ IEP1_Y_BUFFER_ADDRESS,
+ OEP2_X_BUFFER_ADDRESS,
+ OEP2_Y_BUFFER_ADDRESS,
+ IEP2_X_BUFFER_ADDRESS,
+ IEP2_Y_BUFFER_ADDRESS
+ },
+ {
+ CDC1_INEP_ADDR,
+ CDC1_OUTEP_ADDR,
+ 3,
+ CDC_CLASS,
+ IEP3_X_BUFFER_ADDRESS,
+ IEP3_Y_BUFFER_ADDRESS,
+ OEP4_X_BUFFER_ADDRESS,
+ OEP4_Y_BUFFER_ADDRESS,
+ IEP4_X_BUFFER_ADDRESS,
+ IEP4_Y_BUFFER_ADDRESS
+ }
+};
+//-------------DEVICE REQUEST LIST---------------------------------------------
+
+const tDEVICE_REQUEST_COMPARE tUsbRequestList[] =
+{
+
+ //---- CDC 0 Class Requests -----//
+ // GET LINE CODING
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_CDC_GET_LINE_CODING,
+ 0x00,0x00, // always zero
+ CDC0_COMM_INTERFACE,0x00, // CDC interface is 0
+ 0x07,0x00, // Size of Structure (data length)
+ 0xff,&usbGetLineCoding,
+
+ // SET LINE CODING
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_CDC_SET_LINE_CODING,
+ 0x00,0x00, // always zero
+ CDC0_COMM_INTERFACE,0x00, // CDC interface is 0
+ 0x07,0x00, // Size of Structure (data length)
+ 0xff,&usbSetLineCoding,
+
+ // SET CONTROL LINE STATE
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_CDC_SET_CONTROL_LINE_STATE,
+ 0xff,0xff, // Contains data
+ CDC0_COMM_INTERFACE,0x00, // CDC interface is 0
+ 0x00,0x00, // No further data
+ 0xcf,&usbSetControlLineState,
+
+ //---- CDC 1 Class Requests -----//
+ // GET LINE CODING
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_CDC_GET_LINE_CODING,
+ 0x00,0x00, // always zero
+ CDC1_COMM_INTERFACE,0x00, // CDC interface is 1
+ 0x07,0x00, // Size of Structure (data length)
+ 0xff,&usbGetLineCoding,
+
+ // SET LINE CODING
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_CDC_SET_LINE_CODING,
+ 0x00,0x00, // always zero
+ CDC1_COMM_INTERFACE,0x00, // CDC interface is 0
+ 0x07,0x00, // Size of Structure (data length)
+ 0xff,&usbSetLineCoding,
+
+ // SET CONTROL LINE STATE
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,
+ USB_CDC_SET_CONTROL_LINE_STATE,
+ 0xff,0xff, // Contains data
+ CDC1_COMM_INTERFACE,0x00, // CDC interface is 1
+ 0x00,0x00, // No further data
+ 0xcf,&usbSetControlLineState,
+
+ //---- USB Standard Requests -----//
+ // clear device feature
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_CLEAR_FEATURE,
+ FEATURE_REMOTE_WAKEUP,0x00, // feature selector
+ 0x00,0x00,
+ 0x00,0x00,
+ 0xff,&usbClearDeviceFeature,
+
+ // clear endpoint feature
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_ENDPOINT,
+ USB_REQ_CLEAR_FEATURE,
+ FEATURE_ENDPOINT_STALL,0x00,
+ 0xff,0x00,
+ 0x00,0x00,
+ 0xf7,&usbClearEndpointFeature,
+
+ // get configuration
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_GET_CONFIGURATION,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x01,0x00,
+ 0xff,&usbGetConfiguration,
+
+ // get device descriptor
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_GET_DESCRIPTOR,
+ 0xff,DESC_TYPE_DEVICE, // bValueL is index and bValueH is type
+ 0xff,0xff,
+ 0xff,0xff,
+ 0xd0,&usbGetDeviceDescriptor,
+
+ // get configuration descriptor
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_GET_DESCRIPTOR,
+ 0xff,DESC_TYPE_CONFIG, // bValueL is index and bValueH is type
+ 0xff,0xff,
+ 0xff,0xff,
+ 0xd0,&usbGetConfigurationDescriptor,
+
+ // get string descriptor
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_GET_DESCRIPTOR,
+ 0xff,DESC_TYPE_STRING, // bValueL is index and bValueH is type
+ 0xff,0xff,
+ 0xff,0xff,
+ 0xd0,&usbGetStringDescriptor,
+
+ // get interface
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_INTERFACE,
+ USB_REQ_GET_INTERFACE,
+ 0x00,0x00,
+ 0xff,0xff,
+ 0x01,0x00,
+ 0xf3,&usbGetInterface,
+
+ // get device status
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_GET_STATUS,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0x02,0x00,
+ 0xff,&usbGetDeviceStatus,
+ // get interface status
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_INTERFACE,
+ USB_REQ_GET_STATUS,
+ 0x00,0x00,
+ 0xff,0x00,
+ 0x02,0x00,
+ 0xf7,&usbGetInterfaceStatus,
+ // get endpoint status
+ USB_REQ_TYPE_INPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_ENDPOINT,
+ USB_REQ_GET_STATUS,
+ 0x00,0x00,
+ 0xff,0x00,
+ 0x02,0x00,
+ 0xf7,&usbGetEndpointStatus,
+
+ // set address
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_SET_ADDRESS,
+ 0xff,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0xdf,&usbSetAddress,
+
+ // set configuration
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_SET_CONFIGURATION,
+ 0xff,0x00,
+ 0x00,0x00,
+ 0x00,0x00,
+ 0xdf,&usbSetConfiguration,
+
+ // set device feature
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,
+ USB_REQ_SET_FEATURE,
+ 0xff,0x00, // feature selector
+ 0x00,0x00,
+ 0x00,0x00,
+ 0xdf,&usbSetDeviceFeature,
+
+ // set endpoint feature
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_ENDPOINT,
+ USB_REQ_SET_FEATURE,
+ 0xff,0x00, // feature selector
+ 0xff,0x00, // endpoint number <= 127
+ 0x00,0x00,
+ 0xd7,&usbSetEndpointFeature,
+
+ // set interface
+ USB_REQ_TYPE_OUTPUT | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_INTERFACE,
+ USB_REQ_SET_INTERFACE,
+ 0xff,0x00, // feature selector
+ 0xff,0x00, // interface number
+ 0x00,0x00,
+ 0xd7,&usbSetInterface,
+
+ // end of usb descriptor -- this one will be matched to any USB request
+ // since bCompareMask is 0x00.
+ 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+ 0x00,&usbInvalidRequest // end of list
+};
+
+/*-----------------------------------------------------------------------------+
+| END OF Descriptor.c FILE |
+|-----------------------------------------------------------------------------*/
diff --git a/Bios/src/fw/fet/USB_config/descriptors.h b/Bios/src/fw/fet/USB_config/descriptors.h
new file mode 100644
index 0000000..71040d1
--- /dev/null
+++ b/Bios/src/fw/fet/USB_config/descriptors.h
@@ -0,0 +1,398 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+
+#ifndef _DESCRIPTORS_H_
+#define _DESCRIPTORS_H_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/*-----------------------------------------------------------------------------+
+| Include files |
+|-----------------------------------------------------------------------------*/
+#include
+
+//***********************************************************************************************
+// CDC or HID - Define both for composite support
+//***********************************************************************************************
+#define _CDC_ // Needed for CDC inteface
+//***********************************************************************************************
+// CONFIGURATION CONSTANTS
+//***********************************************************************************************
+// These constants configure the API stack and help define the USB descriptors.
+// Refer to Sec. 6 of the MSP430 USB CDC API Programmer's Guide for descriptions of these constants.
+
+// Configuration Constants that can change
+// #define that relates to Device Descriptor
+#define USB_VID 0x2047 // Vendor ID (VID)
+
+#ifdef eZ_FET
+ #define USB_PID 0x0013 // Product ID for eZ-FET
+#endif
+#ifdef MSP_FET
+ #define USB_PID 0x0014 // Product ID for MSP-FET
+#endif
+/*----------------------------------------------------------------------------+
+| Firmware Version |
+| How to detect version number of the FW running on MSP430? |
+| on Windows Open ControlPanel->Systems->Hardware->DeviceManager->Ports-> |
+| Msp430->ApplicationUART->Details |
++----------------------------------------------------------------------------*/
+#define VER_FW_H 0x02 // Device release number, in binary-coded decimal
+#define VER_FW_L 0x00 // Device release number, in binary-coded decimal
+// If a serial number is to be reported, set this to the index within the string descriptor
+//of the dummy serial number string. It will then be automatically handled by the API.
+// If no serial number is to be reported, set this to 0.
+#define USB_STR_INDEX_SERNUM 3
+ #define PHDC_ENDPOINTS_NUMBER 2 // bulk in, bulk out
+
+
+#define DESCRIPTOR_TOTAL_LENGTH 141 // wTotalLength, This is the sum of configuration descriptor length + CDC descriptor length + HID descriptor length
+#define USB_NUM_INTERFACES 4 // Number of implemented interfaces.
+
+#define CDC0_COMM_INTERFACE 0 // Comm interface number of CDC0
+#define CDC0_DATA_INTERFACE 1 // Data interface number of CDC0
+#define CDC0_INTEP_ADDR 0x81 // Interrupt Endpoint Address of CDC0
+#define CDC0_OUTEP_ADDR 0x02 // Output Endpoint Address of CDC0
+#define CDC0_INEP_ADDR 0x82 // Input Endpoint Address of CDC0
+
+#define CDC1_COMM_INTERFACE 2 // Comm interface number of CDC1
+#define CDC1_DATA_INTERFACE 3 // Data interface number of CDC1
+#define CDC1_INTEP_ADDR 0x83 // Interrupt Endpoint Address of CDC1
+#define CDC1_OUTEP_ADDR 0x04 // Output Endpoint Address of CDC1
+#define CDC1_INEP_ADDR 0x84 // Input Endpoint Address of CDC1
+
+#define CDC_NUM_INTERFACES 2 // Total Number of CDCs implemented. should set to 0 if there are no CDCs implemented.
+#define HID_NUM_INTERFACES 0 // Total Number of HIDs implemented. should set to 0 if there are no HIDs implemented.
+#define MSC_NUM_INTERFACES 0 // Total Number of MSCs implemented. should set to 0 if there are no MSCs implemented.
+#define PHDC_NUM_INTERFACES 0 // Total Number of PHDCs implemented. should set to 0 if there are no PHDCs implemented.
+// Interface numbers for the implemented CDSs and HIDs, This is to use in the Application(main.c) and in the interupt file(UsbIsr.c).
+#define CDC0_INTFNUM 0
+#define CDC1_INTFNUM 1
+#define MSC_MAX_LUN_NUMBER 1 // Maximum number of LUNs supported
+
+#define PUTWORD(x) ((x)&0xFF),((x)>>8)
+
+#define USB_OUTEP_INT_EN BIT0 | BIT2 | BIT4
+#define USB_INEP_INT_EN BIT0 | BIT1 | BIT2 | BIT3 | BIT4
+// MCLK frequency of MCU, in Hz
+// For running higher frequencies the Vcore voltage adjustment may required.
+// Please refer to Data Sheet of the MSP430 device you use
+#ifdef eZ_FET
+ #define USB_MCLK_FREQ 25000000 // MCLK frequency in Hz(eZ-FET, 5528)
+#endif
+#ifdef MSP_FET
+ #define USB_MCLK_FREQ 22000000 // MCLK frequency in Hz(MSP-FET, 6638)
+#endif
+
+#define USB_PLL_XT 2 // Defines which XT is used by the PLL (1=XT1, 2=XT2)
+#define USB_XT_FREQ USBPLL_SETCLK_4_0 // Indicates the freq of the crystal on the oscillator indicated by USB_PLL_XT
+#define USB_DISABLE_XT_SUSPEND 0 // If non-zero, then USB_suspend() will disable the oscillator
+ // that is designated by USB_PLL_XT; if zero, USB_suspend won't
+ // affect the oscillator
+#define USB_DMA_CHAN 0x00 // Set to 0xFF if no DMA channel will be used 0..7 for selected DMA channel
+
+
+
+// Controls whether the remote wakeup feature is supported by this device.
+// A value of 0x20 indicates that is it supported (this value is the mask for
+// the bmAttributes field in the configuration descriptor).
+// A value of zero indicates remote wakeup is not supported.
+// Other values are undefined, as they will interfere with bmAttributes.
+#define USB_SUPPORT_REM_WAKE 0x00
+
+// Controls whether the application is self-powered to any degree. Should be
+// set to 0x40, unless the USB device is fully supplied by the bus.
+#define USB_SUPPORT_SELF_POWERED 0x80
+
+// Controls what the device reports to the host regarding how much power it will
+// consume from VBUS. Expressed in 2mA units; that is, the number of mA
+// communicated is twice the value of this field.
+#define USB_MAX_POWER 0x32
+//Configuration constants that can not change ( Fixed Values)
+#define CDC_CLASS 2
+#define HID_CLASS 3
+#define MSC_CLASS 4
+#define PHDC_CLASS 5
+
+ #define MAX_PACKET_SIZE 0x40 // Max size of the USB packets.
+
+//***********************************************************************************************
+// DESCRIPTOR CONSTANTS
+//***********************************************************************************************
+#define SIZEOF_DEVICE_DESCRIPTOR 0x12
+//#define SIZEOF_REPORT_DESCRIPTOR 36
+//#define USBHID_REPORT_LENGTH 64 // length of whole HID report (including Report ID)
+#define CONFIG_STRING_INDEX 4
+#define INTF_STRING_INDEX 5
+#define USB_CONFIG_VALUE 0x01
+//***********************************************************************************************
+// OUTWARD DECLARATIONS
+//***********************************************************************************************
+
+//Calculates the endpoint descriptor block number from given address
+#define EDB(addr) ((addr&0x07)-1)
+
+/* Structure for generic part of configuration descriptor */
+struct abromConfigurationDescriptorGenric
+{
+ BYTE sizeof_config_descriptor; // bLength
+ BYTE desc_type_config; // bDescriptorType: 2
+ BYTE sizeof_configuration_descriptor1; // wTotalLength
+ BYTE sizeof_configuration_descriptor2;
+ BYTE usb_num_configurations; // bNumInterfaces
+ BYTE bconfigurationvalue; // bConfigurationValue
+ BYTE config_string_index; // iConfiguration Description offset
+ BYTE mattributes; // bmAttributes, bus power, remote wakeup
+ BYTE usb_max_power; // Max. Power Consumption at 2mA unit
+};
+
+/************************************************CDC Descriptor**************************/
+struct abromConfigurationDescriptorCdc
+{
+//Interface Association Descriptor
+ BYTE bLength; // Size of this Descriptor in Bytes
+ BYTE bDescriptorType; // Descriptor Type (=11)
+ BYTE bFirstInterface; // Interface number of the first one associated with this function
+ BYTE bInterfaceCount; // Numver of contiguous interface associated with this function
+ BYTE bFunctionClass; // The class triad of this interface,
+ BYTE bFunctionSubClass; // usually same as the triad of the first interface
+ BYTE bFunctionProcotol;
+ BYTE iInterface; // Index of String Desc for this function
+// interface descriptor (9 bytes)
+ BYTE blength_intf; // blength: interface descriptor size
+ BYTE desc_type_interface; // bdescriptortype: interface
+ BYTE interface_number_cdc; // binterfacenumber
+ BYTE balternatesetting; // balternatesetting: alternate setting
+ BYTE bnumendpoints; // bnumendpoints: three endpoints used
+ BYTE binterfaceclass; // binterfaceclass: communication interface class
+ BYTE binterfacesubclass; // binterfacesubclass: abstract control model
+ BYTE binterfaceprotocol; // binterfaceprotocol: common at commands
+ BYTE intf_string_index; // interface:
+//header functional descriptor
+ BYTE blength_header; // blength: endpoint descriptor size
+ BYTE bdescriptortype_header; // bdescriptortype: cs_interface
+ BYTE bdescriptorsubtype_header; // bdescriptorsubtype: header func desc
+ BYTE bcdcdc1;
+ BYTE bcdcdc2; // bcdcdc: spec release number
+
+//call managment functional descriptor
+ BYTE bfunctionlength; // bfunctionlength
+ BYTE bdescriptortype_c; // bdescriptortype: cs_interface
+ BYTE bdescriptorsubtype_c; // bdescriptorsubtype: call management func desc
+ BYTE bmcapabilities; // bmcapabilities: d0+d1
+ BYTE intf_number_cdc; // bdatainterface: 0
+
+//acm functional descriptor
+ BYTE bfunctionlength_acm; // bfunctionlength
+ BYTE bdescriptortype_acm; // bdescriptortype: cs_interface
+ BYTE bdescriptorsubtype_acm; // bdescriptorsubtype: abstract control management desc
+ BYTE bmcapabilities_acm; // bmcapabilities
+
+// Union Functional Descriptor
+ BYTE bLength_ufd; // Size, in bytes
+ BYTE bdescriptortype_ufd; // bDescriptorType: CS_INTERFACE
+ BYTE bdescriptorsubtype_ufd; // bDescriptorSubtype: Union Functional Desc
+ BYTE bmasterinterface_ufd; // bMasterInterface -- the controlling intf for the union
+ BYTE bslaveinterface_ufd; // bSlaveInterface -- the controlled intf for the union
+
+//Interrupt end point related fields
+ BYTE sizeof_epintep_descriptor; // blength: endpoint descriptor size
+ BYTE desc_type_epintep; // bdescriptortype: endpoint
+ BYTE cdc_intep_addr; // bendpointaddress: (in2)
+ BYTE epintep_desc_attr_type_int; // bmattributes: interrupt
+ BYTE epintep_wmaxpacketsize1;
+ BYTE epintep_wmaxpacketsize; // wmaxpacketsize, 64 bytes
+ BYTE epintep_binterval; // binterval
+
+// Data interface descriptor (9 bytes)
+ BYTE blength_slaveintf; // blength: interface descriptor size
+ BYTE desc_type_slaveinterface; // bdescriptortype: interface
+ BYTE interface_number_slavecdc; // binterfacenumber
+ BYTE balternatesetting_slave; // balternatesetting: alternate setting
+ BYTE bnumendpoints_slave; // bnumendpoints: three endpoints used
+ BYTE binterfaceclass_slave; // binterfaceclass: data interface class
+ BYTE binterfacesubclass_slave; // binterfacesubclass: abstract control model
+ BYTE binterfaceprotocol_slave; // binterfaceprotocol: common at commands
+ BYTE intf_string_index_slave; // interface:
+
+// Bulk out end point related fields
+ BYTE sizeof_outep_descriptor; // blength: endpoint descriptor size
+ BYTE desc_type_outep; // bdescriptortype: endpoint
+ BYTE cdc_outep_addr; // bendpointaddress: (out3)
+ BYTE outep_desc_attr_type_bulk; // bmattributes: bulk
+ BYTE outep_wmaxpacketsize1;
+ BYTE outep_wmaxpacketsize2; // wmaxpacketsize, 64 bytes
+ BYTE outep_binterval; // binterval: ignored for bulk transfer
+
+// Bulk in related fields
+ BYTE sizeof_inep_descriptor; // blength: endpoint descriptor size
+ BYTE desc_type_inep; // bdescriptortype: endpoint
+ BYTE cdc_inep_addr; // bendpointaddress: (in3)
+ BYTE inep_desc_attr_type_bulk; // bmattributes: bulk
+ BYTE inep_wmaxpacketsize1;
+ BYTE inep_wmaxpacketsize2; // wmaxpacketsize, 64 bytes
+ BYTE inep_binterval; // binterval: ignored for bulk transfer
+};
+
+/**************************************HID descriptor structure *************************/
+struct abromConfigurationDescriptorHid
+{
+//INTERFACE DESCRIPTOR (9 bytes)
+ BYTE sizeof_interface_descriptor; // Desc Length
+ BYTE desc_type_interface; // DescriptorType
+ BYTE interface_number_hid; // Interface number
+ BYTE balternatesetting; // Any alternate settings if supported
+ BYTE bnumendpoints; // Number of end points required
+ BYTE binterfaceclass; // Class ID
+ BYTE binterfacesubclass; // Sub class ID
+ BYTE binterfaceprotocol; // Protocol
+ BYTE intf_string_index; // String Index
+
+//hid descriptor (9 bytes)
+ BYTE blength_hid_descriptor; // HID Desc length
+ BYTE hid_descriptor_type; // HID Desc Type
+ BYTE hidrevno1; // Rev no
+ BYTE hidrevno2; // Rev no - 2nd part
+ BYTE tcountry; // Country code
+ BYTE numhidclasses; // Number of HID classes to follow
+ BYTE report_descriptor_type; // Report desc type
+ BYTE tlength; // Total length of report descriptor
+ BYTE size_rep_desc;
+
+//input end point descriptor (7 bytes)
+ BYTE size_inp_endpoint_descriptor; // End point desc size
+ BYTE desc_type_inp_endpoint; // Desc type
+ BYTE hid_inep_addr; // Input end point address
+ BYTE ep_desc_attr_type_inp_int; // Type of end point
+ BYTE inp_wmaxpacketsize1; // Max packet size
+ BYTE inp_wmaxpacketsize2;
+ BYTE inp_binterval; // bInterval in ms
+
+ // Output end point descriptor; (7 bytes)
+ BYTE size_out_endpoint_descriptor; // Output endpoint desc size
+ BYTE desc_type_out_endpoint; // Desc type
+ BYTE hid_outep_addr; // Output end point address
+ BYTE ep_desc_attr_type_out_int; // End point type
+ BYTE out_wmaxpacketsize1; // Max packet size
+ BYTE out_wmaxpacketsize2;
+ BYTE out_binterval; // bInterval in ms
+};
+
+/**************************************MSC descriptor structure *************************/
+struct abromConfigurationDescriptorMsc
+{
+// INTERFACE DESCRIPTOR (9 bytes)
+ BYTE sizeof_interface_descriptor; // Desc Length
+ BYTE desc_type_interface; // DescriptorType
+ BYTE interface_number_hid; // Interface number
+ BYTE balternatesetting; // Any alternate settings if supported
+ BYTE bnumendpoints; // Number of end points required
+ BYTE binterfaceclass; // Class ID
+ BYTE binterfacesubclass; // Sub class ID
+ BYTE binterfaceprotocol; // Protocol
+ BYTE intf_string_index; // String Index
+
+// input end point descriptor (7 bytes)
+ BYTE size_inp_endpoint_descriptor; // End point desc size
+ BYTE desc_type_inp_endpoint; // Desc type
+ BYTE hid_inep_addr; // Input end point address
+ BYTE ep_desc_attr_type_inp_int; // Type of end point
+ BYTE inp_wmaxpacketsize1; // Max packet size
+ BYTE inp_wmaxpacketsize2;
+ BYTE inp_binterval; // bInterval in ms
+
+// Output end point descriptor; (7 bytes)
+ BYTE size_out_endpoint_descriptor; // Output endpoint desc size
+ BYTE desc_type_out_endpoint; // Desc type
+ BYTE hid_outep_addr; // Output end point address
+ BYTE ep_desc_attr_type_out_int; // End point type
+ BYTE out_wmaxpacketsize1; // Max packet size
+ BYTE out_wmaxpacketsize2;
+ BYTE out_binterval; // bInterval in ms
+};
+
+/* Global structure having Generic,CDC,HID, MSC structures */
+struct abromConfigurationDescriptorGroup
+{
+ /* Generic part of config descriptor */
+ const struct abromConfigurationDescriptorGenric abromConfigurationDescriptorGenric;
+#ifdef _MSC_
+ /* MSC descriptor structure */
+ const struct abromConfigurationDescriptorMsc stMsc[MSC_NUM_INTERFACES];
+#endif
+#ifdef _CDC_
+ /* CDC descriptor structure */
+ const struct abromConfigurationDescriptorCdc stCdc[CDC_NUM_INTERFACES];
+#endif
+#ifdef _HID_
+ /* HID descriptor structure */
+ const struct abromConfigurationDescriptorHid stHid[HID_NUM_INTERFACES];
+#endif
+#ifdef _PHDC_
+/* PDC descriptor structure */
+ const struct abromConfigurationDescriptorPhdc stPhdc[PHDC_NUM_INTERFACES];
+#endif
+};
+
+extern const struct abromConfigurationDescriptorGroup abromConfigurationDescriptorGroup;
+extern BYTE const abromDeviceDescriptor[SIZEOF_DEVICE_DESCRIPTOR];
+extern BYTE const abromStringDescriptor[];
+//extern BYTE const abromReportDescriptor[SIZEOF_REPORT_DESCRIPTOR];
+
+/* Handle Structure - Will be populated in descriptors.c based on number of CDC,HID interfaces */
+struct tUsbHandle
+{
+ BYTE ep_In_Addr; // Input EP Addr
+ BYTE ep_Out_Addr; // Output EP Addr
+ BYTE edb_Index; // The EDB index
+ BYTE dev_Class; // Device Class- 2 for CDC, 3 for HID
+ WORD intepEP_X_Buffer; // Interupt X Buffer Addr
+ WORD intepEP_Y_Buffer; // Interupt Y Buffer Addr
+ WORD oep_X_Buffer; // Output X buffer Addr
+ WORD oep_Y_Buffer; // Output Y buffer Addr
+ WORD iep_X_Buffer; // Input X Buffer Addr
+ WORD iep_Y_Buffer; // Input Y Buffer Addr
+};
+
+extern const struct tUsbHandle stUsbHandle[CDC_NUM_INTERFACES + HID_NUM_INTERFACES + MSC_NUM_INTERFACES + PHDC_NUM_INTERFACES];
+extern const tDEVICE_REQUEST_COMPARE tUsbRequestList[];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/bios.c b/Bios/src/fw/fet/bios.c
new file mode 100644
index 0000000..848b4be
--- /dev/null
+++ b/Bios/src/fw/fet/bios.c
@@ -0,0 +1,923 @@
+/*
+ * bios.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hw_compiler_specific.h"
+#include "bios.h"
+#include
+
+#include "USB_API/USB_Common/types.h"
+#include "USB_API/USB_CDC_API/UsbCdc.h"
+#include "USB_config/descriptors.h"
+#include "usbConstructs.h"
+#include "USB_API/USB_Common/usb.h"
+#include "communicationDefs.h"
+#include "protocol.h"
+#include "FetVersion.h"
+
+//! \brief count of LED from uif
+#define BIOS_LED_COUNT 2
+
+//! \brief pin (from TUSB) for hardware handshake for TX cannel
+//! \details also used as TRUE value for bios_xoff_
+#define BIOS_HARD_RTS_BIT 3
+
+//! \brief version of bios code
+const unsigned short core_version_ @ "COREVERSION" = CORE_VERSION;
+#pragma required=core_version_
+
+unsigned short tool_id_;
+#pragma required=tool_id_
+
+//! \brief chars for flow control
+const unsigned char BIOS_DLE_CHAR = 0x10;
+//! \brief chars for flow control
+const unsigned char BIOS_XON_CHAR = 0x11;
+//! \brief chars for flow control
+const unsigned char BIOS_XOFF_CHAR = 0x13;
+
+//**************************** Internal function prototypes
+
+//! \brief clears the TX software buffer
+void bios_UsbTxClear(void);
+
+//! \brief dummy to catch all irq
+//! \details biosHalInterfaceClear set all by bios unused irqs to dummy
+INTERRUPT_PROTO void dummyIsr (void);
+
+//! \brief receive char form UART
+//! \details get chars form hardware RX buffer and stor them in the RX software buffer(s).
+//! Messages are checked on crc. and ack/exceptions processed in this function.
+void usbRxIsr (unsigned char receivedByte);
+
+//! \brief 10ms timer interrupt
+//! \details count all 10ms the timer for RX and TX timeouts.
+//! Also the timer for LED drive.
+INTERRUPT_PROTO void timerB1Isr (void);
+
+//! \brief function is called by hardware interrupt if TX buffer goes empty
+//! \details move a char from the TX software buffer to the hardware TX buffer.
+void BIOS_usbTxData (void);
+
+//! \brief Buffer for the RX cannel
+//! \details actual two buffers used, one for working, the second to catch char which receivend before
+//! the cts signal have an effect.
+volatile BiosRxRecord bios_rx_record_ = {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}, 0, {0,0,0,0}, 0, 0, 0, {0,0,0,0}};
+//! \brief Buffer for the TX cannel
+//! \details only one buffer in uif. There is no need for a second. The dll play ping pong with the uif
+volatile BiosTxRecord bios_tx_record_ = {0, 0, {0}, {0}, {0}, {0}, {0}, NULL, 0};
+
+//! \brief Timer for RX and TX timeouts
+//! \details timebase 10ms
+volatile BiosGlobalTimer bios_global_timer_[BIOS_TIMER_COUNT];
+//! \brief uif is under control of the eg. workbench
+//! \details \li 0, not under control, reset by EXCEPTION NULL
+//! \li 1, set in v3opRx with the first valid command
+char bios_wb_control_ = 0;
+
+//! \brief values for (re)set LEDs
+const unsigned char BIOS_LED_OFF = 0x00;
+//! \brief values for (re)set LEDs
+const unsigned char BIOS_LED_ON = 0x01;
+//! \brief values for (re)set LEDs
+const unsigned char BIOS_LED_BLINK = 0x02;
+
+volatile SystemEventMsp system_event_msp_;
+
+//! \brief for LED driving
+struct _BiosLedTimer_
+{
+ unsigned char mode;
+ unsigned short load;
+ unsigned short counter;
+ unsigned char *addr;
+ unsigned char bit;
+};
+typedef struct _BiosLedTimer_ BiosLedTimer;
+
+//! \brief for LED driving
+volatile BiosLedTimer bios_leds_[BIOS_LED_COUNT];
+
+//! \brief the LED from the EASY :-)
+//! \details The EASY haven't LEDs, this var is a replacment for the port to catch
+//! the LED driving
+unsigned char bios_led_dummy_;
+
+//! \brief Hold the crystal frequency
+//! \details will set in biosInitSystem depended for the detected hardware
+//! will used eg. from timers and UART
+unsigned long crystal_;
+
+//! \brief modulation register value
+//! \details will set in biosInitSystem depended for the detected hardware
+unsigned char baudmod_ = 0;
+
+//! \brief flags for hardware features
+//! \details will set in biosInitSystem depended for the detected hardware
+//! \li bit 0 -> handshake xon/xoff = 1, hw handshake = 0
+//! \li bit 1 -> 4 wire
+//! \li bit 2 -> 2 wire
+unsigned long bios_device_flags_ = 0;
+
+//! \brief hardware version
+//! \details will set in biosInitSystem depended for the detected hardware
+unsigned short bios_info_hw_0_;
+
+//! \brief hardware version
+//! \details will set in biosInitSystem depended for the detected hardware
+unsigned short bios_info_hw_1_;
+
+//! \brief gets the received char
+unsigned char bios_rx_char_;
+
+//! \brief dummy to switch of XON/XOFF in easy
+const unsigned char bios_rx_char_always_0 = 0;
+
+//! \brief points to bios_rx_char_ if XON/XOFF is active
+//! \details on EASY it points to bios_rx_char_always_0 to disable XON/XOFF functionality
+//! will set in biosInitSystem depended for the detected hardware
+unsigned char *bios_rx_char_ptr_;
+
+//! \brief Flag for XON/XOFF status
+//! \li 0, TX can send
+//! \li 1, TX must not be send
+//! \details between receiving xoff and sending chars is a delay (by program flow). This
+//! is not a problem, because the TUSB has enougth reserve in the buffer.
+unsigned char bios_xoff_ = 0;
+
+//! \brief pointer to active TX flow control
+//! \details \li on EASY it points to the PORT with the handshakesignals
+//! \li on uif it points to the (software)flag bios_xoff_
+//! will set in biosInitSystem depended for the detected hardware
+unsigned char *bios_xoff_ptr_ = &bios_xoff_;
+
+//! \brief Flag for error indication
+//! \details \li 1, an error message is to send. Set by every function which can generate an error
+//! \li 0, reset in biosmainLoop, if error message was send
+volatile char bios_rx_err_set_ = 0;
+
+//! \brief Message ID from received message which provoke the error.
+volatile unsigned char bios_rx_err_id_ = 0;
+
+//! \brief error code
+//! \li EXCEPTION_NOT_IMPLEMENT_ERR 0x8001
+//! \li EXCEPTION_MSGID_ERR 0x8002
+//! \li EXCEPTION_CRC_ERR 0x8003
+//! \li EXCEPTION_RX_TIMEOUT_ERR 0x8004
+//! \li EXCEPTION_TX_TIMEOUT_ERR 0x8005
+//! \li EXCEPTION_RX_OVERFLOW_ERR 0x8006
+//! \li EXCEPTION_TX_NO_BUFFER 0x8007
+//! \li EXCEPTION_COM_RESET 0x8008
+//! \li EXCEPTION_RX_NO_BUFFER 0x8009
+//! \li EXCEPTION_RX_TO_SMALL_BUFFER 0x800A
+//! \li EXCEPTION_RX_LENGTH 0x800B
+//! \li HAL specific exceptions 0xFFFF to 0xFF00 (-1 to -255)
+volatile BIOS_RxError_t BIOS_RxEr;
+
+//! \brief Pointer to additional information
+//! \details if an error provide more information about the error
+volatile unsigned short *bios_rx_err_payload_ = NULL;
+
+//! \brief target for dummyread form UART
+volatile unsigned char usb_read_dummy_;
+
+volatile unsigned short CTS_LINE = 0;
+
+//**************************** Module Implementation ******************/
+void BIOS_InitSystem (void)
+{ //Init Timer A1 (currently used for TX and RX timeouts and LED's)
+ //generates interrupt every 10ms
+ TA1CCR0 = USB_MCLK_FREQ / (8 * 100) - 1;
+ TA1CTL = TASSEL__SMCLK | ID__8 | MC__UP/*MC__CONTINOUS*/ | TACLR | TAIE;
+
+#ifdef eZ_FET
+ // LED assignments for eZ-FET
+ bios_leds_[0].addr = (unsigned char*)&P1OUT;
+ bios_leds_[0].bit = BIT2;
+ bios_leds_[1].addr = (unsigned char*)&P1OUT;
+ bios_leds_[1].bit = BIT3;
+#endif
+
+#ifdef MSP_FET
+ // LED assignments for MSP-FET
+ bios_leds_[0].addr = (unsigned char*)&P6OUT;
+ bios_leds_[0].bit = BIT7;
+ bios_leds_[1].addr = (unsigned char*)&P5OUT;
+ bios_leds_[1].bit = BIT3;
+#endif
+
+ /// is detected!!
+ // char set to rx input for xon/xoff
+ bios_rx_char_ptr_ = &bios_rx_char_;
+
+ // disalbe BSL protection
+ SYSBSLC &= ~SYSBSLPE;
+ // get tool id stored in BSL area
+ tool_id_ = *(unsigned short*)0x100e;
+
+ // enable BSL protection again
+ SYSBSLC |= SYSBSLPE;
+
+ bios_info_hw_0_ = tool_id_;
+ bios_info_hw_1_ = tool_id_;
+}
+
+void BIOS_SuspendSystem(void)
+{}
+
+void BIOS_ResumeSystem(void)
+{}
+
+void BIOS_SetCts()
+{
+ CTS_LINE = FALSE; bios_global_timer_[0].state |= BIOS_TIMER_BREAK;
+}
+void BIOS_ResetCts()
+{
+ CTS_LINE = TRUE; bios_global_timer_[0].state &= ~BIOS_TIMER_BREAK;
+}
+
+unsigned short Bios_getCore_version()
+{
+ return CORE_VERSION;
+}
+unsigned short Bios_getTool_id()
+{
+ return tool_id_;
+}
+unsigned short Bios_getInfo_hw_0()
+{
+ return bios_info_hw_0_;
+}
+unsigned short Bios_getInfo_hw_1()
+{
+ return bios_info_hw_1_;
+}
+
+//*************************************
+short BIOS_LedOn(unsigned char no)
+{
+ if(no < BIOS_LED_COUNT)
+ {
+ bios_leds_[no].mode = BIOS_LED_ON;
+ bios_leds_[no].load = 0;
+ bios_leds_[no].counter = 0;
+ }
+ return(0);
+}
+
+//************************************
+short BIOS_LedOff(unsigned char no)
+{
+ if(no < BIOS_LED_COUNT)
+ {
+ bios_leds_[no].mode = BIOS_LED_OFF;
+ bios_leds_[no].load = 0;
+ bios_leds_[no].counter = 0;
+ }
+ return(0);
+}
+
+//************************************
+short BIOS_LedBlink(unsigned char no,unsigned short time)
+{
+ if(no < BIOS_LED_COUNT)
+ {
+ bios_leds_[no].load = time * 2;
+ bios_leds_[no].counter = time * 2;
+ bios_leds_[no].mode = BIOS_LED_BLINK;
+ }
+ return(0);
+}
+
+//************************************
+short BIOS_LedFlash(unsigned char no,unsigned short time)
+{
+ if((no < BIOS_LED_COUNT) && !bios_leds_[no].counter)
+ {
+ bios_leds_[no].load = time * 2;
+ bios_leds_[no].counter = time * 2;
+ bios_leds_[no].mode &= ~BIOS_LED_BLINK;
+ }
+ return(0);
+}
+
+//************************************
+short BIOS_LedAlternate(unsigned short time)
+{
+ bios_leds_[0].load = time * 2;
+ bios_leds_[0].counter = time;
+ bios_leds_[1].load = time * 2;
+ bios_leds_[1].counter = time;
+ if(time)
+ {
+ bios_leds_[0].mode = BIOS_LED_ON | BIOS_LED_BLINK;
+ bios_leds_[1].mode = BIOS_LED_OFF | BIOS_LED_BLINK;
+ }
+ else
+ {
+ bios_leds_[0].mode = BIOS_LED_OFF;
+ bios_leds_[1].mode = BIOS_LED_OFF;
+ }
+ return(0);
+ }
+
+//************************************
+void BIOS_GlobalError(void)
+{
+ BIOS_LedOn(BIOS_LED_MODE);
+ BIOS_LedOff(BIOS_LED_POWER);
+ while(1);
+}
+
+//INTERRUPT(TIMER1_A1_VECTOR) void timerB1Isr (void)
+//***********************************************
+INTERRUPT(TIMER1_A1_VECTOR) void timerB1Isr (void)
+{
+ if(TA1IV == TA1IV_TA1IFG)
+ {
+ // process global timers
+ if((bios_global_timer_[BIOS_TIMER_RX].count > 1) && !(bios_global_timer_[BIOS_TIMER_RX].state & BIOS_TIMER_BREAK))
+ {
+ bios_global_timer_[BIOS_TIMER_RX].count--;
+ }
+ else if(bios_global_timer_[BIOS_TIMER_RX].count == 1)
+ {
+ bios_global_timer_[0].count = 0;
+ BIOS_UsbRxError(EXCEPTION_RX_TIMEOUT_ERR);
+ }
+ if((bios_global_timer_[BIOS_TIMER_TX].count > 1) && !(bios_xoff_))
+ {
+ bios_global_timer_[BIOS_TIMER_TX].count--;
+ }
+ // LED mode
+ DIAG_SUPPRESS(Pa082)
+ if((bios_leds_[BIOS_LED_MODE].mode & BIOS_LED_ON) ^ (bios_leds_[BIOS_LED_MODE].counter > (bios_leds_[BIOS_LED_MODE].load/2)))
+ {
+ *bios_leds_[BIOS_LED_MODE].addr |= bios_leds_[BIOS_LED_MODE].bit;
+ }
+ else
+ {
+ *bios_leds_[BIOS_LED_MODE].addr &= ~bios_leds_[BIOS_LED_MODE].bit;
+ }
+ DIAG_DEFAULT(Pa082)
+ if(bios_leds_[BIOS_LED_MODE].counter > 0)
+ {
+ bios_leds_[BIOS_LED_MODE].counter--;
+ }
+ else if(bios_leds_[BIOS_LED_MODE].mode & BIOS_LED_BLINK)
+ {
+ bios_leds_[BIOS_LED_MODE].counter = bios_leds_[BIOS_LED_MODE].load;
+ }
+
+ // LED power
+ DIAG_SUPPRESS(Pa082)
+ if((bios_leds_[BIOS_LED_POWER].mode & BIOS_LED_ON) ^ (bios_leds_[BIOS_LED_POWER].counter > (bios_leds_[BIOS_LED_POWER].load/2)))
+ {
+ *bios_leds_[BIOS_LED_POWER].addr |= bios_leds_[BIOS_LED_POWER].bit;
+ }
+ else
+ {
+ *bios_leds_[BIOS_LED_POWER].addr &= ~bios_leds_[BIOS_LED_POWER].bit;
+ }
+ DIAG_DEFAULT(Pa082)
+ if(bios_leds_[BIOS_LED_POWER].counter > 0)
+ {
+ bios_leds_[BIOS_LED_POWER].counter--;
+ }
+ else if(bios_leds_[BIOS_LED_POWER].mode & BIOS_LED_BLINK)
+ {
+ bios_leds_[BIOS_LED_POWER].counter = bios_leds_[BIOS_LED_POWER].load;
+ }
+ }
+}
+
+//**********************************************************
+INTERRUPT_PROTO void dummyIsr (void)
+{
+ ;
+}
+const volatile unsigned short *bios_intvec_ = (unsigned short*)0xFF80;
+
+//! \brief Pointer to HAL IRQ vector table
+RO_PLACEMENT_NO_INIT volatile const unsigned long hal_intvec_ @ "HALINTVEC";
+RO_PLACEMENT_NO_INIT volatile const unsigned long hal_signature_ @ "HALSIGNATURE";
+
+RO_PLACEMENT_NO_INIT volatile const unsigned long dcdc_intvec_ @ "DCDCIVEC";
+RO_PLACEMENT_NO_INIT volatile const unsigned long dcdc_signature_ @ "DCDCSIGNATURE";
+
+RO_PLACEMENT_NO_INIT volatile const unsigned long hil_signature_ @ "HILSIGNATURE";
+RO_PLACEMENT_NO_INIT volatile const unsigned short hil_Start_UP_ @ "HILINIT";
+
+RO_PLACEMENT_NO_INIT volatile const unsigned long com_intvec_ @ "COMINTVEC";
+RO_PLACEMENT_NO_INIT volatile const unsigned long com_signature_ @ "COMSIGNATURE";
+RO_PLACEMENT_NO_INIT volatile const long com_semaphore_ @ "COM_SEMAPHOREADRESS";
+
+unsigned long Bios_getHal_intvec()
+{
+ return hal_intvec_;
+}
+unsigned short Bios_getHil_intvec()
+{
+ return hil_Start_UP_;
+}
+unsigned long Bios_getDcdc_intvec()
+{
+ return dcdc_intvec_;
+}
+unsigned long Bios_getCom_intvec()
+{
+ return com_intvec_;
+}
+unsigned long Bios_getDcdc_signature()
+{
+ return dcdc_signature_;
+}
+unsigned long Bios_getHal_signature()
+{
+ return hal_signature_;
+}
+unsigned long Bios_getHil_signature()
+{
+ return hil_signature_;
+}
+unsigned long Bios_getCom_signature()
+{
+ return com_signature_;
+}
+//***************************************
+unsigned short tempInDataRx[4][BIOS_RX_SIZE]= {0x0,0x0};
+
+//***************************************
+void BIOS_InitCom(void)
+{
+ unsigned char i;
+
+ for(i = 0; i < BIOS_RX_QUEUS; i++)
+ {
+ bios_rx_record_.datas[i] = tempInDataRx[i];
+ if(bios_rx_record_.datas[i] == NULL)
+ {
+ BIOS_GlobalError();
+ }
+ bios_rx_record_.data[i] = (unsigned char*)bios_rx_record_.datas[i];
+ }
+ for(i = 0; i < BIOS_TX_QUEUS; i++)
+ {
+ bios_tx_record_.data[i] = (unsigned char*)bios_tx_record_.datas[i];
+ }
+}
+//*****************************************
+void BIOS_PrepareTx(unsigned int size)
+{
+ bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] = 0;
+ DIAG_SUPPRESS(Pa082)
+ bios_tx_record_.count[bios_tx_record_.active] = size;
+ bios_tx_record_.state[bios_tx_record_.active] |= BIOS_TX_TO_SEND;
+ DIAG_DEFAULT(Pa082)
+}
+
+//********************************************
+void BIOS_StartTx(void)
+{
+ bios_global_timer_[BIOS_TIMER_TX].count = BIOS_TX_TIMEOUT;
+ BIOS_usbTxData();
+}
+
+//*********************************************
+void BIOS_UsbTxError(void)
+{
+ BIOS_UsbTxClear();
+}
+
+//*********************************************
+void BIOS_UsbTxClear(void)
+{
+ unsigned char i;
+
+ memset((unsigned char*)&bios_tx_record_, 0, sizeof(bios_tx_record_));
+ bios_global_timer_[BIOS_TIMER_TX].count = 0;
+ bios_rx_char_ = 0;
+ for(i = 0; i < BIOS_TX_QUEUS; i++)
+ {
+ bios_tx_record_.data[i] = (unsigned char*)bios_tx_record_.datas[i];
+ bios_tx_record_.state[i] = 0;
+ }
+}
+
+//***************************************
+void BIOS_UsbRxClear(void)
+{
+ unsigned char i;
+
+ bios_rx_record_.active = 0;
+ for(i = 0; i < BIOS_RX_QUEUS; i++)
+ {
+ bios_rx_record_.state[i] = 0;
+ bios_rx_record_.last_cmd_typ = 0;
+ bios_rx_record_.last_msg_id = 0;
+ bios_rx_record_.data[i][0] = 0;
+ bios_rx_record_.crc[i] = 0;
+ bios_rx_record_.count[i] = 0;
+ bios_rx_record_.size[i] = 0;
+ }
+ bios_global_timer_[0].count = 0;
+}
+
+short BIOS_IsUsbRxError()
+{
+ if(BIOS_RxEr.bios_rx_err_set_)
+ {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void BIOS_ClearUsbRxError()
+{
+ BIOS_RxEr.bios_rx_err_code_ = 0;
+ BIOS_RxEr.bios_rx_err_id_ = 0;
+ BIOS_RxEr.bios_rx_err_payload_ = NULL;
+ BIOS_RxEr.bios_rx_err_set_ = 0;
+}
+
+BIOS_RxError_t BIOS_getRxError()
+{
+ return BIOS_RxEr;
+}
+//********************************************
+void BIOS_UsbRxError(unsigned short code)
+{
+ BIOS_UsbRxClear();
+ BIOS_RxEr.bios_rx_err_code_ = code;
+ BIOS_RxEr.bios_rx_err_id_ = 0;
+ BIOS_RxEr.bios_rx_err_payload_ = NULL;
+ BIOS_RxEr.bios_rx_err_set_ = 1;
+}
+//************************************************************
+void BIOS_usbTxData (void)
+{
+ unsigned char first_cannel;
+ // some thing to send in active send buffer?
+ first_cannel = bios_tx_record_.cannel_to_send;
+ while(!(bios_tx_record_.state[bios_tx_record_.cannel_to_send] & BIOS_TX_TO_SEND))
+ {
+
+ bios_tx_record_.cannel_to_send++;
+ if(bios_tx_record_.cannel_to_send >= BIOS_TX_QUEUS)
+ {
+ bios_tx_record_.cannel_to_send = 0;
+ }
+
+ if(bios_tx_record_.cannel_to_send == first_cannel)
+ {
+ return;
+ }
+ }
+ // test on chars in software TX buffer
+ DIAG_SUPPRESS(Pa082)
+ if(bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] < bios_tx_record_.count[bios_tx_record_.cannel_to_send])
+ {
+ WORD x;
+
+ // send char from software buffer
+ if(cdcSendDataInBackground((BYTE*)&bios_tx_record_.data[bios_tx_record_.cannel_to_send][0],bios_tx_record_.count[bios_tx_record_.cannel_to_send],0,10)) //Send the response over USB
+ {
+ USBCDC_abortSend(&x,0); // It failed for some reason; abort and leave the main loop
+ }
+ // no char to send ***anymore*** in actual TX software buffer
+ // we don't clear TX software buffer, reset only flags. If need we can
+ // send the buffer again. (resending in not implemented)
+ bios_tx_record_.state[bios_tx_record_.cannel_to_send] &= ~BIOS_TX_TO_SEND;
+ bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] = 0;
+ first_cannel = bios_tx_record_.cannel_to_send;
+ if(!(bios_tx_record_.state[bios_tx_record_.cannel_to_send] & BIOS_TX_WAIT_ON_ACK))
+ {
+ bios_global_timer_[BIOS_TIMER_TX].count = 0;
+ }
+ // search in TX software buffer for data to send. If no data found, it was the
+ // last TX buffer empty interrupt.
+ do
+ {
+
+ bios_tx_record_.cannel_to_send++;
+ if(bios_tx_record_.cannel_to_send >= BIOS_TX_QUEUS)
+ {
+ bios_tx_record_.cannel_to_send = 0;
+ }
+
+ if(bios_tx_record_.state[bios_tx_record_.cannel_to_send] & BIOS_TX_TO_SEND)
+ {
+ if(bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] <= ((unsigned short)bios_tx_record_.data[bios_tx_record_.cannel_to_send][0])) // add left side +1, if crc active
+ {
+ bios_global_timer_[BIOS_TIMER_TX].count = BIOS_TX_TIMEOUT;
+ }
+ }
+ }
+ while(!(bios_tx_record_.state[bios_tx_record_.cannel_to_send] & BIOS_TX_TO_SEND) && (bios_tx_record_.cannel_to_send != first_cannel));
+ }
+ DIAG_DEFAULT(Pa082)
+}
+
+short BIOS_UsbRxData()
+{
+ BYTE count = 0;
+ BYTE usbDataPointer = 0;
+ BYTE sizeToCopy = 0;
+ short returnError = 0;
+
+ BIOS_SetCts();
+ count = USBCDC_bytesInUSBBuffer(DEBUG_CHANNEL);
+ if(count)
+ {
+ #pragma data_alignment=4
+ static BYTE recivedData[260] = {0};
+
+ USBCDC_receiveData(recivedData, count , DEBUG_CHANNEL);
+
+ while(count)
+ {
+ // get char from hardwarebuffer
+ bios_rx_char_ = recivedData[usbDataPointer];
+ // test for xon/xoff flow control char
+
+ // test for free buffer
+ if(bios_rx_record_.state[bios_rx_record_.active] & BIOS_RX_RDY)
+ {
+ BIOS_UsbRxError(EXCEPTION_RX_NO_BUFFER);
+ returnError = EXCEPTION_RX_NO_BUFFER;
+ goto usbRxIsrExit;
+ }
+ // test for first char in a message
+ if(!bios_rx_record_.count[bios_rx_record_.active])
+ {
+ // a message must received in 100ms completely
+ // if not a timeout error generate by timerB1Isr
+ bios_global_timer_[0].count = 50; // start timeout timer 500ms
+ bios_rx_record_.crc[1] = 0;
+ // length of messages must be even
+ if(bios_rx_char_ & 0x01)
+ {
+ bios_rx_record_.size[bios_rx_record_.active] = bios_rx_char_ + 0;
+ }
+ else
+ {
+ bios_rx_record_.size[bios_rx_record_.active] = bios_rx_char_ + 1;
+ }
+ }
+ // test for buffer size
+ if(bios_rx_record_.size[bios_rx_record_.active] < (BIOS_RX_SIZE + 2))
+ {
+ DIAG_SUPPRESS(Pa082)
+ sizeToCopy = bios_rx_record_.size[bios_rx_record_.active] + 1 - bios_rx_record_.count[bios_rx_record_.active];
+ if(sizeToCopy > count)
+ {
+ sizeToCopy = count;
+ }
+ BYTE numWords = sizeToCopy/sizeof(unsigned int);
+ unsigned int *pDest = (unsigned int*) &bios_rx_record_.data[bios_rx_record_.active][bios_rx_record_.count[bios_rx_record_.active]];
+ unsigned int *pSrc = (unsigned int*) &recivedData[usbDataPointer];
+ for(unsigned char i = 0; i < numWords; ++i)
+ {
+ *pDest++ = *pSrc++;
+ }
+ for(unsigned char i = numWords*sizeof(unsigned int); i < sizeToCopy; ++i)
+ {
+ bios_rx_record_.data[bios_rx_record_.active][bios_rx_record_.count[bios_rx_record_.active]+i] = recivedData[usbDataPointer+i];
+ }
+ bios_rx_record_.count[bios_rx_record_.active] += sizeToCopy;
+ usbDataPointer += sizeToCopy;
+ count -= sizeToCopy;
+ DIAG_DEFAULT(Pa082)
+ }
+ else
+ {
+ BIOS_UsbRxError(EXCEPTION_RX_TO_SMALL_BUFFER);
+ returnError = EXCEPTION_RX_TO_SMALL_BUFFER;
+ goto usbRxIsrExit;
+ }
+
+ // test for completly message
+ DIAG_SUPPRESS(Pa082)
+ if(bios_rx_record_.count[bios_rx_record_.active] > (bios_rx_record_.size[bios_rx_record_.active]))
+ DIAG_DEFAULT(Pa082)
+ {
+ bios_global_timer_[0].count = 0; // stop timeout timer
+
+ if(bios_rx_record_.data[bios_rx_record_.active][MESSAGE_CMDTYP_POS] == RESPTYP_ACKNOWLEDGE)
+ {
+ // search for message which are waiting on a ack
+ for(unsigned char i = 0; i < BIOS_TX_QUEUS; i++)
+ {
+ DIAG_SUPPRESS(Pa082)
+ // waits a transmited message for a ACK?
+ if((bios_tx_record_.state[i] & BIOS_TX_WAIT_ON_ACK) &&
+ ((bios_tx_record_.data[i][MESSAGE_MSG_ID_POS] & 0x3F) == bios_rx_record_.data[bios_rx_record_.active][MESSAGE_MSG_ID_POS]))
+ {
+ // if the transmited message are a member of a multi package message, the ack provide the package number
+ if( bios_tx_record_.data[i][3] || (bios_rx_record_.data[bios_rx_record_.active][0] > 3) )
+ {
+ // package number are in byte 4
+ if(bios_tx_record_.data[i][3] == bios_rx_record_.data[bios_rx_record_.active][4])
+ DIAG_DEFAULT(Pa082)
+ {
+ bios_tx_record_.state[i] &= ~(BIOS_TX_WAIT_ON_ACK | BIOS_TX_TO_SEND | BIOS_TX_NO_SEND);
+ bios_global_timer_[BIOS_TIMER_TX].count = 0;
+ break;
+ }
+ }
+ else
+ {
+ bios_tx_record_.state[i] &= ~(BIOS_TX_WAIT_ON_ACK | BIOS_TX_TO_SEND | BIOS_TX_NO_SEND);
+ break;
+ }
+ }
+ }
+ }
+ else if(bios_rx_record_.data[bios_rx_record_.active][MESSAGE_CMDTYP_POS] == RESPTYP_EXCEPTION)
+ {
+ // exception with message ID = 0 always reset the communication
+ // also all user macros in the loop are terminated
+ if(bios_rx_record_.data[bios_rx_record_.active][MESSAGE_MSG_ID_POS] == 0)
+ {
+ BIOS_LedOn(BIOS_LED_POWER);
+ BIOS_LedOff(BIOS_LED_MODE);
+ bios_wb_control_ = 0;
+ returnError = RESPTYP_EXCEPTION;
+
+ }
+ else
+ {
+ // search for message which are waiting on a ack
+ for(unsigned char i = 0; i < BIOS_TX_QUEUS; i++)
+ {
+ DIAG_SUPPRESS(Pa082)
+ if(((bios_tx_record_.state[i] & (BIOS_TX_WAIT_ON_ACK | BIOS_TX_TO_SEND)) == (BIOS_TX_WAIT_ON_ACK | BIOS_TX_TO_SEND)) &&
+ (bios_tx_record_.data[i][MESSAGE_MSG_ID_POS] == bios_rx_record_.data[bios_rx_record_.active][MESSAGE_MSG_ID_POS]) &&
+ (bios_tx_record_.data[i][3] == bios_rx_record_.data[bios_rx_record_.active][4]))
+ DIAG_DEFAULT(Pa082)
+ {
+ bios_tx_record_.state[i] &= ~BIOS_TX_WAIT_ON_ACK;
+ break;
+ }
+ }
+ }
+ }
+ else if((bios_rx_record_.data[bios_rx_record_.active][MESSAGE_MSG_ID_POS] == 0) && (bios_rx_record_.data[bios_rx_record_.active][MESSAGE_CMDTYP_POS] ==CMDTYP_COMRESET))
+ {
+ // clear RX cannel
+ BIOS_UsbRxClear();
+ returnError = CMDTYP_COMRESET;
+ goto usbRxIsrExit;
+ }
+ else
+ {
+ // mark message as ready
+ // BIOS_MainLoop pass the message to v3opRx for macro execution
+ DIAG_SUPPRESS(Pa082)
+ bios_rx_record_.state[bios_rx_record_.active] |= BIOS_RX_RDY;
+ DIAG_DEFAULT(Pa082)
+ // switch to the next Rx buffer
+
+ bios_rx_record_.active++;
+ if(bios_rx_record_.active >= BIOS_RX_QUEUS)
+ {
+ bios_rx_record_.active = 0;
+ }
+ }
+ // no size error
+ bios_rx_record_.count[bios_rx_record_.active] = 0;
+ bios_rx_record_.crc[1] = 0;
+ }
+ usbRxIsrExit:
+ _NOP();
+ }
+ }
+ BIOS_ResetCts(); // release TUSB RX
+ return returnError;
+}
+
+// MSP-FET specifc bios ISR
+#ifdef MSP_FET
+
+// Dummy ISR
+#pragma optimize = low
+#pragma vector=TIMER2_A1_VECTOR
+__interrupt void TIMER2_A1_ISR(void)
+{
+ switch (__even_in_range(TA2IV, TA2IV_TA2IFG))
+ {
+ case TA2IV_TA2IFG:
+ _NOP();
+ break;
+ default:
+ _NOP();
+ break;
+ }
+}
+#pragma vector=TIMER0_B0_VECTOR
+__interrupt void TIMER0_B0_ISR_(void)
+{
+ _NOP();
+}
+#endif
+
+// Dummy ISR
+#pragma optimize = low
+#pragma vector=TIMER0_A0_VECTOR
+__interrupt void TIMER0_A0_ISR(void)
+{
+ _NOP();
+}
+/****************************************
+ * \brief Interrupt function for NMI events
+*/
+#pragma vector = UNMI_VECTOR
+__interrupt VOID UNMI_ISR(VOID)
+{
+ _DINT_FET();
+ switch (__even_in_range(SYSUNIV, SYSUNIV_BUSIFG))
+ {
+ case SYSUNIV_NONE:
+ __no_operation();
+ break;
+ case SYSUNIV_NMIIFG:
+ __no_operation();
+ break;
+ case SYSUNIV_OFIFG:
+ UCSCTL7 &= ~(DCOFFG + XT1LFOFFG + XT2OFFG); //Clear OSC flaut Flags fault flags
+ SFRIFG1 &= ~OFIFG; //Clear OFIFG fault flag
+ BIOS_LedOn(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ break;
+ case SYSUNIV_ACCVIFG:
+ __no_operation();
+ break;
+ case SYSUNIV_BUSIFG:
+ SYSBERRIV = 0; // clear bus error flag
+ USB_disable(); // Disable
+ BIOS_LedOn(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ break;
+ }
+}
+
+#pragma vector=SYSNMI_VECTOR
+__interrupt void SysNmiHandler(void)
+{
+ switch (__even_in_range(SYSUNIV, SYSUNIV_BUSIFG))
+ {
+ case SYSUNIV_NONE:
+ __no_operation();
+ break;
+ case SYSUNIV_NMIIFG:
+ __no_operation();
+ break;
+ case SYSUNIV_OFIFG:
+ UCSCTL7 &= ~(DCOFFG + XT1LFOFFG + XT2OFFG); //Clear OSC flaut Flags fault flags
+ SFRIFG1 &= ~OFIFG; //Clear OFIFG fault flag
+ BIOS_LedOn(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ break;
+ case SYSUNIV_ACCVIFG:
+ __no_operation();
+ break;
+ case SYSUNIV_BUSIFG: //USB is required.
+ SYSBERRIV = 0; //clear bus error flag
+ USB_disable(); //Disable
+ BIOS_LedOn(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ break;
+ }
+}
diff --git a/Bios/src/fw/fet/bios.h b/Bios/src/fw/fet/bios.h
new file mode 100644
index 0000000..f3d1678
--- /dev/null
+++ b/Bios/src/fw/fet/bios.h
@@ -0,0 +1,247 @@
+/*
+ * bios.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULBIOS
+//! \file bios.h
+//! \brief
+
+#ifndef _V3_BIOS_H_
+#define _V3_BIOS_H_
+
+#include "hw_compiler_specific.h"
+#include "hil_Structs.h"
+
+//*********** Defines ***********
+#define BIOS_LED_MODE 0
+#define BIOS_LED_POWER 1
+
+#define BIOS_RX_SIZE 258
+#define BIOS_RX_QUEUS 4
+#define BIOS_TX_SIZE 258
+#define BIOS_TX_QUEUS 1
+#define BIOS_TX_FLAGS 1
+
+#define BIOS_RX_RDY 0x01
+#define BIOS_RX_CRC_ERROR 0x02
+#define BIOS_RX_SIZE_ERROR 0x04
+#define BIOS_TX_TO_SEND 0x01
+#define BIOS_TX_WAIT_ON_ACK 0x02
+#define BIOS_TX_NO_SEND 0x04
+#define BIOS_TX_BUSY 0x08
+
+#define BIOS_TX_TIMEOUT 50
+
+#define BIOS_TIMER_BREAK 0x01
+#define BIOS_TIMER_COUNT 2
+#define BIOS_TIMER_RX 0
+#define BIOS_TIMER_TX 1
+
+#define COM_CHANNEL 2
+#define DEBUG_CHANNEL 0
+
+//*********** Structure definitions ***********
+//! \struct Contains received messages
+typedef struct _BiosRxRecord_
+{
+ unsigned char *data[BIOS_RX_QUEUS];
+ unsigned short *datas[BIOS_RX_QUEUS];
+ unsigned short count[BIOS_RX_QUEUS];
+ unsigned short size[BIOS_RX_QUEUS];
+ unsigned short last_msg_call;
+ unsigned short crc[BIOS_RX_QUEUS];
+ unsigned char active;
+ unsigned char last_cmd_typ;
+ unsigned char last_msg_id;
+ unsigned char state[BIOS_RX_QUEUS];
+} BiosRxRecord;
+
+
+
+//! \struct Contains messages to be transmitted
+typedef struct _BiosTxRecord_
+{
+ unsigned char active;
+ unsigned char cannel_to_send;
+ unsigned short send_counter[BIOS_TX_QUEUS];
+ unsigned short ack_timeout[BIOS_TX_QUEUS];
+ unsigned char state[BIOS_TX_QUEUS];
+ unsigned short count[BIOS_TX_QUEUS];
+ unsigned short datas[BIOS_TX_QUEUS][BIOS_TX_SIZE/sizeof(unsigned short)];
+ unsigned char *data[BIOS_TX_QUEUS];
+ unsigned short *ext_data;
+ unsigned short ext_size;
+ unsigned short ext_counter;
+} BiosTxRecord;
+
+// System events
+typedef enum SYSTEM_EVENT_MSP
+{
+ /// System event FET connection is lost
+ FET_CONNECTION_LOST = 0,
+ /// System event device connection is lost
+ DEVICE_CONNECTION_LOST,
+ /// System event FET restart needed
+ FET_RESTART_NEEDED,
+ /// System event device entered LPMx.5
+ DEVICE_IN_LPM5_MODE,
+ /// System event devices wakes up from LPMx.5
+ DEVICE_WAKEUP_LPM5_MODE,
+ /// System event - overcurrent detection on JTAG lines or VCC line
+ FET_OVERCURRENT,
+ /// System event - Timout occourt during FPGA DR/IR shift
+ FET_FPGA_TIMOUT,
+} SystemEventMsp;
+
+struct BIOS_RxError
+{
+ unsigned short bios_rx_err_code_;
+ unsigned short *bios_rx_err_payload_;
+ unsigned short bios_rx_err_id_;
+ unsigned short bios_rx_err_set_;
+};
+typedef struct BIOS_RxError BIOS_RxError_t;
+
+//! \struct Global timer used for timeouts
+struct _BiosGlobalTimer_
+{
+ unsigned short count;
+ unsigned char state;
+};
+typedef struct _BiosGlobalTimer_ BiosGlobalTimer;
+
+//*********** Function protoypes ***********
+
+//! \brief System start up
+void BIOS_InitSystem(void);
+void BIOS_SuspendSystem(void);
+void BIOS_ResumeSystem(void);
+
+//! \brief setup receiver buffers
+void BIOS_InitCom(void);
+
+//! \brief switch LED on
+//! \details only the LED control struc are manipulated. The
+//! hardware are in timerB1Isr driven
+//! \param[in] LED no 0 = BIOS_LED_MODE (red)\n
+//! 1 = BIOS_LED_POWER (green)
+//! \return always 0
+short BIOS_LedOn(unsigned char no);
+
+//! \brief switch LED off
+//! \details only the LED control struc are manipulated. The
+//! hardware are in timerB1Isr driven
+//! \param[in] no 0 = BIOS_LED_MODE (red)\n
+//! 1 = BIOS_LED_POWER (green)
+//! \return always 0
+short BIOS_LedOff(unsigned char no);
+
+//! \brief LED blink continuous
+//! \param[in] no 0 = BIOS_LED_MODE (red)\n
+//! 1 = BIOS_LED_POWER (green)
+//! \param[in] time (*20ms)
+//! \return always 0
+short BIOS_LedBlink(unsigned char no,unsigned short time);
+
+//! \brief LED flashes for a time
+//! \param[in] no 0 = BIOS_LED_MODE (red)\n
+//! 1 = BIOS_LED_POWER (green)
+//! \param[in] time (*20ms)
+//! \return always 0
+//! \details if the LED is on, the LED goes off for "time"
+//! if the LED is off, the LED goes on for "time"
+short BIOS_LedFlash(unsigned char no,unsigned short time);
+
+//! \brief LEDs blink alternated
+//! \param[in] time (*20ms)
+//! \return always 0
+//! \details both LED are alternated on.
+short BIOS_LedAlternate(unsigned short time);
+
+//! \brief fatal error
+//! \details LED are alternated, function never return
+void BIOS_GlobalError(void);
+
+//! \brief clear RX hard and software buffer
+void BIOS_UsbRxClear(void);
+
+//! \brief trigger a error message
+//! \details trigger a error message and clear the RX hard and software buffers
+void BIOS_UsbRxError(unsigned short code);
+
+void BIOS_UsbTxClear(void);
+//! \brief clears the TX software buffer
+void BIOS_UsbTxError(void);
+
+//! \brief finsh record to send
+void BIOS_PrepareTx(unsigned int size);
+
+//! \brief Stop RX
+//! \details set CTS to TUSB and break RX timeout timer
+void BIOS_SetCts();
+
+//! \brief release (restart) RX
+//! \details reset CTS to TUSB and RX timeout timer running
+void BIOS_ResetCts();
+
+//! \brief trigger sending of TX buffer
+//! \details to send the first char we set UTXIFG, followed char loaded by
+//! true TX buffer empty interrupt
+void BIOS_StartTx(void);
+short BIOS_UsbRxData(void);
+
+unsigned long Bios_getDcdc_signature();
+unsigned long Bios_getHal_signature();
+unsigned long Bios_getHil_signature();
+unsigned long Bios_getCom_signature();
+
+unsigned long Bios_getHal_intvec();
+unsigned short Bios_getHil_intvec();
+unsigned long Bios_getDcdc_intvec();
+unsigned long Bios_getCom_intvec();
+
+unsigned short Bios_getCore_version();
+unsigned short Bios_getTool_id();
+unsigned short Bios_getInfo_hw_0();
+unsigned short Bios_getInfo_hw_1();
+
+short BIOS_IsUsbRxError();
+BIOS_RxError_t BIOS_getRxError();
+void BIOS_ClearUsbRxError();
+
+extern volatile BiosRxRecord bios_rx_record_;
+extern volatile BiosTxRecord bios_tx_record_;
+extern volatile BiosGlobalTimer bios_global_timer_[BIOS_TIMER_COUNT];
+extern char bios_wb_control_;
+#endif
diff --git a/Bios/src/fw/fet/communicationDefs.h b/Bios/src/fw/fet/communicationDefs.h
new file mode 100644
index 0000000..fafac19
--- /dev/null
+++ b/Bios/src/fw/fet/communicationDefs.h
@@ -0,0 +1,61 @@
+/*
+ * communicationDefs.h
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef communicationDefs_H_
+#define communicationDefs_H_
+
+#define MESSAGE_SIZE_POS 0
+#define MESSAGE_CMDTYP_POS 1
+#define MESSAGE_MSG_ID_POS 2
+#define MESSAGE_INSIZE_POS 3
+#define MESSAGE_PAYLOAD_POS 4
+#define MESSAGE_EXECUTE_CALL_ADDR_POS 4
+#define MESSAGE_EXECUTE_ZERO_ADDR_POS 6
+#define MESSAGE_EXECUTE_PAYLOAD_POS 6
+
+#define MESSAGE_NO_RESPONSE 0x8000
+#define EXCEPTION_NOT_IMPLEMENT_ERR 0x8001
+#define EXCEPTION_MSGID_ERR 0x8002
+#define EXCEPTION_CRC_ERR 0x8003
+#define EXCEPTION_RX_TIMEOUT_ERR 0x8004
+#define EXCEPTION_TX_TIMEOUT_ERR 0x8005
+#define EXCEPTION_RX_OVERFLOW_ERR 0x8006
+#define EXCEPTION_TX_NO_BUFFER 0x8007
+#define EXCEPTION_COM_RESET 0x8008
+#define EXCEPTION_RX_NO_BUFFER 0x8009
+#define EXCEPTION_RX_TO_SMALL_BUFFER 0x800A
+#define EXCEPTION_RX_LENGTH 0x800B
+
+#endif /* communicationDefs_H_ */
diff --git a/Bios/src/fw/fet/cstartup_Hal.s43 b/Bios/src/fw/fet/cstartup_Hal.s43
new file mode 100644
index 0000000..0655e97
--- /dev/null
+++ b/Bios/src/fw/fet/cstartup_Hal.s43
@@ -0,0 +1,417 @@
+/* --------------------------------------------------------------------------
+* Copyright 2012, IAR Systems AB.
+*
+* This source code is the property of IAR Systems. The source code may only
+* be used together with the IAR Embedded Workbench. Redistribution and use
+* in source and binary forms, with or without modification, is permitted
+* provided that the following conditions are met:
+*
+* - Redistributions of source code, in whole or in part, must retain the
+* above copyright notice, this list of conditions and the disclaimer below.
+*
+* - IAR Systems name may not be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*
+*
+* $Revision: 5271 $
+* ------------------------------------------------------------------------*/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+#ifdef DISABLE_WATCHDOG
+#include "msp430.h"
+#endif
+
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+
+// ---------------------------------------------------------
+// System initialization.
+//
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+#endif
+ pushx R4
+ pushx R5
+ pushx R6
+ pushx R7
+ pushx R8
+ pushx R9
+ pushx R10
+ pushx R11
+ pushx R12
+ pushx R13
+ pushx R14
+ pushx R15
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+// no stack pointer, stack pointer is administered from bios
+// MOV #SFE(CSTACK), SP
+
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XCALL #__low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+ NOP
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ MOV #SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XCALL #__data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ MOVA #SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XCALL #__data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XCALL #__data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ MOV #SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XCALL #__data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XCALL #__data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ MOVA #SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XCALL #__data20_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+#endif // MSP430X
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+#ifdef REGISTER_MODEL_REG20
+
+ MOVA #SFB DIFUNCT, CW0
+ MOVA #SFE DIFUNCT, CW1
+
+#else /* REGISTER_MODEL_REG20 */
+
+ MOV.W #SFB DIFUNCT, CW0
+ MOV.W #SFE DIFUNCT, CW1
+
+#endif /* REGISTER_MODEL_REG20 */
+
+ XCALL #__call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+// EXTERN main
+ EXTERN ResetFirmware
+?cstart_call_main:
+// XCALL
+ popx R15
+ popx R14
+ popx R13
+ popx R12
+ popx R11
+ popx R10
+ popx R9
+ popx R8
+ popx R7
+ popx R6
+ popx R5
+ popx R4
+
+ movx.a #ResetFirmware,PC
+// mov #main,PC
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC32 __program_start
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/fw/fet/hal.c b/Bios/src/fw/fet/hal.c
new file mode 100644
index 0000000..6518a9a
--- /dev/null
+++ b/Bios/src/fw/fet/hal.c
@@ -0,0 +1,203 @@
+/*
+ * hal.c
+ *
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHAL
+//! \file hal.c
+//!
+
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "string.h"
+
+
+// global variables to handle JTAG chain
+unsigned short activeDevice;
+REQUIRED(activeDevice)
+
+unsigned char numOfDevices;
+REQUIRED(numOfDevices)
+
+unsigned short TCE;
+REQUIRED(TCE)
+
+DevicePowerSettings devicePowerSettings;
+REQUIRED(devicePowerSettings)
+
+DeviceSettings deviceSettings;
+REQUIRED(deviceSettings)
+
+// global variables to handle Emulation clock control
+unsigned long _hal_mclkCntrl0;
+REQUIRED(_hal_mclkCntrl0)
+
+HalRec hal_functions_[HAL_FUNCTIONS_SIZE];
+
+unsigned short setPCclockBeforeCapture = 0;
+REQUIRED(setPCclockBeforeCapture)
+
+unsigned short altRomAddressForCpuRead;
+REQUIRED(altRomAddressForCpuRead)
+
+unsigned short wdtctlAddress5xx = 0x15C;
+REQUIRED(wdtctlAddress5xx)
+
+unsigned short enhancedPsa = 0;
+REQUIRED(enhancedPsa)
+
+char traceBuffer[256]; ///< Trace buffer used to print out JTAG IR and DR shofts to debug port
+
+// global variables use for JTAG/SWD DAP
+unsigned long cswValues[4];
+REQUIRED(cswValues)
+
+ARMConfigSettings armConfigSettings;
+REQUIRED(armConfigSettings)
+
+#ifndef __data20
+#define __data20
+#endif
+
+#define MACRO(x) {ID_##x, (void __data20 *)_hal_##x },
+HalRec hal_functions_default_[HAL_FUNCTIONS_DEFAULT_SIZE] =
+{
+ MACRO(Zero)
+ MACRO_LIST
+};
+#undef MACRO
+
+REQUIRED(_init_Hal)
+
+
+void _init_Hal(void)
+{
+ unsigned char i;
+
+ for(i=0; i < (sizeof(hal_functions_)/sizeof(HalRec)); i++)
+ {
+ if(i < (sizeof(hal_functions_default_)/sizeof(HalRec)))
+ {
+ hal_functions_[i].id = hal_functions_default_[i].id;
+ hal_functions_[i].function = hal_functions_default_[i].function;
+ }
+ else
+ {
+ hal_functions_[i].id = 0xFFFF;
+ hal_functions_[i].function = NULL;
+ }
+ }
+}
+
+HAL_FUNCTION(_hal_Zero)
+{
+ return 0;
+}
+
+HAL_FUNCTION(_hal_Init)
+{
+ //EDT_Init();
+ return 0;
+}
+
+extern unsigned int LPMx5_DEVICE_STATE;
+extern int intstate;
+extern unsigned long long prevJState;
+extern unsigned short lastTraceWritePos;
+
+
+HAL_FUNCTION(_hal_ResetStaticGlobalVars)
+{
+ LPMx5_DEVICE_STATE = 1;
+ intstate = 0;
+ prevJState = 0x0000000000000000;
+ lastTraceWritePos = 0;
+ return 0;
+}
+
+HAL_FUNCTION(_hal_SetVcc)
+{
+ unsigned short vcc;
+ STREAM_get_word(&vcc);
+ IHIL_SetVcc(vcc);
+ return 0;
+}
+
+
+HAL_FUNCTION(_hal_SwitchMosfet)
+{
+#ifdef MSP_FET
+ unsigned short on = 0;
+ STREAM_get_word(&on);
+ if (on)
+ {
+ IHIL_SwitchVccFET(1);
+ }
+ else
+ {
+ IHIL_SwitchVccFET(0);
+ }
+ return 0;
+#else
+ return -1;
+#endif
+}
+
+
+HAL_FUNCTION(_hal_GetVcc)
+{
+ double vcc = 0;
+ double ext_vcc = 0;
+
+ IHIL_GetVcc(&vcc, &ext_vcc);
+ STREAM_put_word((unsigned short)vcc);
+ STREAM_put_word((unsigned short)ext_vcc);
+ return 0;
+}
+
+HAL_FUNCTION(_hal_GetFuses)
+{
+ config_fuses();
+ STREAM_put_byte((unsigned char)SetReg_8Bits(0));
+ return 0;
+}
+
+HAL_FUNCTION(_hal_DummyMacro)
+{
+ return -1;
+}
+/* EOF */
diff --git a/Bios/src/fw/fet/halMain.c b/Bios/src/fw/fet/halMain.c
new file mode 100644
index 0000000..9409ed8
--- /dev/null
+++ b/Bios/src/fw/fet/halMain.c
@@ -0,0 +1,262 @@
+/*
+ * halMain.c
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHAL
+//! \file halMain.c
+//! \brief
+//!
+//! files \n
+//! \li startup.s43
+//! \li halMain.c
+//! \li hal.c
+//! \li halGlobalVars.c
+
+#include "hw_compiler_specific.h"
+#include "stream.h"
+#include "hal.h"
+#include "edt.h"
+#include "stdlib.h"
+#include "string.h"
+#include "HalGlobalVars.h"
+#include "../fw/fet/FetVersion.h"
+#include "arch.h"
+
+#define HAL_SIGNATURE 0xBEEFBEEFul
+
+extern void globalVarsInit(void);
+
+REQUIRED(_edt_Common_Methods)
+edt_common_methods_t _edt_Common_Methods;
+
+REQUIRED(_edt_Distinct_Methods)
+edt_distinct_methods_t _edt_Distinct_Methods;
+
+extern short _hil_Init( void );
+extern unsigned long _hal_mclkCntrl0;
+
+// prototypes for core/HAL interface
+void *ResetFirmware(void *stream_adr, unsigned long device_flags, unsigned char v3opHilCrcOk, unsigned char v3opDcdcCcOk);
+
+CONST_AT(HAL_INFOS hal_infos_, 0x1904) =
+{
+ ResetFirmware, // _initTask
+ (VERSION_MAJOR - 1) << 14 |
+ (VERSION_MINOR << 8) |
+ VERSION_PATCH,
+ VERSION_BUILD
+};
+REQUIRED(hal_infos_)
+
+const unsigned long hal_Signature_ @ "HALSIGNATURE" = HAL_SIGNATURE;
+#pragma required = hal_Signature_
+
+//! \brief Pointer to HAL IRQ vector table
+RO_PLACEMENT_NO_INIT volatile const unsigned short hil_Start_UP_ @ "HILINIT";
+RO_PLACEMENT_NO_INIT volatile const unsigned long hil_signature_ @ "HILSIGNATURE";
+RO_PLACEMENT_NO_INIT volatile const unsigned short hil_version_ @ "HILVERSION";
+RO_PLACEMENT_NO_INIT volatile const unsigned short hil_versionCmp_ @ "HILVERSIONCMP";
+
+
+short _dummy_Init( void ){return 0;};
+short _dummy_SetVcc(unsigned short Vcc){return 0;};
+void _dummy_SwitchVccFET(unsigned short state) {return;};
+short _dummy_GetVcc(double* Vcc, double* ExtVcc){return 0;};
+
+short _dummy_SetProtocol(unsigned short protocol_id){return 0;};
+void _dummy_SetPsaSetup(unsigned short enhanced){return;};
+void _dummy_SetPsaTCLK(unsigned short tclkValue){return;};
+
+short _dummy_Open( unsigned char state ){return 0;};
+short _dummy_Close( void ){return 0;};
+short _dummy_IccMonitor_Process(unsigned short flags){return 0;}; // flags: to be compatible with HIL calls
+void _dummy_EntrySequences(unsigned char states){return;};
+
+void _dummy_SetReset(unsigned char value){return;};
+void _dummy_SetTest(unsigned char value){return;};
+void _dummy_SetTMS(unsigned char value){return;};
+void _dummy_SetTDI(unsigned char value){return;};
+void _dummy_SetTCK(unsigned char value){return;};
+
+void _dummy_SetJtagSpeed(unsigned short jtagSpeed, unsigned short sbwSpeed){return;};
+void _dummy_ConfigureSetPc (unsigned short PCclockBeforeCapture){return;};
+
+void _dummy_initDelayTimer(void) {return;};
+short _dummy_regulateVcc(void) {return 0;};
+unsigned short _dummy_getFpgaVersion(void) {return 0;};
+
+void _dummy(unsigned short dummy){return;};
+
+short _dummy_TapReset_Dma(void){return 0;}
+short _dummy_CheckJtagFuse_Dma(void){return 0;}
+unsigned char _dummy_Instr_Dma(unsigned char Instruction){return 0;}
+unsigned char _dummy_SetReg_XBits08_Dma(unsigned char Data){return 0;}
+unsigned short _dummy_SetReg_XBits16_Dma(unsigned short Data){return 0;}
+unsigned long _dummy_SetReg_XBits20_Dma(unsigned long Data){return 0;}
+unsigned long _dummy_SetReg_XBits32_Dma(unsigned long Data){return 0;}
+unsigned long long _dummy_SetReg_XBits64_Dma(unsigned long long Data){return 0;}
+unsigned long long _dummy_SetReg_XBits8_64_Dma(unsigned long long Data, unsigned short loopCount, unsigned short Pg){return 0;}
+void _dummy_Tclk_Dma(unsigned char state){return;}
+void _dummy_StepPsa_Dma(unsigned long length){return;}
+void _dummy_StepPsaTclkHigh_Dma(unsigned long length){return;}
+short _dummy_BlowFuse_Dma(unsigned char targetHasTestVpp){return 0;}
+void _dummy_ConfigureSpeed_Dma(unsigned short speed){return;}
+void _dummy_initTimerB0(void){return;}
+void _dummy_BSL_EntrySequence(unsigned short switchBypassOff){return;}
+unsigned char _dummy_GetPrevInstruction (void){return 0;}
+void _dummy_ReadADC12(void){return;}
+void _dummy_ConfigFpgaIoMode(unsigned short mode){return;}
+
+unsigned long long _dummy_SetReg_XBits(unsigned long long *data, unsigned short count){return 0;}
+unsigned char _dummy_Instr_4(unsigned char Data){return 0;}
+
+short _dummy_write_read_Dp(unsigned char address, unsigned long *data, unsigned short rnw) {return -1;}
+short _dummy_write_read_Ap(unsigned long address, unsigned long *data, unsigned short rnw) {return -1;}
+short _dummy_write_read_mem_Ap(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw) {return -1;}
+
+void _dummy_setFpgaTimeOut(unsigned short state) {return;};
+
+struct stream_funcs *_stream_Funcs;
+
+HAL_INFOS hal_infos_in_ram_;
+
+// called via cstartup form BIOS_HalInterfaceInit
+REQUIRED(ResetFirmware)
+void *ResetFirmware(void *stream_adr, unsigned long device_flags, unsigned char v3opHilCrcOk, unsigned char v3opDcdcCcOk)
+{
+ globalVarsInit();
+ memcpy((HAL_INFOS*)&hal_infos_in_ram_,&hal_infos_, sizeof(hal_infos_));
+ // save address of stream funcs, located in core
+ _stream_Funcs=(struct stream_funcs *)stream_adr;
+ _init_Hal();
+ hal_infos_in_ram_.swCmp_0 = (VERSION_MAJOR_CMP - 1) << 14 | (VERSION_MINOR_CMP << 8) | VERSION_PATCH_CMP;
+ hal_infos_in_ram_.swCmp_1 = VERSION_BUILD_CMP;
+
+ {
+ // check if we have a valid hil layer programmed into our tool
+ if(hil_signature_ == 0xF00DF00D && hil_Start_UP_ != 0xFFFF && v3opHilCrcOk)
+ {
+ // INIT HIL layer
+ HilInitGetEdtCommenFunc hilEdtCom = NULL;
+ // set pointer to edt commen functions
+ hilEdtCom = (HilInitGetEdtCommenFunc)0x18A0;
+ hilEdtCom(&_edt_Common_Methods);
+ hal_infos_in_ram_.hil_version = hil_version_;
+ hal_infos_in_ram_.hil_versionCmp = hil_versionCmp_;
+#ifdef eZ_FET
+ if(v3opDcdcCcOk)
+ {
+ _edt_Common_Methods.SwitchVccFET(LDO_ON);
+ }
+#endif
+
+
+#ifdef MSP_FET
+ // Force to not update for Beta1
+ hal_infos_in_ram_.fpga_version = _edt_Common_Methods.getFpgaVersion();
+ // power up VCC as FET power supply
+ if(v3opDcdcCcOk)
+ {
+ _edt_Common_Methods.SetVcc(3300);
+ _edt_Common_Methods.SwitchVccFET(1);
+ }
+#else
+ hal_infos_in_ram_.fpga_version = 0;
+#endif
+ }
+ else
+ {
+ // if hil layer is not valid or no startup address was found
+ hal_infos_in_ram_.hil_version = 0;
+ hal_infos_in_ram_.fpga_version = 0;
+
+ _edt_Common_Methods.Init = _dummy_Init;
+ _edt_Common_Methods.SetVcc = _dummy_SetVcc;
+ _edt_Common_Methods.GetVcc = _dummy_GetVcc;
+ _edt_Common_Methods.SetProtocol = _dummy_SetProtocol;
+ _edt_Common_Methods.SetPsaTCLK = _dummy_SetPsaTCLK;
+ _edt_Common_Methods.Open = _dummy_Open;
+ _edt_Common_Methods.Close = _dummy_Close;
+ _edt_Common_Methods.Delay_1us = _dummy;
+ _edt_Common_Methods.Delay_1ms = _dummy;
+ _edt_Common_Methods.Loop = _dummy_IccMonitor_Process;
+ _edt_Common_Methods.EntrySequences = _dummy_EntrySequences;
+ _edt_Common_Methods.SetReset = _dummy_SetReset;
+ _edt_Common_Methods.SetTest = _dummy_SetTest;
+ _edt_Common_Methods.SetTMS = _dummy_SetTMS;
+ _edt_Common_Methods.SetTDI = _dummy_SetTDI;
+ _edt_Common_Methods.SetTCK = _dummy_SetTCK;
+ _edt_Common_Methods.SetJtagSpeed = _dummy_SetJtagSpeed;
+ _edt_Common_Methods.ConfigureSetPc = _dummy_ConfigureSetPc;
+ _edt_Common_Methods.initDelayTimer = _dummy_initDelayTimer;
+ _edt_Common_Methods.regulateVcc = _dummy_regulateVcc;
+ _edt_Common_Methods.getFpgaVersion = _dummy_getFpgaVersion;
+ _edt_Common_Methods.BSL_EntrySequence = _dummy_BSL_EntrySequence;
+ _edt_Common_Methods.SwitchVccFET = _dummy_SwitchVccFET;
+ _edt_Common_Methods.setFpgaTimeOut = _dummy_setFpgaTimeOut;
+ _edt_Common_Methods.regulateVcc = _dummy_regulateVcc;
+ _edt_Common_Methods.ReadADC12 = _dummy_ReadADC12;
+ _edt_Common_Methods.ConfigFpgaIoMode = _dummy_ConfigFpgaIoMode;
+
+ _edt_Distinct_Methods.TapReset = _dummy_TapReset_Dma;
+ _edt_Distinct_Methods.CheckJtagFuse = _dummy_CheckJtagFuse_Dma;
+ _edt_Distinct_Methods.Instr = _dummy_Instr_Dma;
+ _edt_Distinct_Methods.SetReg_XBits08 = _dummy_SetReg_XBits08_Dma;
+ _edt_Distinct_Methods.SetReg_XBits16 = _dummy_SetReg_XBits16_Dma;
+ _edt_Distinct_Methods.SetReg_XBits20 = _dummy_SetReg_XBits20_Dma;
+ _edt_Distinct_Methods.SetReg_XBits32 = _dummy_SetReg_XBits32_Dma;
+ _edt_Distinct_Methods.SetReg_XBits64 = _dummy_SetReg_XBits64_Dma;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = _dummy_SetReg_XBits8_64_Dma;
+ _edt_Distinct_Methods.Tclk = _dummy_Tclk_Dma;
+ _edt_Distinct_Methods.StepPsa = _dummy_StepPsaTclkHigh_Dma;
+ _edt_Distinct_Methods.BlowFuse = _dummy_BlowFuse_Dma;
+ _edt_Distinct_Methods.GetPrevInstruction = _dummy_GetPrevInstruction;
+ _edt_Distinct_Methods.SetReg_XBits = _dummy_SetReg_XBits;
+ _edt_Distinct_Methods.Instr04 = _dummy_Instr_4;
+ _edt_Distinct_Methods.write_read_Dp = _dummy_write_read_Dp;
+ _edt_Distinct_Methods.write_read_Ap = _dummy_write_read_Ap;
+ _edt_Distinct_Methods.write_read_mem_Ap = _dummy_write_read_mem_Ap;
+ }
+ }
+
+ _hal_mclkCntrl0=0x040f;
+ hal_infos_in_ram_.hal_size = sizeof(hal_functions_)/sizeof(HalRec);
+ hal_infos_in_ram_.hal_list_ptr = hal_functions_;
+ return((void*)&hal_infos_in_ram_); // return software infos
+}
+
+unsigned short hal_GetHilVersion()
+{
+ return 0;
+}
diff --git a/Bios/src/fw/fet/main.c b/Bios/src/fw/fet/main.c
new file mode 100644
index 0000000..e87a9a3
--- /dev/null
+++ b/Bios/src/fw/fet/main.c
@@ -0,0 +1,159 @@
+/*
+ * main.c
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "USB_API/USB_Common/types.h" //Basic Type declarations
+#include "USB_API/USB_Common/usb.h" //USB-specific functions
+#include "Bios.h"
+#include "init.h"
+#include "usbMain.h"
+#include "v3_0p_hw_FET.h"
+#include "v3_0p.h"
+#include "Fet_IccMonitor.h"
+/****************************************/
+
+void dummy_Scheduler(void){};
+void dummy_UsbLoop(void){};
+
+short debuggerOff = 0;
+
+struct LOOP_INFOS
+{
+ void (*Scheduler)(void);
+ void (*UsbLoop)(void);
+};
+typedef struct LOOP_INFOS LOOP_INFOS_t;
+
+LOOP_INFOS_t loopInfos_ =
+{
+ V3OP_Scheduler,
+ dummy_UsbLoop,
+};
+
+void main(void)
+{
+ WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
+
+ if(!V3OP_SystemOk())
+ {
+ WDTCTL = 0;
+ }
+
+ init_BiosPorts();
+ init_Clock();
+
+ BIOS_LedOff(BIOS_LED_MODE);
+ BIOS_LedOn(BIOS_LED_POWER);
+
+ // Initialize USB and enable various events
+ USB_init();
+ WORD USBEVIE = kUSB_VbusOnEvent+kUSB_VbusOffEvent+kUSB_dataReceivedEvent+kUSB_UsbSuspendEvent+kUSB_UsbResumeEvent+kUSB_UsbResetEvent;
+ USB_setEnabledEvents(USBEVIE);
+ // See if we're already attached physically to USB, and if so, connect to it
+ // Normally applications don't invoke the event handlers, but this is an exception.
+ if (USB_connectionInfo() & kUSB_vbusPresent)
+ {
+ if (USB_enable() == kUSB_succeed)
+ {
+ USB_reset();
+ USB_connect();
+ }
+ else
+ {
+ BIOS_LedOff(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ while(1);
+ }
+ }
+ else
+ {
+ BIOS_LedOff(BIOS_LED_POWER);
+ BIOS_LedOn(BIOS_LED_MODE);
+ while(1);
+ }
+
+ // init Bios
+ BIOS_InitSystem();
+ BIOS_InitCom();
+
+ V3OP_ComInterfaceClear();
+ V3OP_DcdcInterfaceClear();
+
+ // int Sw Layers
+ V3OP_DcdcInterfaceInit();
+ V3OP_HalInterfaceInit();
+ V3OP_ComInterfaceInit();
+
+ IccMonitor_StartVoltageSupervision();
+ _EINT_FET();
+
+ IccMonitor_TriggerAdc();
+
+ while(1)
+ {
+ loopInfos_.UsbLoop();
+ loopInfos_.Scheduler();
+ }
+}
+
+void switchDebugerOff()
+{
+ TA1CTL &= ~TAIE;
+ TB0CTL &= ~TBIE;
+ TA0CTL &= ~TAIE;
+
+ loopInfos_.Scheduler = dummy_Scheduler;
+ loopInfos_.UsbLoop = USB_MainLoop;
+ debuggerOff = 1;
+}
+
+
+void switchDebugerOn()
+{
+ loopInfos_.Scheduler = V3OP_Scheduler;
+ loopInfos_.UsbLoop = dummy_UsbLoop;
+ TA1CTL |= TAIE;
+ TB0CTL |= TBIE;
+ TA0CTL |= TAIE;
+ debuggerOff = 0;
+}
+
+void switchOnUart()
+{
+ if(!debuggerOff)
+ {
+ loopInfos_.Scheduler = V3OP_Scheduler;
+ loopInfos_.UsbLoop = USB_MainLoop;
+ }
+}
diff --git a/Bios/src/fw/fet/stream.c b/Bios/src/fw/fet/stream.c
new file mode 100644
index 0000000..2cf0a7e
--- /dev/null
+++ b/Bios/src/fw/fet/stream.c
@@ -0,0 +1,701 @@
+/*
+ * stream.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+//! \ingroup MODULBIOS
+//! \file stream.c
+//! \brief managment of input and output data between USB and HAL, and HAL and HAL
+//! \details Get/put a data stream (message packet) form/to the bios rx/tx layer. Monitor both streams
+//! and send response packets and request next message packets. Also is stream.c the interface to HAL. On
+//! HAL init the call addresses are handover to the HAL.
+//! \author Detlef Fink (09/21/2010)
+
+
+#include "bios.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+#include "usbConstructs.h"
+#include "hw_compiler_specific.h" // included from bios.h?, not needed for LPT
+#include "stream.h"
+#include "string.h"
+
+struct _StreamInput_
+{
+ unsigned char *data_start;
+ unsigned char *data_end;
+ unsigned char *data_ptr;
+};
+typedef struct _StreamInput_ StreamInput;
+StreamInput stream_input_;
+
+// prototyes
+unsigned char _stream_out_change_type(unsigned char res_type);
+unsigned char _stream_out_change_msg_id(unsigned char msg_id);
+short _stream_out_init(unsigned char msg_id, unsigned char res_type);
+short _stream_flush(void);
+short _stream_put_bytes(void* data, unsigned short size);
+short _stream_put_byte(unsigned char data);
+short _stream_put_word(unsigned short data);
+short _stream_put_long(unsigned long data);
+short _stream_in_init(void *ptr, unsigned char no);
+short _stream_internal_stream(unsigned char *data_in, unsigned short size_in, unsigned char *data_out, unsigned short size_out, StreamSafe *tmp_record);
+short _stream_external_stream(StreamSafe *tmp_record);
+short _stream_get_byte(unsigned char *data );
+short _stream_get_word(unsigned short *data);
+short _stream_get_long(unsigned long *data);
+short _stream_get_buffer(void **buffer, unsigned short *size);
+short _stream_discard_bytes(unsigned short count);
+short _stream_memcpy(unsigned char* destination, unsigned char* source, unsigned short count);
+short _stream_getFlags(void);
+short _stream_putFlags(short flags, short mask);
+
+short _stream_getSharedVariable(unsigned short IdMemoryType, unsigned short** Address);
+short _stream_deleteSharedVariable(unsigned short IdMemoryType);
+
+short _stream_send_debug(char *buffer, unsigned short size);
+
+// stream functions
+struct stream_funcs _stream_Funcs =
+{
+ _stream_out_init,
+ _stream_flush,
+ _stream_put_byte,
+ _stream_put_bytes,
+ _stream_put_word,
+ _stream_put_long,
+ _stream_in_init,
+ _stream_internal_stream,
+ _stream_external_stream,
+ _stream_out_change_type,
+ _stream_get_byte,
+ _stream_get_word,
+ _stream_get_long,
+ _stream_get_buffer,
+ _stream_discard_bytes,
+ _stream_memcpy,
+ // used form downgrader
+ BIOS_LedOn,
+ BIOS_LedOff,
+ BIOS_LedBlink,
+ BIOS_LedFlash,
+ BIOS_LedAlternate,
+ _stream_send_debug,
+ _stream_getSharedVariable,
+ _stream_deleteSharedVariable
+};
+
+#define SHARED_VARIABLES_SIZE 128 // words -> 256 bytes
+
+__no_init unsigned short sharedVariables_[128] @ "SHARED_VARIABLES";
+#pragma required = sharedVariables_
+
+void STREAM_resetSharedVariables()
+{
+ short i = 0;
+ for(i = 0; i < SHARED_VARIABLES_SIZE; i++)
+ {
+ sharedVariables_[i] = 0x00;
+ }
+}
+
+#pragma optimize = low
+short _stream_deleteSharedVariable(unsigned short IdMemoryType)
+{
+ short i = 0;
+ for(i = 0; i < SHARED_VARIABLES_SIZE ; i = i+2 )
+ {
+ // check if Shared Memory Type is already requested
+ if(sharedVariables_[i] == IdMemoryType)
+ {
+ // if yes set to init value 0x00
+ sharedVariables_[i] = 0x00;
+ sharedVariables_[i+1] = 0x00;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+#pragma optimize = low
+short _stream_getSharedVariable(unsigned short IdMemoryType, unsigned short** Address)
+{
+ short i = 0;
+ for(i = 0; i < SHARED_VARIABLES_SIZE ; i = i+2 )
+ {
+ // check if Shared Memory Type is already requested
+ if(sharedVariables_[i] == IdMemoryType)
+ {
+ // if yes just return the address of the requested variable
+ *Address = &sharedVariables_[i+1];
+ return 1;
+ }
+ }
+
+ // if Shared Memory Type was not requested -> request it
+ for(i = 0; i < SHARED_VARIABLES_SIZE ; i = i+2 )
+ {
+ // check for free space to place requested variable
+ if(sharedVariables_[i] == 0x00)
+ {
+ // set Shared Memory Type of variable
+ sharedVariables_[i] = IdMemoryType;
+ // return the address of the requested variable
+ *Address = &sharedVariables_[i+1];
+ sharedVariables_[i+1] = 0x0000;
+ return 1;
+ }
+ }
+ *Address = 0;
+ return 0;
+}
+
+//! \brief Change the type of the active response
+//! \param[in] res_type new type of response
+//! \return type before change
+unsigned char _stream_out_change_type(unsigned char res_type)
+{
+ unsigned char ret_value;
+
+ ret_value = bios_tx_record_.data[bios_tx_record_.active][1];
+ bios_tx_record_.data[bios_tx_record_.active][1] = res_type;
+ return(ret_value);
+}
+
+//! \brief Change the message id of the active response
+//! \param[in] msg_id new message id of response
+//! \return message id before change
+unsigned char _stream_out_change_msg_id(unsigned char msg_id)
+{
+ unsigned char ret_value;
+
+ ret_value = bios_tx_record_.data[bios_tx_record_.active][2];
+ bios_tx_record_.data[bios_tx_record_.active][2] = msg_id;
+ return(ret_value);
+}
+
+//! \brief Setup a transmit buffer (response)
+//! \details Setup a response with given id and response typ. The function blocks until a output buffer is free.
+//! \param[in] msg_id id of response
+//! \param[in] res_typ response type of response
+//! \return always 0
+short _stream_out_init(unsigned char msg_id, unsigned char res_type)
+{
+ while((bios_tx_record_.state[bios_tx_record_.active] & (BIOS_TX_BUSY | BIOS_TX_TO_SEND | BIOS_TX_WAIT_ON_ACK)) && (bios_global_timer_[BIOS_TIMER_TX].count > 1));
+
+ if ((bios_tx_record_.state[bios_tx_record_.active] & (BIOS_TX_BUSY | BIOS_TX_TO_SEND | BIOS_TX_WAIT_ON_ACK)) && res_type != RESPTYP_STATUS)
+ {
+ BIOS_UsbTxError();
+ return(EXCEPTION_TX_NO_BUFFER);
+ } // status message could not be send. Do not clear TX buffer - perhaps other message send acitve
+ else if((bios_tx_record_.state[bios_tx_record_.active] & (BIOS_TX_BUSY | BIOS_TX_TO_SEND | BIOS_TX_WAIT_ON_ACK)) && res_type == RESPTYP_STATUS)
+ {
+ return(EXCEPTION_TX_NO_BUFFER);
+ }
+ bios_tx_record_.data[bios_tx_record_.active][1] = res_type;
+ bios_tx_record_.data[bios_tx_record_.active][2] = msg_id;
+ bios_tx_record_.data[bios_tx_record_.active][3] = 0x00;
+ bios_tx_record_.count[bios_tx_record_.active] = 3; // header + crc sended ever
+ return(0);
+}
+
+//! \brief Finish writing to transmit buffer
+//! \details Calculate the CRC, sets the output state machine and start transmiting. Inserts between payload and crc a byte if the payload is odd.
+//! \return status (error/ok) of function
+short _stream_flush(void)
+{
+ static unsigned char resp_id = 0;
+ unsigned short i;
+ unsigned short crc;
+
+ if(!(bios_tx_record_.state[bios_tx_record_.active] & BIOS_TX_TO_SEND))
+ {
+ DIAG_SUPPRESS(Pa082)
+ if(bios_tx_record_.data[bios_tx_record_.active][MESSAGE_CMDTYP_POS] != RESPTYP_DATA)
+ {
+ bios_tx_record_.data[bios_tx_record_.active][MESSAGE_MSG_ID_POS] &= ~0x80;
+ }
+ else if((bios_tx_record_.data[bios_tx_record_.active][MESSAGE_MSG_ID_POS] & 0x80) || resp_id)
+ {
+ if(resp_id < 255)
+ {
+ resp_id++;
+ }
+ else
+ {
+ resp_id = 1;
+ }
+ bios_tx_record_.data[bios_tx_record_.active][3] = resp_id;
+ }
+ bios_tx_record_.data[bios_tx_record_.active][0] = bios_tx_record_.count[bios_tx_record_.active];
+ if(!(bios_tx_record_.data[bios_tx_record_.active][0] & 0x01)) // payload must be a multiply of word size for CRC
+ {
+ bios_tx_record_.data[bios_tx_record_.active][++bios_tx_record_.count[bios_tx_record_.active]] = 0x00;
+ }
+ crc = 0x0000;
+ for(i = 0; i < (bios_tx_record_.count[bios_tx_record_.active]+1) / 2; i++)
+ {
+ crc ^= bios_tx_record_.datas[bios_tx_record_.active][i];
+ }
+ crc ^= 0xFFFF;
+ bios_tx_record_.datas[bios_tx_record_.active][bios_tx_record_.count[bios_tx_record_.active] / 2 + 1] = crc;
+ bios_tx_record_.state[bios_tx_record_.active] |= BIOS_TX_TO_SEND;
+ bios_tx_record_.state[bios_tx_record_.active] &= ~BIOS_TX_BUSY;
+ if(!(bios_tx_record_.data[bios_tx_record_.active][MESSAGE_MSG_ID_POS] & 0x80))
+ {
+ resp_id = 0;
+ }
+ if(!(bios_tx_record_.data[bios_tx_record_.active][MESSAGE_MSG_ID_POS] & 0x40))
+ {
+ if(bios_tx_record_.data[bios_tx_record_.active][MESSAGE_CMDTYP_POS] == RESPTYP_DATA)
+ {
+ bios_tx_record_.state[bios_tx_record_.active] |= BIOS_TX_WAIT_ON_ACK;
+ }
+ }
+ else
+ {
+ bios_tx_record_.state[bios_tx_record_.active] &= ~BIOS_TX_WAIT_ON_ACK;
+ }
+
+ DIAG_DEFAULT(Pa082)
+ BIOS_PrepareTx(bios_tx_record_.count[bios_tx_record_.active] + 3);
+ bios_tx_record_.active++;
+ if(bios_tx_record_.active >= BIOS_TX_QUEUS)
+ {
+ bios_tx_record_.active = 0;
+ }
+ BIOS_StartTx();
+ }
+ return(0);
+}
+
+//! \brief Write one or more bytes to the output(transmit) buffer
+//! \details Write data to the output buffer. If the output buffer is full, the buffer is flush and a new buffer are allocated.
+//! \param[in] *data pointer to data to write to the buffer
+//! \param[in] size count of data to write to buffer
+//! \return status (error/ok) of function
+short _stream_put_bytes(void *data, unsigned short size)
+{
+ unsigned short size_counter;
+ unsigned char tmp_id;
+ unsigned char tmp_type;
+ int ret_value = 0;
+ unsigned char *pData = data;
+ unsigned short current_count;
+
+ if(bios_tx_record_.ext_data == NULL)
+ {
+ size_counter = size;
+ do
+ {
+ current_count = bios_tx_record_.count[bios_tx_record_.active];
+ if((current_count + size_counter) >= (BIOS_TX_SIZE-3))
+ {
+ tmp_type = bios_tx_record_.data[bios_tx_record_.active][1];
+ tmp_id = bios_tx_record_.data[bios_tx_record_.active][2];
+
+ bios_tx_record_.data[bios_tx_record_.active][2] |= 0x80; // mark one or more packet follow
+ memcpy(&bios_tx_record_.data[bios_tx_record_.active][current_count+1],pData,(BIOS_TX_SIZE-3) - current_count);
+ bios_tx_record_.count[bios_tx_record_.active] = (BIOS_TX_SIZE-3);
+
+ BIOS_LedFlash(BIOS_LED_MODE,20);
+ _stream_flush();
+ ret_value = _stream_out_init(tmp_id,tmp_type);
+ size_counter -= ((BIOS_TX_SIZE-3) - current_count);
+ pData += ((BIOS_TX_SIZE-3) - current_count); // Advance the data pointer;
+ }
+ else
+ {
+ memcpy(&bios_tx_record_.data[bios_tx_record_.active][current_count+1],pData,size_counter);
+ bios_tx_record_.count[bios_tx_record_.active] = current_count + size_counter;
+ size_counter = 0;
+ }
+
+ } while(size_counter);
+ }
+ else if(bios_tx_record_.ext_data != (unsigned short*)0xFFFF)
+ {
+ DIAG_SUPPRESS(Pa082)
+ for(size_counter = 0;
+ (size_counter < size) && (bios_tx_record_.ext_counter < bios_tx_record_.ext_size);
+ size_counter++, bios_tx_record_.ext_counter++)
+ {
+ *((unsigned char*)bios_tx_record_.ext_data+bios_tx_record_.ext_counter) = *((unsigned char*)data+size_counter);
+ }
+ DIAG_DEFAULT(Pa082)
+ }
+ return(ret_value);
+}
+
+//! \brief Write one byte to the output(transmit) buffer, by using _stream_put_bytes
+//! \param[in] data byto to write into the buffer
+//! \return status (error/ok) of function
+short _stream_put_byte(unsigned char data)
+{
+ return(_stream_put_bytes(&data,sizeof(unsigned char)));
+}
+
+//! \brief Write a short value (16 bit value ) to the output(transmit) buffer, by using _stream_put_bytes
+//! \param[in] data short value to write into the buffer
+//! \return status (error/ok) of function
+short _stream_put_word(unsigned short data)
+{
+ return(_stream_put_bytes(&data,sizeof(unsigned short)));
+}
+
+//! \brief Write a long value (32 bit value ) to the output(transmit) buffer, by using _stream_put_bytes
+//! \param[in] data long value to write into the buffer
+//! \return status (error/ok) of function
+short _stream_put_long(unsigned long data)
+{
+ return(_stream_put_bytes(&data,sizeof(unsigned long)));
+}
+
+//! \brief Setup rx buffer for using by HAL
+//! \param[in] *ptr pointer to BiosRxRecord structure
+//! \param[in] no number(index) of rx buffer to process
+//! \return status (error/ok) of function
+short _stream_in_init(void *ptr, unsigned char no)
+{
+ BiosRxRecord *ptr_tmp;
+ ptr_tmp = (BiosRxRecord*)ptr;
+
+ stream_input_.data_start =(*ptr_tmp).data[no];
+ stream_input_.data_end = stream_input_.data_start + stream_input_.data_start[MESSAGE_SIZE_POS];
+ stream_input_.data_ptr = &stream_input_.data_start[MESSAGE_PAYLOAD_POS];
+ return(0);
+}
+
+//! \brief Set up a internal stream
+//! \details and safe the active stream paramters/status to a external buffer.
+//! \param[in] *data_in, pointer to new stream data, they haven't a header and CRC (matchable to payload of stream from USB)
+//! \param[in] size_in, size of data
+//! \param[out] *data_out, pointer to a output buffer
+//! \n NULL = not output data, if output data generate they are droped
+//! \n 1 = output data are routed to originale output
+//! \param[out] size_out, size of output buffer
+//! \n must be 0, if data_out NULL or 1
+//! \param[out] *tmp_record, pointer to a buffer to store current stream settings
+//! \return always 0
+short _stream_internal_stream(unsigned char *data_in, unsigned short size_in, unsigned char *data_out, unsigned short size_out, StreamSafe *tmp_record)
+{
+ // safe Rx
+ memcpy((StreamSafe*)tmp_record, (StreamInput*)&stream_input_, sizeof(stream_input_));
+ // safe Tx
+ (*tmp_record).ext_data = bios_tx_record_.ext_data;
+ (*tmp_record).ext_size = bios_tx_record_.ext_size;
+ (*tmp_record).ext_counter = bios_tx_record_.ext_counter;
+ stream_input_.data_start = data_in;
+ stream_input_.data_end = stream_input_.data_start + size_in;
+ stream_input_.data_ptr = data_in;
+ // set temporary output for stream
+ if(data_out != (unsigned char*)0x0001)
+ {
+ if(data_out == NULL)
+ {
+ bios_tx_record_.ext_data = (unsigned short*)0xFFFF;
+ }
+ else
+ {
+ bios_tx_record_.ext_data = (unsigned short*)data_out;
+ }
+ bios_tx_record_.ext_size = size_out;
+ bios_tx_record_.ext_counter = 0;
+ }
+ return(0);
+}
+
+//! \brief retore stream to previous stream
+//! \param[in] *tmp_record, pointer to a buffer with stored stream settings
+//! \return always 0
+short _stream_external_stream(StreamSafe *tmp_record)
+{
+ // restore Rx
+ memcpy((StreamInput*)&stream_input_, (StreamSafe*)tmp_record, sizeof(stream_input_));
+ // restore Tx
+ bios_tx_record_.ext_data = (*tmp_record).ext_data;
+ bios_tx_record_.ext_size = (*tmp_record).ext_size;
+ bios_tx_record_.ext_counter = (*tmp_record).ext_counter;
+ return(0);
+}
+
+//! \brief Get a byte from active input buffer
+//! \details Get a byte from active buffer. If buffer is empty, the next message is requested if it is a multipacket message.
+//! \param[out] *data pointer to a byte to return value
+//! \return 0 = more data avaible, 1 = last data, -1 = failed
+short _stream_get_byte(unsigned char *data)
+{
+ short ret_value = 0;
+
+ if(stream_input_.data_ptr > stream_input_.data_end)
+ {
+ ret_value = -1;
+ }
+ else
+ {
+ *data = *stream_input_.data_ptr++;
+ if(stream_input_.data_ptr > stream_input_.data_end)
+ {
+ ret_value = 1;
+ }
+ }
+ return(ret_value);
+}
+
+//! \brief Get a short from active input buffer (stream)
+//! \details Get a short (16 bit value) from active buffer. If buffer is empty, the next message is requested
+//! \param[out] *data pointer to short to return value
+//! \return status, 0 = ok, 1 = last data, -1 = faild
+short _stream_get_word(unsigned short *data)
+{
+ short ret_value = 0;
+
+ unsigned short Word;
+ unsigned char tmp_char;
+
+ if((PTR_FOR_CMP)stream_input_.data_ptr & 1)
+ {
+ ret_value = _stream_get_byte(&tmp_char);
+ Word = tmp_char;
+ if(!ret_value)
+ {
+ ret_value = _stream_get_byte(&tmp_char);
+ Word += tmp_char << 8;
+ }
+ else
+ {
+ ret_value = -1;
+ }
+ *data = Word;
+ }
+ else
+ {
+ if(stream_input_.data_ptr > stream_input_.data_end)
+ {
+ ret_value = -2;
+ }
+ else
+ {
+ *data = *(unsigned short*)stream_input_.data_ptr;
+ stream_input_.data_ptr +=2;
+ if(stream_input_.data_ptr > stream_input_.data_end)
+ {
+ ret_value = 1;
+ }
+ }
+ }
+ return(ret_value);
+}
+
+
+
+//! \brief Get a long from active input buffer (stream)
+//! \details Get a long (32 bit value) from active buffer. If buffer is empty, the next message is requested
+//! \param[out] *data pointer to a long to return value
+//! \return status, 0 = ok, 1 = last data, -1 = faild
+short _stream_get_long(unsigned long *data)
+{
+ short ret_value = 0;
+
+ unsigned char *tmp_char;
+
+ if((PTR_FOR_CMP)stream_input_.data_ptr & 1)
+ {
+ tmp_char = (unsigned char*)data;
+ *data = 0;
+ if(_stream_get_byte(tmp_char) != 0)
+ {
+ ret_value = -1;
+ goto stream_get_long_exit;
+ }
+ if(_stream_get_byte(tmp_char+1) != 0)
+ {
+ ret_value = -2;
+ goto stream_get_long_exit;
+ }
+ if(_stream_get_byte(tmp_char+2) != 0)
+ {
+ ret_value = -3;
+ goto stream_get_long_exit;
+ }
+ ret_value = _stream_get_byte(tmp_char+3);
+ }
+ else
+ {
+ if(stream_input_.data_ptr > stream_input_.data_end)
+ {
+ ret_value = -5;
+ }
+ else
+ {
+ *data = *(unsigned long*)stream_input_.data_ptr;
+ stream_input_.data_ptr +=4;
+ if(stream_input_.data_ptr > stream_input_.data_end)
+ {
+ ret_value = 1;
+ }
+ }
+ }
+stream_get_long_exit:
+ return(ret_value);
+}
+
+//! \brief Get a pointer to the data buffer
+short _stream_get_buffer(void **buffer, unsigned short *size)
+{
+ *buffer = stream_input_.data_ptr;
+ *size = stream_input_.data_end - stream_input_.data_ptr + 1;
+
+ stream_input_.data_ptr = stream_input_.data_end + 4;
+
+ return 1;
+}
+
+//! \brief Skip byte(s) to read form rx buffer
+//! \details If more bytes discarded as in the buffer, the next message is requested.
+//! \param[in] count count of bytes to skip
+//! \return status, 0 = ok, 1 = last data, -1 = faild
+short _stream_discard_bytes(unsigned short count)
+{
+ short ret_value = -1;
+ unsigned char dummy;
+
+ for(;count; count--)
+ {
+ ret_value = _stream_get_byte(&dummy);
+ if(ret_value == -1)
+ {
+ break;
+ }
+ }
+ return(ret_value);
+}
+
+//! \brief Copy count byte form source to destination
+//! \param[out] destination copy to ...
+//! \param[in] source copy from ...
+//! \param[in] count count of byte to copy
+//! \return status
+short _stream_memcpy(unsigned char* destination, unsigned char* source, unsigned short count)
+{
+ while(count)
+ {
+ *destination++ = *source++;
+ --count;
+ }
+ return(0);
+}
+
+short _stream_send_debug(char *buffer, unsigned short size)
+{
+ return cdcSendDataInBackground((BYTE *)buffer, size, 1, 3);
+}
+
+static unsigned short * ITick = 0;
+static unsigned short * TimerTick = 0;
+static unsigned short * TimeTick = 0;
+
+#pragma vector=TIMER0_A1_VECTOR
+__interrupt void TIMER0_A1_ISR(void)
+{
+ switch (__even_in_range(TA0IV, TA0IV_TA0IFG))
+ {
+ case TA0IV_TA0IFG:
+ if(STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_TIME_TICK, &TimeTick))
+ {
+ if(*(unsigned short*)TimeTick == 0)
+ {
+ ++(*(unsigned short*)TimeTick);
+ }
+ ++(*(unsigned short*)TimeTick);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+// MSP-FET specific interrupts -------------------------------------------------
+#ifdef MSP_FET
+
+#pragma vector=TIMER2_A0_VECTOR
+__interrupt void TIMER2_A0_ISR(void)
+{
+ if(STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_TIMER_TICK, &TimerTick))
+ {
+ (*(unsigned short*)TimerTick)++;
+ }
+}
+#pragma vector=TIMER0_B1_VECTOR
+__interrupt void TIMER0_B1_ISR_(void)
+{
+ switch (__even_in_range(TB0IV, TB0IV_TB0IFG))
+ {
+ case TB0IV_TB0IFG:
+ if(STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_I_TICK, &ITick))
+ {
+ ++(*(unsigned short*)ITick);
+ }
+ break;
+ default:
+ break;
+ }
+}
+#endif
+
+// eZ-FET specific interrupts -------------------------------------------------
+#ifdef eZ_FET
+
+#pragma vector=TIMER0_B0_VECTOR
+__interrupt void TIMER0_B0_ISR_(void)
+{
+ if(STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_TIMER_TICK, &TimerTick))
+ {
+ (*(unsigned short*)TimerTick)++;
+ }
+}
+
+#pragma vector=TIMER2_A1_VECTOR
+__interrupt void TIMER2_A1_ISR(void)
+{
+ switch (__even_in_range(TA2IV, TA2IV_TA2IFG))
+ {
+ case TA2IV_TA2IFG:
+ if(STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_I_TICK, &ITick))
+ {
+ ++(*(unsigned short*)ITick);
+ }
+ break;
+ default:
+ break;
+ }
+}
+#endif
diff --git a/Bios/src/fw/fet/stream.h b/Bios/src/fw/fet/stream.h
new file mode 100644
index 0000000..bc2eca8
--- /dev/null
+++ b/Bios/src/fw/fet/stream.h
@@ -0,0 +1,211 @@
+/*
+ * stream.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+//! \ingroup MODULBIOS
+//! \file stream.h
+//! \brief
+//!
+//! \author Detlef Fink (03/10/2011)
+#ifndef _STREAM_H_
+#define _STREAM_H_
+
+#include "../include/protocol.h"
+#include "communicationDefs.h"
+
+#define MESSAGE_NEW_MSG 0x0001
+#define MESSAGE_LAST_MSG 0x0002
+#define MESSAGE_OUT_TO_DLL (unsigned char*)0x0001
+#define MESSAGE_NO_OUT (unsigned char*)0x0000
+
+#define ID_SHARED_MEMORY_TYPE_SYNC_RUN 0xAA01
+#define ID_SHARED_MEMORY_TYPE_TIMER_TICK 0xAA02
+#define ID_SHARED_MEMORY_TYPE_I_TICK 0xAA03
+#define ID_SHARED_MEMORY_TYPE_TIME_TICK 0xAA04
+
+struct _StreamSafe_
+{
+ unsigned char rx[12];
+ unsigned short *ext_data;
+ unsigned short ext_size;
+ unsigned short ext_counter;
+};
+typedef struct _StreamSafe_ StreamSafe;
+
+struct stream_funcs
+{
+ short (*out_init)(unsigned char, unsigned char);
+ short (*flush)(void);
+ short (*put_byte)(unsigned char);
+ short (*put_bytes)(void*, unsigned short);
+ short (*put_word)(unsigned short);
+ short (*put_long)(unsigned long);
+ short (*in_init)(void *, unsigned char);
+ short (*internal_stream)(unsigned char *, unsigned short, unsigned char *, unsigned short, StreamSafe *);
+ short (*external_stream)(StreamSafe *);
+ unsigned char (*change_type)(unsigned char);
+ short (*get_byte)(unsigned char *);
+ short (*get_word)(unsigned short *);
+ short (*get_long)(unsigned long *);
+ short (*get_buffer)(void **, unsigned short *);
+ short (*discard_bytes)(unsigned short);
+ short (*memcpy)(unsigned char*, unsigned char*, unsigned short);
+ short (*biosLedOn)(unsigned char);
+ short (*biosLedOff)(unsigned char);
+ short (*biosLedBlink)(unsigned char, unsigned short);
+ short (*biosLedFlash)(unsigned char, unsigned short);
+ short (*biosLedAlternate)(unsigned short);
+ short (*sendDebug)(char *, unsigned short size);
+ short (*getSharedVariable)(unsigned short IdMemoryType, unsigned short** Address);
+ short (*deleteSharedVariable)(unsigned short IdMemoryType);
+};
+
+void STREAM_resetSharedVariables();
+
+#ifdef HAL_STREAM
+
+extern struct stream_funcs * _stream_Funcs;
+
+// add definitions for external use
+// functions are located in core module
+
+/**
+ * STREAM Function Pointer - these are the STREAM Exports
+ */
+#define STREAM_out_init (*_stream_Funcs->out_init)
+#define STREAM_flush (*_stream_Funcs->flush)
+#define STREAM_put_byte (*_stream_Funcs->put_byte)
+#define STREAM_put_bytes (*_stream_Funcs->put_bytes)
+#define STREAM_put_word (*_stream_Funcs->put_word)
+#define STREAM_put_long (*_stream_Funcs->put_long)
+#define STREAM_get_buffer (*_stream_Funcs->get_buffer)
+#define STREAM_in_init (*_stream_Funcs->in_init)
+#define STREAM_internal_stream (*_stream_Funcs->internal_stream)
+#define STREAM_external_stream (*_stream_Funcs->external_stream)
+#define STREAM_out_change_type (*_stream_Funcs->change_type)
+#define STREAM_get_byte (*_stream_Funcs->get_byte)
+#define STREAM_get_word (*_stream_Funcs->get_word)
+#define STREAM_get_long (*_stream_Funcs->get_long)
+#define STREAM_discard_bytes (*_stream_Funcs->discard_bytes)
+#define STREAM_memcpy (*_stream_Funcs->memcpy)
+#define STREAM_biosLedOn (*_stream_Funcs->biosLedOn)
+#define STREAM_biosLedOff (*_stream_Funcs->biosLedOff)
+#define STREAM_biosLedBlink (*_stream_Funcs->biosLedBlink)
+#define STREAM_biosLedFlash (*_stream_Funcs->biosLedFlash)
+#define STREAM_biosLedAlternate (*_stream_Funcs->biosLedAlternate)
+#define STREAM_getSharedVariable (*_stream_Funcs->getSharedVariable)
+#define STREAM_deleteSharedVariable (*_stream_Funcs->deleteSharedVariable)
+
+
+
+/**** Debug & Trace Functionality ****/
+#define STREAM_sendDebug (*_stream_Funcs->sendDebug)
+/**** Debug & Trace Functionality ****/
+
+#else // HAL_STREAM
+extern struct stream_funcs _stream_Funcs;
+/**
+ * STREAM Function Pointer - these are the STREAM Exports
+ */
+#define STREAM_out_init (*_stream_Funcs.out_init)
+#define STREAM_flush (*_stream_Funcs.flush)
+#define STREAM_put_byte (*_stream_Funcs.put_byte)
+#define STREAM_put_bytes (*_stream_Funcs.put_bytes)
+#define STREAM_put_word (*_stream_Funcs.put_word)
+#define STREAM_put_long (*_stream_Funcs.put_long)
+#define STREAM_in_init (*_stream_Funcs.in_init)
+#define STREAM_internal_stream (*_stream_Funcs.internal_stream)
+#define STREAM_external_stream (*_stream_Funcs.external_stream)
+#define STREAM_out_change_type (*_stream_Funcs.change_type)
+#define STREAM_get_byte (*_stream_Funcs.get_byte)
+#define STREAM_get_word (*_stream_Funcs.get_word)
+#define STREAM_get_long (*_stream_Funcs.get_long)
+#define STREAM_get_buffer (*_stream_Funcs->get_buffer)
+#define STREAM_discard_bytes (*_stream_Funcs.discard_bytes)
+#define STREAM_memcpy (*_stream_Funcs.memcpy)
+#define STREAM_biosLedOn (*_stream_Funcs.biosLedOn)
+#define STREAM_biosLedOff (*_stream_Funcs.biosLedOff)
+#define STREAM_biosLedBlink (*_stream_Funcs.biosLedBlink)
+#define STREAM_biosLedFlash (*_stream_Funcs.biosLedFlash)
+#define STREAM_biosLedAlternate (*_stream_Funcs.biosLedAlternate)
+#define STREAM_sendDebug (*_stream_Funcs.sendDebug)
+#define STREAM_getSharedVariable (*_stream_Funcs.getSharedVariable)
+#define STREAM_deleteSharedVariable (*_stream_Funcs.deleteSharedVariable)
+
+#define STREAM_CORE_ZERO_VERSION 0x00
+#define STREAM_CORE_ZERO_MACRO_SIZE 0x01
+#define STREAM_CORE_ZERO_MACRO_ADDR 0x02
+#define STREAM_CORE_ZERO_PUC_RESET 0x03
+// function numbers in "zero function(s) in HAL modul" must start at 0xFF and count downward
+#endif // HAL_STREAM
+
+typedef void *(*HalMainFunc)(void *stream_adr, unsigned long, unsigned char v3opHilCrcOk, unsigned char v3opDcdcCrcOk);
+typedef short (*FuncInOut) (unsigned short id);
+
+#ifndef HAL_REC
+#define HAL_REC
+struct _HalRec_
+{
+ unsigned short id;
+ void *function;
+};
+typedef struct _HalRec_ HalRec;
+#endif
+
+#define DEVICE_FLAG_XONOFF 0x00000001
+#define DEVICE_FLAG_SBW4 0x00000002
+#define DEVICE_FLAG_SBW2 0x00000004
+#define DEVICE_FLAG_EASY 0x00000008
+
+#define DEVICE_FLAG_MSPFET 0x00000010
+#define DEVICE_FLAG_EZFET 0x00000020
+
+struct _HAL_INFOS_
+{
+ HalMainFunc init;
+ short sw_0;
+ short sw_1;
+ unsigned short hal_size;
+ HalRec *hal_list_ptr;
+ unsigned short hil_version;
+ unsigned short fpga_version;
+ short swCmp_0;
+ short swCmp_1;
+ unsigned short hil_versionCmp;
+};
+typedef struct _HAL_INFOS_ *HAL_INFOS_PTR;
+typedef struct _HAL_INFOS_ HAL_INFOS;
+
+#endif
diff --git a/Bios/src/fw/fet/usbConstructs.c b/Bios/src/fw/fet/usbConstructs.c
new file mode 100644
index 0000000..c730898
--- /dev/null
+++ b/Bios/src/fw/fet/usbConstructs.c
@@ -0,0 +1,409 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== usbConstructs.c ========
+ */
+#include "USB_API/USB_Common/device.h"
+#include "USB_API/USB_Common/types.h" //Basic Type declarations
+
+#include "USB_config/descriptors.h"
+#include "USB_API/USB_Common/usb.h" //USB-specific functions
+
+#ifdef _CDC_
+ #include "USB_API/USB_CDC_API/UsbCdc.h"
+#endif
+#ifdef _HID_
+ #include "USB_API/USB_HID_API/UsbHid.h"
+#endif
+#ifdef _PHDC_
+ #include "USB_API/USB_PHDC_API/UsbPHDC.h"
+#endif
+
+#include
+#include "usbConstructs.h"
+
+
+/**************************************************************************************************
+ * These are example, user-editable construct functions for calling the API.
+ *
+ * In cases where fast development is the priority, it's usually best to use these sending
+ * construct functions, rather than calling USBCDC_sendData() or USBHID_sendData()
+ * directly. This is because they put boundaries on the "background execution" of sends,
+ * simplfying the application.
+ *
+ * xxxsendDataWaitTilDone() essentially eliminates background processing altogether, always
+ * polling after the call to send and not allowing execution to resume until it's done. This
+ * allows simpler coding at the expense of wasted MCU cycles, and MCU execution being "locked"
+ * to the host (also called "synchronous" operation).
+ *
+ * xxxsendDataInBackground() takes advantage of background processing ("asynchronous" operation)
+ * by allowing sending to happen during application execution; while at the same time ensuring
+ * that the sending always definitely occurs. It provides most of the simplicity of
+ * xxxsendDataWaitTilDone() while minimizing wasted cycles. It's probably the best choice
+ * for most applications.
+ *
+ * A true, asynchronous implementation would be the most cycle-efficient, but is the most
+ * difficult to code; and can't be "contained" in an example function as these other approaches
+ * are. Such an implementation might be advantageous in RTOS-based implementations or those
+ * requiring the highest levels of efficiency.
+ *
+ * These functions take into account all the pertinent return codes, toward ensuring fully
+ * robust operation. The send functions implement a timeout feature, using a loose "number of
+ * retries" approach. This was done in order to avoid using additional hardware resources. A
+ * more sophisticated approach, which the developer might want to implement, would be to use a
+ * hardware timer.
+ *
+ * Please see the MSP430 CDC/HID/MSC USB API Programmer's Guide for a full description of these
+ * functions, how they work, and how to use them.
+ **************************************************************************************************/
+
+
+
+#ifdef _HID_
+/* This construct implements post-call polling to ensure the sending completes before the function
+ * returns. It provides the simplest coding, at the expense of wasted cycles and potentially
+ * allowing MCU execution to become "locked" to the host, a disadvantage if the host (or bus) is
+ * slow. The function also checks all valid return codes, and returns non-zero if an error occurred.
+ * It assumes no previous send operation is underway; also assumes size is non-zero. */
+BYTE hidSendDataWaitTilDone (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout)
+{
+ ULONG sendCounter = 0;
+ WORD bytesSent, bytesReceived;
+
+ switch (USBHID_sendData(dataBuf,size,intfNum)){
+ case kUSBHID_sendStarted:
+ break;
+ case kUSBHID_busNotAvailable:
+ return ( 2) ;
+ case kUSBHID_intfBusyError:
+ return ( 3) ;
+ case kUSBHID_generalError:
+ return ( 4) ;
+ default:;
+ }
+
+ /* If execution reaches this point, then the operation successfully started. Now wait til it's finished. */
+ while (1){
+ BYTE ret = USBHID_intfStatus(intfNum,&bytesSent,&bytesReceived);
+ if (ret & kUSBHID_busNotAvailable){ /* This may happen at any time */
+ return ( 2) ;
+ }
+ if (ret & kUSBHID_waitingForSend){
+ if (ulTimeout && (sendCounter++ >= ulTimeout)){ /* Incr counter & try again */
+ return ( 1) ; /* Timed out */
+ }
+ } else {
+ return ( 0) ; /* If neither busNotAvailable nor waitingForSend, it succeeded */
+ }
+ }
+}
+
+/* This construct implements pre-call polling to ensure the sending completes before the function
+ * returns. It provides simple coding while also taking advantage of the efficiencies of background
+ * processing. If a previous send operation is underway, this function does waste cycles polling,
+ * like xxxsendDataWaitTilDone(); however it's less likely to do so since much of the sending
+ * presumably took place in the background since the last call to xxxsendDataInBackground().
+ * The function also checks all valid return codes, and returns non-zero if an error occurred.
+ * It assumes no previous send operation is underway; also assumes size is non-zero.
+ * This call assumes a previous send operation might be underway; also assumes size is non-zero.
+ * Returns zero if send completed; non-zero if it failed, with 1 = timeout and 2 = bus is gone. */
+BYTE hidSendDataInBackground (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout)
+{
+ ULONG sendCounter = 0;
+ WORD bytesSent, bytesReceived;
+
+ while (USBHID_intfStatus(intfNum,&bytesSent,
+ &bytesReceived) & kUSBHID_waitingForSend){
+ if (ulTimeout && ((sendCounter++) > ulTimeout)){ /* A send operation is underway; incr counter & try again */
+ return ( 1) ; /* Timed out */
+ }
+ }
+
+ /* The interface is now clear. Call sendData(). */
+ switch (USBHID_sendData(dataBuf,size,intfNum)){
+ case kUSBHID_sendStarted:
+ return ( 0) ;
+ case kUSBHID_busNotAvailable:
+ return ( 2) ;
+ default:
+ return ( 4) ;
+ }
+}
+
+/* This call only retrieves data that is already waiting in the USB buffer -- that is, data that has
+ * already been received by the MCU. It assumes a previous, open receive operation (began by a direct
+ * call to USBxxx_receiveData()) is NOT underway on this interface; and no receive operation remains
+ * open after this call returns. It doesn't check for kUSBxxx_busNotAvailable, because it doesn't
+ * matter if it's not. size is the maximum that is allowed to be received before exiting; i.e., it
+ * is the size allotted to dataBuf. Returns the number of bytes received. */
+WORD hidReceiveDataInBuffer (BYTE* dataBuf, WORD size, BYTE intfNum)
+{
+ WORD bytesInBuf,rxCount;
+ BYTE* currentPos = dataBuf;
+
+ while (bytesInBuf = USBHID_bytesInUSBBuffer(intfNum))
+ {
+ if ((WORD)(currentPos - dataBuf + bytesInBuf) <= size){
+ rxCount = bytesInBuf;
+ } else {
+ rxCount = size;
+ }
+
+ USBHID_receiveData(currentPos,rxCount,intfNum);
+ currentPos += bytesInBuf;
+ }
+ return (rxCount);
+}
+
+#endif
+
+/*********************************************************************************************
+ * Please see the MSP430 USB CDC API Programmer's Guide Sec. 9 for a full description of these
+ * functions, how they work, and how to use them.
+ **********************************************************************************************/
+
+#ifdef _CDC_
+/* This construct implements post-call polling to ensure the sending completes before the function
+ * returns. It provides the simplest coding, at the expense of wasted cycles and potentially
+ * allowing MCU execution to become "locked" to the host, a disadvantage if the host (or bus) is
+ * slow. The function also checks all valid return codes, and returns non-zero if an error occurred.
+ * It assumes no previous send operation is underway; also assumes size is non-zero. */
+BYTE cdcSendDataWaitTilDone (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout)
+{
+ ULONG sendCounter = 0;
+ WORD bytesSent, bytesReceived;
+
+ switch (USBCDC_sendData(dataBuf,size,intfNum))
+ {
+ case kUSBCDC_sendStarted:
+ break;
+ case kUSBCDC_busNotAvailable:
+ return ( 2) ;
+ case kUSBCDC_intfBusyError:
+ return ( 3) ;
+ case kUSBCDC_generalError:
+ return ( 4) ;
+ default:;
+ }
+
+ /* If execution reaches this point, then the operation successfully started. Now wait til it's finished. */
+ while (1){
+ BYTE ret = USBCDC_intfStatus(intfNum,&bytesSent,&bytesReceived);
+ if (ret & kUSBCDC_busNotAvailable){ /* This may happen at any time */
+ return ( 2) ;
+ }
+ if (ret & kUSBCDC_waitingForSend){
+ if (ulTimeout && (sendCounter++ >= ulTimeout)){ /* Incr counter & try again */
+ return ( 1) ; /* Timed out */
+ }
+ } else {
+ return ( 0) ; /* If neither busNotAvailable nor waitingForSend, it succeeded */
+ }
+ }
+}
+
+/* This construct implements pre-call polling to ensure the sending completes before the function
+ * returns. It provides simple coding while also taking advantage of the efficiencies of background
+ * processing. If a previous send operation is underway, this function does waste cycles polling,
+ * like xxxsendDataWaitTilDone(); however it's less likely to do so since much of the sending
+ * presumably took place in the background since the last call to xxxsendDataInBackground().
+ * The function also checks all valid return codes, and returns non-zero if an error occurred.
+ * It assumes no previous send operation is underway; also assumes size is non-zero.
+ * This call assumes a previous send operation might be underway; also assumes size is non-zero.
+ * Returns zero if send completed; non-zero if it failed, with 1 = timeout and 2 = bus is gone. */
+BYTE cdcSendDataInBackground (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout)
+{
+ ULONG sendCounter = 0;
+ WORD bytesSent, bytesReceived;
+
+ while (USBCDC_intfStatus(intfNum,&bytesSent,
+ &bytesReceived) & kUSBCDC_waitingForSend)
+ {
+ if (ulTimeout && ((sendCounter++) > ulTimeout))
+ { /* A send operation is underway; incr counter & try again */
+ return ( 1) ; /* Timed out */
+ }
+ }
+
+ /* The interface is now clear. Call sendData(). */
+ switch (USBCDC_sendData(dataBuf,size,intfNum))
+ {
+ case kUSBCDC_sendStarted:
+ return ( 0) ;
+ case kUSBCDC_busNotAvailable:
+ return ( 2) ;
+ default:
+ return ( 4) ;
+ }
+}
+
+/* This call only retrieves data that is already waiting in the USB buffer -- that is, data that has
+ * already been received by the MCU. It assumes a previous, open receive operation (began by a direct
+ * call to USBxxx_receiveData()) is NOT underway on this interface; and no receive operation remains
+ * open after this call returns. It doesn't check for kUSBxxx_busNotAvailable, because it doesn't
+ * matter if it's not. size is the maximum that is allowed to be received before exiting; i.e., it
+ * is the size allotted to dataBuf. Returns the number of bytes received. */
+WORD cdcReceiveDataInBuffer (BYTE* dataBuf, WORD size, BYTE intfNum)
+{
+ WORD bytesInBuf,rxCount = 0;
+ BYTE* currentPos = dataBuf;
+
+ while (bytesInBuf = USBCDC_bytesInUSBBuffer(intfNum)){
+ if ((WORD)(currentPos - dataBuf + bytesInBuf) <= size){
+ rxCount = bytesInBuf;
+ } else {
+ rxCount = size;
+ }
+
+ USBCDC_receiveData(currentPos,rxCount,intfNum);
+ currentPos += bytesInBuf;
+ }
+ return (rxCount);
+}
+
+#endif
+
+#ifdef _PHDC_
+/* This construct implements post-call polling to ensure the sending completes before the function
+ * returns. It provides the simplest coding, at the expense of wasted cycles and potentially
+ * allowing MCU execution to become "locked" to the host, a disadvantage if the host (or bus) is
+ * slow. The function also checks all valid return codes, and returns non-zero if an error occurred.
+ * It assumes no previous send operation is underway; also assumes size is non-zero. */
+BYTE phdcSendDataWaitTilDone (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout)
+{
+ ULONG sendCounter = 0;
+ WORD bytesSent, bytesReceived;
+
+ switch (USBPHDC_sendData(dataBuf,size,intfNum))
+ {
+ case kUSBPHDC_sendStarted:
+ break;
+ case kUSBPHDC_busNotAvailable:
+ return ( 2) ;
+ case kUSBPHDC_intfBusyError:
+ return ( 3) ;
+ case kUSBPHDC_generalError:
+ return ( 4) ;
+ default:;
+ }
+
+ /* If execution reaches this point, then the operation successfully started. Now wait til it's finished. */
+ while (1){
+ BYTE ret = USBPHDC_intfStatus(intfNum,&bytesSent,&bytesReceived);
+ if (ret & kUSBPHDC_busNotAvailable){ /* This may happen at any time */
+ return ( 2) ;
+ }
+ if (ret & kUSBPHDC_waitingForSend){
+ if (ulTimeout && (sendCounter++ >= ulTimeout)){ /* Incr counter & try again */
+ return ( 1) ; /* Timed out */
+ }
+ } else {
+ return ( 0) ; /* If neither busNotAvailable nor waitingForSend, it succeeded */
+ }
+ }
+}
+
+/* This construct implements pre-call polling to ensure the sending completes before the function
+ * returns. It provides simple coding while also taking advantage of the efficiencies of background
+ * processing. If a previous send operation is underway, this function does waste cycles polling,
+ * like xxxsendDataWaitTilDone(); however it's less likely to do so since much of the sending
+ * presumably took place in the background since the last call to xxxsendDataInBackground().
+ * The function also checks all valid return codes, and returns non-zero if an error occurred.
+ * It assumes no previous send operation is underway; also assumes size is non-zero.
+ * This call assumes a previous send operation might be underway; also assumes size is non-zero.
+ * Returns zero if send completed; non-zero if it failed, with 1 = timeout and 2 = bus is gone. */
+BYTE phdcSendDataInBackground (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout)
+{
+ ULONG sendCounter = 0;
+ WORD bytesSent, bytesReceived;
+
+ while (USBPHDC_intfStatus(intfNum,&bytesSent,
+ &bytesReceived) & kUSBPHDC_waitingForSend){
+ if (ulTimeout && ((sendCounter++) > ulTimeout)){ /* A send operation is underway; incr counter & try again */
+ return ( 1) ; /* Timed out */
+ }
+ }
+
+ /* The interface is now clear. Call sendData(). */
+ switch (USBPHDC_sendData(dataBuf,size,intfNum)){
+ case kUSBPHDC_sendStarted:
+ return ( 0) ;
+ case kUSBPHDC_busNotAvailable:
+ return ( 2) ;
+ default:
+ return ( 4) ;
+ }
+}
+
+/* This call only retrieves data that is already waiting in the USB buffer -- that is, data that has
+ * already been received by the MCU. It assumes a previous, open receive operation (began by a direct
+ * call to USBxxx_receiveData()) is NOT underway on this interface; and no receive operation remains
+ * open after this call returns. It doesn't check for kUSBxxx_busNotAvailable, because it doesn't
+ * matter if it's not. size is the maximum that is allowed to be received before exiting; i.e., it
+ * is the size allotted to dataBuf. Returns the number of bytes received. */
+WORD phdcReceiveDataInBuffer (BYTE* dataBuf, WORD size, BYTE intfNum)
+{
+ WORD bytesInBuf,rxCount;
+ BYTE* currentPos = dataBuf;
+
+ while (bytesInBuf = USBPHDC_bytesInUSBBuffer(intfNum)){
+ if ((WORD)(currentPos - dataBuf + bytesInBuf) <= size){
+ rxCount = bytesInBuf;
+ } else {
+ rxCount = size;
+ }
+
+ USBPHDC_receiveData(currentPos,rxCount,intfNum);
+ currentPos += bytesInBuf;
+ }
+ return (currentPos - dataBuf);
+}
+
+#endif
diff --git a/Bios/src/fw/fet/usbConstructs.h b/Bios/src/fw/fet/usbConstructs.h
new file mode 100644
index 0000000..e198977
--- /dev/null
+++ b/Bios/src/fw/fet/usbConstructs.h
@@ -0,0 +1,63 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== usbConstructs.h ========
+ */
+BYTE hidSendDataWaitTilDone (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout);
+BYTE hidSendDataInBackground (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout);
+WORD hidReceiveDataInBuffer(BYTE *,WORD,BYTE);
+
+BYTE cdcSendDataWaitTilDone (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout);
+BYTE cdcSendDataInBackground (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout);
+WORD cdcReceiveDataInBuffer(BYTE *,WORD,BYTE);
+
+BYTE phdcSendDataWaitTilDone (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout);
+BYTE phdcSendDataInBackground (BYTE* dataBuf,
+ WORD size,
+ BYTE intfNum,
+ ULONG ulTimeout);
+WORD phdcReceiveDataInBuffer(BYTE *,WORD,BYTE);
diff --git a/Bios/src/fw/fet/usbEventHandling.c b/Bios/src/fw/fet/usbEventHandling.c
new file mode 100644
index 0000000..8fb221f
--- /dev/null
+++ b/Bios/src/fw/fet/usbEventHandling.c
@@ -0,0 +1,333 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2012, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+/*
+ * ======== usbEventHandling.c ========
+ * Event-handling placeholder functions.
+ * All functios are called in interrupt context.
+ */
+
+#include "USB_API/USB_Common/device.h"
+#include "USB_API/USB_Common/types.h"
+#include "USB_API/USB_Common/defMSP430USB.h"
+#include "USB_config/descriptors.h"
+#include "USB_API/USB_Common/usb.h"
+#include "F5xx_F6xx_Core_Lib/HAL_UCS.h"
+#include "bios.h"
+#include "stream.h"
+#include "usbMain.h"
+#include "v3_0p.h"
+#include "communicationDefs.h"
+
+
+#ifdef _CDC_
+#include "USB_API/USB_CDC_API/UsbCdc.h"
+#endif
+
+#ifdef _HID_
+#include "USB_API/USB_HID_API/UsbHid.h"
+#endif
+
+#ifdef _MSC_
+#include "USB_API/USB_MSC_API/UsbMsc.h"
+#endif
+
+#ifdef _PHDC_
+#include "USB_API/USB_PHDC_API/UsbPHDC.h"
+#endif
+
+/*
+ * If this function gets executed, it's a sign that the output of the USB PLL has failed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleClockEvent ()
+{
+ //TO DO: You can place your code here
+
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+/*
+ * If this function gets executed, it indicates that a valid voltage has just been applied to the VBUS pin.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleVbusOnEvent ()
+{
+ //TO DO: You can place your code here
+
+ //We switch on USB and connect to the BUS
+ if (USB_enable() == kUSB_succeed){
+ USB_reset();
+ USB_connect(); //generate rising edge on DP -> the host enumerates our device as full speed device
+ }
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+/*
+ * If this function gets executed, it indicates that a valid voltage has just been removed from the VBUS pin.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleVbusOffEvent ()
+{
+ //TO DO: You can place your code here
+
+ XT2_Stop();
+
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+/*
+ * If this function gets executed, it indicates that the USB host has issued a USB reset event to the device.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleResetEvent ()
+{
+ //TO DO: You can place your code here
+
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+/*
+ * If this function gets executed, it indicates that the USB host has chosen to suspend this device after a period of active
+ * operation.
+ * returns TRUE to keep CPU awake
+ */
+
+BYTE USB_handleSuspendEvent ()
+{
+ BIOS_SuspendSystem();
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+/*
+ * If this function gets executed, it indicates that the USB host has chosen to resume this device after a period of suspended
+ * operation.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleResumeEvent ()
+{
+ BIOS_ResumeSystem();
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+/*
+ * If this function gets executed, it indicates that the USB host has enumerated this device :
+ * after host assigned the address to the device.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USB_handleEnumCompleteEvent ()
+{
+ //TO DO: You can place your code here
+
+ return (TRUE); //return TRUE to wake the main loop (in the case the CPU slept before interrupt)
+}
+
+#ifdef _CDC_
+
+/*
+ * This event indicates that data has been received for interface intfNum, but no data receive operation is underway.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBCDC_handleDataReceived (BYTE intfNum)
+{
+ if (intfNum == DEBUG_CHANNEL) //this is our debug channel
+ {
+ if(BIOS_UsbRxData() == RESPTYP_EXCEPTION )
+ {
+ V3OP_KillLoop(0);
+ BIOS_UsbRxClear();
+ BIOS_UsbTxClear();
+ BIOS_InitCom();
+ }
+ }
+ return (TRUE);
+}
+/*
+ * This event indicates that a send operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBCDC_handleSendCompleted (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+/*
+ * This event indicates that a receive operation on interface intfNum has just been completed.
+ */
+BYTE USBCDC_handleReceiveCompleted (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+extern void switchDebugerOff();
+extern void switchOnUart();
+extern void switchDebugerOn();
+
+/*
+ * This event indicates that new line coding params have been received from the host
+ */
+BYTE USBCDC_handleSetLineCoding (BYTE intfNum, ULONG lBaudrate)
+{
+ if(intfNum == COM_CHANNEL)
+ {
+ if(lBaudrate == BSL_UART_INVOKE_SEQUENCE || lBaudrate == BSL_I2C_INVOKE_SEQUENCE1 || lBaudrate == BSL_I2C_INVOKE_SEQUENCE2
+ || lBaudrate == BSL_I2C_INVOKE_SEQUENCE3 || lBaudrate == BSL_I2C_INVOKE_SEQUENCE4 || lBaudrate == BSL_I2C_SEQUENCE1 || lBaudrate == BSL_I2C_SEQUENCE2 || lBaudrate == BSL_UART_SEQUENCE)
+ {
+ switchDebugerOff();
+ }
+ else if(lBaudrate == BSL_DISABLE)
+ {
+ switchDebugerOn();
+ }
+ else
+ {
+ switchOnUart();
+ }
+ UsbMain_ComConfig(lBaudrate, USB_MCLK_FREQ, Bios_getTool_id());
+ }
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+/*
+ * This event indicates that new line state has been received from the host
+ */
+BYTE USBCDC_handleSetControlLineState (BYTE intfNum, BYTE lineState)
+{
+ return FALSE;
+}
+
+#endif //_CDC_
+
+#ifdef _HID_
+/*
+ * This event indicates that data has been received for interface intfNum, but no data receive operation is underway.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBHID_handleDataReceived (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+/*
+ * This event indicates that a send operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBHID_handleSendCompleted (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+/*
+ * This event indicates that a receive operation on interface intfNum has just been completed.
+ */
+BYTE USBHID_handleReceiveCompleted (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+/*
+ * This event indicates that a request to switch to or from Boot protocol
+ * was received from the host
+ */
+BYTE USBHID_handleBootProtocol (BYTE protocol, BYTE intfnum)
+{
+ return (FALSE);
+}
+
+#endif //_HID_
+
+#ifdef _MSC_
+BYTE USBMSC_handleBufferEvent (VOID)
+{
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+#endif //_MSC_
+
+
+#ifdef _PHDC_
+
+/*
+ * This event indicates that data has been received for interface intfNum, but no data receive operation is underway.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBPHDC_handleDataReceived (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (TRUE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+/*
+ * This event indicates that a send operation on interface intfNum has just been completed.
+ * returns TRUE to keep CPU awake
+ */
+BYTE USBPHDC_handleSendCompleted (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+/*
+ * This event indicates that a receive operation on interface intfNum has just been completed.
+ */
+BYTE USBPHDC_handleReceiveCompleted (BYTE intfNum)
+{
+ //TO DO: You can place your code here
+
+ return (FALSE); //return FALSE to go asleep after interrupt (in the case the CPU slept before
+ //interrupt)
+}
+
+#endif //_PHDC_
+
+/*----------------------------------------------------------------------------+
+ | End of source file |
+ +----------------------------------------------------------------------------*/
+/*------------------------ Nothing Below This Line --------------------------*/
diff --git a/Bios/src/fw/fet/usbMain.c b/Bios/src/fw/fet/usbMain.c
new file mode 100644
index 0000000..383c0a9
--- /dev/null
+++ b/Bios/src/fw/fet/usbMain.c
@@ -0,0 +1,94 @@
+/*
+ * usbMain.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#include "USB_API/USB_Common/device.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+#include "USB_config/descriptors.h"
+#include "USB_API/USB_Common/usb.h" // USB-specific functions
+#include "USB_API/USB_CDC_API/UsbCdc.h"
+#include "usbMain.h"
+#include "usbConstructs.h"
+
+COM_INFOS_t com_ins;
+
+void UsbMain_setComIterface(COM_INFOS_t *ui_c)
+{
+ com_ins = *ui_c;
+}
+void UsbMain_ComConfig(unsigned long Baudrate, unsigned long MCLK_Frequency, unsigned short toolId)
+{
+ com_ins.comConfig(Baudrate,MCLK_Frequency, toolId);
+}
+
+void USB_MainLoop(void)
+{
+ com_ins.comLoop();
+}
+
+#ifdef eZ_FET
+// Interrupt service routines for UART handling
+#pragma vector=USCI_A0_VECTOR
+__interrupt void UART_RxIsr(void)
+{
+ com_ins.comReceive(UCA0RXBUF);
+}
+
+#pragma vector=PORT2_VECTOR
+__interrupt void UART_RtsIsr(void)
+{
+ if((P2IFG & BIT6) == BIT6)
+ {
+ com_RtsIfgClear();
+ com_ins.comSetRts();
+ }
+}
+#endif
+
+#ifdef MSP_FET
+ #pragma vector=USCI_A1_VECTOR
+ __interrupt void UART_RxIsr(void)
+ {
+ com_ins.comReceive(UCA1RXBUF);
+ }
+
+ #pragma vector=PORT2_VECTOR
+ __interrupt void UART_RtsIsr(void)
+ {
+ if((P2IFG & BIT1) == BIT1)
+ {
+ com_RtsIfgClear();
+ com_ins.comSetRts();
+ }
+ }
+#endif
diff --git a/Bios/src/fw/fet/usbMain.h b/Bios/src/fw/fet/usbMain.h
new file mode 100644
index 0000000..2054efc
--- /dev/null
+++ b/Bios/src/fw/fet/usbMain.h
@@ -0,0 +1,47 @@
+/*
+ * usbMain.h
+ *
+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hil_Structs.h"
+#include "../Uart/FetCom.h"
+#include "../dcdc/FetDcdc.h"
+
+#ifndef USBMAIN_H_
+#define USBMAIN_H_
+
+void USB_MainLoop(void);
+void UsbMain_setComIterface(COM_INFOS_t *ui_c);
+unsigned short UsbMain_evaluateBaudRateCommand(unsigned long Baudrate);
+void UsbMain_ComConfig(unsigned long Baudrate, unsigned long MCLK_Frequency, unsigned short toolId);
+#endif /* USBMAIN_H_ */
diff --git a/Bios/src/fw/fet/v3_0p.c b/Bios/src/fw/fet/v3_0p.c
new file mode 100644
index 0000000..39afabf
--- /dev/null
+++ b/Bios/src/fw/fet/v3_0p.c
@@ -0,0 +1,1136 @@
+/*
+ * v3_0p.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULBIOS
+//! \file v3_0p.c
+//! \brief process and route the different message types
+//! \li forwarding (execute) messages to HAL
+//! \li upload of HAL macros
+//! \li loop management
+
+#include "fet/v3_0p_hw_fet.h"
+#include "fet/bios.h"
+#include "v3_0p.h"
+#include "stream.h"
+#include
+#include "Fet_IccMonitor.h"
+#include "USB_API/USB_Common/types.h"
+#include "USB_API/USB_CDC_API/UsbCdc.h"
+#include
+#include "../dcdc/FetDcdc.h"
+#include "../Uart/FetCom.h"
+#include "FetUsb.h"
+#include "usbMain.h"
+#include "usbConstructs.h"
+
+ // module handling
+typedef void *(*DcdcInit)(DCDC_INFOS_t* dcdcInfos_Pointer);
+DCDC_INFOS_t dcdcInfos_;
+#pragma required=dcdcInfos_
+
+typedef void *(*ComInit)(COM_INFOS_t* comInfos_Pointer);
+
+
+edt_common_methods_t _edt_Common_Methods;
+typedef void (*HilInitGetEdtCommenFunc)(edt_common_methods_t* edt_commen); // * hal_size, void * stream_adr)
+HilInitGetEdtCommenFunc hilEdtCom = NULL;
+
+typedef short (*HalFpgaUpdateFunc)(void);// FPGA update function
+
+short _dummy_shortOutVoidIn(void) {return 0;}
+void _dummy_voidOutVoidIn(void){};
+short _dummy_comConfig (unsigned long Baudrate, unsigned long MCLK_Frequency, unsigned short toolId){return 0;};
+short _dummy_comTransmit(void){return 0;};
+short _dummy_comReceive (unsigned char character){return 0;};
+unsigned char *_dummy_comGetBuffer (){return 0;};
+
+short _dummy_dcdcCalibrate(unsigned short resistor[4], unsigned short resCount, unsigned short vcc){return 0;}
+short _dummy_dcdcSetVcc(unsigned short vcc ){return 0;}
+short _dummy_dcdcRestart(unsigned short fetType_){return 0;};
+void _dummy_dcdc_getCalibrationValues(unsigned short vcc, unsigned short resistor, unsigned short resCount, unsigned long *ticks, unsigned long *time){return;}
+
+void _dummy_comSetHil(edt_common_methods_t* dummy){};
+void _dummy_comSetDcdc(DCDC_INFOS_t* dummy){};
+void _dummy_comSetUSB(FET_USB_INFOS_t* dummy){};
+void _dummy_comLoop(void){};
+short _dummy_comConfig2(unsigned long Baudrate){return 0;};
+
+short _dummy_InitHil( void ){return 0;};
+short _dummy_SetVcc(unsigned short Vcc){return 0;};
+void _dummy_SwitchVccFET(unsigned short state) {return;};
+short _dummy_GetVcc(double* Vcc, double* ExtVcc){return 0;};
+void _dummy_setFpgaTimeOut(unsigned short state) {return;};
+short _dummy_regulateVcc(void) { return 0; }
+
+unsigned char rx_queu_counter_public_;
+
+COM_INFOS_t comInfos_ =
+{
+ _dummy_shortOutVoidIn,
+ _dummy_comConfig,
+ _dummy_comTransmit,
+ _dummy_comReceive,
+ _dummy_voidOutVoidIn,
+ _dummy_comSetHil,
+ _dummy_comSetDcdc,
+ _dummy_comSetUSB,
+ _dummy_comLoop,
+ _dummy_comConfig2,
+ _dummy_comTransmit,
+ _dummy_comTransmit,
+ _dummy_voidOutVoidIn
+};
+#pragma required=comInfos_
+
+FET_USB_INFOS_t fetUsbInfos_ =
+{
+ USBCDC_bytesInUSBBuffer,
+ USBCDC_receiveData,
+ cdcSendDataInBackground,
+};
+#pragma required=fetUsbInfos_
+
+//------------------------------------------------------------------------------
+// Global Variables - Data Memory used by this module
+//
+V3opLoopArray v3op_loop_array_[V3OP_LOOP_ARRAY_COUNT] = {
+ { 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
+ { 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
+ { 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
+ { 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 }
+};
+
+HAL_INFOS no_hal_infos_ = {NULL, 0, 0, 0, NULL, 0, 0};
+
+HAL_INFOS_PTR hal_infos_ = &no_hal_infos_;
+// ID from and pointer to all HAL functions
+HAL_REC_ARRAY hal_ptr_ = NULL;
+// informations about first and last measages
+unsigned short v30p_stream_flags_ = 0;
+
+short HAL_Zero(unsigned char *data);
+
+void V3OP_HwReset(void)
+{
+ STREAM_resetSharedVariables();
+ BIOS_UsbTxClear();
+ BIOS_UsbRxClear();
+ BIOS_InitCom();
+}
+
+#pragma optimize = low
+short HAL_Zero(unsigned char *data)
+{
+ short ret_value = 0;
+ unsigned short i;
+ if(data[MESSAGE_EXECUTE_ZERO_ADDR_POS] == STREAM_CORE_ZERO_VERSION) // call for SW version
+ {
+ if(STREAM_out_init(data[MESSAGE_MSG_ID_POS], RESPTYP_DATA) >= 0)
+ {
+ unsigned long coreVersion_ToolId = Bios_getCore_version();
+ coreVersion_ToolId =(coreVersion_ToolId<<16) + Bios_getTool_id();
+ if(Bios_getHal_signature() == 0xBEEFBEEF && V3OP_HalCrcOk() &&
+ Bios_getHil_signature() == 0xF00DF00D && V3OP_HilCrcOk())
+ {
+ STREAM_put_word((*hal_infos_).sw_0);
+ STREAM_put_word((*hal_infos_).sw_1);
+ }
+ else
+ {
+ STREAM_put_word(Bios_getTool_id());
+ STREAM_put_word(Bios_getTool_id());
+ }
+ STREAM_put_word(Bios_getInfo_hw_0());
+ STREAM_put_word(Bios_getInfo_hw_1());
+
+ STREAM_put_bytes((unsigned char*)&coreVersion_ToolId,sizeof(coreVersion_ToolId));
+ STREAM_put_word((*hal_infos_).hil_version);
+
+ if(Bios_getDcdc_signature() == 0xABBAABBA && V3OP_DcdcCrcOk())
+ {
+ STREAM_put_word(dcdcInfos_.getLayerVersion());
+ }
+ else
+ {
+ STREAM_put_word(-1);
+ }
+ if(Bios_getDcdc_signature() == 0xABBAABBA && V3OP_DcdcCrcOk() && Bios_getTool_id() != eZ_FET_NO_DCDC)
+ {
+ STREAM_put_word(dcdcInfos_.getSubMcuVersion());
+
+ }
+ else
+ {
+ STREAM_put_word(-1);
+ }
+ // return dummy value for Uart version module
+ if(Bios_getCom_signature() == 0xACDCACDC && V3OP_ComChannelCrcOk())
+ {
+ STREAM_put_word(comInfos_.comGetLayerVersion());
+ }
+ else
+ {
+ STREAM_put_word(-1);
+ }
+
+ // return CRC's for core and all firmware modules
+ STREAM_put_word(V3OP_GetHilCrc());
+ STREAM_put_word(V3OP_GetHalCrc());
+ STREAM_put_word(V3OP_GetDcdcCrc());
+ STREAM_put_word(V3OP_GetCoreCrc());
+ STREAM_put_word(V3OP_GetComChannelCrc());
+ STREAM_put_word((*hal_infos_).fpga_version);
+
+ STREAM_put_word(BIOS_RX_QUEUS);
+ STREAM_put_word(BIOS_RX_SIZE);
+ STREAM_put_long(0);
+
+ // reset static vars
+ STREAM_resetSharedVariables();
+ ret_value = 1;
+ }
+ else
+ {
+ ret_value = -3;
+ }
+ }
+ else if(data[MESSAGE_EXECUTE_ZERO_ADDR_POS] == STREAM_CORE_ZERO_MACRO_SIZE)
+ {
+ if((*hal_infos_).hal_size)
+ {
+ if(STREAM_out_init(data[MESSAGE_MSG_ID_POS], RESPTYP_DATA) >= 0)
+ {
+ STREAM_put_word((*hal_infos_).hal_size);
+ ret_value = 1;
+ }
+ else
+ {
+ ret_value = -4;
+ }
+ }
+ else
+ {
+ ret_value = -2;
+ }
+ }
+ else if(data[MESSAGE_EXECUTE_ZERO_ADDR_POS] == STREAM_CORE_ZERO_MACRO_ADDR)
+ {
+ if(STREAM_out_init(data[MESSAGE_MSG_ID_POS], RESPTYP_DATA) >= 0)
+ {
+ for(i =0;i<(*hal_infos_).hal_size;i++)
+ {
+ STREAM_put_word(i);
+ STREAM_put_word((*hal_ptr_)[i].id);
+ }
+ ret_value = 1;
+ }
+ else
+ {
+ ret_value = -5;
+ }
+ }
+ else if(data[MESSAGE_EXECUTE_ZERO_ADDR_POS] == STREAM_CORE_ZERO_PUC_RESET)
+ {
+ if(STREAM_out_init(data[MESSAGE_MSG_ID_POS], RESPTYP_ACKNOWLEDGE) >= 0)
+ {
+ STREAM_flush();
+ ret_value = -6;
+ }
+ V3OP_HwReset();
+ // there can't send a ret_value
+ }
+ if(ret_value == 1)
+ {
+ ret_value = MESSAGE_NO_RESPONSE;
+ STREAM_flush();
+ }
+ return(ret_value);
+}
+
+short V3OP_PauseLoop(unsigned char msg_id)
+{
+ if ( msg_id != 0x40 )
+ {
+ int i = 0;
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if(v3op_loop_array_[i].msg_id == msg_id)
+ {
+ v3op_loop_array_[i].active = 0;
+ break;
+ }
+ }
+ }
+ return 1;
+}
+
+short V3OP_ResumeLoop(unsigned char msg_id)
+{
+ if ( msg_id != 0x40 )
+ {
+ int i = 0;
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if(v3op_loop_array_[i].msg_id == msg_id)
+ {
+ v3op_loop_array_[i].active = 1;
+ break;
+ }
+ }
+ }
+ return 1;
+}
+
+//! \brief kill all loop functions, including vcc monitor
+void V3OP_KillAllLoops(void)
+{
+ int i = 0;
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if(v3op_loop_array_[i].indata != NULL)
+ {
+ free(v3op_loop_array_[i].indata);
+ }
+ v3op_loop_array_[i].indata = NULL;
+ v3op_loop_array_[i].addr = 0xFFFF;
+ v3op_loop_array_[i].active = 1;
+ }
+}
+
+//! \brief kill (stop) functions in loop
+//! \param[in] addr index of function to kill
+//! \param[in] id with there the function was install in the loop
+//! \details if addr and id are zero, all function in loop are killed
+//! \return 0 -> no function found in loop to kill (only posible if addr and id 0)
+//! \return >0 -> count of functions in loop who killed
+//! \return <0 -> no function to kill
+short V3OP_KillLoop(unsigned char msg_id)
+{
+ unsigned short i;
+ short ret_value = -1;
+
+ if(msg_id == 0)
+ {
+ ret_value = 0;
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if((v3op_loop_array_[i].addr != 0xFFFF) && ((*hal_ptr_)[v3op_loop_array_[i].addr].id < 0xFF00))
+ {
+ if(v3op_loop_array_[i].indata != NULL)
+ {
+ //free(v3op_loop_array_[i].indata);
+ }
+ v3op_loop_array_[i].indata = NULL;
+ v3op_loop_array_[i].addr = 0xFFFF;
+ v3op_loop_array_[i].active = 0;
+
+ ret_value++;
+ }
+ }
+ }
+ else
+ {
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if(v3op_loop_array_[i].msg_id == msg_id) break;
+ }
+ if(i < V3OP_LOOP_ARRAY_COUNT) // addr found
+ {
+ if(v3op_loop_array_[i].indata != NULL)
+ {
+ free(v3op_loop_array_[i].indata);
+ }
+ v3op_loop_array_[i].indata = NULL;
+ v3op_loop_array_[i].addr = 0xFFFF;
+ v3op_loop_array_[i].active = 0;
+ }
+ ret_value = 1;
+ }
+ return(ret_value);
+}
+
+//! \brief install a HAL function in loop
+//! \param[in] *addr id (addr) to receive buffer
+//! \param[in] flags 0 -> function in loop until kill
+//! \param[in] flags 1 -> function in loop until function returns with !=0
+//! \return <0 -> function not install
+//! \return 1 -> function install in loop
+
+unsigned static char tempInData[4][100]= {0x0,0x0};
+
+short V3OP_SetLoop(unsigned char *payload_incl_addr, unsigned char flags)
+{
+ unsigned short i, j;
+ unsigned char payload_size;
+ short ret_value = -1;
+
+ // search for same running function
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if((v3op_loop_array_[i].addr == *(unsigned short*)&payload_incl_addr[MESSAGE_EXECUTE_CALL_ADDR_POS]) &&
+ (v3op_loop_array_[i].msg_id == payload_incl_addr[MESSAGE_MSG_ID_POS]))
+ {
+ ret_value = -2;
+ break;
+ }
+ }
+ // search free slot
+ for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
+ {
+ if(v3op_loop_array_[i].addr == 0xFFFF)
+ {
+ break;
+ }
+ }
+ if(i < V3OP_LOOP_ARRAY_COUNT) // free slot found
+ {
+ if(payload_incl_addr[0] >= MESSAGE_EXECUTE_PAYLOAD_POS)
+ {
+ payload_size = payload_incl_addr[0]+1;
+ v3op_loop_array_[i].indata = tempInData[i];// (unsigned char*)malloc(payload_size);
+ if(v3op_loop_array_[i].indata)
+ {
+ for(j = 0; j < payload_size; j++)
+ {
+ v3op_loop_array_[i].indata[j] = payload_incl_addr[j];
+ }
+ v3op_loop_array_[i].flags = flags & V3OP_LOOP_WAIT_FLAG;
+ v3op_loop_array_[i].msg_id = payload_incl_addr[2] | 0x40;
+ v3op_loop_array_[i].msg_type = RESPTYP_DATA;
+ v3op_loop_array_[i].addr = *(unsigned short*)&payload_incl_addr[MESSAGE_EXECUTE_CALL_ADDR_POS];
+ v3op_loop_array_[i].active = 1;
+ ret_value = 1;
+ }
+ else
+ {
+ ret_value = -4;
+ }
+ }
+ else
+ {
+ v3op_loop_array_[i].indata = NULL;
+ v3op_loop_array_[i].flags = flags & V3OP_LOOP_WAIT_FLAG;
+ v3op_loop_array_[i].msg_id = payload_incl_addr[2] | 0x40;
+ v3op_loop_array_[i].msg_type = RESPTYP_DATA;
+ v3op_loop_array_[i].addr = *(unsigned short*)&payload_incl_addr[MESSAGE_EXECUTE_CALL_ADDR_POS];
+ v3op_loop_array_[i].active = 1;
+ ret_value = 1;
+ }
+ }
+ else
+ {
+ ret_value = -3;
+ }
+ return(ret_value);
+}
+
+short V3OP_Calibrate(unsigned char *str);
+
+//! \brief process message type
+//! \param[in] *str pointer on received buffer
+//! \li str[1] message type
+//! \li str[2] message id
+//! \li str[3] function timeout (not used)
+//! \li str[4...] message type (function) depended payload
+//! \return 0
+short V3OP_Rx (unsigned char *str)
+{
+ unsigned char tmp_char;
+ unsigned short call_addr;
+ short ret_value = -1;
+ //short ret_value = 0x8000;
+ short ret_value_tmp = 0;
+ HalFuncInOut pCallAddr;
+
+ if((bios_rx_record_.last_cmd_typ != str[MESSAGE_CMDTYP_POS]) || !(bios_rx_record_.last_msg_id & 0x80))
+ {
+ bios_rx_record_.last_cmd_typ = str[MESSAGE_CMDTYP_POS];
+ bios_rx_record_.last_msg_call = str[MESSAGE_EXECUTE_CALL_ADDR_POS];
+ v30p_stream_flags_ |= MESSAGE_NEW_MSG;
+ }
+ else
+ {
+ v30p_stream_flags_ &= ~MESSAGE_NEW_MSG;
+ }
+ if(!(str[MESSAGE_MSG_ID_POS] & 0x80))
+ {
+ v30p_stream_flags_ |= MESSAGE_LAST_MSG;
+ }
+ else
+ {
+ v30p_stream_flags_ &= ~MESSAGE_LAST_MSG;
+ }
+ bios_rx_record_.last_msg_id = str[MESSAGE_MSG_ID_POS];
+
+ if(!bios_wb_control_)
+ {
+ BIOS_LedOn(BIOS_LED_MODE);
+ bios_wb_control_ = 1;
+ }
+ if(str[MESSAGE_CMDTYP_POS] == CMDTYP_EXECUTE) // bypass CMDTYP_EXECUTE at switch instruction
+ {
+ if(v30p_stream_flags_ & MESSAGE_NEW_MSG)
+ {
+ call_addr = *(unsigned short*)&str[MESSAGE_EXECUTE_CALL_ADDR_POS]; // first short is on a word boundary
+ STREAM_discard_bytes(2);
+ }
+ else
+ {
+ call_addr = bios_rx_record_.last_msg_call;
+ }
+ if(call_addr == 0)
+ {
+ ret_value_tmp = HAL_Zero(str);
+ }
+ if(!ret_value_tmp)
+ {
+ // adjust to payload for HAL (payload without cmd-index)
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ #ifdef HAL_HISTORY
+ if(hal_history_count_ >= sizeof(hal_history_)/2)
+ {
+ hal_history_count_=0;
+ }
+ hal_history_[hal_history_count_++] = call_addr;
+ hal_history_last_ = call_addr;
+ #endif
+ if(call_addr < (*hal_infos_).hal_size)
+ {
+ pCallAddr = (HalFuncInOut)(*hal_ptr_)[call_addr].function;
+ if(pCallAddr != NULL)
+ {
+ ret_value = pCallAddr(v30p_stream_flags_);
+ if(!ret_value)
+ {
+ STREAM_flush();
+ ret_value = MESSAGE_NO_RESPONSE;
+ }
+ }
+ }
+ }
+ else
+ {
+ ret_value = ret_value_tmp;
+ }
+ }
+ else
+ {
+ switch(str[MESSAGE_CMDTYP_POS])
+ {
+ case CMDTYP_EXECUTELOOP:
+ ret_value = V3OP_SetLoop(str, V3OP_LOOP_WAIT_FLAG);
+ break;
+ case CMDTYP_EXECUTEEVER:
+ ret_value = V3OP_SetLoop(str, 0);
+ break;
+ case CMDTYP_KILL:
+ ret_value = V3OP_KillLoop(str[MESSAGE_EXECUTE_CALL_ADDR_POS+2]);
+ break;
+ case CMDTYP_KILL_ALL:
+ V3OP_KillAllLoops();
+ ret_value = 1;
+ break;
+ case CMDTYP_PAUSE_LOOP:
+ {
+ unsigned char msgId = str[MESSAGE_EXECUTE_CALL_ADDR_POS+2];
+ ret_value = V3OP_PauseLoop( msgId | 0x40 );
+ }
+ break;
+ case CMDTYP_RESUME_LOOP:
+ {
+ unsigned char msgId = str[MESSAGE_EXECUTE_CALL_ADDR_POS+2];
+ ret_value = V3OP_ResumeLoop( msgId | 0x40 );
+ }
+ break;
+ case CMDTYP_UPINIT: // init update
+ ret_value = V3OP_CoreFlashFunctionInit(str);
+ break;
+ case CMDTYP_UPERASE: // erase HAL part
+ ret_value = V3OP_CoreFlashFunctionErase(str);
+ if(ret_value == 1) // tell Bios that Hal is dead
+ {
+ V3OP_HalInterfaceClear();
+ }
+ break;
+ case CMDTYP_UPWRITE: // write into HAL part
+ ret_value = V3OP_CoreFlashFunctionWrite(str,v30p_stream_flags_);
+ break;
+ case CMDTYP_UPREAD: // read HAL part
+ ret_value = V3OP_CoreFlashFunctionRead(str);
+ break;
+ case CMDTYP_UPCORE:
+ // Erase Segment with Core Signature, to start install new core on restart
+ V3OP_UpCore();
+ break;
+ case CMDTYP_DCDC_RESTART:
+ // restart sub mcu
+ ret_value = dcdcInfos_.dcdcRestart(*(unsigned short*)&str[4]);
+ break;
+ case CMDTYP_DCDC_CALIBRATE:
+ // Start DCDC mcu calibaration function
+ ret_value = V3OP_Calibrate(str);
+ break;
+ case CMDTYP_DCDC_INIT_INTERFACE:
+ V3OP_DcdcInterfaceInit();
+ break;
+ case CMDTYP_DCDC_SUB_MCU_VERSION:
+ ret_value = dcdcInfos_.getSubMcuVersion();
+ break;
+ case CMDTYP_DCDC_LAYER_VERSION:
+ ret_value = dcdcInfos_.getLayerVersion();
+ break;
+ case CMDTYP_DCDC_POWER_DOWN:
+ ret_value = dcdcInfos_.dcdcPowerDown();
+ break;
+ case CMDTYP_DCDC_SET_VCC:
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ ret_value = dcdcInfos_.dcdcSetVcc(*(unsigned short*)&str[6]);
+ break;
+ case CMDTYP_OVER_CURRENT:
+ {
+ unsigned short state = 0;
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ state = (*(unsigned short*)&str[6]);
+ if(state)
+ {
+ IccMonitor_StartVoltageSupervision();
+ }
+ else
+ {
+ IccMonitor_StopVoltageSupervision();
+ }
+ break;
+ }
+ case CMDTYP_HIL_SET_VCC:
+ {
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ if(_edt_Common_Methods.SetVcc)
+ {
+ ret_value = _edt_Common_Methods.SetVcc(*(unsigned short*)&str[6]);
+ }
+ break;
+ }
+ case CMDTYP_HIL_GET_VCC:
+ {
+ double vcc = 0;
+ double ext_vcc = 0;
+ if(_edt_Common_Methods.GetVcc)
+ {
+ ret_value = _edt_Common_Methods.GetVcc(&vcc, &ext_vcc);
+ }
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ STREAM_put_word((unsigned short)vcc);
+ STREAM_put_word((unsigned short)ext_vcc);
+ STREAM_flush();
+ break;
+ }
+
+ case CMDTYP_HIL_SWITCH_FET:
+ {
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ if(_edt_Common_Methods.SwitchVccFET)
+ {
+ _edt_Common_Methods.SwitchVccFET(*(unsigned short*)&str[6]);
+ }
+ ret_value = 0;
+ break;
+ }
+ case CMDTYP_CMP_VERSIONS:
+ {
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+ if(Bios_getHal_signature() == 0xBEEFBEEF && V3OP_HalCrcOk() &&
+ Bios_getHil_signature() == 0xF00DF00D && V3OP_HilCrcOk())
+ {
+ STREAM_put_word((*hal_infos_).swCmp_0);
+ STREAM_put_word((*hal_infos_).swCmp_1);
+ STREAM_put_word((unsigned short)(*hal_infos_).hil_versionCmp);
+ }
+ else
+ {
+ STREAM_put_word(0);
+ STREAM_put_word(0);
+ STREAM_put_word(0);
+ }
+ STREAM_put_word((unsigned short) dcdcInfos_.getLayerVersionCmp());
+ STREAM_put_word((unsigned short) comInfos_.comGetLayerVersionCmp());
+ STREAM_flush();
+
+ ret_value = 0;
+ break;
+ }
+ }
+ }
+
+ if(ret_value != MESSAGE_NO_RESPONSE)
+ {
+ if(ret_value >= 0)
+ {
+ if(STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_ACKNOWLEDGE) >= 0)
+ {
+ STREAM_put_word(ret_value);
+ STREAM_flush();
+ }
+ }
+ else
+ {
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_EXCEPTION);
+ STREAM_put_word(ret_value);
+ if(ret_value == EXCEPTION_MSGID_ERR)
+ {
+ tmp_char = (bios_rx_record_.last_msg_id + 1) & 0x3F;
+ if(!tmp_char)
+ {
+ tmp_char++;
+ }
+ STREAM_put_word(tmp_char);
+ }
+ STREAM_flush();
+ }
+ }
+ return(0);
+}
+
+short V3OP_Calibrate(unsigned char *str)
+{ // Calibration values retreived form the DCDC
+ unsigned long ticks;
+ unsigned long time;
+ // Start DCDC mcu calibaration function
+ STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_DATA);
+
+ unsigned short countRes = *(unsigned short*)&str[4];
+ unsigned short res[5] = {0,0,0,0,0};
+ unsigned short vcc = 0;
+ short ret_value = -1;
+ // Resistors
+ int i, pos;
+ for (i = 0, pos = 6; i < countRes; ++i, pos += 2)
+ {
+ res[i] = *(unsigned short*)&str[pos];
+ }
+ vcc = *(unsigned short*)&str[pos];
+
+ ret_value = dcdcInfos_.dcdcCalibrate(res, countRes, vcc);
+ if(!ret_value)
+ {
+ int y = 0;
+ for(y =0; y < countRes; y++)
+ {
+ dcdcInfos_.dcdc_getCalibrationValues(vcc, res[y], countRes, &ticks, &time);
+ STREAM_put_long(ticks);
+ STREAM_put_long(time);
+ }
+ STREAM_flush();
+ ret_value = MESSAGE_NO_RESPONSE;
+ }
+ else
+ {
+ STREAM_put_long(0xDEAD);
+ STREAM_put_long(0xBABE);
+ STREAM_flush();
+ ret_value = MESSAGE_NO_RESPONSE;
+ }
+ return ret_value;
+}
+
+//! \brief sends exceptions with details in payload
+//! \param[in] msg_id message id
+//! \param[in] code if payload = NULL, 'code' is sendet in as payload
+//! \param[in] *payload if !=NULL payload is sendet with the length 'code'
+//! \return 0 exception sended
+//! \return -1 exception not sended, no output buffer aviable
+short V3OP_SendException(unsigned char msg_id, unsigned short code, unsigned short *payload)
+{
+ unsigned short i;
+
+ if(STREAM_out_init(msg_id, RESPTYP_EXCEPTION) >= 0)
+ {
+ if(payload == NULL)
+ {
+ STREAM_put_word(code);
+ }
+ else
+ {
+ for(i = 0;(i < code) && (i < 126); i++)
+ {
+ STREAM_put_word(payload[i]);
+ }
+ }
+ STREAM_flush();
+ return(0);
+ }
+ return(-1);
+}
+
+// Sw layer init
+
+//*****************************************
+short V3OP_HalInterfaceClear(void)
+{
+ V3OP_KillAllLoops();
+ hal_infos_ = &no_hal_infos_;
+ hal_ptr_ = NULL;
+ return(0);
+}
+
+typedef void (*HilInitFunc)();
+
+short V3OP_HalInterfaceInit(void)
+{
+ HalMainFunc halStartUpCode = NULL;
+ HilInitFunc hilInit = NULL;
+
+ unsigned char cmd[6] = {0x05, CMDTYP_EXECUTELOOP, 0, 0, 0, 0};
+ unsigned char i;
+
+ V3OP_HalInterfaceClear();
+ //set shared mem Variables to 0x00
+ STREAM_resetSharedVariables();
+
+
+ // if hil is not loaded - did not make sence to init hal
+ if(Bios_getHil_signature() != 0xF00DF00D || Bios_getHil_intvec() == 0xFFFF || !V3OP_HilCrcOk())
+ {
+ _edt_Common_Methods.Init = _dummy_InitHil;
+ _edt_Common_Methods.SetVcc = _dummy_SetVcc;
+ _edt_Common_Methods.GetVcc = _dummy_GetVcc;
+ _edt_Common_Methods.setFpgaTimeOut = _dummy_setFpgaTimeOut;
+ _edt_Common_Methods.SwitchVccFET = _dummy_SwitchVccFET;
+ _edt_Common_Methods.regulateVcc = _dummy_regulateVcc;
+ _edt_Common_Methods.SetToolID = _dummy_SwitchVccFET;
+ return -1;
+ }
+ hilInit = (HilInitFunc)Bios_getHil_intvec();
+ // call startup of HIL layer
+ hilInit();
+ hilEdtCom = (HilInitGetEdtCommenFunc)0x18A0;
+ hilEdtCom(&_edt_Common_Methods);
+
+ // check if rest vector is not FFFF and if a valid Hal/Programm signature was found
+ if(Bios_getHal_intvec() == 0xFFFF || Bios_getHal_signature() != 0xBEEFBEEF || !V3OP_HalCrcOk())
+ {
+ return -1;
+ }
+
+ _edt_Common_Methods.SetToolID(Bios_getTool_id());
+
+ halStartUpCode = (HalMainFunc)Bios_getHal_intvec(); // calls the (modified) startup code of HAL
+ hal_infos_ = halStartUpCode((struct stream_funcs*)&_stream_Funcs, 0, V3OP_HilCrcOk(), V3OP_DcdcCrcOk()); // return HAL sw infos
+ hal_ptr_ = (HAL_REC_ARRAY)(*hal_infos_).hal_list_ptr;
+
+ IccMonitor_setHilIterface(&_edt_Common_Methods);
+ comInfos_.comSetHil(&_edt_Common_Methods);
+
+ if(hal_ptr_ != NULL)
+ {
+ //configure ICC monitor process
+ (*hal_ptr_)[(*hal_infos_).hal_size-1].id = 0xFFFE;
+ (*hal_ptr_)[(*hal_infos_).hal_size-1].function = (void*)IccMonitor_Process;
+
+ for(i=0; i <(*hal_infos_).hal_size; i++)
+ {
+ if(((*hal_ptr_)[i].id != 0xFFFF) && ((*hal_ptr_)[i].id >= 0xFF00))
+ {
+ cmd[4] = i;
+ cmd[5] = 0;
+ V3OP_SetLoop(cmd, 0);
+ break;
+ }
+ }
+ }
+ return 0;
+}
+
+void V3OP_DcdcInterfaceClear(void)
+{
+ dcdcInfos_.getSubMcuVersion = _dummy_shortOutVoidIn;
+ dcdcInfos_.getLayerVersion = _dummy_shortOutVoidIn;
+ dcdcInfos_.dcdcCalibrate = _dummy_dcdcCalibrate;
+ dcdcInfos_.dcdcPowerDown = _dummy_shortOutVoidIn;
+ dcdcInfos_.dcdcSetVcc = _dummy_dcdcSetVcc;
+ dcdcInfos_.dcdcRestart = _dummy_dcdcRestart;
+ dcdcInfos_.dcdc_getCalibrationValues = _dummy_dcdc_getCalibrationValues;
+ dcdcInfos_.getLayerVersionCmp = _dummy_shortOutVoidIn;
+ //dcdcInfos_.getLayerVersion = _dummy_shortOutVoidIn;
+ comInfos_.comSetDcdc(&dcdcInfos_);
+
+}
+
+short V3OP_DcdcInterfaceInit(void)
+{
+ DcdcInit dcdc_Init_ = NULL;
+ if(Bios_getDcdc_intvec() == 0xFFFF || Bios_getDcdc_signature() != 0xABBAABBA || !V3OP_DcdcCrcOk())
+ {
+ V3OP_DcdcInterfaceClear();
+ return -1;
+ }
+ dcdc_Init_ = (DcdcInit)Bios_getDcdc_intvec(); // calls the (modified) startup code of HAL
+ dcdc_Init_(&dcdcInfos_);
+
+ comInfos_.comSetDcdc(&dcdcInfos_);
+ dcdcInfos_.dcdcRestart(Bios_getTool_id());
+
+ return 0;
+}
+
+//******************** Module Implementation **************
+short V3OP_ComInterfaceInit(void)
+{
+ ComInit com_Init_ = NULL;
+ if((Bios_getCom_intvec() == 0xFFFF) || (Bios_getCom_signature() != 0xACDCACDC)|| ! V3OP_ComChannelCrcOk())
+ {
+ V3OP_ComInterfaceClear();
+ return -1;
+ }
+ com_Init_ = (ComInit)Bios_getCom_intvec();
+ com_Init_(&comInfos_);
+
+ UsbMain_setComIterface(&comInfos_);
+ comInfos_.comSetUSB(&fetUsbInfos_);
+
+ comInfos_.comSetHil(&_edt_Common_Methods);
+ comInfos_.comSetDcdc(&dcdcInfos_);
+
+ return 0;
+}
+
+void V3OP_ComInterfaceClear(void)
+{
+ comInfos_.comGetLayerVersion = _dummy_shortOutVoidIn;
+ comInfos_.comGetLayerVersionCmp = _dummy_shortOutVoidIn;
+ comInfos_.comConfig = _dummy_comConfig;
+ comInfos_.comTransmit = _dummy_comTransmit;
+ comInfos_.comReceive = _dummy_comReceive;
+ comInfos_.comClose = _dummy_voidOutVoidIn;
+ comInfos_.comSetHil = _dummy_comSetHil;
+ comInfos_.comSetDcdc = _dummy_comSetDcdc;
+ comInfos_.comSetUSB = _dummy_comSetUSB;
+ comInfos_.comLoop = _dummy_comLoop;
+ comInfos_.comSetCts = _dummy_comTransmit;
+ comInfos_.comClearCts = _dummy_comTransmit;
+ comInfos_.comSetRts = _dummy_voidOutVoidIn;
+ UsbMain_setComIterface(&comInfos_);
+}
+
+//*****************************************
+short V3OP_HalFpgaUpdate(void)
+{
+ HalFpgaUpdateFunc halFpgaUpdateCode = NULL;
+ short retVal;
+
+ // check if rest vector is not FFFF and if a valid Hal/Programm signature was found
+ if(Bios_getHal_intvec() == 0xFFFF || Bios_getHal_signature() != 0xADACADAC || !V3OP_HalFpgaCrcOk())
+ {
+ return -1;
+ }
+
+ halFpgaUpdateCode = (HalFpgaUpdateFunc)Bios_getHal_intvec(); // calls the (modified) startup code of HAL
+ retVal = halFpgaUpdateCode(); // return update status, input parameters are don't care
+
+ return retVal;
+}
+
+//******************************************
+void V3OP_Scheduler(void)
+{
+ unsigned char loop_array_counter;
+ unsigned char rx_queu_counter = 0;
+ unsigned char rx_queu_counter_tmp;
+ StreamSafe stream_tmp;
+ HalFuncInOut pCallAddr;
+
+ BIOS_ResetCts(); // release CTS line
+ {
+ // send error messages
+ if(BIOS_IsUsbRxError())
+ {
+ V3OP_SendException(BIOS_getRxError().bios_rx_err_id_, BIOS_getRxError().bios_rx_err_code_, BIOS_getRxError().bios_rx_err_payload_);
+ BIOS_ClearUsbRxError();
+ BIOS_ResetCts();
+ }
+ // search for and execute "commands in loop"
+
+ for(loop_array_counter = 0; loop_array_counter < V3OP_LOOP_ARRAY_COUNT; loop_array_counter++)
+ {
+ if((v3op_loop_array_[loop_array_counter].active) &&
+ (v3op_loop_array_[loop_array_counter].addr < (*hal_infos_).hal_size))
+ {
+ pCallAddr = (HalFuncInOut)(*hal_ptr_)[v3op_loop_array_[loop_array_counter].addr].function;
+ if(pCallAddr != NULL)
+ {
+ if(STREAM_out_init(v3op_loop_array_[loop_array_counter].msg_id, v3op_loop_array_[loop_array_counter].msg_type) >= 0)
+ {
+ STREAM_internal_stream(&v3op_loop_array_[loop_array_counter].indata[MESSAGE_EXECUTE_PAYLOAD_POS], v3op_loop_array_[loop_array_counter].indata[0]-3, (unsigned char*)0x0001, 0, &stream_tmp);
+ if(pCallAddr(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG) == 1)
+ {
+ STREAM_flush();
+ if(v3op_loop_array_[loop_array_counter].flags & V3OP_LOOP_WAIT_FLAG)
+ {
+ V3OP_KillLoop(v3op_loop_array_[loop_array_counter].msg_id);
+ }
+ }
+ STREAM_external_stream(&stream_tmp);
+ }
+ }
+ }
+ }
+
+ // test on new messages from dll and execute
+ rx_queu_counter_tmp = rx_queu_counter;
+ do
+ {
+ if(bios_rx_record_.state[rx_queu_counter] & BIOS_RX_RDY)
+ {
+ BIOS_LedFlash(BIOS_LED_MODE,20);
+ STREAM_in_init((BiosRxRecord*)&bios_rx_record_, rx_queu_counter);
+ rx_queu_counter_public_ = rx_queu_counter;
+ V3OP_Rx(bios_rx_record_.data[rx_queu_counter]);
+ rx_queu_counter = rx_queu_counter_public_;
+ bios_rx_record_.state[rx_queu_counter] &= ~BIOS_RX_RDY;
+ break;
+ }
+ rx_queu_counter++;
+ if(rx_queu_counter >= BIOS_RX_QUEUS)
+ {
+ rx_queu_counter = 0;
+ }
+ }
+ while(rx_queu_counter_tmp != rx_queu_counter);
+ }
+}
+
+// System events
+typedef enum FET_UPDATE_CONFIG
+{
+ FET_INIT_ALL_MODULES = 0,
+ FET_DE_INIT_ALL_MODULES,
+ FET_DE_INIT_DCDC_MCU,
+ FET_FPGA_UPDATE,
+ FET_STOP_VOLTAGE_SUPERVISION,
+ FET_START_VOLTAGE_SUPERVISION,
+} FetUpdateConfig;
+
+
+//! \brief lock/unlock write/erase to UIF (HAL) flash memory
+//! \param[in] *payload pointer to receive buffer
+//! \return 0 -> flash write/erase locked
+//! \return 1 -> flash write/erase released
+//! \return <0 -> error
+short V3OP_CoreFlashFunctionInit(unsigned char *payload)
+{
+ short ret_value = -1;
+
+ if(payload[4] == FET_INIT_ALL_MODULES)
+ {
+ // init communicaiton to DCDC sub mcu
+ V3OP_DcdcInterfaceInit();
+ dcdcInfos_.dcdcRestart(Bios_getTool_id());
+ // will init hil layer as well if valid
+ V3OP_HalInterfaceInit();
+ V3OP_ComInterfaceInit();
+
+ BIOS_LedAlternate(0);
+ BIOS_LedOff(BIOS_LED_MODE);
+ BIOS_LedOn(BIOS_LED_POWER);
+ ret_value = 1;
+ }
+ else if(payload[4] == FET_DE_INIT_ALL_MODULES)//used for HAL HIL DCDC & COM Channel update
+ {
+ V3OP_KillAllLoops();
+ V3OP_HalInterfaceClear();
+ STREAM_resetSharedVariables();
+ dcdcInfos_.dcdcPowerDown();
+ V3OP_ComInterfaceClear();
+ V3OP_DcdcInterfaceClear();
+ BIOS_LedAlternate(30);
+ ret_value = 1;
+ }
+ else if(payload[4] == FET_DE_INIT_DCDC_MCU) // Just for Sub MCU update don't clear Hal HIl you need it for SBW communication
+ {
+ V3OP_KillAllLoops();
+ STREAM_resetSharedVariables();
+ dcdcInfos_.dcdcPowerDown();
+ V3OP_DcdcInterfaceClear();
+ BIOS_LedAlternate(30);
+ ret_value = 1;
+ }
+ else if(payload[4] == FET_FPGA_UPDATE) // Used for FPGA updates
+ {
+ V3OP_KillAllLoops();
+ V3OP_HalInterfaceClear();
+ STREAM_resetSharedVariables();
+ dcdcInfos_.dcdcPowerDown();
+ V3OP_ComInterfaceClear();
+ V3OP_DcdcInterfaceClear();
+ IccMonitor_StopDcdcOvercurrentDetection();
+ BIOS_LedAlternate(5);
+ ret_value = V3OP_HalFpgaUpdate() ? -1 : 1;
+ }
+ else if(payload[4] == FET_STOP_VOLTAGE_SUPERVISION) // Used for FPGA updates
+ {
+ V3OP_KillAllLoops();
+ IccMonitor_StopVoltageSupervision();
+ IccMonitor_StopDcdcOvercurrentDetection();
+ BIOS_LedAlternate(30);
+ ret_value = 1;
+ }
+ else if(payload[4] == FET_START_VOLTAGE_SUPERVISION) // Used for FPGA updates
+ {
+ IccMonitor_StartDcdcOvercurrentDetection();
+ BIOS_LedOff(BIOS_LED_MODE);
+ BIOS_LedOn(BIOS_LED_POWER);
+ //~1.6 s delay
+ __delay_cycles(40000000);
+ IccMonitor_StartVoltageSupervision();
+ __delay_cycles(40000000);
+ ret_value = 1;
+ }
+ return(ret_value);
+}
+
+#ifdef MSP_FET
+#pragma optimize = low
+#pragma vector=WDT_VECTOR
+__interrupt void TimeoutFpgaShift_(void)
+{
+ SFRIFG1 &= ~WDTIFG;
+
+ if(STREAM_out_init(0, RESPTYP_STATUS) != EXCEPTION_TX_NO_BUFFER)
+ {
+ STREAM_put_word(FET_FPGA_TIMOUT);
+ STREAM_flush();
+ }
+ _edt_Common_Methods.setFpgaTimeOut(1);
+}
+#endif
diff --git a/Bios/src/fw/fet/v3_0p.h b/Bios/src/fw/fet/v3_0p.h
new file mode 100644
index 0000000..7b9048e
--- /dev/null
+++ b/Bios/src/fw/fet/v3_0p.h
@@ -0,0 +1,88 @@
+/*
+ * v3_0p.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULBIOS
+//! \file v3_0p.h
+//! \brief
+
+#ifndef _V3_0P_HEADER_
+#define _V3_0P_HEADER_
+
+#include "stream.h"
+
+#define V3OP_LOOP_WAIT_FLAG 0x01
+#define V3OP_LOOP_ARRAY_COUNT 4
+
+struct _V3opLoopArray_
+{
+ unsigned short addr;
+ unsigned char *indata;
+ unsigned char flags;
+ unsigned char msg_id;
+ unsigned char msg_type;
+ unsigned char active;
+};
+typedef struct _V3opLoopArray_ V3opLoopArray;
+typedef HalRec (*HAL_REC_ARRAY)[];
+
+#define HAL_FUNCTION_PTR(x) short (*x)(unsigned short)
+typedef HAL_FUNCTION_PTR(HalFuncInOut);
+
+// functions
+short V3OP_Rx(unsigned char *str);
+short V3OP_SendException(unsigned char msg_id, unsigned short code, unsigned short *payload);
+short V3OP_SetLoop(unsigned char *payload_incl_addr, unsigned char flags);
+short V3OP_KillLoop(unsigned char msg_id);
+short V3OP_PauseLoop(unsigned char msg_id);
+short V3OP_ResumeLoop(unsigned char msg_id);
+void V3OP_KillAllLoops(void);
+
+void V3OP_Scheduler(void);
+
+short V3OP_HalInterfaceClear(void);
+short V3OP_HalInterfaceInit(void);
+
+void V3OP_DcdcInterfaceClear(void);
+short V3OP_DcdcInterfaceInit(void);
+
+short V3OP_ComInterfaceInit(void);
+void V3OP_ComInterfaceClear(void);
+
+short V3OP_HalFpgaUpdate(void);
+void V3OP_HwReset(void);
+
+short V3OP_CoreFlashFunctionInit(unsigned char *payload);
+
+#endif // _V3_0P_HEADER_
diff --git a/Bios/src/fw/fet/v3_0p_hw_fet.c b/Bios/src/fw/fet/v3_0p_hw_fet.c
new file mode 100644
index 0000000..aa81393
--- /dev/null
+++ b/Bios/src/fw/fet/v3_0p_hw_fet.c
@@ -0,0 +1,534 @@
+/*
+ * v3_0p_hw_nguif.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULBIOS
+//! \file v3_0p_hw_uif.c
+//! \brief Bios included HAL (zero) and update function
+//! \li forwarding (execute) messages to HAL
+//! \li upload of HAL macros
+//! \li loop management
+
+#include "hw_compiler_specific.h"
+#include
+
+#include "bios.h"
+#include "v3_0p.h"
+#include "HAL_FLASH.h"
+#include "MemorySegments.h"
+#include "../../hil/msp_fet/archFpga.h"
+#include "../fet/v3_0p_hw_fet.h"
+
+#include "USB_API/USB_Common/types.h"
+#include "USB_API/USB_Common/usb.h" //USB-specific functions
+#include "F5xx_F6xx_Core_Lib/HAL_UCS.h"
+
+
+unsigned short calculateCrc(unsigned short sum, unsigned short *adress, unsigned long segmentLength)
+{
+ //Initialize CRC register
+ CRCINIRES = sum;
+
+ //Compute CRC over the given segment
+ while (segmentLength--)
+ {
+ CRCDIRB = *adress++;
+ }
+ //Return CRC result
+ return CRCINIRES;
+}
+
+unsigned short V3OP_GetHilCrc()
+{
+ unsigned short hilCrc = 0x0000;
+ unsigned long segmentLength = 0;
+ unsigned short *address = 0;
+
+ //calculate CRC for HIL info segment 1 -------------------------------------
+ segmentLength = (CHECKSUM_HIL[0] - INFO_SEGMENTS_HIL[0])/2;
+ address = (unsigned short*)INFO_SEGMENTS_HIL[0];
+ hilCrc = calculateCrc(hilCrc, address, segmentLength);
+
+ //calculate CRC for HIL info segment 2
+ segmentLength = (INFO_SEGMENTS_HIL[1] - CHECKSUM_HIL[1])/2;
+ address = (unsigned short*)(CHECKSUM_HIL[1] + 1);
+ hilCrc = calculateCrc(hilCrc, address, segmentLength);
+
+ //calculate CRC for HIL main segment
+ segmentLength = (HIL_SEGMENTS[1] - HIL_SEGMENTS[0]+1)/2;
+ address = (unsigned short*)HIL_SEGMENTS[0];
+ hilCrc = calculateCrc(hilCrc, address, segmentLength);
+
+#ifdef MSP_FET
+ //calculate CRC for Hil main segment 2
+ segmentLength = (HIL_SEGMENTS[3] - HIL_SEGMENTS[2] + 1)/2;
+ address = (unsigned short*)HIL_SEGMENTS[2];
+ hilCrc = calculateCrc(hilCrc, address, segmentLength);
+#endif
+ //--------------------------------------------------------------------------
+
+ return hilCrc;
+}
+
+unsigned short V3OP_GetHalFpgaCrc()
+{
+ unsigned short halCrc = 0x0000;
+#ifdef MSP_FET
+ unsigned long segmentLength = 0;
+ unsigned short *address = 0;
+
+ //calculate CRC for Hal info segment 1 --------------------------------------
+ segmentLength = (CHECKSUM_HAL[0] - INFO_SEGMENTS_HAL[0])/2;
+ address = (unsigned short*)INFO_SEGMENTS_HAL[0];
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+ //calculate CRC for Hal info segment 2
+ segmentLength = (INFO_SEGMENTS_HAL[1] - CHECKSUM_HAL[1])/2;
+ address = (unsigned short*)(CHECKSUM_HAL[1] + 1);
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+
+ //calculate CRC for Hal main segment 1
+ segmentLength = (HAL_FPGA_SEGMENTS[1] - HAL_FPGA_SEGMENTS[0] + 1)/2;
+ address = (unsigned short*)HAL_FPGA_SEGMENTS[0];
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+ //--------------------------------------------------------------------------
+#endif
+ return halCrc;
+}
+
+unsigned short V3OP_GetHalCrc()
+{
+ unsigned short halCrc = 0x0000;
+ unsigned long segmentLength = 0;
+ unsigned short *address = 0;
+
+ //calculate CRC for Hal info segment 1 --------------------------------------
+ segmentLength = (CHECKSUM_HAL[0] - INFO_SEGMENTS_HAL[0])/2;
+ address = (unsigned short*)INFO_SEGMENTS_HAL[0];
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+ //calculate CRC for Hal info segment 2
+ segmentLength = (INFO_SEGMENTS_HAL[1] - CHECKSUM_HAL[1])/2;
+ address = (unsigned short*)(CHECKSUM_HAL[1] + 1);
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+
+ //calculate CRC for Hal main segment 1
+ segmentLength = (HAL_SEGMENTS[1] - HAL_SEGMENTS[0] + 1)/2;
+ address = (unsigned short*)HAL_SEGMENTS[0];
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+#ifdef eZ_FET
+ //calculate CRC for Hal main segment 2
+ segmentLength = (HAL_SEGMENTS[3] - HAL_SEGMENTS[2] + 1)/2;
+ address = (unsigned short*)HAL_SEGMENTS[2];
+ halCrc = calculateCrc(halCrc, address, segmentLength);
+#endif
+ //--------------------------------------------------------------------------
+
+ return halCrc;
+}
+
+unsigned short V3OP_GetCoreCrc()
+{
+ unsigned short coreCrc = 0x0000;
+ unsigned long segmentLength = 0;
+ unsigned short *address = 0;
+
+ //calculate CRC for core info segment 1 ------------------------------------
+ segmentLength = (CHECKSUM_CORE[0] - CORE_SEGMENTS[0])/2;
+ address = (unsigned short*)CORE_SEGMENTS[0];
+ coreCrc = calculateCrc(coreCrc, address, segmentLength);
+
+ //calculate CRC for core main segment
+ segmentLength = (CORE_SEGMENTS[1] - CHECKSUM_CORE[1] + 1)/2;
+ address = (unsigned short*) (CHECKSUM_CORE[1] + 1);
+ coreCrc = calculateCrc(coreCrc, address, segmentLength);
+
+ //calculate CRC for reset vector segment
+ segmentLength = (CORE_SEGMENTS_RESET[1] - CORE_SEGMENTS_RESET[0] + 1)/2;
+ address = (unsigned short*)CORE_SEGMENTS_RESET[0];
+ coreCrc = calculateCrc(coreCrc, address, segmentLength);
+ //--------------------------------------------------------------------------
+
+ return coreCrc;
+}
+
+unsigned short V3OP_GetDcdcCrc()
+{
+ unsigned short dcdcCrc = 0x0000;
+ unsigned long segmentLength = 0;
+ unsigned short *address = 0;
+
+ //calculate CRC for dcdc info segment 1 -------------------------------------
+ segmentLength = (CHECKSUM_DCDC[0] - INFO_SEGMENTS_DCDC[0])/2;
+ address = (unsigned short*)INFO_SEGMENTS_DCDC[0];
+ dcdcCrc = calculateCrc(dcdcCrc, address, segmentLength);
+
+ //calculate CRC for dcdc info segment 1
+ segmentLength = (INFO_SEGMENTS_DCDC[1] - CHECKSUM_DCDC[1])/2;
+ address = (unsigned short*)(CHECKSUM_DCDC[1] + 1);
+ dcdcCrc = calculateCrc(dcdcCrc, address, segmentLength);
+
+ //calculate CRC for dcdc main segment
+ segmentLength = (DCDC_SEGMENTS[1] - DCDC_SEGMENTS[0] + 1)/2;
+ address = (unsigned short*)DCDC_SEGMENTS[0];
+ dcdcCrc = calculateCrc(dcdcCrc, address, segmentLength);
+ //--------------------------------------------------------------------------
+
+ return dcdcCrc;
+}
+
+unsigned short V3OP_GetComChannelCrc()
+{
+ unsigned short comChannelCrc = 0x0000;
+ unsigned long segmentLength = 0;
+ unsigned short *address = 0;
+
+ //calculate CRC for comchannel info segment 1 -------------------------------------
+ segmentLength = (CHECKSUM_COMCHANNEL[0] - INFO_SEGMENTS_COMCHANNEL[0])/2;
+ address = (unsigned short*)INFO_SEGMENTS_COMCHANNEL[0];
+ comChannelCrc = calculateCrc(comChannelCrc, address, segmentLength);
+
+ //calculate CRC for comchannel info segment 1
+ segmentLength = (INFO_SEGMENTS_COMCHANNEL[1] - CHECKSUM_COMCHANNEL[1])/2;
+ address = (unsigned short*)(CHECKSUM_COMCHANNEL[1] + 1);
+ comChannelCrc = calculateCrc(comChannelCrc, address, segmentLength);
+
+ //calculate CRC for comchannel main segment
+ segmentLength = (COMCHANNEL_SEGMENTS[1] - COMCHANNEL_SEGMENTS[0] + 1)/2;
+ address = (unsigned short*)COMCHANNEL_SEGMENTS[0];
+ comChannelCrc = calculateCrc(comChannelCrc, address, segmentLength);
+ //--------------------------------------------------------------------------
+
+ return comChannelCrc;
+}
+
+unsigned char V3OP_HilCrcOk()
+{
+ return(V3OP_GetHilCrc() == *((unsigned short*)CHECKSUM_HIL[0]));
+}
+
+unsigned char V3OP_HalCrcOk()
+{
+ return(V3OP_GetHalCrc() == *((unsigned short*)CHECKSUM_HAL[0]));
+}
+
+unsigned char V3OP_HalFpgaCrcOk()
+{
+ return(V3OP_GetHalFpgaCrc() == *((unsigned short*)CHECKSUM_HAL[0]));
+}
+
+unsigned char V3OP_coreCrcOk()
+{
+ return(V3OP_GetCoreCrc() == *((unsigned short*)CHECKSUM_CORE[0]));
+}
+
+unsigned char V3OP_DcdcCrcOk()
+{
+ return(V3OP_GetDcdcCrc() == *((unsigned short*)CHECKSUM_DCDC[0]));
+}
+
+unsigned char V3OP_ComChannelCrcOk()
+{
+ return(V3OP_GetComChannelCrc() == *((unsigned short*)CHECKSUM_COMCHANNEL[0]));
+}
+//! \brief test address on memory type
+//! \param[in] addr address to test
+//! \return 0 -> flash memory
+//! \return 1 -> info memory
+//! \return 2 -> RAM
+#pragma optimize = low
+unsigned long V3OP_GetSegmentType(unsigned long addr)
+{
+ unsigned short i = 0;
+ for(i = 0; i < (sizeof(INFO_SEGMENTS_HIL)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= INFO_SEGMENTS_HIL[i]) && (addr <= INFO_SEGMENTS_HIL[i+1]))
+ {
+ return (INFO_SEGMENT_HIL);
+ }
+ }
+ for(i = 0; i < (sizeof(INFO_SEGMENTS_HAL)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= INFO_SEGMENTS_HAL[i]) && (addr <= INFO_SEGMENTS_HAL[i+1]))
+ {
+ return (INFO_SEGMENT_HAL);
+ }
+ }
+ for(i = 0; i < (sizeof(HAL_SEGMENTS)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= HAL_SEGMENTS[i]) && (addr <= HAL_SEGMENTS[i+1]))
+ {
+ return (HAL_SEGMENT);
+ }
+ }
+ #ifdef MSP_FET
+ for(i = 0; i < (sizeof(HAL_FPGA_SEGMENTS)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= HAL_FPGA_SEGMENTS[i]) && (addr <= HAL_FPGA_SEGMENTS[i+1]))
+ {
+ return (HAL_SEGMENT_FPGA);
+ }
+ }
+ #endif
+ for(i = 0; i < (sizeof(HIL_SEGMENTS)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= HIL_SEGMENTS[i]) && (addr <= HIL_SEGMENTS[i+1]))
+ {
+ return (HIL_SEGMENT);
+ }
+ }
+ // dcdc segments
+ for(i = 0; i < (sizeof(DCDC_SEGMENTS)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= DCDC_SEGMENTS[i]) && (addr <= DCDC_SEGMENTS[i+1]))
+ {
+ return (DCDC_SEGMENT);
+ }
+ }
+ for(i = 0; i < (sizeof(INFO_SEGMENTS_DCDC)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= INFO_SEGMENTS_DCDC[i]) && (addr <= INFO_SEGMENTS_DCDC[i+1]))
+ {
+ return (INFO_SEGMENT_DCDC);
+ }
+ }
+ // comchannel segments
+ for(i = 0; i < (sizeof(COMCHANNEL_SEGMENTS)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= COMCHANNEL_SEGMENTS[i]) && (addr <= COMCHANNEL_SEGMENTS[i+1]))
+ {
+ return (COMCHANNEL_SEGMENT);
+ }
+ }
+ // INFO comchannel segments
+ for(i = 0; i < (sizeof(INFO_SEGMENTS_COMCHANNEL)/sizeof(unsigned long)); i+=2)
+ {
+ if((addr >= INFO_SEGMENTS_COMCHANNEL[i]) && (addr <= INFO_SEGMENTS_COMCHANNEL[i+1]))
+ {
+ return (INFO_SEGMENT_COMCHANNEL);
+ }
+ }
+ return 0;
+}
+
+//! \brief test address on write access
+//! \param[in] addr address to test
+//! \return 0 -> no write access
+//! \return 1 -> write allow
+unsigned char V3OP_WriteAllowed(unsigned short addr)
+{
+ return(0);
+}
+//! \brief test address on erase access
+//! \param[in] addr address to test
+//! \return 0 -> no erase access
+//! \return 1 -> erase allow
+unsigned char V3OP_EraseAllowed(unsigned short StartAddr)
+{
+ return(0);
+}
+
+//! \brief erase on UIF (HAL) all blocks which included in start address + size
+//! \param[in] *payload pointer to receive buffer
+//! \return 1 -> flash erase done
+//! \return <0 -> error
+#pragma optimize = low
+short V3OP_CoreFlashFunctionErase(unsigned char *payload)
+{
+ unsigned long address_pointer;
+ unsigned long start_addr = (*(unsigned long*)&payload[4] & 0xFFFFF);
+ unsigned long end_addr = start_addr + (*(unsigned long*)&payload[8] & 0xFFFFF)-2;
+ unsigned char segment_type;
+ unsigned long segmentSize =0;
+
+ segment_type = V3OP_GetSegmentType(start_addr);
+
+ if(segment_type == NO_SEGMENT)
+ {
+ return -1;
+ }
+
+ // erase INFO mem
+ if(segment_type == HAL_SEGMENT || segment_type == INFO_SEGMENT_HAL)
+ {
+ segmentSize = SEGMENT_SIZE_HAL_HIL;
+ // First erase entry point into Hil Layer
+ // IF firmware update is interrupted HIL could not be started
+ Flash_SegmentErase((unsigned short*)INFO_SEGMENTS_HAL[1]);
+ }
+
+ if(segment_type == HIL_SEGMENT || segment_type == INFO_SEGMENT_HIL)
+ {
+ segmentSize = SEGMENT_SIZE_HAL_HIL;
+ // First erase entry point into HAL Layer
+ // IF firmware update is interrupted HAL could not be started
+ Flash_SegmentErase((unsigned short*)INFO_SEGMENTS_HIL[0]);
+ }
+
+ if(segment_type == INFO_SEGMENT_DCDC || segment_type == DCDC_SEGMENT)
+ {
+ segmentSize = SEGMENT_SIZE_HAL_HIL;
+ // First erase entry point into HAL Layer
+ // IF firmware update is interrupted HAL could not be started
+ Flash_SegmentErase((unsigned short*)INFO_SEGMENTS_DCDC[0]);
+ }
+
+ if(segment_type == COMCHANNEL_SEGMENT || segment_type == INFO_SEGMENT_COMCHANNEL)
+ {
+ segmentSize = SEGMENT_SIZE_HAL_HIL;
+ // First erase entry point into HAL Layer
+ // IF firmware update is interrupted HAL could not be started
+ UnlockInfoA();
+ Flash_SegmentErase((unsigned short*)INFO_SEGMENTS_COMCHANNEL[0]);
+ }
+
+ // Erase HIL/HAL/DCDC/COM
+ for(address_pointer = start_addr; address_pointer < end_addr; address_pointer += segmentSize)
+ {
+ if(V3OP_GetSegmentType(address_pointer) != NO_SEGMENT)
+ {
+ Flash_SegmentErase((unsigned short*)address_pointer);
+ }
+ }
+
+ // Do erase check of HIL/HAL/DCDC
+ for(address_pointer = start_addr; address_pointer < end_addr; address_pointer += segmentSize)
+ {
+ if(V3OP_GetSegmentType(address_pointer) != NO_SEGMENT)
+ {
+ Flash_EraseCheck((unsigned char*)address_pointer, (segmentSize+1)); // (unsigned long *Flash_ptr, unsigned long len)
+ }
+ }
+ LockInfoA();
+ return(1);
+}
+//! \brief write payload to UIF (HAL) flash memory, RAM is allowed, too
+//! \param[in] *payload pointer to receive buffer
+//! \details on first function call the:
+//! \li bytes 4 -7: the flash address
+//! \li bytes 8 -11: data length
+//! \li bytes 12 ... payload
+//! \details if data length is larger then message size the function returns after writing the message. Direct follow calls
+//! of this function continue writing.
+//! \return 1 -> flash write done
+//! \return <0 -> error
+#pragma optimize = low
+short V3OP_CoreFlashFunctionWrite(unsigned char *payload, unsigned short v30p_stream_flags_)
+{
+ static unsigned long address_pointer;
+ static unsigned long start_addr = 0; //(*(unsigned long*)&payload[4] & 0xFFFFF);
+ static unsigned long end_addr = 0; //start_addr + (*(unsigned long*)&payload[8] & 0xFFFFF);
+ unsigned char segment_type;
+ unsigned short *data_ptr = NULL;
+ unsigned short *data_ptr_end = NULL;
+ static unsigned long segmentSize =0;
+
+
+ if(v30p_stream_flags_ & MESSAGE_NEW_MSG)
+ {
+ start_addr = (*(unsigned long*)&payload[4] & 0xFFFFF);
+ end_addr = start_addr + (*(unsigned long*)&payload[8] & 0xFFFFF);
+ data_ptr = (unsigned short*)&payload[12];
+ data_ptr_end = data_ptr + (payload[0] - 11) / sizeof(unsigned short); // write words /2
+ segment_type = V3OP_GetSegmentType(start_addr);
+
+ if(segment_type == NO_SEGMENT)
+ {
+ return -1;
+ }
+ // 2 bytes are written in one line
+ segmentSize = 2;
+ address_pointer = start_addr;
+ UnlockInfoA();
+ }
+ else
+ {
+ data_ptr = (unsigned short*)&payload[4];
+ data_ptr_end = data_ptr + (payload[0] - 3) / sizeof(unsigned short);
+ LockInfoA();
+ }
+ for(;(address_pointer < end_addr) && (data_ptr < (data_ptr_end)); address_pointer += segmentSize)
+ {
+ // check if wirte is going into info or HAL/Hil segment
+ // don't programm any core segment
+ if(V3OP_GetSegmentType(address_pointer) != NO_SEGMENT)
+ {
+ FlashWrite_16(data_ptr, (unsigned short*)address_pointer, 1);
+ data_ptr++;
+ }
+ }
+ return 0;
+}
+
+//! \brief reads UIF memory, inclusive BIOS area
+//! \param[in] *payload pointer to receive buffer
+//! \li bytes 4 -7: the flash address
+//! \li bytes 8 -11: data length
+//! \return 0
+short V3OP_CoreFlashFunctionRead(unsigned char *payload)
+{
+ return(0);
+}
+
+void V3OP_UpCore(void)
+{
+ _DINT_FET(); // Ensure no application interrupts fire during stop
+ USB_disconnect();
+ FPGA_RESET_ASSERT
+ //~1.6 s delay
+ __delay_cycles(40000000);
+
+ USB_disable();
+ XT2_Stop();
+ //erase infoB
+ Flash_SegmentErase((unsigned short*)0x197F);
+ //erase infoC
+ Flash_SegmentErase((unsigned short*)0x18FF);
+ //erase infoD
+ Flash_SegmentErase((unsigned short*)0x187F);
+ // erase flash reset vector to invoke usb bsl by next startup
+ Flash_SegmentErase((unsigned short*)0xFFFE);
+
+ //~1.6 s delay
+ __delay_cycles(40000000);
+ PMMCTL0 = PMMPW | PMMSWBOR; // generate BOR for reseting device
+}
+
+unsigned short V3OP_SystemOk(void)
+{
+ if(!V3OP_coreCrcOk())
+ {
+ Flash_SegmentErase((unsigned short*)0xFFFE);
+ return 0;
+ }
+ return 1;
+}
diff --git a/Bios/src/fw/fet/v3_0p_hw_fet.h b/Bios/src/fw/fet/v3_0p_hw_fet.h
new file mode 100644
index 0000000..d92a1e7
--- /dev/null
+++ b/Bios/src/fw/fet/v3_0p_hw_fet.h
@@ -0,0 +1,67 @@
+/*
+ * v3_0p_hw_nguif.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULBIOS
+//! \file v3_0p_hw_uif.h
+//! \brief
+#ifndef V3_0P_HW_FET_H_
+#define V3_0P_HW_FET_H_
+
+unsigned long V3OP_GetSegmentType(unsigned long addr);
+unsigned char V3OP_pWriteAllowed(unsigned short addr);
+unsigned char V3OP_EraseAllowed(unsigned short addr);
+
+short V3OP_CoreFlashFunctionErase(unsigned char *payload);
+short V3OP_CoreFlashFunctionWrite(unsigned char *payload,unsigned short v30p_stream_flags_);
+short V3OP_CoreFlashFunctionRead(unsigned char *payload);
+void V3OP_UpCore(void);
+
+unsigned short V3OP_GetHilCrc();
+unsigned short V3OP_GetHalCrc();
+unsigned short V3OP_GetCoreCrc();
+unsigned short V3OP_GetDcdcCrc();
+unsigned short V3OP_GetComChannelCrc();
+unsigned short V3OP_GetHalFpgaCrc();
+
+unsigned char V3OP_HilCrcOk();
+unsigned char V3OP_HalCrcOk();
+unsigned char V3OP_CoreCrcOk();
+unsigned char V3OP_DcdcCrcOk();
+unsigned char V3OP_ComChannelCrcOk();
+unsigned char V3OP_HalFpgaCrcOk();
+
+unsigned short V3OP_SystemOk(void);
+
+#endif /* V3_0P_HW_FET_H_ */
diff --git a/Bios/src/fw/uifv1/HalGlobalVars.h b/Bios/src/fw/uifv1/HalGlobalVars.h
new file mode 100644
index 0000000..8fbadab
--- /dev/null
+++ b/Bios/src/fw/uifv1/HalGlobalVars.h
@@ -0,0 +1,45 @@
+/*
+ * HalGlobalVars432.h
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+//! \ingroup MODULHAL
+//! \file HalGlobalVars432.h
+
+#define HAL_ADDR_VAR_HAL_INFOS_IN_RAM 0x1114
+#define HAL_ADDR_VAR_HAL_FUNCTION 0x1146
+#define HAL_ADDR_CONST_HAL_INFOS 0x253A
+#define HAL_ADDR_CONST_HAL_FUNCTION_DEFAULTS 0x2548
diff --git a/Bios/src/hal/HalGlobalVars.c b/Bios/src/fw/uifv1/HalGlobalVars430.c
similarity index 69%
rename from Bios/src/hal/HalGlobalVars.c
rename to Bios/src/fw/uifv1/HalGlobalVars430.c
index 9126b5a..5bfc615 100644
--- a/Bios/src/hal/HalGlobalVars.c
+++ b/Bios/src/fw/uifv1/HalGlobalVars430.c
@@ -1,74 +1,58 @@
/*
* HalGlobalVars.c
- *
+ *
*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
-
-//! \ingroup MODULHAL
-//! \file HalGlobalVars.c
-//! \brief
-//!
-//! \author Detlef Fink (03/10/2011)
-
#include "hw_compiler_specific.h"
#include
#include "stream.h"
#include "hal.h"
#include "HalGlobalVars.h"
-
-extern unsigned char TCLK_saved;
-extern unsigned char current_Instr;
-#ifndef UNIX
-extern struct stream_funcs *_stream_Funcs;
-#endif
extern HAL_INFOS hal_infos_in_ram_;
-extern unsigned char mclk_modules[16];
-extern union _chain_Configuration chain_Configuration[32];
+extern unsigned char mclk_modules[32];
extern unsigned short activeDevice;
extern unsigned char numOfDevices;
extern unsigned short TCE;
-extern unsigned short _hal_mclkCntrl0;
+extern unsigned long _hal_mclkCntrl0;
extern unsigned short gprotocol_id;
extern unsigned short bVccOn;
extern char bIccMonitorOn; // Icc Monitor is switched on by default
extern char bHighCurrent;
-extern unsigned long hil_device_flags_;
extern signed short last_ext_vcc;
-extern unsigned char over_current_count;
+extern unsigned short over_current_count;
extern unsigned short last_vcc;
extern unsigned long lAddr;
extern unsigned long lLen;
@@ -77,44 +61,32 @@ extern unsigned short ret_len;
extern DeviceSettings deviceSettings;
extern DevicePowerSettings devicePowerSettings;
extern unsigned short altRomAddressForCpuRead;
+extern unsigned short wdtctlAddress5xx;
void globalVarsInit(void)
{
- // hil_2w.c
- TCLK_saved = 0;
- current_Instr = 0;
-
- // halmain.c
-#ifndef UNIX
- _stream_Funcs = NULL;
-#endif
+ // used by halmain
memset(&hal_infos_in_ram_, 0, sizeof(HAL_INFOS));
-
- //SyncJtagAssertPor_SaveContextXv2.c
+
+ // used SyncJtagAssertPor_SaveContextXv2 for module clock control
memset(mclk_modules, 0, sizeof(mclk_modules));
-
- // hal.c
- memset(&chain_Configuration, 0, sizeof(chain_Configuration));
- activeDevice = 0;
- numOfDevices = 0;
- TCE = 0;
+
_hal_mclkCntrl0 = 0x0417;
-
- // hil.c
+
gprotocol_id = 0;
- bVccOn = 3000; // Target Vcc is switched off by default
+ bVccOn = 3300; // Target Vcc is switched to 3.3V by default
bIccMonitorOn = 1;
bHighCurrent = 0;
- hil_device_flags_ = 0;
last_ext_vcc = 0;
over_current_count = 0;
last_vcc = 0;
-
+
// Currently only sets clock control type to none
memset(&deviceSettings, 0, sizeof(deviceSettings));
// Disable device power settings by default
memset(&devicePowerSettings, 0, sizeof(devicePowerSettings));
-
+
altRomAddressForCpuRead = 1;
+ wdtctlAddress5xx = 0x015C;
}
diff --git a/Bios/src/fw/uifv1/HalGlobalVars432.c b/Bios/src/fw/uifv1/HalGlobalVars432.c
new file mode 100644
index 0000000..2ffe68b
--- /dev/null
+++ b/Bios/src/fw/uifv1/HalGlobalVars432.c
@@ -0,0 +1,78 @@
+/*
+ * HalGlobalVars432.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+
+//! \ingroup MODULHAL
+//! \file HalGlobalVars432.c
+//! \brief
+
+#include "hw_compiler_specific.h"
+#include
+#include "stream.h"
+#include "hal.h"
+#include "HalGlobalVars.h"
+
+#ifndef UNIX
+extern struct stream_funcs *_stream_Funcs;
+#endif
+extern HAL_INFOS hal_infos_in_ram_;
+extern unsigned short gprotocol_id;
+extern unsigned short bVccOn;
+extern char bIccMonitorOn; // Icc Monitor is switched on by default
+extern char bHighCurrent;
+extern signed short last_ext_vcc;
+extern unsigned short over_current_count;
+extern unsigned short last_vcc;
+extern unsigned long lAddr;
+extern unsigned long lLen;
+extern unsigned long lLenWBlk;
+extern unsigned short ret_len;
+
+unsigned short targetIsRunning;
+
+void globalVarsInit(void)
+{
+ gprotocol_id = 0;
+ bVccOn = 3300; // Target Vcc is switched to 3.3V by default
+ bIccMonitorOn = 1;
+ bHighCurrent = 0;
+ last_ext_vcc = 0;
+ over_current_count = 0;
+ last_vcc = 0;
+ targetIsRunning = 0;
+}
diff --git a/Bios/src/fw/uifv1/bios.c b/Bios/src/fw/uifv1/bios.c
index ca53311..f6f34bc 100644
--- a/Bios/src/fw/uifv1/bios.c
+++ b/Bios/src/fw/uifv1/bios.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -49,12 +49,11 @@
#include "hw_compiler_specific.h"
#include "bios.h"
-#include "../v3_0p.h"
-#include "../stream.h"
+#include "v3_0p.h"
+#include "stream.h"
#include
#include
-
-#define CORE_VERSION 0x000B
+#include "uifVersion.h"
typedef short (*HalFuncInOut)(unsigned short);
@@ -62,10 +61,16 @@ typedef short (*HalFuncInOut)(unsigned short);
//! \details this words indicate a valid bios
const unsigned short identify_[3] @ "IDENTIFY" = {0x000F,0x2112,0xFEDF};
REQUIRED(identify_)
-//! \brief version of bios code
+//! \brief version of bios code
const unsigned short core_version_ @ "COREVERSION" = CORE_VERSION;
RO_PLACEMENT_NO_INIT volatile const unsigned short safe_core_version_ @ "SAFECOREVERSION";
+//MSP430 FET tool ID
+#define TOOL_ID 0xCCCC
+
+const unsigned short tool_id_ @ "TOOLID" = TOOL_ID;
+#pragma required=tool_id_
+
//! \brief chars for flow control
const unsigned char BIOS_DLE_CHAR = 0x10;
//! \brief chars for flow control
@@ -178,7 +183,7 @@ unsigned char *bios_rx_char_ptr_;
//! \brief Flag for XON/XOFF status
//! \li 0, TX can send
//! \li 1, TX must not be send
-//! \details between receiving xoff and sending chars is a delay (by program flow). This
+//! \details between receiving xoff and sending chars is a delay (by program flow). This
//! is not a problem, because the TUSB has enougth reserve in the buffer.
unsigned char bios_xoff_ = 0;
@@ -238,222 +243,132 @@ void biosInitSystem (void)
// won't work without it
P1DIR = 0; P2DIR = 0; P3DIR = 0; // Reset all ports direction to be inputs
P4DIR = 0; P5DIR = 0; P6DIR = 0;
-
+
P1SEL = 0; P2SEL = 0; P3SEL = 0; // Reset all ports selection
P4SEL = 0; P5SEL = 0; P6SEL = 0;
-
+
P1OUT = 0; P2OUT = 0; P3OUT = 0; //! 0; i--) __no_operation(); // Time for flag to set
}
- if((IFG1 & OFIFG) == 0) // XT2 found, it can be only on EASY
- { // E2
- // drive TUSB3410 reset low
- P4DIR |= BIT6;
- IFG1 &= ~OFIFG; // Clear OSCFault flag again
- BCSCTL2 |= SELM1 + SELS; // MCLK = XT2, provide clock for TUSB
- // setup TUSB3410 clock
- P5DIR |= BIT5;
- P5SEL |= BIT5;
- // here setup E2 specific stuff
- crystal_ = CRYSTAL_E2;
- baudmod_ = BAUDMOD_E2;
- // Port1
- // P1.0 ->
- // P1.1 ->
- // P1.2 <-
- // P1.3 <- URTS
- // P1.4 <- UDTR
- // P1.5 -> UDSR
- // P1.6 -> UCTS
- // P1.7 <-
- // init handshake lines from MSP430 -> TUSB3410
- P1OUT &= ~BIT5; //!
- // P2.1 ->
- // P2.2 ->
- // P2.3 ->
- // P2.4 ->
- // P2.5 -> SELT
- // P2.6 -> TGTRST
- // P2.7 ->
- P2DIR = 0;
- // Port3
- // P3.0 <-
- // P3.1 <-
- // P3.2 <-
- // P3.3 <-
- // P3.4 -> TXD
- // P3.5 <- RXD
- // P3.6 <- TXD backcannel unused, handled by TUSB3410 direct
- // P3.7 <- RXD backcannel unused, handled by TUSB3410 direct
- P3SEL |= BIT4 + BIT5;
- P3DIR |= BIT4;
- // Port4
- // P4.0 ->
- // P4.1 ->
- // P4.2 ->
- // P4.3 ->
- // P4.4 ->
- // P4.5 ->
- // P4.6 <- RST3410
- // P4.7 <-
- P4OUT |= BIT0 + BIT1 + BIT2 + BIT3 + BIT4 + BIT5; //!
- // P5.1 -> TDI
- // P5.2 <- TDO
- // P5.3 -> TCK
- // P5.4 <-
- // P5.5 -> clk3410
- // P5.6 <-
- // P5.7 <-
- P5DIR |= BIT0 + BIT1 + BIT3;
- bios_leds_[0].addr = &bios_led_dummy_;
- bios_leds_[0].bit = BIT0;
- bios_leds_[1].addr = &bios_led_dummy_;
- bios_leds_[1].bit = BIT1;
- for(j = 0; (j < 0xFFFF); j++)
+
+ P3OUT &= ~BIT6;
+ BCSCTL1 |= XT2OFF; // XT2 off
+ BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL
+ _BIC_SR(OSCOFF); // turn on XT1 oscillator
+ // oscillator start, the fault flag must be at ten times valid, because the
+ // oscillator starts very slow and is for short times valid in this time,
+ // but faults again.
+ j = 0;
+ do
+ {
+ IFG1 &= ~OFIFG;
+ for (i = 0xFF; i>0; i--)
{
__no_operation();
}
- P4DIR &= ~BIT6; // release TUSB3410 reset
- // char set to rx input for xon/xoff
- bios_rx_char_ptr_ = &bios_rx_char_;
- // Rts map to software (xon/xoff
- bios_xoff_ptr_ = &bios_xoff_;
- bios_info_hw_0_ = INFO_E2_HW_0;
- bios_info_hw_1_ = INFO_E2_HW_1;
- bios_device_flags_ = DEVICE_FLAG_SBW2 | DEVICE_FLAG_EASY;;
- // init timer b for 100hz interrupt
- TBCCTL0 = 0;
- TBCCR0 = crystal_ / (8 * 100) - 1;
- TBCTL = TBSSEL_2 | ID_3 | MC_1 | TBCLR | TBIE; // alck, div 8, up-mode, clear, irq on
- }
- else
- { // U1
- P3OUT &= ~BIT6;
- BCSCTL1 |= XT2OFF; // XT2 off
- BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL
- _BIC_SR(OSCOFF); // turn on XT1 oscillator
- // oscillator start, the fault flag must be at ten times valid, because the
- // oscillator starts very slow and is for short times valid in this time,
- // but faults again.
- j = 0;
- do
+ if(IFG1 & OFIFG)
{
- IFG1 &= ~OFIFG;
- for (i = 0xFF; i>0; i--)
- {
- __no_operation();
- }
- if(IFG1 & OFIFG)
- {
- j = 0;
- }
- else
- {
- j++;
- }
+ j = 0;
+ }
+ else
+ {
+ j++;
}
- while (j < 10);
- IE1 |= OFIE; // restart the oscillator on fault
- BCSCTL2 |= SELM1+SELM0; // HF XTAL (safe)
- // here setup U1 specific stuff
- crystal_ = CRYSTAL_U1;
- baudmod_ = 0x57; //BAUDMOD_U1;
- // Port1
- // P1.0 -> MODE
- // P1.1 -> POWER
- // P1.2 <- nc
- // P1.3 <- nc
- // P1.4 <- ???
- // P1.5 -> UDSR
- // P1.6 -> UCTS
- // P1.7 <- MU2
- P1OUT = ~(unsigned char)(BIT0+BIT1); //! TUSB3410
- P1OUT &= ~BIT5;
- P1OUT |= BIT6; // set CTS to block receiving anything from TUSB (RX overflow on start up problem)
- P1DIR |= (BIT5+BIT6);
- // Port2
- // P2.0 ->
- // P2.1 ->
- // P2.2 ->
- // P2.3 ->
- // P2.4 ->
- // P2.5 -> SELT
- // P2.6 -> TGTRST
- // P2.7 ->
- P2OUT |= (BIT5+BIT6); //! TXD
- // P3.5 <- RXD
- // P3.6 <- Rst3410
- // P3.7 <-
- P3SEL |= (BIT4 + BIT5);
- P3DIR |= (BIT4);
- // Port4
- // P4.0 -> TEST
- // P4.1 <-
- // P4.2 -> ENTDI2TDO
- // P4.3 -> VCCTON
- // P4.4 -> TDIOFF
- // P4.5 -> VF2TDI
- // P4.6 -> VF2TEST
- // P4.7 <-
- P4OUT |= (BIT0+BIT2+BIT4); //! TMS
- // P5.1 -> TDI
- // P5.2 <- TDO
- // P5.3 -> TCK
- // P5.4 <-
- // P5.5 <-
- // P5.6 <-
- // P5.7 <-
- P5DIR |= (BIT0+BIT1+BIT3);
- bios_leds_[0].addr = (unsigned char*)&P1OUT;
- bios_leds_[0].bit = BIT0;
- bios_leds_[1].addr = (unsigned char*)&P1OUT;
- bios_leds_[1].bit = BIT1;
- // char set to rx input for xon/xoff
- bios_rx_char_ptr_ = &bios_rx_char_;
- // Rts map to software (xon/xoff
- bios_xoff_ptr_ = &bios_xoff_;
- // sw & hw infos
- bios_info_hw_0_ = INFO_U1_HW_0;
- bios_info_hw_1_ = INFO_U1_HW_1;
- bios_device_flags_ = DEVICE_FLAG_SBW2 | DEVICE_FLAG_SBW4 | DEVICE_FLAG_XONOFF;
- // init timer b for 100hz interrupt
- TBCCTL0 = 0;
- TBCCR0 = crystal_ / (8 * 100) - 1;
- TBCTL = TBSSEL_1 | ID_3 | MC_1 | TBCLR | TBIE; // alck, div 8, up-mode, clear, irq on
- P3OUT |= BIT6; // release TUSB3410
}
+ while (j < 10);
+ IE1 |= OFIE; // restart the oscillator on fault
+ BCSCTL2 |= SELM1+SELM0; // HF XTAL (safe)
+ // here setup U1 specific stuff
+ crystal_ = CRYSTAL_U1;
+ baudmod_ = 0x57; //BAUDMOD_U1;
+ // Port1
+ // P1.0 -> MODE
+ // P1.1 -> POWER
+ // P1.2 <- nc
+ // P1.3 <- nc
+ // P1.4 <- ???
+ // P1.5 -> UDSR
+ // P1.6 -> UCTS
+ // P1.7 <- MU2
+ P1OUT = ~(unsigned char)(BIT0+BIT1); //! TUSB3410
+ P1OUT &= ~BIT5;
+ P1OUT |= BIT6; // set CTS to block receiving anything from TUSB (RX overflow on start up problem)
+ P1DIR |= (BIT5+BIT6);
+ // Port2
+ // P2.0 ->
+ // P2.1 ->
+ // P2.2 ->
+ // P2.3 ->
+ // P2.4 ->
+ // P2.5 -> SELT
+ // P2.6 -> TGTRST
+ // P2.7 ->
+ P2OUT |= (BIT5+BIT6); //! TXD
+ // P3.5 <- RXD
+ // P3.6 <- Rst3410
+ // P3.7 <-
+ P3SEL |= (BIT4 + BIT5);
+ P3DIR |= (BIT4);
+ // Port4
+ // P4.0 -> TEST
+ // P4.1 <-
+ // P4.2 -> ENTDI2TDO
+ // P4.3 -> VCCTON
+ // P4.4 -> TDIOFF
+ // P4.5 -> VF2TDI
+ // P4.6 -> VF2TEST
+ // P4.7 <-
+ P4OUT |= (BIT0+BIT2+BIT4); //! TMS
+ // P5.1 -> TDI
+ // P5.2 <- TDO
+ // P5.3 -> TCK
+ // P5.4 <-
+ // P5.5 <-
+ // P5.6 <-
+ // P5.7 <-
+ P5DIR |= (BIT0+BIT1+BIT3);
+ bios_leds_[0].addr = (unsigned char*)&P1OUT;
+ bios_leds_[0].bit = BIT0;
+ bios_leds_[1].addr = (unsigned char*)&P1OUT;
+ bios_leds_[1].bit = BIT1;
+ // char set to rx input for xon/xoff
+ bios_rx_char_ptr_ = &bios_rx_char_;
+ // Rts map to software (xon/xoff
+ bios_xoff_ptr_ = &bios_xoff_;
+ // sw & hw infos
+ bios_info_hw_0_ = INFO_U1_HW_0;
+ bios_info_hw_1_ = INFO_U1_HW_1;
+ bios_device_flags_ = DEVICE_FLAG_SBW2 | DEVICE_FLAG_SBW4 | DEVICE_FLAG_XONOFF;
+ // init timer b for 100hz interrupt
+ TBCCTL0 = 0;
+ TBCCR0 = crystal_ / (8 * 100) - 1;
+ TBCTL = TBSSEL_1 | ID_3 | MC_1 | TBCLR | TBIE; // alck, div 8, up-mode, clear, irq on
+ P3OUT |= BIT6; // release TUSB3410
__enable_interrupt();
}
//! \brief restore Xt1 clocks
-//! \details if a ozcillator fault occur, the fault flag is cleared and the
+//! \details if a ozcillator fault occur, the fault flag is cleared and the
//! SMCLOCK switch back to XT1 source
INTERRUPT(NMI_VECTOR)void nmiIsr (void)
{
@@ -568,7 +483,7 @@ short biosLedAlternate(unsigned short time)
{
bios_leds_[0].mode = BIOS_LED_OFF;
bios_leds_[1].mode = BIOS_LED_OFF;
- }
+ }
ENABLE_INTERRUPT;
return(0);
}
@@ -595,7 +510,7 @@ INTERRUPT(TIMERB1_VECTOR) void timerB1Isr (void)
{
bios_global_timer_[BIOS_TIMER_TX].count--;
}
- // LED mode
+ // LED mode
DIAG_SUPPRESS(Pa082)
if((bios_leds_[BIOS_LED_MODE].mode & BIOS_LED_ON) ^ (bios_leds_[BIOS_LED_MODE].counter > (bios_leds_[BIOS_LED_MODE].load/2)))
{
@@ -665,9 +580,9 @@ short biosHalInterfaceInit(void)
HalMainFunc halStartUpCode = NULL;
unsigned char cmd[6] = {0x05, CMDTYP_EXECUTELOOP, 0, 0, 0, 0};
unsigned char i;
-
+
biosHalInterfaceClear();
- if((hal_intvec_[15] >= 0x2520) && (hal_intvec_[15] <= 0xFDD9))
+ if((hal_intvec_[15] >= 0x2520) && (hal_intvec_[15] <= 0xFDD9))
{
if(*hal_signature == 0x5137)
{
@@ -679,11 +594,11 @@ short biosHalInterfaceInit(void)
irq_forward_[i] = hal_intvec_[i];
}
}
-
+
halStartUpCode = (HalMainFunc)hal_intvec_[15]; // calls the (modified) startup code of HAL
hal_infos_ = halStartUpCode((struct stream_funcs*)&_stream_Funcs, bios_device_flags_); // return HAL sw infos
}
- if(hal_infos_ != NULL)
+ if(hal_infos_ != &no_hal_infos_)
{
hal_ptr_ = (HAL_REC_ARRAY)(*hal_infos_).hal_list_ptr;
if(hal_ptr_ != NULL)
@@ -728,7 +643,7 @@ short biosHalInterfaceClear(void)
}
//! \brief main loop
-//! \details returns never.
+//! \details returns never.
//! \li send error messages
//! \li execute "commands in loop", eg. voltage regulation, wait(poll) for hit breakpoints
//! \li execute commands send from dll
@@ -739,7 +654,7 @@ void biosmainLoop(void)
unsigned char rx_queu_counter_tmp;
StreamSafe stream_tmp;
HalFuncInOut pCallAddr;
-
+
biosResetCts(); // release CTS line
while(1)
{
@@ -811,7 +726,7 @@ char biosUsbOverflow(void)
//! \details init hardware and (software)buffers
//! \param[in] baudrate speed in bit/s
void biosInitCom (unsigned long baudrate)
-{
+{
unsigned char i;
DIAG_SUPPRESS(Pe550)
unsigned char dummy;
@@ -863,7 +778,7 @@ void biosPrepareTx(unsigned int size)
}
//! \brief trigger sending of TX buffer
-//! \details to send the first char we set UTXIFG, followed char loaded by
+//! \details to send the first char we set UTXIFG, followed char loaded by
//! true TX buffer empty interrupt
void biosStartTx(void)
{
@@ -881,7 +796,7 @@ void biosUsbTxError(void)
void biosUsbTxClear(void)
{
unsigned char i;
-
+
memset((unsigned char*)&bios_tx_record_, 0, sizeof(bios_tx_record_));
bios_global_timer_[BIOS_TIMER_TX].count = 0;
bios_rx_char_ = 0;
@@ -900,13 +815,13 @@ void biosUsbRxClear(void)
unsigned char i;
unsigned short j;
unsigned char mark = 0;
-
+
if(IE1 & URXIE0)
{
- IE1 &= ~URXIE0;
+ IE1 &= ~URXIE0;
mark = 1;
}
-
+
bios_rx_record_.active = 0;
for(i = 0; i < BIOS_RX_QUEUS; i++)
{
@@ -936,20 +851,20 @@ void biosUsbRxClear(void)
while(j && (IFG1 & URXIFG0));
if(mark)
{
- IE1 |= URXIE0;
+ IE1 |= URXIE0;
}
}
//! \brief trigger a error message
//! \details trigger a error message and clear the RX hard and software buffers
void biosUsbRxError(unsigned short code)
{
- IE1 &= ~URXIE0;
+ IE1 &= ~URXIE0;
biosUsbRxClear();
bios_rx_err_code_ = code;
bios_rx_err_set_ = 1;
bios_rx_err_payload_ = NULL;
bios_rx_err_id_ = 0;
- IE1 |= URXIE0;
+ IE1 |= URXIE0;
}
//! \brief receive char form UART
@@ -976,14 +891,14 @@ INTERRUPT(USART0RX_VECTOR)void usbRxIsr (void)
if(bios_rx_char_ == BIOS_XON_CHAR)
{
// test for continue transmiting
- if(bios_xoff_ & 0x02)
+ if(bios_xoff_ & 0x02)
{
biosStartTx();
}
bios_xoff_ = 0;
goto usbRxIsrExit;
}
- else if (bios_rx_char_ == BIOS_XOFF_CHAR)
+ else if (bios_rx_char_ == BIOS_XOFF_CHAR)
{
// block sending to TUSB
bios_xoff_ = 1 << BIOS_HARD_RTS_BIT;
@@ -1058,8 +973,8 @@ INTERRUPT(USART0RX_VECTOR)void usbRxIsr (void)
if(bios_rx_record_.data[bios_rx_record_.active][MESSAGE_CMDTYP_POS] == RESPTYP_ACKNOWLEDGE)
{
// search for message which are waiting on a ack
- for(unsigned char i = 0; i < BIOS_TX_QUEUS; i++)
- {
+ for(unsigned char i = 0; i < BIOS_TX_QUEUS; i++)
+ {
DIAG_SUPPRESS(Pa082)
// waits a transmited message for a ACK?
if((bios_tx_record_.state[i] & BIOS_TX_WAIT_ON_ACK) &&
@@ -1101,7 +1016,7 @@ INTERRUPT(USART0RX_VECTOR)void usbRxIsr (void)
else
{
// search for message which are waiting on a ack
- for(unsigned char i = 0; i < BIOS_TX_QUEUS; i++)
+ for(unsigned char i = 0; i < BIOS_TX_QUEUS; i++)
{
DIAG_SUPPRESS(Pa082)
if(((bios_tx_record_.state[i] & (BIOS_TX_WAIT_ON_ACK | BIOS_TX_TO_SEND)) == (BIOS_TX_WAIT_ON_ACK | BIOS_TX_TO_SEND)) &&
@@ -1109,7 +1024,7 @@ INTERRUPT(USART0RX_VECTOR)void usbRxIsr (void)
(bios_tx_record_.data[i][3] == bios_rx_record_.data[bios_rx_record_.active][4]))
DIAG_DEFAULT(Pa082)
{
- // only reset the wait_on_ack flag,
+ // only reset the wait_on_ack flag,
//! \todo add a resend function
bios_tx_record_.state[i] &= ~BIOS_TX_WAIT_ON_ACK;
break;
@@ -1137,7 +1052,7 @@ INTERRUPT(USART0RX_VECTOR)void usbRxIsr (void)
bios_rx_record_.active = 0;
}
}
- }
+ }
else
{
// set a crc error
@@ -1155,7 +1070,7 @@ INTERRUPT(USART0RX_VECTOR)void usbRxIsr (void)
bios_rx_record_.count[bios_rx_record_.active] = 0;
bios_rx_record_.crc[1] = 0;
}
- usbRxIsrExit:
+ usbRxIsrExit:
biosResetCts(); // release TUSB RX
}
@@ -1175,7 +1090,7 @@ INTERRUPT(USART0TX_VECTOR)void usbTxIsr (void)
while(!(bios_tx_record_.state[bios_tx_record_.cannel_to_send] & BIOS_TX_TO_SEND))
{
bios_tx_record_.cannel_to_send++;
- if(bios_tx_record_.cannel_to_send >= BIOS_TX_QUEUS)
+ if(bios_tx_record_.cannel_to_send >= BIOS_TX_QUEUS)
{
bios_tx_record_.cannel_to_send = 0;
}
@@ -1186,7 +1101,7 @@ INTERRUPT(USART0TX_VECTOR)void usbTxIsr (void)
}
// test on chars in software TX buffer
DIAG_SUPPRESS(Pa082)
- if(bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] < bios_tx_record_.count[bios_tx_record_.cannel_to_send])
+ if(bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] < bios_tx_record_.count[bios_tx_record_.cannel_to_send])
{
// send char from software buffer
USB_WRITE = bios_tx_record_.data[bios_tx_record_.cannel_to_send][bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send]++];
@@ -1194,21 +1109,21 @@ INTERRUPT(USART0TX_VECTOR)void usbTxIsr (void)
else
{
// no char to send in actual TX software buffer
- // we don't clear TX software buffer, reset only flags. If need we can
+ // we don't clear TX software buffer, reset only flags. If need we can
// send the buffer again. (resending in not implemented)
bios_tx_record_.state[bios_tx_record_.cannel_to_send] &= ~BIOS_TX_TO_SEND;
- bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] = 0;
+ bios_tx_record_.send_counter[bios_tx_record_.cannel_to_send] = 0;
first_cannel = bios_tx_record_.cannel_to_send;
if(!(bios_tx_record_.state[bios_tx_record_.cannel_to_send] & BIOS_TX_WAIT_ON_ACK))
{
bios_global_timer_[BIOS_TIMER_TX].count = 0;
}
- // search in TX software buffer for data to send. If no data found, it was the
+ // search in TX software buffer for data to send. If no data found, it was the
// last TX buffer empty interrupt.
do
{
bios_tx_record_.cannel_to_send++;
- if(bios_tx_record_.cannel_to_send >= BIOS_TX_QUEUS)
+ if(bios_tx_record_.cannel_to_send >= BIOS_TX_QUEUS)
{
bios_tx_record_.cannel_to_send = 0;
}
diff --git a/Bios/src/fw/uifv1/bios.h b/Bios/src/fw/uifv1/bios.h
index 97d8239..df20619 100644
--- a/Bios/src/fw/uifv1/bios.h
+++ b/Bios/src/fw/uifv1/bios.h
@@ -137,4 +137,5 @@ extern __ro_placement volatile const unsigned short safe_core_version_;
extern unsigned long bios_device_flags_;
extern unsigned short bios_info_hw_0_;
extern unsigned short bios_info_hw_1_;
+extern const unsigned short tool_id_;
#endif
diff --git a/Bios/src/hal/cstartup.s43 b/Bios/src/fw/uifv1/cstartup.s43
similarity index 100%
rename from Bios/src/hal/cstartup.s43
rename to Bios/src/fw/uifv1/cstartup.s43
diff --git a/Bios/src/fw/uifv1/hal430.c b/Bios/src/fw/uifv1/hal430.c
new file mode 100644
index 0000000..4d2e68e
--- /dev/null
+++ b/Bios/src/fw/uifv1/hal430.c
@@ -0,0 +1,159 @@
+/*
+ * hal.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+//! \ingroup MODULHAL
+//! \file hal.c
+
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "string.h"
+DeviceSettings deviceSettings;
+REQUIRED(deviceSettings)
+
+DevicePowerSettings devicePowerSettings;
+REQUIRED(devicePowerSettings)
+
+unsigned short altRomAddressForCpuRead;
+REQUIRED(altRomAddressForCpuRead)
+
+unsigned short wdtctlAddress5xx;
+REQUIRED(wdtctlAddress5xx)
+
+unsigned short enhancedPsa;
+REQUIRED(enhancedPsa)
+
+// global variables to handle Emulation clock control
+unsigned long _hal_mclkCntrl0;
+REQUIRED(_hal_mclkCntrl0)
+
+VAR_AT(HalRec hal_functions_[HAL_FUNCTIONS_SIZE], HAL_ADDR_VAR_HAL_FUNCTION);
+
+#define MACRO(x) {ID_##x, (void*)_hal_##x },
+HalRec hal_functions_default_[HAL_FUNCTIONS_DEFAULT_SIZE] =
+{
+ MACRO(Zero)
+ MACRO_LIST
+};
+#undef MACRO
+
+REQUIRED(_init_Hal)
+
+void _init_Hal(void)
+{
+ unsigned char i;
+
+ for(i=0; i < (sizeof(hal_functions_)/sizeof(HalRec)); i++)
+ {
+ if(i < (sizeof(hal_functions_default_)/sizeof(HalRec)))
+ {
+ hal_functions_[i].id = hal_functions_default_[i].id;
+ hal_functions_[i].function = hal_functions_default_[i].function;
+ }
+ else
+ {
+ hal_functions_[i].id = 0xFFFF;
+ hal_functions_[i].function = NULL;
+ }
+ }
+}
+
+HAL_FUNCTION(_hal_Zero)
+{
+ return 0;
+}
+
+HAL_FUNCTION(_hal_Init)
+{
+ IHIL_Init();
+ return 0;
+}
+extern unsigned int LPMx5_DEVICE_STATE;
+extern int intstate;
+extern unsigned long long prevJState;
+extern unsigned short lastTraceWritePos;
+
+HAL_FUNCTION(_hal_ResetStaticGlobalVars)
+{
+ LPMx5_DEVICE_STATE = 1;
+ intstate = 0;
+ prevJState = 0x0000000000000000;
+ lastTraceWritePos = 0;
+ return 0;
+}
+
+HAL_FUNCTION(_hal_SetVcc)
+{
+ unsigned short vcc;
+ STREAM_get_word(&vcc);
+ IHIL_SetVcc(vcc);
+ return 0;
+}
+
+HAL_FUNCTION(_hal_SwitchMosfet)
+{
+ return -1;
+}
+
+HAL_FUNCTION(_hal_GetVcc)
+{
+ double vcc = 0;
+ double ext_vcc = 0;
+
+ IHIL_GetVcc(&vcc, &ext_vcc);
+ STREAM_put_word((unsigned short)vcc); // this is a workaround
+ STREAM_put_word((unsigned short)ext_vcc);
+ return 0;
+}
+
+HAL_FUNCTION(_hal_GetFuses)
+{
+ config_fuses();
+ STREAM_put_byte(SetReg_8Bits(0));
+ return 0;
+}
+
+HAL_FUNCTION(_hal_DummyMacro)
+{
+ return -1;
+}
+
+/* EOF */
diff --git a/Bios/src/fw/uifv1/hal432.c b/Bios/src/fw/uifv1/hal432.c
new file mode 100644
index 0000000..46c9604
--- /dev/null
+++ b/Bios/src/fw/uifv1/hal432.c
@@ -0,0 +1,151 @@
+/*
+ * hal432.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+//! \ingroup MODULHAL
+//! \file hal432.c
+
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "string.h"
+
+DeviceSettings deviceSettings;
+REQUIRED(deviceSettings)
+
+DevicePowerSettings devicePowerSettings;
+REQUIRED(devicePowerSettings)
+
+unsigned short altRomAddressForCpuRead;
+REQUIRED(altRomAddressForCpuRead)
+
+unsigned short wdtctlAddress5xx;
+REQUIRED(wdtctlAddress5xx)
+
+unsigned short enhancedPsa;
+REQUIRED(enhancedPsa)
+// global variables use for JTAG/SWD DAP
+unsigned long cswValues[4];
+REQUIRED(cswValues)
+ARMConfigSettings armConfigSettings;
+REQUIRED(armConfigSettings)
+
+VAR_AT(HalRec hal_functions_[HAL_FUNCTIONS_SIZE], HAL_ADDR_VAR_HAL_FUNCTION);
+
+#define MACRO(x) {ID_##x, (void*)_hal_##x },
+HalRec hal_functions_default_[HAL_FUNCTIONS_DEFAULT_SIZE] =
+{
+ MACRO(Zero)
+ MACRO_LIST
+};
+#undef MACRO
+
+REQUIRED(_init_Hal)
+
+void _init_Hal(void)
+{
+ unsigned char i;
+
+ for(i=0; i < (sizeof(hal_functions_)/sizeof(HalRec)); i++)
+ {
+ if(i < (sizeof(hal_functions_default_)/sizeof(HalRec)))
+ {
+ hal_functions_[i].id = hal_functions_default_[i].id;
+ hal_functions_[i].function = hal_functions_default_[i].function;
+ }
+ else
+ {
+ hal_functions_[i].id = 0xFFFF;
+ hal_functions_[i].function = NULL;
+ }
+ }
+}
+
+HAL_FUNCTION(_hal_Zero)
+{
+ return 0;
+}
+
+HAL_FUNCTION(_hal_Init)
+{
+ IHIL_Init();
+ return 0;
+}
+
+HAL_FUNCTION(_hal_ResetStaticGlobalVars)
+{
+ return -1;
+}
+
+HAL_FUNCTION(_hal_SetVcc)
+{
+ unsigned short vcc;
+ STREAM_get_word(&vcc);
+ IHIL_SetVcc(vcc);
+ return 0;
+}
+
+HAL_FUNCTION(_hal_SwitchMosfet)
+{
+ return -1;
+}
+
+HAL_FUNCTION(_hal_GetVcc)
+{
+ double vcc = 0;
+ double ext_vcc = 0;
+
+ IHIL_GetVcc(&vcc, &ext_vcc);
+ STREAM_put_word((unsigned short)vcc); // this is a workaround
+ STREAM_put_word((unsigned short)ext_vcc);
+ return 0;
+}
+
+HAL_FUNCTION(_hal_GetFuses)
+{
+ return -1;
+}
+
+HAL_FUNCTION(_hal_DummyMacro)
+{
+ return -1;
+}
+
+/* EOF */
diff --git a/Bios/src/fw/uifv1/halMain430.c b/Bios/src/fw/uifv1/halMain430.c
new file mode 100644
index 0000000..c5a170c
--- /dev/null
+++ b/Bios/src/fw/uifv1/halMain430.c
@@ -0,0 +1,99 @@
+/*
+ * halMain430.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hw_compiler_specific.h"
+#include "stream.h"
+#include "hal.h"
+#include "edt.h"
+#include "stdlib.h"
+#include "string.h"
+#include "HalGlobalVars.h"
+#include "../fw/uifv1/uifVersion.h"
+
+extern void globalVarsInit(void);
+
+extern short _hil_Init( void );
+extern unsigned long _hal_mclkCntrl0;
+
+// prototypes for core/HAL interface
+void *ResetFirmware(void *stream_adr, unsigned long device_flags);
+
+CONST_AT(HAL_INFOS hal_infos_, HAL_ADDR_CONST_HAL_INFOS) =
+{
+ ResetFirmware, // _initTask
+ (VERSION_MAJOR - 1) << 14 |
+ (VERSION_MINOR << 8) |
+ VERSION_PATCH,
+ VERSION_BUILD
+};
+REQUIRED(hal_infos_)
+
+//HAL signature, indicates HAL part is valid
+const unsigned short hal_signature @ "HALSIG" = 0x5137;
+REQUIRED(hal_signature)
+
+struct stream_funcs *_stream_Funcs;
+HAL_INFOS hal_infos_in_ram_;
+unsigned short hal_delay_loop_us_;
+unsigned short hal_delay_loop_ms_;
+
+// called via cstartup form biosHalInterfaceInit
+REQUIRED(ResetFirmware)
+void *ResetFirmware(void *stream_adr, unsigned long device_flags)
+{
+ globalVarsInit();
+
+ hal_delay_loop_us_ = 1;
+ hal_delay_loop_ms_ = 0x7CF;
+
+ memcpy((HAL_INFOS*)&hal_infos_in_ram_,&hal_infos_, sizeof(hal_infos_));
+ _stream_Funcs=(struct stream_funcs *)stream_adr;
+ _init_Hal();
+ if((hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].function == NULL))
+ {
+ hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].id = 0xFFFE;
+ hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].function = (void*)_edt_Common_Methods.Loop;
+ }
+ _hil_Init();
+ _hal_mclkCntrl0=0;
+
+ hal_infos_in_ram_.hal_size = sizeof(hal_functions_)/sizeof(HalRec);
+ hal_infos_in_ram_.hal_list_ptr = hal_functions_;
+ hal_infos_in_ram_.arch = T_ARCH_MSP430;
+
+ return((void*)&hal_infos_in_ram_); // return software infos
+}
diff --git a/Bios/src/hal/halMain.c b/Bios/src/fw/uifv1/halMain432.c
similarity index 60%
rename from Bios/src/hal/halMain.c
rename to Bios/src/fw/uifv1/halMain432.c
index 2abbbee..271add4 100644
--- a/Bios/src/hal/halMain.c
+++ b/Bios/src/fw/uifv1/halMain432.c
@@ -1,56 +1,40 @@
/*
- * halMain.c
+ * halMain432.c
*
*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-//! \ingroup MODULHAL
-//! \file halMain.c
-//! \brief
-//!
-//! \author Detlef Fink (03/10/2011)
-
-//! \page hal_page1 Hardware Abstraction Layer (HAL)
-//! \brief The HAL ...
-//! \author Detlef Fink (03/10/2011)
-//!
-//! files \n
-//! \li startup.s43
-//! \li halMain.c
-//! \li hal.c
-//! \li halGlobalVars.c
-
#include "hw_compiler_specific.h"
#include "stream.h"
#include "hal.h"
@@ -59,25 +43,22 @@
#include "string.h"
#include "HalGlobalVars.h"
-
-
-// include the version info here to write it to the info mem
-#include "../../../DLL430_v3/version.h"
+#include "../fw/uifv1/uifVersion.h"
extern void globalVarsInit(void);
extern short _hil_Init( void );
-extern unsigned short _hal_mclkCntrl0;
-extern unsigned long hil_device_flags_;
// prototypes for core/HAL interface
void *ResetFirmware(void *stream_adr, unsigned long device_flags);
-CONST_AT(HAL_INFOS hal_infos_, HAL_ADDR_CONST_HAL_INFOS) =
+CONST_AT(HAL_INFOS hal_infos_, HAL_ADDR_CONST_HAL_INFOS) =
{
ResetFirmware, // _initTask
- 0x8200 | VERSION_PATCH, // import from DLL by version.h
- VERSION_BUILD // import from DLL by version.h
+ (VERSION_MAJOR - 1) << 14 |
+ (VERSION_MINOR << 8) |
+ VERSION_PATCH,
+ VERSION_BUILD
};
REQUIRED(hal_infos_)
@@ -85,46 +66,32 @@ REQUIRED(hal_infos_)
const unsigned short hal_signature @ "HALSIG" = 0x5137;
REQUIRED(hal_signature)
-// vars
-#ifndef UNIX
-VAR_AT(struct stream_funcs *_stream_Funcs, HAL_ADDR_VAR_STREAM_FUNCS);
-#endif
-VAR_AT(HAL_INFOS hal_infos_in_ram_, HAL_ADDR_VAR_HAL_INFOS_IN_RAM);
-VAR_AT(unsigned short hal_delay_loop_us_, HAL_ADDR_VAR_DELAY_LOOP_US);
-VAR_AT(unsigned short hal_delay_loop_ms_, HAL_ADDR_VAR_DELAY_LOOP_MS);
+struct stream_funcs *_stream_Funcs;
+HAL_INFOS hal_infos_in_ram_;
+unsigned short hal_delay_loop_us_;
+unsigned short hal_delay_loop_ms_;
// called via cstartup form biosHalInterfaceInit
REQUIRED(ResetFirmware)
void *ResetFirmware(void *stream_adr, unsigned long device_flags)
{
globalVarsInit();
- hil_device_flags_ = device_flags;
- if(hil_device_flags_ & DEVICE_FLAG_EASY)
- {
- hal_delay_loop_us_ = 2;
- hal_delay_loop_ms_ = 0x535;
- }
- else
- {
+
hal_delay_loop_us_ = 1;
hal_delay_loop_ms_ = 0x7CF;
- }
-
+
memcpy((HAL_INFOS*)&hal_infos_in_ram_,&hal_infos_, sizeof(hal_infos_));
- // save address of stream funcs, located in core
-#ifndef UNIX
_stream_Funcs=(struct stream_funcs *)stream_adr;
-#endif
_init_Hal();
- if((hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].function == NULL) && !(hil_device_flags_ & DEVICE_FLAG_EASY))
+ if((hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].function == NULL))
{
- hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].id = 0xFFFE;
- hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].function = (void*)_edt_Common_Methods.Loop;
+ hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].id = 0xFFFE;
+ hal_functions_[sizeof(hal_functions_)/sizeof(HalRec)-1].function = (void*)_edt_Common_Methods.Loop;
}
_hil_Init();
- _hal_mclkCntrl0=0x040f;
-
+
hal_infos_in_ram_.hal_size = sizeof(hal_functions_)/sizeof(HalRec);
hal_infos_in_ram_.hal_list_ptr = hal_functions_;
- return((void*)&hal_infos_in_ram_); // return software infos
+ hal_infos_in_ram_.arch = T_ARCH_MSP432;
+ return((void*)&hal_infos_in_ram_); // return software info
}
diff --git a/Bios/src/fw/uifv1/main.c b/Bios/src/fw/uifv1/main.c
index cee4423..0d920a8 100644
--- a/Bios/src/fw/uifv1/main.c
+++ b/Bios/src/fw/uifv1/main.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -52,11 +52,11 @@
//! \li bios (core) -> \ref bios_page1
//! \li HAL -> \ref hal_page1
//! \li HIL -> \ref hil_page1
-//!
+//!
//! two additional parts:
//! \li uif update -> \ref update_page1
//! \li uif downgrade -> \ref downgrate_page1
-//!
+//!
//! and for internal use:
//! \li uif eeprom update -> \ref eepromupdate_page1
@@ -79,7 +79,7 @@
#include "bios.h"
-#include "../v3_0p.h"
+#include "v3_0p.h"
void main ( void );
diff --git a/Bios/src/fw/stream.c b/Bios/src/fw/uifv1/stream.c
similarity index 91%
rename from Bios/src/fw/stream.c
rename to Bios/src/fw/uifv1/stream.c
index f5abdf2..9d7da33 100644
--- a/Bios/src/fw/stream.c
+++ b/Bios/src/fw/uifv1/stream.c
@@ -9,45 +9,45 @@
* HAL init the call addresses are handover to the HAL.
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifdef uController_uif
- #include "uifv1/bios.h"
+ #include "bios.h"
#elif uController_uifplus
- #include "uifplus/bios.h"
+ #include "../uifplus/bios.h"
#else
// windows area
- #include "lpt/bios.h"
+ #include "../lpt/bios.h"
#endif
#include "hw_compiler_specific.h" // included from bios.h?, not needed for LPT
@@ -84,6 +84,7 @@ short _stream_discard_bytes(unsigned short count);
short _stream_memcpy(unsigned char* destination, unsigned char* source, unsigned short count);
short _stream_getFlags(void);
short _stream_putFlags(short flags, short mask);
+short _stream_get_buffer(void **buffer, unsigned short *size);
// stream functions
const struct stream_funcs _stream_Funcs = {
@@ -100,6 +101,7 @@ const struct stream_funcs _stream_Funcs = {
_stream_get_byte,
_stream_get_word,
_stream_get_long,
+ _stream_get_buffer,
_stream_discard_bytes,
_stream_memcpy,
// used form downgrater
@@ -116,7 +118,7 @@ const struct stream_funcs _stream_Funcs = {
unsigned char _stream_out_change_type(unsigned char res_type)
{
unsigned char ret_value;
-
+
ret_value = bios_tx_record_.data[bios_tx_record_.active][1];
bios_tx_record_.data[bios_tx_record_.active][1] = res_type;
return(ret_value);
@@ -128,7 +130,7 @@ unsigned char _stream_out_change_type(unsigned char res_type)
unsigned char _stream_out_change_msg_id(unsigned char msg_id)
{
unsigned char ret_value;
-
+
ret_value = bios_tx_record_.data[bios_tx_record_.active][2];
bios_tx_record_.data[bios_tx_record_.active][2] = msg_id;
return(ret_value);
@@ -163,7 +165,7 @@ short _stream_flush(void)
static unsigned char resp_id = 0;
unsigned short i;
unsigned short crc;
-
+
if(!(bios_tx_record_.state[bios_tx_record_.active] & BIOS_TX_TO_SEND))
{
DIAG_SUPPRESS(Pa082)
@@ -172,7 +174,7 @@ short _stream_flush(void)
bios_tx_record_.data[bios_tx_record_.active][MESSAGE_MSG_ID_POS] &= ~0x80;
}
else if((bios_tx_record_.data[bios_tx_record_.active][MESSAGE_MSG_ID_POS] & 0x80) || resp_id)
- {
+ {
if(resp_id < 255)
{
resp_id++;
@@ -183,7 +185,7 @@ short _stream_flush(void)
}
bios_tx_record_.data[bios_tx_record_.active][3] = resp_id;
}
- bios_tx_record_.data[bios_tx_record_.active][0] = bios_tx_record_.count[bios_tx_record_.active];
+ bios_tx_record_.data[bios_tx_record_.active][0] = bios_tx_record_.count[bios_tx_record_.active];
if(!(bios_tx_record_.data[bios_tx_record_.active][0] & 0x01)) // payload must be a multiply of word size for CRC
{
bios_tx_record_.data[bios_tx_record_.active][++bios_tx_record_.count[bios_tx_record_.active]] = 0x00;
@@ -193,7 +195,7 @@ short _stream_flush(void)
{
crc ^= bios_tx_record_.datas[bios_tx_record_.active][i];
}
- crc ^= 0xFFFF;
+ crc ^= 0xFFFF;
bios_tx_record_.datas[bios_tx_record_.active][bios_tx_record_.count[bios_tx_record_.active] / 2 + 1] = crc;
bios_tx_record_.state[bios_tx_record_.active] |= BIOS_TX_TO_SEND;
bios_tx_record_.state[bios_tx_record_.active] &= ~BIOS_TX_BUSY;
@@ -228,12 +230,12 @@ short _stream_put_bytes(void *data, unsigned short size)
unsigned char tmp_id;
unsigned char tmp_type;
int ret_value = 0;
-
+
if(bios_tx_record_.ext_data == NULL)
{
for(size_counter = 0; size_counter < size; size_counter++)
{
- if(bios_tx_record_.count[bios_tx_record_.active] >= (BIOS_TX_SIZE-3))
+ if(bios_tx_record_.count[bios_tx_record_.active] >= (BIOS_TX_SIZE-3))
{
tmp_type = bios_tx_record_.data[bios_tx_record_.active][1];
tmp_id = bios_tx_record_.data[bios_tx_record_.active][2];
@@ -253,8 +255,8 @@ short _stream_put_bytes(void *data, unsigned short size)
else if(bios_tx_record_.ext_data != (unsigned short*)0xFFFF)
{
DIAG_SUPPRESS(Pa082)
- for(size_counter = 0;
- (size_counter < size) && (bios_tx_record_.ext_counter < bios_tx_record_.ext_size);
+ for(size_counter = 0;
+ (size_counter < size) && (bios_tx_record_.ext_counter < bios_tx_record_.ext_size);
size_counter++, bios_tx_record_.ext_counter++)
{
*((unsigned char*)bios_tx_record_.ext_data+bios_tx_record_.ext_counter) = *((unsigned char*)data+size_counter);
@@ -296,7 +298,7 @@ short _stream_in_init(void *ptr, unsigned char no)
{
BiosRxRecord *ptr_tmp;
ptr_tmp = (BiosRxRecord*)ptr;
-
+
stream_input_.data_start =(*ptr_tmp).data[no];
stream_input_.data_end = stream_input_.data_start + stream_input_.data_start[MESSAGE_SIZE_POS];
stream_input_.data_ptr = &stream_input_.data_start[MESSAGE_PAYLOAD_POS];
@@ -321,6 +323,7 @@ short _stream_internal_stream(unsigned char *data_in, unsigned short size_in, un
// safe Tx
(*tmp_record).ext_data = bios_tx_record_.ext_data;
(*tmp_record).ext_size = bios_tx_record_.ext_size;
+ (*tmp_record).ext_counter = bios_tx_record_.ext_counter;
stream_input_.data_start = data_in;
stream_input_.data_end = stream_input_.data_start + size_in;
stream_input_.data_ptr = data_in;
@@ -351,6 +354,7 @@ short _stream_external_stream(StreamSafe *tmp_record)
// restore Tx
bios_tx_record_.ext_data = (*tmp_record).ext_data;
bios_tx_record_.ext_size = (*tmp_record).ext_size;
+ bios_tx_record_.ext_counter = (*tmp_record).ext_counter;
return(0);
}
@@ -361,7 +365,7 @@ short _stream_external_stream(StreamSafe *tmp_record)
short _stream_get_byte(unsigned char *data)
{
short ret_value = 0;
-
+
if(stream_input_.data_ptr > stream_input_.data_end)
{
ret_value = -1;
@@ -384,10 +388,10 @@ short _stream_get_byte(unsigned char *data)
short _stream_get_word(unsigned short *data)
{
short ret_value = 0;
-
+
unsigned short Word;
unsigned char tmp_char;
-
+
if((PTR_FOR_CMP)stream_input_.data_ptr & 1)
{
ret_value = _stream_get_byte(&tmp_char);
@@ -403,7 +407,7 @@ short _stream_get_word(unsigned short *data)
}
*data = Word;
}
- else
+ else
{
if(stream_input_.data_ptr > stream_input_.data_end)
{
@@ -431,7 +435,7 @@ short _stream_get_word(unsigned short *data)
short _stream_get_long(unsigned long *data)
{
short ret_value = 0;
-
+
unsigned char *tmp_char;
if((PTR_FOR_CMP)stream_input_.data_ptr & 1)
@@ -471,19 +475,32 @@ short _stream_get_long(unsigned long *data)
}
}
}
-stream_get_long_exit:
- return(ret_value);
+stream_get_long_exit:
+ return(ret_value);
+}
+
+//! \brief Get a pointer to the data buffer
+//! \details make sure that input stream pointer is incremented to point on next buffer element.
+short _stream_get_buffer(void **buffer, unsigned short
+*size)
+{
+ *buffer = stream_input_.data_ptr;
+ *size = stream_input_.data_end - stream_input_.data_ptr + 1;
+
+ stream_input_.data_ptr = stream_input_.data_end + 4;
+
+ return 1;
}
//! \brief Skip byte(s) to read form rx buffer
-//! \details If more bytes discarded as in the buffer, the next message is requested.
+//! \details If more bytes discarded as in the buffer, the next message is requested.
//! \param[in] count count of bytes to skip
//! \return status, 0 = ok, 1 = last data, -1 = faild
short _stream_discard_bytes(unsigned short count)
{
short ret_value = -1;
unsigned char dummy;
-
+
for(;count; count--)
{
ret_value = _stream_get_byte(&dummy);
diff --git a/Bios/src/fw/stream.h b/Bios/src/fw/uifv1/stream.h
similarity index 89%
rename from Bios/src/fw/stream.h
rename to Bios/src/fw/uifv1/stream.h
index 1c87a49..a30d73c 100644
--- a/Bios/src/fw/stream.h
+++ b/Bios/src/fw/uifv1/stream.h
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -53,6 +53,7 @@ struct _StreamSafe_
unsigned char rx[12];
unsigned short *ext_data;
unsigned short ext_size;
+ unsigned short ext_counter;
};
typedef struct _StreamSafe_ StreamSafe;
@@ -71,6 +72,7 @@ struct stream_funcs
short (*get_byte)(unsigned char *);
short (*get_word)(unsigned short *);
short (*get_long)(unsigned long *);
+ short (*get_buffer)(void **, unsigned short *);
short (*discard_bytes)(unsigned short);
short (*memcpy)(unsigned char*, unsigned char*, unsigned short);
short (*biosLedOn)(unsigned char);
@@ -86,7 +88,7 @@ struct stream_funcs
extern struct stream_funcs * _stream_Funcs;
// add definitions for external use
-// functions are located in core module
+// functions are located in core module
/**
* STREAM Function Pointer - these are the STREAM Exports
@@ -104,6 +106,7 @@ extern struct stream_funcs * _stream_Funcs;
#define STREAM_get_byte (*_stream_Funcs->get_byte)
#define STREAM_get_word (*_stream_Funcs->get_word)
#define STREAM_get_long (*_stream_Funcs->get_long)
+#define STREAM_get_buffer (*_stream_Funcs->get_buffer)
#define STREAM_discard_bytes (*_stream_Funcs->discard_bytes)
#define STREAM_memcpy (*_stream_Funcs->memcpy)
#define STREAM_biosLedOn (*_stream_Funcs->biosLedOn)
@@ -130,6 +133,7 @@ extern const struct stream_funcs _stream_Funcs;
#define STREAM_get_byte (*_stream_Funcs.get_byte)
#define STREAM_get_word (*_stream_Funcs.get_word)
#define STREAM_get_long (*_stream_Funcs.get_long)
+#define STREAM_get_buffer (*_stream_Funcs->get_buffer)
#define STREAM_discard_bytes (*_stream_Funcs.discard_bytes)
#define STREAM_memcpy (*_stream_Funcs.memcpy)
#define STREAM_biosLedOn (*_stream_Funcs.biosLedOn)
@@ -154,11 +158,11 @@ extern const struct stream_funcs _stream_Funcs;
#define MESSAGE_EXECUTE_ZERO_ADDR_POS 6
#define MESSAGE_EXECUTE_PAYLOAD_POS 6
#define MESSAGE_NO_RESPONSE 0x8000
-#define EXCEPTION_NOT_IMPLEMENT_ERR 0x8001
-#define EXCEPTION_MSGID_ERR 0x8002
-#define EXCEPTION_CRC_ERR 0x8003
-#define EXCEPTION_RX_TIMEOUT_ERR 0x8004
-#define EXCEPTION_TX_TIMEOUT_ERR 0x8005
+#define EXCEPTION_NOT_IMPLEMENT_ERR 0x8001
+#define EXCEPTION_MSGID_ERR 0x8002
+#define EXCEPTION_CRC_ERR 0x8003
+#define EXCEPTION_RX_TIMEOUT_ERR 0x8004
+#define EXCEPTION_TX_TIMEOUT_ERR 0x8005
#define EXCEPTION_RX_OVERFLOW_ERR 0x8006
#define EXCEPTION_TX_NO_BUFFER 0x8007
#define EXCEPTION_COM_RESET 0x8008
@@ -189,6 +193,7 @@ struct _HAL_INFOS_
HalMainFunc init;
short sw_0;
short sw_1;
+ char arch;
unsigned short hal_size;
HalRec *hal_list_ptr;
};
@@ -205,4 +210,3 @@ extern short _stream_out_init(unsigned char msg_id, unsigned char res_type);
extern unsigned char rx_queu_counter_public_;
#endif
-
diff --git a/Bios/src/fw/uifv1/uifVersion.h b/Bios/src/fw/uifv1/uifVersion.h
new file mode 100644
index 0000000..8ad5302
--- /dev/null
+++ b/Bios/src/fw/uifv1/uifVersion.h
@@ -0,0 +1,46 @@
+/*
+ * FetVersion.h
+ *
+ * Holds Version number.
+ *
+ * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#define VERSION_MAJOR 3
+#define VERSION_MINOR 11
+#define VERSION_PATCH 0
+#define VERSION_BUILD 001
+
+#define CORE_VERSION 0x16
+
diff --git a/Bios/src/fw/v3_0p.c b/Bios/src/fw/uifv1/v3_0p.c
similarity index 85%
rename from Bios/src/fw/v3_0p.c
rename to Bios/src/fw/uifv1/v3_0p.c
index 58b1fb2..2511346 100644
--- a/Bios/src/fw/v3_0p.c
+++ b/Bios/src/fw/uifv1/v3_0p.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,13 +44,13 @@
//! \li loop management
#ifdef uController_uif
- #include "uifv1/v3_0p_hw_uif.h"
- #include "uifv1/bios.h"
+ #include "v3_0p_hw_uif.h"
+ #include "bios.h"
#elif uController_uifplus
- #include "uifplus/v3_0p_hw_uifplus.h"
- #include "uifplus/bios.h"
+ #include "../uifplus/v3_0p_hw_uifplus.h"
+ #include "../uifplus/bios.h"
#else
- #include "lpt/bios.h"
+ #include "../lpt/bios.h"
#endif
#include "v3_0p.h"
#include "stream.h"
@@ -62,19 +62,19 @@ typedef short (*HalFuncInOut)(unsigned short);
//------------------------------------------------------------------------------
// Global Variables - Data Memory used by this module
//
-V3opLoopArray v3op_loop_array_[V3OP_LOOP_ARRAY_COUNT] = {
- { 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
+V3opLoopArray v3op_loop_array_[V3OP_LOOP_ARRAY_COUNT] = {
+ { 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
{ 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
{ 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 },
{ 0xFFFF, (unsigned char*)0xFFFF, 0x00, 0x00, 0x00, 1 }
};
-HAL_INFOS no_hal_infos_ = {0, 0, 0, 0, NULL};
+HAL_INFOS no_hal_infos_ = {0, 0, 0, 0, 0, NULL};
HAL_INFOS_PTR hal_infos_ = &no_hal_infos_;
-// ID from and pointer to all HAL functions
+// ID from and pointer to all HAL functions
HAL_REC_ARRAY hal_ptr_ = NULL;
-// informations about first and last measages
+// informations about first and last measages
unsigned short v30p_stream_flags_ = 0;
short v3opKillLoop(unsigned char msg_id);
@@ -85,6 +85,8 @@ short HAL_Zero(unsigned char *data);
short v3opRx(unsigned char *str);
short v3opSendException(unsigned char msg_id, unsigned short code, unsigned short *payload);
+extern const unsigned short *hal_signature;
+
//! \brief some (HAL)zero functions are handled in bios
//! \details \li 0 -> versions
//! \li 1 -> count of installed HAL macros
@@ -98,17 +100,47 @@ short HAL_Zero(unsigned char *data)
{
short ret_value = 0;
unsigned short i;
-
+
if(data[MESSAGE_EXECUTE_ZERO_ADDR_POS] == STREAM_CORE_ZERO_VERSION) // call for SW version
{
if(STREAM_out_init(data[MESSAGE_MSG_ID_POS], RESPTYP_DATA) >= 0)
{
- STREAM_put_word((*hal_infos_).sw_0);
- STREAM_put_word((*hal_infos_).sw_1);
+ unsigned long coreVersion_ToolId = core_version_;
+ coreVersion_ToolId =(coreVersion_ToolId<<16) + tool_id_;
+ if(hal_infos_ != &no_hal_infos_)
+ {
+ STREAM_put_word((*hal_infos_).sw_0);
+ STREAM_put_word((*hal_infos_).sw_1);
+ }
+ else
+ {
+ STREAM_put_word(tool_id_);
+ STREAM_put_word(tool_id_);
+ }
+
STREAM_put_word(bios_info_hw_0_);
STREAM_put_word(bios_info_hw_1_);
- STREAM_put_bytes((unsigned char*)&core_version_,sizeof(core_version_));
- STREAM_put_bytes((unsigned char*)&core_version_,sizeof(safe_core_version_));
+
+ STREAM_put_bytes((unsigned char*)&coreVersion_ToolId,sizeof(coreVersion_ToolId));
+ STREAM_put_word(safe_core_version_);
+
+ // return dummy value for Sub mcu & DCDC layer
+ STREAM_put_word(0x0000);
+ STREAM_put_word(0x0000);
+
+ // return dummy value for Uart version module
+ STREAM_put_word(0x0000);
+
+ // return CRC's for core and all firmware modules
+ STREAM_put_word(0x0000);
+ STREAM_put_word(0x0000);
+ STREAM_put_word(0x0000);
+ STREAM_put_word(0x0000);
+ STREAM_put_word(0x0000);
+
+ // return dummy FPGA version
+ STREAM_put_word((*hal_infos_).arch);
+
STREAM_put_word(BIOS_RX_QUEUS);
STREAM_put_word(BIOS_RX_SIZE);
STREAM_put_long(bios_device_flags_);
@@ -179,7 +211,7 @@ short v3opPauseLoop(unsigned char msg_id)
int i = 0;
for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
{
- if(v3op_loop_array_[i].msg_id == msg_id)
+ if(v3op_loop_array_[i].msg_id == msg_id)
{
v3op_loop_array_[i].active = 0;
break;
@@ -196,7 +228,7 @@ short v3opResumeLoop(unsigned char msg_id)
int i = 0;
for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
{
- if(v3op_loop_array_[i].msg_id == msg_id)
+ if(v3op_loop_array_[i].msg_id == msg_id)
{
v3op_loop_array_[i].active = 1;
break;
@@ -233,13 +265,13 @@ short v3opKillLoop(unsigned char msg_id)
{
unsigned short i;
short ret_value = -1;
-
+
if(msg_id == 0)
{
ret_value = 0;
for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
{
- if((v3op_loop_array_[i].addr != 0xFFFF) && ((*hal_ptr_)[v3op_loop_array_[i].addr].id < 0xFF00))
+ if((v3op_loop_array_[i].addr != 0xFFFF) && ((*hal_ptr_)[v3op_loop_array_[i].addr].id < 0xFF00))
{
if(v3op_loop_array_[i].indata != NULL)
{
@@ -248,7 +280,7 @@ short v3opKillLoop(unsigned char msg_id)
v3op_loop_array_[i].indata = NULL;
v3op_loop_array_[i].addr = 0xFFFF;
v3op_loop_array_[i].active = 1;
-
+
ret_value++;
}
}
@@ -286,11 +318,11 @@ short v3opSetLoop(unsigned char *payload_incl_addr, unsigned char flags)
unsigned short i, j;
unsigned char payload_size;
short ret_value = -1;
-
+
// search for same running function
for(i = 0; i < V3OP_LOOP_ARRAY_COUNT; i++)
{
- if((v3op_loop_array_[i].addr == *(unsigned short*)&payload_incl_addr[MESSAGE_EXECUTE_CALL_ADDR_POS]) &&
+ if((v3op_loop_array_[i].addr == *(unsigned short*)&payload_incl_addr[MESSAGE_EXECUTE_CALL_ADDR_POS]) &&
(v3op_loop_array_[i].msg_id == payload_incl_addr[MESSAGE_MSG_ID_POS]))
{
ret_value = -2;
@@ -331,7 +363,6 @@ short v3opSetLoop(unsigned char *payload_incl_addr, unsigned char flags)
}
else
{
- payload_size = 0;
v3op_loop_array_[i].indata = NULL;
v3op_loop_array_[i].flags = flags & V3OP_LOOP_WAIT_FLAG;
v3op_loop_array_[i].msg_id = payload_incl_addr[2] | 0x40;
@@ -429,7 +460,7 @@ short v3opRx (unsigned char *str)
}
hal_history_[hal_history_count_++] = call_addr;
hal_history_last_ = call_addr;
- #endif
+ #endif
if(call_addr < (*hal_infos_).hal_size)
{
pCallAddr = (HalFuncInOut)(*hal_ptr_)[call_addr].function;
@@ -442,7 +473,7 @@ short v3opRx (unsigned char *str)
ret_value = MESSAGE_NO_RESPONSE;
}
}
- }
+ }
}
else
{
@@ -477,8 +508,8 @@ short v3opRx (unsigned char *str)
case CMDTYP_UPINIT: // init update
ret_value = v3opCoreFlashFunctionInit(str);
break;
- case CMDTYP_UPERASE: // erase HAL part
- ret_value = v3opCoreFlashFunctionErase(str);
+ case CMDTYP_UPERASE: // erase HAL part
+ ret_value = v3opCoreFlashFunctionErase(str);
if(ret_value == 1) // tell Bios that Hal is dead
{
biosHalInterfaceClear();
@@ -501,7 +532,7 @@ short v3opRx (unsigned char *str)
{
if(ret_value >= 0)
{
- if(STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_ACKNOWLEDGE) >= 0);
+ if(STREAM_out_init(str[MESSAGE_MSG_ID_POS], RESPTYP_ACKNOWLEDGE) >= 0)
{
STREAM_put_word(ret_value);
STREAM_flush();
@@ -535,7 +566,7 @@ short v3opRx (unsigned char *str)
short v3opSendException(unsigned char msg_id, unsigned short code, unsigned short *payload)
{
unsigned short i;
-
+
if(STREAM_out_init(msg_id, RESPTYP_EXCEPTION) >= 0)
{
if(payload == NULL)
diff --git a/Bios/src/fw/v3_0p.h b/Bios/src/fw/uifv1/v3_0p.h
similarity index 100%
rename from Bios/src/fw/v3_0p.h
rename to Bios/src/fw/uifv1/v3_0p.h
diff --git a/Bios/src/fw/uifv1/v3_0p_hw_uif.c b/Bios/src/fw/uifv1/v3_0p_hw_uif.c
index 4aff3a7..61a3551 100644
--- a/Bios/src/fw/uifv1/v3_0p_hw_uif.c
+++ b/Bios/src/fw/uifv1/v3_0p_hw_uif.c
@@ -47,8 +47,8 @@
#include "hw_compiler_specific.h"
#include "bios.h"
-#include "../v3_0p.h"
-#include "../stream.h"
+#include "v3_0p.h"
+#include "stream.h"
#include
diff --git a/Bios/include/EEM_defs.h b/Bios/src/hal/EEM_defs.h
similarity index 96%
rename from Bios/include/EEM_defs.h
rename to Bios/src/hal/EEM_defs.h
index 229851c..950c2f9 100644
--- a/Bios/include/EEM_defs.h
+++ b/Bios/src/hal/EEM_defs.h
@@ -42,9 +42,6 @@
#define FALSE 0
#define TRUE 1
-#define WRITE 0
-#define READ 1
-
#define TRIGFLAG 0x8E
#define EEMVER 0x86
/* Definition for EEM General Clock Control Register */
@@ -188,5 +185,6 @@
#define GCC_NONE 0x0000 // No clock control
#define GCC_STANDARD 0x0001 // Standard clock control
#define GCC_EXTENDED 0x0002 // Extended clock control
+#define GCC_STANDARD_I 0x0003 // Standard clock control, special handling Note 1793
#endif
diff --git a/Bios/src/hal/JTAG_defs.h b/Bios/src/hal/JTAG_defs.h
index e4b1c14..40c3b19 100644
--- a/Bios/src/hal/JTAG_defs.h
+++ b/Bios/src/hal/JTAG_defs.h
@@ -1,38 +1,38 @@
/*
* JTAG_defs.h
- *
+ *
*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*========================================================================*\
@@ -86,109 +86,39 @@
#define JTAGVERSION8D 0x8D
#define JTAGVERSION91 0x91
#define JTAGVERSION95 0x95
+#define JTAGVERSION98 0x98
#define JTAGVERSION99 0x99
-#if !uController_uif
-// Instructions to access the Emex registers
-#define IR_EMEX_DATA_EXCHANGE 0x09
-#define IR_EMEX_READ_TRIGGER 0x0A
-#define IR_EMEX_READ_CONTROL 0x0B
-#define IR_EMEX_WRITE_CONTROL 0x0C
-#define IR_EMEX_DATA_EXCHANGE32 0x0D
-
-#define IR_TEST_REG 0x2A //Select the 32-bit JTAG test register
-#define IR_TEST_3V_REG 0x2F
-// Instructions for the address register
-#define IR_ADDR_HIGH_BYTE 0x81
-#define IR_ADDR_LOW_BYTE 0x82
-#define IR_ADDR_16BIT 0x83
-#define IR_ADDR_CAPTURE 0x84
-#define IR_DATA_TO_ADDR 0x85
-#define IR_CAPTURE_CPU_REG 0x86
-#define IR_DEVICE_ID 0x87
+#define F_BYTE 8
+#define F_WORD 16
+#define F_ADDR 20
+#define F_LONG 32
+#define F_LONG_LONG 64
-// Instructions for the data register
-#define IR_DATA_16BIT 0x41
-#define IR_DATA_CAPTURE 0x42
-#define IR_DATA_QUICK 0x43
-#define IR_DATA_PSA 0x44
-#define IR_DATA_16BIT_OPT 0x45
-#define IR_SHIFT_OUT_PSA 0x46
-#define IR_DTA 0x47
+#define SBW1200KHz 0x800A
+#define SBW600KHz 0x600A
+#define SBW400KHz 0x400A
+#define SBW200KHz 0x200A
+#define SBW100KHz 0x100A
-// Instructions for the breakpoint logic
-#define IR_BP_CNTL_16BIT 0x09
-#define IR_BP_CNTL_CAPTURE 0x0A
-#define IR_BP1_16BIT 0x0B
-#define IR_BP1_CAPTURE 0x0C
-#define IR_BP2_16BIT 0x0D
-#define IR_BP2_CAPTURE 0x0E
+#define JTAG15MHz 1
+#define JTAG8MHz 2
+#define JTAG4MHz 4
+#define JTAG2MHz 8
+#define JTAG1MHz 16
+#define JTAG500KHz 32
+#define JTAG250KHz 64
+#define JTAG750KHz 128
-// Instructions for the FLASH register
-#define IR_FLASH_16BIT_UPDATE 0x19
-#define IR_FLASH_CAPTURE 0x1A
-#define IR_FLASH_16BIT_IN 0x1B
-#define IR_FLASH_UPDATE 0x1C
-// Bits of the FLASH register
-#define FLASH_SESEL1 0x0080
-#define FLASH_TMR 0x0800
+#define RSTLOW_SBW 0
+#define RSTLOW_JTAG 1
+#define RSTHIGH_SBW 2
+#define RSTHIGH_JTAG 3
-// Instructions for the control signal register
-#define IR_CNTRL_SIG_HIGH_BYTE 0x11
-#define IR_CNTRL_SIG_LOW_BYTE 0x12
-#define IR_CNTRL_SIG_16BIT 0x13
-#define IR_CNTRL_SIG_CAPTURE 0x14
-#define IR_CNTRL_SIG_RELEASE 0x15
-#define IR_COREIP_ID 0x17
-#define IR_JSTATE_ID 0x18
+#define SAFE_PC_ADDRESS (0x00000004ul)
-// Bits of the control signal register
-#define CNTRL_SIG_READ 0x0001
-#define CNTRL_SIG_CPU_HALT 0x0002
-#define CNTRL_SIG_INTR_REQ 0x0004
-#define CNTRL_SIG_HALT_JTAG 0x0008
-#define CNTRL_SIG_BYTE 0x0010
-#define CNTRL_SIG_CPU_OFF 0x0020
-#define CNTRL_SIG_MCLKON 0x0040
-#define CNTRL_SIG_INSTRLOAD 0x0080
-#define CNTRL_SIG_TMODE 0x0100
-#define CNTRL_SIG_TCE 0x0200
-#define CNTRL_SIG_TCE1 0x0400
-#define CNTRL_SIG_PUC 0x0800
-#define CNTRL_SIG_CPU 0x1000
-#define CNTRL_SIG_TAGFUNCSAT 0x2000
-#define CNTRL_SIG_SWITCH 0x4000
-#define CNTRL_SIG_STOP_SEL 0x8000
-#define CNTRL_SIG_CPUSUSP (0x0001<<8)
-#define CNTRL_SIG_CPUOFF (0x0001<<5)
-#define CNTRL_SIG_INTREQ (0x0001<<2)
-#define CNTRL_SIG_HALT (0x0001<<1)
-
-// Instructions for the fuse control
-#define IR_CNTRL 0x21
-#define IR_PREPARE_BLOW 0x22
-#define IR_EX_BLOW 0x24
-
-// Instructions for the configuration fuse register
-#define IR_CONFIG_FUSES 0x29
+/*--------------------------start if uController_uif--------------------------*/
-// Instructions for the control of the Embedded Signal Processing Cell
-#define IR_DUAL_8BIT 0x31
-#define IR_DUAL_CAPTURE 0x32
-#define IR_SELECT_MAIN 0x33
-#define IR_SELECT_ESP 0x34
-
-// Bypass instruction
-#define IR_BYPASS 0xFF
-
-// Accept Key Instruction for SPMA devices
-#define IR_ACCEPT_KEY 0x59
-
-#define IR_JMB_EXCHANGE 0x61
-#define IR_JMB_WRITE_32BIT_MODE 0x88
-#define IR_TDO_EVENT 0x64
-#define IR_TDO_EVENT_CTL 0x65
-#else // uController_uif
// Instructions to access the Emex registers
#define IR_EMEX_DATA_EXCHANGE 0x90 // 09
#define IR_EMEX_READ_TRIGGER 0x50 // 0A
@@ -289,8 +219,6 @@
#define IR_TDO_EVENT 0x26 // 64
#define IR_TDO_EVENT_CTL 0xA6 // 65
-#endif
-
#define EEMEV 0x0100
// Registers in the EMEX logic
#define MX_WRITE 0 // Write offset
@@ -371,12 +299,13 @@
#define STATUS_REG_V 0x0100
#define WDTCTL_ADDRESS 0x120 // Watchdog Timer control register address for 1xx/2xx/4xx family
-#define WDTCTL_ADDRESS_5XX 0x15C // Watchdog Timer control register address for 5xx family
#define WDTPW_DEF 0x5a // Watchdog Timer password.
#define WDTHOLD_DEF 0x80 // Watchdog Timer hold.
#define WDTSSEL_ACLK 0x03 // Watchdog Timer Clock Source
#define SYSBSLC_ADDRESS 0x182 // SYS Module Bootstrap Loader control register address
+#ifndef SYSBSLPE
#define SYSBSLPE 0x8000 // SYS - BSL Memory protection enalbed
+#endif
#define FLASHPW_DEF 0xa5 // Flash password.
@@ -425,7 +354,177 @@
//#define INFO_SEGMENT_SIZE 128 // And Information segments are 128 bytes in size.
//JMB DR Requests
-#define DR_JMB_PASSWORD_EXCHANGE_REQUEST 0x1E1E
+#define DR_JMB_PASSWORD_EXCHANGE_REQUEST 0x1E1E
#define MAGIC_PATTERN 0xA55A
+
+//********************************************************************************************************
+// MSP432
+//********************************************************************************************************
+// General purpose definitions
+#define READ 0x1
+#define WRITE 0x0
+#define MAX_RETRY 40
+#define ACK 0x2
+#define SWD_ACK 0x1
+
+#define DAPABORT 0x01
+#define STKCMPCLR 0x02
+#define STKERRCLR 0x04
+#define WDERRCLR 0x08
+#define ORUNERRCLR 0x10
+
+// JTAG Instruction Register definitions
+#define IR4_ABORT 0x8 // Used to force an AP abort
+#define IR4_DPACC 0xA // DP IR dpacc
+#define IR4_APACC 0xB // AP IR apacc
+#define IR4_IDCODE 0xE // JTAG-DP TAP identification
+#define IR4_BYPASS 0xF // Bypasses the device, by providing a direct path between DBGTDI and DBGTDO.
+
+// Debug Port register addresses
+#define DP_DPIDR 0x00 // DP architecture register
+#define DP_CTRL_STAT 0x04 // Control & Status
+#define DP_SELECT 0x08 // Select Register (JTAG R/W & SW W)
+#define DP_RDBUFF 0x0C // Read Buffer (Read Only)
+
+// CTRL_STAT register bits
+#define DP_CTRL_STAT_CSYSPWRUPACK 0x80000000
+#define DP_CTRL_STAT_CSYSPWRUPREQ 0x40000000
+#define DP_CTRL_STAT_CDBGPWRUPACK 0x20000000
+#define DP_CTRL_STAT_CDBGPWRUPREQ 0x10000000
+#define DP_CTRL_STAT_CDBGRSTACK 0x08000000
+#define DP_CTRL_STAT_CDBGRSTREQ 0x04000000
+#define DP_CTRL_STAT_WDATAERR 0x00000080
+#define DP_CTRL_STAT_STICKYERR 0x00000020
+#define DP_CTRL_STAT_STICKYCMP 0x00000010
+#define DP_CTRL_STAT_STICKYORUN 0x00000002
+
+// Access Port register addresses
+#define AP_CSW 0x00 // Control/Status word
+#define AP_TAR 0x04 // Transfer Address Register
+#define AP_DRW 0x0C // Data Read/Write Register
+#define AP_BD0 0x10 // Banked data 0
+#define AP_BD1 0x14 // Banked data 1
+#define AP_BD2 0x18 // Banked data 2
+#define AP_BD3 0x1C // Banked data 3
+#define AP_CFG 0xF4 // Configuration register
+#define AP_BASE 0xF8 // Debug Base Address register
+#define AP_IDR 0xFC // Indentification register
+
+// CSW bits
+#define AP_CSW_SIZE_MASK 0x0000000F
+#define AP_CSW_SIZE_8BIT 0x00000000 // Byte 8-bit transfer mode
+#define AP_CSW_SIZE_16BIT 0x00000001 // Halfword 16-bit transfer mode
+#define AP_CSW_SIZE_32BIT 0x00000002 // Word 32-bit transfer mode
+
+#define AP_CSW_ADDRINC_MASK 0x00000030
+#define AP_CSW_ADDRINC_OFF 0x00000000 // Auto-increment off
+#define AP_CSW_ADDRINC_SINGLE 0x00000010 // Increment single
+#define AP_CSW_ADDRINC_PACKED 0x00000020 // Increment packed
+
+#define AP_CSW_MODE_MASK 0x00000F00
+#define AP_CSW_MODE_BASIC 0x00000000 // Basic mode
+#define AP_CSW_MODE_BARRIER 0x00000001 // Barrier mode
+
+// SCS Register offsets
+#define AIRCR (0xe000e000 + 0x00000D0C) // Application Interrupt and Reset Control Register
+#define DFSR (0xe000e000 + 0x00000D30) // Debug Fault Status Register
+#define DHCSR (0xe000e000 + 0x00000DF0) // Debug Halting Control and Status Register
+#define DCRSR (0xe000e000 + 0x00000DF4) // Debug Core Register Selector Register
+#define DCRDR (0xe000e000 + 0x00000DF8) // Debug Core Register Data Register
+#define DEMCR (0xe000e000 + 0x00000DFC) // Debug Exception and Monitor Control Register
+#define SCB_SCR (0xe000e000 + +0x00000D00 + 0x10) // System Control Register
+
+#define SCB_SCR_SLEEPONEXIT_Msk 0x00000002
+
+//DEMCR regs
+#define xPSR_REG 0x10
+#define MSP_SP 0x11
+#define PSP_SP 0x12
+#define spec_REG 0x14
+
+// AIRCR bits
+#define VECTKEY 0x05FA0000 // Vector Key. 0x05FA must be written anytime this register
+ // is written, otherwise the write is ignored (no bits are
+ // changed in the register).
+#define VECTKEYSTAT 0xFFFF0000 // Reads as 0xFA05.
+#define SYSRESETREQ 0x00000004 // Writing this bit 1 will cause a signal to be asserted to the external system to indicate a reset is requested.
+#define VECTCLRACTIVE 0x00000002 // Clears all active state information for fixed and configurable exceptions. This bit self-clears.
+#define VECTRESET 0x00000001 // Local system reset
+
+// DFSR bits
+#define EXTERNAL 0x00000010 // An asynchronous exception generated due to the assertion of EDBGRQ.
+#define VCATCH 0x00000008 // Vector catch triggered. Corresponding FSR will contain the primary cause of the exception.
+#define DWTTRAP 0x00000004 // Data Watchpoint and Trace trap. Indicates that the core halted due to at least one DWT trap event.
+#define BKPT 0x00000002 // BKPT instruction executed or breakpoint match in FPB.
+#define HALTED 0x00000001 // Halt request, including step debug command. Stopped on next instruction.
+
+// DHCSR bits
+#define DBGKEY 0xA05F0000 // Debug Key. The value 0xA05F must be written to enable write
+ // accesses to bits [15:0], otherwise the write access will be ignored.
+#define S_RESET_ST 0x02000000 // Core reset since the last time this bit was read. This is a sticky bit, which clears on read.
+#define S_RETIRE_ST 0x01000000 // Instruction has completed (retired) since last read. This is a sticky bit, which clears on read.
+ // This bit can be used to determine if the core is stalled on a load/store or fetch.
+#define S_LOCKUP 0x00080000 // Core is locked up due to an unrecoverable exception.
+#define S_SLEEP 0x00040000 // Core is sleeping. Must set the C_HALT bit to gain control, or wait for an interrupt
+ // (WFI instruction response) to wake-up the system.
+#define S_HALT 0x00020000 // Core is in Debug state.
+#define S_REGRDY 0x00010000 // A handshake flag. The bit is cleared to ’0’ on a write to the
+ // Debug Core Register Selector Register and is set to ’1’ when
+ // the transfer to/from the Debug Core Register Data Register is complete.
+#define C_SNAPSTALL 0x00000020 // If the core is stalled on a load/store operation (see S_RETIRE_ST), setting this bit will break
+ // the stall and force the instruction to complete. This bit can only be set if C_DEBUGEN and C_HALT are set,
+ // and S_RETIRE_ST is clear. The bus state is UNPREDICTABLE when C_SNAPSTALL is set.
+#define C_MASKINTS 0x00000008 // Mask PendSV, SysTick and external configurable interrupts when debug is enabled. The bit does not affect NMI. When
+ // C_DEBUGEN==0, this bit is UNKNOWN.
+#define C_STEP 0x00000004 // Step the core.
+#define C_HALT 0x00000002 // Halt the core.
+#define C_DEBUGEN 0x00000001 // Enable halting debug.
+
+// DCRSR bits
+#define REG_WnR 0x00010000 // Write = 1, Read = 0
+
+// DEMCR bits
+#define TRCENA 0x01000000 // Global enable for all features configured and controlled by the DWT and ITM blocks.
+#define MON_REQ 0x00080000 // A DebugMonitor semaphore bit.
+#define MON_STEP 0x00040000 // When MON_EN is set, this bit is used to step the core.
+#define MON_PEND 0x00020000 // Pend the DebugMonitor exception to activate when priority allows.
+#define MON_EN 0x00010000 // Enable the DebugMonitor exception.
+#define VC_HARDERR 0x00000400 // Debug trap on a HardFault exception.
+#define VC_INTERR 0x00000200 // Debug trap on a fault occurring during an exception entry or return sequence.
+#define VC_BUSERR 0x00000100 // Debug trap on a BusFault exception.
+#define VC_STATERR 0x00000080 // Debug trap on a UsageFault exception due to a state information error (for example an UNDEFINED instruction).
+#define VC_CHKERR 0x00000040 // Debug trap on a UsageFault exception due to a checking error (for example an alignment check error).
+#define VC_NOCPERR 0x00000020 // Debug trap on a UsageFault access to a Coprocessor.
+#define VC_MMERR 0x00000010 // Debug trap on a MemManage exception.
+#define VC_CORERESET 0x00000001 // Reset Vector Catch. Halt a running system when a Local Reset occurs.
+
+// FPB definitions
+#define FP_CTRL (armConfigSettings.fpbBase + 0x00000000) // FlashPatch control
+#define FP_REMAP (armConfigSettings.fpbBase + 0x00000004) // FlashPatch remapping address
+#define FP_COMP(i) (armConfigSettings.fpbBase + 0x00000008 + i * 4) // FlashPatch comparator (i) control
+
+// FP_CTRL bits
+#define KEY 0x00000002
+#define ENABLE 0x00000001
+
+// JTAG Instruction Register definitions
+#define ABORT (0x8) // Used to force an AP abort
+#define DPACC (0xA) // DP IR dpacc
+#define APACC (0xB) // AP IR apacc
+#define IDCODE (0xE) // JTAG-DP TAP identification
+#define BYPASS (0xF) // Bypasses the device, by providing a direct path between DBGTDI and DBGTDO.
+
+// DP_SELECT Register bits
+#define DP_SELECT_APBANKSEL_MASK (0x000000F0) // APBANKSEL Mask
+#define DP_SELECT_APSEL_MASK (0xFF000000) // APBANKSEL Mask
+
+// SWD register access
+#define SWD_AP (1)
+#define SWD_DP (0)
+
+// SWD register access
+#define SWD_AP (1)
+#define SWD_DP (0)
+
#endif /* _JTAG_defs_H_ */
diff --git a/Bios/src/hal/UifHal.h b/Bios/src/hal/UifHal.h
deleted file mode 100644
index 2d6cf63..0000000
--- a/Bios/src/hal/UifHal.h
+++ /dev/null
@@ -1,2623 +0,0 @@
-/*
- * UIFHal.h
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* http://srecord.sourceforge.net/ */
-const unsigned short halImage[] =
-{
-0xD75E, 0x45DE, 0x2918, 0xC48C, 0x8205, 0x0004, 0x0000, 0x0000, 0x0000,
-0xDA36, 0x0001, 0xD92C, 0x0002, 0xD15A, 0x0003, 0xCE0E, 0x0004, 0xCBBE,
-0x0005, 0x9C78, 0x0006, 0xD994, 0x0007, 0xAAE4, 0x0008, 0xD126, 0x0009,
-0xCEEE, 0x000A, 0xBABA, 0x000B, 0xAF0E, 0x000C, 0x95DC, 0x000D, 0xD4A4,
-0x000E, 0xD8CC, 0x000F, 0xD5E8, 0x0010, 0xB8CA, 0x0011, 0x6676, 0x0012,
-0x4F68, 0x0013, 0x5F3A, 0x0014, 0xAD68, 0x0015, 0xA18C, 0x0016, 0x9942,
-0x0017, 0x9F8E, 0x0018, 0xA474, 0x0019, 0xC50C, 0x001A, 0xC5FC, 0x001B,
-0x8222, 0x001C, 0xC060, 0x001D, 0xBE36, 0x001E, 0xA566, 0x001F, 0x3838,
-0x0020, 0x2F0E, 0x0021, 0xC960, 0x0022, 0xC946, 0x0023, 0x8D64, 0x0024,
-0x8D5C, 0x0025, 0x910C, 0x0026, 0x5CB6, 0x0027, 0x54EC, 0x0028, 0x7102,
-0x0029, 0xAA04, 0x002A, 0xB178, 0x002B, 0x9248, 0x002C, 0x9B6C, 0x002D,
-0xA658, 0x002E, 0xBEC2, 0x002F, 0x7BA2, 0x0030, 0xB972, 0x0031, 0xB610,
-0x0032, 0x8FCC, 0x0033, 0x33D4, 0x0034, 0xC916, 0x0035, 0x8D52, 0x0036,
-0x8BF4, 0x0037, 0xA748, 0x0038, 0xC588, 0x0039, 0x6CF6, 0x003A, 0x40B0,
-0x003B, 0x68C8, 0x003C, 0xBFD6, 0x003D, 0xB3D4, 0x003E, 0xB30C, 0x003F,
-0xB81C, 0x0040, 0x74AC, 0x0041, 0xA380, 0x0042, 0xB0AC, 0x0043, 0x8944,
-0x0044, 0x485A, 0x0045, 0x9A5A, 0x0046, 0x9D84, 0x0047, 0x79EE, 0x0048,
-0x523E, 0x0049, 0x5790, 0x004A, 0xAE3C, 0x004B, 0xCAE6, 0x004C, 0xBA1A,
-0x004D, 0x7EFE, 0x004E, 0xA920, 0x004F, 0x6F06, 0xAFDE, 0x46F0, 0x406E,
-0x3F54, 0x3F34, 0x3EFC, 0x3DC2, 0xD8C4, 0xD1EA, 0xD1BA, 0x4762, 0x8678,
-0x4534, 0x452C, 0x4526, 0x4520, 0x4516, 0x450E, 0x44CA, 0x448E, 0xDA10,
-0x5555, 0x5555, 0x1711, 0x1711, 0x1B16, 0x1711, 0x0108, 0x0402, 0x0030,
-0x0031, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000,
-0x0120, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000, 0x0000, 0x0120,
-0x5A80, 0x0000, 0x0000, 0x015C, 0x5A80, 0x0000, 0x0000, 0x015C, 0x5A80,
-0x0000, 0x0000, 0x015C, 0x5A80, 0x0000, 0x0000, 0x0120, 0x5A80, 0x0000,
-0x0000, 0x015C, 0x5A80, 0x0000, 0x0000, 0x015C, 0x5A83, 0x0000, 0x0000,
-0x0120, 0x5A80, 0x0120, 0x5A80, 0x015C, 0x5A80, 0x0000, 0x0000, 0x0000,
-0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0900, 0x0301, 0x0705, 0x0281,
-0x0000, 0x0000, 0xFF04, 0x0FFF, 0x0600, 0x0001, 0x0000, 0x0180, 0x0000,
-0x0000, 0x0000, 0x0000, 0x0109, 0x0503, 0x8107, 0x0002, 0x0000, 0x0400,
-0xFFFF, 0x000F, 0x0106, 0x0000, 0x8000, 0x0001, 0x0000, 0x0000, 0x0000,
-0x0A00, 0x0A02, 0x020A, 0x0A0A, 0x0A02, 0x0008, 0x0808, 0x0800, 0x020A,
-0x080A, 0x0800, 0x0008, 0x0108, 0x0109, 0x0009, 0x0008, 0x0308, 0x030B,
-0x020B, 0x020A, 0x010A, 0x0009, 0x0008, 0x0308, 0x020B, 0x020A, 0x010A,
-0x0009, 0x0308, 0x020B, 0xFF0A, 0x40B2, 0x5A80, 0x0120, 0xC232, 0x40F2,
-0x0087, 0x0057, 0x45C2, 0x0056, 0x46C2, 0x0057, 0x43C2, 0x0058, 0xEA0A,
-0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x40B2, 0x5A80,
-0x0120, 0xC232, 0xD072, 0x0040, 0x4032, 0x0040, 0x40F2, 0x0080, 0x0052,
-0x43C2, 0x0050, 0x45C2, 0x0051, 0x40F2, 0x0080, 0x0053, 0x43C2, 0x0054,
-0xEA0A, 0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF, 0x0001,
-0x0A00, 0x401E, 0x8B60, 0x8D8C, 0x8F8E, 0x8890, 0x9291, 0x9493, 0x9695,
-0x7574, 0x7776, 0x9897, 0x9A99, 0x9C9B, 0x9E9D, 0x289F, 0x2A29, 0x2C2B,
-0x2E2D, 0x302F, 0x8A8A, 0xA8A8, 0xB5B0, 0xBDBC, 0xBFBE, 0xC1C0, 0xD5D4,
-0xD6D6, 0x8ED8, 0x318F, 0xFF01, 0x1204, 0x1205, 0x1206, 0x1207, 0x1208,
-0x1209, 0x120A, 0x120B, 0x120C, 0x120D, 0x120E, 0x120F, 0x403C, 0x139A,
-0x403D, 0x017A, 0x12B0, 0xD346, 0x403C, 0x128E, 0x403D, 0x2876, 0x403E,
-0x00A1, 0x12B0, 0xDA32, 0x413F, 0x413E, 0x413D, 0x413C, 0x413B, 0x413A,
-0x4139, 0x4138, 0x4137, 0x4136, 0x4135, 0x4134, 0x4030, 0xC48C, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8221, 0xB2D2,
-0x2780, 0x1100, 0x2404, 0x40B2, 0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x403A, 0x150C, 0x403B,
-0x1504, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0x4259, 0x277E, 0x4946,
-0xE376, 0x4218, 0x2784, 0xF6C8, 0x0000, 0xD9C8, 0x0000, 0xD232, 0x4B27,
-0xEAE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B27, 0xEAE7, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B27, 0xEAE7, 0x0000, 0x4C81, 0x0000, 0x4D81, 0x0002,
-0x4304, 0x4305, 0x430C, 0x430D, 0x430E, 0x403F, 0x8000, 0xBC81, 0x0000,
-0x2019, 0xBD81, 0x0002, 0x240D, 0x3C15, 0xB31C, 0x2BF7, 0xBC81, 0x0000,
-0x2003, 0xBD81, 0x0002, 0x240A, 0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2,
-0x0010, 0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2,
-0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303,
-0xF6C8, 0x0000, 0x5404, 0x6505, 0x4217, 0x2782, 0xB2D7, 0x2781, 0x0000,
-0x2002, 0x4347, 0x3C01, 0x4357, 0xD704, 0xD9C8, 0x0000, 0xD232, 0x4B27,
-0xEAE7, 0x0000, 0xC312, 0x100F, 0x100E, 0x100D, 0x100C, 0x4C07, 0xDD07,
-0xDE07, 0xDF07, 0x9307, 0x23C2, 0xB2D2, 0x2780, 0x1100, 0x241E, 0x40B2,
-0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF,
-0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8, 0x0000, 0xD232, 0x4B2F,
-0xEAEF, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4B2F, 0xEAEF, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392,
-0x01F0, 0x4B2F, 0xEAEF, 0x0000, 0xC232, 0x4303, 0xF6C8, 0x0000, 0xD9C8,
-0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0x440C, 0x450D, 0x430E, 0x430F,
-0x5221, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x120D, 0x120C, 0xB2D2, 0x2780, 0x1100, 0x2404, 0x40B2,
-0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x403A, 0x150C, 0x403B, 0x1504, 0x4B2F, 0xEAEF, 0x0000,
-0xC232, 0x4303, 0x4258, 0x277E, 0x4846, 0xE376, 0x4219, 0x2784, 0xF6C9,
-0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0x40B2, 0x2845,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000,
-0xC232, 0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000,
-0xC232, 0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF,
-0x0000, 0x4304, 0x4305, 0x430C, 0x403D, 0x8000, 0xBC81, 0x0000, 0x2019,
-0xBD81, 0x0002, 0x240D, 0x3C15, 0xB31C, 0x2BF7, 0xBC81, 0x0000, 0x2003,
-0xBD81, 0x0002, 0x240A, 0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2, 0x0010,
-0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4B27, 0xEAE7, 0x0000, 0xC232, 0x4303, 0xF6C9,
-0x0000, 0x5404, 0x6505, 0x4217, 0x2782, 0xB2D7, 0x2781, 0x0000, 0x2002,
-0x4347, 0x3C01, 0x4357, 0xD704, 0xD8C9, 0x0000, 0xD232, 0x4B27, 0xEAE7,
-0x0000, 0xC312, 0x100D, 0x100C, 0x4C07, 0xDD07, 0x9307, 0x23C6, 0xB2D2,
-0x2780, 0x1100, 0x241E, 0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000, 0xC232, 0x4303, 0xF6C9, 0x0000,
-0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000, 0x40B2, 0x2845, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4B2F, 0xEAEF, 0x0000, 0xC232,
-0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000,
-0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4B2F, 0xEAEF, 0x0000, 0xC232,
-0x4303, 0xF6C9, 0x0000, 0xD8C9, 0x0000, 0xD232, 0x4B2F, 0xEAEF, 0x0000,
-0x440C, 0x450D, 0x3F13, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x120D, 0x120C, 0xB2D2, 0x2780, 0x1100, 0x2404, 0x40B2,
-0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x403F, 0x150C, 0x403E, 0x1504, 0x4E2B, 0xEFEB, 0x0000,
-0xC232, 0x4303, 0x425A, 0x277E, 0x421B, 0x2784, 0xCACB, 0x0000, 0xDACB,
-0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2,
-0x0010, 0x01E8, 0xD392, 0x01E8, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303,
-0xCACB, 0x0000, 0xDACB, 0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0xD0B2,
-0x0010, 0x01E8, 0xD392, 0x01E8, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303,
-0xCACB, 0x0000, 0xDACB, 0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0x430C,
-0x430D, 0x4304, 0x4235, 0xB481, 0x0000, 0x2019, 0xB581, 0x0002, 0x240D,
-0x3C15, 0xB314, 0x2BF7, 0xB481, 0x0000, 0x2003, 0xB581, 0x0002, 0x240A,
-0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0,
-0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4E28, 0xEFE8, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000, 0x5C0C, 0x6D0D,
-0x4218, 0x2782, 0xB2D8, 0x2781, 0x0000, 0x2002, 0x4348, 0x3C01, 0x4358,
-0xD80C, 0xDACB, 0x0000, 0xD232, 0x4E28, 0xEFE8, 0x0000, 0xC312, 0x1005,
-0x1004, 0x4408, 0xD508, 0x9308, 0x23C6, 0xB2D2, 0x2780, 0x1100, 0x241E,
-0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4E27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000, 0xDACB, 0x0000, 0xD232,
-0x4E27, 0xEFE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000,
-0xDACB, 0x0000, 0xD232, 0x4E27, 0xEFE7, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x4E27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xCACB, 0x0000,
-0xDACB, 0x0000, 0xD232, 0x4E2B, 0xEFEB, 0x0000, 0x4C0F, 0xC312, 0x100D,
-0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D, 0xF03D,
-0x000F, 0x3E21, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x120C, 0x8031, 0x0034, 0x4381, 0x0006, 0x4381, 0x000C, 0x4381,
-0x000A, 0x40B1, 0x0BB8, 0x0004, 0x403A, 0x1360, 0x403B, 0x1358, 0x4038,
-0x1354, 0x4074, 0x0042, 0x4075, 0x0021, 0x4037, 0x2401, 0x4079, 0x00C8,
-0x4076, 0x0082, 0xB31C, 0x29A9, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD8BC,
-0x2404, 0x403C, 0xFFFE, 0x4030, 0x33CC, 0x403C, 0x142C, 0x12B0, 0xD8BC,
-0x2404, 0x403C, 0xFFFD, 0x4030, 0x33CC, 0x403C, 0x1432, 0x12B0, 0xD8BC,
-0x2404, 0x403C, 0xFFFC, 0x4030, 0x33CC, 0x403C, 0x1428, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2404, 0x403C, 0xFFFB, 0x4030, 0x33CC, 0x403C,
-0x1424, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2404, 0x403C, 0xFFFA,
-0x4030, 0x33CC, 0x403C, 0x1430, 0x12B0, 0xD8BC, 0x2403, 0x403C, 0xFFF9,
-0x3DFD, 0x403C, 0x142E, 0x12B0, 0xD8E4, 0x2003, 0x403C, 0xFFF8, 0x3DF5,
-0x403C, 0x1436, 0x12B0, 0xD8E4, 0x27F8, 0x403C, 0x1434, 0x12B0, 0xD8E4,
-0x27F3, 0x464C, 0x12A8, 0x403C, 0x4030, 0x12B0, 0x8E8E, 0x403C, 0x0C04,
-0x12B0, 0x8E8E, 0x12B0, 0x8F56, 0x435C, 0x12AA, 0x4381, 0x0000, 0x412F,
-0x5F0F, 0x4F81, 0x0002, 0x421F, 0x1432, 0x511F, 0x0002, 0x4F81, 0x0008,
-0x12B0, 0x8E8A, 0x12B0, 0x8F96, 0x411C, 0x0008, 0x12B0, 0x8F1A, 0x411F,
-0x0002, 0x4C8F, 0x13C4, 0x12B0, 0xD8EC, 0x5391, 0x0000, 0x90B1, 0x0030,
-0x0000, 0x3BE2, 0x12B0, 0x8EEE, 0x403C, 0x4582, 0x12B0, 0x8F26, 0x4C82,
-0x1438, 0x12B0, 0x8EE6, 0x403C, 0x4682, 0x12B0, 0x8F26, 0x4C82, 0x143A,
-0x12B0, 0x8EE6, 0x403C, 0x4982, 0x12B0, 0x8F26, 0x4C82, 0x143C, 0x12B0,
-0x8EE6, 0x403C, 0x4882, 0x12B0, 0x8F26, 0x4C82, 0x143E, 0x12B0, 0x8EE6,
-0x403C, 0x4A82, 0x12B0, 0x8F26, 0x4C82, 0x1440, 0x12B0, 0x8EE6, 0x403C,
-0x4B82, 0x12B0, 0x8F26, 0x4C82, 0x1442, 0x12B0, 0x8EE6, 0x403C, 0x4C82,
-0x12B0, 0x8F26, 0x4C82, 0x1444, 0x12B0, 0x8EDA, 0x12B0, 0x8EB8, 0x403C,
-0x0128, 0x12B0, 0x8F1A, 0x4C82, 0x1446, 0x12B0, 0x8EDA, 0x454C, 0x12A8,
-0x12B0, 0x8EB8, 0x403C, 0x012A, 0x12B0, 0x8F1A, 0x4C82, 0x1448, 0x12B0,
-0x8F02, 0x4C82, 0x144A, 0x12B0, 0xD8EC, 0xE0B2, 0x3300, 0x1446, 0xE0B2,
-0x3300, 0x1448, 0xE0B2, 0x3300, 0x144A, 0x12B0, 0x8F5E, 0x403C, 0xA544,
-0x12B0, 0x8EC8, 0x12B0, 0x8FA6, 0x12B0, 0x8EFC, 0x4C81, 0x0000, 0x12B0,
-0xD8EC, 0x91E2, 0x142E, 0x2404, 0x12B0, 0x8FA6, 0x12B0, 0x8EC4, 0x410C,
-0x503C, 0x000E, 0x403E, 0x0007, 0x12B0, 0xD494, 0x4291, 0x1428, 0x000E,
-0x4291, 0x1424, 0x0010, 0x4291, 0x1430, 0x0012, 0x4291, 0x142E, 0x0014,
-0x4291, 0x1436, 0x0018, 0x4291, 0x1434, 0x001A, 0x410C, 0x503C, 0x000E,
-0x12B0, 0xA096, 0x12B0, 0x8EEE, 0x403C, 0x4032, 0x12B0, 0xD6D6, 0x430C,
-0x12B0, 0x8EA8, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F, 0x240B, 0x9382,
-0x1380, 0x2408, 0x407C, 0x0090, 0x12A8, 0x403C, 0x0088, 0x12AB, 0x431C,
-0x12AB, 0x12B0, 0x8F42, 0x12B0, 0x8E94, 0x12B0, 0xD8A8, 0x53B1, 0x0004,
-0x421E, 0x1432, 0x4E0F, 0x503F, 0x0020, 0x9F0C, 0x2805, 0x4E0F, 0x503F,
-0x0026, 0x9C0F, 0x2C03, 0x9381, 0x0004, 0x23ED, 0x4E0C, 0x12B0, 0xABBC,
-0x3C68, 0x410C, 0x503C, 0x000A, 0x12B0, 0xD8D4, 0x4C81, 0x0006, 0x12B0,
-0x8F96, 0x411C, 0x0002, 0x12B0, 0x8FBC, 0x411C, 0x000A, 0x12B0, 0x8E8E,
-0x53A1, 0x0002, 0x9191, 0x0008, 0x0002, 0x2C03, 0x9381, 0x0006, 0x27E6,
-0x12B0, 0xD8EC, 0x411F, 0x0002, 0x821F, 0x1432, 0x503F, 0xFFA0, 0xC312,
-0x100F, 0x4F81, 0x0000, 0x12B0, 0x8EEE, 0x403C, 0x4036, 0x12B0, 0xD6D6,
-0x412C, 0x12B0, 0xD6D6, 0x12B0, 0xD5A2, 0x435C, 0x12AA, 0x12B0, 0x8EE6,
-0x403C, 0x4035, 0x12B0, 0xD6D6, 0x421C, 0x1428, 0x12B0, 0x8EA8, 0x412E,
-0x5E0E, 0x5E82, 0x1428, 0x6382, 0x142A, 0x412E, 0x8E82, 0x1424, 0x7382,
-0x1426, 0x12B0, 0x8F42, 0x503C, 0x0028, 0x12B0, 0x8E94, 0x40B1, 0x0BB8,
-0x0004, 0x12B0, 0xD8A8, 0x53B1, 0x0004, 0x421F, 0x1432, 0x503F, 0x005C,
-0x9F0C, 0x2403, 0x9381, 0x0004, 0x23F3, 0x421C, 0x1432, 0x12B0, 0xABBC,
-0x9381, 0x0004, 0x2003, 0x40B1, 0xFFF7, 0x0006, 0x421F, 0x1424, 0xD21F,
-0x1426, 0x930F, 0x2424, 0x9381, 0x0006, 0x2021, 0x9381, 0x0004, 0x241E,
-0x421F, 0x1432, 0x503F, 0x0060, 0x4F81, 0x0002, 0x421C, 0x1424, 0x421D,
-0x1426, 0x5C0C, 0x6D0D, 0x421E, 0x142C, 0x930D, 0x2003, 0x9E0C, 0x2C01,
-0x4C0E, 0x5F0E, 0x4E81, 0x0008, 0x12B0, 0x8E8A, 0x494C, 0x12A8, 0x403C,
-0x2408, 0x12AB, 0x3F81, 0xB3A1, 0x0034, 0x2C03, 0x9391, 0x0006, 0x2452,
-0x410C, 0x503C, 0x001C, 0x403E, 0x2796, 0x423D, 0x12B0, 0xD454, 0x410F,
-0x503F, 0x0024, 0x120F, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x001E,
-0x4214, 0x1112, 0x1294, 0x000E, 0x403C, 0x0003, 0x1292, 0x1190, 0x410C,
-0x503C, 0x0026, 0x421F, 0x1112, 0x129F, 0x0010, 0x403C, 0x1438, 0x12B0,
-0xA096, 0x12B0, 0x8E8A, 0x12B0, 0x8F8A, 0x403C, 0x0128, 0x12B0, 0x8FBC,
-0x421C, 0x1446, 0x12B0, 0x8EC8, 0x12B0, 0x8F5E, 0x421C, 0x1448, 0x12B0,
-0x8EC8, 0x12B0, 0x8F9C, 0x12B0, 0x8EFC, 0x4C44, 0x12B0, 0xD8EC, 0x5321,
-0x94C2, 0x144A, 0x2404, 0x12B0, 0x8F9C, 0x12B0, 0x8EC4, 0xB3A1, 0x0034,
-0x2806, 0x430C, 0x421F, 0x1112, 0x129F, 0x0008, 0x3C0F, 0x9391, 0x0006,
-0x2009, 0x407C, 0x0091, 0x421F, 0x1112, 0x129F, 0x0012, 0x4381, 0x0006,
-0x3C03, 0x40B1, 0xFFF6, 0x0006, 0x411C, 0x0006, 0x5031, 0x0036, 0x4030,
-0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205,
-0x120C, 0x8031, 0x0042, 0x4381, 0x0006, 0x4381, 0x000C, 0x4381, 0x000A,
-0x40B1, 0x0BB8, 0x0004, 0x4037, 0x1356, 0x403A, 0x1360, 0x403B, 0x1358,
-0x4038, 0x1354, 0x4075, 0x0021, 0x4079, 0x00C8, 0x4076, 0x0082, 0x4074,
-0x0088, 0xB31C, 0x2931, 0x410C, 0x503C, 0x000C, 0x12B0, 0xD94C, 0x2403,
-0x403C, 0xFFFE, 0x3DFF, 0x403C, 0x1456, 0x12B0, 0xD94C, 0x2403, 0x403C,
-0xFFFD, 0x3DF7, 0x403C, 0x145C, 0x12B0, 0xD94C, 0x2403, 0x403C, 0xFFFC,
-0x3DEF, 0x403C, 0x1452, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFFB, 0x3DE4, 0x403C, 0x144C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x930C, 0x2403, 0x403C, 0xFFFA, 0x3DD9, 0x403C, 0x145A, 0x12B0, 0xD94C,
-0x2403, 0x403C, 0xFFF9, 0x3DD1, 0x403C, 0x1458, 0x12B0, 0xD924, 0x2003,
-0x403C, 0xFFF8, 0x3DC9, 0x403C, 0x1460, 0x12B0, 0xD924, 0x27F8, 0x403C,
-0x145E, 0x12B0, 0xD924, 0x27F3, 0x12B0, 0x5A32, 0x403C, 0x0560, 0x12B0,
-0x5A9C, 0x4E82, 0x1462, 0x4F82, 0x1464, 0x12B0, 0x5A32, 0x403C, 0x0660,
-0x12B0, 0x5A7E, 0x4E82, 0x1466, 0x4F82, 0x1468, 0x12B0, 0x5A32, 0x403C,
-0x0960, 0x12B0, 0x5A9C, 0x4E82, 0x146A, 0x4F82, 0x146C, 0x12B0, 0x5A32,
-0x403C, 0x0860, 0x12B0, 0x5A7E, 0x4E82, 0x146E, 0x4F82, 0x1470, 0x12B0,
-0x5A32, 0x403C, 0x0A60, 0x12B0, 0x5A9C, 0x4E82, 0x1472, 0x4F82, 0x1474,
-0x12B0, 0x5A32, 0x403C, 0x0B60, 0x12B0, 0x5A7E, 0x4E82, 0x1476, 0x4F82,
-0x1478, 0x12B0, 0x5A32, 0x403C, 0x0C60, 0x12B0, 0x5A9C, 0x4E82, 0x147A,
-0x4F82, 0x147C, 0x12B0, 0x5A42, 0x12B0, 0x5A24, 0x403C, 0x0128, 0x12B0,
-0x5A4A, 0x4C82, 0x147E, 0x12B0, 0x5B48, 0x12B0, 0x5A24, 0x403C, 0x012A,
-0x12B0, 0x5A4A, 0x4C82, 0x1480, 0x12B0, 0x5BC2, 0x4C82, 0x1482, 0x12B0,
-0x5B38, 0xE0B2, 0x3300, 0x147E, 0xE0B2, 0x3300, 0x1480, 0xE0B2, 0x3300,
-0x1482, 0x12B0, 0x5A5C, 0x403C, 0x012A, 0x12B0, 0x5C46, 0x403C, 0xA544,
-0x12B0, 0x5B32, 0x12B0, 0x5B48, 0x12B0, 0x5C60, 0x12B0, 0x5A24, 0x12B0,
-0x5A2A, 0x421C, 0x1458, 0x12B0, 0x5B32, 0x12B0, 0x5BC2, 0x4C81, 0x0000,
-0x12B0, 0x5B38, 0x91E2, 0x1458, 0x2408, 0x12B0, 0x5A5C, 0x12B0, 0x5A2A,
-0x421C, 0x1458, 0x12B0, 0x5B26, 0x410C, 0x503C, 0x0016, 0x403E, 0x000E,
-0x12B0, 0xD494, 0x4291, 0x1452, 0x0016, 0x4291, 0x1454, 0x0018, 0x4291,
-0x144C, 0x001A, 0x4291, 0x144E, 0x001C, 0x4291, 0x145A, 0x001E, 0x4381,
-0x0020, 0x4291, 0x1458, 0x0022, 0x4381, 0x0024, 0x4291, 0x1460, 0x002A,
-0x4381, 0x002C, 0x4291, 0x145E, 0x002E, 0x4381, 0x0030, 0x410C, 0x503C,
-0x0016, 0x12B0, 0x9702, 0x12B0, 0x5AE2, 0x460C, 0x12B0, 0x5A56, 0x430C,
-0x12B0, 0x5A66, 0x4291, 0x145C, 0x0000, 0x12B0, 0x5B76, 0x494C, 0x12A8,
-0x403C, 0x0401, 0x12AB, 0x454C, 0x12A8, 0x407C, 0x00A8, 0x12A8, 0x12B0,
-0x5AFA, 0x503E, 0x0022, 0x430F, 0x930D, 0x2002, 0x9E0C, 0x2809, 0x421E,
-0x145C, 0x503E, 0x002C, 0x9D0F, 0x2803, 0x2005, 0x9C0E, 0x2C03, 0x9381,
-0x0004, 0x23EB, 0x421F, 0x144C, 0xD21F, 0x144E, 0x930F, 0x2492, 0x9381,
-0x0006, 0x208F, 0x9381, 0x0004, 0x248C, 0x421F, 0x145C, 0x503F, 0x006C,
-0x4F81, 0x0008, 0x421C, 0x144C, 0x421D, 0x144E, 0x5C0C, 0x6D0D, 0x421E,
-0x1456, 0x930D, 0x2003, 0x9E0C, 0x2C01, 0x4C0E, 0x5F0E, 0x4E81, 0x0002,
-0x421F, 0x145C, 0x503F, 0x0068, 0x12B0, 0x5B72, 0x12B0, 0x5A42, 0x407C,
-0x0048, 0x12A8, 0x423C, 0x12AB, 0x3C13, 0x410C, 0x503C, 0x000A, 0x12B0,
-0xD944, 0x4C81, 0x0006, 0x12B0, 0x5A24, 0x411C, 0x0008, 0x12B0, 0x5C46,
-0x411C, 0x000A, 0x12B0, 0x5B6C, 0x53A1, 0x0008, 0x9191, 0x0002, 0x0008,
-0x2C03, 0x9381, 0x0006, 0x27E6, 0x12B0, 0x5B38, 0x411F, 0x0008, 0x821F,
-0x145C, 0x503F, 0xFF94, 0xC312, 0x100F, 0x4F81, 0x0002, 0x12B0, 0x5AE2,
-0x403C, 0x0086, 0x12B0, 0x5A56, 0x411C, 0x0002, 0x12B0, 0x5A66, 0x421C,
-0x1452, 0x421D, 0x1454, 0x12B0, 0x5B3E, 0xD03C, 0x0085, 0x4C81, 0x0000,
-0x12B0, 0x5AE2, 0x412C, 0x12B0, 0x5A56, 0x421C, 0x1452, 0x12B0, 0x5A66,
-0x411E, 0x0002, 0x5E0E, 0x5E82, 0x1452, 0x6382, 0x1454, 0x411E, 0x0002,
-0x8E82, 0x144C, 0x7382, 0x144E, 0x421F, 0x145C, 0x503F, 0x002E, 0x12B0,
-0x5B72, 0x407C, 0x00A8, 0x12A8, 0x40B1, 0x0BB8, 0x0004, 0x12B0, 0x5AFA,
-0x503E, 0x0068, 0x9E0C, 0x2002, 0x930D, 0x276C, 0x9381, 0x0004, 0x23F5,
-0x3F68, 0xB3A1, 0x0042, 0x2819, 0x410C, 0x503C, 0x000E, 0x403E, 0x279E,
-0x12B0, 0xD586, 0x120F, 0x12B0, 0xD298, 0x12B0, 0x5BC8, 0x5321, 0x91E2,
-0x1482, 0x2402, 0x12B0, 0x5B16, 0x421C, 0x1450, 0x421F, 0x1112, 0x129F,
-0x0008, 0x3C21, 0x9391, 0x0006, 0x2009, 0x407C, 0x0091, 0x421F, 0x1112,
-0x129F, 0x0012, 0x4381, 0x0006, 0x3C15, 0x410C, 0x503C, 0x000E, 0x403E,
-0x27A6, 0x12B0, 0xD586, 0x120F, 0x12B0, 0xD298, 0x12B0, 0x5BC8, 0x5321,
-0x91E2, 0x1482, 0x2402, 0x12B0, 0x5B16, 0x40B1, 0xFFF6, 0x0006, 0x411C,
-0x0006, 0x5031, 0x0044, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x120C, 0x8031, 0x0032, 0x4381, 0x0004,
-0x4381, 0x000A, 0x4381, 0x0008, 0x40B1, 0x0BB8, 0x0000, 0x403A, 0x1360,
-0x403B, 0x1358, 0x4038, 0x1354, 0x4074, 0x0021, 0x4037, 0x2401, 0x4075,
-0x0042, 0x4079, 0x0082, 0x4076, 0x00C8, 0xB31C, 0x2926, 0x410C, 0x503C,
-0x000A, 0x12B0, 0x80B0, 0x2403, 0x403C, 0xFFFE, 0x3DFA, 0x403C, 0x13A4,
-0x12B0, 0x80B0, 0x2403, 0x403C, 0xFFFD, 0x3DF2, 0x403C, 0x13AA, 0x12B0,
-0x80B0, 0x2403, 0x403C, 0xFFFC, 0x3DEA, 0x403C, 0x13A0, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFB, 0x3DDF, 0x403C, 0x139A,
-0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA, 0x3DD4,
-0x403C, 0x13A8, 0x12B0, 0x80B0, 0x2403, 0x403C, 0xFFF9, 0x3DCC, 0x403C,
-0x13A6, 0x12B0, 0x80A0, 0x2003, 0x403C, 0xFFF8, 0x3DC4, 0x403C, 0x13AE,
-0x12B0, 0x80A0, 0x27F8, 0x403C, 0x13AC, 0x12B0, 0x80A0, 0x27F3, 0x12B0,
-0xD314, 0x403C, 0x4582, 0x12B0, 0x8100, 0x4C82, 0x13B0, 0x12B0, 0xD310,
-0x403C, 0x4682, 0x12B0, 0x8100, 0x4C82, 0x13B2, 0x12B0, 0xD310, 0x403C,
-0x4982, 0x12B0, 0x8100, 0x4C82, 0x13B4, 0x12B0, 0xD310, 0x403C, 0x4882,
-0x12B0, 0x8100, 0x4C82, 0x13B6, 0x12B0, 0xD310, 0x403C, 0x4A82, 0x12B0,
-0x8100, 0x4C82, 0x13B8, 0x12B0, 0xD310, 0x403C, 0x4B82, 0x12B0, 0x8100,
-0x4C82, 0x13BA, 0x12B0, 0xD310, 0x403C, 0x4C82, 0x12B0, 0x8100, 0x4C82,
-0x13BC, 0x12B0, 0x812C, 0x12B0, 0x809A, 0x403C, 0x0128, 0x12B0, 0x80B8,
-0x4C82, 0x13BE, 0x12B0, 0x8174, 0x12B0, 0x8130, 0x12B0, 0x809A, 0x403C,
-0x012A, 0x12B0, 0x80B8, 0x4C82, 0x13C0, 0x12B0, 0x815E, 0x4C82, 0x13C2,
-0x12B0, 0x8174, 0xE0B2, 0x3300, 0x13BE, 0xE0B2, 0x3300, 0x13C0, 0xE0B2,
-0x3300, 0x13C2, 0x12B0, 0x8130, 0x12B0, 0xD646, 0x12B0, 0x809A, 0x403C,
-0x012A, 0x12B0, 0x8184, 0x403C, 0xA544, 0x12B0, 0x8146, 0x12B0, 0x8154,
-0x12B0, 0x814E, 0x12B0, 0x815E, 0x4C81, 0x0002, 0x12B0, 0x8174, 0x91D2,
-0x0002, 0x13A6, 0x2406, 0x12B0, 0x8154, 0xD03C, 0x0040, 0x12B0, 0x8146,
-0x410C, 0x503C, 0x0014, 0x403E, 0x0007, 0x12B0, 0xD494, 0x4291, 0x13A0,
-0x0014, 0x4291, 0x139A, 0x0016, 0x4291, 0x13A8, 0x0018, 0x4291, 0x13A6,
-0x001A, 0x4291, 0x13AE, 0x001E, 0x4291, 0x13AC, 0x0020, 0x410C, 0x503C,
-0x0014, 0x12B0, 0xB49C, 0x12B0, 0xD314, 0x403C, 0x4032, 0x12B0, 0x80F8,
-0x430C, 0x12B0, 0x8114, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F, 0x240B,
-0x9382, 0x1380, 0x2408, 0x407C, 0x0090, 0x12A8, 0x403C, 0x0088, 0x12AB,
-0x431C, 0x12AB, 0x12B0, 0xD2AC, 0x12AB, 0x9382, 0x1506, 0x2402, 0x12B0,
-0x80DC, 0x12B0, 0x80E4, 0x12B0, 0x811C, 0x435C, 0x12B0, 0x8200, 0x403C,
-0x0401, 0x12AB, 0x444C, 0x12A8, 0x407C, 0x00A8, 0x12A8, 0x12B0, 0x80C4,
-0x503F, 0x0020, 0x9F0C, 0x2806, 0x421F, 0x13AA, 0x503F, 0x0026, 0x9C0F,
-0x2C03, 0x9381, 0x0000, 0x23F1, 0x421F, 0x139A, 0xD21F, 0x139C, 0x930F,
-0x2498, 0x9381, 0x0004, 0x2095, 0x9381, 0x0000, 0x2492, 0x421F, 0x13AA,
-0x503F, 0x0060, 0x4F81, 0x0006, 0x421C, 0x139A, 0x421D, 0x139C, 0x5C0C,
-0x6D0D, 0x421E, 0x13A4, 0x930D, 0x2003, 0x9E0C, 0x2C01, 0x4C0E, 0x5F0E,
-0x4E81, 0x0002, 0x12B0, 0xD2AC, 0x503C, 0x005C, 0x12AB, 0x9382, 0x1506,
-0x2402, 0x12B0, 0x80DC, 0x12B0, 0x80E4, 0x12B0, 0x812C, 0x464C, 0x12A8,
-0x403C, 0x2408, 0x12AB, 0x3C14, 0x410C, 0x523C, 0x12B0, 0x80A8, 0x4C81,
-0x0004, 0x12B0, 0x809A, 0x411C, 0x0006, 0x12B0, 0x8184, 0x411C, 0x0008,
-0x12B0, 0x814E, 0x434C, 0x12AA, 0x53A1, 0x0006, 0x9191, 0x0002, 0x0006,
-0x2C03, 0x9381, 0x0004, 0x27E5, 0x12B0, 0x8174, 0x411F, 0x0006, 0x821F,
-0x13AA, 0x503F, 0xFFA0, 0xC312, 0x100F, 0x4F81, 0x0002, 0x12B0, 0xD314,
-0x403C, 0x4036, 0x12B0, 0x80F8, 0x411C, 0x0002, 0x12B0, 0x80F8, 0x12B0,
-0xD36A, 0x12B0, 0xD310, 0x403C, 0x4035, 0x12B0, 0x80F8, 0x421C, 0x13A0,
-0x12B0, 0x8114, 0x411E, 0x0002, 0x5E0E, 0x5E82, 0x13A0, 0x6382, 0x13A2,
-0x411E, 0x0002, 0x8E82, 0x139A, 0x7382, 0x139C, 0x12B0, 0xD2AC, 0x503C,
-0x0028, 0x12AB, 0x9382, 0x1506, 0x2402, 0x12B0, 0x80DC, 0x12B0, 0x80E4,
-0x12B0, 0x811C, 0x407C, 0x00A8, 0x12A8, 0x40B1, 0x0BB8, 0x0000, 0x12B0,
-0x80C4, 0x503F, 0x005C, 0x9F0C, 0x2766, 0x9381, 0x0000, 0x23F7, 0x3F62,
-0xB3A1, 0x0032, 0x2819, 0x410C, 0x503C, 0x000C, 0x403E, 0x2786, 0x12B0,
-0xD5DA, 0x120F, 0x12B0, 0xD2D4, 0x12B0, 0x818C, 0x5321, 0x91E2, 0x13C2,
-0x2402, 0x12B0, 0x8164, 0x421C, 0x139E, 0x421F, 0x1112, 0x129F, 0x0008,
-0x3C21, 0x9391, 0x0004, 0x2009, 0x407C, 0x0091, 0x421F, 0x1112, 0x129F,
-0x0012, 0x4381, 0x0004, 0x3C15, 0x410C, 0x503C, 0x000C, 0x403E, 0x278E,
-0x12B0, 0xD5DA, 0x120F, 0x12B0, 0xD2D4, 0x12B0, 0x818C, 0x5321, 0x91E2,
-0x13C2, 0x2402, 0x12B0, 0x8164, 0x40B1, 0xFFF6, 0x0004, 0x411C, 0x0004,
-0x5031, 0x0034, 0x4030, 0xD41E, 0x120A, 0x120B, 0x425E, 0x2780, 0x421A,
-0x2784, 0x403F, 0x150C, 0x403B, 0x1504, 0x934C, 0x204F, 0x9392, 0x14FE,
-0x201E, 0x4B2D, 0xD3DD, 0x0000, 0xDECA, 0x0000, 0xB2B2, 0x136C, 0x4B2B,
-0x2803, 0xDFEB, 0x0000, 0x3C02, 0xCFEB, 0x0000, 0x431C, 0x12B0, 0xD1BA,
-0xC2DA, 0x277E, 0x0000, 0xC0F2, 0x0020, 0x0029, 0x431C, 0x12B0, 0xD1BA,
-0x436C, 0x12B0, 0x8678, 0x3DDF, 0x425D, 0x277E, 0x525D, 0x277F, 0x5E4D,
-0xDDCA, 0x0000, 0xB2B2, 0x136C, 0x4B2E, 0x2803, 0xCFEE, 0x0000, 0x3C02,
-0xDFEE, 0x0000, 0xD0F2, 0x0040, 0x0029, 0xC0F2, 0x0020, 0x0029, 0x431C,
-0x12B0, 0xD1BA, 0x93A2, 0x14FE, 0x2003, 0x407C, 0x0003, 0x3FDE, 0x9392,
-0x14FE, 0x2004, 0xD2DA, 0x277E, 0x0000, 0x3C03, 0x4B2F, 0xC3DF, 0x0000,
-0x403C, 0x0005, 0x12B0, 0xD1BA, 0x3FD1, 0x9392, 0x14FE, 0x201C, 0x4B2D,
-0xD3DD, 0x0000, 0xDECA, 0x0000, 0xB2B2, 0x136C, 0x4B2B, 0x2803, 0xDFEB,
-0x0000, 0x3C02, 0xCFEB, 0x0000, 0x431C, 0x12B0, 0xD1BA, 0xC2DA, 0x277E,
-0x0000, 0xC0F2, 0x0020, 0x0029, 0x431C, 0x12B0, 0xD1BA, 0x434C, 0x3FB0,
-0x425D, 0x277E, 0x525D, 0x277F, 0x5E4D, 0xDDCA, 0x0000, 0xB2B2, 0x136C,
-0x4B2E, 0x2803, 0xCFEE, 0x0000, 0x3C02, 0xDFEE, 0x0000, 0xD0F2, 0x0040,
-0x0029, 0xC0F2, 0x0020, 0x0029, 0x431C, 0x12B0, 0xD1BA, 0x93A2, 0x14FE,
-0x23B6, 0x435C, 0x3F92, 0x12B0, 0x3C92, 0x430C, 0x4130, 0x434C, 0x1292,
-0x1360, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x2401, 0x1292, 0x1358,
-0x407C, 0x0021, 0x1292, 0x1354, 0x435C, 0x1292, 0x1360, 0x407C, 0x0028,
-0x1292, 0x1354, 0x430C, 0x4210, 0x1358, 0x4130, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x4C0A, 0x4038, 0x1354, 0x407C, 0x00C8, 0x12A8, 0x4039,
-0x1358, 0x403C, 0x3401, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x4030,
-0x12A9, 0x4036, 0x1360, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x4A0C, 0x822C,
-0x12A9, 0x9382, 0x1506, 0x2404, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x434C,
-0x12A6, 0x407C, 0x0021, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A6,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x435C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF, 0x12A9, 0x434C, 0x12A6,
-0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A6, 0x434C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x4A0C, 0x832C, 0x12A9, 0x4030, 0xD424,
-0x120A, 0x120B, 0x1208, 0x4C0A, 0x407C, 0x0082, 0x1292, 0x1354, 0x4038,
-0x1360, 0x435C, 0x12A8, 0x403C, 0x4030, 0x1292, 0x1358, 0x434C, 0x12A8,
-0x435C, 0x12A8, 0x4A0C, 0x832C, 0x1292, 0x1358, 0x434C, 0x12A8, 0x435C,
-0x12A8, 0x434C, 0x12A8, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x407C, 0x0021,
-0x1292, 0x1354, 0x430C, 0x1292, 0x1358, 0x4030, 0xD428, 0x930C, 0x2002,
-0x430F, 0x3C01, 0x431F, 0x4F82, 0x1500, 0x9392, 0x14FE, 0x2008, 0x930F,
-0x2403, 0x403F, 0x6418, 0x3C0A, 0x403F, 0x654A, 0x3C07, 0x930F, 0x2403,
-0x403F, 0x937E, 0x3C02, 0x403F, 0x941A, 0x4F82, 0x1364, 0x4130, 0x930C,
-0x2405, 0x403F, 0x3DFE, 0x403E, 0x3DCA, 0x3C04, 0x403F, 0x3EA6, 0x403E,
-0x3DFC, 0x4E82, 0x1366, 0x4F82, 0x1362, 0x4130, 0x430F, 0xB3A2, 0x136C,
-0x2805, 0x930C, 0x2003, 0x4382, 0x14FE, 0x3C11, 0xB2A2, 0x136C, 0x2805,
-0x931C, 0x2003, 0x4392, 0x14FE, 0x3C09, 0xB3A2, 0x136C, 0x2805, 0x932C,
-0x2003, 0x43A2, 0x14FE, 0x3C01, 0x433F, 0xB2B2, 0x136C, 0x2804, 0x403E,
-0x0032, 0x436D, 0x3C03, 0x403E, 0x001D, 0x426D, 0x4DC2, 0x150C, 0x4E82,
-0x1504, 0x9392, 0x14FE, 0x2032, 0x40B2, 0x7434, 0x134E, 0x40B2, 0x72E0,
-0x1350, 0x40B2, 0xDA2E, 0x1352, 0x40B2, 0x6AE4, 0x1354, 0x40B2, 0x7838,
-0x1356, 0x40B2, 0x7D52, 0x1358, 0x40B2, 0x2D2A, 0x135A, 0x40B2, 0x2B56,
-0x135C, 0x40B2, 0x2968, 0x135E, 0x40B2, 0xB6C0, 0x1360, 0x9382, 0x1500,
-0x2003, 0x403E, 0x654A, 0x3C02, 0x403E, 0x6418, 0x403D, 0xC6DC, 0x40B2,
-0x0006, 0x01EE, 0x40B2, 0x0006, 0x01F6, 0x40B2, 0x284B, 0x01F2, 0x3C2A,
-0x40B2, 0xCA04, 0x134E, 0x40B2, 0xCEC6, 0x1350, 0x40B2, 0x9824, 0x1352,
-0x40B2, 0xC40A, 0x1354, 0x40B2, 0xC1FA, 0x1356, 0x40B2, 0xB76E, 0x1358,
-0x40B2, 0x850C, 0x135A, 0x40B2, 0xAC92, 0x135C, 0x40B2, 0x94B2, 0x135E,
-0x40B2, 0xD4C4, 0x1360, 0x9382, 0x1500, 0x2003, 0x403E, 0x941A, 0x3C02,
-0x403E, 0x937E, 0x403D, 0xC7A6, 0x42A2, 0x01F6, 0x4D82, 0x1368, 0x4E82,
-0x1364, 0x4F0C, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0xB2B2, 0x136C,
-0x2807, 0x429C, 0x1502, 0x0000, 0x429D, 0x1502, 0x0000, 0x3C0F, 0xB2F2,
-0x001D, 0x2804, 0x431C, 0x12B0, 0x4620, 0x3C01, 0x430C, 0x4C8A, 0x0000,
-0x430C, 0x12B0, 0x4620, 0x4C8B, 0x0000, 0x430C, 0x413B, 0x413A, 0x4130,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031,
-0x0020, 0x4381, 0x000C, 0x4381, 0x000E, 0x4038, 0x1358, 0x4039, 0x1354,
-0x9382, 0x138E, 0x2412, 0x407C, 0x00F4, 0x12B0, 0xD3AC, 0x4C0B, 0x407C,
-0x00F4, 0x12A9, 0xC21B, 0x138E, 0xD21B, 0x1392, 0x4B0C, 0x12A8, 0x403C,
-0x0014, 0x1292, 0x275A, 0x4037, 0x135C, 0x421F, 0x1382, 0xD21F, 0x1384,
-0x930F, 0x2419, 0x407C, 0x0054, 0x12A9, 0x12B0, 0xBFBC, 0x4C0A, 0x4D0B,
-0x407C, 0x0054, 0x12A9, 0xC21A, 0x1382, 0xC21B, 0x1384, 0xD21A, 0x138A,
-0xD21B, 0x138C, 0x4A0C, 0x4B0D, 0x12A7, 0x403C, 0x0014, 0x1292, 0x275A,
-0x407C, 0x00D0, 0x12B0, 0xD3AC, 0x4074, 0x0028, 0x934C, 0x3882, 0x444C,
-0x12B0, 0xD3AC, 0xB03C, 0x0020, 0x2C7C, 0x407C, 0x00B0, 0x12A9, 0x431C,
-0x12B0, 0xBFB8, 0x4C81, 0x001C, 0x4D81, 0x001E, 0x403C, 0x0003, 0x12B0,
-0xBFB8, 0x4C81, 0x0018, 0x4D81, 0x001A, 0x403C, 0x0005, 0x12B0, 0xBFB8,
-0x4C81, 0x0014, 0x4D81, 0x0016, 0x403C, 0x0007, 0x12B0, 0xBFB8, 0x4C81,
-0x0010, 0x4D81, 0x0012, 0x403C, 0x0081, 0x12B0, 0xBFB8, 0x4C0A, 0x4D0B,
-0x432C, 0x12B0, 0xBFB8, 0x422C, 0x430D, 0x12A7, 0x433C, 0x403D, 0x000F,
-0x12A7, 0x403C, 0x0006, 0x12B0, 0xBF66, 0x403C, 0x0080, 0x12B0, 0xBF66,
-0x403C, 0x0088, 0x430D, 0x12A7, 0x403C, 0x000E, 0x430D, 0x12A7, 0x12B0,
-0xBF7E, 0x403C, 0x0007, 0x12A8, 0x4306, 0x407C, 0x00D0, 0x12B0, 0xD3AC,
-0x5316, 0x934C, 0x3803, 0x9036, 0x0BB8, 0x3BF6, 0x407C, 0x00B0, 0x12A9,
-0x12B0, 0xBFBC, 0x411C, 0x001C, 0x411D, 0x001E, 0x12A7, 0x432C, 0x430D,
-0x12A7, 0x411C, 0x0018, 0x411D, 0x001A, 0x12A7, 0x422C, 0x430D, 0x12A7,
-0x411C, 0x0014, 0x411D, 0x0016, 0x12A7, 0x403C, 0x0006, 0x430D, 0x12A7,
-0x411C, 0x0010, 0x411D, 0x0012, 0x12A7, 0x403C, 0x0080, 0x430D, 0x12A7,
-0x4A0C, 0x4B0D, 0x12A7, 0x12B0, 0xBF7E, 0x403C, 0x0005, 0x12A8, 0x4077,
-0x00C8, 0x12B0, 0xBF5C, 0x444C, 0x12A9, 0x403A, 0x0032, 0x430B, 0x430C,
-0x12A8, 0x533A, 0x633B, 0x933C, 0x2403, 0xB03C, 0x0200, 0x2C04, 0x4A0F,
-0xDB0F, 0x930F, 0x23F3, 0x12B0, 0xBF7E, 0x403C, 0x0007, 0x12A8, 0x403C,
-0x0006, 0x12A8, 0x12B0, 0xBF5C, 0x444C, 0x12B0, 0xD3AC, 0x4036, 0x1360,
-0xB23C, 0x2C06, 0x3C18, 0x12B0, 0xBFB0, 0x444C, 0x12B0, 0xD3AC, 0xB23C,
-0x2811, 0x411C, 0x000C, 0x411D, 0x000E, 0x4C0E, 0x4D0F, 0x531E, 0x630F,
-0x4E81, 0x000C, 0x4F81, 0x000E, 0x930D, 0x2003, 0x903C, 0x7530, 0x2BE8,
-0x444C, 0x12A9, 0x434C, 0x12A6, 0x430C, 0x12A8, 0xB03C, 0x0100, 0x2002,
-0x4345, 0x3C01, 0x4355, 0x435C, 0x12A6, 0x531A, 0x630B, 0x9345, 0x2005,
-0x930B, 0x2003, 0x903A, 0x2710, 0x2BEB, 0x12B0, 0xBFA6, 0x407C, 0x0021,
-0x12A9, 0x4035, 0x135A, 0x430C, 0x430D, 0x12A5, 0x4C0A, 0x4D0B, 0x444C,
-0x12B0, 0xD3AC, 0xB03C, 0x0020, 0x2803, 0x503A, 0xFFFE, 0x3C02, 0x503A,
-0xFFFC, 0x633B, 0x903A, 0xFFFE, 0x2010, 0x930B, 0x200E, 0x12B0, 0xBF84,
-0x403C, 0xFFFE, 0x12B0, 0xD3A0, 0x4C0B, 0x12B0, 0xBF4C, 0x4B81, 0x0006,
-0x4381, 0x0008, 0x3C04, 0x4A81, 0x0006, 0x4B81, 0x0008, 0x12B0, 0xBF7E,
-0x403C, 0x000E, 0x12A8, 0x444C, 0x12B0, 0xD3AC, 0x410C, 0x532C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x12B0,
-0xBF84, 0x411C, 0x0002, 0x12B0, 0xD3A0, 0x4C81, 0x0004, 0x12B0, 0xBF4C,
-0x415F, 0x0004, 0xDF81, 0x0000, 0x434C, 0x12A6, 0x474C, 0x12A9, 0x403C,
-0x0500, 0x12A8, 0x12B0, 0xBF88, 0x411C, 0x0002, 0x12B0, 0xD9E4, 0x407C,
-0x00A1, 0x12A9, 0x412C, 0xD03C, 0x0080, 0x12A8, 0x434C, 0x12A6, 0x12B0,
-0xBF9C, 0x435C, 0x12A6, 0x12B0, 0xBF54, 0x4074, 0x0082, 0x444C, 0x12B0,
-0xBF96, 0x403C, 0x0260, 0x12B0, 0xBFC2, 0x9382, 0x1398, 0x2403, 0x403C,
-0x0FF6, 0x3C02, 0x403C, 0x018C, 0x12B0, 0xBF70, 0x9382, 0x1398, 0x2402,
-0x12B0, 0xBF9C, 0x12B0, 0xBF92, 0x430C, 0x12A8, 0x4C0A, 0x12B0, 0xBFB0,
-0x430C, 0x12A8, 0x12B0, 0xBF54, 0x12B0, 0xBF4C, 0x9382, 0x1398, 0x2002,
-0x12B0, 0xBF9C, 0x12B0, 0xBF8E, 0x4A81, 0x000A, 0x434C, 0x12A6, 0x444C,
-0x12B0, 0xBF96, 0x440C, 0x12B0, 0xBFC2, 0x4A0C, 0xF03C, 0xFFEF, 0x12B0,
-0xBF70, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0021, 0x12A9, 0x430C,
-0x12B0, 0xD9E4, 0x12B0, 0xBFA6, 0x12B0, 0xBF8E, 0x423D, 0x410C, 0x522C,
-0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031, 0x0020, 0x4030, 0xD41E,
-0x934C, 0x240E, 0x9392, 0x14FE, 0x2006, 0x421F, 0x2784, 0xD2DF, 0x277E,
-0x0000, 0x3C04, 0x421F, 0x1504, 0xC3DF, 0x0000, 0x3DD2, 0x9392, 0x14FE,
-0x2006, 0x421F, 0x2784, 0xC2DF, 0x277E, 0x0000, 0x3FF6, 0x421F, 0x1504,
-0xD3DF, 0x0000, 0x3FF1, 0x934C, 0x2410, 0x9392, 0x14FE, 0x2006, 0x421F,
-0x2784, 0xD2DF, 0x2780, 0x0000, 0x3C06, 0xC0F2, 0x0020, 0x0029, 0xD0F2,
-0x0040, 0x0029, 0x3DB2, 0x9392, 0x14FE, 0x2006, 0x421F, 0x2784, 0xC2DF,
-0x2780, 0x0000, 0x3FF6, 0xC0F2, 0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029,
-0x3FEF, 0x421F, 0x1504, 0x4F6C, 0x4130, 0x421F, 0x1504, 0x4CCF, 0x0000,
-0x4130, 0x425C, 0x0029, 0x4130, 0x4CC2, 0x0029, 0x4130, 0x421F, 0x2784,
-0x4F6C, 0x4130, 0x421F, 0x2784, 0x3FF0, 0x934C, 0x2407, 0xD2E2, 0x001D,
-0xD0F2, 0x0010, 0x001D, 0x434E, 0x3C06, 0xC0F2, 0x0010, 0x001D, 0xC2E2,
-0x001D, 0x435E, 0x4EC2, 0x150E, 0x4130, 0x403E, 0xBAEC, 0x403F, 0x0041,
-0x43D2, 0x150D, 0xD0F2, 0x0080, 0x002A, 0xD0F2, 0x0080, 0x002E, 0x40B2,
-0x0028, 0x0172, 0x40B2, 0x0090, 0x0162, 0x40B2, 0x0114, 0x0160, 0x3C02,
-0x533E, 0x633F, 0x93C2, 0x150D, 0x2404, 0x4E0D, 0xDF0D, 0x930D, 0x23F7,
-0x4382, 0x0162, 0xC0F2, 0x0080, 0x002E, 0xC0F2, 0x0080, 0x002A, 0x4130,
-0x4C0F, 0xDD0F, 0x930F, 0x2410, 0x12B0, 0x455E, 0x93C2, 0x150E, 0x2404,
-0xD0F2, 0x0020, 0x001D, 0x3C03, 0xD0F2, 0x0040, 0x001D, 0x403C, 0x000A,
-0x4030, 0xD1BA, 0xF0F2, 0x009F, 0x001D, 0x4130, 0x53D2, 0x1512, 0x90F2,
-0x000A, 0x1512, 0x201A, 0x43C2, 0x1512, 0x4382, 0x0160, 0xC3A2, 0x01A0,
-0x40F2, 0x0012, 0x0080, 0xD3A2, 0x01A0, 0xD392, 0x01A0, 0xB392, 0x01A4,
-0x2BFD, 0x90B2, 0x0FFF, 0x0140, 0x3404, 0x40B2, 0x0114, 0x0160, 0x1300,
-0x43C2, 0x150D, 0x1300, 0x4C0F, 0x430C, 0x922F, 0x2C14, 0x5F0F, 0x4F1C,
-0x0140, 0x5F1C, 0x0148, 0x5F1C, 0x0150, 0x5F1C, 0x0158, 0x4F1E, 0x2776,
-0x12B0, 0xD08A, 0x108C, 0x108D, 0xED4C, 0xED0C, 0xF37D, 0x12B0, 0xD0D8,
-0x4130, 0x120A, 0x120B, 0x1208, 0x4C0A, 0x9A82, 0x1508, 0x242C, 0x4A0C,
-0x430D, 0x12B0, 0xBC0C, 0x403E, 0x41A3, 0x403F, 0xC4D6, 0x12B0, 0x87E6,
-0x4C0E, 0x4D0F, 0x403C, 0xF000, 0x403D, 0x457F, 0x12B0, 0x87E2, 0x12B0,
-0xD712, 0x4C08, 0x5038, 0x0055, 0x4A0C, 0x403E, 0x0014, 0x12B0, 0xD036,
-0x8C08, 0x9038, 0x1000, 0x3802, 0x4038, 0x0FFF, 0x9308, 0x3401, 0x4308,
-0x4882, 0x01C8, 0xD3A2, 0x01C0, 0x4A82, 0x1508, 0x3C1A, 0x431C, 0x12B0,
-0x4620, 0x4C0B, 0x4A0F, 0x503F, 0x000A, 0x9B0F, 0x2C07, 0x90B2, 0x0FFF,
-0x01C8, 0x2C0D, 0x5392, 0x01C8, 0x3C0A, 0x4A0F, 0x503F, 0xFFF6, 0x9F0B,
-0x2C05, 0x9382, 0x01C8, 0x2402, 0x53B2, 0x01C8, 0x4030, 0xD428, 0x120A,
-0x4C0A, 0x930A, 0x2428, 0x93C2, 0x132E, 0x2419, 0xC2F2, 0x0031, 0xC0F2,
-0x0020, 0x0029, 0x4A82, 0x1502, 0x4A0C, 0x503C, 0x0032, 0x12B0, 0x4652,
-0x421F, 0x1504, 0xD2FF, 0x0000, 0x431C, 0x12B0, 0xD1BA, 0xD0F2, 0x0020,
-0x0029, 0x43C2, 0x132E, 0x3C16, 0x4A82, 0x1502, 0x4A0C, 0x503C, 0x0032,
-0x12B0, 0x4652, 0x421F, 0x1504, 0xD2FF, 0x0000, 0x3C0A, 0x421F, 0x1504,
-0xC2FF, 0x0000, 0x1292, 0x2756, 0x4382, 0x1502, 0x43D2, 0x132E, 0x430C,
-0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x430C, 0x12B0, 0x4620, 0x4C0A,
-0x431C, 0x12B0, 0x4620, 0x4C0B, 0x403C, 0x0003, 0x12B0, 0x4620, 0x4C08,
-0x903A, 0x06A4, 0x3813, 0x421F, 0x150A, 0x503F, 0xFFF6, 0x9F0A, 0x3806,
-0x421F, 0x150A, 0x503F, 0x000A, 0x9A0F, 0x3402, 0x4A82, 0x150A, 0x421C,
-0x150A, 0x12B0, 0x4652, 0x3C07, 0x9382, 0x1502, 0x2422, 0x421C, 0x1502,
-0x12B0, 0x46F0, 0x9382, 0x1502, 0x241B, 0x93C2, 0x150F, 0x2418, 0x8B08,
-0x9038, 0x0097, 0x3814, 0x53D2, 0x1511, 0x90F2, 0x000B, 0x1511, 0x2810,
-0x43D2, 0x1510, 0x12B0, 0xD8C4, 0xC2F2, 0x001D, 0x4382, 0x1502, 0x435C,
-0x421F, 0x1112, 0x129F, 0x0020, 0x3C02, 0x43C2, 0x1511, 0x430C, 0x4030,
-0xD428, 0x9392, 0x14FE, 0x2016, 0x421F, 0x2784, 0xD2DF, 0x2780, 0x0000,
-0x421F, 0x1504, 0xD2DF, 0x150C, 0x0000, 0x431C, 0x12B0, 0xD1BA, 0x421F,
-0x2784, 0xC2DF, 0x277E, 0x0000, 0xD0F2, 0x0020, 0x0029, 0x3C0F, 0x421F,
-0x1504, 0xD2DF, 0x150C, 0x0000, 0xD0F2, 0x0020, 0x0029, 0x431C, 0x12B0,
-0xD1BA, 0x421F, 0x1504, 0xD3DF, 0x0000, 0x403C, 0x0005, 0x4030, 0xD1BA,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x120C,
-0x8031, 0x003A, 0x4381, 0x000C, 0x4381, 0x0016, 0x4381, 0x0018, 0x4381,
-0x000A, 0x4381, 0x0008, 0x430A, 0x403B, 0x1360, 0x4038, 0x1358, 0x4039,
-0x1354, 0x4036, 0x1112, 0xB31C, 0x28B3, 0x410C, 0x503C, 0x000C, 0x12B0,
-0xD768, 0x2403, 0x403C, 0xFFFE, 0x3DA5, 0x432C, 0x462F, 0x129F, 0x001A,
-0x410C, 0x503C, 0x0006, 0x12B0, 0xD768, 0x2403, 0x403C, 0xFFFC, 0x3D98,
-0x410C, 0x503C, 0x0016, 0x462F, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C,
-0xFFFB, 0x3D8D, 0x403C, 0x1484, 0x462F, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFFA, 0x3D83, 0x410C, 0x523C, 0x12B0, 0xD768, 0x2403, 0x403C,
-0xFFF9, 0x3D7B, 0x410C, 0x503C, 0x000A, 0x462F, 0x129F, 0x0016, 0x933C,
-0x2003, 0x403C, 0xFFF8, 0x3D70, 0x422C, 0x462F, 0x129F, 0x001A, 0x933C,
-0x27F7, 0x4191, 0x0016, 0x001A, 0x4191, 0x0018, 0x001C, 0x4291, 0x1484,
-0x001E, 0x4291, 0x1486, 0x0020, 0x4191, 0x0008, 0x0022, 0x4381, 0x0024,
-0x4191, 0x000A, 0x0026, 0x4381, 0x0028, 0x410C, 0x503C, 0x001A, 0x12B0,
-0xC388, 0x407C, 0x0028, 0x12A9, 0x430C, 0x12A8, 0x12B0, 0xC966, 0x403C,
-0x0080, 0x12A8, 0x434C, 0x12B0, 0xD9BC, 0x403C, 0x1400, 0x12B0, 0xD0FE,
-0x411C, 0x0006, 0x12A8, 0x12B0, 0xD106, 0x403C, 0x4303, 0x12A8, 0x434C,
-0x12AB, 0x12B0, 0xD430, 0x12B0, 0xD9BC, 0x403C, 0x0401, 0x12A8, 0x407C,
-0x0021, 0x12A9, 0x407C, 0x00A8, 0x12A9, 0x4381, 0x0002, 0x4381, 0x0004,
-0x4304, 0x4305, 0x403C, 0x0005, 0x12B0, 0xCDD8, 0x2004, 0x90B1, 0xABAD,
-0x0004, 0x2405, 0x9305, 0x2003, 0x9034, 0x012C, 0x2BF2, 0x9305, 0x2003,
-0x9034, 0x012C, 0x2802, 0x403A, 0xFFF7, 0xB392, 0x1484, 0x280E, 0x53B2,
-0x1484, 0x63B2, 0x1486, 0x4392, 0x149A, 0x3C07, 0x470C, 0x128F, 0x4C0A,
-0x53B2, 0x1484, 0x63B2, 0x1486, 0x4624, 0x4037, 0x149C, 0x421F, 0x1484,
-0xD21F, 0x1486, 0x930F, 0x2426, 0x930A, 0x2024, 0x441F, 0x0016, 0xB392,
-0x1484, 0x2BE9, 0x403C, 0x149E, 0x128F, 0x4C0A, 0x4304, 0x4305, 0x47A1,
-0x0000, 0x4217, 0x149E, 0x407C, 0x0086, 0x12A9, 0x430C, 0x12A8, 0x5314,
-0x6305, 0x23DA, 0x9034, 0x0BB8, 0x2FD7, 0xB32C, 0x2BF6, 0x403C, 0x0011,
-0x12A8, 0x412C, 0x12A8, 0x470C, 0x12A8, 0x3FCD, 0x9382, 0x149A, 0x242D,
-0x930A, 0x202B, 0x421F, 0x1484, 0xD21F, 0x1486, 0x930F, 0x2025, 0xB3A1,
-0x003A, 0x28AC, 0x470C, 0x1294, 0x0016, 0x4C0A, 0x4304, 0x4305, 0x4727,
-0x407C, 0x0086, 0x12A9, 0x430C, 0x12A8, 0x5314, 0x6305, 0x2003, 0x9034,
-0x0BB8, 0x2803, 0x403C, 0xFFBF, 0x3CA9, 0xB32C, 0x2BF3, 0x403C, 0x0011,
-0x12A8, 0x470C, 0x12A8, 0x403C, 0xAAAA, 0x12A8, 0x4382, 0x149A, 0x3C03,
-0xB3A1, 0x003A, 0x287F, 0x4304, 0x4305, 0x4381, 0x0002, 0x4381, 0x0004,
-0x403C, 0x000A, 0x12B0, 0xCDD8, 0x2004, 0x90B1, 0xCAFE, 0x0004, 0x2405,
-0x9305, 0x2003, 0x9034, 0x012C, 0x2BF2, 0x9305, 0x2003, 0x9034, 0x012C,
-0x2851, 0x403A, 0xFFBF, 0x410C, 0x503C, 0x000E, 0x403E, 0x27AE, 0x12B0,
-0xD540, 0x120F, 0x12B0, 0xD578, 0x4627, 0x1297, 0x000E, 0x12B0, 0xD25C,
-0x12B0, 0xC966, 0x403C, 0x0A60, 0x12B0, 0xD0F2, 0x5321, 0x12B0, 0xD37C,
-0x12B0, 0xD38E, 0x4034, 0x0501, 0x9382, 0x1398, 0x2404, 0x12B0, 0xD9BE,
-0x440C, 0x12A8, 0x4077, 0x0042, 0x12B0, 0xC974, 0x41A2, 0x148A, 0x4582,
-0x148C, 0x12B0, 0xC966, 0x403C, 0x0B60, 0x12B0, 0xD0F2, 0x12B0, 0xD37C,
-0x12B0, 0xD38E, 0x9382, 0x1398, 0x2404, 0x12B0, 0xD9BE, 0x440C, 0x12A8,
-0x12B0, 0xC974, 0x412F, 0x4F82, 0x148E, 0x4582, 0x1490, 0xD50F, 0x930F,
-0x2409, 0x90B2, 0xFFFE, 0x148A, 0x2003, 0x9382, 0x148C, 0x2402, 0x403A,
-0xFFF6, 0x410C, 0x503C, 0x000E, 0x403E, 0x27B6, 0x12B0, 0xD540, 0x120F,
-0x12B0, 0xD578, 0x462B, 0x129B, 0x000E, 0x12B0, 0xD25C, 0x421C, 0x1488,
-0x462F, 0x129F, 0x0008, 0x3C18, 0x931A, 0x2006, 0x407C, 0x0091, 0x1294,
-0x0012, 0x430A, 0x3C11, 0x410C, 0x503C, 0x000E, 0x403E, 0x27BE, 0x12B0,
-0xD540, 0x120F, 0x12B0, 0xD578, 0x1294, 0x000E, 0x12B0, 0xD25C, 0x403A,
-0xFFF6, 0x5321, 0x4A0C, 0x5031, 0x003C, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x407A, 0x0006, 0x403B, 0x150C, 0x4038, 0x1504,
-0x4039, 0x0190, 0xD0F2, 0x0040, 0x0029, 0x4216, 0x2758, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF,
-0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0x537A, 0x23CE, 0xC0F2, 0x0040,
-0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xD0F2,
-0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C,
-0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000,
-0xC0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029,
-0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF,
-0x0000, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040,
-0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xCBEF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2,
-0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xCBEF, 0x0000, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xCBEF, 0x0000, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF,
-0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x490C,
-0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0x403C, 0x000A, 0x1292,
-0x275A, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x0010, 0x410C, 0x503C, 0x0006, 0x403E, 0x0005,
-0x12B0, 0xD494, 0x4381, 0x0004, 0x410C, 0x532C, 0x421F, 0x1112, 0x129F,
-0x0016, 0x930C, 0x2403, 0x403C, 0xFFD3, 0x3D49, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0016, 0x933C, 0x2003, 0x403C, 0xFFD2, 0x3D3F, 0x403A, 0x1360,
-0x435C, 0x12AA, 0x403B, 0x1354, 0x4074, 0x0028, 0x444C, 0x12AB, 0x4038,
-0x1358, 0x430C, 0x12A8, 0x4079, 0x00C8, 0xB03C, 0x0200, 0x2C1D, 0x407C,
-0x0088, 0x12AB, 0x407C, 0x0034, 0x1292, 0x1356, 0x12B0, 0xD5FA, 0x444C,
-0x12AB, 0x4036, 0x0032, 0x3C02, 0x9306, 0x240A, 0x430C, 0x12A8, 0x5336,
-0x933C, 0x27F9, 0xB03C, 0x0200, 0x2BF6, 0x9306, 0x2003, 0x403C, 0xFFD4,
-0x3D0F, 0xB32C, 0x2807, 0x434C, 0x12AA, 0x12B0, 0xCAB0, 0x435C, 0x12AA,
-0x3C02, 0x12B0, 0xCAB0, 0x407C, 0x0048, 0x12AB, 0x435C, 0x1292, 0x1356,
-0x435C, 0x12AA, 0x4307, 0x12B0, 0xC2A6, 0x2406, 0x12B0, 0xC2C8, 0x5317,
-0x9037, 0x000A, 0x2BF7, 0x9037, 0x000A, 0x2003, 0x403C, 0xFFD1, 0x3CEC,
-0x12B0, 0xC292, 0x407C, 0x0030, 0x12AB, 0x403C, 0x0003, 0x12A8, 0x430C,
-0x12A8, 0x4076, 0x0090, 0x93A2, 0x137C, 0x200D, 0x9382, 0x137E, 0x200A,
-0x12B0, 0xCAA6, 0x403C, 0x000F, 0x12A8, 0x12B0, 0xCAA6, 0x403C, 0x000C,
-0x12A8, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F, 0x2414, 0x9382, 0x1380,
-0x2411, 0x464C, 0x12AB, 0x403C, 0x0089, 0x12A8, 0x430C, 0x12A8, 0x4C07,
-0x464C, 0x12AB, 0x403C, 0x0088, 0x12A8, 0xD037, 0x0010, 0x470C, 0x12A8,
-0x4077, 0x0082, 0x12B0, 0xC286, 0x4035, 0xC0EA, 0x12B0, 0xCA9C, 0x239B,
-0x12B0, 0xCABA, 0x934C, 0x3405, 0x12B0, 0xC286, 0x12B0, 0xCA9C, 0x2392,
-0x12B0, 0xC280, 0x430C, 0x12B0, 0xCAE2, 0x238C, 0x4306, 0x444C, 0x12AB,
-0x3C04, 0x12B0, 0xCA9C, 0x2385, 0x5316, 0x430C, 0x12A8, 0x934C, 0x3803,
-0x9036, 0x000A, 0x2BF5, 0x9036, 0x000A, 0x277A, 0x407C, 0x0021, 0x12B0,
-0xCABC, 0x822C, 0x4C81, 0x0008, 0x4381, 0x000A, 0x9306, 0x2019, 0x12B0,
-0xCABA, 0xB03C, 0x0020, 0x2818, 0x53A1, 0x0008, 0x12B0, 0xC280, 0x403C,
-0xC032, 0x12B0, 0xCAE2, 0x2361, 0x12B0, 0xC280, 0x403C, 0x0010, 0x12B0,
-0xCAE2, 0x235A, 0x40B1, 0x0010, 0x0004, 0x3C04, 0x12B0, 0xC292, 0x4391,
-0x000E, 0x12B0, 0xD5FA, 0x12B0, 0xC2A6, 0x2370, 0x12B0, 0xC2D8, 0x12B0,
-0xCAC2, 0x12B0, 0xC2C2, 0x434C, 0x12AA, 0x430C, 0x12A8, 0x4C81, 0x0006,
-0x12B0, 0xC2F8, 0x415F, 0x0006, 0xDF81, 0x0000, 0x12B0, 0xC2D8, 0x407C,
-0x0048, 0x12AB, 0x427C, 0x1292, 0x1356, 0x12B0, 0xCAC2, 0x12AB, 0x412C,
-0x12A8, 0x435C, 0x12AA, 0x12B0, 0xC2F8, 0x12B0, 0xCAD4, 0x403C, 0x4030,
-0x12A8, 0x12B0, 0xC2C8, 0x403C, 0x0C04, 0x12A8, 0x9382, 0x1506, 0x2402,
-0x12B0, 0xC2C8, 0x434C, 0x12AA, 0x407C, 0x0021, 0x12AB, 0x9382, 0x1506,
-0x2002, 0x435C, 0x12AA, 0x12B0, 0xC2D0, 0x12B0, 0xCAD4, 0x403C, 0x4282,
-0x12B0, 0xC2B8, 0x474C, 0x12AB, 0x403C, 0x00FE, 0x12B0, 0xC2B8, 0x12B0,
-0xC2C8, 0x430C, 0x12A8, 0x4C81, 0x000C, 0x12B0, 0xC2D0, 0xD191, 0x0004,
-0x000C, 0x403D, 0x000A, 0x410C, 0x503C, 0x0006, 0x421F, 0x1112, 0x129F,
-0x0006, 0x430C, 0x5031, 0x0010, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x001A, 0x4308, 0x4309,
-0x430A, 0x430B, 0x4381, 0x000A, 0x4381, 0x000C, 0x4381, 0x0002, 0x4381,
-0x0004, 0x4381, 0x000E, 0x4381, 0x0010, 0x40B1, 0x0010, 0x0006, 0x4381,
-0x0008, 0x4304, 0x4305, 0x4306, 0x4307, 0x410C, 0x503C, 0x000A, 0x12B0,
-0xD66A, 0x3403, 0x403C, 0xFFC6, 0x3C7B, 0x410C, 0x532C, 0x12B0, 0xD66A,
-0x3403, 0x403C, 0xFFC4, 0x3C73, 0x410C, 0x503C, 0x000E, 0x12B0, 0xD66A,
-0x3BF7, 0x410C, 0x503C, 0x0006, 0x12B0, 0xD66A, 0x3403, 0x403C, 0xFFC3,
-0x3C64, 0x411C, 0x0002, 0x411D, 0x0004, 0x411E, 0x000E, 0x411F, 0x0010,
-0x4C81, 0x0012, 0x4D81, 0x0014, 0x4E81, 0x0016, 0x4F81, 0x0018, 0x92A1,
-0x000A, 0x2033, 0x9381, 0x000C, 0x2030, 0x42B1, 0x0006, 0x4381, 0x0008,
-0x43C1, 0x0000, 0x411C, 0x0012, 0x411D, 0x0014, 0x411E, 0x0016, 0x411F,
-0x0018, 0x416B, 0x12B0, 0xCF16, 0xF31C, 0x5404, 0x6505, 0x6606, 0x6707,
-0xDC04, 0x53D1, 0x0000, 0x92F1, 0x0000, 0x2BEA, 0x444C, 0x1292, 0x1354,
-0x4C48, 0x4309, 0x430A, 0x430B, 0x480C, 0x490D, 0x421F, 0x1112, 0x129F,
-0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F, 0x000A, 0x3C1D, 0x4C04,
-0x4D05, 0x4E06, 0x4F07, 0x411E, 0x000A, 0x411F, 0x000C, 0x930F, 0x20C1,
-0x903E, 0x000B, 0x2CBE, 0x5E0E, 0x4E10, 0x5370, 0x5386, 0x5394, 0x5394,
-0x539C, 0x5328, 0x53B4, 0x5418, 0x542A, 0x543A, 0x544C, 0x54C4, 0x1292,
-0x134E, 0x430C, 0x5031, 0x001A, 0x4030, 0xD41E, 0x434C, 0x1292, 0x2754,
-0x3FF7, 0x1292, 0x2756, 0x411F, 0x0002, 0xD11F, 0x0004, 0x930F, 0x27EF,
-0x430C, 0x1292, 0x274A, 0x3FEB, 0x411E, 0x0006, 0x411F, 0x0008, 0x830F,
-0x2029, 0x823E, 0x240B, 0x823E, 0x240D, 0x822E, 0x240F, 0x803E, 0x000C,
-0x2414, 0x803E, 0x0020, 0x2414, 0x3C1C, 0x1292, 0x1356, 0x4C48, 0x3FAA,
-0x1292, 0x1358, 0x4C08, 0x3FA6, 0xF035, 0x000F, 0x450D, 0x1292, 0x135A,
-0x4C08, 0x4D09, 0x3F9E, 0x1292, 0x135C, 0x3FFA, 0x460E, 0x470F, 0x1292,
-0x135E, 0x4C08, 0x4D09, 0x4E0A, 0x4F0B, 0x3F92, 0x403C, 0xFFC2, 0x3FBA,
-0x407C, 0x0054, 0x1292, 0x1354, 0x440C, 0x450D, 0x1292, 0x135C, 0x3FB0,
-0x407C, 0x00F4, 0x1292, 0x1354, 0x440C, 0x1292, 0x1358, 0x3FA8, 0x407C,
-0x0046, 0x1292, 0x1354, 0x430C, 0x430D, 0x430E, 0x430F, 0x3FDC, 0x90B1,
-0x0010, 0x0006, 0x2015, 0x9381, 0x0008, 0x2012, 0x4C07, 0x12B0, 0xD954,
-0x12B0, 0xDA04, 0x531A, 0x630B, 0x202A, 0x903A, 0x0BB8, 0x2C27, 0xB31C,
-0x2BF6, 0x431C, 0x1292, 0x1358, 0x470C, 0x3FDB, 0x90B1, 0x0020, 0x0006,
-0x201C, 0x9381, 0x0008, 0x2019, 0x4C07, 0x4D08, 0x12B0, 0xD954, 0x12B0,
-0xDA04, 0x531A, 0x630B, 0x2010, 0x903A, 0x0BB8, 0x2C0D, 0xB32C, 0x2BF6,
-0x403C, 0x0011, 0x1292, 0x1358, 0x470C, 0x1292, 0x1358, 0x480C, 0x1292,
-0x1358, 0x3F66, 0x403C, 0xFFCF, 0x3F64, 0x12B0, 0xD954, 0x12B0, 0xDA04,
-0xB23C, 0x2B33, 0x403C, 0x0014, 0x1292, 0x1358, 0x12B0, 0xDA04, 0x4C08,
-0x12B0, 0xDA04, 0x4C09, 0x3F28, 0x403C, 0xFFC5, 0x3F50, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0010, 0x410C,
-0x503C, 0x0006, 0x403E, 0x0005, 0x12B0, 0xD494, 0x4381, 0x0004, 0x410C,
-0x532C, 0x421F, 0x1112, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFD3,
-0x3D30, 0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x933C, 0x2003, 0x403C,
-0xFFD2, 0x3D26, 0x403A, 0x1360, 0x435C, 0x12AA, 0x403B, 0x1354, 0x4075,
-0x0028, 0x454C, 0x12AB, 0x4038, 0x1358, 0x430C, 0x12A8, 0x4034, 0x1356,
-0x4077, 0x00C8, 0xB03C, 0x0200, 0x2C18, 0x12B0, 0xD69A, 0x12B0, 0xD790,
-0x454C, 0x12AB, 0x4039, 0x0032, 0x3C02, 0x9309, 0x240A, 0x430C, 0x12A8,
-0x5339, 0x933C, 0x27F9, 0xB03C, 0x0200, 0x2BF6, 0x9309, 0x2003, 0x403C,
-0xFFD4, 0x3CF9, 0xB32C, 0x2807, 0x434C, 0x12AA, 0x12B0, 0xD79A, 0x435C,
-0x12AA, 0x3C02, 0x12B0, 0xD79A, 0x407C, 0x0048, 0x12AB, 0x435C, 0x12A4,
-0x435C, 0x12AA, 0x4309, 0x12B0, 0xBB78, 0x2406, 0x12B0, 0xBB8A, 0x5319,
-0x9039, 0x000A, 0x2BF7, 0x9039, 0x000A, 0x2003, 0x403C, 0xFFD1, 0x3CD7,
-0x12B0, 0xBB92, 0x407C, 0x0030, 0x12AB, 0x403C, 0x0003, 0x12A8, 0x430C,
-0x12A8, 0x93A2, 0x137C, 0x201B, 0x9382, 0x137E, 0x2018, 0x407C, 0x00B0,
-0x12AB, 0x4039, 0x135C, 0x403C, 0x0082, 0x430D, 0x12A9, 0x403C, 0x000F,
-0x430D, 0x12A9, 0x407C, 0x00B0, 0x12AB, 0x403C, 0x0082, 0x430D, 0x12A9,
-0x403C, 0x000C, 0x430D, 0x12A9, 0x4076, 0x0082, 0x12B0, 0xBB5A, 0x403C,
-0x4303, 0x12B0, 0xBBDE, 0x4309, 0x454C, 0x12AB, 0x3C07, 0x12B0, 0xC172,
-0x4C0F, 0xDD0F, 0x930F, 0x23A1, 0x5319, 0x430C, 0x12A8, 0x934C, 0x3803,
-0x9039, 0x000A, 0x2BF2, 0x9039, 0x000A, 0x2796, 0x407C, 0x0021, 0x12AB,
-0x430C, 0x430D, 0x1292, 0x135A, 0x503C, 0xFFFE, 0x633D, 0x4C81, 0x0008,
-0x4D81, 0x000A, 0x9309, 0x201B, 0x454C, 0x12AB, 0x430C, 0x12A8, 0xB03C,
-0x0020, 0x2818, 0x53A1, 0x0008, 0x12B0, 0xBB5A, 0x403C, 0xC032, 0x12B0,
-0xD5CC, 0x2376, 0x12B0, 0xBB5A, 0x403C, 0x0010, 0x12B0, 0xD5CC, 0x236F,
-0x40B1, 0x0010, 0x0004, 0x3C04, 0x12B0, 0xBB92, 0x4391, 0x000E, 0x12B0,
-0xD790, 0x12B0, 0xBB78, 0x2384, 0x12B0, 0xBBBE, 0x12B0, 0xBB62, 0x435C,
-0x12AA, 0x434C, 0x12AA, 0x430C, 0x12A8, 0x4C81, 0x0006, 0x12B0, 0xBBEA,
-0x415F, 0x0006, 0xDF81, 0x0000, 0x12B0, 0xBBBE, 0x407C, 0x0048, 0x12AB,
-0x427C, 0x12A4, 0x12B0, 0xBB62, 0x412C, 0x12A8, 0x435C, 0x12AA, 0x12B0,
-0xBBEA, 0x12B0, 0xD69A, 0x464C, 0x12AB, 0x403C, 0x0080, 0x12A8, 0x12B0,
-0xBB8A, 0x403C, 0x0C04, 0x12A8, 0x434C, 0x12AA, 0x407C, 0x0021, 0x12B0,
-0xBB5C, 0x12B0, 0xBBAA, 0x407C, 0x0088, 0x12AB, 0x403C, 0x0034, 0x12A8,
-0x12B0, 0xBB5A, 0x403C, 0x0260, 0x12B0, 0xBBDE, 0x12B0, 0xBB5A, 0x403C,
-0x00FC, 0x12B0, 0xBBDE, 0x430C, 0x12A8, 0x4C07, 0x12B0, 0xBB8A, 0x430C,
-0x12A8, 0x12B0, 0xBBAA, 0xD117, 0x0004, 0x4781, 0x000C, 0x403D, 0x000A,
-0x410C, 0x503C, 0x0006, 0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031,
-0x0010, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x0022, 0x4381, 0x0006, 0x4381, 0x0008, 0x4381,
-0x0002, 0x4381, 0x0004, 0x4381, 0x0000, 0x410C, 0x503C, 0x0006, 0x421F,
-0x1112, 0x129F, 0x0018, 0x410C, 0x532C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x407C, 0x0046, 0x1292, 0x1354,
-0x430C, 0x430D, 0x430E, 0x430F, 0x1292, 0x135E, 0x4C08, 0x4D09, 0x4E0A,
-0x4F0B, 0x9381, 0x0000, 0x2022, 0x421E, 0x14B2, 0xF31E, 0x4A06, 0xF316,
-0x960E, 0x241B, 0xB31A, 0x2819, 0x431C, 0x421F, 0x1112, 0x129F, 0x0008,
-0x403C, 0x0080, 0x421F, 0x1112, 0x129F, 0x0008, 0x480C, 0x490D, 0x421F,
-0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F, 0x000A,
-0x431C, 0x3CE0, 0x9381, 0x0000, 0x2009, 0x421F, 0x14B4, 0xF03F, 0x8000,
-0x4B07, 0xF037, 0x8000, 0x970F, 0x24D3, 0x422C, 0x421F, 0x1112, 0x129F,
-0x0008, 0x480C, 0x490D, 0x421F, 0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D,
-0x421F, 0x1112, 0x129F, 0x000A, 0x930B, 0x38BE, 0x9381, 0x0000, 0x20BB,
-0x410C, 0x503C, 0x000A, 0x403E, 0x27CE, 0x423D, 0x12B0, 0xD454, 0x410F,
-0x503F, 0x0012, 0x120F, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x000C,
-0x4217, 0x1112, 0x1297, 0x000E, 0x403C, 0x0003, 0x1292, 0x1230, 0x410C,
-0x503C, 0x0014, 0x421F, 0x1112, 0x129F, 0x0010, 0x4036, 0x1360, 0x434C,
-0x12A6, 0x407C, 0x00C1, 0x1292, 0x1354, 0x403C, 0xFFFE, 0x430D, 0x1292,
-0x135A, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0042, 0x1292, 0x1354,
-0x4037, 0x1358, 0x430C, 0x12A7, 0x4C05, 0x435C, 0x12A6, 0x434C, 0x12A6,
-0x435C, 0x12A6, 0x407C, 0x0028, 0x1292, 0x1354, 0x430C, 0x12A7, 0x434C,
-0x12A6, 0x4074, 0x0082, 0x444C, 0x1292, 0x1354, 0x435C, 0x12A6, 0x403C,
-0x0080, 0x12A7, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C,
-0x1400, 0x12A7, 0x444C, 0x1292, 0x1354, 0x434C, 0x12A6, 0x435C, 0x12A6,
-0x5325, 0x450C, 0x12A7, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x403C, 0x4303,
-0x12A7, 0x434C, 0x12A6, 0x407C, 0x0021, 0x1292, 0x1354, 0x430C, 0x430D,
-0x1292, 0x135A, 0x434C, 0x12A6, 0x444C, 0x1292, 0x1354, 0x435C, 0x12A6,
-0x432C, 0x12A7, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x1401, 0x12A7,
-0x444C, 0x1292, 0x1354, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x430C, 0x12A7,
-0x434C, 0x12A6, 0x435C, 0x12A6, 0x403C, 0x3FFD, 0x12A7, 0x434C, 0x12A6,
-0x435C, 0x12A6, 0x434C, 0x12A6, 0x407C, 0x0021, 0x1292, 0x1354, 0x430C,
-0x430D, 0x1292, 0x135A, 0x435C, 0x12A6, 0x407C, 0x00C8, 0x1292, 0x1354,
-0x403C, 0x0501, 0x12A7, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x434C, 0x12A6,
-0x407C, 0x0042, 0x1292, 0x1354, 0x435C, 0x12A6, 0x5321, 0x431C, 0x3C01,
-0x432C, 0x9381, 0x0000, 0x2402, 0x430C, 0x3C08, 0x4882, 0x14AE, 0x4982,
-0x14B0, 0x4A82, 0x14B2, 0x4B82, 0x14B4, 0x5031, 0x0022, 0x4030, 0xD41E,
-0x407C, 0x00C1, 0x4820, 0x403C, 0x012C, 0x4030, 0x5C46, 0x444C, 0x12A8,
-0x403C, 0x0034, 0x12AB, 0x464C, 0x4030, 0x5AF4, 0x12B0, 0x5B54, 0x4030,
-0x5B6C, 0x12B0, 0x5C46, 0x12B0, 0x5CAE, 0x430C, 0x4B20, 0x12B0, 0x5AEA,
-0x3FF0, 0x12B0, 0x5B54, 0x12B0, 0x5C38, 0x4820, 0x12B0, 0x5A56, 0x403C,
-0x3FFD, 0x12AB, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12B0, 0x5BA6, 0x4A20,
-0x12B0, 0x5AD2, 0x4C81, 0x0002, 0x12B0, 0x5ABA, 0x4C81, 0x0004, 0x12B0,
-0x5AC6, 0x411E, 0x0002, 0x411F, 0x0004, 0x4130, 0x12B0, 0x5AD2, 0x4C81,
-0x0004, 0x12B0, 0x5ABA, 0x4C81, 0x0002, 0x12B0, 0x5AC6, 0x411E, 0x0004,
-0x411F, 0x0002, 0x4130, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x430C, 0x4B20,
-0x434C, 0x12AA, 0x12B0, 0x5BB2, 0x435C, 0x4A20, 0x12B0, 0x5A56, 0x403C,
-0x00FC, 0x12B0, 0x5AEA, 0x430C, 0x4B20, 0x12B0, 0x5B98, 0x4030, 0x5AF4,
-0x12AB, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12A8, 0x435C, 0x4A20, 0x431C,
-0x1292, 0x275A, 0x454C, 0x12A8, 0x430C, 0x430D, 0x1292, 0x135A, 0x53B1,
-0x0006, 0x421E, 0x145C, 0x4130, 0x12B0, 0x5A5C, 0x403C, 0x012C, 0x12B0,
-0x5C46, 0x421C, 0x1482, 0xD03C, 0x0040, 0x12B0, 0x5B32, 0x4030, 0x5B38,
-0x12AB, 0x435C, 0x4A20, 0x12B0, 0x5C2E, 0x4A20, 0x12B0, 0xD196, 0xF03C,
-0x0F00, 0x4130, 0x12B0, 0x5B38, 0x12B0, 0x5B54, 0x4030, 0x5B6C, 0x464C,
-0x12A8, 0x403C, 0x3FFF, 0x12AB, 0x434C, 0x12AA, 0x494C, 0x12A8, 0x403C,
-0x2409, 0x4130, 0x12AB, 0x4030, 0x5CAE, 0x4F81, 0x0002, 0x12B0, 0x5B98,
-0x12A8, 0x403C, 0x0080, 0x12AB, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x411C,
-0x0002, 0x12AB, 0x434C, 0x12AA, 0x454C, 0x3F70, 0x444C, 0x12A8, 0x407C,
-0x0034, 0x12A7, 0x464C, 0x4130, 0x12B0, 0x5BBC, 0x12B0, 0x5BB2, 0x435C,
-0x4130, 0x444C, 0x12A8, 0x407C, 0x0024, 0x4720, 0x12A8, 0x4030, 0x5CAE,
-0x12B0, 0x5C6A, 0x4B20, 0x403C, 0x0003, 0x1292, 0x11E4, 0x410C, 0x503C,
-0x0036, 0x421F, 0x1112, 0x129F, 0x0010, 0x403C, 0x1462, 0x12B0, 0x9702,
-0x12B0, 0x5B54, 0x12B0, 0x5C38, 0x12A8, 0x403C, 0x0128, 0x12B0, 0x5C46,
-0x421C, 0x147E, 0x12B0, 0x5C52, 0x403C, 0x012A, 0x12B0, 0x5C46, 0x421C,
-0x1480, 0x12B0, 0x5C52, 0x403C, 0x012C, 0x12B0, 0x5C46, 0x421C, 0x1482,
-0x12AB, 0x435C, 0x12AA, 0x12B0, 0x5C6A, 0x12AB, 0x4C81, 0x0004, 0x3F85,
-0x12B0, 0x5C9A, 0x12A8, 0x435C, 0x4130, 0x12B0, 0x5CAC, 0x12B0, 0x5C60,
-0x407C, 0x00C1, 0x4130, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x4820,
-0x12B0, 0x5B32, 0x12B0, 0x5C8A, 0x12B0, 0x5C60, 0x3EE2, 0x407C, 0x0048,
-0x12A8, 0x427C, 0x4720, 0x12B0, 0x5C8A, 0x407C, 0x00C1, 0x12A8, 0x403C,
-0x012C, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12B0, 0x5BBC, 0x430C,
-0x4130, 0x12B0, 0x5C9A, 0x12B0, 0x5AF4, 0x12B0, 0x5B54, 0x4030, 0x5CAC,
-0x434C, 0x12AA, 0x494C, 0x12A8, 0x403C, 0x2401, 0x12AB, 0x454C, 0x4130,
-0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x000C, 0x410C, 0x532C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFDA, 0x3D29, 0x410C,
-0x421F, 0x1112, 0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFD9, 0x3D1F,
-0x403A, 0x1354, 0x407B, 0x00C8, 0x4B4C, 0x12AA, 0x4038, 0x1358, 0x403C,
-0x2401, 0x12A8, 0x407C, 0x0028, 0x12AA, 0x907C, 0x0089, 0x2403, 0x403C,
-0xFFD0, 0x3D0B, 0x12B0, 0xD7D6, 0x4C04, 0x4039, 0x1360, 0x435C, 0x12A9,
-0x4037, 0x135C, 0x4035, 0x1356, 0xB034, 0x0200, 0x2C34, 0x12B0, 0xB564,
-0x407C, 0x0034, 0x12A5, 0x4C44, 0x407C, 0x00B0, 0x12AA, 0x403C, 0x0089,
-0x430D, 0x12A7, 0x430C, 0x430D, 0x12A7, 0xD034, 0x0040, 0x12B0, 0xB578,
-0x12B0, 0xD6A6, 0x12B0, 0xB578, 0xF034, 0xFFBF, 0x12B0, 0xD6A6, 0x12B0,
-0xB5EC, 0x407C, 0x0028, 0x12AA, 0x4036, 0x0032, 0x3C02, 0x9306, 0x240B,
-0x430C, 0x12A8, 0x4C04, 0x5336, 0x933C, 0x27F8, 0xB03C, 0x0200, 0x2BF5,
-0x9306, 0x2003, 0x403C, 0xFFDB, 0x3CC9, 0xB324, 0x2807, 0x434C, 0x12A9,
-0x12B0, 0xB5EC, 0x435C, 0x12A9, 0x3C02, 0x12B0, 0xB5EC, 0x407C, 0x0082,
-0x12B0, 0xB5AE, 0x403C, 0x4303, 0x12B0, 0xB5B4, 0x407C, 0x0042, 0x12AA,
-0x12B0, 0xCCFA, 0x2003, 0x403C, 0xFFD1, 0x3CAD, 0x93A2, 0x137C, 0x200F,
-0x9382, 0x137E, 0x200C, 0x12B0, 0xB56A, 0x403C, 0x000F, 0x430D, 0x12A7,
-0x12B0, 0xB56A, 0x403C, 0x000C, 0x430D, 0x12A7, 0x12B0, 0xB5DA, 0x12B0,
-0xB5DA, 0x403C, 0x0401, 0x12A8, 0x407C, 0x0098, 0x12AA, 0x12B0, 0xD68E,
-0x12B0, 0xD68E, 0x12B0, 0xB564, 0x407C, 0x0024, 0x12A5, 0x4306, 0x4077,
-0x0021, 0x12B0, 0xB586, 0x903C, 0xFFFE, 0x2002, 0x930D, 0x240B, 0x903C,
-0x0F00, 0x2002, 0x930D, 0x2406, 0x12B0, 0xD9F4, 0x5316, 0x9036, 0x000A,
-0x2BEE, 0x9036, 0x000A, 0x27C0, 0x434C, 0x12A9, 0x12B0, 0xB55C, 0x12B0,
-0xB55C, 0x474C, 0x12AA, 0x430C, 0x12A8, 0x12B0, 0xCCFA, 0x27B3, 0x12B0,
-0xB5F6, 0x12B0, 0xB5BA, 0x12B0, 0xB55C, 0x430C, 0x12A8, 0x4C81, 0x0004,
-0x12B0, 0xB5D0, 0x415F, 0x0004, 0xDF81, 0x0000, 0x12B0, 0xB5F6, 0x407C,
-0x0048, 0x12AA, 0x427C, 0x12A5, 0x12B0, 0xB5BA, 0x412C, 0x12A8, 0x435C,
-0x12A9, 0x12B0, 0xB5D0, 0x12B0, 0xB586, 0x4C81, 0x0006, 0x4D81, 0x0008,
-0x12B0, 0xB564, 0x407C, 0x0034, 0x12A5, 0x407C, 0x0082, 0x12AA, 0x403C,
-0x0080, 0x12A8, 0x12B0, 0xD9F4, 0x403C, 0x0C04, 0x12B0, 0xB5B4, 0x474C,
-0x12B0, 0xB5AE, 0x12B0, 0xB592, 0x12B0, 0xB564, 0x403C, 0x0034, 0x12A8,
-0x407C, 0x0082, 0x12B0, 0xB5AE, 0x403C, 0x0260, 0x12B0, 0xB5A6, 0x407C,
-0x0082, 0x12B0, 0xB5AE, 0x403C, 0x00FC, 0x12B0, 0xB5A6, 0x430C, 0x12A8,
-0x4C0B, 0x12B0, 0xD9F4, 0x430C, 0x12A8, 0x12B0, 0xB592, 0x4B81, 0x000A,
-0x423D, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031,
-0x000C, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x0016, 0x403B, 0x1112, 0x410C, 0x503C, 0x000A,
-0x12B0, 0xD7B8, 0x2403, 0x403C, 0xFFE8, 0x3D25, 0x410C, 0x523C, 0x12B0,
-0xD7B8, 0x2403, 0x403C, 0xFFE7, 0x3D1D, 0x410C, 0x503C, 0x0012, 0x4B2F,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3D12, 0x410C, 0x503C,
-0x0006, 0x12B0, 0xD7B8, 0x2403, 0x403C, 0xFFE5, 0x3D09, 0x410C, 0x522C,
-0x12B0, 0xD7B8, 0x2403, 0x403C, 0xFFE4, 0x3D01, 0x410C, 0x532C, 0x4B2F,
-0x129F, 0x0016, 0x933C, 0x2003, 0x403C, 0xFFE3, 0x3CF7, 0x410C, 0x4B2F,
-0x129F, 0x0016, 0x933C, 0x2002, 0x4381, 0x0000, 0x403A, 0x1354, 0x4077,
-0x00C8, 0x474C, 0x12AA, 0x403B, 0x1358, 0x403C, 0x3401, 0x12AB, 0x4078,
-0x0082, 0x484C, 0x12AA, 0x403C, 0x4032, 0x12AB, 0x4039, 0x1360, 0x12B0,
-0xD984, 0x411C, 0x0006, 0x12AB, 0x12B0, 0xD984, 0x403C, 0x3FFD, 0x12AB,
-0x12B0, 0xD620, 0x12B0, 0xD3C4, 0x484C, 0x12AA, 0x403C, 0x3FFF, 0x12AB,
-0x12B0, 0xD98C, 0x403C, 0x2409, 0x12AB, 0x435C, 0x12A9, 0x434C, 0x12A9,
-0x407C, 0x0048, 0x12AA, 0x427C, 0x1292, 0x1356, 0x407C, 0x00C1, 0x12AA,
-0x411C, 0x000A, 0x12AB, 0x407C, 0x00A1, 0x12AA, 0x411C, 0x0008, 0x12AB,
-0x435C, 0x12A9, 0x12B0, 0xD98C, 0x403C, 0x2401, 0x12AB, 0x4076, 0x0021,
-0x464C, 0x12AA, 0x435C, 0x12B0, 0xD98E, 0x403C, 0x3401, 0x12AB, 0x484C,
-0x12AA, 0x403C, 0x4030, 0x12AB, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x411C,
-0x0012, 0x12AB, 0x9382, 0x1506, 0x2404, 0x434C, 0x12A9, 0x435C, 0x12A9,
-0x434C, 0x12A9, 0x464C, 0x12AA, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A9,
-0x12B0, 0xD3C4, 0x4381, 0x000C, 0x4381, 0x000E, 0x4381, 0x0010, 0x4077,
-0x0090, 0x474C, 0x12AA, 0x403C, 0x0003, 0x12B0, 0xDA28, 0x4C81, 0x000C,
-0x403C, 0x000B, 0x12B0, 0xDA28, 0x4C04, 0x4C81, 0x000E, 0x403C, 0x0013,
-0x12B0, 0xDA28, 0x4C05, 0x4C81, 0x0010, 0x432C, 0x12B0, 0xDA28, 0x403C,
-0x000A, 0x12B0, 0xDA28, 0x403C, 0x0012, 0x12B0, 0xDA28, 0x432C, 0x12AB,
-0x411C, 0x000C, 0x12AB, 0x403C, 0x000A, 0x12AB, 0x440C, 0x12AB, 0x403C,
-0x0012, 0x12AB, 0x450C, 0x12AB, 0x421F, 0x137C, 0xD21F, 0x137E, 0x930F,
-0x2420, 0x9382, 0x1380, 0x2410, 0x474C, 0x12AA, 0x403C, 0x0089, 0x12B0,
-0xDA28, 0x4C04, 0x474C, 0x12AA, 0x403C, 0x0088, 0x12AB, 0xF034, 0xFFEF,
-0x440C, 0x12AB, 0x93A2, 0x137C, 0x200A, 0x9382, 0x137E, 0x2007, 0x474C,
-0x12AA, 0x480C, 0x12AB, 0x403C, 0x000F, 0x12AB, 0x407C, 0x0030, 0x12AA,
-0x411C, 0x0004, 0x12AB, 0x9381, 0x0002, 0x240C, 0x484C, 0x12AA, 0x411C,
-0x0002, 0x12AB, 0x434C, 0x12A9, 0x464C, 0x12AA, 0x435C, 0x12A9, 0x3C02,
-0x464C, 0x12AA, 0x407C, 0x00A8, 0x12AA, 0x9381, 0x0000, 0x2402, 0x1292,
-0x2756, 0x430C, 0x5031, 0x0016, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x8221, 0x4E0A, 0x4F0B, 0x4C0F, 0x823F,
-0x2408, 0x823F, 0x2434, 0x822F, 0x2436, 0x803F, 0x000C, 0x2438, 0x3CDA,
-0x40B1, 0x0080, 0x0000, 0x4381, 0x0002, 0x4C08, 0x4039, 0x150C, 0x4036,
-0x1504, 0x4037, 0x0190, 0x930C, 0x246A, 0x4A0E, 0x4B0F, 0xF12E, 0xF11F,
-0x0002, 0x9318, 0x4E0D, 0xDF0D, 0x2026, 0x930D, 0xD0F2, 0x0040, 0x0029,
-0x4214, 0x2758, 0x470C, 0x2026, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xC0F2, 0x0040, 0x0029,
-0x3C25, 0x40B1, 0x8000, 0x0000, 0x3FD1, 0x4381, 0x0000, 0x42B1, 0x0002,
-0x3FCE, 0x4381, 0x0000, 0x40B1, 0x8000, 0x0002, 0x3FC8, 0x930D, 0xC0F2,
-0x0040, 0x0029, 0x4214, 0x2758, 0x470C, 0x27DA, 0x1284, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2,
-0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x421F, 0x2782, 0x4FE2, 0x1513, 0x462F,
-0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC9EF, 0x0000, 0x5A0A, 0x6B0B,
-0x5338, 0x9308, 0x2396, 0xB0F2, 0x0040, 0x1100, 0xD0F2, 0x0040, 0x0029,
-0x4214, 0x2758, 0x470C, 0x285D, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2, 0x0040, 0x0029,
-0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F, 0xD3DF, 0x0000,
-0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC9EF,
-0x0000, 0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000,
-0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2, 0x0040,
-0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F,
-0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F,
-0xC9EF, 0x0000, 0x430C, 0x430D, 0x5221, 0x4030, 0xD420, 0x1284, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284,
-0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000,
-0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC9EF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284,
-0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C,
-0x1284, 0xC0F2, 0x0040, 0x0029, 0x3FA2, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x4C0A, 0x4D0B, 0x4218, 0x01F2, 0x40B2, 0x2839, 0x01EA, 0x40B2,
-0x2845, 0x01F2, 0x4C0F, 0xDD0F, 0x930F, 0x2482, 0x4039, 0x150C, 0x4036,
-0x1504, 0x533A, 0x633B, 0x435C, 0x1292, 0x1360, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x462F, 0xE9EF, 0x0000, 0xC232, 0x4303, 0x425E, 0x277E,
-0x4E4F, 0xE37F, 0x421D, 0x2784, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x462C,
-0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000, 0xDECD, 0x0000, 0xD232,
-0x462F, 0xE9EF, 0x0000, 0x434C, 0x1292, 0x1360, 0x4A0F, 0xDB0F, 0x930F,
-0x2382, 0x4882, 0x01F2, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x4C0A, 0x4D0B, 0x4218, 0x01F2, 0x40B2, 0x283F, 0x01EA, 0x40B2,
-0x284B, 0x01F2, 0x4C0F, 0xDD0F, 0x930F, 0x2482, 0x4039, 0x150C, 0x4036,
-0x1504, 0x533A, 0x633B, 0x435C, 0x1292, 0x1360, 0x434C, 0x1292, 0x1360,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x462F, 0xE9EF, 0x0000, 0xC232,
-0x4303, 0x425E, 0x277E, 0x4E4F, 0xE37F, 0x421D, 0x2784, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01E8,
-0xD392, 0x01E8, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462C, 0xE9EC, 0x0000, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01F0, 0x462C, 0xE9EC, 0x0000, 0xC232, 0x4303, 0xFFCD, 0x0000,
-0xDECD, 0x0000, 0xD232, 0x462F, 0xE9EF, 0x0000, 0x4A0F, 0xDB0F, 0x930F,
-0x2382, 0x3F66, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x000C, 0x410C, 0x532C, 0x421F, 0x1112, 0x129F, 0x0016,
-0x930C, 0x2403, 0x403C, 0xFFDA, 0x3D10, 0x410C, 0x421F, 0x1112, 0x129F,
-0x0016, 0x930C, 0x2403, 0x403C, 0xFFD9, 0x3D06, 0x403A, 0x1354, 0x407B,
-0x00C8, 0x4B4C, 0x12AA, 0x4038, 0x1358, 0x4039, 0x2401, 0x12B0, 0xD736,
-0x907C, 0x0089, 0x2403, 0x403C, 0xFFD0, 0x3CF4, 0x407C, 0x0028, 0x12B0,
-0xD9EE, 0x4C04, 0x4036, 0x1360, 0x435C, 0x12A6, 0x4075, 0x0090, 0xB034,
-0x0200, 0x2C2F, 0x407C, 0x0088, 0x12AA, 0x407C, 0x0034, 0x1292, 0x1356,
-0x454C, 0x12AA, 0x403C, 0x0089, 0x12A8, 0x430C, 0x12B0, 0xD612, 0xD037,
-0x0040, 0x470C, 0x12B0, 0xD612, 0xF037, 0xFFBF, 0x470C, 0x12A8, 0x4B4C,
-0x12AA, 0x12B0, 0xD736, 0x4037, 0x0032, 0x3C02, 0x9307, 0x240B, 0x430C,
-0x12A8, 0x4C04, 0x5337, 0x933C, 0x27F8, 0xB03C, 0x0200, 0x2BF5, 0x9307,
-0x2003, 0x403C, 0xFFDB, 0x3CB7, 0xB324, 0x2803, 0x12B0, 0xCF4A, 0x3C02,
-0x12B0, 0xCF42, 0x12B0, 0xD48E, 0x435C, 0x12A6, 0x403C, 0x4303, 0x12B0,
-0xD71E, 0x12B0, 0xCC02, 0x2003, 0x403C, 0xFFD1, 0x3CA2, 0x93A2, 0x137C,
-0x200D, 0x9382, 0x137E, 0x200A, 0x12B0, 0xD89E, 0x403C, 0x000F, 0x12A8,
-0x12B0, 0xD89E, 0x403C, 0x000C, 0x12A8, 0x12B0, 0xCF52, 0x12B0, 0xCF52,
-0x403C, 0x0401, 0x12A8, 0x407C, 0x0098, 0x12AA, 0x12B0, 0xD6EE, 0x12B0,
-0xD6EE, 0x407C, 0x0088, 0x12AA, 0x407C, 0x0024, 0x1292, 0x1356, 0x4307,
-0x4075, 0x0021, 0x12B0, 0xD9EC, 0x903C, 0xFFFE, 0x2409, 0x903C, 0x0F00,
-0x2406, 0x12B0, 0xD9AC, 0x5317, 0x9037, 0x000A, 0x2BF2, 0x9037, 0x000A,
-0x27C4, 0x434C, 0x12A6, 0x12B0, 0xD9CC, 0x434C, 0x12A6, 0x12B0, 0xD9EC,
-0x12B0, 0xCC02, 0x27B9, 0x12B0, 0xCFD6, 0x12B0, 0xD3B2, 0x12B0, 0xCFEE,
-0x430C, 0x12A8, 0x4C81, 0x0004, 0x12B0, 0xD6BE, 0x415F, 0x0004, 0xDF81,
-0x0000, 0x12B0, 0xCFD6, 0x407C, 0x0048, 0x12AA, 0x427C, 0x1292, 0x1356,
-0x12B0, 0xD3B2, 0x412C, 0x12A8, 0x435C, 0x12A6, 0x12B0, 0xD6BE, 0x12B0,
-0xD9EC, 0x4C81, 0x0006, 0x4381, 0x0008, 0x12B0, 0xD484, 0x403C, 0x4030,
-0x12A8, 0x12B0, 0xD9AC, 0x403C, 0x0C04, 0x12A8, 0x9382, 0x1506, 0x2402,
-0x12B0, 0xD9AC, 0x434C, 0x12A6, 0x454C, 0x12AA, 0x9382, 0x1506, 0x2002,
-0x435C, 0x12A6, 0x12B0, 0xCF4A, 0x12B0, 0xD484, 0x403C, 0x4282, 0x12B0,
-0xD71E, 0x435C, 0x12A6, 0x12B0, 0xD48E, 0x403C, 0x00FE, 0x12B0, 0xD71E,
-0x12B0, 0xD9CC, 0x430C, 0x12A8, 0x4C81, 0x000A, 0x12B0, 0xCF4A, 0x423D,
-0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0006, 0x430C, 0x5031, 0x000C,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x0010, 0x4381, 0x000A, 0x4381, 0x0004, 0x403B, 0x1112,
-0x410C, 0x503C, 0x000E, 0x12B0, 0xDA22, 0x410C, 0x503C, 0x000C, 0x12B0,
-0xDA22, 0x410C, 0x503C, 0x0006, 0x4B2F, 0x129F, 0x0018, 0x410C, 0x532C,
-0x12B0, 0xDA22, 0x410C, 0x503C, 0x000A, 0x12B0, 0xDA22, 0x410C, 0x12B0,
-0xDA22, 0x410C, 0x522C, 0x12B0, 0xDA22, 0x403B, 0x1360, 0x434C, 0x12AB,
-0x4038, 0x1354, 0x407A, 0x0082, 0x12B0, 0xD934, 0x4039, 0x1358, 0x4A0C,
-0x12A9, 0x4076, 0x00C8, 0x464C, 0x12A8, 0x403C, 0x1401, 0x12B0, 0xD604,
-0x411C, 0x0002, 0x12A9, 0x12B0, 0xD60A, 0x403C, 0x3FFD, 0x12B0, 0xD62E,
-0x4077, 0x0021, 0x12B0, 0xD63A, 0x435C, 0x12AB, 0x464C, 0x12A8, 0x403C,
-0x0501, 0x12B0, 0xD62E, 0x407C, 0x0042, 0x12A8, 0x435C, 0x12AB, 0x12B0,
-0xD864, 0x403C, 0x0500, 0x12A9, 0x407C, 0x00C1, 0x12A8, 0x411C, 0x000E,
-0x430D, 0x1292, 0x135A, 0x435C, 0x12AB, 0x407C, 0x00A1, 0x12A8, 0x411C,
-0x000C, 0x12B0, 0xD862, 0x403C, 0x0501, 0x12A9, 0x435C, 0x12AB, 0x12B0,
-0xD60A, 0xB0B1, 0x0010, 0x0002, 0x2805, 0x50B1, 0xFFFE, 0x0006, 0x63B1,
-0x0008, 0x411C, 0x0006, 0x411D, 0x0008, 0x12B0, 0xD196, 0x4C04, 0xF034,
-0x0F00, 0x5034, 0x0080, 0x4115, 0x0006, 0x407C, 0x0028, 0x12A8, 0x430C,
-0x12B0, 0xDA1C, 0x12B0, 0xD934, 0x440C, 0x12B0, 0xD862, 0x403C, 0x1400,
-0x12B0, 0xD604, 0x450C, 0x12A9, 0x12B0, 0xD60A, 0x403C, 0x4303, 0x12B0,
-0xDA1C, 0x12B0, 0xD63A, 0x9381, 0x0000, 0x240A, 0x12B0, 0xD830, 0x12B0,
-0xD934, 0x412C, 0x12B0, 0xDA1C, 0x474C, 0x12A8, 0x3C08, 0x435C, 0x12AB,
-0x12B0, 0xD830, 0x474C, 0x12A8, 0x434C, 0x12AB, 0x435C, 0x12AB, 0x407C,
-0x0030, 0x12A8, 0x411C, 0x000A, 0x12A9, 0x9382, 0x138E, 0x2413, 0x407C,
-0x00F4, 0x12A8, 0x430C, 0x12A9, 0x4C0B, 0x407C, 0x00F4, 0x12A8, 0xC21B,
-0x138E, 0xD21B, 0x1390, 0x4B0C, 0x12A9, 0x403C, 0x0014, 0x1292, 0x275A,
-0x421F, 0x1382, 0xD21F, 0x1384, 0x930F, 0x241C, 0x407C, 0x0054, 0x12A8,
-0x430C, 0x430D, 0x1292, 0x135C, 0x4C0A, 0x4D0B, 0x407C, 0x0054, 0x12A8,
-0xC21A, 0x1382, 0xC21B, 0x1384, 0xD21A, 0x1386, 0xD21B, 0x1388, 0x4A0C,
-0x4B0D, 0x1292, 0x135C, 0x403C, 0x0014, 0x1292, 0x275A, 0x407C, 0x00A8,
-0x12A8, 0x9381, 0x0004, 0x2402, 0x1292, 0x2756, 0x430C, 0x5031, 0x0010,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x403F,
-0x150C, 0x403D, 0x1504, 0x403A, 0x2839, 0x403B, 0x277E, 0xB2D2, 0x2780,
-0x1100, 0x2419, 0x4A82, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0x4217, 0x2784, 0xCBE7, 0x0000,
-0x4217, 0x2784, 0xDBE7, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x3C1B,
-0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0x4217, 0x2784, 0xCBE7, 0x0000, 0x4217,
-0x2784, 0xDBE7, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x4A82, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232,
-0x4303, 0x4B68, 0xE378, 0x4219, 0x2784, 0xF8C9, 0x0000, 0xDBE9, 0x0000,
-0xD232, 0x4D27, 0xEFE7, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000, 0x4076, 0x0080,
-0xB64C, 0x2408, 0x3C10, 0xB356, 0x2BFB, 0xB64C, 0x2409, 0x4A82, 0x01EA,
-0x3C09, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000,
-0xC232, 0x4303, 0xF8C9, 0x0000, 0x5E4E, 0x4217, 0x2782, 0xB2D7, 0x2781,
-0x0000, 0x2002, 0x4347, 0x3C01, 0x4357, 0xD74E, 0xDBE9, 0x0000, 0xD232,
-0x4D27, 0xEFE7, 0x0000, 0x1106, 0x23D1, 0x93D2, 0x1396, 0x2004, 0x43C2,
-0x1100, 0x43C2, 0x1396, 0xB2D2, 0x2780, 0x1100, 0x241D, 0x4A82, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27, 0xEFE7, 0x0000, 0xC232,
-0x4303, 0xF8C9, 0x0000, 0xDBE9, 0x0000, 0xD232, 0x4D27, 0xEFE7, 0x0000,
-0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x3C1A,
-0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBE9, 0x0000, 0xD232,
-0x4D27, 0xEFE7, 0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D27,
-0xEFE7, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBE9, 0x0000, 0xD232,
-0x4D2B, 0xEFEB, 0x0000, 0x4E4C, 0x4030, 0xD422, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0010, 0x403A, 0x1354,
-0x407C, 0x0028, 0x12AA, 0x4C4C, 0x4036, 0x135C, 0x403B, 0x1358, 0x903C,
-0x0091, 0x2003, 0x12B0, 0xBCBA, 0x3C0B, 0x903C, 0x0099, 0x2008, 0x12B0,
-0xBCBA, 0x407C, 0x0054, 0x12AA, 0x430C, 0x431D, 0x12A6, 0x12B0, 0xBCC6,
-0x403C, 0x6D8E, 0x430D, 0x12A6, 0x407C, 0x0030, 0x12AA, 0x403C, 0x0005,
-0x12AB, 0x4078, 0x00C8, 0x484C, 0x12AA, 0x403C, 0x1501, 0x12AB, 0x4307,
-0x12B0, 0xBCB0, 0x3C03, 0x430C, 0x12AB, 0x5317, 0xB03C, 0x0200, 0x2C03,
-0x9037, 0x0032, 0x3BF7, 0x9037, 0x0032, 0x34BB, 0x4039, 0x1360, 0x12B0,
-0xBC9C, 0x403C, 0x0C01, 0x12AB, 0x403C, 0x0028, 0x1292, 0x275A, 0x403C,
-0x0401, 0x12B0, 0xBCA6, 0x12B0, 0xBCA8, 0x12B0, 0xBCA8, 0x12B0, 0xBCA8,
-0x12B0, 0xBC9C, 0x403C, 0x0501, 0x12B0, 0xBCA6, 0x407C, 0x0030, 0x12AA,
-0x403C, 0x000E, 0x12AB, 0x12B0, 0xBCB0, 0x4035, 0x1112, 0x410C, 0x532C,
-0x452F, 0x129F, 0x0016, 0x410C, 0x452F, 0x129F, 0x0016, 0x12B0, 0xBC92,
-0x4034, 0x135A, 0x411C, 0x0002, 0x12B0, 0xBCD4, 0x4C81, 0x0006, 0x12B0,
-0xBC8A, 0x415F, 0x0006, 0xDF81, 0x0000, 0x12B0, 0xBCF4, 0x411C, 0x0002,
-0x12B0, 0xBCE6, 0x412C, 0x12B0, 0xBD08, 0x407C, 0x0021, 0x12AA, 0x430C,
-0x430D, 0x12A4, 0x903C, 0xFFFE, 0x200F, 0x930D, 0x200D, 0x12B0, 0xBC92,
-0x403C, 0xFFFE, 0x12B0, 0xBCD4, 0x4C81, 0x0008, 0x12B0, 0xBC8A, 0x4381,
-0x000A, 0x3C07, 0x503C, 0xFFFC, 0x633D, 0x4C81, 0x0008, 0x4D81, 0x000A,
-0x4381, 0x000C, 0x431C, 0x452F, 0x129F, 0x001A, 0x4307, 0x470C, 0x503C,
-0x1102, 0x452F, 0x129F, 0x0014, 0x475F, 0x1102, 0x907F, 0x003C, 0x2C28,
-0x4FD1, 0x12F2, 0x0004, 0x93C1, 0x0004, 0x2422, 0x431C, 0x474E, 0x12B0,
-0xD6CA, 0xBC82, 0x1144, 0x2002, 0x430F, 0x3C01, 0x431F, 0x4F81, 0x000E,
-0x12B0, 0xBCF4, 0x403C, 0x0110, 0x12B0, 0xBCE6, 0x415C, 0x0004, 0x503C,
-0x9600, 0x12B0, 0xBD08, 0x12B0, 0xBCF4, 0x403C, 0x011E, 0x12B0, 0xBCE6,
-0x411C, 0x000E, 0x12B0, 0xBD08, 0x5317, 0x9037, 0x0010, 0x3BC9, 0x12B0,
-0xBCC6, 0x403C, 0x000E, 0x430D, 0x12A6, 0x403C, 0x00B0, 0x430D, 0x12A6,
-0x403C, 0x0045, 0x430D, 0x12A6, 0x423D, 0x410C, 0x503C, 0x0006, 0x452F,
-0x129F, 0x0006, 0x430C, 0x3C01, 0x433C, 0x5031, 0x0010, 0x4030, 0xD41E,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031,
-0x005C, 0x4334, 0x410C, 0x503C, 0x0016, 0x403E, 0x27FB, 0x403D, 0x001F,
-0x12B0, 0xD454, 0x430A, 0x3C08, 0x410C, 0x503C, 0x0036, 0x5A0C, 0x4B2F,
-0x129F, 0x0014, 0x531A, 0x403B, 0x1112, 0x4036, 0x0016, 0x960A, 0x2BF2,
-0x4039, 0x0003, 0x4108, 0x5038, 0x004C, 0xB0F1, 0x0010, 0x003E, 0x2C14,
-0x1208, 0x460F, 0x410E, 0x532E, 0x403D, 0x001F, 0x410C, 0x503C, 0x0018,
-0x4B27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1244, 0x480C, 0x4B2F, 0x129F,
-0x0010, 0x5321, 0x4107, 0x5037, 0x0036, 0x1208, 0x430F, 0x430E, 0x460D,
-0x470C, 0x4B25, 0x1295, 0x000E, 0x490C, 0x1292, 0x1234, 0x480C, 0x4B2F,
-0x129F, 0x0010, 0x407C, 0x0046, 0x1292, 0x1354, 0x430C, 0x430D, 0x430E,
-0x430F, 0x1292, 0x135E, 0x5321, 0x930F, 0x3402, 0x430C, 0x3C98, 0xB0F1,
-0x0010, 0x003E, 0x2C82, 0x407C, 0x0046, 0x1292, 0x1354, 0x430C, 0x430D,
-0x430E, 0x430F, 0x1292, 0x135E, 0x531A, 0xB31E, 0x2C03, 0x903A, 0x01F4,
-0x2BF4, 0x903A, 0x01F4, 0x2C80, 0x1208, 0x430F, 0x431E, 0x460D, 0x470C,
-0x4B27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1230, 0x4C04, 0x480C, 0x4B2F,
-0x129F, 0x0010, 0x40F1, 0x0005, 0x0018, 0x43C1, 0x0019, 0x41D1, 0x0002,
-0x001A, 0x41D1, 0x0003, 0x001B, 0x41D1, 0x0004, 0x001C, 0x41D1, 0x0005,
-0x001D, 0x43E1, 0x001E, 0x41D1, 0x0006, 0x001F, 0x41D1, 0x0007, 0x0020,
-0x41D1, 0x0008, 0x0021, 0x41D1, 0x0009, 0x0022, 0x42E1, 0x0023, 0x41D1,
-0x000A, 0x0024, 0x41D1, 0x000B, 0x0025, 0x41D1, 0x000C, 0x0026, 0x41D1,
-0x000D, 0x0027, 0x40F1, 0x0006, 0x0028, 0x41D1, 0x000E, 0x0029, 0x41D1,
-0x000F, 0x002A, 0x41D1, 0x0010, 0x002B, 0x41D1, 0x0011, 0x002C, 0x40F1,
-0x0080, 0x002D, 0x41D1, 0x0012, 0x002E, 0x41D1, 0x0013, 0x002F, 0x41D1,
-0x0014, 0x0030, 0x41D1, 0x0015, 0x0031, 0x1208, 0x430F, 0x430E, 0x403D,
-0x001F, 0x410C, 0x503C, 0x001A, 0x4B27, 0x1297, 0x000E, 0x490C, 0x1292,
-0x1244, 0x480C, 0x4B2F, 0x129F, 0x0010, 0x5221, 0x3C11, 0x1208, 0x430F,
-0x431E, 0x460D, 0x470C, 0x4B27, 0x1297, 0x000E, 0x490C, 0x1292, 0x1230,
-0x480C, 0x4B2F, 0x129F, 0x0010, 0x4304, 0x5321, 0x440C, 0x5031, 0x005C,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x0012, 0x403B, 0x1112, 0x410C, 0x503C, 0x000A, 0x12B0,
-0xCCD2, 0x2403, 0x403C, 0xFFE8, 0x3CD6, 0x410C, 0x523C, 0x12B0, 0xCCD2,
-0x2403, 0x403C, 0xFFE7, 0x3CCE, 0x410C, 0x503C, 0x000E, 0x4B2F, 0x129F,
-0x0018, 0x930C, 0x2403, 0x403C, 0xFFE6, 0x3CC3, 0x410C, 0x503C, 0x0006,
-0x12B0, 0xCCD2, 0x2403, 0x403C, 0xFFE5, 0x3CBA, 0x410C, 0x522C, 0x12B0,
-0xCCD2, 0x2403, 0x403C, 0xFFE4, 0x3CB2, 0x410C, 0x532C, 0x4B2F, 0x129F,
-0x0016, 0x933C, 0x2003, 0x403C, 0xFFE3, 0x3CA8, 0x410C, 0x4B2F, 0x129F,
-0x0016, 0x933C, 0x2002, 0x4381, 0x0000, 0x403A, 0x1354, 0x4074, 0x0088,
-0x444C, 0x12AA, 0x403B, 0x1356, 0x407C, 0x0034, 0x12AB, 0x4078, 0x0082,
-0x484C, 0x12AA, 0x4039, 0x1360, 0x435C, 0x12A9, 0x4036, 0x1358, 0x480C,
-0x12B0, 0xCCBE, 0x411C, 0x0006, 0x12B0, 0xCCBE, 0x403C, 0x3FFD, 0x12B0,
-0xDA0A, 0x407C, 0x0042, 0x12B0, 0xCCDC, 0x484C, 0x12AA, 0x403C, 0x3FFF,
-0x12A6, 0x12B0, 0xD812, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12A9, 0x434C,
-0x12A9, 0x407C, 0x0048, 0x12AA, 0x427C, 0x12AB, 0x407C, 0x00C1, 0x12AA,
-0x411C, 0x000A, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12AA, 0x411C,
-0x0008, 0x12A6, 0x435C, 0x12A9, 0x12B0, 0xD812, 0x403C, 0x2401, 0x12A6,
-0x4077, 0x0021, 0x12B0, 0xCCF2, 0x411C, 0x000E, 0x411D, 0x0010, 0x12B0,
-0xD196, 0x4C05, 0xF035, 0x0F00, 0xD035, 0x0080, 0x4191, 0x000E, 0x000C,
-0x444C, 0x12AA, 0x407C, 0x0034, 0x12AB, 0x484C, 0x12AA, 0x450C, 0x12B0,
-0xDA0A, 0x435C, 0x12A9, 0x411C, 0x000C, 0x12B0, 0xDA0A, 0x474C, 0x12B0,
-0xCCDC, 0x93A2, 0x137C, 0x200F, 0x9382, 0x137E, 0x200C, 0x407C, 0x00B0,
-0x12AA, 0x480C, 0x430D, 0x1292, 0x135C, 0x403C, 0x000F, 0x430D, 0x1292,
-0x135C, 0x407C, 0x0030, 0x12AA, 0x411C, 0x0004, 0x12A6, 0x9381, 0x0002,
-0x2409, 0x484C, 0x12AA, 0x411C, 0x0002, 0x12B0, 0xDA0A, 0x12B0, 0xCCF2,
-0x3C02, 0x474C, 0x12AA, 0x407C, 0x00A8, 0x12AA, 0x9381, 0x0000, 0x2402,
-0x1292, 0x2756, 0x430C, 0x5031, 0x0012, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x421F, 0x01F2, 0x40B2, 0x2839, 0x01EA, 0x40B2, 0x2845, 0x01F2,
-0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x403E, 0x150C, 0x403D, 0x1504,
-0x4D2B, 0xEEEB, 0x0000, 0xC232, 0x4303, 0x425C, 0x277E, 0x4C4A, 0xE37A,
-0x421B, 0x2784, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEEE8,
-0x0000, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x4D28, 0xEEE8, 0x0000,
-0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D2B, 0xEEEB,
-0x0000, 0x4F82, 0x01F2, 0x430C, 0x4030, 0xD428, 0x120A, 0x120B, 0x1208,
-0x40B2, 0x2839, 0x01EA, 0x407E, 0x0006, 0x403F, 0x150C, 0x403D, 0x1504,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2B, 0xEFEB, 0x0000, 0xC232,
-0x4303, 0x425C, 0x277E, 0x4C4A, 0xE37A, 0x421B, 0x2784, 0xFACB, 0x0000,
-0xDCCB, 0x0000, 0xD232, 0x4D28, 0xEFE8, 0x0000, 0x537E, 0x23E6, 0x40B2,
-0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2E, 0xEFEE,
-0x0000, 0xC232, 0x4303, 0xFACB, 0x0000, 0xDCCB, 0x0000, 0xD232, 0x4D2B,
-0xEFEB, 0x0000, 0x3FC1, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x005C, 0x4337, 0x410C, 0x503C, 0x0016, 0x403E,
-0x281A, 0x403D, 0x001F, 0x12B0, 0xD454, 0x4304, 0x403A, 0x0016, 0x403B,
-0x1112, 0x4108, 0x5038, 0x0036, 0x480C, 0x540C, 0x4B2F, 0x129F, 0x0014,
-0x5314, 0x9A04, 0x2BF8, 0x4039, 0x0003, 0x4106, 0x5036, 0x004C, 0xB0F1,
-0x0010, 0x003E, 0x2C0F, 0x1206, 0x4A0F, 0x410E, 0x532E, 0x403D, 0x001F,
-0x410C, 0x503C, 0x0018, 0x4B25, 0x1295, 0x000E, 0x12B0, 0xD55C, 0x5321,
-0x1206, 0x430F, 0x430E, 0x4A0D, 0x480C, 0x4B25, 0x1295, 0x000E, 0x490C,
-0x1292, 0x1234, 0x12B0, 0xD562, 0x5321, 0xB0F1, 0x0010, 0x003E, 0x2C73,
-0x407C, 0x00D0, 0x1292, 0x1354, 0x430C, 0x1292, 0x1358, 0x5314, 0x934C,
-0x3803, 0x9034, 0x01F4, 0x2BF7, 0x9034, 0x01F4, 0x2C81, 0x1206, 0x12B0,
-0xD56A, 0x490C, 0x1292, 0x1230, 0x4C07, 0x12B0, 0xD562, 0x40F1, 0x0005,
-0x0018, 0x43C1, 0x0019, 0x41D1, 0x0002, 0x001A, 0x41D1, 0x0003, 0x001B,
-0x41D1, 0x0004, 0x001C, 0x41D1, 0x0005, 0x001D, 0x43E1, 0x001E, 0x41D1,
-0x0006, 0x001F, 0x41D1, 0x0007, 0x0020, 0x41D1, 0x0008, 0x0021, 0x41D1,
-0x0009, 0x0022, 0x42E1, 0x0023, 0x41D1, 0x000A, 0x0024, 0x41D1, 0x000B,
-0x0025, 0x41D1, 0x000C, 0x0026, 0x41D1, 0x000D, 0x0027, 0x40F1, 0x0006,
-0x0028, 0x41D1, 0x000E, 0x0029, 0x41D1, 0x000F, 0x002A, 0x41D1, 0x0010,
-0x002B, 0x41D1, 0x0011, 0x002C, 0x40F1, 0x0080, 0x002D, 0x41D1, 0x0012,
-0x002E, 0x41D1, 0x0013, 0x002F, 0x41D1, 0x0014, 0x0030, 0x41D1, 0x0015,
-0x0031, 0x1206, 0x430F, 0x430E, 0x403D, 0x001F, 0x410C, 0x503C, 0x001A,
-0x4B2A, 0x129A, 0x000E, 0x12B0, 0xD55C, 0x5221, 0x3C1E, 0x407C, 0x0028,
-0x1292, 0x1354, 0x4C4C, 0x903C, 0x0089, 0x240C, 0x903C, 0x008D, 0x2409,
-0x903C, 0x0091, 0x2406, 0x903C, 0x0095, 0x2403, 0x903C, 0x0099, 0x2009,
-0x1206, 0x12B0, 0xD56A, 0x490C, 0x1292, 0x1230, 0x12B0, 0xD562, 0x5321,
-0x4307, 0x470C, 0x5031, 0x005C, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x4C4A, 0x403B, 0x150C, 0x4038, 0x1504, 0x4039, 0x0190,
-0xB0F2, 0x0040, 0x1100, 0xD0F2, 0x0040, 0x0029, 0x4216, 0x2758, 0x490C,
-0x280F, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x3C0E, 0x1286, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0xC0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xCBEF, 0x0000, 0xD0F2, 0x0040, 0x0029, 0x4216, 0x2758,
-0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF,
-0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286, 0x482F,
-0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xC0F2, 0x0040,
-0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F,
-0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C, 0x1286,
-0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000, 0xC0F2,
-0x0040, 0x0029, 0x490C, 0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286,
-0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0xD0F2, 0x0040, 0x0029, 0x490C,
-0x1286, 0x482F, 0xD3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xC3DF, 0x0000,
-0x431C, 0x1286, 0x482F, 0xDBEF, 0x0000, 0x482F, 0xD3DF, 0x0000, 0x431C,
-0x1286, 0x482F, 0xC3DF, 0x0000, 0x431C, 0x1286, 0x482F, 0xCBEF, 0x0000,
-0x4A4E, 0x430F, 0x423C, 0x12B0, 0x61B6, 0x4030, 0xD424, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0xB2D2, 0x2780, 0x1100, 0x2404, 0x40B2, 0x2839,
-0x01EA, 0x3C03, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x403F, 0x150C, 0x403D, 0x1504, 0x4D2B, 0xEFEB, 0x0000, 0xC232,
-0x4303, 0x425A, 0x277E, 0x4A4B, 0xE37B, 0x4218, 0x2784, 0xFBC8, 0x0000,
-0xDAC8, 0x0000, 0xD232, 0x4D2E, 0xEFEE, 0x0000, 0x40B2, 0x2845, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2E, 0xEFEE, 0x0000, 0xC232,
-0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D2E, 0xEFEE, 0x0000,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4D2E, 0xEFEE, 0x0000, 0xC232,
-0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D2E, 0xEFEE, 0x0000,
-0x4079, 0x0080, 0xB94C, 0x2409, 0x3C11, 0xB359, 0x2BFB, 0xB94C, 0x240A,
-0x40B2, 0x2839, 0x01EA, 0x3C09, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0,
-0x3C08, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4D26, 0xEFE6, 0x0000, 0xC232, 0x4303, 0xFBC8, 0x0000, 0x5E4E, 0x4216,
-0x2782, 0xB2D6, 0x2781, 0x0000, 0x2002, 0x4346, 0x3C01, 0x4356, 0xD64E,
-0xDAC8, 0x0000, 0xD232, 0x4D26, 0xEFE6, 0x0000, 0x1109, 0x23D0, 0x93D2,
-0x1396, 0x2004, 0x43C2, 0x1100, 0x43C2, 0x1396, 0xB2D2, 0x2780, 0x1100,
-0x241E, 0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8, 0x0000, 0xDAC8, 0x0000,
-0xD232, 0x4D29, 0xEFE9, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8,
-0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D29, 0xEFE9, 0x0000, 0xD0B2, 0x0010,
-0x01F0, 0xD392, 0x01F0, 0x4D29, 0xEFE9, 0x0000, 0xC232, 0x4303, 0xFBC8,
-0x0000, 0xDAC8, 0x0000, 0xD232, 0x4D2B, 0xEFEB, 0x0000, 0x4E4C, 0x4030,
-0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031,
-0x000A, 0x4381, 0x0000, 0x430B, 0x430A, 0x4309, 0x4338, 0x4381, 0x0002,
-0x4381, 0x0004, 0x4381, 0x0006, 0x4381, 0x0008, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0016, 0x930C, 0x2403, 0x403C, 0xFFC1, 0x3CB5, 0x430B, 0x3C01,
-0x531B, 0x912B, 0x2C0E, 0x410C, 0x532C, 0x4B0F, 0x5F0F, 0x5F0C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x930C, 0x37F2, 0x403C, 0xFFC0, 0x3CA2, 0x430C,
-0x1292, 0x274E, 0x434C, 0x1292, 0x276C, 0x434C, 0x1292, 0x2754, 0x1292,
-0x134E, 0x434C, 0x1292, 0x276C, 0x1292, 0x1350, 0x430A, 0x430B, 0x4308,
-0x4116, 0x0002, 0x4117, 0x0004, 0x4039, 0x0011, 0x407C, 0x0086, 0x1292,
-0x1354, 0x430C, 0x1292, 0x1358, 0x4C09, 0x531A, 0x630B, 0x930B, 0x2806,
-0x2003, 0x903A, 0x0BB8, 0x2802, 0x4318, 0x3C08, 0xB329, 0x2C06, 0x930B,
-0x2BEE, 0x2003, 0x903A, 0x0BB8, 0x2BEA, 0x930B, 0x2804, 0x2011, 0x903A,
-0x0BB8, 0x2C0E, 0x4039, 0x0011, 0x490C, 0x1292, 0x1358, 0x4C09, 0x460C,
-0x1292, 0x1358, 0x4C09, 0x470C, 0x1292, 0x1358, 0x4C09, 0x9318, 0x2003,
-0x403C, 0xFFCE, 0x3C56, 0x90B1, 0x0003, 0x0000, 0x2843, 0x435C, 0x1292,
-0x276C, 0x403C, 0x00C8, 0x1292, 0x275A, 0x430A, 0x430B, 0x4308, 0x4116,
-0x0006, 0x4114, 0x0008, 0x4037, 0x0011, 0x407C, 0x0086, 0x1292, 0x1354,
-0x430C, 0x1292, 0x1358, 0x4C09, 0x531A, 0x630B, 0x930B, 0x2806, 0x2003,
-0x903A, 0x0BB8, 0x2802, 0x4318, 0x3C08, 0xB329, 0x2C06, 0x930B, 0x2BEE,
-0x2003, 0x903A, 0x0BB8, 0x2BEA, 0x930B, 0x2804, 0x2011, 0x903A, 0x0BB8,
-0x2C0E, 0x4037, 0x0011, 0x470C, 0x1292, 0x1358, 0x4C09, 0x460C, 0x1292,
-0x1358, 0x4C09, 0x440C, 0x1292, 0x1358, 0x4C09, 0x9318, 0x2003, 0x403C,
-0xFFCE, 0x3C0F, 0x407C, 0x0028, 0x1292, 0x1354, 0x4C4A, 0x903A, 0x0095,
-0x2403, 0x403C, 0xFFCE, 0x3C04, 0x435C, 0x1292, 0x276C, 0x430C, 0x5031,
-0x000A, 0x4030, 0xD420, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x003A, 0x4306, 0x4304, 0x430A, 0x403B, 0x1112,
-0x4107, 0x5037, 0x0014, 0x470C, 0x5A0C, 0x4B2F, 0x129F, 0x0014, 0x531A,
-0x903A, 0x0016, 0x2BF7, 0x4038, 0x1354, 0xB0F1, 0x0010, 0x001C, 0x2807,
-0x4226, 0x407C, 0x0028, 0x12A8, 0xB26C, 0x2C01, 0x4314, 0x407C, 0x00B0,
-0x12A8, 0x4039, 0x135C, 0x403C, 0x0003, 0x12B0, 0xD7CC, 0x4C81, 0x0010,
-0x4D81, 0x0012, 0x403C, 0x0005, 0x12B0, 0xD7CC, 0x4C81, 0x000C, 0x4D81,
-0x000E, 0x403C, 0x0007, 0x12B0, 0xD7CC, 0x4C81, 0x0008, 0x4D81, 0x000A,
-0x403C, 0x0081, 0x12B0, 0xD7CC, 0x4C81, 0x0004, 0x4D81, 0x0006, 0x431C,
-0x12B0, 0xD7CC, 0x4C81, 0x0000, 0x4D81, 0x0002, 0x12B0, 0xD652, 0x460C,
-0x430D, 0x12A9, 0x422C, 0x430D, 0x12A9, 0x433C, 0x433D, 0x12A9, 0x403C,
-0x0006, 0x12B0, 0xD7EA, 0x403C, 0x0080, 0x12B0, 0xD7EA, 0x4106, 0x5036,
-0x002A, 0x1206, 0x430F, 0x430E, 0x403D, 0x0016, 0x470C, 0x4B25, 0x1295,
-0x000E, 0x403C, 0x0003, 0x1292, 0x11E8, 0x12B0, 0xD858, 0x5321, 0x9305,
-0x2409, 0x450C, 0x3C56, 0x4304, 0x407C, 0x0021, 0x12A8, 0x407C, 0x00A8,
-0x12A8, 0x407C, 0x00D0, 0x12A8, 0x430C, 0x1292, 0x1358, 0x531A, 0x934C,
-0x3803, 0x903A, 0x0064, 0x2BF7, 0x903A, 0x0064, 0x2803, 0x403C, 0xFFCC,
-0x3C3D, 0x9304, 0x23E5, 0x12B0, 0xD652, 0x411C, 0x0010, 0x411D, 0x0012,
-0x12A9, 0x422C, 0x430D, 0x12A9, 0x411C, 0x000C, 0x411D, 0x000E, 0x12A9,
-0x403C, 0x0006, 0x430D, 0x12A9, 0x411C, 0x0008, 0x411D, 0x000A, 0x12A9,
-0x403C, 0x0080, 0x430D, 0x12A9, 0x411C, 0x0004, 0x411D, 0x0006, 0x12A9,
-0x430C, 0x430D, 0x12A9, 0x412C, 0x411D, 0x0002, 0x12A9, 0x1206, 0x430F,
-0x431E, 0x403D, 0x0016, 0x470C, 0x4B27, 0x1297, 0x000E, 0x403C, 0x0003,
-0x1292, 0x11E4, 0x12B0, 0xD858, 0x5321, 0x9305, 0x23A9, 0x430C, 0x5031,
-0x003A, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0xB2D2,
-0x2780, 0x1100, 0x2404, 0x40B2, 0x2839, 0x01EA, 0x3C03, 0x40B2, 0x283F,
-0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x403D, 0x150C, 0x403A,
-0x1504, 0x4A2F, 0xEDEF, 0x0000, 0xC232, 0x4303, 0x425B, 0x277E, 0x4B48,
-0xE378, 0x4219, 0x2784, 0xF8C9, 0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2F,
-0xEDEF, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4A2F, 0xEDEF, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9,
-0x0000, 0xD232, 0x4A2F, 0xEDEF, 0x0000, 0xD0B2, 0x0010, 0x01E8, 0xD392,
-0x01E8, 0x4A2F, 0xEDEF, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9,
-0x0000, 0xD232, 0x4A2F, 0xEDEF, 0x0000, 0x4036, 0x8000, 0xB60C, 0x2409,
-0x3C11, 0xB316, 0x2BFB, 0xB60C, 0x240A, 0x40B2, 0x2839, 0x01EA, 0x3C09,
-0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01F0, 0x3C08, 0x40B2, 0x283F, 0x01EA,
-0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8, 0x4A2E, 0xEDEE, 0x0000, 0xC232,
-0x4303, 0xF8C9, 0x0000, 0x5F0F, 0x421E, 0x2782, 0xB2DE, 0x2781, 0x0000,
-0x2002, 0x434E, 0x3C01, 0x435E, 0xDE0F, 0xDBC9, 0x0000, 0xD232, 0x4A2E,
-0xEDEE, 0x0000, 0xC312, 0x1006, 0x9306, 0x23CE, 0xB2D2, 0x2780, 0x1100,
-0x241E, 0x40B2, 0x2839, 0x01EA, 0xD0B2, 0x0010, 0x01E8, 0xD392, 0x01E8,
-0x4A2E, 0xEDEE, 0x0000, 0xC232, 0x4303, 0xF8C9, 0x0000, 0xDBC9, 0x0000,
-0xD232, 0x4A2E, 0xEDEE, 0x0000, 0x40B2, 0x2845, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x3C1A, 0x40B2, 0x283F, 0x01EA, 0xD0B2, 0x0010,
-0x01E8, 0xD392, 0x01E8, 0x4A2E, 0xEDEE, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2E, 0xEDEE, 0x0000, 0xD0B2, 0x0010,
-0x01F0, 0xD392, 0x01F0, 0x4A2E, 0xEDEE, 0x0000, 0xC232, 0x4303, 0xF8C9,
-0x0000, 0xDBC9, 0x0000, 0xD232, 0x4A2B, 0xEDEB, 0x0000, 0x4F0C, 0x4030,
-0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x4C0A, 0x430B,
-0xB31C, 0x287C, 0x4037, 0x14CA, 0x470C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x930C, 0x2403, 0x403C, 0xFFFB, 0x3CB6, 0x403C, 0x14C6, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFFA, 0x3CAB, 0x472E, 0x471F,
-0x0002, 0x108E, 0x108F, 0xEF4E, 0xEF0E, 0xF03E, 0x0F00, 0x503E, 0x0080,
-0x4E82, 0x14D2, 0x47A2, 0x14CA, 0x4382, 0x14CC, 0x4038, 0x1354, 0x407C,
-0x0028, 0x12A8, 0x4039, 0x1358, 0x430C, 0x12A9, 0x4036, 0x1360, 0x434C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x435C, 0x12A6, 0x421C, 0x14D2, 0x12A9,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x1400, 0x12A9, 0x407C,
-0x0082, 0x12A8, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x472C, 0x12A9, 0x434C,
-0x12A6, 0x435C, 0x12A6, 0x403C, 0x4303, 0x12A9, 0x434C, 0x12A6, 0x407C,
-0x0021, 0x12A8, 0x430C, 0x430D, 0x1292, 0x135A, 0x407C, 0x00C8, 0x12A8,
-0x403C, 0x0500, 0x12A9, 0x435C, 0x12A6, 0x407C, 0x00C2, 0x12A8, 0x3C12,
-0x403C, 0x14CE, 0x421F, 0x1112, 0x129F, 0x0016, 0x4C0B, 0x421C, 0x14CE,
-0x1292, 0x1358, 0x434C, 0x1292, 0x1360, 0x53B2, 0x14C6, 0x63B2, 0x14C8,
-0x421F, 0x14C6, 0xD21F, 0x14C8, 0x930F, 0x2414, 0x930B, 0x2012, 0x435C,
-0x1292, 0x1360, 0xB392, 0x14C6, 0x2BE0, 0x403C, 0x14D0, 0x421F, 0x1112,
-0x129F, 0x0016, 0x4C0B, 0x421C, 0x14D0, 0x1292, 0x1358, 0x3FDF, 0xB32A,
-0x2812, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x0501, 0x1292, 0x1358,
-0x421C, 0x14D4, 0x421F, 0x1112, 0x129F, 0x0008, 0x435C, 0x1292, 0x1360,
-0x3C17, 0x931B, 0x2008, 0x407C, 0x0091, 0x421F, 0x1112, 0x129F, 0x0012,
-0x430B, 0x3C0D, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x0501, 0x1292,
-0x1358, 0x403B, 0xFFF6, 0x435C, 0x1292, 0x1360, 0x4B0C, 0x4030, 0xD422,
-0x407C, 0x00C1, 0x4820, 0x12B0, 0x80A8, 0x933C, 0x4130, 0x421F, 0x1112,
-0x4F10, 0x0016, 0x12B0, 0x80A8, 0x930C, 0x4130, 0x12B0, 0x8184, 0x12B0,
-0x813E, 0x430C, 0x4B20, 0x431C, 0x1292, 0x275A, 0x444C, 0x12A8, 0x430C,
-0x12AB, 0x53B1, 0x0002, 0x421F, 0x13AA, 0x4130, 0x434C, 0x12AA, 0x435C,
-0x4A20, 0x434C, 0x12AA, 0x444C, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C,
-0x12AA, 0x4130, 0x12B0, 0xD36E, 0x494C, 0x4820, 0x12B0, 0x80F8, 0x403C,
-0x00FE, 0x12B0, 0xD36E, 0x12B0, 0x80DC, 0x430C, 0x4B20, 0x12B0, 0x80F8,
-0x12B0, 0xD36A, 0x12B0, 0x8126, 0x470C, 0x4030, 0x814E, 0x434C, 0x4030,
-0x8200, 0x12B0, 0x811C, 0x12B0, 0xD84E, 0x12B0, 0x8126, 0x403C, 0x2409,
-0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12B0, 0x814E, 0x4030, 0x8174,
-0x12AB, 0x435C, 0x4A20, 0x12B0, 0x817A, 0x421C, 0x13A6, 0x4130, 0x12B0,
-0xD2E8, 0x4B20, 0x12B0, 0x817A, 0x421C, 0x13C2, 0xD03C, 0x0040, 0x12B0,
-0x814E, 0x12B0, 0x81EE, 0x4A20, 0x12B0, 0x8206, 0x12A8, 0x403C, 0x012C,
-0x12AB, 0x407C, 0x00A1, 0x4820, 0x403C, 0x0003, 0x1292, 0x1190, 0x410C,
-0x503C, 0x0026, 0x421F, 0x1112, 0x129F, 0x0010, 0x403C, 0x13B0, 0x12B0,
-0xB49C, 0x12B0, 0x8206, 0x12A8, 0x403C, 0x0128, 0x12B0, 0x8184, 0x421C,
-0x13BE, 0x12B0, 0x8214, 0x403C, 0x012A, 0x12B0, 0x8184, 0x421C, 0x13C0,
-0x12B0, 0x8214, 0x403C, 0x012C, 0x12B0, 0x8184, 0x421C, 0x13C2, 0x12AB,
-0x435C, 0x12AA, 0x12B0, 0xD2E8, 0x12AB, 0x4C81, 0x0004, 0x3FC3, 0x12B0,
-0x81FE, 0x470C, 0x12AB, 0x444C, 0x12A8, 0x435C, 0x4130, 0x434C, 0x12AA,
-0x464C, 0x4820, 0x12B0, 0xD146, 0x12B0, 0xD646, 0x407C, 0x00C1, 0x4130,
-0x12B0, 0x814E, 0x12B0, 0xD140, 0x12B0, 0xD646, 0x3F3C, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x0030, 0x4304,
-0x430A, 0x430B, 0x4038, 0x1112, 0x4109, 0x5039, 0x000A, 0x490C, 0x5B0C,
-0x482F, 0x129F, 0x0014, 0x531B, 0x903B, 0x0016, 0x2BF7, 0x4036, 0x1354,
-0xB0F1, 0x0010, 0x0012, 0x2807, 0x4224, 0x407C, 0x0028, 0x12A6, 0xB26C,
-0x2C01, 0x431A, 0x407C, 0x0090, 0x12A6, 0x4037, 0x1358, 0x403C, 0x0003,
-0x12B0, 0xDA16, 0x4C81, 0x0008, 0x403C, 0x0005, 0x12B0, 0xDA16, 0x4C81,
-0x0006, 0x403C, 0x0007, 0x12B0, 0xDA16, 0x4C81, 0x0004, 0x403C, 0x0081,
-0x12B0, 0xDA16, 0x4C81, 0x0002, 0x431C, 0x12B0, 0xDA16, 0x4C81, 0x0000,
-0x12B0, 0xD880, 0x440C, 0x12A7, 0x422C, 0x12A7, 0x433C, 0x12A7, 0x403C,
-0x0006, 0x12A7, 0x431C, 0x12A7, 0x403C, 0x0080, 0x12A7, 0x431C, 0x12A7,
-0x4104, 0x5034, 0x0020, 0x1204, 0x430F, 0x430E, 0x403D, 0x0016, 0x490C,
-0x4825, 0x1295, 0x000E, 0x403C, 0x0003, 0x1292, 0x1194, 0x12B0, 0xD88A,
-0x5321, 0x9305, 0x2409, 0x450C, 0x3C46, 0x430A, 0x407C, 0x0021, 0x12A6,
-0x407C, 0x00A8, 0x12A6, 0x407C, 0x00D0, 0x12A6, 0x430C, 0x12A7, 0x531B,
-0x934C, 0x3803, 0x903B, 0x0032, 0x2BF8, 0x903B, 0x0032, 0x2803, 0x403C,
-0xFFCC, 0x3C2E, 0x930A, 0x23E6, 0x12B0, 0xD880, 0x411C, 0x0008, 0x12A7,
-0x422C, 0x12A7, 0x411C, 0x0006, 0x12A7, 0x403C, 0x0006, 0x12A7, 0x411C,
-0x0004, 0x12A7, 0x403C, 0x0080, 0x12A7, 0x411C, 0x0002, 0x12B0, 0xDA16,
-0x412C, 0x12A7, 0x1204, 0x430F, 0x431E, 0x403D, 0x0016, 0x490C, 0x482B,
-0x129B, 0x000E, 0x403C, 0x0003, 0x1292, 0x1190, 0x12B0, 0xD88A, 0x5321,
-0x9305, 0x23B9, 0x430C, 0x5031, 0x0030, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x4C08, 0x4E0A, 0x4F0B, 0x4039,
-0x150C, 0x4036, 0x1504, 0x4037, 0x0190, 0xB0F2, 0x0040, 0x1100, 0xD0F2,
-0x0040, 0x0029, 0x4214, 0x2758, 0x470C, 0x280F, 0x1284, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2,
-0x0040, 0x0029, 0x3C0E, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xC0F2, 0x0040, 0x0029, 0x470C,
-0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000,
-0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC9EF, 0x0000,
-0xC0F2, 0x0040, 0x0029, 0x4214, 0x2758, 0x470C, 0x1284, 0x462F, 0xD3DF,
-0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0xD0F2,
-0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284,
-0x462F, 0xC9EF, 0x0000, 0xC0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F,
-0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284,
-0xD0F2, 0x0040, 0x0029, 0x470C, 0x1284, 0x462F, 0xD3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xD9EF, 0x0000,
-0x462F, 0xD3DF, 0x0000, 0x431C, 0x1284, 0x462F, 0xC3DF, 0x0000, 0x431C,
-0x1284, 0x462F, 0xC9EF, 0x0000, 0x4A0E, 0x4B0F, 0x480C, 0x12B0, 0x61B6,
-0x4030, 0xD420, 0x120D, 0x120C, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002,
-0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2867, 0x01EA,
-0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA, 0x40B2, 0x286D,
-0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8,
-0xB27D, 0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0x4EC1, 0x0002, 0xB26D,
-0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0x51D1, 0x0002, 0x0002, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xDEC1,
-0x0002, 0xB36D, 0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2, 0x0031, 0xC2F2,
-0x0031, 0xD2F2, 0x0031, 0x51D1, 0x0002, 0x0002, 0xB2E2, 0x0030, 0x7E4E,
-0x535E, 0xDEC1, 0x0002, 0xB35D, 0x2803, 0xD3E2, 0x0031, 0x3C02, 0xC3E2,
-0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0x51D1, 0x0002, 0x0002, 0xB2E2,
-0x0030, 0x7E4E, 0x535E, 0xDEC1, 0x0002, 0xD0F2, 0x000E, 0x0033, 0xD0F2,
-0x0010, 0x0078, 0x41D2, 0x0005, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x42D1,
-0x007E, 0x0001, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079,
-0x2BFD, 0x425E, 0x007E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033,
-0xB31C, 0x2804, 0xD0F2, 0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2,
-0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E,
-0xDEC1, 0x0000, 0xD392, 0x01F0, 0x412F, 0x4F0C, 0x411D, 0x0002, 0xC312,
-0x100D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0xDF0D,
-0xF03D, 0x000F, 0x5231, 0x4130, 0x120A, 0x120B, 0x1208, 0x4C4A, 0x9392,
-0x14FE, 0x2006, 0x421F, 0x2784, 0xC2DF, 0x277E, 0x0000, 0x3C04, 0x421F,
-0x1504, 0xD3DF, 0x0000, 0x403B, 0xD1BA, 0x4038, 0x0005, 0x480C, 0x128B,
-0x431C, 0x128B, 0x934A, 0x2402, 0x935A, 0x201A, 0x9392, 0x14FE, 0x2006,
-0x421F, 0x2784, 0xC2DF, 0x2780, 0x0000, 0x3C06, 0xC0F2, 0x0020, 0x0029,
-0xC0F2, 0x0040, 0x0029, 0x480C, 0x128B, 0x9392, 0x14FE, 0x2016, 0x421F,
-0x2784, 0xD2DF, 0x277E, 0x0000, 0x3C14, 0x9392, 0x14FE, 0x2006, 0x421F,
-0x2784, 0xD2DF, 0x2780, 0x0000, 0x3FEC, 0xC0F2, 0x0020, 0x0029, 0xD0F2,
-0x0040, 0x0029, 0x3FE5, 0x421F, 0x1504, 0xC3DF, 0x0000, 0x480C, 0x128B,
-0x403C, 0x0064, 0x128B, 0x935A, 0x2403, 0x907A, 0x0003, 0x2021, 0x9392,
-0x14FE, 0x2006, 0x421F, 0x2784, 0xC2DF, 0x2780, 0x0000, 0x3C06, 0xC0F2,
-0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029, 0x480C, 0x128B, 0x403C, 0x0028,
-0x12B0, 0xD1EA, 0x934A, 0x2402, 0x936A, 0x2018, 0xC232, 0x4303, 0x421F,
-0x2784, 0xC2DF, 0x277E, 0x0000, 0x3C14, 0x9392, 0x14FE, 0x2006, 0x421F,
-0x2784, 0xD2DF, 0x2780, 0x0000, 0x3FE5, 0xC0F2, 0x0020, 0x0029, 0xD0F2,
-0x0040, 0x0029, 0x3FDE, 0x421F, 0x1504, 0xD3DF, 0x0000, 0x935A, 0x2006,
-0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x431C, 0x12B0, 0xD1EA,
-0x934A, 0x2402, 0x936A, 0x2007, 0x421F, 0x2784, 0xD2DF, 0x277E, 0x0000,
-0xD232, 0x3C04, 0x421F, 0x1504, 0xC3DF, 0x0000, 0x403C, 0x0028, 0x12B0,
-0xD1EA, 0x907A, 0x0003, 0x2006, 0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040,
-0x0029, 0x480C, 0x128B, 0x4030, 0xD428, 0xE03F, 0x8000, 0x1206, 0x4D06,
-0x5606, 0x9036, 0xFF01, 0x2C9E, 0x4F06, 0x5606, 0x9036, 0xFF01, 0x2C0E,
-0x4D06, 0x5606, 0x9036, 0xFF00, 0x200B, 0x4F06, 0x5606, 0x9036, 0xFF00,
-0x208F, 0x4D06, 0xEF06, 0x5606, 0x288B, 0x433D, 0x3C89, 0x4F06, 0x5606,
-0x9036, 0xFF00, 0x2407, 0xB03F, 0x7FFF, 0x2007, 0x4D06, 0x5606, 0x207E,
-0x287D, 0x4E0C, 0x4F0D, 0x3C7A, 0xB03D, 0x7FFF, 0x27FA, 0x1209, 0x1208,
-0x1207, 0x4D06, 0x4F07, 0x5606, 0x5707, 0x9607, 0x2809, 0x2002, 0x9C0E,
-0x2806, 0xED0F, 0xEF0D, 0xED0F, 0xEC0E, 0xEE0C, 0xEC0E, 0x4F06, 0x5606,
-0x6909, 0x1086, 0xD07F, 0x0080, 0x4D08, 0x5808, 0x6909, 0x1088, 0xF378,
-0xD07D, 0x0080, 0x4307, 0x8846, 0x2415, 0x9076, 0xFFF1, 0x2C0D, 0x9076,
-0xFFE8, 0x283D, 0x4E07, 0x4F0E, 0x430F, 0x5076, 0x0010, 0x2409, 0x9347,
-0x2402, 0xD037, 0x0100, 0x110F, 0x100E, 0x1007, 0x5356, 0x23FB, 0x4906,
-0x1106, 0xE906, 0xB316, 0x2426, 0xE337, 0x5317, 0x7E0C, 0x7F4D, 0x2010,
-0x930C, 0x2007, 0x9307, 0x242F, 0x1087, 0x474D, 0x8038, 0x0018, 0x3C06,
-0x108C, 0x4C4D, 0xED0C, 0x1087, 0xD70C, 0x8238, 0x4307, 0x5707, 0x6C0C,
-0x6D4D, 0x2C09, 0x8318, 0x5707, 0x6C0C, 0x6D4D, 0x2C04, 0x8318, 0x5C0C,
-0x6D4D, 0x2BFC, 0x9318, 0x3408, 0x430D, 0x3C1C, 0x5E0C, 0x6F4D, 0x2C14,
-0x5707, 0x6C0C, 0x6D4D, 0x1088, 0xD80D, 0x1009, 0x100D, 0x100C, 0x2806,
-0x9307, 0x2002, 0xB31C, 0x2402, 0x531C, 0x630D, 0x4137, 0x4138, 0x4139,
-0x4136, 0x4130, 0x5358, 0x9378, 0x23EC, 0x403D, 0xFF00, 0x430C, 0x1009,
-0x100D, 0x3FF2, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x002E, 0x410C, 0x503C, 0x0018, 0x403E, 0x27E6, 0x403D,
-0x0015, 0x12B0, 0xD454, 0x403A, 0x1112, 0x410C, 0x4A2F, 0x129F, 0x0018,
-0x410C, 0x522C, 0x4A2F, 0x129F, 0x0018, 0x430F, 0x410B, 0x503B, 0x0018,
-0x4B07, 0x5F07, 0x4FD7, 0x1102, 0x0005, 0x531F, 0x903F, 0x0010, 0x3BF7,
-0x4107, 0x5237, 0x1207, 0x430F, 0x430E, 0x403D, 0x0015, 0x4B0C, 0x4A28,
-0x1298, 0x000E, 0x12B0, 0xD4F4, 0x411C, 0x0002, 0x411D, 0x0004, 0x12B0,
-0xD196, 0x4C04, 0xF034, 0x0F00, 0x5034, 0x0080, 0x4115, 0x0002, 0x4038,
-0x1354, 0x407C, 0x0028, 0x12A8, 0x4039, 0x1358, 0x430C, 0x12A9, 0x4036,
-0x1360, 0x434C, 0x12A6, 0x12B0, 0xD8DE, 0x435C, 0x12A6, 0x440C, 0x12A9,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x1400, 0x12B0, 0xD8DC,
-0x434C, 0x12A6, 0x435C, 0x12A6, 0x450C, 0x12A9, 0x434C, 0x12A6, 0x435C,
-0x12A6, 0x403C, 0x4303, 0x12A9, 0x434C, 0x12A6, 0x407C, 0x0021, 0x12A8,
-0x430C, 0x430D, 0x1292, 0x135A, 0x435C, 0x12A6, 0x407C, 0x00C8, 0x12A8,
-0x403C, 0x0501, 0x12B0, 0xD8DC, 0x411C, 0x0002, 0x832C, 0x12A9, 0x407C,
-0x0022, 0x12A8, 0x411C, 0x0006, 0x411D, 0x0008, 0x1292, 0x1364, 0x407C,
-0x0062, 0x12A8, 0x430C, 0x12A9, 0x4A2F, 0x129F, 0x0008, 0x430F, 0x5321,
-0x4B0E, 0x5F0E, 0x4FDE, 0x1102, 0x0005, 0x531F, 0x903F, 0x0010, 0x3BF7,
-0x1207, 0x430F, 0x430E, 0x403D, 0x0015, 0x4B0C, 0x4A2B, 0x129B, 0x000E,
-0x12B0, 0xD4F4, 0x430C, 0x5031, 0x0030, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C4A, 0x425B, 0x2780,
-0x4218, 0x2784, 0x4259, 0x277E, 0x494E, 0x525E, 0x277F, 0x5B4E, 0xDEC8,
-0x0000, 0x4036, 0x1504, 0xB2B2, 0x136C, 0x462F, 0x2804, 0xC2DF, 0x150C,
-0x0000, 0x3C03, 0xD2DF, 0x150C, 0x0000, 0xD0F2, 0x0040, 0x0029, 0xC0F2,
-0x0020, 0x0029, 0x4037, 0xD1BA, 0x403C, 0x000A, 0x1287, 0x9392, 0x14FE,
-0x2003, 0xC9C8, 0x0000, 0x3C03, 0x462F, 0xD3DF, 0x0000, 0x4034, 0x0005,
-0x440C, 0x1287, 0x431C, 0x1287, 0x934A, 0x2402, 0x935A, 0x2004, 0xC0F2,
-0x0040, 0x0029, 0x3C0E, 0x9392, 0x14FE, 0x2003, 0xDBC8, 0x0000, 0x3C06,
-0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x440C, 0x1287, 0x4035,
-0xD1EA, 0x403C, 0x000A, 0x1285, 0x9392, 0x14FE, 0x2003, 0xD9C8, 0x0000,
-0x3C03, 0x462F, 0xC3DF, 0x0000, 0x440C, 0x1287, 0x403C, 0x0019, 0x1287,
-0x935A, 0x2403, 0x907A, 0x0003, 0x2031, 0x9392, 0x14FE, 0x2003, 0xCBC8,
-0x0000, 0x3C06, 0xC0F2, 0x0020, 0x0029, 0xC0F2, 0x0040, 0x0029, 0x440C,
-0x1287, 0x403C, 0x0028, 0x1285, 0x462F, 0xD3DF, 0x0000, 0x935A, 0x2006,
-0xC0F2, 0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x431C, 0x1285, 0x462F,
-0xC3DF, 0x0000, 0x403C, 0x0028, 0x1285, 0x907A, 0x0003, 0x2006, 0xC0F2,
-0x0020, 0x0029, 0xD0F2, 0x0040, 0x0029, 0x440C, 0x1287, 0x4030, 0xD41E,
-0x9392, 0x14FE, 0x2003, 0xDBC8, 0x0000, 0x3FD5, 0xC0F2, 0x0020, 0x0029,
-0xD0F2, 0x0040, 0x0029, 0x3FCE, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x1204, 0x1205, 0x4327, 0x407C, 0x0028, 0x1292, 0x1354, 0x4C4C,
-0x903C, 0x0089, 0x240B, 0x903C, 0x0091, 0x2408, 0x903C, 0x0095, 0x2405,
-0x903C, 0x0099, 0x2402, 0x432C, 0x3C30, 0x407C, 0x00B0, 0x1292, 0x1354,
-0x403B, 0x135C, 0x403C, 0x009F, 0x12B0, 0xD6E4, 0x4C0A, 0xB03C, 0x0100,
-0x2821, 0x4034, 0x009D, 0x4038, 0x1112, 0x4C4E, 0xF07E, 0x0006, 0x926E,
-0x201B, 0x423C, 0x12B0, 0xD1D2, 0x403C, 0x009E, 0x430D, 0x12AB, 0x12B0,
-0xD74A, 0x4307, 0x403C, 0x009A, 0x430D, 0x12AB, 0x470C, 0x5C0C, 0x5C0C,
-0x430D, 0x12B0, 0xD1D8, 0x5317, 0x9237, 0x2BF3, 0x4317, 0x470C, 0x4030,
-0xD41E, 0x4309, 0x403C, 0x009B, 0x12B0, 0xD6E4, 0x12B0, 0xD18A, 0x4C06,
-0x421F, 0x14C0, 0xB23A, 0x2813, 0xB03A, 0x0200, 0x280B, 0x403C, 0x009E,
-0x430D, 0x12AB, 0xC31A, 0x12B0, 0xD74A, 0x4239, 0x8219, 0x14C0, 0x3C1A,
-0x9F0C, 0x2418, 0x4C09, 0x8F09, 0x3C15, 0x9F0C, 0x2405, 0x4382, 0x14C4,
-0x4C82, 0x14C0, 0x3FD7, 0x5392, 0x14C4, 0x90B2, 0x0014, 0x14C4, 0x2008,
-0xB03A, 0x0200, 0x2804, 0x4239, 0x4C82, 0x14C0, 0x3C05, 0x4C09, 0x4682,
-0x14C0, 0x9319, 0x3BC5, 0x460A, 0x432C, 0x12B0, 0xD1D2, 0x490C, 0x12B0,
-0xD1D2, 0x533A, 0x930A, 0x3402, 0x403A, 0x0007, 0x403C, 0x009A, 0x430D,
-0x12AB, 0x4A0C, 0x5C0C, 0x5C0C, 0x4C0D, 0xE33D, 0x5D0D, 0x7D0D, 0x12B0,
-0xD1D8, 0x440C, 0x12B0, 0xD6E4, 0x12B0, 0xD1D2, 0x960A, 0x23E7, 0x3FA3,
-0x403E, 0x001C, 0x403D, 0x12B8, 0x411C, 0x0002, 0x4210, 0x14A8, 0x12B0,
-0xC920, 0x430C, 0x4030, 0xA286, 0x12B0, 0xC94E, 0x4030, 0xA286, 0x12B0,
-0xCE3E, 0x3FF6, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x8031, 0x0040, 0x4C05, 0x40B1, 0x0007, 0x0002, 0x4308, 0x4036,
-0x0006, 0x4381, 0x0000, 0x4039, 0x1112, 0x410C, 0x492F, 0x129F, 0x0016,
-0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C6A, 0x410C, 0x532C, 0x492F, 0x129F,
-0x0016, 0x930C, 0x3403, 0x403C, 0xFFBE, 0x3C60, 0x90B1, 0x000F, 0x0002,
-0x2002, 0x4036, 0x0009, 0x12B0, 0xD86C, 0x4034, 0x0015, 0x440E, 0x410D,
-0x522D, 0x412C, 0x1292, 0x14AA, 0x12B0, 0x8E82, 0x4037, 0x0028, 0x460E,
-0xD03E, 0x0080, 0x480C, 0x12B0, 0xD4B8, 0x12B0, 0xD40C, 0x2402, 0x12B0,
-0x8E82, 0x4A0F, 0xDB0F, 0x930F, 0x2002, 0x433C, 0x3C3B, 0x903B, 0x0020,
-0x280F, 0x2003, 0x903A, 0xA761, 0x280B, 0x480F, 0x5338, 0x930F, 0x2015,
-0x4038, 0x0007, 0x460F, 0x5336, 0x930F, 0x200F, 0x3FEC, 0x940B, 0x2804,
-0x200E, 0x903A, 0x83D0, 0x2C0B, 0x5318, 0x9238, 0x2805, 0x4308, 0x5316,
-0x9681, 0x0002, 0x2BDE, 0x5337, 0x9317, 0x37CC, 0x440E, 0x410D, 0x522D,
-0x12B0, 0x8D4A, 0x9317, 0x3BD4, 0x480C, 0x12B0, 0xD4B8, 0x492F, 0x129F,
-0x0008, 0xD036, 0x0080, 0x460C, 0x492F, 0x129F, 0x0008, 0x430C, 0x492F,
-0x129F, 0x0008, 0x430C, 0x5031, 0x0040, 0x4030, 0xD41E, 0x440E, 0x403D,
-0x128E, 0x3F60, 0x12B0, 0x8F72, 0x12AB, 0x4030, 0x8F56, 0x12AB, 0x12B0,
-0x8F3A, 0x434C, 0x12AA, 0x407C, 0x00A8, 0x12A8, 0x454C, 0x4820, 0x12B0,
-0xD6D6, 0x12B0, 0xD5A2, 0x12B0, 0x8ED6, 0x435C, 0x4A20, 0x435C, 0x12AA,
-0x12B0, 0x8FC4, 0x4030, 0x8F96, 0xD03C, 0x0040, 0x12AB, 0x12B0, 0x8ED6,
-0x454C, 0x12A8, 0x435C, 0x4A20, 0x435C, 0x12AA, 0x434C, 0x12AA, 0x494C,
-0x12A8, 0x470C, 0x4B20, 0x12B0, 0x8EDA, 0x435C, 0x12AA, 0x494C, 0x12A8,
-0x403C, 0x3401, 0x12AB, 0x464C, 0x4820, 0x12AB, 0x435C, 0x12AA, 0x12B0,
-0x8F12, 0x12B0, 0x8EB8, 0x403C, 0x012C, 0x4030, 0x8F1A, 0x12B0, 0x8EDA,
-0x454C, 0x4820, 0x12B0, 0x8FBC, 0x12B0, 0x8F56, 0x430C, 0x4B20, 0x12B0,
-0xD6D6, 0x403C, 0x00FE, 0x12B0, 0xD5A6, 0x12B0, 0x8F3A, 0x430C, 0x4B20,
-0x12B0, 0x8F56, 0x435C, 0x4A20, 0x464C, 0x12A8, 0x403C, 0x4030, 0x12B0,
-0x8F54, 0x421C, 0x1432, 0x4130, 0x12AB, 0x435C, 0x12AA, 0x434C, 0x4A20,
-0x12B0, 0x8F72, 0x12B0, 0x8F54, 0x12B0, 0x8F8A, 0x403C, 0x012A, 0x4030,
-0x8FBC, 0x464C, 0x12A8, 0x403C, 0x3FFF, 0x12AB, 0x434C, 0x12AA, 0x494C,
-0x12A8, 0x403C, 0x2409, 0x4130, 0x407C, 0x0048, 0x12A8, 0x427C, 0x1292,
-0x1356, 0x407C, 0x00C1, 0x4820, 0x12B0, 0x8FB0, 0x421C, 0x144A, 0x4130,
-0x12B0, 0x8FB0, 0x421C, 0x142E, 0x4130, 0x12B0, 0x8FC4, 0x12B0, 0x8F8A,
-0x403C, 0x012C, 0x12AB, 0x407C, 0x00A1, 0x4820, 0x12B0, 0x8F72, 0x12AB,
-0x3FC5, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8031, 0x001C,
-0x403F, 0x27E2, 0x4FF1, 0x0008, 0x4FF1, 0x0009, 0x4FF1, 0x000A, 0x4FF1,
-0x000B, 0x403B, 0x1112, 0x410C, 0x4B2F, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFDD, 0x3C7F, 0x410C, 0x522C, 0x4B2F, 0x129F, 0x0018, 0x930C,
-0x3403, 0x403C, 0xFFDC, 0x3C75, 0x4108, 0x5038, 0x000C, 0x1208, 0x12B0,
-0xD3D6, 0x12B0, 0xD3FA, 0x5321, 0x930A, 0x3402, 0x4A0C, 0x3C68, 0x412C,
-0x411D, 0x0002, 0x503C, 0xFFFC, 0x633D, 0x12B0, 0xD196, 0x4C0A, 0xF03A,
-0x0F00, 0xD03A, 0x0080, 0x4127, 0x8227, 0x4039, 0x1354, 0x407C, 0x0088,
-0x12A9, 0x407C, 0x0034, 0x1292, 0x1356, 0x12B0, 0xD966, 0x4036, 0x1358,
-0x4A0C, 0x12A6, 0x403A, 0x1360, 0x434C, 0x12AA, 0x435C, 0x12AA, 0x470C,
-0x12A6, 0x434C, 0x12AA, 0x407C, 0x0021, 0x12A9, 0x435C, 0x12AA, 0x434C,
-0x12AA, 0x407C, 0x0088, 0x12A9, 0x407C, 0x0024, 0x1292, 0x1356, 0x435C,
-0x12B0, 0xD964, 0x403C, 0x3FFF, 0x12A6, 0x434C, 0x12AA, 0x407C, 0x00C8,
-0x12A9, 0x403C, 0x2409, 0x12A6, 0x435C, 0x12AA, 0x434C, 0x12B0, 0xD964,
-0x412C, 0x832C, 0x12A6, 0x407C, 0x0022, 0x12A9, 0x411C, 0x0004, 0x411D,
-0x0006, 0x1292, 0x1364, 0x407C, 0x0062, 0x12A9, 0x430C, 0x12A6, 0x4B2F,
-0x129F, 0x0008, 0x435C, 0x12AA, 0x1292, 0x1366, 0x1208, 0x12B0, 0xD3D6,
-0x12B0, 0xD3FA, 0x4A0C, 0x5321, 0x5031, 0x001C, 0x4030, 0xD422, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x4327, 0x407C, 0x0028,
-0x1292, 0x1354, 0x4C46, 0x9036, 0x0089, 0x240B, 0x9036, 0x0091, 0x2408,
-0x9036, 0x0095, 0x2405, 0x9036, 0x0099, 0x2402, 0x432C, 0x3C2D, 0x407C,
-0x0090, 0x1292, 0x1354, 0x403A, 0x1358, 0x403C, 0x009F, 0x12B0, 0xD9C6,
-0x4C06, 0xB03C, 0x0100, 0x281E, 0x403B, 0x009D, 0x4038, 0x1112, 0x4C4E,
-0xF07E, 0x0006, 0x926E, 0x2018, 0x423C, 0x12B0, 0xD014, 0x403C, 0x009E,
-0x12AA, 0xD036, 0x0040, 0x460C, 0x12AA, 0x4309, 0x403C, 0x009A, 0x12AA,
-0x490C, 0x12B0, 0xD01A, 0x5319, 0x9239, 0x2BF7, 0x4317, 0x470C, 0x4030,
-0xD420, 0x4304, 0x403C, 0x009B, 0x12B0, 0xD9C6, 0x4C09, 0x1089, 0x1189,
-0x1109, 0x1109, 0x421F, 0x14C0, 0xB236, 0x2814, 0xB036, 0x0200, 0x280C,
-0x403C, 0x009E, 0x12AA, 0xC316, 0xD036, 0x0040, 0x460C, 0x12AA, 0x4234,
-0x8214, 0x14C0, 0x3C1A, 0x9F09, 0x2418, 0x4904, 0x8F04, 0x3C15, 0x9F09,
-0x2405, 0x4382, 0x14C2, 0x4982, 0x14C0, 0x3FD4, 0x5392, 0x14C2, 0x90B2,
-0x0014, 0x14C2, 0x2008, 0xB036, 0x0200, 0x2804, 0x4234, 0x4982, 0x14C0,
-0x3C05, 0x4904, 0x4982, 0x14C0, 0x9314, 0x3BC2, 0x4906, 0x432C, 0x12B0,
-0xD014, 0x440C, 0x12B0, 0xD014, 0x5336, 0x9306, 0x3402, 0x4036, 0x0007,
-0x403C, 0x009A, 0x12AA, 0x460C, 0x12B0, 0xD01A, 0x12B0, 0xD9C4, 0x12B0,
-0xD014, 0x9906, 0x23EF, 0x3FA8, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x8231, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x410C, 0x522C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x4038, 0x1354, 0x407C, 0x0048, 0x12A8, 0x435C,
-0x1292, 0x1356, 0x4039, 0x1360, 0x435C, 0x12A9, 0x430B, 0x4036, 0x1358,
-0x407C, 0x0028, 0x12A8, 0x430C, 0x12A6, 0xF07C, 0x0081, 0x907C, 0x0081,
-0x2408, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x531B, 0x903B, 0x000A, 0x2BEE,
-0x412C, 0x411D, 0x0002, 0x503C, 0xFFFE, 0x633D, 0x12B0, 0xD196, 0x4C0B,
-0xF03B, 0x0F00, 0xD03B, 0x0080, 0x412A, 0x832A, 0x407C, 0x0088, 0x12A8,
-0x407C, 0x0034, 0x1292, 0x1356, 0x407C, 0x0082, 0x12A8, 0x4B0C, 0x12A6,
-0x434C, 0x12A9, 0x435C, 0x12A9, 0x4A0C, 0x12A6, 0x434C, 0x12A9, 0x407C,
-0x0021, 0x12A8, 0x12B0, 0xD99C, 0x407C, 0x0088, 0x12A8, 0x407C, 0x0024,
-0x1292, 0x1356, 0x435C, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF,
-0x12A6, 0x434C, 0x12A9, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A6,
-0x435C, 0x12A9, 0x407C, 0x00C2, 0x12A8, 0x430A, 0x430B, 0x3C0A, 0x12B0,
-0xD99C, 0x430C, 0x12A6, 0x421F, 0x1112, 0x129F, 0x0008, 0x531A, 0x630B,
-0x911B, 0x0006, 0x2BF3, 0x2003, 0x911A, 0x0004, 0x2BEF, 0x12B0, 0xD99C,
-0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021, 0x12A8,
-0x435C, 0x12A9, 0x430C, 0x5231, 0x4030, 0xD424, 0x120A, 0x120B, 0x4C0A,
-0x4D0B, 0x4C0F, 0xDD0F, 0x930F, 0x2443, 0x533A, 0x633B, 0x435C, 0x1292,
-0x1360, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303, 0xD2F2,
-0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303, 0xD2F2,
-0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC2F2,
-0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC2F2,
-0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303, 0xC2F2,
-0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0x4303, 0x4303, 0x4303, 0x4303,
-0x4303, 0x434C, 0x1292, 0x1360, 0x4303, 0x4A0F, 0xDB0F, 0x930F, 0x23BD,
-0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x4C0A, 0x4D0B, 0x4C0F, 0xDD0F,
-0x930F, 0x2443, 0x533A, 0x633B, 0x435C, 0x1292, 0x1360, 0x4303, 0x434C,
-0x1292, 0x1360, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303,
-0xD2F2, 0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303,
-0xD2F2, 0x0031, 0x4303, 0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303,
-0xC2F2, 0x0031, 0x4303, 0xD3D2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303,
-0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0xC3D2, 0x0031, 0x4303,
-0xC2F2, 0x0031, 0x4303, 0xD2F2, 0x0031, 0x4303, 0x4303, 0x4303, 0x4303,
-0x4303, 0x4303, 0x4A0F, 0xDB0F, 0x930F, 0x23BD, 0x3FB1, 0x120F, 0x120E,
-0x120D, 0x120C, 0x8231, 0x4381, 0x0000, 0x4381, 0x0002, 0x4381, 0x0004,
-0x4381, 0x0006, 0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2,
-0x2867, 0x01EA, 0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA,
-0x40B2, 0x286D, 0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x41D2,
-0x000F, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x403F, 0x007E, 0x4FE1, 0x0007,
-0x41D2, 0x000E, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0006, 0x41D2,
-0x000D, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0005, 0x4EC2, 0x007F,
-0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0004, 0x41D2, 0x000B, 0x007F, 0xB3D2,
-0x0079, 0x2BFD, 0x4FE1, 0x0003, 0x4DC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
-0x4FE1, 0x0002, 0x41D2, 0x0009, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1,
-0x0001, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
-0x4F6E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033, 0xB31C, 0x2804,
-0xD0F2, 0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2,
-0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xDEC1, 0x0000,
-0xD392, 0x01F0, 0x412C, 0x411D, 0x0002, 0x411E, 0x0004, 0x411F, 0x0006,
-0x5031, 0x0010, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x4306, 0x4307, 0x4308, 0x4309, 0x430A, 0x430B, 0x430F, 0x430C,
-0x430D, 0x4304, 0x3C01, 0x5314, 0x9224, 0x347B, 0x407C, 0x0028, 0x1292,
-0x1354, 0x4C46, 0x9036, 0x0089, 0x2403, 0x9036, 0x008D, 0x201E, 0x4307,
-0x4308, 0x4309, 0x403A, 0x0FF0, 0x430B, 0x460C, 0x421F, 0x1112, 0x129F,
-0x0008, 0x470C, 0x421F, 0x1112, 0x129F, 0x0008, 0x480C, 0x490D, 0x421F,
-0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F, 0x000A,
-0x430C, 0x3C53, 0x9036, 0x0091, 0x2406, 0x9036, 0x0099, 0x2403, 0x9036,
-0x0095, 0x23CB, 0x407C, 0x00E8, 0x1292, 0x1354, 0x430C, 0x1292, 0x1358,
-0x4C0F, 0x4F07, 0x407C, 0x00E1, 0x1292, 0x1354, 0x430C, 0x430D, 0x1292,
-0x135A, 0x4C08, 0x4D09, 0x480C, 0x490D, 0xF33C, 0xF30D, 0x5C0C, 0x6D0D,
-0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x5C0C, 0x6D0D, 0x480E, 0x490F, 0x4F0E,
-0xE33F, 0x5F0F, 0x7F0F, 0x4C08, 0x4D09, 0x5E08, 0x6F09, 0x480F, 0xD90F,
-0x930F, 0x2404, 0x480A, 0x490B, 0x522A, 0x630B, 0x460C, 0x421F, 0x1112,
-0x129F, 0x0008, 0x470C, 0x421F, 0x1112, 0x129F, 0x0008, 0x480C, 0x490D,
-0x421F, 0x1112, 0x129F, 0x000A, 0x4A0C, 0x4B0D, 0x421F, 0x1112, 0x129F,
-0x000A, 0x430C, 0x3C01, 0x433C, 0x4030, 0xD420, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8321, 0x4C0A, 0x4A2C, 0x4A1D,
-0x0002, 0x12B0, 0xD196, 0x4C06, 0xF036, 0x0F00, 0xD036, 0x0085, 0x403B,
-0x1354, 0x4075, 0x0088, 0x454C, 0x12AB, 0x4034, 0x1356, 0x407C, 0x0034,
-0x12A4, 0x4077, 0x0082, 0x474C, 0x12AB, 0x4038, 0x1360, 0x435C, 0x12A8,
-0x4039, 0x1358, 0x460C, 0x12B0, 0xC9E6, 0x4076, 0x0042, 0x12B0, 0xC9B6,
-0x4A2C, 0x12B0, 0xC9BC, 0x4A1C, 0x0004, 0x4A1D, 0x0006, 0x12B0, 0x5B3E,
-0xD03C, 0x0086, 0x12B0, 0xC9EC, 0x4A1C, 0x0004, 0x12B0, 0xC9BC, 0x4A1C,
-0x0008, 0x4A1D, 0x000A, 0x12B0, 0x5B3E, 0xD03C, 0x0089, 0x12B0, 0xC9EC,
-0x4A1C, 0x0008, 0x12B0, 0xC9BC, 0x4A1C, 0x000C, 0x4A1D, 0x000E, 0x12B0,
-0x5B3E, 0xD50C, 0x4C81, 0x0000, 0x12B0, 0xD0CE, 0x12A8, 0x412C, 0x12B0,
-0xC9E6, 0x12B0, 0xC9B6, 0x4A1C, 0x000C, 0x12B0, 0xC9BC, 0x4A1C, 0x0010,
-0x4A1D, 0x0012, 0x12B0, 0x5B3E, 0xD03C, 0x008A, 0x12B0, 0xC9EC, 0x4A1C,
-0x0010, 0x12B0, 0xC9BC, 0x4A1C, 0x0014, 0x4A1D, 0x0016, 0x12B0, 0x5B3E,
-0xD03C, 0x008B, 0x12B0, 0xC9EC, 0x4A1C, 0x0014, 0x12B0, 0xC9BC, 0x4A1C,
-0x0018, 0x4A1D, 0x001A, 0x12B0, 0x5B3E, 0xD03C, 0x008C, 0x12B0, 0xC9EC,
-0x4A1C, 0x0018, 0x12B0, 0xC9BC, 0x5321, 0x4030, 0xD41E, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x8321, 0x430A, 0x430B,
-0x4378, 0x4345, 0x43C1, 0x0000, 0x4304, 0x12B0, 0xCA04, 0xD3D2, 0x0031,
-0x4216, 0x2758, 0x4037, 0x000A, 0x470C, 0x1286, 0xC2F2, 0x0031, 0x470C,
-0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xC3D2, 0x0031, 0x470C, 0x1286,
-0xC2F2, 0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xC2F2,
-0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xB318, 0x2C03,
-0xC3E2, 0x0031, 0x3C02, 0xD3E2, 0x0031, 0xC312, 0x1008, 0xC2F2, 0x0031,
-0x470C, 0x1286, 0xD2F2, 0x0031, 0xC312, 0x100B, 0x100A, 0xB2E2, 0x0030,
-0x2809, 0xD03B, 0x8000, 0x93C1, 0x0000, 0x2008, 0x4345, 0x43D1, 0x0000,
-0x3C04, 0x93C1, 0x0000, 0x2001, 0x5314, 0x5165, 0x9075, 0x0020, 0x2009,
-0x43C1, 0x0000, 0x4345, 0x4A4E, 0xC35E, 0x907E, 0x00FE, 0x2405, 0x5314,
-0x9034, 0x00FF, 0x23CE, 0x4304, 0xD3D2, 0x0031, 0x470C, 0x1286, 0xC2F2,
-0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0xC2F2, 0x0031, 0x470C, 0x1286,
-0xD2F2, 0x0031, 0x470C, 0x1286, 0xC3D2, 0x0031, 0x470C, 0x1286, 0xC2F2,
-0x0031, 0x470C, 0x1286, 0xD2F2, 0x0031, 0x470C, 0x1286, 0xD3D2, 0x0031,
-0x470C, 0x1286, 0x440C, 0x5321, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x8231, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F,
-0x0018, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x411B, 0x0004, 0x832B,
-0x4038, 0x1354, 0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1356, 0x4039,
-0x1360, 0x435C, 0x12A9, 0x4307, 0x4036, 0x1358, 0x407C, 0x0028, 0x12A8,
-0x430C, 0x12A6, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2406, 0x12B0, 0xD96C,
-0x5317, 0x9037, 0x000A, 0x2BF0, 0x4077, 0x00C8, 0x474C, 0x12A8, 0x403C,
-0x3401, 0x12A6, 0x407C, 0x0082, 0x12A8, 0x403C, 0x4030, 0x12A6, 0x12B0,
-0xD96C, 0x4B0C, 0x12A6, 0x9382, 0x1506, 0x2402, 0x12B0, 0xD96C, 0x434C,
-0x12A9, 0x407C, 0x0021, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A9,
-0x12B0, 0xD524, 0x435C, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x403C, 0x3FFF,
-0x12A6, 0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C, 0x2409, 0x12A6, 0x435C,
-0x12A9, 0x407C, 0x00C2, 0x12A8, 0x430A, 0x430B, 0x3C0C, 0x435C, 0x12A9,
-0x434C, 0x12A9, 0x430C, 0x12A6, 0x421F, 0x1112, 0x129F, 0x0008, 0x531A,
-0x630B, 0x911B, 0x0002, 0x2BF1, 0x2002, 0x912A, 0x2BEE, 0x435C, 0x12A9,
-0x12B0, 0xD524, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A9, 0x430C, 0x5231,
-0x4030, 0xD422, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8031,
-0x007C, 0x4381, 0x0000, 0x410C, 0x522C, 0x403E, 0x003C, 0x12B0, 0xD494,
-0x410C, 0x532C, 0x12B0, 0xD706, 0x3403, 0x403C, 0xFFEB, 0x3C6D, 0x410C,
-0x12B0, 0xD706, 0x2403, 0x403C, 0xFFC1, 0x3C66, 0x4306, 0x3C01, 0x5316,
-0x9126, 0x2C0B, 0x410C, 0x522C, 0x460F, 0x5F0F, 0x5F0C, 0x12B0, 0xD706,
-0x37F5, 0x403C, 0xFFC0, 0x3C56, 0x411C, 0x0002, 0x1292, 0x274E, 0x4216,
-0x2754, 0x12B0, 0xD9DC, 0x435C, 0x12B0, 0xD9DE, 0x430A, 0x430B, 0x4038,
-0x1354, 0x407C, 0x0086, 0x12A8, 0x4039, 0x1358, 0x430C, 0x12A9, 0x531A,
-0x630B, 0x2014, 0x903A, 0x0BB8, 0x2C11, 0xB32C, 0x2BF6, 0x403C, 0x0011,
-0x12A9, 0x403C, 0xA55A, 0x12A9, 0x403C, 0x1E1E, 0x12A9, 0x407C, 0x0028,
-0x12A8, 0x907C, 0x0091, 0x2403, 0x403C, 0xFFCE, 0x3C26, 0x12B0, 0xD9DC,
-0x4306, 0x3C19, 0x430A, 0x430B, 0x460F, 0x5F0F, 0x510F, 0x4F17, 0x0004,
-0x407C, 0x0086, 0x12A8, 0x430C, 0x12A9, 0x531A, 0x630B, 0x23EA, 0x903A,
-0x0BB8, 0x2FE7, 0xB31C, 0x2BF6, 0x431C, 0x12A9, 0x470C, 0x12A9, 0x5316,
-0x9126, 0x2BE5, 0x407C, 0x0028, 0x12A8, 0x907C, 0x0091, 0x23D8, 0x430C,
-0x5031, 0x007C, 0x4030, 0xD422, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x8321, 0x4C0A, 0x4306, 0x403B, 0x1360, 0x4038, 0x1358, 0x4039, 0x1354,
-0xB31C, 0x282B, 0x403C, 0x14E2, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x2403, 0x403C, 0xFFF5, 0x3C68, 0x403C, 0x14DE, 0x421F, 0x1112, 0x129F,
-0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C5D, 0x407C, 0x0082, 0x12A9,
-0x403C, 0x3FFF, 0x12A8, 0x12B0, 0xD7F4, 0x403C, 0x2409, 0x12A8, 0x435C,
-0x12AB, 0x434C, 0x12AB, 0x407C, 0x0048, 0x12A9, 0x403C, 0x0018, 0x12A8,
-0x5292, 0x14DE, 0x14DE, 0x6292, 0x14E0, 0x14E0, 0x3C1F, 0x410C, 0x129F,
-0x0014, 0x4C06, 0x407C, 0x00C1, 0x12A9, 0x421C, 0x14E2, 0x421D, 0x14E4,
-0x1292, 0x135A, 0x407C, 0x00A1, 0x12A9, 0x416C, 0x1292, 0x1356, 0x435C,
-0x12AB, 0x434C, 0x12AB, 0x5392, 0x14E2, 0x6382, 0x14E4, 0x53B2, 0x14DE,
-0x63B2, 0x14E0, 0x421F, 0x1112, 0x421E, 0x14DE, 0xD21E, 0x14E0, 0x930E,
-0x2402, 0x9306, 0x27D7, 0xB32A, 0x280B, 0x12B0, 0xD7F4, 0x403C, 0x2401,
-0x12A8, 0x407C, 0x0021, 0x12A9, 0x435C, 0x12AB, 0x3C0A, 0x9316, 0x2006,
-0x407C, 0x0091, 0x129F, 0x0012, 0x4306, 0x3C02, 0x4036, 0xFFF3, 0x460C,
-0x5321, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x1204, 0x1205, 0x8031, 0x000A, 0x4338, 0x4039, 0x1112, 0x410C, 0x522C,
-0x492F, 0x129F, 0x0014, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C6B, 0x431C,
-0x492F, 0x129F, 0x001A, 0x410C, 0x492F, 0x129F, 0x0018, 0x930C, 0x3403,
-0x403C, 0xFFCD, 0x3C5E, 0x43C1, 0x0004, 0x430C, 0x1292, 0x274E, 0x930C,
-0x2403, 0x403C, 0xFFEA, 0x3C54, 0x90B1, 0xA55A, 0x0000, 0x2004, 0x90B1,
-0xA55A, 0x0002, 0x2408, 0x90B1, 0x5AA5, 0x0000, 0x2040, 0x90B1, 0x5AA5,
-0x0002, 0x203C, 0x4216, 0x276C, 0x434C, 0x1286, 0x435C, 0x1292, 0x2754,
-0x1292, 0x134E, 0x434C, 0x1286, 0x4357, 0x1292, 0x1350, 0x430A, 0x430B,
-0x4304, 0x4191, 0x0002, 0x0008, 0x41A1, 0x0006, 0x407C, 0x0086, 0x1292,
-0x1354, 0x4035, 0x1358, 0x430C, 0x12A5, 0x531A, 0x630B, 0x2003, 0x903A,
-0x0BB8, 0x2802, 0x4314, 0x3C0B, 0xB32C, 0x2BF4, 0x403C, 0x0011, 0x12A5,
-0x411C, 0x0008, 0x12A5, 0x411C, 0x0006, 0x12A5, 0x435C, 0x1286, 0x403C,
-0x0BB8, 0x1292, 0x275A, 0x9314, 0x2003, 0x403C, 0xFFCE, 0x3C08, 0x474C,
-0x492F, 0x129F, 0x0004, 0x9347, 0x2401, 0x4308, 0x480C, 0x5031, 0x000A,
-0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x1205, 0x4335, 0x4309, 0x4036, 0x1358, 0x4037, 0x1354, 0x3C06, 0x9309,
-0x2404, 0x9319, 0x2402, 0x4308, 0x3C01, 0x4318, 0x480C, 0x1292, 0x274E,
-0x4214, 0x2754, 0x435C, 0x12B0, 0xD740, 0x430A, 0x430B, 0x407C, 0x0086,
-0x12A7, 0x430C, 0x12A6, 0x531A, 0x630B, 0x2003, 0x903A, 0x0BB8, 0x2803,
-0x4035, 0xFFCF, 0x3C07, 0xB31C, 0x2BF3, 0x431C, 0x12A6, 0x403C, 0xA55A,
-0x12A6, 0x12B0, 0xD284, 0x240F, 0x903A, 0x0091, 0x2413, 0x903A, 0x0099,
-0x2013, 0x12B0, 0xD682, 0x407C, 0x0054, 0x12A7, 0x430C, 0x431D, 0x1292,
-0x135C, 0x12B0, 0xD474, 0x484C, 0x12B0, 0xD47C, 0x430C, 0x3C34, 0x12B0,
-0xD682, 0x3FF6, 0x5319, 0x9229, 0x3BBB, 0x4309, 0x432C, 0x1292, 0x274E,
-0x434C, 0x12B0, 0x8AA4, 0x12B0, 0x4BFE, 0x12B0, 0xCC42, 0x403C, 0x000A,
-0x1292, 0x275A, 0x12B0, 0xCF8C, 0x436C, 0x12B0, 0x8AA4, 0x12B0, 0x4BFE,
-0x12B0, 0xCF66, 0x403C, 0x000A, 0x1292, 0x275A, 0x12B0, 0xD284, 0x2406,
-0x903A, 0x0091, 0x2403, 0x903A, 0x0099, 0x2004, 0x12B0, 0xD474, 0x436C,
-0x3FCD, 0x5319, 0x9039, 0x0003, 0x3BD7, 0x450C, 0x4030, 0xD41E, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x8031, 0x0018, 0x4C0B, 0x4E0A, 0x4D0E,
-0x430F, 0x403C, 0x0005, 0x1292, 0x14A4, 0x4A0E, 0x430F, 0x403C, 0x0006,
-0x1292, 0x14A4, 0x4B0C, 0x430D, 0x1292, 0x14A6, 0x407C, 0x00A8, 0x1292,
-0x1354, 0x4382, 0x0160, 0xC392, 0x0160, 0x40B2, 0x0200, 0x0160, 0x40B2,
-0x02E9, 0x0172, 0x4382, 0x0170, 0xD0B2, 0x0016, 0x0160, 0x4218, 0x14A0,
-0x4309, 0x403F, 0xEA5E, 0x4303, 0x430B, 0x533F, 0x633B, 0x2FFD, 0x421A,
-0x14A0, 0x430B, 0xC0B2, 0x0010, 0x0160, 0xC3A2, 0x0160, 0x410C, 0x403E,
-0x27C6, 0x423D, 0x12B0, 0xD454, 0x410F, 0x523F, 0x120F, 0x430F, 0x430E,
-0x423D, 0x410C, 0x532C, 0x4216, 0x1112, 0x1296, 0x000E, 0x403C, 0x0003,
-0x1292, 0x14AC, 0x410C, 0x503C, 0x000A, 0x421F, 0x1112, 0x129F, 0x0010,
-0x5321, 0x9309, 0x2005, 0x9A08, 0x2C03, 0x880A, 0x790B, 0x3C04, 0x8A08,
-0x7309, 0x480A, 0x490B, 0x1292, 0x14A2, 0x4382, 0x14A0, 0x4C0E, 0x4D0F,
-0x5C0C, 0x6D0D, 0x5E0C, 0x6F0D, 0x503C, 0x001F, 0x630D, 0x403E, 0x03E8,
-0x430F, 0x12B0, 0xCE6E, 0x4A0E, 0x4B0F, 0x12B0, 0xCD32, 0x5031, 0x0018,
-0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A,
-0x430B, 0x4038, 0x1360, 0x4039, 0x1358, 0x4036, 0x1354, 0xB31C, 0x2828,
-0x403C, 0x14DA, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C,
-0xFFF5, 0x3C62, 0x403C, 0x14D6, 0x421F, 0x1112, 0x129F, 0x0018, 0x933C,
-0x2003, 0x403C, 0xFFF4, 0x3C57, 0x407C, 0x0082, 0x12A6, 0x403C, 0x3FFF,
-0x12A9, 0x12B0, 0xD7E0, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x12B0,
-0xD7E0, 0x403C, 0x2418, 0x12A9, 0x5292, 0x14D6, 0x14D6, 0x6292, 0x14D8,
-0x14D8, 0x3C1C, 0x410C, 0x129F, 0x0014, 0x4C0B, 0x407C, 0x00C1, 0x12A6,
-0x421C, 0x14DA, 0x12A9, 0x407C, 0x00A1, 0x12A6, 0x416C, 0x1292, 0x1356,
-0x435C, 0x12A8, 0x434C, 0x12A8, 0x5392, 0x14DA, 0x6382, 0x14DC, 0x53B2,
-0x14D6, 0x63B2, 0x14D8, 0x421F, 0x1112, 0x421E, 0x14D6, 0xD21E, 0x14D8,
-0x930E, 0x2402, 0x930B, 0x27DA, 0xB32A, 0x280B, 0x12B0, 0xD7E0, 0x403C,
-0x2401, 0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x12A8, 0x3C0A, 0x931B,
-0x2006, 0x407C, 0x0091, 0x129F, 0x0012, 0x430B, 0x3C02, 0x403B, 0xFFF3,
-0x4B0C, 0x5321, 0x4030, 0xD424, 0x434C, 0x12A7, 0x484C, 0x4B20, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C0A, 0x403B,
-0x1354, 0x12B0, 0xA15C, 0x403C, 0x3401, 0x12A9, 0x4076, 0x0082, 0x464C,
-0x12AB, 0x403C, 0x4035, 0x12A9, 0x4037, 0x1360, 0x434C, 0x12A7, 0x4074,
-0x0042, 0x12B0, 0xA170, 0x4A2C, 0x12B0, 0xA178, 0x4035, 0x2401, 0x450C,
-0x12A9, 0x435C, 0x12B0, 0xA090, 0x12B0, 0xD252, 0x403C, 0x4036, 0x12B0,
-0xA16A, 0x4A1C, 0x0002, 0x12B0, 0xD246, 0x403C, 0x4039, 0x12B0, 0xA16A,
-0x4A1C, 0x0004, 0x12B0, 0xD246, 0x403C, 0x4038, 0x12B0, 0xA16A, 0x4A1C,
-0x0006, 0x12B0, 0xD246, 0x403C, 0x403A, 0x12B0, 0xA16A, 0x4A1C, 0x0008,
-0x12B0, 0xD246, 0x403C, 0x403B, 0x12B0, 0xA16A, 0x4A1C, 0x000A, 0x12B0,
-0xD246, 0x403C, 0x403C, 0x12B0, 0xA16A, 0x4A1C, 0x000C, 0x12B0, 0xA178,
-0x12B0, 0xA154, 0x4030, 0xD41E, 0x450C, 0x12A9, 0x435C, 0x4720, 0x4078,
-0x00C8, 0x484C, 0x12AB, 0x4039, 0x1358, 0x4130, 0x12A9, 0x434C, 0x12A7,
-0x12B0, 0xD5B6, 0x464C, 0x4B20, 0x12B0, 0xD5B0, 0x464C, 0x12AB, 0x403C,
-0x3FFD, 0x12B0, 0xD5B0, 0x434C, 0x3F82, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x8231, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403,
-0x403C, 0xFFF2, 0x3C6A, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C5F, 0x4038, 0x1354, 0x407C, 0x0082,
-0x12A8, 0x4039, 0x1358, 0x403C, 0x3FFF, 0x12A9, 0x4036, 0x1360, 0x434C,
-0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2409, 0x12A9, 0x12B0, 0xD9D4,
-0x430A, 0x430B, 0x3C16, 0x407C, 0x00C1, 0x12A8, 0x412C, 0x12A9, 0x407C,
-0x00A1, 0x12A8, 0x12B0, 0xD9D4, 0x430C, 0x12A9, 0x421F, 0x1112, 0x129F,
-0x0008, 0x53A1, 0x0000, 0x6381, 0x0002, 0x531A, 0x630B, 0x911B, 0x0006,
-0x2BE7, 0x2003, 0x911A, 0x0004, 0x2BE3, 0x12B0, 0xD9D4, 0x407C, 0x00C8,
-0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6,
-0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1356, 0x435C, 0x12A6, 0x430B,
-0x407C, 0x0028, 0x12A8, 0x430C, 0x12A9, 0xF07C, 0x0081, 0x907C, 0x0081,
-0x2408, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x531B, 0x903B, 0x000A, 0x2BEE,
-0x430C, 0x5231, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x1204, 0x1205, 0x8031, 0x003E, 0x4C05, 0x4308, 0x4039, 0x001B,
-0x4381, 0x0000, 0x430A, 0x430B, 0x4036, 0x1112, 0x410C, 0x462F, 0x129F,
-0x0016, 0x930C, 0x3403, 0x403C, 0xFFFE, 0x3C5C, 0x12B0, 0xD86C, 0x403E,
-0x001C, 0x410D, 0x532D, 0x412C, 0x1292, 0x14AA, 0x12B0, 0x8D42, 0x3C02,
-0x4709, 0x4314, 0x480F, 0x531F, 0x990F, 0x2C1B, 0x4907, 0x5807, 0xC312,
-0x1007, 0x4304, 0x430E, 0x470C, 0x12B0, 0xD4BC, 0x12B0, 0xD40C, 0x2402,
-0x12B0, 0x8D42, 0x4A0F, 0xDB0F, 0x930F, 0x2415, 0x903B, 0x0020, 0x2804,
-0x23E4, 0x903A, 0xA761, 0x2FE1, 0x4708, 0x3FE1, 0x9304, 0x240A, 0x430E,
-0x480C, 0x12B0, 0xD4BC, 0x4C0D, 0x412C, 0x12B0, 0x9E8C, 0x4C0A, 0x4D0B,
-0x403E, 0x0015, 0x410D, 0x532D, 0x12B0, 0x8D4A, 0x503A, 0x6478, 0x603B,
-0xFFEC, 0x903B, 0x0010, 0x2806, 0x2003, 0x903A, 0xB559, 0x2802, 0x433C,
-0x3C10, 0x430C, 0x12B0, 0xD8B6, 0x480C, 0x12B0, 0xD4BC, 0x12B0, 0xD8B6,
-0x12B0, 0xD8B2, 0x12B0, 0xD8B2, 0x430C, 0x12B0, 0xD8B6, 0x430C, 0x5031,
-0x003E, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x8221, 0x4316, 0x403B, 0x1358, 0x4038, 0x1354, 0x4039, 0x1360, 0x3C03,
-0x9326, 0x2001, 0x4226, 0x434C, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x435C,
-0x12A9, 0x464C, 0x108C, 0xF03C, 0x0F00, 0x503C, 0x0060, 0x12AB, 0x407C,
-0x00C8, 0x12A8, 0x403C, 0x1401, 0x12AB, 0x407C, 0x0082, 0x12A8, 0x12B0,
-0xD914, 0x9382, 0x1398, 0x2403, 0x403C, 0x0FF6, 0x3C02, 0x403C, 0x018C,
-0x12AB, 0x12B0, 0xD914, 0x403C, 0x3FFD, 0x12AB, 0x434C, 0x12A9, 0x9382,
-0x1398, 0x2402, 0x12B0, 0xD65E, 0x12B0, 0xD876, 0x430C, 0x12AB, 0x4C07,
-0x12B0, 0xD914, 0x430C, 0x12AB, 0x4C0A, 0x12B0, 0xD914, 0x12B0, 0xD914,
-0x12B0, 0xD914, 0x9382, 0x1398, 0x2002, 0x12B0, 0xD65E, 0x434C, 0x12A9,
-0x12B0, 0xD876, 0x4781, 0x0000, 0x4A81, 0x0002, 0x403D, 0x0003, 0x410C,
-0x421F, 0x1112, 0x129F, 0x0006, 0x5316, 0x9036, 0x0010, 0x2BA7, 0x407C,
-0x0086, 0x12A8, 0x430C, 0x12AB, 0xB23C, 0x2807, 0x403C, 0x0014, 0x12AB,
-0x430C, 0x12AB, 0x430C, 0x12AB, 0x430C, 0x5221, 0x4030, 0xD422, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A, 0x430B, 0x4038, 0x1360,
-0x4039, 0x1358, 0x4036, 0x1354, 0xB31C, 0x2844, 0x403C, 0x14EA, 0x421F,
-0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C5B, 0x403C,
-0x14E6, 0x421F, 0x1112, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4,
-0x3C50, 0x407C, 0x0082, 0x12A6, 0x403C, 0x3FFF, 0x12A9, 0x12B0, 0xD808,
-0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x12B0, 0xD808, 0x403C, 0x2408,
-0x12A9, 0x3C1B, 0x410C, 0x129F, 0x0016, 0x4C0B, 0x407C, 0x00C1, 0x12A6,
-0x421C, 0x14EA, 0x12A9, 0x407C, 0x00A1, 0x12A6, 0x412C, 0x12A9, 0x435C,
-0x12A8, 0x434C, 0x12A8, 0x53A2, 0x14EA, 0x6382, 0x14EC, 0x53B2, 0x14E6,
-0x63B2, 0x14E8, 0x421F, 0x1112, 0x421E, 0x14E6, 0xD21E, 0x14E8, 0x930E,
-0x2402, 0x930B, 0x27DB, 0xB32A, 0x280B, 0x12B0, 0xD808, 0x403C, 0x2401,
-0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x12A8, 0x3C0A, 0x931B, 0x2006,
-0x407C, 0x0091, 0x129F, 0x0012, 0x430B, 0x3C02, 0x403B, 0xFFF3, 0x4B0C,
-0x5321, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8031,
-0x001C, 0x403F, 0x27DE, 0x4FF1, 0x0008, 0x4FF1, 0x0009, 0x4FF1, 0x000A,
-0x4FF1, 0x000B, 0x403A, 0x1112, 0x410C, 0x522C, 0x4A2F, 0x129F, 0x0018,
-0x930C, 0x2403, 0x403C, 0xFFDD, 0x3C58, 0x410C, 0x4A2F, 0x129F, 0x0018,
-0x930C, 0x3403, 0x403C, 0xFFDC, 0x3C4F, 0x410B, 0x503B, 0x000C, 0x120B,
-0x12B0, 0xD442, 0x12B0, 0xD334, 0x5321, 0x9308, 0x3402, 0x480C, 0x3C42,
-0x4038, 0x1354, 0x407C, 0x0048, 0x12A8, 0x435C, 0x1292, 0x1356, 0x4039,
-0x1360, 0x435C, 0x12A9, 0x4306, 0x407C, 0x0028, 0x12A8, 0x430C, 0x1292,
-0x1358, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2408, 0x434C, 0x12A9, 0x435C,
-0x12A9, 0x5316, 0x9036, 0x000A, 0x2BED, 0x411C, 0x0004, 0x411D, 0x0006,
-0x1292, 0x1362, 0x407C, 0x0022, 0x12A8, 0x412C, 0x411D, 0x0002, 0x1292,
-0x1364, 0x407C, 0x0062, 0x12A8, 0x430C, 0x1292, 0x1358, 0x4A2F, 0x129F,
-0x0008, 0x435C, 0x12A9, 0x1292, 0x1366, 0x120B, 0x12B0, 0xD442, 0x12B0,
-0xD334, 0x480C, 0x5321, 0x5031, 0x001C, 0x4030, 0xD424, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x8321, 0x4C0A, 0x4306, 0x403B, 0x1360, 0x4038,
-0x1358, 0x4039, 0x1354, 0xB31C, 0x2843, 0x403C, 0x14F2, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF5, 0x3C5A, 0x403C, 0x14EE,
-0x421F, 0x1112, 0x129F, 0x0018, 0x933C, 0x2003, 0x403C, 0xFFF4, 0x3C4F,
-0x407C, 0x0082, 0x12A9, 0x403C, 0x3FFF, 0x12A8, 0x12B0, 0xD81C, 0x403C,
-0x2409, 0x12B0, 0xD826, 0x407C, 0x0048, 0x12A9, 0x423C, 0x12A8, 0x3C1B,
-0x410C, 0x129F, 0x0016, 0x4C06, 0x407C, 0x00C1, 0x12A9, 0x421C, 0x14F2,
-0x421D, 0x14F4, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12A9, 0x412C, 0x12B0,
-0xD826, 0x53A2, 0x14F2, 0x6382, 0x14F4, 0x53B2, 0x14EE, 0x63B2, 0x14F0,
-0x421F, 0x1112, 0x421E, 0x14EE, 0xD21E, 0x14F0, 0x930E, 0x2402, 0x9306,
-0x27DB, 0xB32A, 0x280B, 0x12B0, 0xD81C, 0x403C, 0x2401, 0x12A8, 0x407C,
-0x0021, 0x12A9, 0x435C, 0x12AB, 0x3C0A, 0x9316, 0x2006, 0x407C, 0x0091,
-0x129F, 0x0012, 0x4306, 0x3C02, 0x4036, 0xFFF3, 0x460C, 0x5321, 0x4030,
-0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x8031, 0x002A, 0x430A, 0x4038,
-0x1360, 0x434C, 0x12A8, 0x403B, 0x1354, 0x407C, 0x00C8, 0x12AB, 0x4039,
-0x1358, 0x403C, 0x0500, 0x12A9, 0x12B0, 0xD2FC, 0x407C, 0x00A1, 0x12AB,
-0x403C, 0x0003, 0x12A9, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x12AB, 0x403C,
-0x0501, 0x12A9, 0x12B0, 0xD676, 0x434C, 0x12A8, 0x12B0, 0xD2FC, 0x434C,
-0x12A8, 0x407C, 0x0042, 0x12AB, 0x430C, 0x12A9, 0x4C09, 0x12B0, 0xD676,
-0x9309, 0x383B, 0x4308, 0x4109, 0x5039, 0x0010, 0x490C, 0x580C, 0x421F,
-0x1112, 0x129F, 0x0014, 0x5318, 0x9038, 0x0016, 0x2BF6, 0x490F, 0x580F,
-0x40FF, 0x00DE, 0x0000, 0x40FF, 0x00AD, 0x0001, 0x40FF, 0x00BA, 0x0002,
-0x40FF, 0x00BE, 0x0003, 0x410F, 0x120F, 0x430F, 0x431E, 0x403D, 0x001A,
-0x490C, 0x4218, 0x1112, 0x1298, 0x000E, 0x403C, 0x0003, 0x1292, 0x1258,
-0x410C, 0x532C, 0x421F, 0x1112, 0x129F, 0x0010, 0x407C, 0x0054, 0x12AB,
-0x403C, 0x0200, 0x430D, 0x1292, 0x135C, 0x5321, 0x3C01, 0x433A, 0x4A0C,
-0x5031, 0x002A, 0x4030, 0xD426, 0x120A, 0x120B, 0x8031, 0x001C, 0x43C1,
-0x0000, 0x4381, 0x0002, 0x403C, 0x0005, 0x1292, 0x275A, 0x407C, 0x0028,
-0x1292, 0x1354, 0x4CC1, 0x0000, 0x407A, 0x0091, 0x9AC1, 0x0000, 0x2002,
-0x430F, 0x3C07, 0x421F, 0x14B6, 0x531F, 0x931F, 0x2002, 0x43F1, 0x0000,
-0x4F82, 0x14B6, 0x932F, 0x384A, 0x4382, 0x14B6, 0x1292, 0x2756, 0x434C,
-0x1292, 0x2754, 0x1292, 0x134E, 0x407C, 0x00C8, 0x1292, 0x1354, 0x4CC1,
-0x0000, 0x9AC1, 0x0000, 0x2038, 0x407C, 0x0086, 0x1292, 0x1354, 0x9A4C,
-0x2032, 0x422C, 0x1292, 0x1358, 0x903C, 0x1207, 0x202C, 0x430C, 0x1292,
-0x1358, 0x903C, 0xA55A, 0x2024, 0x410C, 0x522C, 0x403E, 0x27D6, 0x423D,
-0x12B0, 0xD454, 0x410F, 0x503F, 0x000C, 0x120F, 0x430F, 0x430E, 0x423D,
-0x410C, 0x503C, 0x0006, 0x421B, 0x1112, 0x129B, 0x000E, 0x403C, 0x0003,
-0x1292, 0x1230, 0x410C, 0x503C, 0x000E, 0x421F, 0x1112, 0x129F, 0x0010,
-0x4AC1, 0x0002, 0x5321, 0x3C02, 0x43F1, 0x0000, 0x416C, 0x5031, 0x001C,
-0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207,
-0x403B, 0x1112, 0x403C, 0x14B8, 0x12B0, 0xD894, 0x2402, 0x433C, 0x3C61,
-0x403C, 0x14BC, 0x12B0, 0xD894, 0x23F9, 0x403C, 0x14BE, 0x12B0, 0xD894,
-0x23F4, 0x403C, 0x14BA, 0x4B2F, 0x129F, 0x0016, 0x933C, 0x27ED, 0x9382,
-0x14BA, 0x2402, 0x435C, 0x3C01, 0x434C, 0x1292, 0x2754, 0x1292, 0x134E,
-0x4038, 0x1358, 0x4216, 0x14BC, 0x90B2, 0x0011, 0x14B8, 0x430A, 0x430B,
-0x4309, 0x2019, 0x4217, 0x14BE, 0x407C, 0x0086, 0x1292, 0x1354, 0x430C,
-0x12A8, 0x531A, 0x630B, 0x2003, 0x903A, 0x0BB8, 0x2802, 0x4319, 0x3C1B,
-0xB32C, 0x2BF4, 0x403C, 0x0011, 0x12A8, 0x460C, 0x12A8, 0x470C, 0x3C11,
-0x407C, 0x0086, 0x1292, 0x1354, 0x430C, 0x12A8, 0x531A, 0x630B, 0x23EC,
-0x903A, 0x0BB8, 0x2FE9, 0xB31C, 0x2BF6, 0x431C, 0x12A8, 0x460C, 0x12A8,
-0x9382, 0x14BA, 0x2406, 0x434C, 0x1292, 0x276E, 0x435C, 0x1292, 0x276C,
-0x403C, 0x003C, 0x1292, 0x275A, 0x9309, 0x239E, 0x430C, 0x4030, 0xD422,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8231, 0x410C, 0x522C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C5C, 0x410C,
-0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C52,
-0x4038, 0x1354, 0x407C, 0x0082, 0x12A8, 0x4039, 0x1358, 0x403C, 0x3FFF,
-0x12A9, 0x4036, 0x1360, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C,
-0x2409, 0x12A9, 0x12B0, 0xD93C, 0x407C, 0x0048, 0x12A8, 0x403C, 0x0019,
-0x12A9, 0x51A1, 0x0000, 0x6191, 0x0002, 0x0002, 0x430A, 0x430B, 0x3C1A,
-0x407C, 0x00C1, 0x12A8, 0x411C, 0x0004, 0x411D, 0x0006, 0x1292, 0x135A,
-0x407C, 0x00A1, 0x12A8, 0x12B0, 0xD93C, 0x430C, 0x12A9, 0x421F, 0x1112,
-0x129F, 0x0004, 0x5391, 0x0004, 0x6381, 0x0006, 0x531A, 0x630B, 0x911B,
-0x0002, 0x2BE3, 0x2002, 0x912A, 0x2BE0, 0x12B0, 0xD93C, 0x407C, 0x00C8,
-0x12A8, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6,
-0x430C, 0x5231, 0x4030, 0xD424, 0x8231, 0x410C, 0x522C, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFCB, 0x3C29, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFCA, 0x3C1F, 0x411E,
-0x0004, 0x411F, 0x0006, 0x930F, 0x204D, 0x903E, 0x000F, 0x2C4A, 0x5E0E,
-0x4E10, 0xAB28, 0xABB6, 0xAB46, 0xAB52, 0xAB4C, 0xAB66, 0xAB72, 0xAB7E,
-0xAB8A, 0xAB90, 0xAB96, 0xAB5A, 0xAB9C, 0xABA4, 0xABAA, 0xABB0, 0x412C,
-0x1292, 0x2750, 0x430C, 0x5231, 0x4130, 0x412C, 0x1292, 0x2752, 0x3FF9,
-0x41A2, 0x137C, 0x4192, 0x0002, 0x137E, 0x3FF3, 0x41A2, 0x1382, 0x4192,
-0x0002, 0x1384, 0x3FED, 0x41A2, 0x1386, 0x4192, 0x0002, 0x1388, 0x3FE7,
-0x41A2, 0x138A, 0x4192, 0x0002, 0x138C, 0x3FE1, 0x41A2, 0x138E, 0x3FDE,
-0x41A2, 0x1390, 0x3FDB, 0x41A2, 0x1392, 0x3FD8, 0x412C, 0x1292, 0x2770,
-0x3FD4, 0x41A2, 0x1380, 0x3FD1, 0x41A2, 0x1506, 0x3FCE, 0x41A2, 0x1398,
-0x3FCB, 0x403C, 0xFFC9, 0x3FC9, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x1204, 0x4C0A, 0x403B, 0x1354, 0x407C, 0x0088, 0x12AB, 0x407C,
-0x0034, 0x1292, 0x1356, 0x12B0, 0xA15C, 0x403C, 0x2401, 0x12A9, 0x407C,
-0x0028, 0x12AB, 0x4036, 0x0032, 0x430C, 0x12A9, 0x5336, 0x933C, 0x2403,
-0xB03C, 0x0200, 0x2C02, 0x9306, 0x23F6, 0x407C, 0x0082, 0x12AB, 0x403C,
-0x4030, 0x12A9, 0x4037, 0x1360, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x403C,
-0x0C04, 0x12B0, 0xD8FC, 0x435C, 0x12A7, 0x434C, 0x12A7, 0x435C, 0x12A7,
-0x407C, 0x0082, 0x12AB, 0x403C, 0x3FFF, 0x12A9, 0x12B0, 0xA08E, 0x403C,
-0x2409, 0x12B0, 0xA156, 0x12B0, 0xA08E, 0x403C, 0x2408, 0x12A9, 0x4306,
-0x407C, 0x00C1, 0x12AB, 0x4604, 0x5404, 0x4A0C, 0x540C, 0x12A9, 0x407C,
-0x00A1, 0x12AB, 0x441C, 0x13C4, 0x12B0, 0xD8FC, 0x5316, 0x9036, 0x0030,
-0x3BED, 0x12B0, 0xA08E, 0x403C, 0x2401, 0x12A9, 0x407C, 0x0021, 0x12B0,
-0xD5B8, 0x4030, 0xD420, 0x120D, 0x120C, 0x8221, 0x4381, 0x0000, 0x4381,
-0x0002, 0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2867,
-0x01EA, 0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA, 0x40B2,
-0x286D, 0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392,
-0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x41D2, 0x0007,
-0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x403F, 0x007E, 0x4FE1, 0x0003, 0x4DC2,
-0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0002, 0x41D2, 0x0005, 0x007F,
-0xB3D2, 0x0079, 0x2BFD, 0x4FE1, 0x0001, 0xC0F2, 0x0010, 0x0078, 0x4CC2,
-0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x4F6E, 0x5E4E, 0x4EC1, 0x0000, 0xF0F2,
-0x00F1, 0x0033, 0xB31C, 0x2804, 0xD0F2, 0x0003, 0x0031, 0x3C04, 0xC3E2,
-0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xB2E2, 0x0030,
-0x7E4E, 0x535E, 0xDEC1, 0x0000, 0xD392, 0x01F0, 0x412C, 0x411D, 0x0002,
-0x5231, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x8231,
-0x4308, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x2403,
-0x4038, 0xFFDF, 0x3C53, 0x410C, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x3403, 0x4038, 0xFFDE, 0x3C49, 0x4039, 0x1354, 0x407C, 0x0082, 0x12A9,
-0x4036, 0x1358, 0x403C, 0x3FFF, 0x12A6, 0x4037, 0x1360, 0x12B0, 0xD7AE,
-0x403C, 0x2409, 0x12A6, 0x435C, 0x12A7, 0x12B0, 0xD7AE, 0x403C, 0x2419,
-0x12A6, 0x51A1, 0x0000, 0x6191, 0x0002, 0x0002, 0x430A, 0x430B, 0x3C19,
-0x407C, 0x00C1, 0x12A9, 0x411C, 0x0004, 0x12A6, 0x407C, 0x00A1, 0x12A9,
-0x435C, 0x12A7, 0x434C, 0x12A7, 0x430C, 0x12A6, 0x421F, 0x1112, 0x129F,
-0x0004, 0x5391, 0x0004, 0x6381, 0x0006, 0x531A, 0x630B, 0x911B, 0x0002,
-0x2BE4, 0x2002, 0x912A, 0x2BE1, 0x12B0, 0xD7AE, 0x403C, 0x2401, 0x12A6,
-0x407C, 0x0021, 0x12A9, 0x435C, 0x12A7, 0x480C, 0x5231, 0x4030, 0xD422,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x8031, 0x000C,
-0x4337, 0x4381, 0x0008, 0x4381, 0x000A, 0x4381, 0x0004, 0x4381, 0x0006,
-0x43C1, 0x0000, 0x4214, 0x12F0, 0x4381, 0x0002, 0x4036, 0x1112, 0x410C,
-0x523C, 0x462F, 0x129F, 0x0018, 0x410C, 0x522C, 0x462F, 0x129F, 0x0018,
-0x410C, 0x532C, 0x462F, 0x129F, 0x0016, 0x411B, 0x0006, 0x12B0, 0xA838,
-0x4CC1, 0x0000, 0xF03B, 0xC000, 0x9381, 0x0002, 0x2415, 0x462F, 0x4F1F,
-0x0008, 0x90F1, 0x0091, 0x0000, 0x422C, 0x2005, 0x12B0, 0xD6FA, 0x430C,
-0x430D, 0x3C04, 0x12B0, 0xD6FA, 0x430C, 0x4B0D, 0x12B0, 0xD700, 0x4307,
-0x3C1B, 0x90F1, 0x0091, 0x0000, 0x2402, 0x432F, 0x3C01, 0x431F, 0x4F82,
-0x12F0, 0x9F04, 0x2410, 0x931F, 0x2005, 0x12B0, 0xD21A, 0x12B0, 0xD6FE,
-0x4317, 0x93A2, 0x12F0, 0x2006, 0x12B0, 0xD21A, 0x4B0D, 0x12B0, 0xD700,
-0x4317, 0x470C, 0x5031, 0x000C, 0x4030, 0xD420, 0x120A, 0x120B, 0x1208,
-0x8231, 0x403A, 0x1112, 0x410C, 0x522C, 0x4A2F, 0x129F, 0x0014, 0x930C,
-0x342B, 0x403C, 0xFFC8, 0x3C55, 0x434C, 0x1292, 0x276E, 0x1292, 0x2762,
-0x4C4B, 0x415E, 0x0002, 0xF07E, 0x000F, 0x416F, 0xF07F, 0x000F, 0xCF4B,
-0xDE4B, 0x1292, 0x276A, 0x4C48, 0x415E, 0x0003, 0xF07E, 0x007C, 0x415F,
-0x0001, 0xF07F, 0x007C, 0xCF48, 0xDE48, 0x4B4C, 0x1292, 0x2760, 0x484C,
-0x1292, 0x2768, 0x53F1, 0x0004, 0x411C, 0x0006, 0x1292, 0x275A, 0x93C1,
-0x0004, 0x2429, 0x410C, 0x532C, 0x12B0, 0xD77C, 0x3403, 0x403C, 0xFFC7,
-0x3C22, 0x410C, 0x12B0, 0xD77C, 0x3BF9, 0x410C, 0x503C, 0x0006, 0x12B0,
-0xD77C, 0x3BF3, 0xB0B1, 0x0040, 0x0000, 0x2809, 0xB0B1, 0x0040, 0x0002,
-0x2802, 0x435C, 0x3C01, 0x434C, 0x1292, 0x276C, 0xB0B1, 0x0100, 0x0000,
-0x2BB5, 0xB0B1, 0x0100, 0x0002, 0x2BAE, 0x435C, 0x3FAD, 0x430C, 0x5231,
-0x4030, 0xD428, 0xC3A2, 0x01A0, 0x40B2, 0x22F0, 0x01A0, 0x40B2, 0x0206,
-0x01A2, 0x407E, 0x0010, 0x4EC2, 0x0080, 0x407F, 0x0011, 0x4FC2, 0x0081,
-0x407D, 0x0012, 0x4DC2, 0x0082, 0x407C, 0x0013, 0x4CC2, 0x0083, 0x4EC2,
-0x0084, 0x4FC2, 0x0085, 0x4DC2, 0x0086, 0x4CC2, 0x0087, 0x4EC2, 0x0088,
-0x4FC2, 0x0089, 0x4DC2, 0x008A, 0x4CC2, 0x008B, 0x4EC2, 0x008C, 0x4FC2,
-0x008D, 0x4DC2, 0x008E, 0x4CC2, 0x008F, 0xD3A2, 0x01A0, 0xD392, 0x01A0,
-0x40B2, 0x0FFF, 0x01C8, 0x40B2, 0x03A0, 0x01C0, 0xD3D2, 0x0078, 0x40F2,
-0x0017, 0x0078, 0x40F2, 0x0053, 0x0079, 0x43E2, 0x007C, 0x43C2, 0x007D,
-0x43C2, 0x007B, 0xC3D2, 0x0078, 0xDEC2, 0x0005, 0x4382, 0x0122, 0x4382,
-0x0124, 0x40B2, 0x13C0, 0x01E8, 0x4292, 0x2784, 0x01EC, 0x40B2, 0x13C0,
-0x01F0, 0x4292, 0x2784, 0x01F4, 0x42A2, 0x01F6, 0x4382, 0x14FE, 0x4382,
-0x1500, 0x430C, 0x12B0, 0x3F54, 0x430C, 0x4130, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x8221, 0x4319, 0x403A, 0x1358, 0x403B, 0x1354,
-0x4038, 0x1360, 0x3C03, 0x9329, 0x2001, 0x4229, 0x410C, 0x12B0, 0xD97C,
-0x410C, 0x531C, 0x12B0, 0xD97C, 0x410C, 0x532C, 0x12B0, 0xD97C, 0x43C1,
-0x0003, 0x412C, 0x411D, 0x0002, 0x12B0, 0xD196, 0x4C06, 0xF036, 0x0F00,
-0x5036, 0x0080, 0x4127, 0x434C, 0x12A8, 0x407C, 0x0082, 0x12AB, 0x435C,
-0x12A8, 0x490F, 0xF03F, 0x000F, 0x5F06, 0x460C, 0x12AA, 0x407C, 0x00C8,
-0x12AB, 0x403C, 0x1401, 0x12AA, 0x407C, 0x0082, 0x12AB, 0x12B0, 0xD7C4,
-0x470C, 0x12B0, 0xD7C2, 0x403C, 0x3FFD, 0x12B0, 0xD974, 0x407C, 0x0021,
-0x12AB, 0x430C, 0x430D, 0x1292, 0x135A, 0x435C, 0x12A8, 0x407C, 0x00C8,
-0x12AB, 0x403C, 0x0501, 0x12B0, 0xD974, 0x407C, 0x0042, 0x12AB, 0x435C,
-0x12A8, 0x5319, 0x9039, 0x0010, 0x2BAD, 0x430C, 0x5221, 0x4030, 0xD422,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x8231, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0018, 0x930C, 0x2403, 0x403C, 0xFFF2, 0x3C52, 0x410C, 0x522C,
-0x421F, 0x1112, 0x129F, 0x0018, 0x930C, 0x3403, 0x403C, 0xFFF1, 0x3C47,
-0x4038, 0x1354, 0x407C, 0x0082, 0x12A8, 0x4039, 0x1358, 0x403C, 0x3FFF,
-0x12A9, 0x4036, 0x1360, 0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C,
-0x2409, 0x12A9, 0x12B0, 0xD9B4, 0x430A, 0x430B, 0x3C19, 0x407C, 0x00C1,
-0x12A8, 0x412C, 0x411D, 0x0002, 0x1292, 0x135A, 0x407C, 0x00A1, 0x12A8,
-0x12B0, 0xD9B4, 0x430C, 0x12A9, 0x421F, 0x1112, 0x129F, 0x0008, 0x53A1,
-0x0000, 0x6381, 0x0002, 0x531A, 0x630B, 0x911B, 0x0006, 0x2BE4, 0x2003,
-0x911A, 0x0004, 0x2BE0, 0x12B0, 0xD9B4, 0x407C, 0x00C8, 0x12A8, 0x403C,
-0x2401, 0x12A9, 0x407C, 0x0021, 0x12A8, 0x435C, 0x12A6, 0x430C, 0x5231,
-0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C0A, 0x4038,
-0x1354, 0x407C, 0x00C8, 0x12A8, 0x4039, 0x1358, 0x403C, 0x3401, 0x12A9,
-0x407C, 0x0082, 0x12A8, 0x403C, 0x4030, 0x12A9, 0x4036, 0x1360, 0x12B0,
-0xD91C, 0x4A0C, 0x12A9, 0x9382, 0x1506, 0x2402, 0x12B0, 0xD91C, 0x434C,
-0x12A6, 0x407C, 0x0021, 0x12A8, 0x9382, 0x1506, 0x2002, 0x435C, 0x12A6,
-0x434C, 0x12A6, 0x407C, 0x00C8, 0x12A8, 0x403C, 0x2401, 0x12A9, 0x435C,
-0x12A6, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C08,
-0x4E0A, 0x4F0B, 0x4039, 0x1354, 0x407C, 0x0088, 0x12A9, 0x407C, 0x0034,
-0x1292, 0x1356, 0x12B0, 0xD53A, 0x4036, 0x1360, 0x435C, 0x12A6, 0x12B0,
-0xD54E, 0xDC08, 0xD038, 0x0080, 0x480C, 0x12B0, 0xD04E, 0x4A0C, 0x12B0,
-0xD04E, 0x403C, 0x3FFD, 0x12B0, 0xD05C, 0x434C, 0x12A6, 0x407C, 0x0088,
-0x12A9, 0x12B0, 0xD9FC, 0x3FCE, 0x120A, 0x120B, 0x1208, 0x8321, 0x430A,
-0xB31C, 0x2851, 0x403C, 0x14F6, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x2403, 0x403C, 0xFFD7, 0x3C4F, 0x403C, 0x14FA, 0x421F, 0x1112, 0x129F,
-0x0018, 0x933C, 0x203E, 0x403C, 0xFFD6, 0x3C44, 0x410C, 0x421F, 0x1112,
-0x129F, 0x0016, 0x4C0A, 0x403B, 0x1360, 0x434C, 0x12AB, 0x4038, 0x1354,
-0x407C, 0x00C8, 0x12A8, 0x403C, 0x0500, 0x1292, 0x1358, 0x407C, 0x00C1,
-0x12A8, 0x421C, 0x14F6, 0x421D, 0x14F8, 0x1292, 0x135A, 0x435C, 0x12AB,
-0x407C, 0x00A1, 0x12A8, 0x412C, 0x1292, 0x1358, 0x434C, 0x12AB, 0x407C,
-0x00C8, 0x12A8, 0x403C, 0x0501, 0x1292, 0x1358, 0x435C, 0x12AB, 0x434C,
-0x12AB, 0x435C, 0x12AB, 0x53A2, 0x14F6, 0x6382, 0x14F8, 0x53B2, 0x14FA,
-0x63B2, 0x14FC, 0x421F, 0x14FA, 0xD21F, 0x14FC, 0x930F, 0x2402, 0x930A,
-0x27BD, 0x4A0C, 0x5321, 0x4030, 0xD428, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x8031, 0x000C, 0x4037, 0x1112, 0x410C,
-0x522C, 0x472F, 0x129F, 0x0018, 0x410C, 0x523C, 0x472F, 0x129F, 0x0018,
-0x410C, 0x472F, 0x129F, 0x0018, 0x411C, 0x0004, 0x411D, 0x0006, 0x12B0,
-0xD464, 0x411B, 0x0004, 0x4038, 0x1354, 0x407C, 0x0028, 0x12A8, 0x4039,
-0x1358, 0x430C, 0x12A9, 0x4036, 0x1360, 0x12B0, 0xC808, 0x4075, 0x00C8,
-0x12B0, 0xC83C, 0x4074, 0x0021, 0x12B0, 0xC81E, 0x407C, 0x00C2, 0x12A8,
-0x430A, 0x430B, 0x3C0B, 0x435C, 0x12A6, 0x434C, 0x12A6, 0x430C, 0x12A9,
-0x472F, 0x129F, 0x0008, 0x531A, 0x630B, 0x911B, 0x000A, 0x2BF2, 0x2003,
-0x911A, 0x0008, 0x2BEE, 0x12B0, 0xD786, 0x412C, 0x411D, 0x0002, 0x12B0,
-0xD464, 0x412B, 0x12B0, 0xD786, 0x12B0, 0xC808, 0x12B0, 0xC83C, 0x12B0,
-0xC81E, 0x430C, 0x5031, 0x000C, 0x4030, 0xD41E, 0x120A, 0x120B, 0x1208,
-0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C0A, 0x403B, 0x1354, 0x4078,
-0x00C8, 0x484C, 0x12AB, 0x4039, 0x1358, 0x403C, 0x3401, 0x12A9, 0x4076,
-0x0082, 0x464C, 0x12AB, 0x403C, 0x4035, 0x12A9, 0x4037, 0x1360, 0x434C,
-0x12A7, 0x4074, 0x0042, 0x12B0, 0xD3EE, 0x4A2C, 0x12B0, 0xD172, 0x4035,
-0x2401, 0x12B0, 0xD110, 0x403C, 0x4036, 0x12B0, 0xD3E8, 0x4A1C, 0x0002,
-0x12B0, 0xD10C, 0x403C, 0x4039, 0x12B0, 0xD3E8, 0x4A1C, 0x0004, 0x12B0,
-0xD10C, 0x403C, 0x4038, 0x12B0, 0xD3E8, 0x4A1C, 0x0006, 0x12B0, 0xD10C,
-0x403C, 0x403A, 0x12B0, 0xD3E8, 0x4A1C, 0x0008, 0x12B0, 0xD10C, 0x403C,
-0x403B, 0x12B0, 0xD3E8, 0x4A1C, 0x000A, 0x12B0, 0xD10C, 0x403C, 0x403C,
-0x12B0, 0xD3E8, 0x4A1C, 0x000C, 0x12B0, 0xD172, 0x450C, 0x12A9, 0x435C,
-0x12A7, 0x4030, 0xD41E, 0x435C, 0x12A9, 0x434C, 0x4920, 0x407C, 0x0088,
-0x4A20, 0x407C, 0x00B0, 0x12AA, 0x403C, 0x0082, 0x430D, 0x4720, 0x407C,
-0x00B0, 0x12AA, 0x403C, 0x0088, 0x430D, 0x4720, 0x474C, 0x12AA, 0x430C,
-0x430D, 0x4210, 0x135A, 0x434C, 0x12A9, 0x407C, 0x0088, 0x12AA, 0x407C,
-0x0024, 0x12A5, 0x435C, 0x4920, 0x12B0, 0xB5B4, 0x407C, 0x0042, 0x12AA,
-0x435C, 0x4920, 0x12A8, 0x434C, 0x4920, 0x407C, 0x00C1, 0x12AA, 0x411C,
-0x0004, 0x430D, 0x1292, 0x135A, 0x407C, 0x00A1, 0x4A20, 0x434C, 0x12B0,
-0xB5EA, 0x474C, 0x3FEA, 0x434C, 0x12A9, 0x4B4C, 0x12AA, 0x403C, 0x2C01,
-0x12A8, 0x435C, 0x12A9, 0x4B4C, 0x12AA, 0x403C, 0x2401, 0x4820, 0x407C,
-0x0082, 0x12AA, 0x403C, 0x3FFF, 0x12B0, 0xB5B4, 0x4B4C, 0x12AA, 0x403C,
-0x2409, 0x12A8, 0x3FA6, 0x120A, 0x120B, 0x1208, 0x1209, 0x8221, 0x4381,
-0x0000, 0x4381, 0x0002, 0x4318, 0x403A, 0x1360, 0x403B, 0x1354, 0x3C03,
-0x9328, 0x2001, 0x4228, 0x410C, 0x12B0, 0xD9A4, 0x410C, 0x531C, 0x12B0,
-0xD9A4, 0x410C, 0x532C, 0x12B0, 0xD9A4, 0x9038, 0x000F, 0x2433, 0x930C,
-0x2033, 0x412C, 0x411D, 0x0002, 0x12B0, 0xD196, 0xF03C, 0x0F00, 0x4809,
-0xD039, 0x0080, 0xDC09, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0034, 0x1292,
-0x1356, 0x12B0, 0xD06E, 0x490C, 0x12B0, 0xD06A, 0x412C, 0x12B0, 0xD06A,
-0x403C, 0x3FFD, 0x12B0, 0xD078, 0x434C, 0x12AA, 0x407C, 0x0088, 0x12AB,
-0x407C, 0x0024, 0x1292, 0x1356, 0x435C, 0x12AA, 0x5318, 0x9038, 0x0010,
-0x2BC0, 0x430C, 0x5221, 0x4030, 0xD426, 0x930C, 0x37CD, 0x403C, 0xFFD8,
-0x3FF8, 0x120A, 0x120B, 0x1208, 0xC232, 0x4303, 0x425E, 0x2780, 0x4E4F,
-0xE37F, 0x421D, 0x2784, 0x403A, 0x277E, 0xBEC2, 0x1100, 0x2407, 0xFFCD,
-0x0000, 0xCAED, 0x0000, 0xDECD, 0x0000, 0x3C04, 0xFFCD, 0x0000, 0xCAED,
-0x0000, 0xDAED, 0x0000, 0x403B, 0x150C, 0x4038, 0x1504, 0x934C, 0x2418,
-0xDECD, 0x0000, 0xDECD, 0x0000, 0x4A6C, 0xE37C, 0xFCCD, 0x0000, 0xDAED,
-0x0000, 0x482F, 0xEBEF, 0x0000, 0xC232, 0x4303, 0xFCCD, 0x0000, 0xDAED,
-0x0000, 0xD232, 0x482F, 0xEBEF, 0x0000, 0x3C18, 0xFFCD, 0x0000, 0xFFCD,
-0x0000, 0x4A6C, 0xE37C, 0xFCCD, 0x0000, 0xDAED, 0x0000, 0x482E, 0xEBEE,
-0x0000, 0xC232, 0x4303, 0xFCCD, 0x0000, 0xDAED, 0x0000, 0xD232, 0x482E,
-0xEBEE, 0x0000, 0x4F4E, 0x4EC2, 0x1100, 0x4030, 0xD428, 0x120C, 0x8321,
-0x4381, 0x0000, 0x40B2, 0x0006, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2,
-0x2867, 0x01EA, 0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA,
-0x40B2, 0x286D, 0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0,
-0xD392, 0x01E8, 0xD0F2, 0x000E, 0x0033, 0xD0F2, 0x0010, 0x0078, 0x41D2,
-0x0003, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x42D1, 0x007E, 0x0001, 0xC0F2,
-0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD, 0x425E, 0x007E,
-0x5E4E, 0x4EC1, 0x0000, 0xF0F2, 0x00F1, 0x0033, 0xB31C, 0x2804, 0xD0F2,
-0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xDEC1, 0x0000, 0xD392,
-0x01F0, 0x412C, 0x5221, 0x4130, 0x120A, 0x8031, 0x0006, 0x403A, 0x1112,
-0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C, 0x00B0, 0x1292, 0x1354,
-0x3C16, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1, 0x0040, 0x0002, 0x2802,
-0x4382, 0x14C0, 0x416C, 0x430D, 0x1292, 0x135C, 0x411C, 0x0002, 0x411D,
-0x0004, 0x1292, 0x135C, 0x53F1, 0x0001, 0x93C1, 0x0001, 0x242A, 0x410C,
-0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2815, 0x416E, 0xC35E, 0x907E,
-0x008A, 0x2004, 0x421C, 0x1144, 0x430D, 0x3C08, 0x416C, 0x430D, 0x1292,
-0x135C, 0x430C, 0x430D, 0x1292, 0x135C, 0x4A2F, 0x129F, 0x000A, 0x3FDF,
-0x410C, 0x532C, 0x4A2F, 0x129F, 0x0018, 0x416E, 0xC35E, 0x907E, 0x008A,
-0x23C1, 0x4192, 0x0002, 0x1144, 0x3FD1, 0x430C, 0x5031, 0x0006, 0x413A,
-0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1292, 0x2756, 0x430B, 0x3C05,
-0x930B, 0x2403, 0x903B, 0x0003, 0x2005, 0x4308, 0x4219, 0x274E, 0x430C,
-0x3C11, 0x931B, 0x2402, 0x922B, 0x2003, 0x4318, 0x431C, 0x3C0A, 0x932B,
-0x2406, 0x903B, 0x0005, 0x2403, 0x903B, 0x0006, 0x2003, 0x4328, 0x432C,
-0x1289, 0x434C, 0x1292, 0x2754, 0x1292, 0x134E, 0x1292, 0x1350, 0x407C,
-0x0028, 0x1292, 0x1354, 0x4C4A, 0x1292, 0x2756, 0x903A, 0x0089, 0x2409,
-0x903A, 0x0091, 0x2406, 0x903A, 0x0095, 0x2403, 0x903A, 0x0099, 0x2008,
-0x4A0C, 0x12B0, 0xD904, 0x480C, 0x12B0, 0xD904, 0x430C, 0x3C0C, 0x531B,
-0x903B, 0x0007, 0x2BBE, 0x433C, 0x12B0, 0xD904, 0x403C, 0xAAAA, 0x12B0,
-0xD904, 0x433C, 0x4030, 0xD426, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x8221, 0x4381, 0x0000, 0x4381, 0x0002, 0x435B, 0x4038, 0x1360,
-0x4039, 0x1358, 0x4036, 0x1354, 0x3C03, 0x936B, 0x2001, 0x426B, 0x407C,
-0x0088, 0x12A6, 0x403C, 0x0034, 0x12A9, 0x12B0, 0xD230, 0x4B4C, 0x108C,
-0xF03C, 0x0F00, 0xD03C, 0x0060, 0x12B0, 0xD23A, 0x12B0, 0xD230, 0x403C,
-0x00FC, 0x12B0, 0xD23A, 0x430C, 0x12A9, 0x4C07, 0x434C, 0x12A8, 0x435C,
-0x12A8, 0x430C, 0x12A9, 0x4C0A, 0x434C, 0x12A8, 0x407C, 0x0088, 0x12A6,
-0x407C, 0x0024, 0x1292, 0x1356, 0x435C, 0x12A8, 0x4781, 0x0000, 0x4A81,
-0x0002, 0x403D, 0x0003, 0x410C, 0x421F, 0x1112, 0x129F, 0x0006, 0x535B,
-0x907B, 0x0010, 0x2BC3, 0x430C, 0x5221, 0x4030, 0xD422, 0x120A, 0x120B,
-0x1208, 0x1209, 0x434C, 0x1292, 0x276E, 0x4218, 0x275A, 0x4039, 0x0028,
-0x490C, 0x1288, 0x434C, 0x1292, 0x276C, 0x490C, 0x1288, 0x435C, 0x1292,
-0x276C, 0x490C, 0x1288, 0x435C, 0x1292, 0x276E, 0x490C, 0x1288, 0x435C,
-0x12B0, 0xD6B2, 0x430A, 0x430B, 0x407C, 0x0086, 0x1292, 0x1354, 0x430C,
-0x1292, 0x1358, 0x531A, 0x630B, 0x2020, 0x903A, 0x0BB8, 0x2C1D, 0xB31C,
-0x2BF5, 0x431C, 0x1292, 0x1358, 0x403C, 0xA55A, 0x1292, 0x1358, 0x1292,
-0x2756, 0x490C, 0x1288, 0x434C, 0x12B0, 0xD6B2, 0x494C, 0x1292, 0x1354,
-0x4C4C, 0x903C, 0x0095, 0x2408, 0x903C, 0x0091, 0x2405, 0x903C, 0x0099,
-0x2402, 0x433C, 0x3C01, 0x430C, 0x4030, 0xD426, 0x120A, 0x120B, 0x1208,
-0x8221, 0x430A, 0x430B, 0x4381, 0x0000, 0x4381, 0x0002, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0016, 0x407C, 0x0028, 0x1292, 0x1354, 0x4C48, 0x9038,
-0x0089, 0x240B, 0x9038, 0x0091, 0x2408, 0x9038, 0x0095, 0x2405, 0x9038,
-0x0099, 0x2402, 0x432C, 0x3C2B, 0x407C, 0x00D0, 0x1292, 0x1354, 0x430C,
-0x1292, 0x1358, 0x4C08, 0x531A, 0x630B, 0x4C0F, 0xE33F, 0x5F0F, 0x7F0F,
-0xB12C, 0x2008, 0xB11F, 0x0002, 0x2005, 0x930B, 0x2003, 0x903A, 0x000A,
-0x2BEC, 0x930B, 0x200F, 0x903A, 0x000A, 0x2C0C, 0x431B, 0x431C, 0x421F,
-0x1112, 0x129F, 0x0008, 0x480C, 0x421F, 0x1112, 0x129F, 0x0008, 0x3C01,
-0x432B, 0x4B0C, 0x5221, 0x4030, 0xD428, 0x464C, 0x12AB, 0x435C, 0x4A20,
-0x407C, 0x00C1, 0x12AB, 0x411C, 0x0004, 0x430D, 0x1292, 0x135A, 0x407C,
-0x00A1, 0x4B20, 0x454C, 0x12AB, 0x430C, 0x12A8, 0xF07C, 0x0081, 0x907C,
-0x0081, 0x4130, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x407C, 0x0021, 0x12AB,
-0x430C, 0x430D, 0x1292, 0x135A, 0x4C81, 0x000A, 0x4D81, 0x000C, 0x4130,
-0x434C, 0x12AA, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0024, 0x12A4, 0x435C,
-0x4A20, 0x464C, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12AA, 0x474C,
-0x12AB, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12A8,
-0x434C, 0x12AA, 0x407C, 0x0042, 0x3FB9, 0x434C, 0x12AA, 0x12B0, 0xD790,
-0x407C, 0x0021, 0x3FB2, 0x930D, 0x3408, 0x1208, 0xE33C, 0xE33D, 0x531C,
-0x630D, 0x4038, 0x0197, 0x3C03, 0x1208, 0x4038, 0x0097, 0x903D, 0x0100,
-0x2C1C, 0x930D, 0x200F, 0x903C, 0x0100, 0x2806, 0x108C, 0x4C4D, 0xC03C,
-0x00FF, 0x8238, 0x3C06, 0x930C, 0x240D, 0x4C0D, 0x430C, 0x8038, 0x0010,
-0x8318, 0x5C0C, 0x6D4D, 0x2BFC, 0x1108, 0x104D, 0x100C, 0x1088, 0xD80D,
-0x4138, 0x4130, 0x1207, 0x4347, 0x903D, 0x0200, 0x2808, 0xC312, 0x100D,
-0x100C, 0x1047, 0x5318, 0x903D, 0x0200, 0x2FF8, 0x1108, 0x104D, 0x100C,
-0x1088, 0xD80D, 0x6747, 0x2806, 0xC312, 0x1047, 0x2001, 0x2802, 0x531C,
-0x630D, 0x4137, 0x4138, 0x4130, 0x435C, 0x12A9, 0x4030, 0xBCA8, 0x434C,
-0x12A9, 0x407C, 0x00C1, 0x4A20, 0x434C, 0x12A9, 0x435C, 0x4030, 0xBD02,
-0x12AB, 0x434C, 0x12A9, 0x435C, 0x4920, 0x407C, 0x0028, 0x12AA, 0x430C,
-0x4B20, 0x407C, 0x00F4, 0x12AA, 0x403C, 0x4020, 0x4B20, 0x407C, 0x00B0,
-0x12AA, 0x403C, 0x0088, 0x430D, 0x4620, 0x430D, 0x12A4, 0x435C, 0x12A9,
-0x434C, 0x12A9, 0x407C, 0x0042, 0x3FE7, 0x430D, 0x12A4, 0x435C, 0x12A9,
-0x407C, 0x00A1, 0x4A20, 0x12B0, 0xBD00, 0x403C, 0x0500, 0x12AB, 0x3FCB,
-0x434C, 0x12A9, 0x484C, 0x4A20, 0x12AB, 0x12B0, 0xBD00, 0x403C, 0x0501,
-0x12AB, 0x435C, 0x12A9, 0x4030, 0xBCA8, 0x120A, 0x43C2, 0x1100, 0x43C2,
-0x1396, 0x4382, 0x1112, 0x403A, 0xD202, 0x403E, 0x000A, 0x430D, 0x403C,
-0x1114, 0x128A, 0x403E, 0x0010, 0x430D, 0x403C, 0x1102, 0x128A, 0x403E,
-0x0020, 0x430D, 0x403C, 0x111E, 0x128A, 0x4382, 0x113E, 0x43C2, 0x1140,
-0x4382, 0x1142, 0x40B2, 0x0417, 0x1144, 0x4382, 0x14FE, 0x40B2, 0x0BB8,
-0x1502, 0x43D2, 0x150F, 0x43C2, 0x1510, 0x4382, 0x136C, 0x4382, 0x136E,
-0x4382, 0x150A, 0x43C2, 0x1511, 0x4382, 0x1508, 0x403E, 0x0006, 0x430D,
-0x403C, 0x137C, 0x128A, 0x403E, 0x0012, 0x430D, 0x403C, 0x1382, 0x128A,
-0x4392, 0x1398, 0x413A, 0x4130, 0x435C, 0x12A9, 0x434C, 0x4920, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x12B0, 0xD270, 0x3C0F, 0x12B0,
-0xBE18, 0x12B0, 0xBDEE, 0x12B0, 0xBDAA, 0x430C, 0x12A6, 0x4C8B, 0x0000,
-0x434C, 0x12A9, 0x12B0, 0xBDFE, 0x532B, 0x480F, 0x5338, 0x930F, 0x23ED,
-0x4030, 0xD422, 0x407C, 0x00C1, 0x12A7, 0x4A0C, 0x12A6, 0x407C, 0x00A1,
-0x4720, 0x407C, 0x00C8, 0x12A7, 0x403C, 0x2401, 0x12A6, 0x407C, 0x0021,
-0x12A7, 0x435C, 0x12A9, 0x532A, 0x4130, 0x407C, 0x0082, 0x12A7, 0x403C,
-0x3FFF, 0x12A6, 0x434C, 0x12A9, 0x407C, 0x00C8, 0x12A7, 0x403C, 0x2409,
-0x12A6, 0x3FBA, 0x120A, 0x120B, 0x1208, 0x1209, 0x8321, 0x431A, 0x403B,
-0x1360, 0x4038, 0x1358, 0x4039, 0x1354, 0x3C03, 0x932A, 0x2001, 0x422A,
-0x410C, 0x421F, 0x1112, 0x129F, 0x0016, 0x903A, 0x000F, 0x2429, 0x930C,
-0x2029, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x3401, 0x12A8, 0x407C, 0x0082,
-0x12A9, 0x4A0C, 0xD03C, 0x4030, 0x12B0, 0xD772, 0x412C, 0x12B0, 0xD772,
-0x403C, 0x3FFD, 0x12B0, 0xD4E4, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x12A9,
-0x403C, 0x2401, 0x12A8, 0x435C, 0x12AB, 0x531A, 0x903A, 0x0010, 0x2BD0,
-0x430C, 0x5321, 0x4030, 0xD426, 0x930C, 0x37D7, 0x403C, 0xFFD8, 0x3FF8,
-0x120A, 0x120B, 0x8031, 0x0006, 0x403A, 0x1112, 0x410C, 0x531C, 0x4A2F,
-0x129F, 0x0014, 0x407C, 0x00B0, 0x1292, 0x1354, 0x403B, 0x135C, 0x3C19,
-0x410C, 0x532C, 0x4A2F, 0x129F, 0x0018, 0x416C, 0x430D, 0x12AB, 0x411C,
-0x0002, 0x411D, 0x0004, 0x12AB, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1,
-0x0040, 0x0002, 0x2802, 0x4382, 0x14C0, 0x53F1, 0x0001, 0x93C1, 0x0001,
-0x2411, 0x410C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BDD, 0x416C,
-0x430D, 0x12AB, 0x430C, 0x430D, 0x12AB, 0x4A2F, 0x129F, 0x000A, 0x3FEA,
-0x430C, 0x5031, 0x0006, 0x413B, 0x413A, 0x4130, 0x435C, 0x12A6, 0x4030,
-0xBFB0, 0x12B0, 0xBFB0, 0x434C, 0x4620, 0x474C, 0x12A9, 0x403C, 0x1501,
-0x4820, 0x430D, 0x12A7, 0x431C, 0x430D, 0x4720, 0x12B0, 0xBFAE, 0x403C,
-0x3FFD, 0x12A8, 0x434C, 0x4620, 0x407C, 0x0030, 0x4920, 0x434C, 0x12A6,
-0x407C, 0x00C1, 0x4920, 0x434C, 0x12A6, 0x407C, 0x0042, 0x12A9, 0x435C,
-0x4620, 0x474C, 0x12A9, 0x403C, 0x0501, 0x4820, 0x474C, 0x12A9, 0x403C,
-0x0501, 0x12A8, 0x434C, 0x12A6, 0x435C, 0x4620, 0x430D, 0x12A7, 0x430C,
-0x430D, 0x4720, 0x12A8, 0x474C, 0x12A9, 0x403C, 0x1401, 0x12A8, 0x444C,
-0x12A9, 0x4030, 0xBFB0, 0x120A, 0x120B, 0x1208, 0x8231, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0018, 0x410C, 0x522C, 0x421F, 0x1112, 0x129F, 0x0018,
-0x4038, 0x1360, 0x434C, 0x12A8, 0x430A, 0x430B, 0x3C1E, 0x407C, 0x00C1,
-0x1292, 0x1354, 0x412C, 0x411D, 0x0002, 0x1292, 0x135A, 0x435C, 0x12A8,
-0x434C, 0x12A8, 0x407C, 0x0042, 0x1292, 0x1354, 0x430C, 0x1292, 0x1358,
-0x421F, 0x1112, 0x129F, 0x0008, 0x53A1, 0x0000, 0x6381, 0x0002, 0x531A,
-0x630B, 0x911B, 0x0006, 0x2BDF, 0x2003, 0x911A, 0x0004, 0x2BDB, 0x435C,
-0x12A8, 0x434C, 0x12A8, 0x435C, 0x12A8, 0x430C, 0x5231, 0x4030, 0xD428,
-0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x435A, 0x403B, 0x1360, 0x4038,
-0x1358, 0x4039, 0x1354, 0x3C03, 0x936A, 0x2001, 0x426A, 0x407C, 0x00C8,
-0x12A9, 0x403C, 0x3401, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x4A4C, 0x108C,
-0xF03C, 0x0F00, 0xD03C, 0x4082, 0x12B0, 0xD514, 0x407C, 0x0082, 0x12A9,
-0x403C, 0x00FE, 0x12B0, 0xD514, 0x434C, 0x12AB, 0x435C, 0x12AB, 0x430C,
-0x12A8, 0x4C06, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x12A9, 0x403C, 0x2401,
-0x12A8, 0x435C, 0x12AB, 0x460C, 0x421F, 0x1112, 0x129F, 0x0008, 0x535A,
-0x907A, 0x0010, 0x2BCB, 0x430C, 0x4030, 0xD424, 0x120A, 0x120B, 0x1208,
-0x1209, 0x4308, 0x430A, 0x430B, 0x3C08, 0xB329, 0x2836, 0x930B, 0x3804,
-0x2033, 0x903A, 0x1388, 0x2C30, 0x434C, 0x1292, 0x1360, 0x407C, 0x0028,
-0x1292, 0x1354, 0x430C, 0x1292, 0x1358, 0x4C09, 0x9318, 0x380B, 0xB32C,
-0x2C16, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x3400, 0x1292, 0x1358,
-0x3C0D, 0x9308, 0x200B, 0xB32C, 0x2809, 0x407C, 0x00C8, 0x1292, 0x1354,
-0x403C, 0x3402, 0x1292, 0x1358, 0x4318, 0x435C, 0x1292, 0x1360, 0x531A,
-0x630B, 0x9038, 0x000A, 0x3BCB, 0x433C, 0x433D, 0x3C02, 0x430C, 0x430D,
-0x4030, 0xD426, 0x120A, 0x120B, 0x1208, 0x1209, 0x4308, 0x430A, 0x430B,
-0x3C08, 0xB329, 0x2836, 0x930B, 0x3804, 0x2033, 0x903A, 0x1388, 0x2C30,
-0x434C, 0x1292, 0x1360, 0x407C, 0x0028, 0x1292, 0x1354, 0x430C, 0x1292,
-0x1358, 0x4C09, 0x9318, 0x380B, 0xB32C, 0x2C16, 0x407C, 0x00C8, 0x1292,
-0x1354, 0x403C, 0x3400, 0x1292, 0x1358, 0x3C0D, 0x9308, 0x200B, 0xB32C,
-0x2809, 0x407C, 0x00C8, 0x1292, 0x1354, 0x403C, 0x3402, 0x1292, 0x1358,
-0x4318, 0x435C, 0x1292, 0x1360, 0x531A, 0x630B, 0x9038, 0x000A, 0x3BCB,
-0x433C, 0x433D, 0x3C02, 0x430C, 0x430D, 0x4030, 0xD426, 0x40B2, 0x0006,
-0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2867, 0x01EA, 0x40B2, 0x2871,
-0x01F2, 0x3C06, 0x40B2, 0x2861, 0x01EA, 0x40B2, 0x286D, 0x01F2, 0xD0B2,
-0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8, 0xD0F2, 0x000E,
-0x0033, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2, 0x0079, 0x2BFD,
-0x425E, 0x007E, 0x5E4E, 0xF0F2, 0x00F1, 0x0033, 0xB35C, 0x2804, 0xD0F2,
-0x0003, 0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xB2E2, 0x0030, 0x7F4F, 0x535F, 0xD392, 0x01F0, 0xDF4E,
-0x4E4C, 0x4130, 0x474C, 0x4030, 0xC2C2, 0x474C, 0x12B0, 0xC2C2, 0x403C,
-0xD034, 0x4820, 0x407C, 0x0021, 0x12AB, 0x430C, 0x12A8, 0x4C81, 0x000A,
-0x4381, 0x000C, 0x4130, 0x444C, 0x12AB, 0x430C, 0x12A8, 0xF07C, 0x0081,
-0x907C, 0x0081, 0x4130, 0x12A8, 0x434C, 0x12AA, 0x407C, 0x0042, 0x12AB,
-0x435C, 0x4A20, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x12B0, 0xD5F6, 0x435C,
-0x4A20, 0x474C, 0x12AB, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12AA, 0x494C,
-0x12AB, 0x403C, 0x2409, 0x12A8, 0x435C, 0x12AA, 0x434C, 0x4A20, 0x12B0,
-0xD5F6, 0x407C, 0x0021, 0x4030, 0xC2C2, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x1207, 0x1204, 0x1205, 0x403A, 0x1354, 0x407B, 0x0088, 0x4B4C,
-0x12AA, 0x4038, 0x1358, 0x403C, 0x0034, 0x12A8, 0x4079, 0x0082, 0x494C,
-0x12AA, 0x4036, 0x1360, 0x435C, 0x12A6, 0x403C, 0x0960, 0x12A8, 0x434C,
-0x12A6, 0x4077, 0x0042, 0x12B0, 0xCFF6, 0x4C04, 0x12B0, 0xD90C, 0x4C05,
-0x12B0, 0xD4D4, 0x4B4C, 0x12AA, 0x403C, 0x0034, 0x12A8, 0x12B0, 0xD8F4,
-0x403C, 0x0A60, 0x12A8, 0x434C, 0x12A6, 0x12B0, 0xCFF6, 0x4C07, 0x12B0,
-0xD90C, 0x12B0, 0xD4D4, 0x470D, 0x440C, 0xD50D, 0x4030, 0xD41E, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204, 0x1205, 0x4C05, 0x4C2A,
-0x4C1B, 0x0002, 0x4038, 0x1360, 0x434C, 0x12A8, 0x4039, 0x1354, 0x4074,
-0x0082, 0x12B0, 0xC866, 0x4036, 0x1358, 0x12B0, 0xC876, 0x503C, 0x0085,
-0x12A6, 0x4077, 0x00C8, 0x12B0, 0xC886, 0x451A, 0x0004, 0x451B, 0x0006,
-0x12B0, 0xC86E, 0x503C, 0x0086, 0x12B0, 0xC884, 0x451A, 0x0008, 0x451B,
-0x000A, 0x12B0, 0xC86E, 0x503C, 0x0089, 0x12B0, 0xC884, 0x451A, 0x000C,
-0x451B, 0x000E, 0x12B0, 0xC86E, 0x503C, 0x0088, 0x12B0, 0xC884, 0x4030,
-0xD41E, 0x42B2, 0x01EE, 0xB3E2, 0x0031, 0x2807, 0x40B2, 0x2859, 0x01EA,
-0x40B2, 0x2871, 0x01F2, 0x3C06, 0x40B2, 0x2851, 0x01EA, 0x40B2, 0x286D,
-0x01F2, 0xD0B2, 0x0010, 0x01E8, 0xD0B2, 0x0010, 0x01F0, 0xD392, 0x01E8,
-0xD0F2, 0x000E, 0x0033, 0xC0F2, 0x0010, 0x0078, 0x4CC2, 0x007F, 0xB3D2,
-0x0079, 0x2BFD, 0xF0F2, 0x00F1, 0x0033, 0xB35C, 0x2804, 0xD0F2, 0x0003,
-0x0031, 0x3C04, 0xC3E2, 0x0031, 0xD3D2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0x425C, 0x007E, 0x5C4C, 0xB2E2, 0x0030, 0x7E4E, 0x535E, 0xD392,
-0x01F0, 0xDE4C, 0x4130, 0x120A, 0x120B, 0x1208, 0x4C08, 0x4E0A, 0x4F0B,
-0x12B0, 0xBD1C, 0x4A82, 0x136C, 0x4B82, 0x136E, 0xB23A, 0x2804, 0x432F,
-0x403B, 0x0535, 0x3C03, 0x431F, 0x403B, 0x07CF, 0x4B82, 0x1378, 0x4F82,
-0x1374, 0x403E, 0x000A, 0x403D, 0x253A, 0x403C, 0x1114, 0x12B0, 0xD1A2,
-0x4882, 0x1112, 0x12B0, 0xCD6A, 0x9382, 0x128C, 0x2009, 0xB2B2, 0x136C,
-0x2C06, 0x40B2, 0xFFFE, 0x128A, 0x4292, 0x275C, 0x128C, 0x12B0, 0xAFDE,
-0x40B2, 0x040F, 0x1144, 0x40B2, 0x0052, 0x111A, 0x40B2, 0x1146, 0x111C,
-0x403C, 0x1114, 0x4030, 0xD428, 0x120A, 0x120B, 0x8221, 0x403A, 0x1112,
-0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C, 0x0090, 0x1292, 0x1354,
-0x403B, 0x1358, 0x3C16, 0x410C, 0x532C, 0x4A2F, 0x129F, 0x0016, 0x416C,
-0x12AB, 0x411C, 0x0002, 0x12AB, 0x90F1, 0x009E, 0x0000, 0x2006, 0xB0B1,
-0x0040, 0x0002, 0x2802, 0x4382, 0x14C0, 0x53F1, 0x0001, 0x93C1, 0x0001,
-0x240F, 0x410C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BE0, 0x416C,
-0x12AB, 0x430C, 0x12AB, 0x4A2F, 0x129F, 0x0008, 0x3FEC, 0x430C, 0x5221,
-0x413B, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x8221, 0x4291,
-0x2772, 0x0000, 0x4291, 0x2774, 0x0002, 0x403A, 0x1360, 0x434C, 0x12AA,
-0x403B, 0x1354, 0x4078, 0x00C8, 0x484C, 0x12AB, 0x4039, 0x1358, 0x12B0,
-0xD72A, 0x403C, 0xFF80, 0x12B0, 0xD504, 0x412C, 0x12B0, 0xD0A2, 0x434C,
-0x12AA, 0x484C, 0x12AB, 0x12B0, 0xD72A, 0x403C, 0xFF82, 0x12B0, 0xD504,
-0x411C, 0x0002, 0x12B0, 0xD0A2, 0x407C, 0x0054, 0x12AB, 0x403C, 0x0200,
-0x430D, 0x1292, 0x135C, 0x430C, 0x5221, 0x4030, 0xD426, 0x120A, 0x120B,
-0x8221, 0x403A, 0x1112, 0x410C, 0x531C, 0x4A2F, 0x129F, 0x0014, 0x407C,
-0x0090, 0x1292, 0x1354, 0x403B, 0x1358, 0x3C12, 0x410C, 0x532C, 0x4A2F,
-0x129F, 0x0016, 0x90F1, 0x0088, 0x0000, 0x2002, 0xD391, 0x0002, 0x416C,
-0x12AB, 0x411C, 0x0002, 0x12AB, 0x53F1, 0x0001, 0x93C1, 0x0001, 0x240F,
-0x410C, 0x4A2F, 0x129F, 0x0014, 0xB3D1, 0x0000, 0x2BE4, 0x416C, 0x12AB,
-0x430C, 0x12AB, 0x4A2F, 0x129F, 0x0008, 0x3FEC, 0x430C, 0x5221, 0x413B,
-0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x1204,
-0x4038, 0x1354, 0x4079, 0x00C8, 0x494C, 0x12A8, 0x12B0, 0xD844, 0x407B,
-0x0082, 0x4B4C, 0x12A8, 0x403C, 0x4982, 0x12A6, 0x4037, 0x1360, 0x434C,
-0x12A7, 0x4074, 0x0042, 0x12B0, 0xCE9C, 0x4C0A, 0x12B0, 0xD322, 0x494C,
-0x12A8, 0x403C, 0x3401, 0x12A6, 0x4B4C, 0x12A8, 0x403C, 0x4A82, 0x12A6,
-0x434C, 0x12A7, 0x12B0, 0xCE9C, 0x4C0B, 0x12B0, 0xD322, 0x4A0C, 0x4B0D,
-0x4030, 0xD420, 0x120A, 0x407C, 0x0044, 0x1292, 0x1354, 0x431C, 0x1292,
-0x275A, 0x43D2, 0x1396, 0x407C, 0x0024, 0x1292, 0x1354, 0x421A, 0x2784,
-0xC2DA, 0x2780, 0x0000, 0xC2DA, 0x277E, 0x0000, 0xD2DA, 0x277E, 0x0000,
-0x431C, 0x430D, 0x12B0, 0x45AE, 0xD2DA, 0x2780, 0x0000, 0x403C, 0x0003,
-0x1292, 0x275A, 0x430C, 0x430D, 0x12B0, 0x45AE, 0x407C, 0x0054, 0x1292,
-0x1354, 0x403C, 0x0200, 0x430D, 0x1292, 0x135C, 0x430C, 0x413A, 0x4130,
-0x120A, 0x120B, 0x1208, 0x1209, 0x4C0A, 0x4D0B, 0x4038, 0x1354, 0x407C,
-0x0088, 0x12A8, 0x407C, 0x0034, 0x1292, 0x1356, 0x407C, 0x0082, 0x12A8,
-0x12B0, 0xD54E, 0xD03C, 0x0080, 0x1292, 0x1358, 0x4039, 0x1360, 0x434C,
-0x12A9, 0x435C, 0x12A9, 0x4A0C, 0x1292, 0x1358, 0x434C, 0x12A9, 0x407C,
-0x0021, 0x12A8, 0x12B0, 0xBDAA, 0x407C, 0x0088, 0x12A8, 0x12B0, 0xD9FC,
-0x435C, 0x12A9, 0x4030, 0xD426, 0x120A, 0x403A, 0x1354, 0x934C, 0x200A,
-0x407C, 0x00C8, 0x12AA, 0x403C, 0x7401, 0x1292, 0x1358, 0x434C, 0x12B0,
-0x453A, 0x407C, 0x0044, 0x12AA, 0x431C, 0x1292, 0x275A, 0x431C, 0x430D,
-0x12B0, 0x45AE, 0x407C, 0x0024, 0x12AA, 0x431C, 0x1292, 0x275A, 0x430C,
-0x430D, 0x12B0, 0x45AE, 0x435C, 0x12B0, 0x453A, 0x407C, 0x0054, 0x12AA,
-0x403C, 0x0200, 0x430D, 0x1292, 0x135C, 0x430C, 0x413A, 0x4130, 0x434C,
-0x12A6, 0x407C, 0x0082, 0x12A8, 0x435C, 0x12A6, 0x4A0C, 0x12A9, 0x434C,
-0x4620, 0x444C, 0x12A8, 0x430C, 0x430D, 0x1292, 0x135A, 0x454C, 0x12A8,
-0x403C, 0x0501, 0x12A9, 0x435C, 0x12A6, 0x444C, 0x4820, 0x454C, 0x12A8,
-0x403C, 0x1400, 0x12A9, 0x407C, 0x0082, 0x12A8, 0x434C, 0x12A6, 0x435C,
-0x12A6, 0x4B0C, 0x12A9, 0x434C, 0x12A6, 0x435C, 0x12A6, 0x403C, 0x4303,
-0x3FD9, 0x444C, 0x12A9, 0x435C, 0x4820, 0x434C, 0x12A8, 0x12B0, 0xC866,
-0x4A0C, 0x4B0D, 0x12B0, 0xD196, 0xF03C, 0x0F00, 0x4130, 0x12A6, 0x474C,
-0x12A9, 0x403C, 0x1401, 0x12A6, 0x444C, 0x12A9, 0x12B0, 0xD800, 0x4A0C,
-0x12B0, 0xD7FE, 0x403C, 0x3FFD, 0x12B0, 0xD95C, 0x12B0, 0xD430, 0x12A8,
-0x474C, 0x12A9, 0x403C, 0x0501, 0x12B0, 0xD95C, 0x407C, 0x0042, 0x4030,
-0xC868, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C08, 0x4E0A, 0x4039,
-0x1354, 0x407C, 0x00C8, 0x12A9, 0x12B0, 0xD844, 0x12B0, 0xD53A, 0xD038,
-0x4030, 0x480C, 0x12A6, 0x4038, 0x1360, 0x12B0, 0xD532, 0x4A0C, 0x12A6,
-0x12B0, 0xD532, 0x403C, 0x3FFD, 0x12A6, 0x12B0, 0xD7A4, 0x12B0, 0xD83A,
-0x12A9, 0x403C, 0x2401, 0x12A6, 0x435C, 0x12A8, 0x4030, 0xD424, 0x12B0,
-0xC920, 0x430C, 0x4030, 0x8D6A, 0x40B2, 0xC304, 0x14A2, 0x40B2, 0xB2B0,
-0x14A4, 0x40B2, 0xC744, 0x14A6, 0x40B2, 0xCB78, 0x14A8, 0x40B2, 0xCB30,
-0x14AA, 0x4292, 0x11E4, 0x14AC, 0x4130, 0x12B0, 0xC94E, 0x4030, 0x8D6A,
-0x12B0, 0xCE4C, 0x40B2, 0xCDA2, 0x14A6, 0x12B0, 0xCE5A, 0x431C, 0x4130,
-0x12B0, 0xCE3E, 0x3FDA, 0x434C, 0x12AB, 0x407C, 0x0082, 0x12A9, 0x435C,
-0x4B20, 0x474C, 0x12A9, 0x435C, 0x12AB, 0x430C, 0x12A8, 0x4C81, 0x0002,
-0x12B0, 0xD756, 0x12AB, 0x430C, 0x12A8, 0x4C05, 0x12B0, 0xD756, 0x12B0,
-0xD754, 0x12B0, 0xD754, 0x12AB, 0x9382, 0x1398, 0x2005, 0x407C, 0x00C8,
-0x12A9, 0x440C, 0x12A8, 0x434C, 0x12AB, 0x474C, 0x3FDC, 0x12B0, 0xD0BE,
-0x4820, 0x12B0, 0xC9E6, 0x12B0, 0xC9B6, 0x403C, 0x3FFD, 0x12B0, 0xC9E6,
-0x464C, 0x12AB, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x454C, 0x12AB, 0x407C,
-0x0024, 0x12A4, 0x435C, 0x4820, 0x12A9, 0x434C, 0x4820, 0x4C81, 0x0002,
-0x454C, 0x12B0, 0xD0CE, 0x12A8, 0x411C, 0x0002, 0x12A9, 0x434C, 0x12A8,
-0x3FD9, 0xD3E2, 0x0031, 0xD3D2, 0x0031, 0xD2F2, 0x0031, 0xC2F2, 0x0031,
-0xD2F2, 0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xC2F2, 0x0031, 0xD2F2, 0x0031,
-0xC2F2, 0x0031, 0xD2F2, 0x0031, 0xC3D2, 0x0031, 0xC2F2, 0x0031, 0xD2F2,
-0x0031, 0x430C, 0x4130, 0x1206, 0x1207, 0x4D06, 0xD07D, 0x0080, 0x6606,
-0x6707, 0x1086, 0xF376, 0x8076, 0x007F, 0x2814, 0x8076, 0x0018, 0x280A,
-0x9236, 0x3412, 0x5C0C, 0x6D0D, 0x8356, 0x2FFC, 0x1007, 0x4137, 0x4136,
-0x4130, 0xE376, 0x27FA, 0x110D, 0x100C, 0x8356, 0x23FC, 0x3FF5, 0x430C,
-0x430D, 0x3FF2, 0x433C, 0x433D, 0x3FEF, 0x1285, 0x4C0F, 0xDD0F, 0x930F,
-0x4130, 0x464C, 0x12AB, 0x403C, 0x0082, 0x4820, 0x494C, 0x12AB, 0x403C,
-0x3400, 0x4820, 0x444C, 0x12AB, 0x430C, 0x4820, 0x407C, 0x00C1, 0x12AB,
-0x411C, 0x0004, 0x12A8, 0x407C, 0x00A1, 0x4130, 0x494C, 0x12AB, 0x403C,
-0x3401, 0x12A8, 0x474C, 0x4B20, 0x12A8, 0x3FDB, 0x120A, 0x120B, 0x1292,
-0x134E, 0x1292, 0x1350, 0x407A, 0x0003, 0x407C, 0x0028, 0x1292, 0x1354,
-0x403C, 0xAAAA, 0x1292, 0x1358, 0x4C0B, 0x903C, 0x5555, 0x2006, 0x403C,
-0x5555, 0x421F, 0x1112, 0x129F, 0x0008, 0x537A, 0x23EC, 0x4B0C, 0x421F,
-0x1112, 0x129F, 0x0008, 0x430C, 0x413B, 0x413A, 0x4130, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x4C0A, 0x4D0B, 0x4E07, 0x12B0, 0xD5BE,
-0x3C12, 0x12B0, 0xCFB2, 0x12B0, 0xD2C0, 0x12B0, 0xCFCE, 0x430C, 0x12A9,
-0x4C8B, 0x0000, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x12B0, 0xD358, 0x532A,
-0x532B, 0x470F, 0x5337, 0x930F, 0x23EA, 0x4030, 0xD422, 0x120A, 0x120B,
-0x1208, 0x1209, 0x1206, 0x1207, 0x4C0A, 0x4D07, 0x4E0B, 0x12B0, 0xD5BE,
-0x3C11, 0x12B0, 0xCFB2, 0x407C, 0x0048, 0x12A6, 0x427C, 0x1292, 0x1356,
-0x12B0, 0xD2C0, 0x473C, 0x12A9, 0x12B0, 0xD83A, 0x12B0, 0xD358, 0x532A,
-0x4B0F, 0x533B, 0x930F, 0x23EB, 0x4030, 0xD422, 0x8321, 0x410C, 0x421F,
-0x1112, 0x129F, 0x0014, 0x930C, 0x3403, 0x403C, 0xFFEB, 0x3C15, 0x416C,
-0x1292, 0x274E, 0x930C, 0x2403, 0x403C, 0xFFEA, 0x3C0D, 0x434C, 0x1292,
-0x2754, 0x1292, 0x134E, 0x1292, 0x1350, 0x435C, 0x421F, 0x1112, 0x129F,
-0x0004, 0x430C, 0x5321, 0x4130, 0x435C, 0x12A6, 0x407C, 0x0048, 0x12AA,
-0x435C, 0x1292, 0x1356, 0x435C, 0x12A6, 0x4307, 0x407C, 0x0028, 0x12AA,
-0x430C, 0x12A8, 0xF07C, 0x0081, 0x907C, 0x0081, 0x2408, 0x434C, 0x12A6,
-0x435C, 0x12A6, 0x5317, 0x9037, 0x000A, 0x2BEE, 0x9037, 0x000A, 0x4130,
-0x120A, 0x407C, 0x0086, 0x12B0, 0x7674, 0x421A, 0x275A, 0x403C, 0x000A,
-0x128A, 0x431E, 0x430F, 0x403C, 0x0010, 0x12B0, 0x839C, 0x403C, 0x000A,
-0x128A, 0x403E, 0xA55A, 0x430F, 0x403C, 0x0010, 0x12B0, 0x839C, 0x403C,
-0x000F, 0x128A, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206,
-0x1207, 0x12B0, 0xD270, 0x3C10, 0x12B0, 0xBE18, 0x407C, 0x0048, 0x12A7,
-0x427C, 0x1292, 0x1356, 0x12B0, 0xBDEE, 0x4B3C, 0x12A6, 0x12B0, 0xBDAA,
-0x12B0, 0xBDFE, 0x480F, 0x5338, 0x930F, 0x23EC, 0x4030, 0xD422, 0x12A6,
-0x434C, 0x12A9, 0x407C, 0x0042, 0x12B0, 0xCCF4, 0x484C, 0x4030, 0xCCF4,
-0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x12B0, 0xCCF4, 0x434C, 0x12A9,
-0x444C, 0x12AA, 0x407C, 0x0024, 0x12AB, 0x435C, 0x4920, 0x474C, 0x12AA,
-0x435C, 0x4920, 0x435C, 0x12A9, 0x407C, 0x0048, 0x12AA, 0x435C, 0x12A5,
-0x435C, 0x12A9, 0x4306, 0x12B0, 0xD7D6, 0xF07C, 0x0081, 0x907C, 0x0081,
-0x2408, 0x434C, 0x12A9, 0x435C, 0x12A9, 0x5316, 0x9036, 0x000A, 0x2BF1,
-0x9036, 0x000A, 0x4130, 0x1209, 0x120A, 0x120B, 0x430A, 0x430B, 0x4039,
-0x0020, 0x5C0C, 0x6D0D, 0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C,
-0x5339, 0x23F6, 0x3C04, 0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F,
-0x413B, 0x413A, 0x4139, 0x4130, 0x434E, 0x4E4F, 0x5F0F, 0x5F0F, 0x4F9F,
-0x2544, 0x1146, 0x4F9F, 0x2546, 0x1148, 0x535E, 0x907E, 0x0050, 0x2BF3,
-0x407E, 0x0050, 0x4E4F, 0x5F0F, 0x5F0F, 0x43BF, 0x1146, 0x438F, 0x1148,
-0x535E, 0x907E, 0x0052, 0x2BF5, 0x4130, 0x120A, 0x120B, 0x1208, 0x4C0A,
-0x407C, 0x0082, 0x1292, 0x1354, 0x403C, 0x4030, 0x1292, 0x1358, 0x4038,
-0x1360, 0x12B0, 0xCFCE, 0x4A0C, 0x1292, 0x1358, 0x12B0, 0xCFCE, 0x12B0,
-0xCFCE, 0x435C, 0x12A8, 0x4030, 0xD428, 0x1292, 0x275A, 0x407C, 0x0086,
-0x12A9, 0x430C, 0x12A8, 0xB23C, 0x280C, 0x403C, 0x0014, 0x12A8, 0x430C,
-0x12A8, 0x4C07, 0x430C, 0x12A8, 0x4781, 0x0004, 0x4C81, 0x0006, 0x5314,
-0x6305, 0x90B1, 0xBABE, 0x0004, 0x4130, 0x8221, 0x4381, 0x0002, 0x4381,
-0x0000, 0x410D, 0x410C, 0x532C, 0x1292, 0x274C, 0x411C, 0x0002, 0x421F,
-0x1112, 0x129F, 0x0008, 0x412C, 0x421F, 0x1112, 0x129F, 0x0008, 0x430C,
-0x5221, 0x4130, 0x12B0, 0xCE4C, 0x40B2, 0xB242, 0x14A6, 0x4030, 0xCE5A,
-0x40B2, 0xC670, 0x14A2, 0x40B2, 0xC8C0, 0x14A4, 0x4130, 0x40B2, 0xCC80,
-0x14A8, 0x40B2, 0xBDB2, 0x14AA, 0x4292, 0x1190, 0x14AC, 0x4130, 0x1202,
-0xC232, 0x4303, 0x4C82, 0x0130, 0x4E82, 0x0138, 0x4C82, 0x0134, 0x421C,
-0x013A, 0x4292, 0x013C, 0x013A, 0x4F82, 0x0138, 0x4D82, 0x0134, 0x4E82,
-0x0138, 0x421D, 0x013A, 0x1300, 0x444C, 0x12A8, 0x435C, 0x12A7, 0x4B4C,
-0x12A8, 0x403C, 0x00FE, 0x12A6, 0x434C, 0x12A7, 0x444C, 0x12A8, 0x435C,
-0x12A7, 0x434C, 0x12A7, 0x435C, 0x12A7, 0x430C, 0x4620, 0xD3D2, 0x0031,
-0xC3D2, 0x0031, 0x403C, 0x0005, 0x1292, 0x2758, 0xD3D2, 0x0031, 0xC3D2,
-0x0031, 0x403C, 0x0005, 0x1292, 0x2758, 0xD3D2, 0x0031, 0x430C, 0x4130,
-0x120A, 0x8321, 0x433A, 0x43C1, 0x0000, 0x410C, 0x421F, 0x1112, 0x129F,
-0x0014, 0x933C, 0x2404, 0x416C, 0x1292, 0x1368, 0x430A, 0x4A0C, 0x5321,
-0x413A, 0x4130, 0x907B, 0x0010, 0x2807, 0x4D0C, 0x4E0D, 0x4F0E, 0x430F,
-0x807B, 0x0010, 0x3FF6, 0x934B, 0x2407, 0xC312, 0x100F, 0x100E, 0x100D,
-0x100C, 0x835B, 0x23F9, 0x4130, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x490C,
-0x4820, 0x12B0, 0xCF3E, 0x435C, 0x4620, 0x434C, 0x12A6, 0x4B4C, 0x12AA,
-0x403C, 0x2C01, 0x12A8, 0x435C, 0x4030, 0xCF40, 0x407C, 0x00F4, 0x12B0,
-0x7674, 0x403C, 0x000A, 0x1292, 0x275A, 0x403E, 0x4020, 0x430F, 0x403C,
-0x0010, 0x12B0, 0x839C, 0x403C, 0x000A, 0x4210, 0x275A, 0xD0F2, 0x0040,
-0x0029, 0x421F, 0x1504, 0xC2DF, 0x150C, 0x0000, 0x431C, 0x1292, 0x275A,
-0x421F, 0x1504, 0xD3DF, 0x0000, 0xC0F2, 0x0020, 0x0029, 0x4130, 0x407C,
-0x0082, 0x12A6, 0x403C, 0x3FFF, 0x12A9, 0x434C, 0x12A8, 0x407C, 0x00C8,
-0x12A6, 0x403C, 0x2409, 0x12A9, 0x435C, 0x12A8, 0x434C, 0x4820, 0x12B0,
-0xD48E, 0x403C, 0x3FFF, 0x12A8, 0x434C, 0x12A6, 0x4B4C, 0x12AA, 0x403C,
-0x2409, 0x12A8, 0x435C, 0x12A6, 0x434C, 0x4620, 0x474C, 0x12B0, 0xD8F6,
-0x12B0, 0xD8F4, 0x403C, 0x00FC, 0x12A8, 0x434C, 0x12A6, 0x474C, 0x12B0,
-0xD8F6, 0x430C, 0x4820, 0x482F, 0x4F10, 0x0008, 0x5C0C, 0x5C0C, 0x12AA,
-0x12B0, 0xD9C4, 0x430D, 0x482F, 0x129F, 0x000A, 0x12B0, 0xD9C4, 0x3FF1,
-0xF37C, 0xF37E, 0x4E0F, 0x4C0D, 0x430E, 0x431C, 0x5D0D, 0x6E0E, 0x9F0E,
-0x2801, 0x8F0E, 0x6C0C, 0x2BF9, 0x4130, 0x12B0, 0xD05C, 0x407C, 0x0082,
-0x12A9, 0x435C, 0x4620, 0x1292, 0x1358, 0x434C, 0x12A6, 0x407C, 0x0042,
-0x3FF6, 0x12B0, 0xD078, 0x407C, 0x0082, 0x12AB, 0x435C, 0x4A20, 0x1292,
-0x1358, 0x434C, 0x12AA, 0x407C, 0x0042, 0x3FF6, 0xF37C, 0xF37E, 0x1202,
-0xC232, 0x4303, 0x4C82, 0x0130, 0x4E82, 0x0138, 0x421C, 0x013A, 0x421D,
-0x013C, 0x1300, 0x12A9, 0x434C, 0x12AA, 0x484C, 0x12AB, 0x403C, 0x0501,
-0x12A9, 0x435C, 0x12AA, 0x434C, 0x12AA, 0x435C, 0x4A20, 0x464C, 0x12AB,
-0x435C, 0x12A8, 0x474C, 0x12AB, 0x435C, 0x4130, 0x12AB, 0x407C, 0x0034,
-0x12A4, 0x3FF7, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x110D,
-0x100C, 0x110D, 0x100C, 0x110D, 0x100C, 0x4130, 0x12A8, 0x407C, 0x00C8,
-0x12A9, 0x403C, 0x1401, 0x12A8, 0x407C, 0x0082, 0x12A9, 0x12B0, 0xD756,
-0x4B20, 0x12B0, 0xD172, 0x450C, 0x12A9, 0x435C, 0x12A7, 0x484C, 0x12AB,
-0x403C, 0x3401, 0x12A9, 0x464C, 0x4B20, 0x407C, 0x0094, 0x1292, 0x1354,
-0x434C, 0x1292, 0x1356, 0x421F, 0x1112, 0x129F, 0x0004, 0x430C, 0x4130,
-0x12B0, 0x81EE, 0x12AA, 0x12B0, 0xD84E, 0x12B0, 0x81FE, 0x403C, 0x2409,
-0x12B0, 0x814E, 0x434C, 0x4A20, 0x8321, 0x410C, 0x421F, 0x1112, 0x129F,
-0x0016, 0x412C, 0x1292, 0x274A, 0x430C, 0x5321, 0x4130, 0x12B0, 0xD594,
-0x464C, 0x12AB, 0x403C, 0x3FFD, 0x12B0, 0xD594, 0x434C, 0x12A7, 0x484C,
-0x4B20, 0xC312, 0x100D, 0x100C, 0xC312, 0x100D, 0x100C, 0x108C, 0x108D,
-0xED4C, 0xED0C, 0xF37D, 0x4130, 0x120A, 0x4C0A, 0x3C03, 0x4DFA, 0x0000,
-0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A, 0x4130, 0x4C0F, 0x930F,
-0x2408, 0x421E, 0x1378, 0x930E, 0x2402, 0x533E, 0x3FFC, 0x533F, 0x3FF6,
-0x4130, 0x482F, 0x4F10, 0x0008, 0x12AB, 0x12B0, 0xD6E2, 0x482F, 0x129F,
-0x000A, 0x12B0, 0xD6E2, 0x3FF4, 0x4C0F, 0x930F, 0x2408, 0x421E, 0x1374,
-0x930E, 0x2402, 0x533E, 0x3FFC, 0x533F, 0x3FF6, 0x4130, 0x120A, 0x4C0A,
-0x3C03, 0x4DCA, 0x0000, 0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A,
-0x4130, 0x422C, 0x462F, 0x129F, 0x0008, 0x430C, 0x430D, 0x462F, 0x129F,
-0x000A, 0x430C, 0x4130, 0x407C, 0x0082, 0x12A6, 0x435C, 0x4820, 0x12A9,
-0x434C, 0x12A8, 0x407C, 0x0042, 0x3FF7, 0x12B0, 0xA178, 0x12B0, 0xA154,
-0x484C, 0x12AB, 0x403C, 0x3401, 0x12A9, 0x464C, 0x4B20, 0x403C, 0x0003,
-0x1292, 0x1230, 0x410C, 0x503C, 0x002E, 0x462F, 0x4F10, 0x0010, 0x4C0A,
-0x4D0B, 0x4E08, 0x4039, 0x1360, 0x4036, 0x1358, 0x4037, 0x1354, 0x4130,
-0x434C, 0x12B0, 0xD740, 0x407C, 0x0028, 0x12A7, 0x4C4A, 0x903A, 0x0095,
-0x4130, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x0012, 0x4214, 0x1112,
-0x4410, 0x000E, 0x12B0, 0xD314, 0x403C, 0x4030, 0x12AB, 0x12B0, 0x80DC,
-0x421C, 0x13AA, 0x4130, 0x407C, 0x00C1, 0x12A6, 0x4A0C, 0x430D, 0x1292,
-0x135A, 0x407C, 0x00A1, 0x4620, 0x430F, 0x430E, 0x423D, 0x410C, 0x503C,
-0x0010, 0x4215, 0x1112, 0x4510, 0x000E, 0x12B0, 0xD140, 0x407C, 0x00C1,
-0x12B0, 0x817E, 0x12B0, 0x813E, 0x430C, 0x4130, 0x407C, 0x00C1, 0x12AB,
-0x403C, 0x0182, 0x430D, 0x1292, 0x135A, 0x435C, 0x4820, 0x12B0, 0x811C,
-0x464C, 0x12A8, 0x403C, 0x3401, 0x12AB, 0x494C, 0x4820, 0x434C, 0x12A7,
-0x494C, 0x12A8, 0x403C, 0x2401, 0x12A6, 0x435C, 0x4720, 0x403C, 0x0003,
-0x1292, 0x118C, 0x4C08, 0x4B0C, 0x4A2F, 0x4F10, 0x0010, 0x4C0F, 0x5D0F,
-0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C, 0x23FB, 0x4130, 0x12A6, 0x403C,
-0x2401, 0x12A9, 0x407C, 0x0021, 0x12A6, 0x435C, 0x4820, 0x403C, 0x3FFD,
-0x12AB, 0x434C, 0x12AA, 0x454C, 0x12A8, 0x435C, 0x4A20, 0x9382, 0x1398,
-0x2403, 0x403C, 0x0FF6, 0x4130, 0x403C, 0x018C, 0x4130, 0x12A8, 0x12B0,
-0xD756, 0x12AB, 0x403C, 0x3FFD, 0x12A8, 0x434C, 0x4B20, 0x12B0, 0xD9E4,
-0x434C, 0x12A6, 0x407C, 0x0042, 0x12A9, 0x430C, 0x4820, 0x407C, 0x00C1,
-0x12AA, 0x411C, 0x0004, 0x12A8, 0x407C, 0x00A1, 0x4A20, 0x434C, 0x12A9,
-0x474C, 0x12AA, 0x403C, 0x2401, 0x12AB, 0x435C, 0x4920, 0x430F, 0x430E,
-0x422D, 0x410C, 0x503C, 0x000C, 0x4B27, 0x4710, 0x000E, 0x12A9, 0x434C,
-0x12A7, 0x444C, 0x12AB, 0x435C, 0x12A7, 0x464C, 0x4B20, 0x403C, 0x0003,
-0x1292, 0x11E0, 0x4C0A, 0x480C, 0x4B2F, 0x4F10, 0x0010, 0x4C0D, 0x411C,
-0x0002, 0x12B0, 0x9E8C, 0x4C0A, 0x4D0B, 0x9305, 0x4130, 0x4135, 0x4134,
-0x4137, 0x4136, 0x4139, 0x4138, 0x413B, 0x413A, 0x4130, 0x407C, 0x0021,
-0x12A9, 0x430C, 0x430D, 0x1292, 0x135A, 0x435C, 0x4130, 0x430F, 0x430E,
-0x422D, 0x410C, 0x503C, 0x000C, 0x4A28, 0x4810, 0x000E, 0x120C, 0x4EFC,
-0x0000, 0x531C, 0x831D, 0x23FB, 0x413C, 0x4130, 0x12B0, 0xD196, 0x4C0A,
-0xF03A, 0x0F00, 0x503A, 0x0080, 0x4130, 0x435C, 0x12B0, 0xD47C, 0x4A4C,
-0x421F, 0x1112, 0x4F10, 0x0004, 0x4B4C, 0x12AA, 0x403C, 0x3401, 0x12A8,
-0x407C, 0x0082, 0x4A20, 0x120C, 0x438C, 0x0000, 0x532C, 0x831E, 0x23FB,
-0x413C, 0x4130, 0x403C, 0x113E, 0x421F, 0x1112, 0x129F, 0x0016, 0x430C,
-0x4130, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x5C0C, 0x4130,
-0x934C, 0x2403, 0xD3E2, 0x0031, 0x4130, 0xC3E2, 0x0031, 0x4130, 0x434C,
-0x12A6, 0x4B4C, 0x12AA, 0x12B0, 0xD9FC, 0x435C, 0x4620, 0x12A8, 0x434C,
-0x12AB, 0x407C, 0x0042, 0x12A9, 0x435C, 0x4B20, 0x403C, 0x0003, 0x1292,
-0x122C, 0x470C, 0x4A2F, 0x4F10, 0x0010, 0x430D, 0x1292, 0x135A, 0x435C,
-0x12AA, 0x407C, 0x00A1, 0x4B20, 0x12A8, 0x434C, 0x12AB, 0x407C, 0x0042,
-0x12A9, 0x435C, 0x4B20, 0x434C, 0x12A9, 0x474C, 0x12A8, 0x403C, 0x2401,
-0x4620, 0x12B0, 0xD7A4, 0x435C, 0x12A8, 0x407C, 0x0082, 0x4920, 0x423D,
-0x12B0, 0xD454, 0x410F, 0x503F, 0x002C, 0x4130, 0x4A0C, 0x4B0D, 0x12B0,
-0xD196, 0xF03C, 0x0F00, 0x4130, 0x490C, 0x1292, 0x1244, 0x460C, 0x4B2F,
-0x4F10, 0x0010, 0x430F, 0x431E, 0x4A0D, 0x480C, 0x4B27, 0x4710, 0x000E,
-0x430F, 0x430E, 0x423D, 0x410C, 0x503C, 0x0012, 0x4130, 0x423D, 0x12B0,
-0xD454, 0x410F, 0x503F, 0x0034, 0x4130, 0x12A9, 0x434C, 0x12A7, 0x444C,
-0x12AB, 0x435C, 0x4720, 0x403C, 0x3FFD, 0x12AB, 0x434C, 0x12AA, 0x444C,
-0x4820, 0x12A9, 0x434C, 0x12A7, 0x444C, 0x12AB, 0x435C, 0x4720, 0x4038,
-0x1360, 0x4039, 0x1358, 0x4036, 0x1354, 0x4130, 0x12A8, 0x12B0, 0xC172,
-0x4C0F, 0xDD0F, 0x930F, 0x4130, 0x423D, 0x12B0, 0xD454, 0x410F, 0x503F,
-0x0024, 0x4130, 0x435C, 0x421F, 0x1112, 0x129F, 0x0004, 0x430C, 0x4130,
-0x434C, 0x12AA, 0x494C, 0x12AB, 0x403C, 0x2401, 0x4820, 0x12A9, 0x4A4C,
-0x12A8, 0x434C, 0x12AB, 0x435C, 0x4B20, 0x12A8, 0x4C07, 0x454C, 0x12AA,
-0x403C, 0x0088, 0x4820, 0x434C, 0x12A9, 0x407C, 0x0042, 0x12AA, 0x435C,
-0x4920, 0x12B0, 0xDA1C, 0x435C, 0x12AB, 0x434C, 0x4B20, 0x474C, 0x12A8,
-0x430C, 0x430D, 0x4210, 0x135A, 0x407C, 0x0048, 0x12A8, 0x427C, 0x4210,
-0x1356, 0x407C, 0x00B0, 0x12A8, 0x432C, 0x430D, 0x4920, 0x407C, 0x00C8,
-0x12A8, 0x403C, 0x0501, 0x4B20, 0x421F, 0x1112, 0x129F, 0x0018, 0x930C,
-0x4130, 0x435C, 0x12A8, 0x434C, 0x12A8, 0x435C, 0x4820, 0x407C, 0x00F4,
-0x12A7, 0x403C, 0x4020, 0x4620, 0x403C, 0x0080, 0x12A8, 0x403C, 0x0880,
-0x4820, 0x407C, 0x0088, 0x12AB, 0x407C, 0x0034, 0x4420, 0x440C, 0x440D,
-0xE33D, 0x5D0D, 0x7D0D, 0x4720, 0x1292, 0x2754, 0x1292, 0x134E, 0x4210,
-0x1350, 0x12B0, 0xCF3E, 0x454C, 0x12AA, 0x435C, 0x4620, 0x934E, 0x2403,
-0x5C0C, 0x835E, 0x23FD, 0x4130, 0x12B0, 0xD5A6, 0x435C, 0x12AA, 0x464C,
-0x4820, 0x440C, 0x430D, 0x12AB, 0x430C, 0x430D, 0x4B20, 0x403C, 0x0080,
-0x12A8, 0x403C, 0x0880, 0x4820, 0x128F, 0x430C, 0x430D, 0x462F, 0x4F10,
-0x000A, 0x421F, 0x1112, 0x129F, 0x0016, 0x930C, 0x4130, 0x12B0, 0xCA50,
-0x2802, 0x430C, 0x430D, 0x4130, 0x12A8, 0x434C, 0x12A6, 0x407C, 0x0042,
-0x4A20, 0x403C, 0x0500, 0x12A9, 0x407C, 0x00C1, 0x4B20, 0x490C, 0x12A8,
-0x407C, 0x0028, 0x4A20, 0x1284, 0x1292, 0x134E, 0x4210, 0x1350, 0xD03A,
-0x0040, 0x4A0C, 0x430D, 0x4B20, 0x12AB, 0x434C, 0x12AB, 0x435C, 0x4130,
-0x5392, 0x14A0, 0xC392, 0x0160, 0x1300, 0x462F, 0x129F, 0x0016, 0x930C,
-0x4130, 0x12B0, 0xD4E4, 0x407C, 0x0082, 0x4920, 0x4A2F, 0x129F, 0x0016,
-0x930C, 0x4130, 0x407C, 0x0028, 0x12A8, 0x430C, 0x4920, 0x474C, 0x12AB,
-0x403C, 0x2401, 0x4820, 0x474C, 0x12AB, 0x403C, 0x3400, 0x4820, 0x434C,
-0x12A8, 0x407C, 0x0042, 0x4920, 0x434C, 0x12A7, 0x407C, 0x00C8, 0x4920,
-0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x12AA, 0x434C, 0x12A8, 0x435C,
-0x4820, 0x430D, 0x12A9, 0x430C, 0x430D, 0x4920, 0x407C, 0x0028, 0x12AA,
-0x430C, 0x4820, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x4620, 0x430D, 0x12A9,
-0x431C, 0x430D, 0x4920, 0x434C, 0x12AB, 0x407C, 0x00C8, 0x4920, 0x12A6,
-0x434C, 0x12A8, 0x435C, 0x4820, 0x434C, 0x12A8, 0x407C, 0x00C8, 0x4620,
-0x434C, 0x12A9, 0x407C, 0x00C8, 0x4A20, 0x434C, 0x12AB, 0x407C, 0x00C8,
-0x4920, 0x12A8, 0x435C, 0x12AB, 0x434C, 0x4B20, 0x464C, 0x12A8, 0x403C,
-0x0401, 0x4920, 0x12B0, 0xCFCE, 0x407C, 0x00C8, 0x4130, 0x4036, 0x1358,
-0x403C, 0x3401, 0x4620, 0x494C, 0x12A8, 0x403C, 0x3FFF, 0x4B20, 0x4C05,
-0x460C, 0x4B2F, 0x4F10, 0x0010, 0x12A9, 0x434C, 0x12AB, 0x464C, 0x4820,
-0x403C, 0x0C04, 0x430D, 0x4210, 0x14A6, 0x407C, 0x0042, 0x12A8, 0x435C,
-0x4920, 0x407C, 0x0090, 0x12A6, 0x432C, 0x4720, 0x4C05, 0x440C, 0x482F,
-0x4F10, 0x0010, 0x4B2F, 0x129F, 0x0016, 0x930C, 0x4130, 0x454C, 0x12AA,
-0x403C, 0x0082, 0x4820, 0x431C, 0x1292, 0x275A, 0x430C, 0x4B20, 0x403C,
-0x0080, 0x462F, 0x4F10, 0x0008, 0x12B0, 0xD8D4, 0x930C, 0x4130, 0x12B0,
-0x4802, 0x430C, 0x4130, 0x43D2, 0x1140, 0x430C, 0x4130, 0x421F, 0x1112,
-0x4F10, 0x0016, 0x12A9, 0x407C, 0x0082, 0x4820, 0x12B0, 0xD8D4, 0x933C,
-0x4130, 0x12B0, 0x8F12, 0x435C, 0x4A20, 0x494C, 0x12AA, 0x435C, 0x4620,
-0x12B0, 0xA156, 0x434C, 0x4720, 0x421F, 0x1112, 0x4F10, 0x0008, 0x12B0,
-0xD91C, 0x430C, 0x4820, 0x434C, 0x12A9, 0x435C, 0x4920, 0x434C, 0x12A6,
-0x435C, 0x4620, 0x12B0, 0xD944, 0x933C, 0x4130, 0x1292, 0x2748, 0x430C,
-0x4130, 0x4A4C, 0x12A8, 0x435C, 0x4B20, 0x435C, 0x12A6, 0x434C, 0x4620,
-0x421F, 0x1112, 0x4F10, 0x0016, 0x12B0, 0xD944, 0x930C, 0x4130, 0x407C,
-0x0086, 0x4210, 0x1354, 0x12B0, 0xD7FE, 0x434C, 0x4820, 0x12AA, 0x407C,
-0x0082, 0x4920, 0x434C, 0x12A9, 0x435C, 0x4920, 0x12B0, 0xD7C2, 0x434C,
-0x4820, 0x421F, 0x1112, 0x4F10, 0x0014, 0x12B0, 0xD620, 0x484C, 0x4A20,
-0x434C, 0x12A9, 0x474C, 0x4A20, 0x1292, 0x2756, 0x430C, 0x4130, 0x435C,
-0x12A9, 0x434C, 0x4920, 0x421F, 0x1112, 0x4F10, 0x0014, 0x434C, 0x12A6,
-0x435C, 0x4620, 0x435C, 0x12A6, 0x434C, 0x4620, 0x12AB, 0x407C, 0x00C8,
-0x4920, 0x4B0C, 0x12AA, 0x430C, 0x4A20, 0x12B0, 0xCFEE, 0x435C, 0x4620,
-0x435C, 0x12A6, 0x434C, 0x4620, 0x434C, 0x1286, 0x4210, 0x134E, 0x430D,
-0x12A5, 0x435C, 0x4620, 0x454C, 0x12AA, 0x430C, 0x4820, 0x434C, 0x12A9,
-0x435C, 0x4920, 0x407C, 0x0024, 0x4210, 0x1356, 0x430C, 0x4210, 0x1358,
-0x12A6, 0x434C, 0x4920, 0x4CC2, 0x007C, 0x4130, 0x12A7, 0x430C, 0x4720,
-0x12A9, 0x434C, 0x4B20, 0x4B2F, 0x4F10, 0x0016, 0x12AB, 0x430C, 0x4B20,
-0x431C, 0x4130, 0x4030, 0xD1A2, 0x430C, 0x4130, 0x5137,
-};
-
-const unsigned long halImage_address[] =
-{
-0x0000250A, 0x0000251E, 0x0000253A, 0x00002748, 0x0000DFFE,
-};
-const unsigned long halImage_length_of_sections[] =
-{
-0x00000002, 0x00000001, 0x000000A5, 0x00005979, 0x00000001,
-};
-const unsigned long halImage_sections = 0x00000005;
-const unsigned long halImage_termination = 0x00000000;
-const unsigned long halImage_start = 0x0000250A;
-const unsigned long halImage_finish = 0x0000E000;
-const unsigned long halImage_length = 0x0000BAF6;
-
-#define HALIMAGE_TERMINATION 0x00000000
-#define HALIMAGE_START 0x0000250A
-#define HALIMAGE_FINISH 0x0000E000
-#define HALIMAGE_LENGTH 0x0000BAF6
-#define HALIMAGE_SECTIONS 0x00000005
diff --git a/Bios/src/hal/global_variables.h b/Bios/src/hal/global_variables.h
new file mode 100644
index 0000000..8fc1802
--- /dev/null
+++ b/Bios/src/hal/global_variables.h
@@ -0,0 +1,70 @@
+/*
+ * global_variables.h
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHAL
+//! \file global_variables.h
+//!
+//!
+
+#if defined(eZ_FET) || defined(MSP_FET)
+#include "stream.h"
+#pragma inline=forced
+unsigned short* getTargetRunningVar(void)
+{
+ unsigned short* syncWithRunVarAddress;
+ if(STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_SYNC_RUN, &syncWithRunVarAddress))
+ {
+ return syncWithRunVarAddress;
+ }
+ return 0;
+}
+
+#endif
+
+
+
+#ifdef MSP430_UIF
+
+extern unsigned short targetIsRunning;
+
+#pragma inline=forced
+unsigned short* getTargetRunningVar(void)
+{
+ return &targetIsRunning;
+}
+
+#endif
diff --git a/Bios/src/hal/hal.c b/Bios/src/hal/hal.c
deleted file mode 100644
index 0fbcf9f..0000000
--- a/Bios/src/hal/hal.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * hal.c
- *
- *
- *
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-//! \ingroup MODULHAL
-//! \file hal.c
-//! \author Detlef Fink (09/21/2010)
-//!
-
-#include "hw_compiler_specific.h"
-#include "HalGlobalVars.h"
-#include "edt.h"
-#include "hal.h"
-#include "hal_ref.h"
-#include "stream.h"
-#include "string.h"
-
-
-// global variables to handle JTAG chain
-VAR_AT(union _chain_Configuration chain_Configuration[32], HAL_ADDR_VAR_CHAIN_CONFIGURATION);
-REQUIRED(chain_Configuration)
-VAR_AT(unsigned short activeDevice, HAL_ADDR_VAR_ACTIVE_DEVICE);
-REQUIRED(activeDevice)
-VAR_AT(unsigned char numOfDevices, HAL_ADDR_VAR_NUM_OF_DEVICES);
-REQUIRED(numOfDevices)
-VAR_AT(unsigned short TCE, HAL_ADDR_VAR_TCE);
-REQUIRED(TCE)
-VAR_AT(DeviceSettings deviceSettings, HAL_ADDR_VAR_DEVICE_SETTINGS);
-REQUIRED(deviceSettings)
-VAR_AT(DevicePowerSettings devicePowerSettings, HAL_ADDR_VAR_DEVICE_POWER_SETTINGS);
-REQUIRED(devicePowerSettings)
-VAR_AT(unsigned short altRomAddressForCpuRead, HAL_ADDR_VAR_ROM_FOR_CPU_READ);
-REQUIRED(altRomAddressForCpuRead)
-
-// global variables to handle Emulation clock control
-VAR_AT(unsigned short _hal_mclkCntrl0, HALL_ADDR_VAR_HAL_MCLK_CNTRL0);
-REQUIRED(_hal_mclkCntrl0)
-VAR_AT(HalRec hal_functions_[HAL_FUNCTIONS_SIZE], HAL_ADDR_VAR_HAL_FUNCTION);
-
-#define MACRO(x) {ID_##x, (void*)_hal_##x },
-CONST_AT(HalRec hal_functions_default_[HAL_FUNCTIONS_DEFAULT_SIZE], HAL_ADDR_CONST_HAL_FUNCTION_DEFAULTS) =
-{
- MACRO(Zero)
- MACRO_LIST
-};
-#undef MACRO
-
-/*
-CONST_AT(HalRec hal_functions_default_[HAL_FUNCTIONS_DEFAULT_SIZE], HAL_ADDR_CONST_HAL_FUNCTION_DEFAULTS) =
-{
- { 0x00, (void*)_hal_Zero },
- { 0x01, (void*)_hal_Init },
- { 0x02, (void*)_hal_SetVcc },
- { 0x03, (void*)_hal_GetVcc },
- { 0x04, (void*)_hal_StartJtag },
- { 0x05, (void*)_hal_StopJtag },
- { 0x06, (void*)_hal_Configure },
- { 0x06, (void*)_hal_GetFuses },
- { 0x07, (void*)_hal_BlowFuse },
- { 0x08, (void*)_hal_WaitForEem },
- { 0x09, (void*)_hal_BitSequence },
- { 0x0A, (void*)_hal_GetJtagId },
- { 0x0B, (void*)_hal_SetDeviceChainInfo },
- { 0x0C, (void*)_hal_SetChainConfiguration },
- { 0x0D, (void*)_hal_GetNumOfDevices },
- { 0x0E, (void*)_hal_GetInterfaceMode},
- // MSP430 architecture
- { 0x0E, (void*)_hal_SyncJtag_AssertPor_SaveContext },
- { 0x0F, (void*)_hal_SyncJtag_Conditional_SaveContext },
- { 0x10, (void*)_hal_RestoreContext_ReleaseJtag },
- { 0x11, (void*)_hal_ReadMemBytes },
- { 0x12, (void*)_hal_ReadMemWords },
- { 0x13, (void*)_hal_ReadMemQuick },
- { 0x14, (void*)_hal_WriteMemBytes },
- { 0x15, (void*)_hal_WriteMemWords },
- { 0x16, (void*)_hal_WriteMemQuick },
- { 0x17, (void*)_hal_EemDataExchange },
- { 0x18, (void*)_hal_SingleStep },
- { 0x19, (void*)_hal_ReadAllCpuRegs },
- { 0x1A, (void*)_hal_WriteAllCpuRegs },
- { 0x1B, (void*)_hal_Psa },
- { 0x1C, (void*)_hal_SetFrequency },
- { 0x1D, (void*)_hal_EraseFlash },
- { 0x1E, (void*)_hal_WriteFlashBlock },
- { 0x1F, (void*)_hal_WriteFlashWord },
- { 0x20, (void*)_hal_ExecFunclet },
- // MSP430X architecture
- { 0x21, (void*)_hal_SyncJtag_AssertPor_SaveContextX },
- { 0x22, (void*)_hal_SyncJtag_Conditional_SaveContextX },
- { 0x23, (void*)_hal_RestoreContext_ReleaseJtagX },
- { 0x24, (void*)_hal_ReadMemBytesX },
- { 0x25, (void*)_hal_ReadMemWordsX },
- { 0x26, (void*)_hal_ReadMemQuickX },
- { 0x27, (void*)_hal_WriteMemBytesX },
- { 0x28, (void*)_hal_WriteMemWordsX },
- { 0x29, (void*)_hal_WriteMemQuickX },
- { 0x2A, (void*)_hal_EemDataExchangeX },
- { 0x2B, (void*)_hal_SingleStepX },
- { 0x2C, (void*)_hal_ReadAllCpuRegsX },
- { 0x2D, (void*)_hal_WriteAllCpuRegsX },
- { 0x2E, (void*)_hal_PsaX },
- { 0x2F, (void*)_hal_SetFrequencyX },
- { 0x30, (void*)_hal_EraseFlashX },
- { 0x31, (void*)_hal_WriteFlashBlockX },
- { 0x32, (void*)_hal_WriteFlashWordX },
- { 0x33, (void*)_hal_ExecFuncletX },
- // MSP430Xv2 architecture
- { 0x34, (void*)_hal_SyncJtag_AssertPor_SaveContextXv2 },
- { 0x35, (void*)_hal_SyncJtag_Conditional_SaveContextXv2 },
- { 0x36, (void*)_hal_RestoreContext_ReleaseJtagXv2 },
- { 0x37, (void*)_hal_ReadMemBytesXv2 },
- { 0x38, (void*)_hal_ReadMemWordsXv2 },
- { 0x39, (void*)_hal_ReadMemQuickXv2 },
- { 0x3A, (void*)_hal_WriteMemBytesXv2 },
- { 0x3B, (void*)_hal_WriteMemWordsXv2 },
- { 0x3C, (void*)_hal_WriteMemQuickXv2 },
- { 0x3D, (void*)_hal_EemDataExchangeXv2 },
- { 0x3E, (void*)_hal_SingleStepXv2 },
- { 0x3F, (void*)_hal_ReadAllCpuRegsXv2 },
- { 0x40, (void*)_hal_WriteAllCpuRegsXv2 },
- { 0x41, (void*)_hal_PsaXv2 },
- { 0x42, (void*)_hal_SetFrequencyXv2 },
- { 0x43, (void*)_hal_EraseFlashXv2 },
- { 0x44, (void*)_hal_WriteFlashBlockXv2 },
- { 0x45, (void*)_hal_WriteFlashWordXv2 },
- { 0x46, (void*)_hal_ExecFuncletXv2 },
- { 0x47, (void*)_hal_ExecuteFuncletXv2 },
- { 0x48, (void*)_hal_UnlockDeviceXv2 },
-};*/
-
-REQUIRED(_init_Hal)
-
-
-void _init_Hal(void)
-{
- unsigned char i;
-
- for(i=0; i < (sizeof(hal_functions_)/sizeof(HalRec)); i++)
- {
- if(i < (sizeof(hal_functions_default_)/sizeof(HalRec)))
- {
- hal_functions_[i].id = hal_functions_default_[i].id;
- hal_functions_[i].function = hal_functions_default_[i].function;
- }
- else
- {
- hal_functions_[i].id = 0xFFFF;
- hal_functions_[i].function = NULL;
- }
- }
-}
-
-HAL_FUNCTION(_hal_Zero)
-{
- return 0;
-}
-
-HAL_FUNCTION(_hal_Init)
-{
- EDT_Init();
- return 0;
-}
-
-HAL_FUNCTION(_hal_SetVcc)
-{
- unsigned short vcc;
- STREAM_get_word(&vcc);
- EDT_SetVcc(vcc);
- return 0;
-}
-
-HAL_FUNCTION(_hal_GetVcc)
-{
- unsigned short vcc = 0;
- unsigned short ext_vcc = 0;
-
- EDT_GetVcc(&vcc, &ext_vcc);
- STREAM_put_word(vcc);
- STREAM_put_word(ext_vcc);
- return 0;
-}
-
-HAL_FUNCTION(_hal_GetFuses)
-{
- decl_out
- config_fuses
-
- SetReg_8Bits(0);
- STREAM_put_byte((unsigned char)lOut);
- return 0;
-}
-
-/* EOF */
diff --git a/Bios/src/hal/hal_ref.h b/Bios/src/hal/hal_ref.h
index bd790ad..1608eb9 100644
--- a/Bios/src/hal/hal_ref.h
+++ b/Bios/src/hal/hal_ref.h
@@ -3,42 +3,42 @@
*
*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
//! \ingroup MODULHAL
//! \file hal_ref.h
-//!
-//!
+//!
+//!
#ifndef _HAL_REF_H_
#define _HAL_REF_H_
@@ -48,7 +48,7 @@
* HAL Function Prototypes
*/
#define MACRO(x) short _hal_##x (unsigned short flags);
-MACRO(Zero)
+MACRO(Zero)
MACRO_LIST
#undef MACRO
@@ -60,8 +60,8 @@ void _init_Hal(void);
// common macros
#define HAL_Zero ((HalFuncInOut)hal_functions_[ID_Zero].function)
#define HAL_Init ((HalFuncInOut)hal_functions_[ID_Init].function)
-#define HAL_SetVcc ((HalFuncInOut)hal_functions_[ID_SetVcc].function)
-#define HAL_GetVcc ((HalFuncInOut)hal_functions_[ID_GetVcc].function)
+//#define HAL_SetVcc ((HalFuncInOut)hal_functions_[ID_SetVcc].function)
+//#define HAL_GetVcc ((HalFuncInOut)hal_functions_[ID_GetVcc].function)
#define HAL_StartJtag ((HalFuncInOut)hal_functions_[ID_StartJtag].function)
#define HAL_StartJtagActivationCode ((HalFuncInOut)hal_functions_[ID_StartJtagActivationCode].function)
#define HAL_StopJtag ((HalFuncInOut)hal_functions_[ID_StopJtag].function)
@@ -125,7 +125,9 @@ void _init_Hal(void);
#define HAL_UnlockC092 ((HalFuncInOut)hal_functions_[ID_UnlockC092].function)
#define HAL_HilCommand ((HalFuncInOut)hal_functions_[ID_HilCommand].function)
#define HAL_PollJStateRegFR57xx ((HalFuncInOut)hal_functions_[ID_PollJStateRegFR57xx].function)
-#define HAL_PollJStateReg ((HalFuncInOut)hal_functions_[ID_PollJStateReg].function)
+#define Hal_PollDStatePCRegEt ((HalFuncInOut)hal_functions_[ID_PollDStatePCRegEt].function)
+#define Hal_PollJStateRegEt8 ((HalFuncInOut)hal_functions_[ID_PollJStateRegEt8].function)
+#define Hal_PollJStateReg ((HalFuncInOut)hal_functions_[ID_PollJStateReg].function)
#define HAL_IsJtagFuseBlown ((HalFuncInOut)hal_functions_[ID_IsJtagFuseBlown].function)
#define HAL_ResetXv2 ((HalFuncInOut)hal_functions_[ID_ResetXv2].function)
@@ -136,7 +138,10 @@ void _init_Hal(void);
#define HAL_WriteFramQuickXv2 ((HalFuncInOut)hal_functions_[ID_WriteFramQuickXv2].function)
#define HAL_SendJtagMailboxXv2 ((HalFuncInOut)hal_functions_[ID_SendJtagMailboxXv2].function)
-#define HAL_ReadAllCpuRegsNon1377Xv2 ((HalFuncInOut)hal_functions_[ID_ReadAllCpuRegsNon1377Xv].function)
-#define HAL_SingleStepJStateXv2 ((HalFuncInOut)hal_functions_[ID_SingleStepJStateXv2].function)
+#define HAL_ReadAllCpuRegsNon1377Xv2 ((HalFuncInOut)hal_functions_[ID_ReadAllCpuRegsNon1377Xv].function)
+#define HAL_SingleStepJStateXv2 ((HalFuncInOut)hal_functions_[ID_SingleStepJStateXv2].function)
+#define HAL_ResetMsp430I ((HalFuncInOut)hal_functions_[ID_ResetMsp430I].function)
+#define HAL_PollMSP430I40xx ((HalFuncInOut)hal_functions_[ID_PollMSP430I40xx].function)
+
+#define HAL_LeaSyncConditional ((HalFuncInOut)hal_functions_[ID_LeaSyncConditional].function)
#endif
-
\ No newline at end of file
diff --git a/Bios/src/hal/macros/BitSequence.c b/Bios/src/hal/macros/BitSequence.c
index 43c7910..dc97e38 100644
--- a/Bios/src/hal/macros/BitSequence.c
+++ b/Bios/src/hal/macros/BitSequence.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -78,85 +78,112 @@
Bit 15- ------
*/
+#define PinTMS 0x01 //Bit0
+#define PinTDI 0x02 //Bit1
+#define PinTDO 0x04 //Bit2
+#define PinTCK 0x08 //Bit3
+#define PinTGTRST 0x040 //Bit6
+#define PinTest 0x0100 //Bit8
+
HAL_FUNCTION(_hal_BitSequence)
{
unsigned char numBitSequences;
unsigned short writeBits;
unsigned short maskBits;
unsigned short delay;
- unsigned char jtagPortOutput = 0;
-// unsigned char controlPortOutput = 0;
- unsigned char testPortOutput = 0;
if(STREAM_get_byte(&numBitSequences) < 0)
{
return HALERR_NO_NUM_BITS;
}
-
+
while(numBitSequences)
{
if(STREAM_get_word(&writeBits) < 0)
{
return HALERR_ARRAY_SIZE_MISMATCH;
}
-
+
if(STREAM_get_word(&maskBits) < 0)
{
return HALERR_ARRAY_SIZE_MISMATCH;
}
-
+
if(STREAM_get_word(&delay) < 0)
{
return HALERR_ARRAY_SIZE_MISMATCH;
}
-
+
// Set reset bit using macros - automatically handles SBW/JTAG mode
- if(maskBits & 0x0040)
+ if(maskBits & PinTGTRST)
+ {
+ if(writeBits & PinTGTRST)
+ {
+ IHIL_SetReset(1);
+ }
+ else
+ {
+ IHIL_SetReset(0);
+ }
+ }
+
+ // Set test bit using macros - automatically handles SBW/JTAG mode
+ if(maskBits & PinTest)
+ {
+ if(writeBits & PinTest)
+ {
+ IHIL_SetTest(1);
+ }
+ else
+ {
+ IHIL_SetTest(0);
+ }
+ }
+
+ // Set TMS bit using macros - automatically handles SBW/JTAG mode
+ if(maskBits & PinTMS)
{
- if(writeBits & 0x0040)
+ if(writeBits & PinTMS)
{
- EDT_SetReset(1);
+ IHIL_SetTMS(1);
}
else
{
- EDT_SetReset(0);
+ IHIL_SetTMS(0);
}
}
- // Set test bit using macros - automatically handles SBW/JTAG mode
- if(maskBits & 0x100)
+ // Set TCK bit using macros - automatically handles SBW/JTAG mode
+ if(maskBits & PinTCK)
{
- if(writeBits & 0x100)
+ if(writeBits & PinTCK)
{
- EDT_SetTest(1);
+ IHIL_SetTCK(1);
}
else
{
- EDT_SetTest(0);
+ IHIL_SetTCK(0);
}
}
-
- // Capture current output value for TMS,TDI,TDO and TCK
- jtagPortOutput = EDT_GetJtagBits();
-
- jtagPortOutput &= ~(maskBits & 0x000F); // Only lower 4 bits are relevant
- jtagPortOutput |= (writeBits & 0x000F);
-
- // Decode Test control bits
- testPortOutput = EDT_GetTestBits();
-
- testPortOutput &= ~((maskBits & 0x7C00) >> 8); // Only bits 8,10,11,12,13 vand 14 are relevant
- testPortOutput |= ((writeBits & 0x7C00) >> 8);
-
- // Write the resultant values to the ports
- EDT_SetJtagBits(jtagPortOutput);
- EDT_SetTestBits(testPortOutput);
-
+
+ // Set TDI bit using macros - automatically handles SBW/JTAG mode
+ if(maskBits & PinTDI)
+ {
+ if(writeBits & PinTDI)
+ {
+ IHIL_SetTDI(1);
+ }
+ else
+ {
+ IHIL_SetTDI(0);
+ }
+ }
+
+
--numBitSequences;
-
- EDT_Delay_1ms(delay);
+
+ IHIL_Delay_1ms(delay);
}
-
return 0;
}
diff --git a/Bios/src/hal/macros/BlowFuse.c b/Bios/src/hal/macros/BlowFuse.c
index 8a6d094..799c569 100644
--- a/Bios/src/hal/macros/BlowFuse.c
+++ b/Bios/src/hal/macros/BlowFuse.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -49,7 +49,7 @@
#endif
/**
- BlowFuse
+ BlowFuse
Blow JTAG security fuse.
After calling this function JTAG access is not possible anymore.
inData:
@@ -57,15 +57,26 @@
tgtHasTest: specifies if target device has TEST pin or not (bool)
*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
HAL_FUNCTION(_hal_BlowFuse)
{
short ret_value = HALERR_UNDEFINED_ERROR;
unsigned char hasTestVpp = 0;
-
+
if ( STREAM_get_byte(&hasTestVpp) != -1 )
{
- EDT_BlowFuse(hasTestVpp);
+ IHIL_BlowFuse(hasTestVpp);
ret_value = 0;
}
return ret_value;
}
+#endif
+
+// Fuse blow disabled for of E-FET
+#ifdef eZ_FET
+HAL_FUNCTION(_hal_BlowFuse)
+{
+ // fuseblow is not supported on eZ-FET
+ return API_CALL_NOT_SUPPORTED;
+}
+#endif
diff --git a/Bios/src/hal/macros/BlowFuseFram.c b/Bios/src/hal/macros/BlowFuseFram.c
index f347af1..bddfc40 100644
--- a/Bios/src/hal/macros/BlowFuseFram.c
+++ b/Bios/src/hal/macros/BlowFuseFram.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,6 +44,7 @@
#include "hal.h"
#include "stream.h"
#include "hal_ref.h"
+#include "error_def.h"
#ifdef DB_PRINT
#include "debug.h"
#endif
@@ -58,6 +59,7 @@
*/
//! \todo implementation & rename to jtag access protection
+#if defined(MSP430_UIF) || defined(MSP_FET)
HAL_FUNCTION(_hal_BlowFuseFram)
{
short ret_value = 0;
@@ -65,11 +67,20 @@ HAL_FUNCTION(_hal_BlowFuseFram)
// Write password into device
WriteMemWordXv2(0xFF80,lockKey[0]);
- WriteMemWordXv2(0xFF82,lockKey[1]);
-
+ WriteMemWordXv2(0xFF82,lockKey[1]);
+
// now perform a BOR via JTAG - we loose control of the device then...
- test_reg
- SetReg_32Bits_(0x00000200);
+ test_reg();
+ SetReg_32Bits(0x00000200);
return ret_value;
}
+#endif
+
+#ifdef eZ_FET
+HAL_FUNCTION(_hal_BlowFuseFram)
+{
+ // fuseblow is not supported on eZ-FET
+ return API_CALL_NOT_SUPPORTED;
+}
+#endif
diff --git a/Bios/src/hal/macros/BlowFuseXv2.c b/Bios/src/hal/macros/BlowFuseXv2.c
index e9de52f..e87a005 100644
--- a/Bios/src/hal/macros/BlowFuseXv2.c
+++ b/Bios/src/hal/macros/BlowFuseXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -50,7 +50,7 @@
#endif
/**
- BlowFuse
+ BlowFuse
Blow JTAG security fuse.
After calling this function JTAG access is not possible anymore.
inData:
@@ -58,19 +58,21 @@
tgtHasTest: specifies if target device has TEST pin or not (bool)
*/
+extern unsigned long JTAGLock5xx;
+
//! \todo implementation & rename to jtag access protection
+#if defined(MSP430_UIF) || defined(MSP_FET)
HAL_FUNCTION(_hal_BlowFuseXv2)
{
- decl_out_long
short ret_value = 0;
short bslValue = 0;
- StreamSafe stream_tmp;
- unsigned char stream_in_tmp[26];
+ StreamSafe stream_tmp;
+ unsigned char stream_in_tmp[26];
unsigned short i =0;
-
+
WriteMemWordXv2(0x182, 0x0003);
- ReadMemWordXv2(0x182, bslValue);
-
+ bslValue = ReadMemWordXv2(0x182);
+
if( (bslValue & 0x8000) == 0 )
{
// Coppy incoming stream to forward it to HAL_ExecuteFuncletXv2
@@ -79,19 +81,19 @@ HAL_FUNCTION(_hal_BlowFuseXv2)
STREAM_get_byte(&stream_in_tmp[i]);
}
// add Password to stream
- stream_in_tmp[i] = 0xDE;
- stream_in_tmp[i+1] = 0xAD;
- stream_in_tmp[i+2] = 0xBA;
- stream_in_tmp[i+3] = 0xBE;
-
+ stream_in_tmp[i] = (unsigned char) (JTAGLock5xx & 0xFF);
+ stream_in_tmp[i+1] = (unsigned char) ((JTAGLock5xx >> 8) & 0xFF);
+ stream_in_tmp[i+2] = (unsigned char) ((JTAGLock5xx >> 16) & 0xFF);
+ stream_in_tmp[i+3] = (unsigned char) ((JTAGLock5xx >> 24) & 0xFF);
+
// Write password into device
STREAM_internal_stream(stream_in_tmp, sizeof(stream_in_tmp), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
HAL_ExecuteFuncletXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG); // Data from DLL Stream
STREAM_external_stream(&stream_tmp);
-
+
// now perform a BOR via JTAG - we loose control of the device then...
- test_reg
- SetReg_32Bits_(0x00000200);
+ test_reg();
+ SetReg_32Bits(0x00000200);
}
else
{
@@ -99,3 +101,12 @@ HAL_FUNCTION(_hal_BlowFuseXv2)
}
return ret_value;
}
+#endif
+
+#ifdef eZ_FET
+HAL_FUNCTION(_hal_BlowFuseXv2)
+{
+ // fuseblow is not supported on eZ-FET
+ return API_CALL_NOT_SUPPORTED;
+}
+#endif
diff --git a/Bios/src/hal/macros/Configure.c b/Bios/src/hal/macros/Configure.c
index 56549c6..6fbf10c 100644
--- a/Bios/src/hal/macros/Configure.c
+++ b/Bios/src/hal/macros/Configure.c
@@ -3,39 +3,39 @@
*
* \file Configure.c
*
-* \brief Set certain parameters to spcified values
+* \brief Set certain parameters to spcified values
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -58,15 +58,31 @@
value: specifies the vlaue to which to set the parameter
*/
+#if defined(MSP430_UIF)
+ #ifdef ARCH_MSP432
+ extern ARMConfigSettings armConfigSettings;
+ #endif
+#endif
+
+#if defined(MSP_FET)
+ extern ARMConfigSettings armConfigSettings;
+#endif
+
+extern ARMConfigSettings armConfigSettings;
+
extern DeviceSettings deviceSettings;
extern DevicePowerSettings devicePowerSettings;
extern unsigned short altRomAddressForCpuRead;
+extern unsigned short wdtctlAddress5xx;
+extern unsigned short assertBslValidBit;
+extern unsigned short enhancedPsa;
+unsigned long JTAGLock5xx = 0xCACACACA;
HAL_FUNCTION(_hal_Configure)
{
unsigned long configureParameter;
unsigned long value;
-
+
// Retrieve parameters from stream
if(STREAM_get_long(&configureParameter) < 0)
{
@@ -77,19 +93,19 @@ HAL_FUNCTION(_hal_Configure)
{
return (HALERR_CONFIG_NO_VALUE);
}
-
+
// Decode and parameter and set value
switch(configureParameter)
{
case (CONFIG_PARAM_ENHANCED_PSA):
- EDT_SetPsaSetup(value);
+ enhancedPsa = value;
break;
-
+
case (CONFIG_PARAM_PSA_TCKL_HIGH):
- EDT_SetPsaTCLK(value);
+ IHIL_SetPsaTCLK(value);
break;
-
- case (CONFIG_PARAM_CLK_CONTROL_TYPE):
+
+ case (CONFIG_PARAM_CLK_CONTROL_TYPE):
deviceSettings.clockControlType = value;
break;
@@ -99,47 +115,102 @@ HAL_FUNCTION(_hal_Configure)
case (CONFIG_PARAM_POWER_TESTREG_MASK):
devicePowerSettings.powerTestRegMask = value;
break;
-
+
+ case (CONFIG_PARAM_POWER_TESTREG_DEFAULT):
+ devicePowerSettings.powerTestRegDefault = value;
+ break;
+
case (CONFIG_PARAM_TESTREG_ENABLE_LPMX5):
devicePowerSettings.enableLpmx5TestReg = value;
break;
-
+
case (CONFIG_PARAM_TESTREG_DISABLE_LPMX5):
devicePowerSettings.disableLpmx5TestReg = value;
break;
-
+
case (CONFIG_PARAM_POWER_TESTREG3V_MASK):
devicePowerSettings.powerTestReg3VMask = value;
break;
-
+
+ case (CONFIG_PARAM_POWER_TESTREG3V_DEFAULT):
+ devicePowerSettings.powerTestReg3VDefault = value;
+ break;
+
case (CONFIG_PARAM_TESTREG3V_ENABLE_LPMX5):
devicePowerSettings.enableLpmx5TestReg3V = value;
break;
-
+
case (CONFIG_PARAM_TESTREG3V_DISABLE_LPMX5):
devicePowerSettings.disableLpmx5TestReg3V = value;
break;
case (CONFIG_PARAM_JTAG_SPEED):
- EDT_SetJtagSpeed(value);
- break;
+ {
+ unsigned long sbwValue = 0;
+ if(STREAM_get_long(&sbwValue) < 0)
+ {
+ return (HALERR_CONFIG_NO_VALUE);
+ }
+ IHIL_SetJtagSpeed(value, sbwValue);
+ break;
+ }
case (CONFIG_PARAM_SFLLDEH):
deviceSettings.stopFLL = value;
break;
- case (CONFIG_NO_BSL):
- setPCclockBeforeCapture = value;
- break;
-
case (CONFIG_ALT_ROM_ADDR_FOR_CPU_READ):
altRomAddressForCpuRead = value;
break;
+ case (CONFIG_WDT_ADDRESS_5XX):
+ wdtctlAddress5xx = value;
+ break;
+
+ case (CONFIG_ASSERT_BSL_VALID_BIT):
+ deviceSettings.assertBslValidBit = value;
+ break;
+
+ case (CONFIG_PARAM_SCS_BASE_ADDRESS):
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ #ifdef ARCH_MSP432
+ armConfigSettings.scsBase = value;
+ #endif
+#endif
+ break;
+
+ case (CONFIG_PARAM_FPB_BASE_ADDRESS):
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ #ifdef ARCH_MSP432
+ armConfigSettings.fpbBase = value;
+ #endif
+#endif
+ break;
+
+ case (CONFIG_PARAM_INTERRUPT_OPTIONS):
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ #ifdef ARCH_MSP432
+ armConfigSettings.interruptOptions = value | 0x80;
+ #endif
+#endif
+ break;
+
+ case (CONFIG_PARAM_ULP_MSP432):
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ #ifdef ARCH_MSP432
+ armConfigSettings.ulpDebug = value;
+ #endif
+#endif
+ break;
+
+ case (CONFIG_PARAM_JTAG_LOCK_5XX):
+ JTAGLock5xx = value;
+ break;
+
default:
return (CONFIG_PARAM_UNKNOWN_PARAMETER);
}
-
+
return(0);
}
diff --git a/Bios/src/hal/macros/DisableDebugArm.c b/Bios/src/hal/macros/DisableDebugArm.c
new file mode 100644
index 0000000..bb4c1b7
--- /dev/null
+++ b/Bios/src/hal/macros/DisableDebugArm.c
@@ -0,0 +1,74 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file DisableDebugArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ DisableDebugArm: disables Debug
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+HAL_FUNCTION(_hal_DisableDebugArm)
+{
+
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ // Disable breakpoints
+ unsigned long data = KEY;
+ if(IHIL_Write_Read_Mem_Ap(0, FP_CTRL, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ // Disable Debug
+ data = DBGKEY;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+#endif
+
+ return 0;
+}
diff --git a/Bios/src/hal/macros/DummyHal430.c b/Bios/src/hal/macros/DummyHal430.c
new file mode 100644
index 0000000..951d649
--- /dev/null
+++ b/Bios/src/hal/macros/DummyHal430.c
@@ -0,0 +1,124 @@
+/**
+ * \ingroup MODULMACROS
+ *
+ * \file DummyHal430.c
+ *
+ * \brief Set certain parameters to spcified values
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "edt.h"
+#include "hal.h"
+
+#ifdef MSP430_UIF
+ HAL_FUNCTION(_hal_BlowFuse) {return -1;}
+ HAL_FUNCTION(_hal_StartJtagActivationCode) {return -1;}
+ HAL_FUNCTION(_hal_WaitForEem) {return -1;}
+ HAL_FUNCTION(_hal_GetJtagId) {return -1;}
+ HAL_FUNCTION(_hal_SetDeviceChainInfo) {return -1;}
+ HAL_FUNCTION(_hal_SetChainConfiguration) {return -1;}
+ HAL_FUNCTION(_hal_GetNumOfDevices) {return -1;}
+ HAL_FUNCTION(_hal_GetDeviceIdPtr) {return -1;}
+ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContext) {return -1;}
+ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContext) {return -1;}
+ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtag) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemBytes) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemWords) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemQuick) {return -1;}
+ HAL_FUNCTION(_hal_WriteMemBytes) {return -1;}
+ HAL_FUNCTION(_hal_WriteMemWords) {return -1;}
+ HAL_FUNCTION(_hal_EemDataExchange) {return -1;}
+ HAL_FUNCTION(_hal_EemDataExchangeAFE2xx) {return -1;}
+ HAL_FUNCTION(_hal_SingleStep) {return -1;}
+ HAL_FUNCTION(_hal_ReadAllCpuRegs) {return -1;}
+ HAL_FUNCTION(_hal_WriteAllCpuRegs) {return -1;}
+ HAL_FUNCTION(_hal_Psa) {return -1;}
+ HAL_FUNCTION(_hal_ExecuteFunclet) {return -1;}
+ HAL_FUNCTION(_hal_ExecuteFuncletJtag) {return -1;}
+ HAL_FUNCTION(_hal_GetDcoFrequency) {return -1;}
+ HAL_FUNCTION(_hal_GetDcoFrequencyJtag) {return -1;}
+ HAL_FUNCTION(_hal_GetFllFrequency) {return -1;}
+ HAL_FUNCTION(_hal_GetFllFrequencyJtag) {return -1;}
+ HAL_FUNCTION(_hal_WaitForStorage) {return -1;}
+ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextX) {return -1;}
+ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextX) {return -1;}
+ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagX) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemBytesX) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemWordsX) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemQuickX) {return -1;}
+ HAL_FUNCTION(_hal_WriteMemBytesX) {return -1;}
+ HAL_FUNCTION(_hal_WriteMemWordsX) {return -1;}
+ HAL_FUNCTION(_hal_EemDataExchangeX) {return -1;}
+ HAL_FUNCTION(_hal_SingleStepX) {return -1;}
+ HAL_FUNCTION(_hal_ReadAllCpuRegsX) {return -1;}
+ HAL_FUNCTION(_hal_WriteAllCpuRegsX) {return -1;}
+ HAL_FUNCTION(_hal_PsaX) {return -1;}
+ HAL_FUNCTION(_hal_ExecuteFuncletX) {return -1;}
+ HAL_FUNCTION(_hal_GetDcoFrequencyX) {return -1;}
+ HAL_FUNCTION(_hal_GetFllFrequencyX) {return -1;}
+ HAL_FUNCTION(_hal_WaitForStorageX) {return -1;}
+ HAL_FUNCTION(_hal_BlowFuseXv2) {return -1;}
+ HAL_FUNCTION(_hal_BlowFuseFram) {return -1;}
+ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextXv2) {return -1;}
+ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2){return -1;}
+ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagXv2) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemWordsXv2) {return -1;}
+ HAL_FUNCTION(_hal_ReadMemQuickXv2) {return -1;}
+ HAL_FUNCTION(_hal_WriteMemWordsXv2) {return -1;}
+ HAL_FUNCTION(_hal_EemDataExchangeXv2) {return -1;}
+ HAL_FUNCTION(_hal_SingleStepXv2) {return -1;}
+ HAL_FUNCTION(_hal_ReadAllCpuRegsXv2) {return -1;}
+ HAL_FUNCTION(_hal_WriteAllCpuRegsXv2) {return -1;}
+ HAL_FUNCTION(_hal_PsaXv2) {return -1;}
+ HAL_FUNCTION(_hal_ExecuteFuncletXv2) {return -1;}
+ HAL_FUNCTION(_hal_UnlockDeviceXv2) {return -1;}
+ HAL_FUNCTION(_hal_MagicPattern) {return -1;}
+ HAL_FUNCTION(_hal_UnlockC092) {return -1;}
+ HAL_FUNCTION(_hal_PollJStateReg) {return -1;}
+ HAL_FUNCTION(_hal_PollJStateRegFR57xx) {return -1;}
+ HAL_FUNCTION(_hal_IsJtagFuseBlown) {return -1;}
+ HAL_FUNCTION(_hal_ResetXv2) {return -1;}
+ HAL_FUNCTION(_hal_WriteFramQuickXv2) {return -1;}
+ HAL_FUNCTION(_hal_SendJtagMailboxXv2) {return -1;}
+ HAL_FUNCTION(_hal_SingleStepJStateXv2) {return -1;}
+ HAL_FUNCTION(_hal_PollJStateRegEt8) {return -1;}
+ HAL_FUNCTION(_hal_Reset430I) {return -1;}
+ HAL_FUNCTION(_hal_PollJStateReg430I) {return -1;}
+ HAL_FUNCTION(_hal_PollJStateReg20) {return -1;}
+ HAL_FUNCTION(_hal_ResetL092) {return -1;}
+ HAL_FUNCTION(_hal_Reset5438Xv2) {return -1;}
+ HAL_FUNCTION(_hal_LeaSyncConditional) {return -1;}
+ HAL_FUNCTION(_hal_PollDStatePCRegEt) {return -1;}
+ HAL_FUNCTION(_hal_UssSyncConditional) {return -1;}
+#endif
+
diff --git a/Bios/src/hal/macros/DummyHal432.c b/Bios/src/hal/macros/DummyHal432.c
new file mode 100644
index 0000000..3409b31
--- /dev/null
+++ b/Bios/src/hal/macros/DummyHal432.c
@@ -0,0 +1,61 @@
+/**
+ * \ingroup MODULMACROS
+ *
+ * \file DummyHal432.c
+ *
+ * \brief Set certain parameters to spcified values
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "edt.h"
+#include "hal.h"
+
+#ifdef MSP430_UIF
+ HAL_FUNCTION(_hal_WriteAllCpuRegsArm) {return -1;}
+ HAL_FUNCTION(_hal_WaitForDebugHaltArm) {return -1;}
+ HAL_FUNCTION(_hal_SingleStepArm) {return -1;}
+ HAL_FUNCTION(_hal_ScanApArm) {return -1;}
+ HAL_FUNCTION(_hal_RunArm) {return -1;}
+ HAL_FUNCTION(_hal_ResetArm) {return -1;}
+ HAL_FUNCTION(_hal_ReadAllCpuRegsArm) {return -1;}
+ HAL_FUNCTION(_hal_MemApTransactionArm) {return -1;}
+ HAL_FUNCTION(_hal_HaltArm) {return -1;}
+ HAL_FUNCTION(_hal_GetJtagIdCodeArm) {return -1;}
+ HAL_FUNCTION(_hal_EnableDebugArm) {return -1;}
+ HAL_FUNCTION(_hal_DisableDebugArm) {return -1;}
+ HAL_FUNCTION(_hal_MemApTransactionArmSwd) {return -1;}
+ HAL_FUNCTION(_hal_GetInterfaceModeArm) {return -1;}
+ HAL_FUNCTION(_hal_GetCpuIdArm) {return -1;}
+ HAL_FUNCTION(_hal_CheckDapLockArm) {return -1;}
+ HAL_FUNCTION(_hal_UnlockDap) {return -1;}
+#endif
diff --git a/Bios/src/hal/macros/EemDataExchange.c b/Bios/src/hal/macros/EemDataExchange.c
index d61c801..46024eb 100644
--- a/Bios/src/hal/macros/EemDataExchange.c
+++ b/Bios/src/hal/macros/EemDataExchange.c
@@ -8,38 +8,38 @@
*/
/*
* EemDataExchange.c
- *
+ *
*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -65,38 +65,37 @@ extern unsigned short lastTraceWritePos;
HAL_FUNCTION(_hal_EemDataExchange)
{
- decl_out
unsigned char NumberOfExchanges;
- unsigned char tmp_char;
- unsigned short tmp_uint;
-
+ unsigned char tmp_char;
+ unsigned short tmp_uint;
+
STREAM_get_byte(&NumberOfExchanges);
- eem_data_exchange
-
+ eem_data_exchange();
+
while(NumberOfExchanges)
{
STREAM_get_byte(&tmp_char);
if(tmp_char & 0x01)
{ // read access
SetReg_16Bits(tmp_char); // load address
- SetReg_16Bits(0); // shift in dummy 0
- STREAM_put_word(lOut); // put output into stream
+ // shift in dummy 0
+ STREAM_put_word(SetReg_16Bits(0)); // put output into stream
}
else
{ // write access
STREAM_get_word(&tmp_uint);
SetReg_16Bits(tmp_char); // load address
SetReg_16Bits(tmp_uint); // shift in value
-
+
//Reset when state storage is reset
- if (tmp_char == 0x9E && tmp_uint & 0x40)
+ if ((tmp_char == 0x9E) && (tmp_uint & 0x40))
{
lastTraceWritePos = 0;
}
}
NumberOfExchanges--;
}
-
+
return 0;
}
diff --git a/Bios/src/hal/macros/EemDataExchangeAFE2xx.c b/Bios/src/hal/macros/EemDataExchangeAFE2xx.c
index 98183a6..c907353 100644
--- a/Bios/src/hal/macros/EemDataExchangeAFE2xx.c
+++ b/Bios/src/hal/macros/EemDataExchangeAFE2xx.c
@@ -7,96 +7,42 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "arch.h"
-#include "edt.h"
#include "hal.h"
-#include "hal_ref.h"
-#include "stream.h"
-#include "EEM_defs.h"
-
-/**
- EemDataExchangeAFE2xx
- Streaming read and write of EEM register values. This function is for
- 16bit CPUs.
- inData: ( []){*}
- outData: {*}
- count: number of the following exchanges
- addr: address to read from or write to, the LSB marks a read operation
- ivalue: only present for write operations
- ovalue: one for each read operation
-*/
-//! \todo change API from 16 to 32 bit to be compatible to the X version
-//! of this macro.
-//! \todo function mapping in host DLL, currently remapped to EemDataExchangeXv2
-//! to test dll with EW430...for single steps with Xv2 the orginal version
-//! of this macro is required...there must be a bug in the X version!!!
+//Dummy implementation to retain macro numbers
HAL_FUNCTION(_hal_EemDataExchangeAFE2xx)
{
- decl_out
- unsigned char NumberOfExchanges;
- unsigned char registerAddress;
- unsigned short value;
-
- STREAM_get_byte(&NumberOfExchanges);
- eem_data_exchange
-
- while(NumberOfExchanges)
- {
- STREAM_get_byte(®isterAddress);
- if (registerAddress & 0x01)
- { // read access
- SetReg_16Bits(registerAddress); // load address
- SetReg_16Bits(0); // shift in dummy 0
- STREAM_put_word(lOut); // put output into stream
- }
- else
- { // write access
- STREAM_get_word(&value);
-
- if (registerAddress == GENCLKCTRL)
- {
- value |= 0x1;
- }
-
- SetReg_16Bits(registerAddress); // load address
- SetReg_16Bits(value); // shift in value
- }
- NumberOfExchanges--;
- }
-
- return 0;
+ return 0;
}
-
diff --git a/Bios/src/hal/macros/EemDataExchangeX.c b/Bios/src/hal/macros/EemDataExchangeX.c
index 8ec8245..d6966ef 100644
--- a/Bios/src/hal/macros/EemDataExchangeX.c
+++ b/Bios/src/hal/macros/EemDataExchangeX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -59,38 +59,36 @@ extern unsigned short lastTraceWritePos;
HAL_FUNCTION(_hal_EemDataExchangeX)
{
- decl_out_long
- unsigned char NumberOfExchanges;
- unsigned char tmp_char;
- unsigned long tmp_ulong;
+ unsigned char NumberOfExchanges = 0;
+ unsigned char tmp_char= 0;
+ unsigned long tmp_ulong= 0;
STREAM_get_byte(&NumberOfExchanges);
-
- eem_data_exchange32
-
+
+ eem_data_exchange32();
+
while(NumberOfExchanges)
{
STREAM_get_byte(&tmp_char);
if(tmp_char & 0x01)
{ // read access
SetReg_32Bits(tmp_char); // load address
- SetReg_32Bits(0); // shift in dummy 0
- STREAM_put_long(lOut_long); // put output into stream
+ STREAM_put_long(SetReg_32Bits(0)); // put output into stream
}
else
{ // write access
STREAM_get_long(&tmp_ulong);
SetReg_32Bits(tmp_char); // load address
SetReg_32Bits(tmp_ulong); // shift in value
-
- if (tmp_char == 0x9E && tmp_ulong & 0x40)
+
+ if ((tmp_char == 0x9E) && (tmp_ulong & 0x40))
{
lastTraceWritePos = 0;
}
}
NumberOfExchanges--;
}
-
+
return 0;
}
diff --git a/Bios/src/hal/macros/EemDataExchangeXv2.c b/Bios/src/hal/macros/EemDataExchangeXv2.c
index 80b2614..814a888 100644
--- a/Bios/src/hal/macros/EemDataExchangeXv2.c
+++ b/Bios/src/hal/macros/EemDataExchangeXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -45,10 +45,6 @@
#include "stream.h"
#include "EEM_defs.h"
-//#define EEM_DEBUG
-#ifdef EEM_DEBUG
-#include "intrinsics.h"
-#endif
/**
EemDataExchangeXv2
Streaming read and write of EEM register values. This function is for
@@ -61,82 +57,57 @@
ovalue: one for each read operation
*/
extern unsigned short lastTraceWritePos;
-extern unsigned short _hal_mclkCntrl0;
-#ifdef EEM_DEBUG
-volatile unsigned long eems_[140];
-volatile unsigned char eems_count_ = 0;
-volatile unsigned short eems_sum_ = 0;
-#endif
+extern unsigned long _hal_mclkCntrl0;
+
HAL_FUNCTION(_hal_EemDataExchangeXv2)
{
- decl_out_long
- unsigned char NumberOfExchanges;
- unsigned char tmp_char;
- unsigned long tmp_ulong;
+ unsigned char tmp_char= 0 , NumberOfExchanges = 0;
+ unsigned long lOut_long = 0, tmp_ulong = 0;
- STREAM_get_byte(&NumberOfExchanges);
- #ifdef EEM_DEBUG
- eems_sum_ += NumberOfExchanges;
- #endif
- //eem_data_exchange
- eem_data_exchange32
- #ifdef EEM_DEBUG
- if(!NumberOfExchanges)
- __no_operation();
- #endif
- while(NumberOfExchanges)
- {
- STREAM_get_byte(&tmp_char);
- if(tmp_char & 0x01)
- { // read access
- #ifdef EEM_DEBUG
- eems_[eems_count_++] = tmp_char | NumberOfExchanges << 8 | 0xEE000000;
- eems_[eems_count_++] = 0;
- #endif
- if((tmp_char&0xfe)==MODCLKCTRL0)
- { // read access
- lOut_long=_hal_mclkCntrl0;
- }
- else
- {
- SetReg_32Bits(tmp_char); // load address
- SetReg_32Bits(0);
- }
- STREAM_put_long(lOut_long); // put output into stream
- }
- else
- { // write access
- STREAM_get_long(&tmp_ulong);
- #ifdef EEM_DEBUG
- eems_[eems_count_++] = tmp_char | NumberOfExchanges << 8;
- eems_[eems_count_++] = tmp_ulong;
- if(eems_count_ >= (sizeof(eems_)/sizeof(unsigned long)))
- eems_count_ = 0;
- if(tmp_char == 0x88)
- __no_operation();
- #endif
- if((tmp_char&0xfe)==MODCLKCTRL0)
- {
-
- _hal_mclkCntrl0 = (unsigned short)tmp_ulong;
- }
- else
- {
- if (tmp_char == 0x9E && tmp_ulong & 0x40)
- {
- lastTraceWritePos = 0;
+ STREAM_get_byte(&NumberOfExchanges);
+
+ //eem_data_exchange
+ eem_data_exchange32();
+
+ while(NumberOfExchanges)
+ {
+ STREAM_get_byte(&tmp_char);
+ if(tmp_char & 0x01)
+ { // read access
+ if((tmp_char & 0xfe) == MODCLKCTRL0)
+ { // read access
+ lOut_long = _hal_mclkCntrl0;
+ }
+ else
+ {
+ SetReg_32Bits(tmp_char); // load address
+ lOut_long = SetReg_32Bits(0);
+ }
+ STREAM_put_long(lOut_long); // put output into stream
}
-
- SetReg_32Bits(tmp_char); // load address
- SetReg_32Bits(tmp_ulong); // shift in value
- }
- }
- NumberOfExchanges--;
- }
-
- return 0;
+ else
+ { // write access
+ STREAM_get_long(&tmp_ulong);
+
+ if((tmp_char & 0xfe) == MODCLKCTRL0)
+ {
+
+ _hal_mclkCntrl0 = tmp_ulong;
+ }
+ else
+ {
+ if ((tmp_char == 0x9E) && (tmp_ulong & 0x40))
+ {
+ lastTraceWritePos = 0;
+ }
-// return HAL_EemDataExchangeX(In,Out);
+ SetReg_32Bits(tmp_char); // load address
+ SetReg_32Bits(tmp_ulong); // shift in value
+ }
+ }
+ NumberOfExchanges--;
+ }
+ return 0;
}
diff --git a/Bios/src/hal/macros/EnableDebugArm.c b/Bios/src/hal/macros/EnableDebugArm.c
new file mode 100644
index 0000000..e1c7579
--- /dev/null
+++ b/Bios/src/hal/macros/EnableDebugArm.c
@@ -0,0 +1,79 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file EnableDebugArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ EnableDebug: halts the CPU and enables Debug
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+HAL_FUNCTION(_hal_EnableDebugArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long data = DBGKEY | C_DEBUGEN;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Configure which vectors to catch
+ data = TRCENA | VC_HARDERR | VC_CORERESET;
+ if(IHIL_Write_Read_Mem_Ap(0, DEMCR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Clear all fault flags
+ data = EXTERNAL | VCATCH | DWTTRAP | BKPT | HALTED;
+ if(IHIL_Write_Read_Mem_Ap(0, DFSR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+#endif
+ return 0;
+}
diff --git a/Bios/src/hal/macros/ExecuteFunclet.c b/Bios/src/hal/macros/ExecuteFunclet.c
index ed9734c..701de41 100644
--- a/Bios/src/hal/macros/ExecuteFunclet.c
+++ b/Bios/src/hal/macros/ExecuteFunclet.c
@@ -3,39 +3,39 @@
*
* \file ExecuteFunclet.c
*
-* \brief Execute a funclet on the target
+* \brief Execute a funclet on the target
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -52,7 +52,7 @@
//! General Purpose Registers used by funclet
//! =========================================
//! The following registers are used by the funclet for general purpose. The
-//! debugger is responsible for restoring the value of the registers after
+//! debugger is responsible for restoring the value of the registers after
//! completion.
//!
//! R10 Memory pointer
@@ -112,18 +112,19 @@ extern DeviceSettings deviceSettings;
static void setFuncletRegisters(const unsigned short* registerData)
{
- WriteCpuReg(REG_ADDRESS, registerData[0])
- WriteCpuReg(REG_SIZE, registerData[1])
- WriteCpuReg(REG_TYPE, registerData[2])
- WriteCpuReg(REG_LOCKA, registerData[3])
- WriteCpuReg(REG_GP1, registerData[4])
- WriteCpuReg(REG_GP2, registerData[5])
- WriteCpuReg(REG_GP3, registerData[6])
+ WriteCpuReg(REG_ADDRESS, registerData[0]);
+ WriteCpuReg(REG_SIZE, registerData[1]);
+ WriteCpuReg(REG_TYPE, registerData[2]);
+ WriteCpuReg(REG_LOCKA, registerData[3]);
+ WriteCpuReg(REG_GP1, registerData[4]);
+ WriteCpuReg(REG_GP2, registerData[5]);
+ WriteCpuReg(REG_GP3, registerData[6]);
}
HAL_FUNCTION(_hal_ExecuteFunclet)
{
short ret_value = 0;
+ unsigned short lOut;
static unsigned long lLen;
static unsigned short ret_len = 0;
static unsigned long Addr = 0x0;
@@ -132,23 +133,23 @@ HAL_FUNCTION(_hal_ExecuteFunclet)
static unsigned short usType =0x0;
static unsigned short startAddr;
static unsigned short R12_BCSLTC1;
- static unsigned short R11_DCO;
-
+ static unsigned short R11_DCO;
+
static unsigned short registerBackups[7] = {0};
static unsigned short FCTL1Value;
static unsigned short FCTL2Value;
- static unsigned short FCTL3Value;
+ static unsigned short FCTL3Value;
+
+ unsigned short tmpFCTL3Value;
- unsigned short tmpFCTL3Value;
-
unsigned short tgtStart =0x0;
unsigned short data =0x0;
unsigned short timeOut =3000;
- decl_out
+
StreamSafe stream_tmp;
-
+
if(flags & MESSAGE_NEW_MSG)
{
// get target RAM start
@@ -157,12 +158,12 @@ HAL_FUNCTION(_hal_ExecuteFunclet)
return(HALERR_EXECUTE_FUNCLET_NO_RAM_START);
}
/// get available RAM size (ram - funclet size)
- if(STREAM_get_word(&memSize)!= 0)
+ if(STREAM_get_word(&memSize)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_RAM_SIZE);
- }
- /// get RAM Start + Code offset
- if(STREAM_get_word(&startAddr)!= 0)
+ }
+ /// get RAM Start + Code offset
+ if(STREAM_get_word(&startAddr)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_OFFSET);
}
@@ -174,89 +175,89 @@ HAL_FUNCTION(_hal_ExecuteFunclet)
// get length ot be flashed
if(STREAM_get_long(&lLen) != 0)
{
- return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
- }
- if(STREAM_get_word(&usType) != 0)
+ return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
+ }
+ if(STREAM_get_word(&usType) != 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_TYPE);
}
- // lock A handling
+ // lock A handling
if(STREAM_get_word(&LockA) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
if(STREAM_get_word(&R11_DCO) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
if(STREAM_get_word(&R12_BCSLTC1) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
- ReadCpuReg(REG_ADDRESS, registerBackups[0])
- ReadCpuReg(REG_SIZE, registerBackups[1])
- ReadCpuReg(REG_TYPE, registerBackups[2])
- ReadCpuReg(REG_LOCKA, registerBackups[3])
- ReadCpuReg(REG_GP1, registerBackups[4])
- ReadCpuReg(REG_GP2, registerBackups[5])
- ReadCpuReg(REG_GP3, registerBackups[6])
-
+
+ registerBackups[0] = ReadCpuReg(REG_ADDRESS);
+ registerBackups[1] = ReadCpuReg(REG_SIZE);
+ registerBackups[2] = ReadCpuReg(REG_TYPE);
+ registerBackups[3] = ReadCpuReg(REG_LOCKA);
+ registerBackups[4] = ReadCpuReg(REG_GP1);
+ registerBackups[5] = ReadCpuReg(REG_GP2);
+ registerBackups[6] = ReadCpuReg(REG_GP3);
+
// Setup the Flash Controller
// Read FCTL registers for later restore
- ReadMemWord(0x128,FCTL1Value)
- ReadMemWord(0x12A,FCTL2Value)
- ReadMemWord(0x12C,FCTL3Value)
+ FCTL1Value = ReadMemWord(0x128);
+ FCTL2Value = ReadMemWord(0x12A);
+ FCTL3Value = ReadMemWord(0x12C);
// Restore password byte
FCTL1Value ^= 0x3300;
FCTL2Value ^= 0x3300;
FCTL3Value ^= 0x3300;
-
- WriteMemWord(0x12A,0xA544) // Source = MCLK, DIV = 5.
- WriteMemWord(0x12C,LockA) // Set LockA
- ReadMemWord(0x12C,tmpFCTL3Value) // Read out register again
-
+
+ WriteMemWord(0x12A,0xA544); // Source = MCLK, DIV = 5.
+ WriteMemWord(0x12C,LockA); // Set LockA
+ tmpFCTL3Value = ReadMemWord(0x12C); // Read out register again
+
if((LockA & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWord(0x12C,LockA | 0x40);
}
{
- unsigned short registerValues[7] = {Addr, lLen, usType, LockA, 0,R11_DCO,R12_BCSLTC1};
+ unsigned short registerValues[7] = {Addr, lLen, usType, LockA, 0,R11_DCO,R12_BCSLTC1};
setFuncletRegisters(registerValues);
WriteCpuReg(2, 0);
- }
+ }
if (deviceSettings.clockControlType != GCC_NONE)
{
if(deviceSettings.stopFLL)
- {
- unsigned short clkCntrl = 0x11;
+ {
+ unsigned short clkCntrl = 0x11;
clkCntrl &= ~0x10;
- eem_data_exchange
- SetReg_16Bits_(MX_GCLKCTRL + MX_WRITE)
- SetReg_16Bits_(clkCntrl);
+ eem_data_exchange();
+ SetReg_16Bits(MX_GCLKCTRL + MX_WRITE);
+ SetReg_16Bits(clkCntrl);
}
- }
+ }
// i_SetPcRel
SetPc(startAddr);
- TCLKset1
-
+ IHIL_Tclk(1);
+
// prepare release & release
- cntrl_sig_16bit
- SetReg_16Bits_(0x0401)
- addr_capture
- cntrl_sig_release
-
- // Poll until the funclet reaches the WaitForDead loop,
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0401);
+ addr_capture();
+ cntrl_sig_release();
+
+ // Poll until the funclet reaches the WaitForDead loop,
// ie. it is ready to process data
do
{
- EDT_Delay_1ms(1);
- addr_capture
- SetReg_16Bits(0)
+ IHIL_Delay_1ms(1);
+ addr_capture();
+ lOut = SetReg_16Bits(0);
timeOut--;
- }
+ }
while(!((lOut >= (startAddr + WAIT_FOR_DEAD_START)) && (lOut <= (startAddr + WAIT_FOR_DEAD_END))) && timeOut);
}
@@ -265,54 +266,54 @@ HAL_FUNCTION(_hal_ExecuteFunclet)
unsigned short writePos = startAddr + DATA_OFFSET;
const unsigned short writeEndPos = writePos + (2*lLen < memSize ? 2*lLen : memSize);
unsigned short numWordsToWrite = 0;
-
+
SetPc(startAddr + FINISHED_OFFSET);
// The device has limited RAM available to write updates to,
// make sure we stay within this limit: Total memory size - 96 bytes for the funclet
- halt_cpu
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x2408)
-
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2408);
+
while( (writePos < writeEndPos) && (ret_value == 0) )
{
ret_value = STREAM_get_word(&data);
- addr_16bit
- SetReg_16Bits_(writePos)
- data_to_addr
- SetReg_16Bits_(data);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_16Bits(writePos);
+ data_to_addr();
+ SetReg_16Bits(data);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
writePos += 2;
- }
- release_cpu
-
+ }
+ release_cpu();
+
numWordsToWrite = (writePos - (startAddr + DATA_OFFSET)) / 2;
- WriteCpuReg(REG_SIZE, numWordsToWrite)
- WriteCpuReg(REG_ADDRESS, Addr)
+ WriteCpuReg(REG_SIZE, numWordsToWrite);
+ WriteCpuReg(REG_ADDRESS, Addr);
Addr += 2 * numWordsToWrite;
lLen -= numWordsToWrite;
-
- SetPc(startAddr + EXECUTE_FUNCLET);
- cntrl_sig_release
-
- // Poll until the funclet reaches the Stop loop,
+
+ SetPc(startAddr + EXECUTE_FUNCLET);
+ cntrl_sig_release();
+
+ // Poll until the funclet reaches the Stop loop,
// ie. it is finished
timeOut = 3000;
do
{
- EDT_Delay_1ms(1);
- addr_capture
- SetReg_16Bits(0)
+ IHIL_Delay_1ms(1);
+ addr_capture();
+ lOut = SetReg_16Bits(0);
timeOut--;
}
while(!(lOut == (startAddr + FINISHED_OFFSET)) && timeOut);
}
-
+
if(flags & MESSAGE_LAST_MSG )
{ // ExitFlashWrite
{ //Setup values for watchdog control regsiters
@@ -324,16 +325,16 @@ HAL_FUNCTION(_hal_ExecuteFunclet)
}
setFuncletRegisters(registerBackups);
// Restore the Flash controller registers
- WriteMemWord(0x128,FCTL1Value)
- WriteMemWord(0x12A,FCTL2Value)
- WriteMemWord(0x12C,FCTL3Value)
- ReadMemWord(0x12C,tmpFCTL3Value) // Read out register again
-
+ WriteMemWord(0x128,FCTL1Value);
+ WriteMemWord(0x12A,FCTL2Value);
+ WriteMemWord(0x12C,FCTL3Value);
+ tmpFCTL3Value = ReadMemWord(0x12C); // Read out register again
+
if((FCTL3Value & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWord(0x12C,FCTL3Value | 0x40);
- }
-
+ }
+
STREAM_put_word(ret_len);
}
else if(ret_value == 1)
@@ -349,20 +350,20 @@ HAL_FUNCTION(_hal_ExecuteFunclet)
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContext(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
-
+
setFuncletRegisters(registerBackups);
// Restore the Flash controller registers
- WriteMemWord(0x128,FCTL1Value)
- WriteMemWord(0x12A,FCTL2Value)
- WriteMemWord(0x12C,FCTL3Value)
- ReadMemWord(0x12C,tmpFCTL3Value) // Read out register again
-
+ WriteMemWord(0x128,FCTL1Value);
+ WriteMemWord(0x12A,FCTL2Value);
+ WriteMemWord(0x12C,FCTL3Value);
+ tmpFCTL3Value = ReadMemWord(0x12C); // Read out register again
+
if((FCTL3Value & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWord(0x12C,FCTL3Value | 0x40);
- }
-
+ }
+
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_ERROR;
- }
+ }
return(ret_value);
}
diff --git a/Bios/src/hal/macros/ExecuteFuncletJtag.c b/Bios/src/hal/macros/ExecuteFuncletJtag.c
index ad4e513..0e744ab 100644
--- a/Bios/src/hal/macros/ExecuteFuncletJtag.c
+++ b/Bios/src/hal/macros/ExecuteFuncletJtag.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -51,7 +51,7 @@
//! General Purpose Registers used by funclet
//! =========================================
//! The following registers are used by the funclet for general purpose. The
-//! debugger is responsible for restoring the value of the registers after
+//! debugger is responsible for restoring the value of the registers after
//! completion.
//!
//! R10 Memory pointer
@@ -111,13 +111,13 @@ extern DeviceSettings deviceSettings;
static void setFuncletRegisters(const unsigned short* registerData)
{
- WriteCpuReg(REG_ADDRESS, registerData[0])
- WriteCpuReg(REG_SIZE, registerData[1])
- WriteCpuReg(REG_TYPE, registerData[2])
- WriteCpuReg(REG_LOCKA, registerData[3])
- WriteCpuReg(REG_GP1, registerData[4])
- WriteCpuReg(REG_GP2, registerData[5])
- WriteCpuReg(REG_GP3, registerData[6])
+ WriteCpuReg(REG_ADDRESS, registerData[0]);
+ WriteCpuReg(REG_SIZE, registerData[1]);
+ WriteCpuReg(REG_TYPE, registerData[2]);
+ WriteCpuReg(REG_LOCKA, registerData[3]);
+ WriteCpuReg(REG_GP1, registerData[4]);
+ WriteCpuReg(REG_GP2, registerData[5]);
+ WriteCpuReg(REG_GP3, registerData[6]);
}
static unsigned short funcletBackup[0x30] = {0};
@@ -125,30 +125,28 @@ static unsigned short funcletBackup[0x30] = {0};
void stopAndRestoreRam(unsigned short startAddr)
{
int i = 0;
- decl_out
- cntrl_sig_high_byte
+ cntrl_sig_high_byte();
SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8);
- SyncJtag()
+ SyncJtag();
SetPcJtagBug(ROM_ADDR);
- TCLKset1
-
- halt_cpu
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x2408)
+ IHIL_Tclk(1);
+
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2408);
for (i = 0; i < 0x30; ++i)
{
- const unsigned short addr = startAddr + i*2;
- addr_16bit
- SetReg_16Bits_(addr)
- data_to_addr
- SetReg_16Bits_(funcletBackup[i]);
- TCLKset1
- TCLKset0
+ const unsigned short addr = startAddr + i * 2;
+ addr_16bit();
+ SetReg_16Bits(addr);
+ data_to_addr();
+ SetReg_16Bits(funcletBackup[i]);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
}
-
- release_cpu
+ release_cpu();
}
HAL_FUNCTION(_hal_ExecuteFuncletJtag)
@@ -161,25 +159,23 @@ HAL_FUNCTION(_hal_ExecuteFuncletJtag)
static unsigned short usType =0x0;
static unsigned short startAddr;
static unsigned short R12_BCSLTC1;
- static unsigned short R11_DCO;
+ static unsigned short R11_DCO;
+
-
static unsigned short registerBackups[7] = {0};
static unsigned short FCTL1Value;
static unsigned short FCTL2Value;
- static unsigned short FCTL3Value;
+ static unsigned short FCTL3Value;
- unsigned short tmpFCTL3Value;
-
- unsigned short tgtStart =0x0;
- unsigned short data =0x0;
- unsigned short timeOut =3000;
- int i = 0;
- decl_out
+ unsigned short tmpFCTL3Value, lOut = 0;
+ unsigned short tgtStart = 0x0;
+ unsigned short data = 0x0;
+ unsigned short timeOut = 3000;
+ int i = 0;
StreamSafe stream_tmp;
-
+
if(flags & MESSAGE_NEW_MSG)
{
// get target RAM start
@@ -188,12 +184,12 @@ HAL_FUNCTION(_hal_ExecuteFuncletJtag)
return(HALERR_EXECUTE_FUNCLET_NO_RAM_START);
}
/// get available RAM size (ram - funclet size)
- if(STREAM_get_word(&memSize)!= 0)
+ if(STREAM_get_word(&memSize)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_RAM_SIZE);
- }
- /// get RAM Start + Code offset
- if(STREAM_get_word(&startAddr)!= 0)
+ }
+ /// get RAM Start + Code offset
+ if(STREAM_get_word(&startAddr)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_OFFSET);
}
@@ -205,99 +201,100 @@ HAL_FUNCTION(_hal_ExecuteFuncletJtag)
// get length ot be flashed
if(STREAM_get_long(&lLen) != 0)
{
- return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
- }
- if(STREAM_get_word(&usType) != 0)
+ return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
+ }
+ if(STREAM_get_word(&usType) != 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_TYPE);
}
- // lock A handling
+ // lock A handling
if(STREAM_get_word(&LockA) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
if(STREAM_get_word(&R11_DCO) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
if(STREAM_get_word(&R12_BCSLTC1) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
SetPcJtagBug(ROM_ADDR);
- TCLKset1
-
+ IHIL_Tclk(1);
+
for (i = 0; i < 0x30; ++i)
{
- const unsigned short addr = startAddr + i*2;
- ReadMemWord(addr, funcletBackup[i]);
+ const unsigned short addr = startAddr + i*2;
+ funcletBackup[i] = ReadMemWord(addr);
}
- ReadCpuReg(REG_ADDRESS, registerBackups[0])
- ReadCpuReg(REG_SIZE, registerBackups[1])
- ReadCpuReg(REG_TYPE, registerBackups[2])
- ReadCpuReg(REG_LOCKA, registerBackups[3])
- ReadCpuReg(REG_GP1, registerBackups[4])
- ReadCpuReg(REG_GP2, registerBackups[5])
- ReadCpuReg(REG_GP3, registerBackups[6])
+ registerBackups[0] = ReadCpuReg(REG_ADDRESS);
+ registerBackups[1] = ReadCpuReg(REG_SIZE);
+ registerBackups[2] = ReadCpuReg(REG_TYPE);
+ registerBackups[3] = ReadCpuReg(REG_LOCKA);
+ registerBackups[4] = ReadCpuReg(REG_GP1);
+ registerBackups[5] = ReadCpuReg(REG_GP2);
+ registerBackups[6] = ReadCpuReg(REG_GP3);
// Setup the Flash Controller
// Read FCTL registers for later restore
- ReadMemWord(0x128,FCTL1Value)
- ReadMemWord(0x12A,FCTL2Value)
- ReadMemWord(0x12C,FCTL3Value)
+ FCTL1Value = ReadMemWord(0x128);
+ FCTL2Value = ReadMemWord(0x12A);
+ FCTL3Value = ReadMemWord(0x12C);
+
// Restore password byte
FCTL1Value ^= 0x3300;
FCTL2Value ^= 0x3300;
FCTL3Value ^= 0x3300;
-
- WriteMemWord(0x12A,0xA544) // Source = MCLK, DIV = 5.
- WriteMemWord(0x12C,LockA) // Set LockA
- ReadMemWord(0x12C,tmpFCTL3Value) // Read out register again
-
+
+ WriteMemWord(0x12A,0xA544); // Source = MCLK, DIV = 5.
+ WriteMemWord(0x12C,LockA); // Set LockA
+ tmpFCTL3Value = ReadMemWord(0x12C) ; // Read out register again
+
if((LockA & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWord(0x12C,LockA | 0x40);
}
{
- unsigned short registerValues[7] = {Addr, lLen, usType, LockA, 0, R11_DCO, R12_BCSLTC1};
+ unsigned short registerValues[7] = {Addr, lLen, usType, LockA, 0, R11_DCO, R12_BCSLTC1};
setFuncletRegisters(registerValues);
WriteCpuReg(2, 0);
}
-
+
if (deviceSettings.clockControlType != GCC_NONE)
{
if(deviceSettings.stopFLL)
- {
- unsigned short clkCntrl = 0x11;
+ {
+ unsigned short clkCntrl = 0x11;
clkCntrl &= ~0x10;
- eem_data_exchange
- SetReg_16Bits_(MX_GCLKCTRL + MX_WRITE)
- SetReg_16Bits_(clkCntrl);
+ eem_data_exchange();
+ SetReg_16Bits(MX_GCLKCTRL + MX_WRITE);
+ SetReg_16Bits(clkCntrl);
}
}
-
+
SetPcJtagBug(startAddr);
- cntrl_sig_release
- addr_capture
-
- // Poll until the funclet reaches the WaitForDead loop,
+ cntrl_sig_release();
+ addr_capture();
+
+ // Poll until the funclet reaches the WaitForDead loop,
// ie. it is ready to process data
do
{
- EDT_Delay_1ms(1);
- SetReg_16Bits(0)
+ IHIL_Delay_1ms(1);
+ lOut = SetReg_16Bits(0);
timeOut--;
- }
+ }
while(!((lOut >= (startAddr + WAIT_FOR_DEAD_START)) && (lOut <= (startAddr + WAIT_FOR_DEAD_END))) && timeOut);
-
+
stopAndRestoreRam(startAddr);
}
-
+
while(lLen && (ret_value == 0) && timeOut)
{
unsigned short writePos = startAddr + DATA_OFFSET;
@@ -306,50 +303,50 @@ HAL_FUNCTION(_hal_ExecuteFuncletJtag)
// The device has limited RAM available to write updates to,
// make sure we stay within this limit: Total memory size - 96 bytes for the funclet
- halt_cpu
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x2408)
-
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2408);
+
while( (writePos < writeEndPos) && (ret_value == 0) )
{
ret_value = STREAM_get_word(&data);
- addr_16bit
- SetReg_16Bits_(writePos)
- data_to_addr
- SetReg_16Bits_(data);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_16Bits(writePos);
+ data_to_addr();
+ SetReg_16Bits(data);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
writePos += 2;
}
-
- release_cpu
-
+
+ release_cpu();
+
numWordsToWrite = (writePos - (startAddr + DATA_OFFSET)) / 2;
- WriteCpuReg(REG_SIZE, numWordsToWrite)
- WriteCpuReg(REG_ADDRESS, Addr)
+ WriteCpuReg(REG_SIZE, numWordsToWrite);
+ WriteCpuReg(REG_ADDRESS, Addr);
Addr += 2 * numWordsToWrite;
lLen -= numWordsToWrite;
SetPcJtagBug(startAddr + EXECUTE_FUNCLET);
- cntrl_sig_release
- addr_capture
+ cntrl_sig_release();
+ addr_capture();
- // Poll until the funclet reaches the Stop loop,
+ // Poll until the funclet reaches the Stop loop,
// ie. it is finished
timeOut = 3000;
do
{
- EDT_Delay_1ms(1);
- SetReg_16Bits(0)
+ IHIL_Delay_1ms(1);
+ lOut = SetReg_16Bits(0);
timeOut--;
}
while(!(lOut == (startAddr + FINISHED_OFFSET)) && timeOut);
-
+
stopAndRestoreRam(startAddr);
-
+
if ( timeOut == 0)
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_TIMEOUT;
}
@@ -365,19 +362,19 @@ HAL_FUNCTION(_hal_ExecuteFuncletJtag)
}
setFuncletRegisters(registerBackups);
// Restore the Flash controller registers
- WriteMemWord(0x128,FCTL1Value)
- WriteMemWord(0x12A,FCTL2Value)
- WriteMemWord(0x12C,FCTL3Value)
- ReadMemWord(0x12C,tmpFCTL3Value) // Read out register again
-
+ WriteMemWord(0x128,FCTL1Value);
+ WriteMemWord(0x12A,FCTL2Value);
+ WriteMemWord(0x12C,FCTL3Value);
+ tmpFCTL3Value = ReadMemWord(0x12C); // Read out register again
+
if((FCTL3Value & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWord(0x12C,FCTL3Value | 0x40);
- }
+ }
}
if(flags & MESSAGE_LAST_MSG)
- {
+ {
STREAM_put_word(0);
}
else if(ret_value == 1)
@@ -388,6 +385,6 @@ HAL_FUNCTION(_hal_ExecuteFuncletJtag)
else
{
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_ERROR;
- }
+ }
return(ret_value);
}
diff --git a/Bios/src/hal/macros/ExecuteFuncletX.c b/Bios/src/hal/macros/ExecuteFuncletX.c
index 5fa370d..15d0edb 100644
--- a/Bios/src/hal/macros/ExecuteFuncletX.c
+++ b/Bios/src/hal/macros/ExecuteFuncletX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -51,7 +51,7 @@
//! General Purpose Registers used by funclet
//! =========================================
//! The following registers are used by the funclet for general purpose. The
-//! debugger is responsible for restoring the value of the registers after
+//! debugger is responsible for restoring the value of the registers after
//! completion.
//!
//! R10 Memory pointer
@@ -108,18 +108,19 @@
static void setFuncletRegisters(const unsigned long* registerData)
{
- WriteCpuRegX(REG_ADDRESS, registerData[0])
- WriteCpuRegX(REG_SIZE, registerData[1])
- WriteCpuRegX(REG_TYPE, registerData[2])
- WriteCpuRegX(REG_LOCKA, registerData[3])
- WriteCpuRegX(REG_GP1, registerData[4])
- WriteCpuRegX(REG_GP2, registerData[5])
- WriteCpuRegX(REG_GP3, registerData[6])
+ WriteCpuRegX(REG_ADDRESS, registerData[0]);
+ WriteCpuRegX(REG_SIZE, registerData[1]);
+ WriteCpuRegX(REG_TYPE, registerData[2]);
+ WriteCpuRegX(REG_LOCKA, registerData[3]);
+ WriteCpuRegX(REG_GP1, registerData[4]);
+ WriteCpuRegX(REG_GP2, registerData[5]);
+ WriteCpuRegX(REG_GP3, registerData[6]);
}
HAL_FUNCTION(_hal_ExecuteFuncletX)
{
short ret_value = 0;
+ unsigned long lOut_long = 0;
static unsigned long lLen;
static unsigned short ret_len = 0;
static unsigned long Addr = 0x0;
@@ -128,25 +129,23 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
static unsigned short usType =0x0;
static unsigned short startAddr;
static unsigned short R12_BCSLTC1;
- static unsigned short R11_DCO;
+ static unsigned short R11_DCO;
+
-
static unsigned long registerBackups[7] = {0};
static unsigned short FCTL1Value;
static unsigned short FCTL2Value;
- static unsigned short FCTL3Value;
+ static unsigned short FCTL3Value;
+
+ unsigned short tmpFCTL3Value;
- unsigned short tmpFCTL3Value;
-
unsigned short tgtStart =0x0;
unsigned short data =0x0;
unsigned short timeOut =3000;
- decl_out
- decl_out_long
StreamSafe stream_tmp;
-
+
if(flags & MESSAGE_NEW_MSG)
{
// get target RAM start
@@ -155,12 +154,12 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
return(HALERR_EXECUTE_FUNCLET_NO_RAM_START);
}
/// get available RAM size (ram - funclet size)
- if(STREAM_get_word(&memSize)!= 0)
+ if(STREAM_get_word(&memSize)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_RAM_SIZE);
- }
- /// get RAM Start + Code offset
- if(STREAM_get_word(&startAddr)!= 0)
+ }
+ /// get RAM Start + Code offset
+ if(STREAM_get_word(&startAddr)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_OFFSET);
}
@@ -172,50 +171,50 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
// get length ot be flashed
if(STREAM_get_long(&lLen) != 0)
{
- return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
- }
- if(STREAM_get_word(&usType) != 0)
+ return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
+ }
+ if(STREAM_get_word(&usType) != 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_TYPE);
}
- // lock A handling
+ // lock A handling
if(STREAM_get_word(&LockA) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
if(STREAM_get_word(&R11_DCO) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
-
+
if(STREAM_get_word(&R12_BCSLTC1) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
- ReadCpuRegX(REG_ADDRESS, registerBackups[0])
- ReadCpuRegX(REG_SIZE, registerBackups[1])
- ReadCpuRegX(REG_TYPE, registerBackups[2])
- ReadCpuRegX(REG_LOCKA, registerBackups[3])
- ReadCpuRegX(REG_GP1, registerBackups[4])
- ReadCpuRegX(REG_GP2, registerBackups[5])
- ReadCpuRegX(REG_GP3, registerBackups[6])
+ registerBackups[0] = ReadCpuRegX(REG_ADDRESS);
+ registerBackups[1] = ReadCpuRegX(REG_SIZE);
+ registerBackups[2] = ReadCpuRegX(REG_TYPE);
+ registerBackups[3] = ReadCpuRegX(REG_LOCKA);
+ registerBackups[4] = ReadCpuRegX(REG_GP1);
+ registerBackups[5] = ReadCpuRegX(REG_GP2);
+ registerBackups[6] = ReadCpuRegX(REG_GP3);
// Setup the Flash Controller
// Read FCTL registers for later restore
- ReadMemWordX(0x128,FCTL1Value)
- ReadMemWordX(0x12A,FCTL2Value)
- ReadMemWordX(0x12C,FCTL3Value)
+ FCTL1Value = ReadMemWordX(0x128);
+ FCTL2Value = ReadMemWordX(0x12A);
+ FCTL3Value = ReadMemWordX(0x12C);
// Restore password byte
FCTL1Value ^= 0x3300;
FCTL2Value ^= 0x3300;
FCTL3Value ^= 0x3300;
-
- WriteMemWordX(0x12A,0xA544) // Source = MCLK, DIV = 5.
- WriteMemWordX(0x12C,LockA) // Set LockA
- ReadMemWordX(0x12C,tmpFCTL3Value) // Read out register again
-
+
+ WriteMemWordX(0x12A,0xA544); // Source = MCLK, DIV = 5.
+ WriteMemWordX(0x12C,LockA); // Set LockA
+ tmpFCTL3Value = ReadMemWordX(0x12C); // Read out register again
+
if((LockA & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWordX(0x12C,LockA | 0x40);
@@ -227,23 +226,23 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
WriteCpuRegX(2, 0);
}
- // i_SetPcRel
+ // i_SetPcRel
SetPcX(startAddr);
// prepare release & release
- cntrl_sig_16bit
- SetReg_16Bits_(0x0401)
- addr_capture
- cntrl_sig_release
-
- // Poll until the funclet reaches the WaitForDead loop,
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0401);
+ addr_capture();
+ cntrl_sig_release();
+
+ // Poll until the funclet reaches the WaitForDead loop,
// ie. it is ready to process data
do
{
- EDT_Delay_1ms(1);
- addr_capture
- SetReg_20Bits(0)
+ IHIL_Delay_1ms(1);
+ addr_capture();
+ lOut_long = SetReg_20Bits(0);
timeOut--;
- }
+ }
while(!((lOut_long >= (startAddr + WAIT_FOR_DEAD_START)) && (lOut_long <= (startAddr + WAIT_FOR_DEAD_END))) && timeOut);
}
@@ -254,52 +253,52 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
unsigned short numWordsToWrite = 0;
SetPcX(startAddr + FINISHED_OFFSET);
-
+
// The device has limited RAM available to write updates to,
// make sure we stay within this limit: Total memory size - 96 bytes for the funclet
- halt_cpu
- TCLKset0
- cntrl_sig_low_byte
- SetReg_16Bits_(0x08)
-
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_low_byte();
+ SetReg_16Bits(0x08);
+
while( (writePos < writeEndPos) && (ret_value == 0) )
{
ret_value = STREAM_get_word(&data);
- addr_16bit
- SetReg_20Bits_(writePos)
- data_to_addr
- SetReg_16Bits_(data);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_20Bits(writePos);
+ data_to_addr();
+ SetReg_16Bits(data);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
writePos += 2;
}
-
- release_cpu
-
+
+ release_cpu();
+
numWordsToWrite = (writePos - (startAddr + DATA_OFFSET)) / 2;
- WriteCpuRegX(REG_SIZE, numWordsToWrite)
- WriteCpuRegX(REG_ADDRESS, Addr)
+ WriteCpuRegX(REG_SIZE, numWordsToWrite);
+ WriteCpuRegX(REG_ADDRESS, Addr);
Addr += 2 * numWordsToWrite;
lLen -= numWordsToWrite;
SetPcX(startAddr + EXECUTE_FUNCLET);
- cntrl_sig_release
+ cntrl_sig_release();
- // Poll until the funclet reaches the Stop loop,
+ // Poll until the funclet reaches the Stop loop,
// ie. it is finished
timeOut = 3000;
do
{
- EDT_Delay_1ms(1);
- addr_capture
- SetReg_20Bits(0)
+ IHIL_Delay_1ms(1);
+ addr_capture();
+ lOut_long = SetReg_20Bits(0);
timeOut--;
}
while(!(lOut_long == (startAddr + FINISHED_OFFSET)) && timeOut);
}
-
+
if(flags & MESSAGE_LAST_MSG )
{ // ExitFlashWrite
{ //Setup values for watchdog control regsiters
@@ -311,16 +310,16 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
}
setFuncletRegisters(registerBackups);
// Restore the Flash controller registers
- WriteMemWordX(0x128,FCTL1Value)
- WriteMemWordX(0x12A,FCTL2Value)
- WriteMemWordX(0x12C,FCTL3Value)
- ReadMemWordX(0x12C,tmpFCTL3Value) // Read out register again
-
+ WriteMemWordX(0x128,FCTL1Value);
+ WriteMemWordX(0x12A,FCTL2Value);
+ WriteMemWordX(0x12C,FCTL3Value);
+ tmpFCTL3Value = ReadMemWordX(0x12C); // Read out register again
+
if((FCTL3Value & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWordX(0x12C,FCTL3Value | 0x40);
- }
-
+ }
+
STREAM_put_word(ret_len);
}
else if(ret_value == 1)
@@ -329,27 +328,27 @@ HAL_FUNCTION(_hal_ExecuteFuncletX)
ret_value = 0;
}
else
- {
+ {
//Setup values for watchdog control regsiters
unsigned char DummyIn[8] = {WDTCTL_ADDRESS & 0xFF,(WDTCTL_ADDRESS >> 8) & 0xFF,
WDTHOLD_DEF,WDTPW_DEF,0,0,0,0};
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContextX(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
-
+
setFuncletRegisters(registerBackups);
// Restore the Flash controller registers
- WriteMemWordX(0x128,FCTL1Value)
- WriteMemWordX(0x12A,FCTL2Value)
- WriteMemWordX(0x12C,FCTL3Value)
- ReadMemWordX(0x12C,tmpFCTL3Value) // Read out register again
-
+ WriteMemWordX(0x128,FCTL1Value);
+ WriteMemWordX(0x12A,FCTL2Value);
+ WriteMemWordX(0x12C,FCTL3Value);
+ tmpFCTL3Value = ReadMemWordX(0x12C); // Read out register again
+
if((FCTL3Value & 0xff) != (tmpFCTL3Value & 0xff))
{ // Value of lockA is not as expected, so toggle it
WriteMemWordX(0x12C,FCTL3Value | 0x40);
- }
-
+ }
+
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_ERROR;
- }
+ }
return(ret_value);
}
diff --git a/Bios/src/hal/macros/ExecuteFuncletXv2.c b/Bios/src/hal/macros/ExecuteFuncletXv2.c
index fd958e5..fa7b5c0 100644
--- a/Bios/src/hal/macros/ExecuteFuncletXv2.c
+++ b/Bios/src/hal/macros/ExecuteFuncletXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -49,6 +49,7 @@
#include "stddef.h"
#include "error_def.h"
#include "JTAG_defs.h"
+#include "global_variables.h"
#define startAddrOfs FlashWrite_o_[4]
@@ -76,10 +77,6 @@ static void setFuncletRegisters(const unsigned long* registerData)
unsigned short Rx_l;
unsigned short Register;
- DIAG_SUPPRESS(Pe550)
- decl_out_long
- DIAG_DEFAULT(Pe550)
-
Mova = 0x0080;
Rx = registerData[0];
Register = REG_ADDRESS;
@@ -87,7 +84,7 @@ static void setFuncletRegisters(const unsigned long* registerData)
Mova += (Register & 0x000F);
Rx_l = (unsigned short)Rx;
WriteCpuRegXv2(Mova, Rx_l);
-
+
Mova = 0x0080;
Rx = registerData[1];
Register = REG_SIZE;
@@ -95,7 +92,7 @@ static void setFuncletRegisters(const unsigned long* registerData)
Mova += (Register & 0x000F);
Rx_l = (unsigned short)Rx;
WriteCpuRegXv2(Mova, Rx_l);
-
+
Mova = 0x0080;
Rx = registerData[2]; // erase type
Register = REG_TYPE;
@@ -103,7 +100,7 @@ static void setFuncletRegisters(const unsigned long* registerData)
Mova += (Register & 0x000F);
Rx_l = (unsigned short)Rx;
WriteCpuRegXv2(Mova, Rx_l);
-
+
Mova = 0x0080;
Rx = registerData[3];
Register = REG_LOCKA;
@@ -119,7 +116,7 @@ static void setFuncletRegisters(const unsigned long* registerData)
inData: {*}
outData:
tgtStart: target memory start address used to load erase code to.
- tgtLen: available target memory
+ tgtLen: available target memory
addr: the address to start writing to
length: number of words to write
data: data to write to the given location
@@ -131,9 +128,10 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
{
static unsigned long lLen;
static unsigned short ret_len = 0;
-
+ unsigned char jtagMailboxIn = 0;
+
static unsigned long registerBackups[4] = {0};
-
+
unsigned short tgtStart =0x0 ;
unsigned long Addr =0x0 ;
unsigned short LockA =0x0 ;
@@ -144,11 +142,9 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
static unsigned short allignNeed = 0x0;
static unsigned short dataL;
static unsigned short dataH;
- decl_out
- decl_jtagMailboxIn
short ret_value = 0;
StreamSafe stream_tmp;
-
+
if(flags & MESSAGE_NEW_MSG)
{
// get target RAM start
@@ -157,8 +153,8 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
return(HALERR_EXECUTE_FUNCLET_NO_RAM_START);
}
STREAM_discard_bytes(2); // Ram size
- /// get RAM Start + Code offset
- if(STREAM_get_word(&startAddr)!= 0)
+ /// get RAM Start + Code offset
+ if(STREAM_get_word(&startAddr)!= 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_OFFSET);
}
@@ -170,13 +166,13 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
// get length ot be flashed
if(STREAM_get_long(&lLen) != 0)
{
- return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
- }
- if(STREAM_get_word(&usType) != 0)
+ return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
+ }
+ if(STREAM_get_word(&usType) != 0)
{
return(HALERR_EXECUTE_FUNCLET_NO_TYPE);
}
- // lock A handling
+ // lock A handling
if(STREAM_get_word(&LockA) == -1)
{
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
@@ -187,40 +183,27 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
return(HALERR_EXECUTE_FUNCLET_NO_LOCKA);
}
- /*Mova = 0x0060 | (REG_ADDRESS << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, registerBackups[0])
- Mova = 0x0060 | (REG_SIZE << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, registerBackups[1])
- Mova = 0x0060 | (REG_TYPE << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, registerBackups[2])
- Mova = 0x0060 | (REG_LOCKA << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, registerBackups[3])*/
-
{
- unsigned long registerValues[4] = {Addr, lLen, usType, LockA};
+ unsigned long registerValues[4] = {Addr, lLen, usType, LockA};
setFuncletRegisters(registerValues);
}
-
- //WriteMemWordXv2(0xFFFE,0xFFFF) // Source = MCLK, DIV = 5.
- // i_SetPcRel
+ // i_SetPcRel
SetPcXv2(0x0080, startAddr);
- TCLKset1
+ IHIL_Tclk(1);
// prepare release & release
- cntrl_sig_16bit
- SetReg_16Bits_(0x0401)
- addr_capture
- cntrl_sig_release
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0401);
+ addr_capture();
+ cntrl_sig_release();
{
- unsigned long Jmb = 0;
- unsigned long Timeout = 0;
+ unsigned long Timeout = 0;
do
{
- EDT_Delay_1ms(5); // Delay determined experimentally on FR5729 device
- i_ReadJmbOut(Jmb)
+ IHIL_Delay_1ms(5); // Delay determined experimentally on FR5729 device
Timeout++;
- }
- while(Jmb != 0xABADBABE && Timeout < TIMEOUT_COUNT);
+ }
+ while(i_ReadJmbOut() != 0xABADBABE && Timeout < TIMEOUT_COUNT);
if(Timeout >= TIMEOUT_COUNT)
{
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_TIMEOUT;
@@ -228,85 +211,78 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
}
if(lLen%2)
{
- lLen--; // allign lLen
- allignNeed = 1;
+ lLen--; // allign lLen
+ allignNeed = 1;
}
- //i_InitStreamJmbIn32()
}
- // Excecute funclet
+ // Excecute funclet
for(; lLen && (ret_value == 0); lLen--)
{
if (lLen%2)
{
ret_value = STREAM_get_word(&dataH);
- //i_StreamDataJmbIn32(dataL,dataH)
- i_WriteJmbIn32(dataL,dataH)
+ i_WriteJmbIn32(dataL,dataH);
}
else
{
ret_value = STREAM_get_word(&dataL);
}
}
-
+
if(allignNeed && ret_value == 0 && lLen == 0 && flags & MESSAGE_LAST_MSG )
{
ret_value = STREAM_get_word(&dataL);
- i_WriteJmbIn32(dataL,0xAAAA);
-
+ jtagMailboxIn = i_WriteJmbIn32(dataL,0xAAAA);
+
if(jtagMailboxIn == 1)
{
return (HALERR_EXECUTE_FUNCLET_FINISH_TIMEOUT);
- }
+ }
allignNeed = 0;
- }
-
+ }
+
if(flags & MESSAGE_LAST_MSG )//|| lLen == 0)
{ // ExitFlashWrite
unsigned long Timeout = 0;
- unsigned long Jmb = 0;
do
{
- EDT_Delay_1ms(10); // Delay determined experimentally on FR5729 device
- i_ReadJmbOut(Jmb)
- Timeout++;
+ IHIL_Delay_1ms(10); // Delay determined experimentally on FR5729 device
+ Timeout++;
}
- while(Jmb != 0xCAFEBABE && Timeout < TIMEOUT_COUNT);
+ while(i_ReadJmbOut() != 0xCAFEBABE && Timeout < TIMEOUT_COUNT);
if(Timeout >= TIMEOUT_COUNT)
{
ret_value = HALERR_EXECUTE_FUNCLET_FINISH_TIMEOUT;
- //Setup values for watchdog control regsiters
-
- unsigned char DummyIn[8] = {WDTCTL_ADDRESS_5XX & 0xFF,(WDTCTL_ADDRESS_5XX >> 8) & 0xFF,
+ //Setup values for watchdog control regsiters
+
+ unsigned char DummyIn[8] = {wdtctlAddress5xx & 0xFF, (wdtctlAddress5xx >> 8) & 0xFF,
WDTHOLD_DEF,WDTPW_DEF,0,0,0,0};
-
+
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
-
+
Mova = 0x0060 | (10 << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, registerBackups[0])
+ registerBackups[0] = ReadCpuRegXv2(Mova);
Mova = 0x0060 | (11 << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, registerBackups[1])
-
+ registerBackups[1] = ReadCpuRegXv2(Mova);
+
if( registerBackups[1] != 0 && registerBackups[0] != 0xFFFE)
{
ret_value = -10;
}
-
}
{
//Setup values for watchdog control regsiters
- unsigned char DummyIn[8] = {WDTCTL_ADDRESS_5XX & 0xFF,(WDTCTL_ADDRESS_5XX >> 8) & 0xFF,
+ unsigned char DummyIn[8] = {wdtctlAddress5xx & 0xFF,(wdtctlAddress5xx >> 8) & 0xFF,
WDTHOLD_DEF,WDTPW_DEF,0,0,0,0};
-
+
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
-
}
- //setFuncletRegisters(registerBackups);
-
+
STREAM_put_word(ret_len);
}
else if(ret_value == 1)
@@ -317,16 +293,14 @@ HAL_FUNCTION(_hal_ExecuteFuncletXv2)
else
{
//Setup values for watchdog control regsiters
- unsigned char DummyIn[8] = {WDTCTL_ADDRESS_5XX & 0xFF,(WDTCTL_ADDRESS_5XX >> 8) & 0xFF,
+ unsigned char DummyIn[8] = {wdtctlAddress5xx & 0xFF,(wdtctlAddress5xx >> 8) & 0xFF,
WDTHOLD_DEF,WDTPW_DEF,0,0,0,0};
-
+
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
-
- //setFuncletRegisters(registerBackups);
-
+
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_ERROR;
- }
+ }
return(ret_value);
}
diff --git a/Bios/src/hal/macros/GetCpuIdArm.c b/Bios/src/hal/macros/GetCpuIdArm.c
new file mode 100644
index 0000000..37b56f7
--- /dev/null
+++ b/Bios/src/hal/macros/GetCpuIdArm.c
@@ -0,0 +1,108 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file GetCpuIdArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ GetJtagIdCode: get the JEP idcode from the debug port
+*/
+HAL_FUNCTION(_hal_GetCpuIdArm)
+{
+#ifdef MSP_FET
+ unsigned long cpuId = 0, revision = 0;
+ unsigned short timeout = 20;
+
+ do
+ {
+ short result1 = IHIL_Write_Read_Mem_Ap(0, 0x0020100C, &cpuId, READ);
+ short result2 =IHIL_Write_Read_Mem_Ap(0, 0x00201010, &revision, READ);
+ if(!result2 || !result1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ }
+ while((!cpuId || !revision ) && --timeout );
+
+ if (cpuId && revision)
+ {
+ STREAM_put_long(cpuId);
+ STREAM_put_long(revision);
+ return 0;
+ }
+#endif
+ return HALERR_UNDEFINED_ERROR;
+}
+
+HAL_FUNCTION(_hal_CheckDapLockArm)
+{
+#ifdef MSP_FET
+ unsigned long lock = 0;
+ unsigned long pw = 0x0000695A;
+
+ IHIL_Write_Read_Mem_Ap(0, 0xE0044000, &pw, WRITE);
+ IHIL_Write_Read_Mem_Ap(0, 0xE0044020, &lock, READ);
+ STREAM_put_long(lock);
+#endif
+ return 0;
+}
+
+HAL_FUNCTION(_hal_UnlockDap)
+{
+#ifdef MSP_FET
+ unsigned long pw = 0x0000695A;
+
+ unsigned long fa1 = 0x1;
+ unsigned long fa2 = 0x0;
+ unsigned long fa4 = 0x6902;
+
+ IHIL_Write_Read_Mem_Ap(0, 0xE0044000, &pw, WRITE);
+
+ IHIL_Write_Read_Mem_Ap(0, 0xE0044004, &fa1, WRITE);
+ IHIL_Write_Read_Mem_Ap(0, 0xE0044008, &fa2, WRITE);
+ IHIL_Write_Read_Mem_Ap(0, 0xE0044010, &fa4, WRITE);
+
+#endif
+ return 0;
+}
diff --git a/Bios/src/hal/macros/GetDcoFrequency.c b/Bios/src/hal/macros/GetDcoFrequency.c
index 3b643bb..44908b8 100644
--- a/Bios/src/hal/macros/GetDcoFrequency.c
+++ b/Bios/src/hal/macros/GetDcoFrequency.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -51,61 +51,94 @@
#define FlashUpperBoarder 2140000ul // 2,14 MHz
#define FlashLowerBoarder 1410000ul // 1,41 MHz
-static unsigned short Time = 0;
-/* clock on pin
-static unsigned short loopDco[] =
-{
- 0x40B2, 0x5A80, 0x0120, 0xC232, 0x45C2, 0x0056, 0x46C2, 0x0057,
- 0x43C2, 0x0058, 0x40F2, 0x0010, 0x0022, 0x40F2, 0x0010, 0x0026,
- 0xEA0A, 0xE909, 0x5319, 0x23FE, 0x531A, 0x23FC, 0x4303, 0x3FFF
-};
-*/
-
static unsigned short loopDco[] =
{
- 0x40b2, 0x5a80, 0x0120, 0xc232, 0x40f2, 0x0087, 0x0057, 0x45c2,
- 0x0056, 0x46c2, 0x0057, 0x43c2, 0x0058, 0xea0a, 0xe909, 0x5319,
- 0x23fe, 0x531a, 0x23fc, 0x4303, 0x3fff
+ 0x40b2, 0x5a80, 0x0120, 0xc232, 0xc0f2, 0x003f, 0x0057, 0xd0f2,
+ 0x0007, 0x0057, 0x45c2, 0x0056, 0x46c2, 0x0057, 0x43c2, 0x0058,
+ 0xea0a, 0xe909, 0x5319, 0x23fe, 0x531a, 0x23fc, 0x4303, 0x3fff
};
static const unsigned short sizeLoopDco = (unsigned short)(sizeof(loopDco)/sizeof(*loopDco));
static unsigned short loopFll[] =
{
- 0x40b2, 0x5a80, 0x0120, 0xc232, 0xd072, 0x0040, 0x4032, 0x0040,
- 0x40f2, 0x0080, 0x0052, 0x43c2, 0x0050, 0x45c2, 0x0051, 0x40f2,
- 0x0080, 0x0053, 0x43c2, 0x0054, 0xea0a, 0xe909, 0x5319, 0x23fe,
- 0x531a, 0x23fc, 0x4303, 0x3fff
- /*0x40b2, 0x5a80, 0x0120, 0xc232, 0xd072, 0x0040, 0x4032, 0x0040,
- 0x40f2, 0x0080, 0x0052, 0x43c2, 0x0050, 0x45c2, 0x0051, 0x40f2,
- 0x0080, 0x0053, 0x43c2, 0x0054, 0xd0f2, 0x0010, 0x0022, 0xd0f2,
- 0x0010, 0x0026, 0xea0a, 0xe909, 0x5319, 0x23fe, 0x531a, 0x23fc,
- 0x4303, 0x3fff*/
+ 0x40b2, 0x5a80, 0x0120, 0xc232, 0xd072, 0x0040, 0x4032, 0x0040,
+ 0x40f2, 0x0080, 0x0052, 0x43c2, 0x0050, 0x45c2, 0x0051, 0xd0f2,
+ 0x0080, 0x0053, 0xc0f2, 0x005f, 0x0054, 0xea0a, 0xe909, 0x5319,
+ 0x23fe, 0x531a, 0x23fc, 0x4303, 0x3fff
};
static const unsigned short sizeLoopFll = (unsigned short)(sizeof(loopFll)/sizeof(*loopFll));
+/*--------------------------------------------------------------------------------*/
+#ifdef MSP430_UIF
+ static unsigned short Time = 0;
-#pragma vector=TIMERA1_VECTOR
-__interrupt void TIMER_A_ISR_(void)
-{
- Time++;
- TACTL &= ~TAIFG;
-}
+ #pragma vector=TIMERA1_VECTOR
+ __interrupt void TIMER_A_ISR_(void)
+ {
+ Time++;
+ TACTL &= ~TAIFG;
+ }
-static void StartTimer()
-{
- TACTL = 0; // STOP Timer
- TACTL &= ~CCIFG; // Clear the interrupt flag
- TACTL = TASSEL_2; // Timer is runnig at 1 Mhz
- TACCR0 = 0x2E9; // Load CCR0 with delay... (1ms delay)
- TAR = 0;
- TACTL |= TACLR + MC_1 + TAIE; // Start Timer
-}
+ static void StartTimer()
+ {
+ TACTL = 0; // STOP Timer
+ TACTL &= ~CCIFG; // Clear the interrupt flag
+ TACTL = TASSEL_2; // Timer is runnig at 1 Mhz
+ TACCR0 = 0x2E9; // Load CCR0 with delay... (1ms delay)
+ TAR = 0;
+ TACTL |= TACLR + MC_1 + TAIE; // Start Timer
+ }
-static void StopTimer()
-{
- TACTL &= ~MC_1;
- TACTL &= ~TAIE; // Start Timer
-}
+ static void StopTimer()
+ {
+ TACTL &= ~MC_1;
+ TACTL &= ~TAIE; // Start Timer
+ }
+#endif
+
+/*--------------------------------------------------------------------------------*/
+
+#ifdef eZ_FET
+ static void StartTimer()
+ {
+ TB0CTL = 0; // STOP Timer
+ TB0CTL = ID__8 + TBSSEL__SMCLK; // Timer_B source:SMCLK ,SMCLK/0 = 25
+ TB0CCR0 = 0x9cf; // Load CCR0 with delay... (1ms delay)
+ TB0CCTL0 &= ~CCIFG; // Clear the interrupt flag
+ TB0CCTL0 |= CCIE ;
+ TB0CTL |= TBCLR + MC__UP;
+ }
+
+ static void StopTimer()
+ {
+ TB0CTL &= ~MC__UP;
+ TB0CTL = 0; // STOP Timer
+ // restore timer B0 1ms delay value
+ IHIL_InitDelayTimer();
+ }
+#endif
+
+/*--------------------------------------------------------------------------------*/
+
+#ifdef MSP_FET
+ static void StartTimer()
+ {
+ TA2CTL = 0; // STOP Timer
+ TA2CTL = ID__8 + TASSEL__SMCLK; // Timer_A source:SMCLK ,SMCLK/0 = 25
+ TA2CCR0 = 0x7d8; // Load CCR0 with delay... (1ms delay)
+ TA2CCTL0 &= ~CCIFG; // Clear the interrupt flag
+ TA2CCTL0 |= CCIE ;
+ TA2CTL |= TACLR + MC__UP;
+ }
+
+ static void StopTimer()
+ {
+ TA2CTL &= ~MC__UP;
+ TA2CTL = 0; // STOP Timer
+ // restore timer A2 1ms delay value
+ IHIL_InitDelayTimer();
+ }
+#endif
static unsigned long (*ReadCounterRegsFunc)() = 0;
@@ -118,10 +151,9 @@ static HalFuncInOut SyncFunc = 0;
static void readFromRam(unsigned short address, unsigned short* buffer, unsigned short numWords)
{
- decl_out
while (numWords-- > 0)
{
- ReadMemWord(address, *buffer);
+ *buffer = ReadMemWord(address);
address += 2;
++buffer;
}
@@ -131,7 +163,7 @@ static void writeToRam(unsigned short address, unsigned short* data, unsigned sh
{
while (numWords-- > 0)
{
- WriteMemWord(address, *data);
+ WriteMemWord(address, *data);
address += 2;
++data;
}
@@ -139,11 +171,9 @@ static void writeToRam(unsigned short address, unsigned short* data, unsigned sh
static void readFromRamX(unsigned short address, unsigned short* buffer, unsigned short numWords)
{
- decl_out
- decl_out_long
while (numWords-- > 0)
{
- ReadMemWordX(address, *buffer);
+ *buffer = ReadMemWordX(address);
address += 2;
++buffer;
}
@@ -161,23 +191,21 @@ static void writeToRamX(unsigned short address, unsigned short* data, unsigned s
static unsigned long readCounterRegisters()
{
- decl_out
- unsigned short r9, r10;
+ unsigned short r9 = 0 , r10 = 0;
unsigned long counter = 0;
- ReadCpuReg_uShort(9, r9);
- ReadCpuReg_uShort(10, r10);
+ r9 = ReadCpuReg_uShort(9);
+ r10 = ReadCpuReg_uShort(10);
counter = r10;
return (counter << 16) | r9;
}
static unsigned long readCounterRegistersX()
{
- decl_out
- unsigned long r9, r10;
+ unsigned long r9 = 0, r10 = 0;
- ReadCpuRegX(9, r9);
- ReadCpuRegX(10, r10);
+ r9 = ReadCpuRegX(9);
+ r10 = ReadCpuRegX(10);
return (r10 << 16) | r9;
}
@@ -204,7 +232,7 @@ static void setPCX(unsigned long address)
static void setPCJtag(unsigned long address)
{
SetPcJtagBug(address);
- TCLKset1
+ IHIL_Tclk(1);
}
@@ -217,21 +245,35 @@ static unsigned long measureFrequency(unsigned short RamStart, unsigned short DC
unsigned long counter = 0;
unsigned long freq = 0;
+ #if defined(eZ_FET) || defined(MSP_FET)
+ unsigned short *TimerTick = 0;
+ #endif
WriteRegFunc(5, DCO);
WriteRegFunc(6, BCS1);
-
+
SetPCFunc(RamStart);
- cntrl_sig_release
-
+ cntrl_sig_release();
+
+ #if defined(eZ_FET) || defined(MSP_FET)
+ STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_TIMER_TICK, &TimerTick);
+ #endif
+
StartTimer(); // Time the delay (as we could be interrupted, etc.).
- startTime = Time; // System timestamp (in milliseconds).
- __delay_cycles(240000ul); //~30ms
+ #if defined(eZ_FET) || defined(MSP_FET)
+ startTime = *(unsigned short*)TimerTick; // System timestamp (in milliseconds).
+ __delay_cycles(800000ul);
+ stopTime = *(unsigned short*)TimerTick;
+ #endif
- stopTime = Time;
- StopTimer();
-
- {
+ #ifdef MSP430_UIF
+ startTime = Time; // System timestamp (in milliseconds).
+ __delay_cycles(240000ul); //~30ms
+ stopTime = Time;
+ #endif
+
+ StopTimer();
+ {
StreamSafe stream_tmp;
unsigned char DummyIn[8] = {0x20,0x01,0x80,0x5A,0,0,0,0}; // wdtAddr, wdtCtrl
STREAM_internal_stream(DummyIn, sizeof(DummyIn), 0, 0, &stream_tmp);
@@ -245,13 +287,16 @@ static unsigned long measureFrequency(unsigned short RamStart, unsigned short DC
// Calculate a device speed (cycles/second). Multiply counter value by 3 (3 clock cycles per loop),
// and add 31 cycles for funclet setup, then normalize to one second.
- Time = 0;
freq = ((counter * 3 + 31) * 1000) / elapseTime;
+ #if defined(eZ_FET) || defined(MSP_FET)
+ STREAM_deleteSharedVariable(ID_SHARED_MEMORY_TYPE_TIMER_TICK);
+ #endif
return freq;
}
+
short findDcoSettings(unsigned short jtagBug)
{
unsigned short MAXRSEL = 0x7;
@@ -260,7 +305,7 @@ short findDcoSettings(unsigned short jtagBug)
unsigned short BackupRam[30];
unsigned short RamStart = 0;
unsigned long DcoFreq = 0;
-
+
// get target RAM start
if(STREAM_get_word(&RamStart) < 0)
{
@@ -271,14 +316,14 @@ short findDcoSettings(unsigned short jtagBug)
{
return(HALERR_EXECUTE_FUNCLET_NO_MAXRSEL);
}
-
+
if (MAXRSEL == 0xF)
{
BCS1 = 0x9;
}
-
+
SetPCFunc(ROM_ADDR); //Prevent Ram corruption on F123/F413
-
+
//----------------Backup original Ram content--------------
ReadRamFunc(RamStart, BackupRam, sizeLoopDco);
@@ -297,23 +342,23 @@ short findDcoSettings(unsigned short jtagBug)
{
WriteRamFunc(RamStart, loopDco, sizeLoopDco);
}
-
+
if (DcoFreq == 0)
{
return (-1);
}
-
+
if (DcoFreq > FlashUpperBoarder) // Check for upper limit - 10%.
{
if(DCO-- == 0)
{
DCO = 7;
if (BCS1-- == 0)
- {
+ {
return (-1); // Couldn't get DCO working with correct frequency.
}
- }
- }
+ }
+ }
else if (DcoFreq < FlashLowerBoarder) // Check for lower limit + 10%.
{
if(++DCO > 7)
@@ -327,12 +372,12 @@ short findDcoSettings(unsigned short jtagBug)
}
else
{
- break;
+ break;
}
}
while (--allowedSteps > 0);
- // restore Ram content
+ // restore Ram content
WriteRamFunc(RamStart, BackupRam, sizeLoopDco);
if (allowedSteps <= 0)
@@ -340,7 +385,7 @@ short findDcoSettings(unsigned short jtagBug)
return (-1); // Couldn't get DCO working with correct frequency.
}
// measurement end
-
+
// return measured values
STREAM_put_word( (DCO<<5) );
STREAM_put_word( (0x80|BCS1) );
@@ -355,7 +400,7 @@ short findFllSettings(unsigned short jtagBug)
unsigned short BackupRam[30];
unsigned short RamStart = 0;
unsigned long DcoFreq = 0;
-
+
// get target RAM start
if(STREAM_get_word(&RamStart) < 0)
{
@@ -366,19 +411,19 @@ short findFllSettings(unsigned short jtagBug)
//----------------Backup original Ram content--------------
ReadRamFunc(RamStart, BackupRam, sizeLoopFll);
-
+
// ----------------Download FLL measure funclet------------
WriteRamFunc(RamStart, loopFll, sizeLoopFll);
-
+
// Binary search through the available frequencies selecting the highest frequency < (476KHz - 10%).
while (first + 1 < last)
{
mid = (last + first) / 2;
reload = 0;
-
+
// Select DCO range from 0.23MHz to 11.2MHz. Specify frequency via Ndco. Disable Modulation. Enable DCO+.
DcoFreq = measureFrequency(RamStart, (mid << 3), 0);
-
+
//Ram content will probably be corrupted after each measurement on devices with jtag bug
//Reupload on every iteration
if (jtagBug)
@@ -409,10 +454,10 @@ short findFllSettings(unsigned short jtagBug)
DcoFreq = measureFrequency(RamStart, (first << 3), 0);
}
- // restore Ram content
+ // restore Ram content
WriteRamFunc(RamStart, BackupRam, sizeLoopDco);
- if (((DcoFreq < 257000 * 5) || (DcoFreq > 476000 * 5)))
+ if (((DcoFreq < 257000 * 5) || (DcoFreq > 476000 * 5)))
{
return -1;
}
@@ -423,7 +468,7 @@ short findFllSettings(unsigned short jtagBug)
STREAM_put_word( (first << 3) );
STREAM_put_word(0x80);
STREAM_put_word(0x80);
- STREAM_put_word(0);
+ STREAM_put_word(0);
return 0;
}
diff --git a/Bios/src/hal/macros/GetDeviceIdPtr.c b/Bios/src/hal/macros/GetDeviceIdPtr.c
new file mode 100644
index 0000000..138af83
--- /dev/null
+++ b/Bios/src/hal/macros/GetDeviceIdPtr.c
@@ -0,0 +1,96 @@
+/**
+* \ingroup MODULMACROS
+*
+* \file GetDeviceIdPtr.c
+*
+* \brief
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+#include "../include/hw_compiler_specific.h"
+#include "JtagId.h"
+
+/**
+ GetJtagId: required as separate macro beside StartJtag to get the JtagId
+ of an individual device in the JTAG chain
+*/
+HAL_FUNCTION(_hal_GetDeviceIdPtr)
+{
+ unsigned short JtagId = 0;
+ unsigned short CoreIpId = 0;
+ long DeviceIpPointer = 0;
+ long IdDataAddr = 0;
+ unsigned long lOut_long = 0;
+
+ JtagId = cntrl_sig_capture();
+ if (!jtagIdIsValid(JtagId))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ else if (jtagIdIsXv2(JtagId))
+ {
+ // Get Core identification info
+ core_ip_pointer();
+ CoreIpId = SetReg_16Bits(0);
+ // Get device identification pointer
+ if(JtagId == JTAGVERSION95)
+ {
+ IHIL_Delay_1ms(1500);
+ }
+ device_ip_pointer();
+ lOut_long = SetReg_20Bits(0);
+ // The ID pointer is an un-scrambled 20bit value
+ DeviceIpPointer = ((lOut_long & 0xFFFF) << 4 ) + (lOut_long >> 16 );
+ if(DeviceIpPointer)
+ {
+ IdDataAddr = DeviceIpPointer + 4;
+ }
+ }
+ else
+ {
+ IdDataAddr = 0xFF0;
+ }
+
+ STREAM_put_long(DeviceIpPointer);
+ STREAM_put_long(IdDataAddr);
+ STREAM_put_word(CoreIpId);
+ return 0;
+}
diff --git a/Bios/src/hal/macros/GetInterfaceMode.c b/Bios/src/hal/macros/GetInterfaceMode.c
index c139402..286d084 100644
--- a/Bios/src/hal/macros/GetInterfaceMode.c
+++ b/Bios/src/hal/macros/GetInterfaceMode.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -48,57 +48,79 @@
#include "stream.h"
#include "stddef.h"
#include "error_def.h"
+#include "JtagId.h"
+#if defined(MSP430_UIF) || defined(MSP_FET)
HAL_FUNCTION(_hal_GetInterfaceMode)
{
unsigned short id=0, loopCount=7,i=0, protocol =0;
-
- // create known state!
- EDT_Close();
+ #ifdef MSP_FET
+ HilInitGetEdtDistinctFunc hilEdtDis = ((void*)0);
+ #endif
+ // create known state
+ #ifndef MSP_FET
+ IHIL_Close();
+ #endif
for (i = 0; i < loopCount; i++)
{
// set JTAG mode 1xx- 4xx
if(i == 0 || i == 3)// set JTAG
{
- protocol = JTAG_IF;
- EDT_SetProtocol(protocol);
+ protocol = JTAG;
}
- else
+ else
{
// set SBW2 mode all devices
- if(i == 1 || i == 4)
+ if(i == 2 || i == 5)
{
- protocol = SPYBIWIRE_IF;
- EDT_SetProtocol(protocol);
+ protocol = SPYBIWIRE;
}
// set SBW4 mode all devices
- else if(i == 2|| i ==5 || i ==6)
+ else if(i == 1|| i ==4 || i ==6)
{
- protocol = SPYBIWIREJTAG_IF;
- EDT_SetProtocol(protocol);
+ protocol = SPYBIWIREJTAG;
}
}
+ IHIL_SetProtocol(protocol);
+ #ifdef MSP_FET
+ hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ #endif
+
// Run 4wire/SBW entry Sequence & Reset high
- EDT_Open(RSTHIGH);
+ IHIL_Open(RSTHIGH);
// Reset TAP state machine -> Run-Test/Idle
- EDT_TapReset();
+ IHIL_TapReset();
// Run Fuse Check
- EDT_CheckJtagFuse();
+ IHIL_CheckJtagFuse();
// shift out JTAG ID
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- // Release JTAG, to set the interface into an known state /
- EDT_Close();
+ id = cntrl_sig_capture();
+ // Release JTAG, to set the interface into an known state /
+ #ifndef MSP_FET
+ IHIL_Close();
+ #endif
// now check for vaild JTAG ID
- if (id == JTAGVERSION || id == JTAGVERSION91 || id == JTAGVERSION95 ||id == JTAGVERSION99 )
+ if (jtagIdIsValid(id))
{
STREAM_put_word(id);
STREAM_put_word(protocol);
return 0;
- }
+ }
}
- // Error no mode found; Just dummy values for id and protocoll
+ // Error no mode found
STREAM_put_word(0xFFFF);
STREAM_put_word(0xAAAA);
- return HALERR_UNDEFINED_ERROR;
+ return HALERR_UNDEFINED_ERROR;
+}
+#endif
+
+#if defined(eZ_FET)
+HAL_FUNCTION(_hal_GetInterfaceMode)
+{
+ STREAM_put_word(0x99);
+ STREAM_put_word(SPYBIWIRE);
+ return 0;
+
}
+#endif
diff --git a/Bios/src/hal/macros/GetInterfaceModeArm.c b/Bios/src/hal/macros/GetInterfaceModeArm.c
new file mode 100644
index 0000000..51a8c47
--- /dev/null
+++ b/Bios/src/hal/macros/GetInterfaceModeArm.c
@@ -0,0 +1,109 @@
+/**
+* \ingroup MODULMACROSXV2
+*
+* \file GetInterfaceModeArm.c
+*
+* \brief
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "stddef.h"
+#include "error_def.h"
+#include "JtagId.h"
+
+HAL_FUNCTION(_hal_GetInterfaceModeArm)
+{
+ #if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long idCode = 0;
+ unsigned short loopCount = 4, i = 0, protocol = 0;
+
+ #ifdef MSP_FET
+ HilInitGetEdtDistinctFunc hilEdtDis = ((void*)0);
+ #endif
+
+ // create known state
+ #ifndef MSP_FET
+ IHIL_Close();
+ #endif
+ for (i = 0; i < loopCount; i++)
+ {
+ // set JTAG 4 mode all ARM devices
+ if(i == 1 || i == 3)
+ {
+ #ifdef MSP_FET
+ protocol = SWD_432;
+ #endif
+ }
+ // set SWD mode for all devices
+ else if(i == 0|| i == 2 )
+ {
+ protocol = JTAG_432;
+ }
+
+ IHIL_SetProtocol(protocol);
+ #ifdef MSP_FET
+ hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ #endif
+
+
+ IHIL_Open(RSTHIGH);
+ // Reset TAP state machine -> Run-Test/Idle
+ IHIL_TapReset();
+ // Run Fuse Check
+ idCode = _edt_Distinct_Methods.GetJtagIdCode();
+
+ if (idCode != 0xFFFFFFFE)
+ {
+ STREAM_put_word(idCode);
+ STREAM_put_word(protocol);
+ return 0;
+ }
+ }
+ #endif
+ // Error no mode found
+ STREAM_put_word(0xFFFF);
+ STREAM_put_word(0xAAAA);
+ return HALERR_UNDEFINED_ERROR;
+}
+
+
diff --git a/Bios/src/hal/macros/GetJtagId.c b/Bios/src/hal/macros/GetJtagId.c
index 715b201..f568075 100644
--- a/Bios/src/hal/macros/GetJtagId.c
+++ b/Bios/src/hal/macros/GetJtagId.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permittUpdate License Headered provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "JTAG_defs.h"
#include "error_def.h"
#include "../include/hw_compiler_specific.h"
+#include "JtagId.h"
/**
GetJtagId: required as seperate macro beside StartJtag to get the JtagId
@@ -55,58 +56,16 @@ HAL_FUNCTION(_hal_GetJtagId)
{
short i;
unsigned short JtagId = 0;
- unsigned short CoreIpId = 0;
- long DeviceIpPointer = 0;
- long IdDataAddr = 0;
-
- decl_out
- decl_out_long
-
- //To make really sure to get the valid information
- for (i = 0; i < 4; )
+
+ for (i = 0; i < 4; ++i)
{
- JtagId = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
+ JtagId = cntrl_sig_capture();
// now get device id pointer and core ip id
- if (JtagId == JTAGVERSION || JtagId == JTAGVERSION8D )
+ if (jtagIdIsValid(JtagId))
{
- CoreIpId = 0;
- DeviceIpPointer = 0;
- IdDataAddr = 0xFF0;
-
- //retrun values
STREAM_put_word(JtagId);
- STREAM_put_word(CoreIpId);
- STREAM_put_long(DeviceIpPointer);
- STREAM_put_long(IdDataAddr);
- return 0;
- }
- else if(JtagId == JTAGVERSION91 || JtagId == JTAGVERSION99 || JtagId == JTAGVERSION95)
- {
- // Get Core identification info
- core_ip_pointer
- SetReg_16Bits(0);
- CoreIpId = lOut;
- // Get device identification pointer
- device_ip_pointer
- SetReg_20Bits(0);
- DeviceIpPointer = lOut_long;
- // The ID pointer is an un-scrambled 20bit value
- DeviceIpPointer = ((DeviceIpPointer & 0xFFFF) << 4 ) + (DeviceIpPointer >> 16 );
- if(DeviceIpPointer)
- {
- IdDataAddr = DeviceIpPointer + 4;
- }
- //retrun values
- STREAM_put_word(JtagId);
- STREAM_put_word(CoreIpId);
- STREAM_put_long(DeviceIpPointer);
- STREAM_put_long(IdDataAddr);
return 0;
}
- else
- {
- i++; // no valid JtagId was found
- }
}// end of JTAG id scan
- return HALERR_UNDEFINED_ERROR;
+ return HALERR_UNDEFINED_ERROR;
}
diff --git a/Bios/src/hal/macros/GetJtagIdCodeArm.c b/Bios/src/hal/macros/GetJtagIdCodeArm.c
new file mode 100644
index 0000000..19258f1
--- /dev/null
+++ b/Bios/src/hal/macros/GetJtagIdCodeArm.c
@@ -0,0 +1,62 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file GetJtagIdCodeArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ GetJtagIdCode: get the JEP idcode from the debug port
+*/
+HAL_FUNCTION(_hal_GetJtagIdCodeArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long JtagId = _edt_Distinct_Methods.GetJtagIdCode();
+ if (JtagId)
+ {
+ STREAM_put_long(JtagId);
+ return 0;
+ }
+#endif
+ return HALERR_UNDEFINED_ERROR;
+}
diff --git a/Bios/src/hal/macros/GetNumOfDevices.c b/Bios/src/hal/macros/GetNumOfDevices.c
index 7173e84..83d0e6b 100644
--- a/Bios/src/hal/macros/GetNumOfDevices.c
+++ b/Bios/src/hal/macros/GetNumOfDevices.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -61,10 +61,10 @@ HAL_FUNCTION(_hal_GetNumOfDevices)
unsigned char numOfDevices;
#ifdef DB_PRINT
prtstr(" @ID_GetNumOfDevices<");
-#endif
-
- numOfDevices = 1;//;(unsigned char)EDT_EnumChain();
-
+#endif
+
+ numOfDevices = 1;
+
STREAM_put_byte((unsigned char)numOfDevices);
return 0;
}
diff --git a/Bios/src/hal/macros/HaltArm.c b/Bios/src/hal/macros/HaltArm.c
new file mode 100644
index 0000000..8276dab
--- /dev/null
+++ b/Bios/src/hal/macros/HaltArm.c
@@ -0,0 +1,96 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file HaltArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+#include "global_variables.h"
+
+/**
+ Halt: Halts the Core
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+HAL_FUNCTION(_hal_HaltArm)
+{
+ short retVal = 0;
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned short* syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+ // Set system and debug power up if cleared
+ if( powerUpArm() != 0)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ if(checkWakeup() != 0)
+ {
+ retVal = HALERR_UNDEFINED_ERROR;
+ }
+
+ unsigned char retry = MAX_RETRY;
+
+ unsigned long data = DBGKEY | C_HALT | C_DEBUGEN;
+ IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE);
+
+ do
+ {
+ IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, READ);
+ } while(!(data & S_HALT) && --retry);
+
+ if(!retry)
+ {
+ retVal = HALERR_UNDEFINED_ERROR;
+ }
+
+ // Read out why did we halt?
+ IHIL_Write_Read_Mem_Ap(0, DFSR, &data, READ);
+ STREAM_put_long(data);
+#endif
+ return retVal;
+}
diff --git a/Bios/src/hal/macros/HilCommand.c b/Bios/src/hal/macros/HilCommand.c
index f72715e..8470284 100644
--- a/Bios/src/hal/macros/HilCommand.c
+++ b/Bios/src/hal/macros/HilCommand.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -56,17 +56,26 @@
*/
typedef enum {
- HIL_CMD_RESET_JTAG_TAP,
- HIL_CMD_OPEN,
- HIL_CMD_CONNECT,
- HIL_CMD_CLOSE,
- HIL_CMD_JTAG_IR,
- HIL_CMD_JTAG_DR,
- HIL_TEST_REG,
- HIL_TEST_REG_3V,
+ HIL_CMD_RESET_JTAG_TAP,
+ HIL_CMD_OPEN,
+ HIL_CMD_CONNECT,
+ HIL_CMD_CLOSE,
+ HIL_CMD_JTAG_IR,
+ HIL_CMD_JTAG_DR,
+ HIL_TEST_REG,
+ HIL_TEST_REG_3V,
HIL_CMD_QUERY_JSTATE,
HIL_CMD_WRITE_JMB,
- HIL_CMD_READ_JMB,
+ HIL_CMD_READ_JMB,
+ HIL_CMD_CONFIGURE,
+ HIL_CMD_BSL,
+ HIL_CMD_FUSE_CHECK,
+ HIL_CMD_JTAG_IR4,
+ HIL_CMD_DPACC,
+ HIL_CMD_APACC,
+ HIL_CMD_MEM_AP,
+ HIL_CMD_BSL_1XX_4XX,
+ HIL_CMD_TCLK,
} HIL_COMMAND;
HAL_FUNCTION(_hal_HilCommand)
@@ -77,148 +86,212 @@ HAL_FUNCTION(_hal_HilCommand)
unsigned long dataHigh = 0;
unsigned long long data = 0;
unsigned long bits = 16;
- unsigned char bitCounter;
- unsigned long long value = 0;
-
- decl_jtagMailboxIn
- decl_out
-
-
- if( STREAM_get_long(&command) < 0 )
- {
- return HALERR_NO_COMMAND;
- }
- if ( STREAM_get_long(&dataLow) < 0 )
- {
- return HALERR_NO_DATA;
- }
- if ( STREAM_get_long(&dataHigh) < 0 )
- {
- return HALERR_NO_DATA;
- }
- if ( STREAM_get_long(&bits) < 0 )
- {
- return HALERR_NO_BIT_SIZE;
- }
-
- data = dataLow | ((unsigned long long)dataHigh << 32); // 31 ???
-
- if (command == HIL_CMD_JTAG_IR)
+ short streamResult = 0;
+ short retVal = 0;
+
+ while (streamResult == 0)
{
- // Force 8-bits for IR shifts
- // This is necessary because the instruction is shifted into the target MSB-first
- // by the SPI interface
- bits = 8;
+ unsigned long long value = 0;
- for(bitCounter = 0; bitCounter < bits; ++bitCounter)
+ if( STREAM_get_long(&command) < 0 )
{
- value <<= 1;
- value |= (data >> bitCounter) & 1;
+ return HALERR_NO_COMMAND;
}
- }
- else
- {
- value = data;
- }
-
- switch (command)
- {
- case HIL_CMD_RESET_JTAG_TAP:
- EDT_TapReset();
- break;
-
- case HIL_CMD_OPEN:
- case HIL_CMD_CONNECT:
- EDT_Open(RSTHIGH);
- break;
-
- case HIL_CMD_CLOSE:
- EDT_Close();
- if (dataLow != 0)
+ if ( STREAM_get_long(&dataLow) < 0 )
{
- EDT_SetVcc(0);
+ return HALERR_NO_DATA;
}
- break;
-
- case HIL_CMD_JTAG_IR:
- shiftedOut = EDT_Instr((unsigned char)value);
- STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
- STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
- break;
-
- case HIL_CMD_JTAG_DR:
- switch (bits)
+ if ( STREAM_get_long(&dataHigh) < 0 )
{
- case 8:
- shiftedOut = EDT_SetReg_XBits08((unsigned char)value & 0xFF);
- break;
- case 16:
- shiftedOut = EDT_SetReg_XBits16((unsigned short)value & 0xFFFF);
- break;
- case 20:
- shiftedOut = EDT_SetReg_XBits20((unsigned long)value & 0xFFFFF);
- break;
- case 32:
- shiftedOut = EDT_SetReg_XBits32((unsigned long)value & 0xFFFFFFFF);
- break;
- case 64:
- shiftedOut = EDT_SetReg_XBits64(value);
- break;
- default:
- return HALERR_INVALID_BIT_SIZE;
- }
- STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
- STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
- break;
-
- case HIL_TEST_REG:
- test_reg
- SetReg_32Bits_((unsigned long)value)
- break;
-
- case HIL_TEST_REG_3V:
- test_reg_3V
- SetReg_16Bits_((unsigned short)value)
- break;
-
- case HIL_CMD_QUERY_JSTATE:
- jstate_read
- shiftedOut = EDT_SetReg_XBits64(0x0000000000000000);
- STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
- STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
- break;
-
- case HIL_CMD_WRITE_JMB:
- if(bits == 16)
+ return HALERR_NO_DATA;
+ }
+ streamResult = STREAM_get_long(&bits);
+ if (streamResult < 0)
{
- i_WriteJmbIn((unsigned short)dataLow);
+ return HALERR_NO_BIT_SIZE;
}
- else if(bits == 32)
+
+ data = dataLow | ((unsigned long long)dataHigh << 32);
+
+ if (command == HIL_CMD_JTAG_IR)
{
- i_WriteJmbIn32((unsigned short)dataLow, (unsigned short)(dataLow >> 16));
+ unsigned char bitCounter;
+
+ // Force 8-bits for IR shifts
+ // This is necessary because the instruction is shifted into the target MSB-first
+ // by the SPI interface
+ bits = 8;
+
+ for(bitCounter = 0; bitCounter < bits; ++bitCounter)
+ {
+ value <<= 1;
+ value |= (data >> bitCounter) & 1;
+ }
}
else
{
- return (HALERR_JTAG_MAILBOX_IN_TIMOUT);
+ value = data;
}
-
- if(jtagMailboxIn == 1)
+
+ switch (command)
{
- return (HALERR_JTAG_MAILBOX_IN_TIMOUT);
- }
- break;
-
- case HIL_CMD_READ_JMB:
- i_ReadJmbOut(shiftedOut);
- STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
- STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
- break;
-
-
- default:
- return HALERR_UNKNOWN_COMMAND;
+ case HIL_CMD_RESET_JTAG_TAP:
+ IHIL_TapReset();
+ break;
+
+ case HIL_CMD_FUSE_CHECK:
+ IHIL_CheckJtagFuse();
+ break;
+
+ case HIL_CMD_OPEN:
+ case HIL_CMD_CONNECT:
+ IHIL_Open((unsigned char)dataLow);
+ break;
+
+ case HIL_CMD_BSL:
+ IHIL_BSL_EntrySequence(1);
+ break;
+
+ case HIL_CMD_BSL_1XX_4XX:
+ IHIL_BSL_EntrySequence1xx_4xx();
+ break;
+
+ case HIL_CMD_CLOSE:
+ IHIL_Close();
+ if (dataLow != 0)
+ {
+ IHIL_SetVcc(0);
+ }
+ break;
+
+ case HIL_CMD_JTAG_IR:
+ shiftedOut = _edt_Distinct_Methods.Instr((unsigned char)value);
+ STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
+ STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
+ break;
+
+ case HIL_CMD_JTAG_IR4:
+ shiftedOut = IHIL_Instr4((unsigned char)value);
+ STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
+ STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
+ break;
+
+ case HIL_CMD_JTAG_DR:
+ switch (bits)
+ {
+ case 8:
+ shiftedOut = SetReg_8Bits((unsigned char)value & 0xFF);
+ break;
+ case 16:
+ shiftedOut = SetReg_16Bits((unsigned short)value & 0xFFFF);
+ break;
+ case 20:
+ shiftedOut = SetReg_20Bits((unsigned long)value & 0xFFFFF);
+ break;
+ case 32:
+ shiftedOut = SetReg_32Bits((unsigned long)value & 0xFFFFFFFF);
+ break;
+ case 64:
+ shiftedOut = SetReg_64Bits(value);
+ break;
+ case 35:
+ shiftedOut = SetReg_35Bits(&value);
+ break;
+ default:
+ return HALERR_INVALID_BIT_SIZE;
+ }
+ STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
+ STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
+ break;
+
+ case HIL_TEST_REG:
+ test_reg();
+ SetReg_32Bits((unsigned long)value);
+ break;
+
+ case HIL_TEST_REG_3V:
+ test_reg_3V();
+ SetReg_16Bits((unsigned short)value);
+ break;
+
+ case HIL_CMD_QUERY_JSTATE:
+ jstate_read();
+ shiftedOut = SetReg_64Bits(0x0000000000000000);
+ STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
+ STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
+ break;
+
+ case HIL_CMD_TCLK:
+ IHIL_Tclk((unsigned char)dataLow);
+ break;
+
+ case HIL_CMD_WRITE_JMB:
+ {
+ unsigned char jtagMailboxIn = 0;
+ if(bits == 16)
+ {
+ jtagMailboxIn = i_WriteJmbIn((unsigned short)dataLow);
+ }
+ else if(bits == 32)
+ {
+ jtagMailboxIn = i_WriteJmbIn32((unsigned short)dataLow, (unsigned short)(dataLow >> 16));
+ }
+ else
+ {
+ return (HALERR_JTAG_MAILBOX_IN_TIMOUT);
+ }
+
+ if(jtagMailboxIn == 1)
+ {
+ return (HALERR_JTAG_MAILBOX_IN_TIMOUT);
+ }
+ break;
+ }
+ case HIL_CMD_READ_JMB:
+ shiftedOut = i_ReadJmbOut();
+ STREAM_put_long( (unsigned long)(shiftedOut &0xFFFFFFFF) );
+ STREAM_put_long( (unsigned long)(shiftedOut >> 32) );
+ break;
+
+ case HIL_CMD_CONFIGURE:
+ IHIL_SetProtocol(dataLow);
+
+ {
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ }
+ break;
+
+ case HIL_CMD_DPACC:
+ retVal = (IHIL_Write_Read_Dp((unsigned char)dataLow, // address
+ &dataHigh, // data
+ (unsigned short)bits) // rnw
+ > 0) ? 0 : HALERR_DAP_NACK;
+ STREAM_put_long(dataHigh);
+ break;
+
+ case HIL_CMD_APACC:
+ retVal = (IHIL_Write_Read_Ap(dataLow, // address | APSEL
+ &dataHigh, // data
+ (unsigned short)bits) // rnw
+ > 0) ? 0 : HALERR_DAP_NACK;
+ STREAM_put_long(dataHigh);
+ break;
+
+ case HIL_CMD_MEM_AP:
+ retVal = (IHIL_Write_Read_Mem_Ap((unsigned short)(bits >> 16),// ap_sel
+ dataLow, // address
+ &dataHigh, // data
+ (unsigned short)bits) // rnw
+ > 0) ? 0 : HALERR_DAP_NACK;
+ STREAM_put_long(dataHigh);
+
+ break;
+
+ default:
+ retVal = HALERR_UNKNOWN_COMMAND;
+ }
}
-
- return 0;
+ return retVal;
}
diff --git a/Bios/src/hal/macros/IsJtagFuseBlown.c b/Bios/src/hal/macros/IsJtagFuseBlown.c
index 0a0bfd6..0426cc7 100644
--- a/Bios/src/hal/macros/IsJtagFuseBlown.c
+++ b/Bios/src/hal/macros/IsJtagFuseBlown.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -48,22 +48,24 @@
#endif
/**
- IsJtagFuseBlown
+ IsJtagFuseBlown
*/
HAL_FUNCTION(_hal_IsJtagFuseBlown)
{
- int i;
- decl_out;
-
- EDT_TapReset(); // reset TAP state machine -> Run-Test/Idle
- EDT_CheckJtagFuse(); // check security fuse
-
+ unsigned short i = 0, lOut = 0;
+ unsigned short jtagId = 0;
+
for (i = 0; i < 3; i++) // First test could be negative.
{
- cntrl_sig_capture
- SetReg_16Bits(0xaaaa);
+ jtagId = cntrl_sig_capture();
+ if(jtagId != JTAGVERSION99 && jtagId != JTAGVERSION98 && jtagId != JTAGVERSION95 && jtagId != JTAGVERSION91 && jtagId != JTAGVERSION)
+ {
+ return -1;
+ }
+
+ lOut = SetReg_16Bits(0xaaaa);
// If the fuse is blown, the device will be in JTAG bypass mode, and data
// input to the device will be echoed with a one-bit delay.
if (lOut == 0x5555)
diff --git a/Bios/src/hal/macros/LeaSyncConditional.c b/Bios/src/hal/macros/LeaSyncConditional.c
new file mode 100644
index 0000000..12ccda9
--- /dev/null
+++ b/Bios/src/hal/macros/LeaSyncConditional.c
@@ -0,0 +1,95 @@
+/**
+* \ingroup MODULMACROSXV2
+*
+* \file LeaSyncConditional.c
+*
+* \brief
+*
+*/
+/*
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "EEM_defs.h"
+#include "global_variables.h"
+
+#define LEASCCNF1 0x08
+#define LEASCBSY 0x01
+
+HAL_FUNCTION(_hal_LeaSyncConditional)
+{
+ unsigned long baseAddres = 0;
+ unsigned short tclkCycles = 20000;
+ volatile unsigned long currentPcAddress = 0;
+ unsigned short leaReg = 0;
+
+ STREAM_get_long(&baseAddres);
+
+ leaReg = ReadMemWordXv2(baseAddres | LEASCCNF1);
+ if(!(leaReg & LEASCBSY))
+ {
+ STREAM_put_word((leaReg & LEASCBSY));
+ return 0;
+ }
+
+ // Set PC to "safe" address
+ SetPcXv2(0x0080, SAFE_PC_ADDRESS);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
+
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x1501);
+
+ while(tclkCycles-- > 0)
+ {
+ IHIL_TCLK();
+ }
+ addr_capture();
+ currentPcAddress = SetReg_20Bits(0x0);
+
+ if((currentPcAddress != SAFE_PC_ADDRESS) && (currentPcAddress != SAFE_PC_ADDRESS+2))
+ {
+ return -1;
+ }
+
+ leaReg = ReadMemWordXv2(baseAddres | LEASCCNF1);
+ STREAM_put_word((leaReg & LEASCBSY));
+ return 0;
+}
diff --git a/Bios/src/hal/macros/MagicPattern.c b/Bios/src/hal/macros/MagicPattern.c
index 07ccfe0..4da9643 100644
--- a/Bios/src/hal/macros/MagicPattern.c
+++ b/Bios/src/hal/macros/MagicPattern.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,16 +44,17 @@
#include "edt.h"
#include "hal.h"
#include "stream.h"
+#include "JtagId.h"
#ifdef DB_PRINT
#include "debug.h"
#endif
/**
- MagicPattern
+ MagicPattern
This function will try to get control over the device. It will try to reset and
stop the device.
It will automatically switch between the different JTAG protocols also it handles
- the LPMx.5
+ the LPMx.5
inData: void
outData:
@@ -63,6 +64,8 @@
jtagId: the Jtag identifier value
*/
+#define BOOT_DATA_CRC_WRONG 0xC3C3
+
#ifdef uController_uif
extern void JSBW_EntrySequences(unsigned char states);
extern void JSBW_TapReset(void);
@@ -71,125 +74,170 @@ extern void JSBW_JtagUnlock(void);
extern void jRelease(void);
#endif
-extern DevicePowerSettings devicePowerSettings;
+#define BOOT_DATA_CRC_WRONG 0xC3C3
+unsigned short magicPattern = 0;
+
+#ifdef MSP430_UIF
+ short magicPatternJsbw2();
+#endif
+
+#pragma optimize = medium
HAL_FUNCTION(_hal_MagicPattern)
{
- short ret_value = HALERR_UNDEFINED_ERROR;
- short i = 0;
- decl_out
- decl_out_long
-
- unsigned short id=0;
- unsigned char chainLen;
- unsigned short protocol = JTAG_IF;
+ unsigned short id = 0;
+ unsigned char chainLen = 1;
+ unsigned short protocol = SPYBIWIRE;
+
+ STREAM_get_word(&protocol);
+
+#ifdef eZ_FET
+ if(protocol != SPYBIWIRE)
+ {
+ return HALERR_MAGIC_PATTERN;
+ }
+#endif
+
+#ifdef MSP430_UIF
+ if(protocol == SPYBIWIRE_MSP_FET)
+ {
+ return magicPatternJsbw2();
+ }
+#endif
+
+ IHIL_SetProtocol(protocol);
+#if defined(eZ_FET) || defined(MSP_FET)
+ {
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ }
+#endif
+ // run entry sequnce but pull rst low during the sequence to wake-up the device
+
+ IHIL_Close();
+
+ _edt_Common_Methods.regulateVcc();
- while( i < 4)
- {
- decl_jtagMailboxIn
- if( i == 0 || i == 1)
+ IHIL_Open(RSTLOW);
+ IHIL_TapReset();
+ IHIL_CheckJtagFuse();
+ // put in magic pattern to stop user code execution
+
+ if(i_WriteJmbIn(MAGIC_PATTERN) == 1)
+ {
+ return (HALERR_JTAG_MAILBOX_IN_TIMOUT);
+ }
+
+ // run entry sequnce but pull rst high during the sequence
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ IHIL_CheckJtagFuse();
+
+ // Corrupted CRC handling - start --------------------------------------
+ // read JTAG mailbox to see if CRC of Bootdata is damaged.
+ if(i_ReadJmbOut16() == BOOT_DATA_CRC_WRONG)
+ {
+ return (HALERR_MAGIC_PATTERN_BOOT_DATA_CRC_WRONG);
+ }
+ // Corrupted CRC handling - end ----------------------------------------
+
+ id = cntrl_sig_capture() ;
+ if (jtagIdIsXv2(id))
+ {
+ //Disable Lpmx5 and power gaiting settings
+ if(id == JTAGVERSION98)
{
- protocol = SPYBIWIRE_IF;
+ // just disable JTAG io lock
+ test_reg_3V();
+ SetReg_16Bits(0x4020);
}
- else
- {
- protocol = JTAG_IF;
+ if(id == JTAGVERSION99)
+ {
+ test_reg_3V();
+ SetReg_16Bits(0x40A0);
+ test_reg();
+ SetReg_32Bits(0x00010000);
}
+ STREAM_put_byte((unsigned char)chainLen);
+ STREAM_put_byte((unsigned char)id);
- EDT_SetProtocol(protocol);
-
- // run entry sequnce but pull rst low during the sequence to wake-up the device
- EDT_Open(RSTLOW);
- EDT_TapReset();
- chainLen = 1; //;(unsigned char)EDT_EnumChain();
- EDT_CheckJtagFuse();
- // put in magic pattern to stop user code execution
- i_WriteJmbIn(MAGIC_PATTERN)
-
- if(jtagMailboxIn == 1)
+#ifdef MSP_FET
+ if (protocol == SPYBIWIRE_MSP_FET)
{
- ret_value = (HALERR_JTAG_MAILBOX_IN_TIMOUT);
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ protocol = SPYBIWIREJTAG;
+ IHIL_SetProtocol(protocol);
+ hilEdtDis(&_edt_Distinct_Methods);
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ IHIL_CheckJtagFuse();
}
-
- //EDT_Close();
- // run entry sequnce but pull rst high during the sequence
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- chainLen = 1; //;(unsigned char)EDT_EnumChain();
- EDT_CheckJtagFuse();
-
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if (id == JTAGVERSION95 || id == JTAGVERSION91 || id == JTAGVERSION99)
- {
- //Disable Lpmx5 and power gaiting settings
- if(id == JTAGVERSION91)
- {
- // just disable JTAG i lock
- test_reg_3V
- SetReg_16Bits(0x4020);
- }
- if(id == JTAGVERSION99)
- {
- test_reg_3V
- SetReg_16Bits(0x4020);
- test_reg
- SetReg_32Bits(0x00010000);
- }
+#endif
+ STREAM_put_byte((unsigned char)protocol);
+
+ return 0;
+ }
+ return (HALERR_MAGIC_PATTERN);
+}
+
+#ifdef MSP430_UIF
+
+// Force wakeup in SBW4 mode for LPMx.5 because JTAG pins are locked by LPMx.5
+// This case happens if the device is woken up, but goes into LPMx.5 very quickly
+// and the device wasn't under JTAG control from a previous debug session
+short magicPatternJsbw2()
+{
+ unsigned short i = 0;
+ unsigned short id = 0;
+ unsigned char chainLen = 1;
+ unsigned short protocol = SPYBIWIREJTAG;
+ IHIL_SetProtocol(protocol);
- STREAM_put_byte((unsigned char)chainLen);
- STREAM_put_byte((unsigned char)id);
- STREAM_put_byte((unsigned char)protocol);
-
- return 0;
- }
- i++;
- }
-
- // Force wakeup in SBW4 mode for LPMx.5 because JTAG pins are locked by LPMx.5
- // This case happens if the device is woken up, but goes into LPMx.5 very quickly
- // and the device wasn't under JTAG control from a previous debug session
-#ifdef uController_uif
-
- i = 0;
- protocol = SPYBIWIREJTAG_IF;
- EDT_SetProtocol(protocol);
-
while( i < 3)
{
- // feet in JSBW magic pattern Use real RST and TST pin of TOOL
- JSBW_EntrySequences(0);
+ // feet in JSBW magic pattern Use real RST and TST pin of TOOL
+ JSBW_EntrySequences(0);
JSBW_TapReset();
JSBW_MagicPattern();
- EDT_Delay_1ms(10);
- jRelease();
-
+ IHIL_Delay_1ms(10);
+ jRelease();
+
// disable JTAG lock
- JSBW_EntrySequences(2);
+ JSBW_EntrySequences(2);
JSBW_TapReset();
JSBW_JtagUnlock();
- EDT_Delay_1ms(10);
-
- // reconnect in normal JTAG 4 wire mode
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- chainLen = 1; //;(unsigned char)EDT_EnumChain();
- EDT_CheckJtagFuse();
-
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if (id == JTAGVERSION95 || id == JTAGVERSION91 || id == JTAGVERSION99)
+ IHIL_Delay_1ms(10);
+
+ // reconnect in normal JTAG 4 wire mode
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ IHIL_CheckJtagFuse();
+
+ id = cntrl_sig_capture();
+ if (jtagIdIsXv2(id))
{
- // Disable JTAG lock
- // DisableLpmx5();
-
- STREAM_put_byte((unsigned char)chainLen);
+ //Disable Lpmx5 and power gaiting settings
+ if(id == JTAGVERSION98)
+ {
+ // just disable JTAG i lock
+ test_reg_3V();
+ SetReg_16Bits(0x4020);
+ }
+ if(id == JTAGVERSION99)
+ {
+ test_reg_3V();
+ SetReg_16Bits(0x40A0);
+ test_reg();
+ SetReg_32Bits(0x00010000);
+ }
+ STREAM_put_byte((unsigned char)chainLen);
STREAM_put_byte((unsigned char)id);
- STREAM_put_byte((unsigned char)protocol);
+ STREAM_put_byte((unsigned char)protocol);
+
return 0;
- }
- i++;
- }
-#endif
-
- return(ret_value);
+ }
+ i++;
+ }
+ return (HALERR_MAGIC_PATTERN);
}
-
+#endif
diff --git a/Bios/src/hal/macros/MemApTransactionArm.c b/Bios/src/hal/macros/MemApTransactionArm.c
new file mode 100644
index 0000000..42aee71
--- /dev/null
+++ b/Bios/src/hal/macros/MemApTransactionArm.c
@@ -0,0 +1,541 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file MEMAPTransactionArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+#include
+
+/**
+ MEMAPTransaction
+ Performs a memory transaction (Read/Write) on the specified port
+ PortNum<8>: selects the port number
+ RnW<8>: selects whether to perform a Read or a Write trasaction
+ Datawidth<16>: Indicates the width of the data transaction (8-/16-/32-bits)
+ Address<32>: Destination address
+ Count<32>: The number of bytes to write
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ extern unsigned long cswValues[4];
+#endif
+
+#define ADDRESS_WRAPPING 0x00000FFFul
+
+/// \brief Low-level write function with timeout
+/// \return 0 if timeout occured and non-zero if success
+#pragma inline=forced
+unsigned char writeLowLevel(unsigned char address, unsigned long dataIn)
+{
+ unsigned char retry = MAX_RETRY;
+ unsigned char ack = 0;
+ unsigned long long dataIn64 = ((unsigned long long)dataIn) << 3;
+
+ do
+ {
+ unsigned long long tmp = dataIn64 | (address >> 1) | WRITE;
+ ack = SetReg_35Bits(&tmp) & 0x7;
+ } while((ack != ACK) && (--retry));
+
+ return retry;
+}
+
+/// \brief Low-level read function with timeout
+/// \return 0 if timeout occured and non-zero if success
+#pragma inline=forced
+unsigned char readLowLevel(unsigned char address, unsigned long *dataInOut)
+{
+ unsigned char retry = MAX_RETRY;
+ unsigned long long dataIn64 = ((unsigned long long)*dataInOut) << 3;
+ unsigned long long dataOut64;
+
+ do
+ {
+ unsigned long long tmp = dataIn64 | (address >> 1) | READ;
+ dataOut64 = SetReg_35Bits(&tmp);
+ }
+ while((dataOut64 & 0x7 != ACK) && (--retry));
+
+ *dataInOut = dataOut64 >> 3;
+
+ return retry;
+}
+
+void SwdHandleError()
+{
+ unsigned long errorCheck = 0, resetError = 0;
+ // hanlde locked out state
+ IHIL_Write_Read_Dp(DP_DPIDR, &errorCheck, READ);
+ // read
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &errorCheck, READ);
+
+ if(errorCheck & DP_CTRL_STAT_STICKYCMP)
+ {
+ resetError |= STKCMPCLR;
+ }
+ if(errorCheck & DP_CTRL_STAT_STICKYERR)
+ {
+ resetError |= STKERRCLR;
+ }
+ if(errorCheck & DP_CTRL_STAT_WDATAERR)
+ {
+ resetError |= WDERRCLR;
+ }
+ if(errorCheck & DP_CTRL_STAT_STICKYORUN)
+ {
+ resetError |= ORUNERRCLR;
+ }
+ if(resetError != 0)
+ {
+ IHIL_Write_Read_Dp(DP_DPIDR, &resetError, WRITE);
+ }
+}
+
+short JtagHandleError()
+{
+ short retVal = 0;
+ unsigned long errorCheck = 0, resetError = 0;
+ // Check for errors
+ //prepare read CTRL/STAT reg
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &errorCheck, READ);
+ //read CTRL/STAT reg
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &errorCheck, READ);
+
+ resetError = errorCheck;
+ if(errorCheck & DP_CTRL_STAT_STICKYCMP)
+ {
+ resetError |= DP_CTRL_STAT_STICKYCMP;
+ }
+ if(errorCheck & DP_CTRL_STAT_STICKYERR)
+ {
+ resetError |= DP_CTRL_STAT_STICKYERR;
+ }
+ if(errorCheck & DP_CTRL_STAT_WDATAERR)
+ {
+ resetError |= DP_CTRL_STAT_WDATAERR;
+ }
+ if(errorCheck & DP_CTRL_STAT_STICKYORUN)
+ {
+ resetError |= DP_CTRL_STAT_STICKYORUN;
+ }
+ if(resetError != 0)
+ {
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &resetError, WRITE);
+
+ //prepare read CTRL/STAT reg
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &errorCheck, READ);
+ //read CTRL/STAT reg
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &errorCheck, READ);
+ if(errorCheck & DP_CTRL_STAT_STICKYERR ||
+ errorCheck & DP_CTRL_STAT_STICKYORUN ||
+ errorCheck & DP_CTRL_STAT_STICKYCMP ||
+ errorCheck & DP_CTRL_STAT_WDATAERR)
+ {
+ retVal = -1;
+ }
+ else
+ {
+ retVal = 0;
+ }
+ }
+ else
+ {
+ retVal = 0;
+ }
+ return retVal;
+}
+
+/// \brief Stream the correct data size back to the DLL
+#define STREAM_DATA(data) \
+ do \
+ { \
+ data >>= (address & 0x3) * 8; \
+ switch(dataWidth) \
+ { \
+ case AP_CSW_SIZE_8BIT: \
+ STREAM_put_byte((unsigned char)data); \
+ break; \
+ case AP_CSW_SIZE_16BIT: \
+ STREAM_put_word((unsigned short)data); \
+ break; \
+ case AP_CSW_SIZE_32BIT: \
+ STREAM_put_long((unsigned long)data); \
+ break; \
+ } \
+ } while(0)
+
+
+HAL_FUNCTION(_hal_MemApTransactionArm)
+{
+ short retVal = 0;
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ static unsigned long long apsel;
+ static unsigned short rnw;
+ static unsigned short dataWidth;
+ static unsigned long address;
+ static unsigned long count;
+
+ unsigned char *pBuf;
+ unsigned short sizeOfBuf;
+
+ unsigned long data;
+
+ if(flags & MESSAGE_NEW_MSG)
+ { // Do initial setup
+ apsel = 0ull;
+ if(STREAM_get_word((unsigned short *)&apsel) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_word(&rnw) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_word(&dataWidth) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_long(&address) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_long(&count) == -1)
+ {
+ return -1;
+ }
+ if(!count)
+ { // Nothing to do, just return without failure
+ return 0;
+ }
+
+ apsel <<= 24;
+ count >>= dataWidth; // Calculate the number of transactions needed
+
+ JtagHandleError();
+
+ // Write CSW register
+ data = cswValues[apsel & 0x3] | ((count == 1) ? AP_CSW_ADDRINC_OFF : AP_CSW_ADDRINC_SINGLE) | dataWidth;
+ IHIL_Write_Read_Ap(AP_CSW, &data, WRITE);
+
+ // Write TAR register
+ IHIL_Write_Read_Ap(AP_TAR, &address, WRITE);
+
+ }
+
+ // Now that the setup is done, do the actual data transfer
+ if(rnw == WRITE)
+ {
+ STREAM_out_change_type(RESPTYP_ACKNOWLEDGE);
+ STREAM_flush();
+ STREAM_get_buffer((void **)&pBuf,&sizeOfBuf);
+ while(count && sizeOfBuf)
+ {
+ switch(dataWidth)
+ {
+ case 0:
+ data = (*((unsigned char*) pBuf));
+ break;
+ case 1:
+ data = (*((unsigned short*) pBuf));
+ break;
+ default:
+ data = (*((unsigned long*) pBuf));
+ break;
+ }
+ data <<= (address & 0x3) * 8; // Move to correct byte lane
+
+ writeLowLevel(AP_DRW, data);
+
+ pBuf += (1 << dataWidth);
+ address += (1 << dataWidth);
+ if(sizeOfBuf >= (1 << dataWidth))
+ {
+ sizeOfBuf -= (1 << dataWidth);
+ }
+ else
+ {
+ sizeOfBuf = 0;
+ }
+ --count;
+
+ // Check for address wrapping
+ if(count && !(address & ADDRESS_WRAPPING))
+ { // Write TAR register
+ writeLowLevel(AP_TAR, address);
+ }
+ }
+ }
+ else
+ { // READ
+ data = 0;
+ // Initiate read
+ readLowLevel(AP_DRW,&data);
+
+ while(--count)
+ {
+ readLowLevel(AP_DRW,&data);
+ STREAM_DATA(data);
+ // Check for address wrapping
+ if(count)
+ {
+ address += (1 << dataWidth);
+ if(!(address & ADDRESS_WRAPPING))
+ { // Write TAR register
+ JtagHandleError();
+ IHIL_Instr4(IR4_APACC);
+ writeLowLevel(AP_TAR, address);
+ readLowLevel(AP_DRW,&data);
+ }
+ }
+ }
+ IHIL_Instr4(IR4_DPACC);
+ readLowLevel(DP_RDBUFF,&data);
+ STREAM_DATA(data);
+ }
+
+ if(count)
+ { // More data expected
+ retVal = 1;
+ }
+ else
+ {
+ data = 0;
+ IHIL_Write_Read_Dp(DP_RDBUFF, &data, READ);
+ retVal = JtagHandleError();
+ }
+
+#endif
+ return retVal;
+}
+
+
+
+HAL_FUNCTION(_hal_MemApTransactionArmSwd)
+{
+ short retVal = 0;
+#ifdef MSP_FET
+ static unsigned long long apsel;
+ static unsigned short rnw;
+ static unsigned short dataWidth;
+ static unsigned long address;
+ static unsigned long count;
+
+ unsigned char *pBuf;
+ unsigned short sizeOfBuf;
+
+ unsigned long data;
+
+ if(flags & MESSAGE_NEW_MSG)
+ { // Do initial setup
+ apsel = 0ull;
+ if(STREAM_get_word((unsigned short *)&apsel) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_word(&rnw) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_word(&dataWidth) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_long(&address) == -1)
+ {
+ return -1;
+ }
+ if(STREAM_get_long(&count) == -1)
+ {
+ return -1;
+ }
+ if(!count)
+ { // Nothing to do, just return without failure
+ return 0;
+ }
+ count >>= dataWidth; // Calculate the number of transactions needed
+
+ // enalbe ORUNDETECT in CTRL/STAT
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &data, READ);
+ data |= 0x00000001;
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &data, WRITE);
+
+
+ // Write CSW register
+ data = cswValues[apsel & 0x3] | ((count == 1) ? AP_CSW_ADDRINC_OFF : AP_CSW_ADDRINC_SINGLE) | dataWidth;
+ IHIL_Write_Read_Ap(AP_CSW, &data, WRITE);
+
+ // Write TAR register
+ IHIL_Write_Read_Ap(AP_TAR, &address, WRITE);
+
+ if(rnw == READ)
+ {
+ unsigned long long retVal = 0, i = 0;
+ // dummy read
+ unsigned char regiser = SWD_AP | READ << 1 | (AP_DRW & 0x0c);
+ do
+ {
+ retVal = IHIL_SwdTransferData(regiser, &data, READ);
+ SwdHandleError();
+ }
+ while(++i < MAX_RETRY && retVal != SWD_ACK);
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+ // dummy read end
+ }
+ }
+ if(rnw == WRITE)
+ {
+ STREAM_get_buffer((void **)&pBuf,&sizeOfBuf);
+ while(count && sizeOfBuf)
+ {
+ unsigned long long retVal = 0, i = 0;
+ // Move to correct byte lane
+ switch(dataWidth)
+ {
+ case 0:
+ data = (*((unsigned char*) pBuf));
+ break;
+ case 1:
+ data = (*((unsigned short*) pBuf));
+ break;
+ default:
+ data = (*((unsigned long*) pBuf));
+ break;
+ }
+ data <<= (address & 0x3) * 8;
+
+ unsigned char regiser = SWD_AP | WRITE << 1 | (AP_DRW & 0x0c);
+ do
+ {
+ retVal = IHIL_SwdTransferData(regiser, &data, WRITE);
+ }
+ while(++i < MAX_RETRY && retVal != SWD_ACK);
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+
+ pBuf += (1 << dataWidth);
+ address += (1 << dataWidth);
+ if(sizeOfBuf >= (1 << dataWidth))
+ {
+ sizeOfBuf -= (1 << dataWidth);
+ }
+ else
+ {
+ sizeOfBuf = 0;
+ }
+ --count;
+
+ // Check for address wrapping
+ if(count && !(address & ADDRESS_WRAPPING))
+ { // Write TAR register
+ IHIL_Write_Read_Ap(AP_TAR, &address, WRITE);
+ SwdHandleError();
+ }
+ }
+ }
+ else
+ {
+ //Read
+ unsigned long long retVal = 0, i = 0;
+ unsigned char regiser = SWD_AP | READ << 1 | (AP_DRW & 0x0c);
+
+ while(--count)
+ {
+ i = 0;
+ data = 0;
+ do
+ {
+ retVal = IHIL_SwdTransferData(regiser, &data, READ);
+ }
+ while(++i < MAX_RETRY && retVal != SWD_ACK);
+ if(i == MAX_RETRY)
+ {
+ data = 0;
+ }
+ STREAM_DATA(data);
+
+ if(count)
+ {
+ address += (1 << dataWidth);
+ if(!(address & ADDRESS_WRAPPING))
+ {
+ SwdHandleError();
+
+ // Write TAR register
+ IHIL_Write_Read_Ap(AP_TAR, &address, WRITE);
+ //Trigger new read
+ i = 0;
+ do
+ {
+ retVal = IHIL_SwdTransferData(regiser, &data, READ);
+ SwdHandleError();
+ }
+ while(++i < MAX_RETRY && retVal != SWD_ACK);
+ }
+ }
+ }
+ }
+
+ if(count)
+ { // More data expected
+ retVal = 1;
+ }
+ else
+ {
+ IHIL_Write_Read_Dp(DP_RDBUFF, &data, READ);
+ STREAM_DATA(data);
+ SwdHandleError();
+
+ // disable ORUNDETECT in CTRL/STAT
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &data, READ);
+ data &= ~0x00000001;
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &data, WRITE);
+ }
+#endif
+ return retVal;
+}
diff --git a/Bios/src/hal/macros/PollJStateReg.c b/Bios/src/hal/macros/PollJStateReg.c
index fbc738a..8661177 100644
--- a/Bios/src/hal/macros/PollJStateReg.c
+++ b/Bios/src/hal/macros/PollJStateReg.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -49,95 +49,441 @@
#include "stddef.h"
#include "error_def.h"
#include "JTAG_defs.h"
+#include "global_variables.h"
-/**
- PollJStateReg
- Queries the JSTATE register and reports any changes in the relevant bits
- inData:
- outData:
-*/
-#define BP_HIT_MASK 0x100000000ull
-#define LPMX5_MASK 0x8000000000000000ull
+#define JSTATE20 0x20
+#define JSTATE21 0x21
+#define DSTATE_PC 0x00
-HAL_FUNCTION(_hal_PollJStateReg)
+#define ARM_PCMCTL0 (0x40010000UL)
+#define ARM_PCSR (0xE000101CUL)
+
+//-----------------------------------------------------------------------------
+#if defined(eZ_FET) || defined(MSP_FET)
+//-----------------------------------------------------------------------------
+
+#pragma pack(1)
+typedef struct DState432
{
- decl_out
- decl_out_long
- decl_out_long_long
- short RetState = HALERR_UNDEFINED_ERROR;
- unsigned long lMaskLow = 0, lMaskHigh = 0;
- unsigned long long JStateMask = 0;
- unsigned short forceSendState = 0;
- StreamSafe stream_tmp;
+ unsigned long pc;
+ unsigned long pstate;
+} DState432_t;
+#pragma pack()
+
+#pragma pack(1)
+typedef struct DState430
+{
+ unsigned long long JState;
+} DState430_t;
+#pragma pack()
+
+#pragma pack(1)
+typedef struct EnergyTraceRecordEt7
+{
+ unsigned char eventID;
+ unsigned long TimeStamp;
+ union
+ {
+ DState430_t dstate430;
+ DState432_t dstate432;
+ };
+ unsigned long currentTicks;
+ unsigned int voltage;
+} EnergyTraceRecordEt7_t;
+#pragma pack()
- // Contains the previously recorded JSTATE
- static unsigned long long prevJState = 0x0000000000000000;
+#pragma pack(1)
+typedef struct EnergyTraceRecordEt8
+{
+ unsigned char eventID;
+ unsigned long TimeStamp;
+ unsigned long currentTicks;
+ unsigned int voltage;
+} EnergyTraceRecordEt8_t;
+#pragma pack()
- STREAM_get_long(&lMaskLow);
- STREAM_get_long(&lMaskHigh);
-
- STREAM_get_word(&forceSendState);
+#define NUM_RECORDS_TO_CAPTURE 5
- JStateMask = ((unsigned long long)lMaskHigh << 32) | lMaskLow;
+typedef enum ETMode
+{
+ ET_OFF_MODE = 0,
+} ETMode_t;
- // Query new JSTATE
- jstate_read
- SetReg_64Bits(0x0000000000000000)
-
- if(!forceSendState && ((prevJState & BP_HIT_MASK) != (lOut_long_long & BP_HIT_MASK))&&(lOut_long_long & BP_HIT_MASK))
+
+unsigned long getTimeStamp();
+unsigned long getIMeasure();
+
+#pragma inline=forced
+unsigned long getTimeStamp()
+{
+ unsigned long TimeStamp = 0;
+ unsigned short currentTA0R = TA0R;
+ unsigned short currentTA0R2 = TA0R;
+ unsigned short * TimeTick = 0;
+ unsigned short testa = 0;
+
+ if (currentTA0R2 < currentTA0R)
{
- STREAM_put_word(BP_HIT_FLAG);
- STREAM_put_word(0x80);
- STREAM_put_long(lOut_long_long & 0xFFFFFFFF);
- STREAM_put_long(lOut_long_long >> 32);
-
- RetState = 1;
- }
- else if(forceSendState || ((prevJState & LPMX5_MASK) != (lOut_long_long & LPMX5_MASK)))
- {
- STREAM_put_word(JSTATE_CAPTURE_FLAG);
- STREAM_put_long(lOut_long_long & 0xFFFFFFFF);
- STREAM_put_long(lOut_long_long >> 32);
-
- if (((lOut_long_long & LPMX5_MASK) == 0) && !forceSendState)
- { // Device woke up on its own, so sync again
+ currentTA0R = currentTA0R2;
+ }
+
+ STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_TIME_TICK, &TimeTick);
+ testa = *(unsigned short*)TimeTick;
+
+ TimeStamp = (((unsigned long)testa) << 16) + (unsigned long)(currentTA0R & 0xFFFF);
+ return TimeStamp;
+}
+
+#pragma inline=forced
+unsigned long getIMeasure()
+{
+ unsigned long IMeasure = 0;
+#ifdef MSP_FET
+ unsigned short currentIClocks = TB0R;
+ unsigned short currentIClocks2 = TB0R;
+#else
+ unsigned short currentIClocks = TA2R;
+ unsigned short currentIClocks2 = TA2R;
+#endif
+ unsigned short* ITick = 0;
+ unsigned short testt = 0;
+
+ if (currentIClocks2 < currentIClocks)
+ {
+ currentIClocks = currentIClocks2;
+ }
+
+ STREAM_getSharedVariable(ID_SHARED_MEMORY_TYPE_I_TICK, &ITick);
+ testt = *(unsigned short*)ITick;
+
+ IMeasure = (((unsigned long)testt) << 16) + (unsigned long)(currentIClocks & 0xFFFF);
+ return IMeasure;
+}
+//-----------------------------------------------------------------Event type 8 only analog ------------------------------------------------------------------
+
+HAL_FUNCTION(_hal_PollJStateRegEt8)
+{
+ static EnergyTraceRecordEt8_t buffer[NUM_RECORDS_TO_CAPTURE] = {0};
+ static unsigned short currentIndex = 0;
+ double vcc = 0;
+ double extVcc= 0 ;
+ unsigned short mEtGatedMode = 0;
+ unsigned short* syncWithRunVarAddress = 0;
+
+ if(STREAM_discard_bytes(8) == -1)
+ {
+ return -1;
+ }
+ // request shared var from bios to sync with RestoreContextRun function
+
+ STREAM_get_word(&mEtGatedMode);
+
+ if(mEtGatedMode)
+ {
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ if(!(*syncWithRunVarAddress))
+ {
+ currentIndex = 0;
+ return 2;
+ }
+ }
+ else
+ {
+ return -1;
+ }
+ }
+
+ buffer[currentIndex].eventID = 8;
+
+ while(TA0R > 0xFFA0 || TA0R < 2)
+ {
+ IHIL_Delay_1us(3);
+ }
+
+ _DINT_FET();
+
+ buffer[currentIndex].TimeStamp = getTimeStamp();
+ buffer[currentIndex].currentTicks = getIMeasure();
+
+ IHIL_GetVcc(&vcc, &extVcc);
+
+ _EINT_FET();
+ buffer[currentIndex].voltage = (unsigned int)(vcc ? vcc : extVcc);
+
+ // Energy trace data is available send it first -> don't check LPMx.5 or Breakpoint hit
+ if(++currentIndex == NUM_RECORDS_TO_CAPTURE)
+ {
+ currentIndex = 0;
+ STREAM_put_word(ENERGYTRACE_INFO); // Event ID
+ STREAM_put_byte(NUM_RECORDS_TO_CAPTURE); // Number of records that is sent
+ STREAM_put_byte(sizeof(EnergyTraceRecordEt8_t)); // Size of Record
+ STREAM_put_bytes((void *)buffer, sizeof(EnergyTraceRecordEt8_t) * NUM_RECORDS_TO_CAPTURE);
+ return 1;
+ }
+
+ return 2;
+}
+//-----------------------------------------------------------------------------
+#endif
+//-----------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------------
+#ifdef MSP430_UIF
+//-----------------------------------------------------------------------------
+unsigned short targetIsRunning = 0;
+
+HAL_FUNCTION(_hal_PollJStateRegEt8)
+{
+ return -1;
+}
+//-----------------------------------------------------------------------------
+#endif
+//-----------------------------------------------------------------------------
+
+#pragma inline=forced
+short PollforBpHit(unsigned long long JStateValue)
+{
+ unsigned short* syncWithRunVarAddress = 0;
+ if((!(JStateValue & LPMX5_MASK_J)) && (JStateValue & BP_HIT_MASK_J))
+ {
+ STREAM_put_word(BP_HIT_FLAG);
+ STREAM_put_long(JStateValue & 0xFFFFFFFF);
+ STREAM_put_long(JStateValue >> 32);
+
+ // Stop polling in next loop run --> Device CPU is stoped due to BP Hit
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+ return 1;
+ }
+ return 2;
+}
+
+unsigned long long prevJState = 0x0000000000000000;
+
+#pragma inline=forced
+short PollforLPMx5(unsigned long long JStateValue, unsigned short forceSendState)
+{
+ StreamSafe stream_tmp;
+ short RetState = -1, LPMx5Wakeup = 0;
+
+ unsigned short* syncWithRunVarAddress = 0;
+
+ // if we enter an LPM4 and the PC indicates taht the device wakes up form
+ // LPMx.5 scan mailbox for Bootcode pattern
+ if (!(JStateValue & LPMX5_MASK_J) &&
+ (((JStateValue & LPM4_1MASK_J) == LPM4_1MASK_J) || ((JStateValue & LPM4_2MASK_J) == LPM4_2MASK_J)))
+ {
+ if (jmb_exchange() == JTAGVERSION99)
+ {
+ // check if JTAG mailbox is ready & perform input request
+ if (SetReg_16Bits(0x0004) == 0x1207)
+ {
+ if (SetReg_16Bits(0x0000) == 0xA55A)
+ {
+ LPMx5Wakeup = 1;
+ }
+ }
+ }
+ }
+
+ if(forceSendState || ((prevJState & LPMX5_MASK_J) != (JStateValue & LPMX5_MASK_J)) || LPMx5Wakeup)
+ {
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_long(JStateValue & 0xFFFFFFFF);
+ STREAM_put_long(JStateValue >> 32);
+
+ if(((!(JStateValue & LPMX5_MASK_J)) && !forceSendState) || (LPMx5Wakeup && !forceSendState))
+ { //Device woke up on its own, so sync again
//Setup values for watchdog control regsiters
- unsigned char DummyIn[8] = {WDTCTL_ADDRESS_5XX & 0xFF,(WDTCTL_ADDRESS_5XX >> 8) & 0xFF,
+ unsigned char DummyIn[8] = {wdtctlAddress5xx & 0xFF,(wdtctlAddress5xx >> 8) & 0xFF,
WDTHOLD_DEF,WDTPW_DEF,0,0,0,0};
- unsigned short read = 0;
- unsigned short Mova;
- unsigned short Pc_l;
-
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
- // Read and Set the Program counter
- ReadMemWordXv2(0xFFFE, read)
- Mova = 0x0080;
- Mova += (unsigned short)((read >> 8) & 0x00000F00);
- Pc_l = (unsigned short)((read & 0xFFFF));
- SetPcXv2(Mova, (Pc_l+2));
-
- // Set status register
- WriteCpuRegXv2(2,0)
- }
+ // Stop polling in next loop run --> Device CPU is stoped due to BP Hit
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+ }
RetState = 1;
}
else
{
RetState = 2;
}
-
if(forceSendState)
{
RetState = 0;
}
else
{
- prevJState = lOut_long_long;
+ prevJState = JStateValue;
}
-
return RetState;
}
+
+//-----------------------------------------------------------------Event type 7----------------------------------------------------------------------
+
+/**
+ PollJStateReg
+ Queries the JSTATE register and reports any changes in the relevant bits
+ inData:
+ outData: [ / ]
+*/
+short PollJStateReg(unsigned short JStateVersion);
+
+HAL_FUNCTION(_hal_PollJStateReg20)
+{
+ return PollJStateReg(JSTATE20);
+}
+
+HAL_FUNCTION(_hal_PollJStateReg)
+{
+ return PollJStateReg(JSTATE21);
+}
+
+HAL_FUNCTION(_hal_PollDStatePCRegEt)
+{
+ return PollJStateReg(DSTATE_PC);
+}
+
+short PollJStateReg(unsigned short JStateVersion)
+{
+ unsigned long long lOut_long_long = 0;
+#if defined(MSP_FET)
+ unsigned long lOut_long = 0;
+#endif
+ short RetState = -1;
+ unsigned short forceSendState = 0;
+
+ unsigned short mBreakpointPollingActive = 0;
+ unsigned short mLpmPollingActive = 0;
+ unsigned short mEtActive = 0;
+ unsigned short* syncWithRunVarAddress = 0;
+
+ STREAM_get_word(&forceSendState);
+ STREAM_get_word(&mBreakpointPollingActive);
+ STREAM_get_word(&mLpmPollingActive);
+ STREAM_get_word(&mEtActive);
+
+ if(STREAM_discard_bytes(2) == -1)
+ {
+ return -1;
+ }
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(!syncWithRunVarAddress)
+ {
+ return -1;
+ }
+
+ if(IHIL_GetPrevInstruction() != IR_JSTATE_ID)
+ {
+ // Query new JSTATE
+ jstate_read();
+ }
+
+#if defined(eZ_FET) || defined(MSP_FET)
+ // check if Energy Trace should be enabled
+ if(*syncWithRunVarAddress && mEtActive)
+ {
+ static EnergyTraceRecordEt7_t buffer[NUM_RECORDS_TO_CAPTURE] = {0};
+ static unsigned short currentIndex = 0;
+ double vcc = 0;
+ double extVcc = 0;
+
+ buffer[currentIndex].eventID = 7;
+
+ while(TA0R > 0xFFA0 || TA0R < 2)
+ {
+ IHIL_Delay_1us(3);
+ }
+
+ _DINT_FET();
+
+ buffer[currentIndex].TimeStamp = getTimeStamp();
+ buffer[currentIndex].currentTicks = getIMeasure();
+
+ IHIL_GetVcc(&vcc, &extVcc);
+
+ _EINT_FET();
+
+#if defined(MSP_FET)
+ if(JStateVersion == DSTATE_PC)
+ {
+ // read out PC sampling register
+ IHIL_Write_Read_Mem_Ap(0, ARM_PCSR, &lOut_long, READ);
+ buffer[currentIndex].dstate432.pc = lOut_long;
+ // get PCMCTL0 register
+ IHIL_Write_Read_Mem_Ap(0, ARM_PCMCTL0, &lOut_long, READ);
+ buffer[currentIndex].dstate432.pstate = lOut_long;
+ }
+ else
+ {
+#endif
+ lOut_long_long = SetReg8_64Bits(0xFFFFFFFFFFFFFFFF,30,JStateVersion);
+ buffer[currentIndex].dstate430.JState = lOut_long_long;
+#if defined(MSP_FET)
+ }
+#endif
+ buffer[currentIndex].voltage = (unsigned short)(vcc ? vcc : extVcc);
+
+ // Energy trace data is available send it first -> don't check LPMx.5 or Breakpoint hit
+ if(++currentIndex == NUM_RECORDS_TO_CAPTURE)
+ {
+ currentIndex = 0;
+ STREAM_put_word(ENERGYTRACE_INFO); // Event ID
+ STREAM_put_byte(NUM_RECORDS_TO_CAPTURE); // Number of records that is sent
+ STREAM_put_byte(sizeof(EnergyTraceRecordEt7_t)); // Size of Record
+ STREAM_put_bytes((void *)buffer, sizeof(EnergyTraceRecordEt7_t) * NUM_RECORDS_TO_CAPTURE);
+ return 1;
+ }
+ }
+ else
+#endif
+ {
+ if(!(*syncWithRunVarAddress))
+ {
+ if(forceSendState)
+ {
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_long(0);
+ STREAM_put_long(0);
+ return 0;
+ }
+ else
+ {
+ return 2;
+ }
+ }
+ lOut_long_long = SetReg_64Bits(0xFFFFFFFFFFFFFFFF);
+ }
+
+ if(*syncWithRunVarAddress && mBreakpointPollingActive)
+ {
+ RetState = PollforBpHit(lOut_long_long);
+ if(RetState == 1)
+ {
+ return RetState;
+ }
+ }
+
+ if((*syncWithRunVarAddress || forceSendState) && mLpmPollingActive && (lOut_long_long>>56 & 0xC0) != 0x40)
+ {
+ RetState = PollforLPMx5(lOut_long_long, forceSendState);
+ if(RetState == 1 || RetState == 0)
+ {
+ return RetState;
+ }
+ }
+ return 2;
+}
diff --git a/Bios/src/hal/macros/PollJStateReg430I.c b/Bios/src/hal/macros/PollJStateReg430I.c
new file mode 100644
index 0000000..20b1ab6
--- /dev/null
+++ b/Bios/src/hal/macros/PollJStateReg430I.c
@@ -0,0 +1,93 @@
+/**
+* \file PollStateReg430I.c
+*
+* \brief Write words (16bit values) to a memory mapped location
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULMACROS
+//! \file PollJStateReg430I.c
+//! \brief
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+
+/**
+ PollJStateReg430I
+ Queries the JSTATE register and reports any changes in the relevant bits
+ inData:
+ outData:
+*/
+
+HAL_FUNCTION(_hal_PollJStateReg430I)
+{
+ short RetState = -1;
+ unsigned short forceSendState = 0;
+ unsigned short lOut = 0;
+
+ STREAM_get_word(&forceSendState);
+
+ if(forceSendState)
+ {
+ lOut = cntrl_sig_capture();
+
+ //To check if the device woke up in the meantime
+ //and prevent an unwanted reset/BSL entry sequence
+ if (lOut != JTAGVERSION)
+ {
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ IHIL_CheckJtagFuse();
+ lOut = cntrl_sig_capture();
+ }
+
+ if(lOut == JTAGVERSION)
+ { // Active
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_long(0x00000000);
+ STREAM_put_long(0x00000000);
+ }
+ else
+ { // LPMx.5
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_long(0x00000000);
+ STREAM_put_long(0xC0000000);
+ }
+ RetState = 0;
+ }
+ return RetState;
+}
diff --git a/Bios/src/hal/macros/PollJStateRegFR57xx.c b/Bios/src/hal/macros/PollJStateRegFR57xx.c
index 70bf7cb..36e1c23 100644
--- a/Bios/src/hal/macros/PollJStateRegFR57xx.c
+++ b/Bios/src/hal/macros/PollJStateRegFR57xx.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -45,71 +45,67 @@
#include "hal_ref.h"
#include "stream.h"
#include "error_def.h"
+#include "global_variables.h"
+#include "JtagId.h"
#define ACTIVE 1
#define LPM5_MODE 2
+int intstate = 0;
+
unsigned char getSystemState()
{
- volatile unsigned char TDO_Value = 0;
- static int intstate = 0;
- volatile unsigned short internalPC =0;
-
- decl_out
-
- EDT_Delay_1ms(5);
- TDO_Value = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if(TDO_Value == JTAGVERSION91)
+ volatile unsigned char TDO_Value = 0;
+ unsigned char state = ACTIVE;
+
+ IHIL_Delay_1ms(5);
+ if (jtagIdIsXv2(cntrl_sig_capture()))
{
- intstate = 0; // Active mode
+ intstate = 0; // Active mode
}
- else
- {
+ else
+ {
intstate++;
- if (intstate == 1)
- {
- TDO_Value = 0xFF;
- }
+ state = LPM5_MODE;
}
+
if (intstate > 1) // device is in LPMx. now
{
- intstate = 0;
- EDT_Close();
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- TDO_Value = EDT_Instr(IR_CNTRL_SIG_16BIT);
- if ( (TDO_Value == JTAGVERSION91) && (EDT_Instr(IR_JMB_EXCHANGE) == JTAGVERSION91)) // if device wakeup in between check content of jtag mailbox
- {
+ intstate = 0;
+ IHIL_EntrySequences(RSTHIGH);
+ IHIL_TapReset();
+
+ TDO_Value = cntrl_sig_capture();
+ if ( jtagIdIsXv2(TDO_Value) && (jmb_exchange() == TDO_Value)) // if device wakeup in between check content of jtag mailbox
+ {
+ state = ACTIVE;
// check if JTAG mailbox is ready & perform input request
- SetReg_16Bits(0x0004)
- if (lOut == 0x1207)
- {
- SetReg_16Bits(0x0000)
- if (lOut == 0xA55A)
- {
+ if(SetReg_16Bits(0x0004) == 0x1207) // OUTRDY | INRDY JMB_OUTREQ
+ {
+ if (SetReg_16Bits(0x0000) == 0xA55A)
+ {
StreamSafe stream_tmp;
-
+
//Setup values for watchdog control regsiters
- unsigned char Dummy[8] = {WDTCTL_ADDRESS_5XX & 0xFF,(WDTCTL_ADDRESS_5XX >> 8) & 0xFF,
+ unsigned char Dummy[8] = {wdtctlAddress5xx & 0xFF,(wdtctlAddress5xx >> 8) & 0xFF,
WDTHOLD_DEF|WDTSSEL_ACLK,WDTPW_DEF,0,0,0,0};
STREAM_internal_stream(Dummy, sizeof(Dummy), 0, 0, &stream_tmp);
HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
-
- // Back to active mode
- TDO_Value = JTAGVERSION91;
}
else
{
TDO_Value = 0xFF;
+ state = LPM5_MODE;
}
}
}
}
- return TDO_Value;
+ return state;
}
+unsigned int LPMx5_DEVICE_STATE = ACTIVE; // Assume device starts in Wake-up mode
/**
PollJStateReg
Queries the JSTATE register and reports any changes in the relevant bits
@@ -119,68 +115,51 @@ unsigned char getSystemState()
HAL_FUNCTION(_hal_PollJStateRegFR57xx)
{
short RetState = HALERR_UNDEFINED_ERROR;
- unsigned long lMaskLow = 0, lMaskHigh = 0;
- unsigned long long JStateMask = 0;
-
- volatile unsigned char TDO_Value = 0;
-
- static unsigned int LPMx5_DEVICE_STATE = ACTIVE; // Assume device starts in Wake-up mode
+
+ volatile unsigned char state = LPM5_MODE;
+
unsigned int oldLPMx5_DEVICE_STATE = LPMx5_DEVICE_STATE; // Initialize to not transition
-
- unsigned short forceSendState = 0;
- STREAM_get_long(&lMaskLow);
- STREAM_get_long(&lMaskHigh);
-
- STREAM_get_word(&forceSendState);
+ unsigned short forceSendState = 0;
+ STREAM_get_word(&forceSendState);
+ state = getSystemState();
- JStateMask = ((unsigned long long)lMaskHigh << 32) | lMaskLow;
-
- TDO_Value = getSystemState();
-
// this is for querry LPMx.5 just one time
if(forceSendState)
{
- if(TDO_Value == JTAGVERSION91)
+ if (state == ACTIVE)
{ // Active
- STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
STREAM_put_long(0x00000000);
STREAM_put_long(0x00000000);
}
else
{ // LPMx.5
- STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
STREAM_put_long(0x00000000);
- STREAM_put_long(0xC0000000 & (unsigned long)(JStateMask >> 32 & 0xFFFFFFFF));
- }
+ STREAM_put_long(0x40000000);
+ }
RetState = 0;
}
else
{
- if(TDO_Value == JTAGVERSION91)
- {
- LPMx5_DEVICE_STATE = ACTIVE;
- }
- else
- {
- LPMx5_DEVICE_STATE = LPM5_MODE;
- }
-
+ LPMx5_DEVICE_STATE = state;
+
if(oldLPMx5_DEVICE_STATE != LPMx5_DEVICE_STATE)
{
if( LPMx5_DEVICE_STATE == ACTIVE )
{
-
- STREAM_put_word(JSTATE_CAPTURE_FLAG);
+
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
STREAM_put_long(0x00000000);
STREAM_put_long(0x00000000);
RetState = 1;
}
- if( LPMx5_DEVICE_STATE == LPM5_MODE )
+ else
{
- STREAM_put_word(JSTATE_CAPTURE_FLAG);
+ STREAM_put_word(JSTATE_CAPTURE_FLAG);
STREAM_put_long(0x00000000);
- STREAM_put_long(0xC0000000 & (unsigned long)(JStateMask >> 32 & 0xFFFFFFFF));
+ STREAM_put_long(0x40000000);
RetState = 1;
}
}
diff --git a/Bios/src/hal/macros/Psa.c b/Bios/src/hal/macros/Psa.c
index bd10d03..93c50cf 100644
--- a/Bios/src/hal/macros/Psa.c
+++ b/Bios/src/hal/macros/Psa.c
@@ -8,35 +8,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -62,18 +62,24 @@
psaCrc: CRC-16 value
*/
+
+extern unsigned short enhancedPsa;
+
HAL_FUNCTION(_hal_Psa)
{
//Setup values for watchdog control regsiters
unsigned char DummyIn[4] = {WDTCTL_ADDRESS & 0xFF, (WDTCTL_ADDRESS >> 8) & 0xFF,
WDTHOLD_DEF, WDTPW_DEF};
- decl_out
- decl_instrLoad
unsigned long addr;
unsigned long length;
StreamSafe stream_tmp;
short ret_value = 0;
-
+
+#if defined(eZ_FET) || defined(MSP_FET)
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+#endif
+
if(STREAM_get_long(&addr) != 0)
{
return HALERR_PSA_NO_ADDRESS;
@@ -91,20 +97,35 @@ HAL_FUNCTION(_hal_Psa)
return ret_value;
}
- instrLoad
- EDT_SetupPsa(addr);
-
- data_psa
+ instrLoad();
- EDT_StepPsa(length);
+ if(enhancedPsa)
+ {
+ SetPc(addr - 4);
+ JTAG_EnhancedPsaSetup(addr);
+ }
+ else
+ {
+ JTAG_PsaSetup(addr);
+ }
+
+ data_psa();
+
+ IHIL_StepPsa(length);
+
+ shift_out_psa();
+ STREAM_put_word(SetReg_16Bits(0));
- shift_out_psa
- SetReg_16Bits(0)
- STREAM_put_word(lOut);
-
- TCLKset1
+ IHIL_Tclk(1);
- EDT_EndPsa();
+ if(enhancedPsa)
+ {
+ JTAG_EnhancedPsaEnd();
+ }
+ else
+ {
+ JTAG_PsaEnd();
+ }
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
ret_value = HAL_SyncJtag_AssertPor_SaveContext(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
diff --git a/Bios/src/hal/macros/PsaX.c b/Bios/src/hal/macros/PsaX.c
index 55126a8..7be7c3d 100644
--- a/Bios/src/hal/macros/PsaX.c
+++ b/Bios/src/hal/macros/PsaX.c
@@ -8,35 +8,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -54,12 +54,16 @@ HAL_FUNCTION(_hal_PsaX)
//Setup values for watchdog control regsiters
unsigned char DummyIn[4] = {WDTCTL_ADDRESS & 0xFF, (WDTCTL_ADDRESS >> 8) & 0xFF,
WDTHOLD_DEF, WDTPW_DEF};
- decl_out
unsigned long addr;
unsigned long length;
StreamSafe stream_tmp;
short ret_value = 0;
-
+
+#if defined(eZ_FET) || defined(MSP_FET)
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+#endif
+
if(STREAM_get_long(&addr) != 0)
{
return HALERR_PSA_NO_ADDRESS;
@@ -77,23 +81,19 @@ HAL_FUNCTION(_hal_PsaX)
return ret_value;
}
- SetPcX(addr - 4)
- halt_cpu
- TCLKset0
- data_16bit
- SetReg_16Bits_((unsigned short)(addr - 2))
-
- data_psa
+ SetPcX(addr - 4);
+ JTAG_EnhancedPsaSetup(addr);
+
+ data_psa();
+
+ IHIL_StepPsa(length);
- EDT_StepPsa(length);
+ shift_out_psa();
+ STREAM_put_word(SetReg_16Bits(0));
- shift_out_psa
- SetReg_16Bits(0)
- STREAM_put_word(lOut);
-
- TCLKset1
+ IHIL_Tclk(1);
- EDT_EndPsa();
+ JTAG_EnhancedPsaEnd();
STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
ret_value = HAL_SyncJtag_AssertPor_SaveContextX(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
diff --git a/Bios/src/hal/macros/PsaXv2.c b/Bios/src/hal/macros/PsaXv2.c
index 8e2fe16..448fdbc 100644
--- a/Bios/src/hal/macros/PsaXv2.c
+++ b/Bios/src/hal/macros/PsaXv2.c
@@ -8,35 +8,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -47,7 +47,7 @@
#include "stream.h"
#include "stddef.h"
-extern unsigned char mclk_modules[16];
+extern unsigned char mclk_modules[32];
/**
PsaXv2
@@ -63,62 +63,65 @@ extern unsigned char mclk_modules[16];
*/
HAL_FUNCTION(_hal_PsaXv2)
{
- //Setup values for watchdog control regsiters
- unsigned char DummyIn[21] = {WDTCTL_ADDRESS_5XX & 0xFF, (WDTCTL_ADDRESS_5XX >> 8) & 0xFF,
+ //Setup values for watchdog control regsiters
+ unsigned char DummyIn[37] = {wdtctlAddress5xx & 0xFF, (wdtctlAddress5xx >> 8) & 0xFF,
WDTHOLD_DEF, WDTPW_DEF};
- decl_out
- unsigned long addr;
- unsigned long length;
- int i;
- StreamSafe stream_tmp;
-
- STREAM_get_long(&addr);
- STREAM_get_long(&length);
-
- for(i=0;i<16;i++)
- {
- DummyIn[5+i]=mclk_modules[i];
- }
- STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
- HAL_SyncJtag_AssertPor_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
- STREAM_external_stream(&stream_tmp);
+ unsigned long addr;
+ unsigned long length;
+ int i;
+ StreamSafe stream_tmp;
+
+#if defined(eZ_FET) || defined(MSP_FET)
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+#endif
+
+ STREAM_get_long(&addr);
+ STREAM_get_long(&length);
+
+ for(i=0;i<32;i++)
+ {
+ DummyIn[5+i]=mclk_modules[i];
+ }
+ STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
+ HAL_SyncJtag_AssertPor_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
+ STREAM_external_stream(&stream_tmp);
+
+ {
+ unsigned short Mova;
+ unsigned short Pc_l;
+
+ Mova = 0x0080;
+ Mova += (unsigned short)(((addr)>>8) & 0x00000F00);
+ Pc_l = (unsigned short)(((addr) & 0xFFFF));
+ /**
+ * Start of macro: i_SetPc
+ */
+ SetPcXv2(Mova, Pc_l);
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ /**
+ * End of macro: i_SetPc
+ */
+ }
+
+ data_16bit();
+ SetReg_16Bits((unsigned short)(addr - 2));
+ data_psa();
- {
- unsigned short Mova;
- unsigned short Pc_l;
+ IHIL_StepPsa(length);
- Mova = 0x0080;
- Mova += (unsigned short)(((addr)>>8) & 0x00000F00);
- Pc_l = (unsigned short)(((addr) & 0xFFFF));
- /**
- * Start of macro: i_SetPc
- */
- SetPcXv2(Mova, Pc_l);
- TCLKset1
- cntrl_sig_16bit
- SetReg_16Bits_(0x0501)
- /**
- * End of macro: i_SetPc
- */
- }
+ shift_out_psa();
+ STREAM_put_word(SetReg_16Bits(0));
- data_16bit
- SetReg_16Bits_((unsigned short)(addr - 2));
- data_psa
+ for(i=0;i<32;i++)
+ {
+ DummyIn[5+i] = mclk_modules[i];
+ }
+ STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
+ HAL_SyncJtag_AssertPor_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
+ STREAM_external_stream(&stream_tmp);
- EDT_StepPsa(length);
-
- shift_out_psa
- SetReg_16Bits(0)
- STREAM_put_word(lOut);
-
- for(i=0;i<16;i++)
- {
- DummyIn[5+i] = mclk_modules[i];
- }
- STREAM_internal_stream(DummyIn, sizeof(DummyIn), NULL, 0, &stream_tmp);
- HAL_SyncJtag_AssertPor_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
- STREAM_external_stream(&stream_tmp);
-
- return 0;
+ return 0;
}
diff --git a/Bios/src/hal/macros/ReadAllCpuRegs.c b/Bios/src/hal/macros/ReadAllCpuRegs.c
index e8221b2..0bc7556 100644
--- a/Bios/src/hal/macros/ReadAllCpuRegs.c
+++ b/Bios/src/hal/macros/ReadAllCpuRegs.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -58,19 +58,14 @@
*/
HAL_FUNCTION(_hal_ReadAllCpuRegs)
{
- decl_out
unsigned char Registers;
- unsigned short tmp;
-
for (Registers = 1; Registers < 16; Registers++)
{
if(Registers == 2)
{
Registers += 2;
}
- ReadCpuReg(Registers, tmp);
- STREAM_put_word(tmp);
-// STREAM_put_byte(0);
+ STREAM_put_word(ReadCpuReg(Registers));
}
return 0;
diff --git a/Bios/src/hal/macros/ReadAllCpuRegsArm.c b/Bios/src/hal/macros/ReadAllCpuRegsArm.c
new file mode 100644
index 0000000..8b69687
--- /dev/null
+++ b/Bios/src/hal/macros/ReadAllCpuRegsArm.c
@@ -0,0 +1,120 @@
+/*
+ * \ingroup MODULMACROSMSP432
+ *
+ * \file ReadAllCpuRegsArm.c
+ *
+ * \brief Read CPU register values, except R0 and R2
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "error_def.h"
+
+/**
+ ReadAllCpuRegsArm
+ Read CPU register values.
+ inData: -
+ outData: R0-R12, SP, LR, PC, SR, XPRS,SpecialRegs, MSP_SP, PSP_SP
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+short ReadCpurRegArm(unsigned long *data, unsigned long Rx)
+{
+ unsigned char retry = 0;
+ IHIL_Write_Read_Mem_Ap(0, DCRSR, &Rx, WRITE); // Request Read
+
+ retry = MAX_RETRY;
+
+ // check if wirte was sucessfully
+ unsigned long returnVal = 0;
+ do
+ {
+ IHIL_Write_Read_Mem_Ap(0, DHCSR, &returnVal, READ);
+ } while(--retry && !(returnVal & S_REGRDY));
+
+ IHIL_Write_Read_Mem_Ap(0, DCRDR, data, READ); // Read value
+
+ if(!retry)
+ {
+ return 0;
+ }
+ return 1;
+}
+
+
+HAL_FUNCTION(_hal_ReadAllCpuRegsArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long data = 0;
+ // Read the General Purpose registers.
+ for (unsigned short Rx = 0; Rx < 16; ++Rx)
+ {
+ if(!ReadCpurRegArm(&data, Rx))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_put_long(data);
+ }
+
+ if(!ReadCpurRegArm(&data, xPSR_REG))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_put_long(data);
+
+ if(!ReadCpurRegArm(&data, spec_REG))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_put_long(data);
+
+ if(!ReadCpurRegArm(&data, MSP_SP))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_put_long(data);
+
+ if(!ReadCpurRegArm(&data, PSP_SP))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_put_long(data);
+#endif
+ return 0;
+}
diff --git a/Bios/src/hal/macros/ReadAllCpuRegsX.c b/Bios/src/hal/macros/ReadAllCpuRegsX.c
index a008c25..f53d8e8 100644
--- a/Bios/src/hal/macros/ReadAllCpuRegsX.c
+++ b/Bios/src/hal/macros/ReadAllCpuRegsX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -48,7 +48,6 @@
HAL_FUNCTION(_hal_ReadAllCpuRegsX)
{
- decl_out
unsigned char Registers;
unsigned long tmp = 0;
@@ -58,7 +57,7 @@ HAL_FUNCTION(_hal_ReadAllCpuRegsX)
{
Registers += 2;
}
- ReadCpuRegX(Registers, tmp);
+ tmp = ReadCpuRegX(Registers);
STREAM_put_bytes((unsigned char*)&tmp, 3);
}
return 0;
diff --git a/Bios/src/hal/macros/ReadAllCpuRegsXv2.c b/Bios/src/hal/macros/ReadAllCpuRegsXv2.c
index 619641e..3209eeb 100644
--- a/Bios/src/hal/macros/ReadAllCpuRegsXv2.c
+++ b/Bios/src/hal/macros/ReadAllCpuRegsXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -47,37 +47,46 @@
extern unsigned short altRomAddressForCpuRead;
/**
- ReadAllCpuRegsXv2
- Read CPU register values, except R0 and R2. This function is for 16bit CPUs with note 1377.
- inData: -
- outData: {12}
- SP: stack pointer register (R1)
- Rn: registers R4-R15
+ReadAllCpuRegsXv2
+Read CPU register values, except R0 and R2. This function is for 16bit CPUs with note 1377.
+inData: -
+outData: {12}
+SP: stack pointer register (R1)
+Rn: registers R4-R15
*/
HAL_FUNCTION(_hal_ReadAllCpuRegsXv2)
{
- decl_out
- unsigned short Registers;
- unsigned short Mova;
- unsigned long Rx;
+ unsigned short Registers;
+ unsigned short Mova;
+ unsigned long Rx;
+ unsigned short id = cntrl_sig_capture();
- // Read the General Purpose registers.
- for (Registers = 1; Registers < 16; Registers++) // Read registers SP, and R4 through R15.
- {
- if(Registers == 2)
+ // Read the General Purpose registers.
+ for (Registers = 1; Registers < 16; Registers++) // Read registers SP, and R4 through R15.
{
- Registers += 2;
- }
- Mova = 0x0060;
- Mova += (Registers << 8) & 0x0F00;
- ReadCpuRegXv2(Mova, Rx);
- STREAM_put_bytes((unsigned char*)&Rx, 3);
- }
+ if(Registers == 2)
+ {
+ Registers += 2;
+ }
+ Mova = 0x0060;
+ Mova += (Registers << 8) & 0x0F00;
+ Rx = ReadCpuRegXv2(Mova);
+ STREAM_put_bytes((unsigned char*)&Rx, 3);
- // all CPU register values have been moved to the JMBOUT register address
- // -> JMB needs to be cleared again!!
- i_ReadJmbOut(Rx)
- return 0;
+ if(id == JTAGVERSION91 || id == JTAGVERSION99 || id == JTAGVERSION98)
+ {
+ // Set PC to "safe" address
+ SetPcXv2(0x0080, SAFE_PC_ADDRESS);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
+ }
+ }
+ // all CPU register values have been moved to the JMBOUT register address
+ // -> JMB needs to be cleared again!!
+ Rx = i_ReadJmbOut();
+ return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemBytes.c b/Bios/src/hal/macros/ReadMemBytes.c
index 4d91e24..1d20d16 100644
--- a/Bios/src/hal/macros/ReadMemBytes.c
+++ b/Bios/src/hal/macros/ReadMemBytes.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -57,12 +57,11 @@
HAL_FUNCTION(_hal_ReadMemBytes)
{
- decl_out
short ret_value = 0;
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
-
+
if(STREAM_get_long(&lAddr) != 0)
{
ret_value = HALERR_READ_MEM_BYTES_NO_ADDRESS;
@@ -73,25 +72,24 @@ HAL_FUNCTION(_hal_ReadMemBytes)
ret_value = HALERR_READ_MEM_BYTES_NO_SIZE;
goto exit;
}
- halt_cpu
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits(0x2419)
-
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2419);
+
lLen *= 2; //DLL always sends size in word
for(i = 0; i < lLen; i++)
{
- addr_16bit
- SetReg_16Bits((unsigned short)lAddr)
- data_to_addr
- TCLKset1
- TCLKset0
- SetReg_16Bits(0)
- STREAM_put_byte((unsigned char)(lOut & 0xFF));
- lAddr += 1;
+ addr_16bit();
+ SetReg_16Bits((unsigned short)lAddr);
+ data_to_addr();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_byte((unsigned char)(SetReg_16Bits(0) & 0xFF));
+ lAddr += 1;
}
- release_cpu
-exit:
+ release_cpu();
+exit:
return(ret_value);
}
diff --git a/Bios/src/hal/macros/ReadMemBytesX.c b/Bios/src/hal/macros/ReadMemBytesX.c
index dba4a9f..5226e1a 100644
--- a/Bios/src/hal/macros/ReadMemBytesX.c
+++ b/Bios/src/hal/macros/ReadMemBytesX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -50,12 +50,10 @@
HAL_FUNCTION(_hal_ReadMemBytesX)
{
- decl_out
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
-
-
+
if(STREAM_get_long(&lAddr) != 0)
{
return HALERR_READ_MEM_WORD_NO_ADDRESS;
@@ -64,27 +62,26 @@ HAL_FUNCTION(_hal_ReadMemBytesX)
{
return HALERR_READ_MEM_WORD_NO_SIZE;
}
-
- halt_cpu
- TCLKset0
- cntrl_sig_low_byte
- SetReg_16Bits_(0x19)
+
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_low_byte();
+ SetReg_16Bits(0x19);
lLen *= 2; //DLL always sends size in word
for(i = 0; i < lLen; i++)
{
- addr_16bit
- SetReg_20Bits_(lAddr)
- data_to_addr
- TCLKset1
- TCLKset0
- SetReg_16Bits(0);
- STREAM_put_byte((unsigned char)(lOut & 0xFF));
+ addr_16bit();
+ SetReg_20Bits(lAddr);
+ data_to_addr();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_byte((unsigned char)(SetReg_16Bits(0) & 0xFF));
lAddr += 1;
}
- TCLKset1
-
- release_cpu
+ IHIL_Tclk(1);
+
+ release_cpu();
return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemQuick.c b/Bios/src/hal/macros/ReadMemQuick.c
index 4943768..e6ba30f 100644
--- a/Bios/src/hal/macros/ReadMemQuick.c
+++ b/Bios/src/hal/macros/ReadMemQuick.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -61,36 +61,33 @@
HAL_FUNCTION(_hal_ReadMemQuick)
{
- decl_out
- decl_instrLoad
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
unsigned short Pc;
-
+
STREAM_get_long(&lAddr);
STREAM_get_long(&lLen);
-
+
Pc = (unsigned short)((lAddr-2 & 0xFFFF));
-
- instrLoad
- SetPc(Pc)
+ instrLoad();
+
+ SetPc(Pc);
+
+ halt_cpu();
- halt_cpu
+ data_quick();
- data_quick
-
for (i = 0; i < lLen; i++)
{
- TCLKset1
- TCLKset0
- SetReg_16Bits(0); // Read data from memory.
- STREAM_put_word(lOut);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_word(SetReg_16Bits(0));
}
- TCLKset1
+ IHIL_Tclk(1);
- release_cpu
+ release_cpu();
return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemQuickX.c b/Bios/src/hal/macros/ReadMemQuickX.c
index 59f3326..63454d2 100644
--- a/Bios/src/hal/macros/ReadMemQuickX.c
+++ b/Bios/src/hal/macros/ReadMemQuickX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -48,8 +48,6 @@
HAL_FUNCTION(_hal_ReadMemQuickX)
{
- decl_out
- decl_instrLoad
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
@@ -57,24 +55,23 @@ HAL_FUNCTION(_hal_ReadMemQuickX)
STREAM_get_long(&lAddr);
STREAM_get_long(&lLen);
- instrLoad
+ instrLoad();
+
+ SetPcX(lAddr - 2);
- SetPcX(lAddr - 2)
+ halt_cpu();
- halt_cpu
+ data_quick();
- data_quick
-
for (i = 0; i < lLen; i++)
{
- TCLKset1
- TCLKset0
- SetReg_16Bits(0); // Read data from memory.
- STREAM_put_word(lOut);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_word(SetReg_16Bits(0));
}
- TCLKset1
+ IHIL_Tclk(1);
- release_cpu
+ release_cpu();
return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemQuickXv2.c b/Bios/src/hal/macros/ReadMemQuickXv2.c
index 97e26f6..bd8da35 100644
--- a/Bios/src/hal/macros/ReadMemQuickXv2.c
+++ b/Bios/src/hal/macros/ReadMemQuickXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -57,54 +57,57 @@
HAL_FUNCTION(_hal_ReadMemQuickXv2)
{
- decl_out
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
unsigned long lPc;
unsigned short Mova;
unsigned short Pc_l;
-
+ unsigned short id = cntrl_sig_capture();
+
STREAM_get_long(&lAddr);
STREAM_get_long(&lLen);
STREAM_get_long(&lPc);
-
+ if(id == JTAGVERSION91 || id == JTAGVERSION99 || id == JTAGVERSION98)
+ { // Set PC to "safe" address
+ lPc = SAFE_PC_ADDRESS;
+ }
+
Mova = 0x0080;
Mova += (unsigned short)((lAddr>>8) & 0x00000F00);
Pc_l = (unsigned short)((lAddr & 0xFFFF));
-
+
// SET PROGRAM COUNTER for QUICK ACCESS
SetPcXv2(Mova, Pc_l);
- cntrl_sig_16bit
- SetReg_16Bits(0x0501)
- TCLKset1
- addr_capture
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
// END OF SETTING THE PROGRAM COUNTER
- data_quick
-
+ data_quick();
+
// DATA QUICK LOOP
for (i = 0; i < lLen; i++)
{
- TCLKset1
- TCLKset0
- SetReg_16Bits(0); // Read data from memory.
- STREAM_put_word(lOut);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_word( SetReg_16Bits(0));
}
// Check save State
- cntrl_sig_capture
- SetReg_16Bits_(0x0000);
+ cntrl_sig_capture();
+ SetReg_16Bits(0x0000);
// Restore PC
Mova = 0x0080;
Mova += (unsigned short)((lPc>>8) & 0x00000F00);
Pc_l = (unsigned short)((lPc & 0xFFFF));
-
- // SET PROGRAM COUNTER for QUICK ACCESS
+
+ // SET PROGRAM COUNTER for Backup
SetPcXv2(Mova, Pc_l);
- cntrl_sig_16bit
- SetReg_16Bits(0x0501)
- TCLKset1
- addr_capture
-
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
+
return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemWords.c b/Bios/src/hal/macros/ReadMemWords.c
index 5902d79..5c8d2c8 100644
--- a/Bios/src/hal/macros/ReadMemWords.c
+++ b/Bios/src/hal/macros/ReadMemWords.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -58,16 +58,13 @@
length: number of words to read
data: requested data
*/
-
+
HAL_FUNCTION(_hal_ReadMemWords)
{
- decl_out
- decl_instrLoad
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
-
-
+
if(STREAM_get_long(&lAddr) != 0)
{
return HALERR_READ_MEM_WORD_NO_ADDRESS;
@@ -77,23 +74,22 @@ HAL_FUNCTION(_hal_ReadMemWords)
return HALERR_READ_MEM_WORD_NO_SIZE;
}
- halt_cpu
- TCLKset0
+ halt_cpu();
+ IHIL_Tclk(0);
for(i = 0; i < lLen; i++)
{
- addr_16bit
- SetReg_16Bits_((unsigned short)lAddr)
- data_to_addr
- TCLKset1
- TCLKset0
- SetReg_16Bits(0);
- STREAM_put_word(lOut);
+ addr_16bit();
+ SetReg_16Bits((unsigned short)lAddr);
+ data_to_addr();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_word(SetReg_16Bits(0));
lAddr += 2;
}
- TCLKset1
- release_cpu
+ IHIL_Tclk(1);
+ release_cpu();
- instrLoad
+ instrLoad();
return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemWordsX.c b/Bios/src/hal/macros/ReadMemWordsX.c
index f766a9f..f88b24b 100644
--- a/Bios/src/hal/macros/ReadMemWordsX.c
+++ b/Bios/src/hal/macros/ReadMemWordsX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -48,12 +48,10 @@
HAL_FUNCTION(_hal_ReadMemWordsX)
{
- decl_out
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
-
-
+
if(STREAM_get_long(&lAddr) != 0)
{
return HALERR_READ_MEM_WORD_NO_ADDRESS;
@@ -62,24 +60,23 @@ HAL_FUNCTION(_hal_ReadMemWordsX)
{
return HALERR_READ_MEM_WORD_NO_SIZE;
}
-
- halt_cpu
- TCLKset0
+
+ halt_cpu();
+ IHIL_Tclk(0);
for(i = 0; i < lLen; i++)
{
- addr_16bit
- SetReg_20Bits_(lAddr)
- data_to_addr
- TCLKset1
- TCLKset0
- SetReg_16Bits(0);
- STREAM_put_word(lOut);
+ addr_16bit();
+ SetReg_20Bits(lAddr);
+ data_to_addr();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ STREAM_put_word(SetReg_16Bits(0));
lAddr += 2;
}
- TCLKset1
-
- release_cpu
+ IHIL_Tclk(1);
+
+ release_cpu();
return 0;
}
diff --git a/Bios/src/hal/macros/ReadMemWordsXv2.c b/Bios/src/hal/macros/ReadMemWordsXv2.c
index a04b710..4a9efce 100644
--- a/Bios/src/hal/macros/ReadMemWordsXv2.c
+++ b/Bios/src/hal/macros/ReadMemWordsXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -56,32 +56,28 @@
HAL_FUNCTION(_hal_ReadMemWordsXv2)
{
- decl_out
unsigned long i;
unsigned long lAddr;
unsigned long lLen;
STREAM_get_long(&lAddr);
STREAM_get_long(&lLen);
-//! \todo remove lines below after checking JTAG-chain requirements
-// cntrl_sig_16bit
-// SetReg_16Bits(0x0101 | TCE)
- TCLKset0
-
+
+ IHIL_Tclk(0);
+
for(i = 0; i < lLen; i++)
{
- addr_16bit
- SetReg_20Bits_(lAddr)
- TCLKset1
- TCLKset0
- data_capture
- SetReg_16Bits(0);
- STREAM_put_word(lOut);
+ addr_16bit();
+ SetReg_20Bits(lAddr);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ data_capture();
+ STREAM_put_word(SetReg_16Bits(0));
lAddr += 2;
}
- TCLKset1
+ IHIL_Tclk(1);
// one or more cycle, so CPU is driving correct MAB
- TCLK
+ IHIL_TCLK();
return 0;
}
diff --git a/Bios/src/hal/macros/Reset430I.c b/Bios/src/hal/macros/Reset430I.c
new file mode 100644
index 0000000..2394e73
--- /dev/null
+++ b/Bios/src/hal/macros/Reset430I.c
@@ -0,0 +1,81 @@
+/**
+* \file Reset430I.c
+*
+* \brief Write words (16bit values) to a memory mapped location
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULMACROS
+//! \file Reset430I.c
+//! \brief
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "../include/hw_compiler_specific.h"
+
+/**
+ _hal_Reset430I
+ this macro will apply a BSL sequence to reset the
+ device and keep it in LPM4 afterwards
+
+*/
+
+HAL_FUNCTION(_hal_Reset430I)
+{
+ volatile unsigned short id=0;
+
+ /* Apply BSL Entry Sequence to Stop device execution */
+ IHIL_BSL_EntrySequence(1);
+ /* Now the device should be in LPM4 */
+
+ IHIL_Delay_1ms(500);
+
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ IHIL_CheckJtagFuse();
+
+ id = cntrl_sig_capture();
+ if (id == JTAGVERSION)
+ {
+ STREAM_put_byte((unsigned char)0x1);
+ STREAM_put_byte((unsigned char)0x89);
+ STREAM_put_byte((unsigned char)SPYBIWIREJTAG);
+ return 0;
+ }
+ return -1;
+}
diff --git a/Bios/src/hal/macros/ResetArm.c b/Bios/src/hal/macros/ResetArm.c
new file mode 100644
index 0000000..b549cf8
--- /dev/null
+++ b/Bios/src/hal/macros/ResetArm.c
@@ -0,0 +1,83 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file ResetArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ Halt: Resets and Halts the Core
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+HAL_FUNCTION(_hal_ResetArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned short resetType = 0;
+
+ if(STREAM_get_word(&resetType) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ unsigned long data = VECTKEY | (resetType ? SYSRESETREQ : VECTRESET);
+ if(IHIL_Write_Read_Mem_Ap(0, AIRCR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, READ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ if(resetType == 0)
+ {
+ if(((data & 0xFF000000) >> 24) != 0x2)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ }
+
+#endif
+ return 0;
+}
diff --git a/Bios/src/hal/macros/ResetXv2.c b/Bios/src/hal/macros/ResetXv2.c
index f5b9293..08f5826 100644
--- a/Bios/src/hal/macros/ResetXv2.c
+++ b/Bios/src/hal/macros/ResetXv2.c
@@ -7,38 +7,41 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#define L092 1
+#define GENERIC_XV2 0
+
#include "arch.h"
#include "edt.h"
#include "hal.h"
@@ -46,53 +49,81 @@
#include "stream.h"
#include "error_def.h"
#include "../include/hw_compiler_specific.h"
+#include "JtagId.h"
/**
_hal_ResetXv2
this macro will applay an RST NMI to a CPUxv2 device.
after the reset the device execution will be stopped
- by using the JTAG mailbox
+ by using the JTAG mailbox
*/
-
HAL_FUNCTION(_hal_ResetXv2)
-{
- decl_out
- unsigned short id=0;
- decl_jtagMailboxIn
-
- EDT_SetTest(0);
- EDT_Delay_1ms(40);
- EDT_SetReset(0);
- EDT_Delay_1ms(40);
- EDT_SetReset(1);
- EDT_Delay_1ms(40);
- EDT_SetTest(1);
- EDT_Delay_1ms(40);
-
- EDT_Open(RSTLOW);
- EDT_TapReset();
- EDT_CheckJtagFuse();
- // put in magic pattern to stop user code execution
- i_WriteJmbIn(MAGIC_PATTERN);
-
+{
+ // put in magic pattern to stop user code execution
+ IHIL_EntrySequences(RSTLOW);
+ IHIL_TapReset();
+
+ if(i_WriteJmbIn(MAGIC_PATTERN) == 1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ IHIL_Delay_1ms(40);
+
+ IHIL_SetReset(1);
+ if (jtagIdIsXv2(cntrl_sig_capture()))
+ {
+ return 0;
+ }
+ return HALERR_UNDEFINED_ERROR;
+}
+
+HAL_FUNCTION(_hal_Reset5438Xv2)
+{
+ IHIL_SetReset(0);
+ IHIL_Delay_1ms(40);
+
+ IHIL_SetTest(0);
+ IHIL_Delay_1ms(40);
+
+ IHIL_EntrySequences(RSTHIGH);
+ IHIL_TapReset();
+
+ if (jtagIdIsXv2(cntrl_sig_capture()))
+ {
+ return 0;
+ }
+ return HALERR_UNDEFINED_ERROR;
+}
+
+HAL_FUNCTION(_hal_ResetL092)
+{
+ unsigned char jtagMailboxIn = 0;
+ unsigned long activationKey = 0;
+ if(STREAM_get_long(&activationKey) < 0)
+ {
+ return(HALERR_START_JTAG_NO_ACTIVATION_CODE);
+ }
+ if(activationKey == L092_MODE || activationKey == C092_MODE)
+ {
+ // L092 has no JTAG chain support
+ IHIL_SetReset(0);
+ IHIL_Open(RSTLOW);
+ IHIL_TapReset();
+ IHIL_SetReset(0);
+
+ jtagMailboxIn = i_WriteJmbIn32(activationKey>>16 , activationKey);
+ // check for Timeout issue during mailbox request
+ IHIL_SetReset(1);
+ IHIL_Delay_1ms(3000);
if(jtagMailboxIn == 1)
{
- return HALERR_UNDEFINED_ERROR;
- }
- // close connection after the device has been send to LPM4
- EDT_Close();
-
- EDT_Delay_1ms(40);
- // run entry sequnce but pull rst high during the sequence
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- EDT_CheckJtagFuse();
-
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if (id == JTAGVERSION95 || id == JTAGVERSION91 || id == JTAGVERSION99)
- {
+ return (HALERR_JTAG_PASSWORD_WRONG);
+ }
+ if (jtagIdIsXv2(cntrl_sig_capture()))
+ {
return 0;
- }
- return HALERR_UNDEFINED_ERROR;
+ }
+ }
+ return HALERR_UNDEFINED_ERROR;
}
diff --git a/Bios/src/hal/macros/RestoreContext_ReleaseJtag.c b/Bios/src/hal/macros/RestoreContext_ReleaseJtag.c
index 0ba62a2..cf887d1 100644
--- a/Bios/src/hal/macros/RestoreContext_ReleaseJtag.c
+++ b/Bios/src/hal/macros/RestoreContext_ReleaseJtag.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "hal_ref.h"
#include "stream.h"
#include "EEM_defs.h"
+#include "global_variables.h"
extern DeviceSettings deviceSettings;
@@ -70,8 +71,8 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtag)
unsigned short control_mask;
unsigned short mdb;
unsigned short releaseJtag;
- decl_out
-
+ unsigned short* syncWithRunVarAddress = 0;
+
// Check all the input parameters
if(STREAM_get_word(&wdt_addr) != 0)
{
@@ -93,7 +94,7 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtag)
{
return (HALERR_RESTORECONTEXT_RELEASE_JTAG_NO_CONTROL_MASK);
}
- if(STREAM_get_word(&mdb) == -1)
+ if(STREAM_get_word(&mdb) != 0)
{
return (HALERR_RESTORECONTEXT_RELEASE_JTAG_NO_MDB);
}
@@ -101,84 +102,98 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtag)
{
releaseJtag = 0;
}
+ STREAM_discard_bytes(2);
+
// Write back Status Register
- WriteCpuReg(2, sr)
-
+ WriteCpuReg(2, sr);
+
// Restore Watchdog Control Register
WriteMemWord(wdt_addr, wdt_value);
-
+
// restore Program Counter
SetPc(pc[0]); // High part is not relevant for MSP430 original architecture
/* Workaround for MSP430F149 derivatives */
{
- decl_out
unsigned short backup[3] = {0};
- eem_data_exchange
- SetReg_16Bits_(0x03) SetReg_16Bits(0) backup[0] = lOut;
- SetReg_16Bits_(0x0B) SetReg_16Bits(0) backup[1] = lOut;
- SetReg_16Bits_(0x13) SetReg_16Bits(0) backup[2] = lOut;
-
- SetReg_16Bits_(0x02) SetReg_16Bits_(0)
- SetReg_16Bits_(0x0A) SetReg_16Bits_(0)
- SetReg_16Bits_(0x12) SetReg_16Bits_(0)
-
- SetReg_16Bits_(0x02) SetReg_16Bits_(backup[0])
- SetReg_16Bits_(0x0A) SetReg_16Bits_(backup[1])
- SetReg_16Bits_(0x12) SetReg_16Bits_(backup[2])
+ eem_data_exchange();
+ SetReg_16Bits(0x03); backup[0] = SetReg_16Bits(0);
+ SetReg_16Bits(0x0B); backup[1] = SetReg_16Bits(0);
+ SetReg_16Bits(0x13); backup[2] = SetReg_16Bits(0);
+
+ SetReg_16Bits(0x02); SetReg_16Bits(0);
+ SetReg_16Bits(0x0A); SetReg_16Bits(0);
+ SetReg_16Bits(0x12); SetReg_16Bits(0);
+
+ SetReg_16Bits(0x02); SetReg_16Bits(backup[0]);
+ SetReg_16Bits(0x0A); SetReg_16Bits(backup[1]);
+ SetReg_16Bits(0x12); SetReg_16Bits(backup[2]);
}
/**/
-
+
if (deviceSettings.clockControlType != GCC_NONE)
{
if(deviceSettings.stopFLL)
- {
+ {
unsigned short clkCntrl = 0;
// read access to EEM General Clock Control Register (GCLKCTRL)
- eem_data_exchange
- SetReg_16Bits_(MX_GCLKCTRL + MX_READ)
- SetReg_16Bits(0)
+ eem_data_exchange();
+ SetReg_16Bits(MX_GCLKCTRL + MX_READ);
+ clkCntrl = SetReg_16Bits(0);
+
// added UPSF: FE427 does regulate the FLL to the upper boarder
- // added the switch off and release of FLL (JTFLLO)
- clkCntrl = lOut;
+ // added the switch off and release of FLL (JTFLLO)
clkCntrl &= ~0x10;
- eem_data_exchange
- SetReg_16Bits_(MX_GCLKCTRL + MX_WRITE)
- SetReg_16Bits_(clkCntrl);
+ eem_data_exchange();
+ SetReg_16Bits(MX_GCLKCTRL + MX_WRITE);
+ SetReg_16Bits(clkCntrl);
}
}
-
+
if (deviceSettings.clockControlType == GCC_EXTENDED)
{
- eem_data_exchange
- SetReg_16Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_16Bits_(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN) // write into MX_GENCNTRL
+ eem_data_exchange();
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN); // write into MX_GENCNTRL
}
-
+ if (deviceSettings.clockControlType == GCC_STANDARD_I)
+ {
+ eem_data_exchange();
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN); // write into MX_GENCNTRL
+ }
+
// activate EEM
- eem_write_control
- SetReg_16Bits_(control_mask)
-
+ eem_write_control();
+ SetReg_16Bits(control_mask);
+
// Pre-initialize MDB before release if
if(mdb)
{
- data_16bit
- SetReg_16Bits_(mdb)
- TCLKset0
- addr_capture
- TCLKset1
+ data_16bit();
+ SetReg_16Bits(mdb);
+ IHIL_Tclk(0);
+ addr_capture();
+ IHIL_Tclk(1);
}
else
{
- addr_capture
- }
+ addr_capture();
+ }
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0001;
+ }
+
// release target device from JTAG control
- cntrl_sig_release
-
+ cntrl_sig_release();
+
if(releaseJtag)
{
- EDT_Close(); // release JTAG on go
+ IHIL_Close(); // release JTAG on go
}
return (0);
}
diff --git a/Bios/src/hal/macros/RestoreContext_ReleaseJtagX.c b/Bios/src/hal/macros/RestoreContext_ReleaseJtagX.c
index 32b0333..096b807 100644
--- a/Bios/src/hal/macros/RestoreContext_ReleaseJtagX.c
+++ b/Bios/src/hal/macros/RestoreContext_ReleaseJtagX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "hal_ref.h"
#include "stream.h"
#include "EEM_defs.h"
+#include "global_variables.h"
extern DeviceSettings deviceSettings;
@@ -59,6 +60,7 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagX)
unsigned short control_mask;
unsigned short mdb;
unsigned short releaseJtag;
+ unsigned short* syncWithRunVarAddress = 0;
if(STREAM_get_word(&wdt_addr) != 0)
{
@@ -80,7 +82,7 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagX)
{
return HALERR_RESTORECONTEXT_RELEASE_JTAG_NO_CONTROL_MASK;
}
- if(STREAM_get_word(&mdb) == -1)
+ if(STREAM_get_word(&mdb) != 0)
{
return HALERR_RESTORECONTEXT_RELEASE_JTAG_NO_MDB;
}
@@ -88,9 +90,10 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagX)
{
releaseJtag = 0;
}
+ STREAM_discard_bytes(2);
// Write back Status Register
- WriteCpuRegX(2, sr)
+ WriteCpuRegX(2, sr);
// Restore Watchdog Control Register
WriteMemWordX(wdt_addr, wdt_value);
@@ -100,35 +103,41 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagX)
if (deviceSettings.clockControlType == GCC_EXTENDED)
{
- eem_data_exchange32
- SetReg_32Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_32Bits_(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN)
+ eem_data_exchange32();
+ SetReg_32Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_32Bits(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN);
}
// activate EEM
- eem_write_control
- SetReg_16Bits_(control_mask)
-
+ eem_write_control();
+ SetReg_16Bits(control_mask);
+
// Pre-initialize MDB before release if
if(mdb)
{
- data_16bit
- SetReg_16Bits_(mdb)
- TCLKset0
- addr_capture
- TCLKset1
+ data_16bit();
+ SetReg_16Bits(mdb);
+ IHIL_Tclk(0);
+ addr_capture();
+ IHIL_Tclk(1);
}
else
{
- addr_capture
+ addr_capture();
+ }
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0001;
}
// release target device from JTAG control
- cntrl_sig_release
-
+ cntrl_sig_release();
+
if(releaseJtag)
{
- EDT_Close(); // release JTAG on go
+ IHIL_Close(); // release JTAG on go
}
return(0);
diff --git a/Bios/src/hal/macros/RestoreContext_ReleaseJtagXv2.c b/Bios/src/hal/macros/RestoreContext_ReleaseJtagXv2.c
index be223f0..6f7761e 100644
--- a/Bios/src/hal/macros/RestoreContext_ReleaseJtagXv2.c
+++ b/Bios/src/hal/macros/RestoreContext_ReleaseJtagXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,9 +44,12 @@
#include "hal.h"
#include "hal_ref.h"
#include "stream.h"
+#include "global_variables.h"
#include "../include/hw_compiler_specific.h"
+#include "EEM_defs.h"
#define CPUOFF (0x0010u)
+#define DBGJTAGON (0x0080u)
/**
RestoreContext_ReleaseJtagXv2
@@ -65,11 +68,6 @@ extern DevicePowerSettings devicePowerSettings;
HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagXv2)
{
- DIAG_SUPPRESS(Pe550)
- decl_out
- decl_out_long
- DIAG_DEFAULT(Pe550)
-
unsigned short wdt_addr;
unsigned short wdt_value;
unsigned short Sr;
@@ -79,17 +77,21 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagXv2)
unsigned short Pc_l;
unsigned short Mdb;
unsigned short releaseJtag = 0;
-
+ unsigned short ulpDebug = 0;
+ unsigned short* syncWithRunVarAddress = 0;
+
+
STREAM_get_word(&wdt_addr); // 0
STREAM_get_word(&wdt_value); // 2
- STREAM_get_long(&lPc); // 4-7
+ STREAM_get_long(&lPc); // 4-7
STREAM_get_word(&Sr); // 8
STREAM_get_word(&control_mask); // 10
- STREAM_get_word(&Mdb);
+ STREAM_get_word(&Mdb);
STREAM_get_word(&releaseJtag);
+ STREAM_get_word(&ulpDebug);
// Write back Status Register
WriteCpuRegXv2(0x0082, Sr);
-
+
// Restore Watchdog Control Register
WriteMemWordXv2(wdt_addr,wdt_value);
@@ -97,61 +99,98 @@ HAL_FUNCTION(_hal_RestoreContext_ReleaseJtagXv2)
/* check if CPU is OFF, and decrement PC = PC-2 */
if(Sr & CPUOFF)
{
- lPc -= 2;
+ lPc -= 2;
}
/* End of note 1411 */
-
+
Mova = 0x0080;
Mova += (unsigned short)((lPc>>8) & 0x00000F00);
Pc_l = (unsigned short)((lPc & 0xFFFF));
-
+
// restore Program Counter
SetPcXv2(Mova, Pc_l);
-
+
// prepare release
if(Mdb)
{
- cntrl_sig_16bit
- SetReg_16Bits_(0x0401)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0401);
// preload the MDB before releasing the CPU
- data_16bit
- TCLKset1
- SetReg_16Bits_(Mdb)
- TCLKset0
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(Mdb);
+ IHIL_Tclk(0);
// release the busses - otherwise modules/flash can't control the MDB
// = get out of DATA_* instruction
- addr_capture
- // here one more clock cycle is required to advance the CPU
+ addr_capture();
+ // here one more clock cycle is required to advance the CPU
// otherwise enabling the EEM can stop the device again
- TCLKset1
+ {
+ cntrl_sig_capture();
+ if(SetReg_16Bits(0) & CNTRL_SIG_HALT)
+ {
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0403);
+ }
+ }
+ IHIL_Tclk(1);
}
else
{
- TCLKset1
- cntrl_sig_16bit
- SetReg_16Bits_(0x0401)
- addr_capture
- // here one more clock cycle is required to advance the CPU
- // otherwise enabling the EEM would stop the device again, because
- TCLKset0
- TCLKset1
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0401);
+ addr_capture();
+ // here one more clock cycle is required to advance the CPU
+ // otherwise enabling the EEM would stop the device again, because
+ {
+ cntrl_sig_capture();
+ IHIL_Tclk(0);
+
+ // shift out current control signal register value
+ if(SetReg_16Bits(0) & CNTRL_SIG_HALT)
+ {
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0403);
+ }
+ IHIL_Tclk(1);
+ }
}
// now we can enable the EEM
// --> this should work asynchronously
- eem_write_control
- SetReg_16Bits_(control_mask)
-
+ eem_write_control();
+ SetReg_16Bits(control_mask);
+
// -------------------------Power mode handling start ----------------------
- // Set LPMx.5 settings
- EnableLpmx5();
+ if(ulpDebug)
+ {
+ // Set LPMx.5 settings
+ EnableLpmx5();
+ }
+ else
+ {
+ unsigned short id = cntrl_sig_capture();
+ DisableLpmx5();
+ //Manually disable DBGJTAGON bit
+ if(id == JTAGVERSION99)
+ {
+ test_reg_3V();
+ SetReg_16Bits(SetReg_16Bits(0x0000) & ~DBGJTAGON);
+ }
+ }
// -------------------------Power mode handling end ------------------------
-
- // release target device from JTAG control
- cntrl_sig_release
-
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0001;
+ }
+ // release target device from JTAG control
+ cntrl_sig_release();
+
if(releaseJtag)
{
- EDT_Close(); // release JTAG on go
- }
+ IHIL_Close(); // release JTAG on go
+ }
return 0;
}
diff --git a/Bios/src/hal/macros/RunArm.c b/Bios/src/hal/macros/RunArm.c
new file mode 100644
index 0000000..3973cda
--- /dev/null
+++ b/Bios/src/hal/macros/RunArm.c
@@ -0,0 +1,230 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file RunArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+#include "global_variables.h"
+#include "error_def.h"
+
+/**
+ Run: Runs the Core Debug
+*/
+#define DISABLE_INTERRUPTS_RUN 0x02
+#define DISABLE_INTERRUPTS_UPDATE_PRIMSK 0x80
+
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+extern short writeCpuRegsArm(unsigned long data, unsigned long Rx);
+extern short ReadCpurRegArm(unsigned long *data, unsigned long Rx);
+#endif
+
+short confSystemHighPower()
+{
+ // Set system and debug power up if cleared
+ unsigned long data = 0;
+ unsigned short* syncWithRunVarAddress = getTargetRunningVar();
+
+ //force high system power
+ if( powerUpArm() != 0)
+ {
+ return -1;
+ }
+ // Clear sleep on ISR exit if it was set by user code
+ if(IHIL_Write_Read_Mem_Ap(0, SCB_SCR, &data, READ) == -1)
+ {
+ return -1;
+ }
+ if(data & SCB_SCR_SLEEPONEXIT_Msk)
+ {
+ data &= ~SCB_SCR_SLEEPONEXIT_Msk;
+ if(IHIL_Write_Read_Mem_Ap(0, SCB_SCR, &data, WRITE) == -1)
+ {
+ return - 1;
+ }
+ }
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0001;
+ }
+ // Do the actual run
+ data = DBGKEY | C_DEBUGEN;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE) == -1)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+short confSystemLowPower()
+{
+ // Set system and debug power up if cleared
+ unsigned long val = 0;
+ unsigned long data = 0;
+ unsigned short* syncWithRunVarAddress = getTargetRunningVar();
+
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, READ);
+
+ // Request system power state tansitiopn
+
+ // deassert CSYSPWRUPREQ
+ val &= ~DP_CTRL_STAT_CSYSPWRUPREQ;
+ // keep CDBGPWRUPREQ asserted
+ val |= DP_CTRL_STAT_CDBGPWRUPREQ;
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, WRITE);
+
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0001;
+ }
+ // Do the actual run
+ data = DBGKEY | C_DEBUGEN;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE) == -1)
+ {
+ return -1;
+ }
+ // deassert CDBGPWRUPREQ
+ val &= ~DP_CTRL_STAT_CDBGPWRUPREQ;
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, WRITE);
+
+ // wait some time for ACK to settle
+ IHIL_Delay_1ms(200);
+
+ return 0;
+}
+
+HAL_FUNCTION(_hal_RunArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long data = 0;
+ unsigned short releaseJtag = 0;
+ unsigned short retry = MAX_RETRY;
+
+ STREAM_get_word(&releaseJtag);
+
+ // First Disable all breakpoints
+ data = KEY;
+ if(IHIL_Write_Read_Mem_Ap(0, FP_CTRL, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ if (armConfigSettings.interruptOptions & DISABLE_INTERRUPTS_UPDATE_PRIMSK)
+ {
+ if (armConfigSettings.interruptOptions & DISABLE_INTERRUPTS_RUN)
+ {
+ // Making PRIMASK be effective requires one single step before
+ ReadCpurRegArm(&data, spec_REG);
+ data |= 0x01;
+ writeCpuRegsArm(data, spec_REG);
+ }
+ else
+ {
+ // Making PRIMASK be effective requires one single step before
+ ReadCpurRegArm(&data, spec_REG);
+ data &= ~0x01;
+ writeCpuRegsArm(data, spec_REG);
+ }
+
+ armConfigSettings.interruptOptions &= ~DISABLE_INTERRUPTS_UPDATE_PRIMSK;
+ }
+
+ // Perform single step with interrupts disabled to step over current hw breakpoint
+ data = DBGKEY | C_DEBUGEN | C_MASKINTS | C_HALT;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ data &= ~(C_HALT);
+ data |= C_STEP;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Wait for step to finish
+ do
+ {
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, READ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ } while(!(data & S_HALT) && --retry);
+
+ // disbale masking of interrupts
+ data = DBGKEY | C_DEBUGEN | C_HALT;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Re-enable all breakpoints
+ data = KEY | ENABLE;
+ if(IHIL_Write_Read_Mem_Ap(0, FP_CTRL, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ if(armConfigSettings.ulpDebug)
+ {
+ if(confSystemLowPower() != 0)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ }
+ else
+ {
+ if(confSystemHighPower() != 0)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ }
+
+ if(releaseJtag)
+ {
+ IHIL_Close(); // release JTAG on go
+ }
+#endif
+ return 0;
+}
diff --git a/Bios/src/hal/macros/ScanApArm.c b/Bios/src/hal/macros/ScanApArm.c
new file mode 100644
index 0000000..b54e504
--- /dev/null
+++ b/Bios/src/hal/macros/ScanApArm.c
@@ -0,0 +1,87 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file ScanAPArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ ScanAP: Scan access port and provide back nil terminated list
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ extern unsigned long cswValues[4];
+#endif
+
+HAL_FUNCTION(_hal_ScanApArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long val = 0;
+ unsigned long apsel = 0;
+
+ // Set system and debug power up if cleared
+ if( powerUpArm() != 0)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ IHIL_Write_Read_Ap(AP_IDR | apsel, &val, READ);
+ if(val)
+ {
+ STREAM_put_long(val); // IDR value
+
+ IHIL_Write_Read_Ap(AP_BASE | apsel, &val, READ);
+ STREAM_put_long(val); // BASE value
+
+ IHIL_Write_Read_Ap(AP_CFG | apsel, &val, READ);
+ STREAM_put_long(val); // CFG value
+
+ STREAM_put_byte(apsel >> 24); // Port number
+
+ // Read and save CSW value
+ IHIL_Write_Read_Ap(AP_CSW | apsel, &val, READ);
+ cswValues[(apsel >> 24) & 0x3] = val & ~(AP_CSW_SIZE_MASK | AP_CSW_ADDRINC_MASK);
+ }
+ STREAM_put_long(val);
+#endif
+ return 0;
+}
diff --git a/Bios/src/hal/macros/SendJtagMailboxXv2.c b/Bios/src/hal/macros/SendJtagMailboxXv2.c
index 984f49d..805ff34 100644
--- a/Bios/src/hal/macros/SendJtagMailboxXv2.c
+++ b/Bios/src/hal/macros/SendJtagMailboxXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,6 +44,7 @@
#include "hal.h"
#include "stream.h"
#include "error_def.h"
+#include "JtagId.h"
#ifdef DB_PRINT
#include "debug.h"
#endif
@@ -57,15 +58,12 @@
length: number of bytes to write
data: data to write to the given location
*/
-
HAL_FUNCTION(_hal_SendJtagMailboxXv2)
{
static unsigned short MailBoxMode;
- static unsigned short PorDevice;
static unsigned short DATA1 = 0x0, DATA2 = 0x0;
- decl_out
- decl_jtagMailboxIn
-
+ unsigned char jtagMailboxIn = 0;
+
if(STREAM_get_word(&MailBoxMode) != 0)
{
return(HALERR_UNDEFINED_ERROR);
@@ -73,46 +71,39 @@ HAL_FUNCTION(_hal_SendJtagMailboxXv2)
// get length ot be flashed
if(STREAM_get_word(&DATA1) != 0)
{
- return(HALERR_UNDEFINED_ERROR);
- }
- if(STREAM_get_word(&DATA2) != 0)
- {
- return(HALERR_UNDEFINED_ERROR);
- }
- if(STREAM_get_word(&PorDevice) == -1)
- {
- return(HALERR_UNDEFINED_ERROR);
- }
- if(PorDevice)
- {
- EDT_Open(RSTLOW);
- EDT_TapReset();
+ return(HALERR_UNDEFINED_ERROR);
}
- else
+ if(STREAM_get_word(&DATA2) == -1)
{
- EDT_Open(RSTHIGH);
- EDT_TapReset();
+ return(HALERR_UNDEFINED_ERROR);
}
+ IHIL_EntrySequences(RSTLOW);
+ IHIL_TapReset();
+
if(MailBoxMode == 0x11)// 32Bit Mode
{
- i_WriteJmbIn32(DATA1,DATA2)
+ jtagMailboxIn = i_WriteJmbIn32(DATA1,DATA2);
}
else // 16 Bit Mode
{
- i_WriteJmbIn(DATA1)
+ jtagMailboxIn = i_WriteJmbIn(DATA1);
}
- if(PorDevice)
- {
- // restart device
- EDT_SetTest(0);
- EDT_SetReset(1);
- }
- EDT_Delay_1ms(60);
-
// check if mailbox input was ok
if(jtagMailboxIn)
{
- return(HALERR_UNDEFINED_ERROR);
- }
- return 0;
+ return(HALERR_UNDEFINED_ERROR);
+ }
+ IHIL_SetReset(1);
+ IHIL_Delay_1ms(40);
+
+ IHIL_EntrySequences(RSTHIGH);
+ IHIL_Delay_1ms(200);
+ IHIL_TapReset();
+
+
+ if (jtagIdIsXv2(cntrl_sig_capture()))
+ {
+ return 0;
+ }
+ return HALERR_UNDEFINED_ERROR;
}
diff --git a/Bios/src/hal/macros/SetChainConfiguration.c b/Bios/src/hal/macros/SetChainConfiguration.c
index 537d5e1..46bb8d9 100644
--- a/Bios/src/hal/macros/SetChainConfiguration.c
+++ b/Bios/src/hal/macros/SetChainConfiguration.c
@@ -1,41 +1,40 @@
-/**
-* \ingroup MODULMACROS
-*
-* \file SetChainConfiguration.c
-*
-* \brief
-*
-*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * \ingroup MODULMACROS
+ *
+ * \file SetChainConfiguration.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,38 +43,8 @@
#include "edt.h"
#include "hal.h"
#include "stream.h"
-#ifdef DB_PRINT
-#include "debug.h"
-#endif
-
-// required global variables of the HAL layer
-extern union _chain_Configuration chain_Configuration[];
-extern unsigned char numOfDevices;
-
-/**
- SetChainConfiguration
- \todo add description and paramter list
-*/
HAL_FUNCTION(_hal_SetChainConfiguration)
{
- short ret_value = 0;
- numOfDevices = 1;
-
-
- return (ret_value);
- /*do
- {
- if(STREAM_get_byte(&chain_Configuration[numOfDevices].byteAccess) < 0)
- {
- ret_value = HALERR_SET_CHAIN_CONFIGURATION_STREAM;
- break;
- }
- numOfDevices++;
- }
- while((numOfDevices < 31) && (0 != chain_Configuration[numOfDevices-1].byteAccess));
-
- numOfDevices--;
-
- return (ret_value); */
+ return (0);
}
diff --git a/Bios/src/hal/macros/SetDeviceChainInfo.c b/Bios/src/hal/macros/SetDeviceChainInfo.c
index 657896c..ace125b 100644
--- a/Bios/src/hal/macros/SetDeviceChainInfo.c
+++ b/Bios/src/hal/macros/SetDeviceChainInfo.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -43,27 +43,8 @@
#include "edt.h"
#include "hal.h"
#include "stream.h"
-#ifdef DB_PRINT
-#include "debug.h"
-#endif
-
-// required global variables of the HAL layer
-extern unsigned short activeDevice;
-extern unsigned short TCE;
-
-/**
- SetDeviceChainInfo
- \todo add description and paramter list
-*/
HAL_FUNCTION(_hal_SetDeviceChainInfo)
{
- STREAM_get_word(&activeDevice);
-
- /*if ((0 == activeDevice))
- TCE = TCE1; // TCLK via TDI (is first device after TDI)
- else
- TCE = TCE0 | TCE1; // TCLK via instruction
-*/
- return 0;
+ return 0;
}
diff --git a/Bios/src/hal/macros/SingleStep.c b/Bios/src/hal/macros/SingleStep.c
index a8bcc00..94ba4cb 100644
--- a/Bios/src/hal/macros/SingleStep.c
+++ b/Bios/src/hal/macros/SingleStep.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -60,84 +60,86 @@
*/
HAL_FUNCTION(_hal_SingleStep)
{
- decl_out
short RetState = HALERR_UNDEFINED_ERROR;
unsigned short i = 0;
unsigned short bpCntrlType = BPCNTRL_IF;
unsigned short extraStep = 0;
-
+
// local variables to enable preserve of EEM trigger block 0
unsigned short trig0_Bckup_cntrl;
unsigned short trig0_Bckup_mask;
unsigned short trig0_Bckup_comb;
unsigned short trig0_Bckup_cpuStop;
unsigned short trig0_Bckup_value;
-
+
StreamSafe stream_tmp;
- unsigned char stream_in_tmp[22];
- for(i=0;i= 50)
{
return (HALERR_SINGLESTEP_WAITFOREEM_TIMEOUT);
}
-
+
// check if an extra step was required
if(extraStep)
{
extraStep = 0; // reset the "extra step" flag
-
+
// release the CPU once again for an "extra step" from JTAG control
- addr_capture
- cntrl_sig_release
+ addr_capture();
+ cntrl_sig_release();
}
else
{
@@ -179,26 +180,26 @@ HAL_FUNCTION(_hal_SingleStep)
}
{ // Restore Trigger Block 0
- eem_data_exchange
+ eem_data_exchange();
// write control register
- SetReg_16Bits(MX_CNTRL + MX_WRITE)
- SetReg_16Bits(trig0_Bckup_cntrl)
+ SetReg_16Bits(MX_CNTRL + MX_WRITE);
+ SetReg_16Bits(trig0_Bckup_cntrl);
// write mask register
- SetReg_16Bits(MX_MASK + MX_WRITE)
- SetReg_16Bits(trig0_Bckup_mask)
+ SetReg_16Bits(MX_MASK + MX_WRITE);
+ SetReg_16Bits(trig0_Bckup_mask);
// write combination register
- SetReg_16Bits(MX_COMB + MX_WRITE)
- SetReg_16Bits(trig0_Bckup_comb)
+ SetReg_16Bits(MX_COMB + MX_WRITE);
+ SetReg_16Bits(trig0_Bckup_comb);
// write CPU stop reaction register
- SetReg_16Bits(MX_CPUSTOP + MX_WRITE)
- SetReg_16Bits(trig0_Bckup_cpuStop)
+ SetReg_16Bits(MX_CPUSTOP + MX_WRITE);
+ SetReg_16Bits(trig0_Bckup_cpuStop);
// write trigger block value register
- SetReg_16Bits(MX_BP + MX_WRITE)
- SetReg_16Bits(trig0_Bckup_value)
+ SetReg_16Bits(MX_BP + MX_WRITE);
+ SetReg_16Bits(trig0_Bckup_value);
}
-
+
// now sync the CPU again to JTAG control and save the current context
- STREAM_internal_stream(stream_in_tmp, sizeof(stream_in_tmp), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
+ STREAM_internal_stream(stream_in_sync, sizeof(stream_in_sync), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
RetState = HAL_SyncJtag_Conditional_SaveContext(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG); // In
STREAM_external_stream(&stream_tmp);
diff --git a/Bios/src/hal/macros/SingleStepArm.c b/Bios/src/hal/macros/SingleStepArm.c
new file mode 100644
index 0000000..bc7b528
--- /dev/null
+++ b/Bios/src/hal/macros/SingleStepArm.c
@@ -0,0 +1,120 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file SingleStepArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "error_def.h"
+
+/**
+ SingleStepMSP432: Single Steps the Core Debug
+*/
+
+#define DISABLE_INTERRUPTS_SINGLE_STEP 0x01
+
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+HAL_FUNCTION(_hal_SingleStepArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long data;
+ unsigned short retry = MAX_RETRY;
+
+ // First Disable all breakpoints
+ data = KEY;
+ if(IHIL_Write_Read_Mem_Ap(0, FP_CTRL, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Perform actual single step with interrupts disabled
+ data = DBGKEY | C_DEBUGEN | C_HALT;
+
+ if (armConfigSettings.interruptOptions & DISABLE_INTERRUPTS_SINGLE_STEP)
+ {
+ data |= C_MASKINTS;
+ }
+
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ data &= ~(C_HALT);
+ data |= C_STEP;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Wait for step to finish
+ do
+ {
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, READ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ } while(!(data & S_HALT) && --retry);
+
+ // disbale masking of interrupts
+ data = DBGKEY | C_DEBUGEN | C_HALT;
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &data, WRITE ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ // Re-enable all breakpoints
+ data = KEY | ENABLE;
+ if(IHIL_Write_Read_Mem_Ap(0, FP_CTRL, &data, WRITE) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ if(!retry)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+#endif
+
+ return 0;
+}
diff --git a/Bios/src/hal/macros/SingleStepJState.c b/Bios/src/hal/macros/SingleStepJState.c
index 655094b..a1d2446 100644
--- a/Bios/src/hal/macros/SingleStepJState.c
+++ b/Bios/src/hal/macros/SingleStepJState.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -47,22 +47,15 @@
#include "stddef.h"
#include "error_def.h"
-#define CPUOFF 0x10
-
/**
- SingleStepXv2
+ SingleStepJStateXv2
Same description and parameter list as SingleStep.
Refer to SingleStep for details.
*/
-
-#define BP_HIT_MASK 0x100000000ull
-#define LPMX5_MASK 0x8000000000000000ull
-
HAL_FUNCTION(_hal_SingleStepJStateXv2)
{
- decl_out_long_long
short RetState = HALERR_UNDEFINED_ERROR;
- unsigned short i = 0;
+ unsigned short i = 0;
StreamSafe stream_tmp;
unsigned char MyIn[31] = {
/*Number of EEM Data Exchanges*/
@@ -76,47 +69,54 @@ HAL_FUNCTION(_hal_SingleStepJStateXv2)
0x80,0x01,0x00, 0x00,0x00,
};
unsigned char MyOut[22]; // large enough to hold all EEM registers being read
- unsigned char stream_in_tmp[22];
+ unsigned char stream_in_release[18];
+ unsigned char stream_in_sync[4];
+ unsigned short irRequest = 0;
+
+ for(i=0;iLpmx.5 will reset the device eem module
RetState = 0;
- return RetState;
+ return RetState;
} //check end
-
- if(!(stream_in_tmp[8] & CPUOFF)) // low byte of SR
- {
+
+ if((!(stream_in_release[8] & CPUOFF)) || (irRequest & 0x4))
+ {
// poll for CPU stop reaction
- jstate_read
+ jstate_read();
do
- {
- SetReg_64Bits(0x0000000000000000)
+ {
i++;
}
- while((BP_HIT_MASK != (lOut_long_long & BP_HIT_MASK)) && (i < 500));
+ while((BP_HIT_MASK_J != (SetReg_64Bits(0x0000000000000000) & BP_HIT_MASK_J)) && (i < 500));
if(i < 500)
{
// take target under JTAG control
- STREAM_internal_stream(stream_in_tmp, sizeof(stream_in_tmp), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
+ STREAM_internal_stream(stream_in_sync, sizeof(stream_in_sync), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
RetState = HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG); // In
STREAM_external_stream(&stream_tmp);
// restore EEM Trigger Block 0
@@ -146,19 +146,18 @@ HAL_FUNCTION(_hal_SingleStepJStateXv2)
MyIn[23] = MyOut[17];
MyIn[24] = MyOut[18];
MyIn[25] = MyOut[19];
-
+
STREAM_internal_stream(MyIn, sizeof(MyIn), MESSAGE_NO_OUT, 0, &stream_tmp);
HAL_EemDataExchangeXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG);
STREAM_external_stream(&stream_tmp);
}
- }
+ }
else
{
// take target under JTAG control
- STREAM_internal_stream(stream_in_tmp, sizeof(stream_in_tmp), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
+ STREAM_internal_stream(stream_in_sync, sizeof(stream_in_sync), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
RetState = HAL_SyncJtag_Conditional_SaveContextXv2(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG); // In
STREAM_external_stream(&stream_tmp);
- RetState = 0;
}
return RetState;
}
diff --git a/Bios/src/hal/macros/SingleStepX.c b/Bios/src/hal/macros/SingleStepX.c
index 6f3462a..dbc2e10 100644
--- a/Bios/src/hal/macros/SingleStepX.c
+++ b/Bios/src/hal/macros/SingleStepX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -61,82 +61,83 @@
*/
HAL_FUNCTION(_hal_SingleStepX)
{
- decl_out
- decl_out_long
short RetState = HALERR_UNDEFINED_ERROR;
unsigned short i = 0;
unsigned short bpCntrlType = BPCNTRL_IF;
unsigned short extraStep = 0;
-
+
// local variables to enable preserve of EEM trigger block 0
unsigned long trig0_Bckup_cntrl;
unsigned long trig0_Bckup_mask;
unsigned long trig0_Bckup_comb;
unsigned long trig0_Bckup_cpuStop;
unsigned long trig0_Bckup_value;
-
+
StreamSafe stream_tmp;
- unsigned char stream_in_tmp[22];
- for(i=0;i= 100)
{
return (HALERR_SINGLESTEP_WAITFOREEM_TIMEOUT);
}
-
+
// check if an extra step was required
if(extraStep)
{
extraStep = 0; // reset the "extra step" flag
-
+
// release the CPU once again for an "extra step" from JTAG control
- addr_capture
- cntrl_sig_release
+ addr_capture();
+ cntrl_sig_release();
}
else
{
@@ -178,26 +178,26 @@ HAL_FUNCTION(_hal_SingleStepX)
}
{ // Restore Trigger Block 0
- eem_data_exchange32
+ eem_data_exchange32();
// write control register
- SetReg_32Bits(MX_CNTRL + MX_WRITE)
- SetReg_32Bits(trig0_Bckup_cntrl)
+ SetReg_32Bits(MX_CNTRL + MX_WRITE);
+ SetReg_32Bits(trig0_Bckup_cntrl);
// write mask register
- SetReg_32Bits(MX_MASK + MX_WRITE)
- SetReg_32Bits(trig0_Bckup_mask)
+ SetReg_32Bits(MX_MASK + MX_WRITE);
+ SetReg_32Bits(trig0_Bckup_mask);
// write combination register
- SetReg_32Bits(MX_COMB + MX_WRITE)
- SetReg_32Bits(trig0_Bckup_comb)
+ SetReg_32Bits(MX_COMB + MX_WRITE);
+ SetReg_32Bits(trig0_Bckup_comb);
// write CPU stop reaction register
- SetReg_32Bits(MX_CPUSTOP + MX_WRITE)
- SetReg_32Bits(trig0_Bckup_cpuStop)
+ SetReg_32Bits(MX_CPUSTOP + MX_WRITE);
+ SetReg_32Bits(trig0_Bckup_cpuStop);
// write trigger block value register
- SetReg_32Bits(MX_BP + MX_WRITE)
- SetReg_32Bits(trig0_Bckup_value)
+ SetReg_32Bits(MX_BP + MX_WRITE);
+ SetReg_32Bits(trig0_Bckup_value);
}
-
+
// now sync the CPU again to JTAG control and save the current context
- STREAM_internal_stream(stream_in_tmp, sizeof(stream_in_tmp), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
+ STREAM_internal_stream(stream_in_sync, sizeof(stream_in_sync), MESSAGE_OUT_TO_DLL, 0, &stream_tmp);
RetState = HAL_SyncJtag_Conditional_SaveContextX(MESSAGE_NEW_MSG | MESSAGE_LAST_MSG); // In
STREAM_external_stream(&stream_tmp);
diff --git a/Bios/src/hal/macros/SingleStepXv2.c b/Bios/src/hal/macros/SingleStepXv2.c
index c7e71d7..82d3f41 100644
--- a/Bios/src/hal/macros/SingleStepXv2.c
+++ b/Bios/src/hal/macros/SingleStepXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,8 +46,8 @@
#include "stream.h"
#include "stddef.h"
#include "error_def.h"
-
-#define CPUOFF 0x10
+#include "hw_compiler_specific.h"
+#include "JtagId.h"
/**
SingleStepXv2
@@ -56,9 +56,8 @@
*/
HAL_FUNCTION(_hal_SingleStepXv2)
{
- decl_out
short RetState = HALERR_UNDEFINED_ERROR;
- unsigned short i = 0;
+ unsigned short i = 0;
StreamSafe stream_tmp;
unsigned char MyIn[31] = {
/*Number of EEM Data Exchanges*/
@@ -72,37 +71,44 @@ HAL_FUNCTION(_hal_SingleStepXv2)
0x80,0x01,0x00, 0x00,0x00,
};
unsigned char MyOut[22]; // large enough to hold all EEM registers being read
- unsigned char stream_in_tmp[22];
+ unsigned char stream_in_release[18];
+ unsigned char stream_in_sync[4];
+ unsigned short irRequest = 0;
+
+ for(i=0;i
@@ -58,28 +55,34 @@
jtagId: the Jtag identifier value
*/
+#if defined(eZ_FET) || defined(MSP_FET)
HAL_FUNCTION(_hal_StartJtag)
{
unsigned char chainLen;
unsigned char protocol;
- short ret_value = HALERR_UNDEFINED_ERROR;
-
+ short ret_value = -1;
+ HilInitGetEdtDistinctFunc hilEdtDis = ((void*)0);
+
if(STREAM_get_byte(&protocol) < 0)
{
ret_value = HALERR_START_JTAG_NO_PROTOCOL;
return(ret_value);
}
- if(EDT_SetProtocol(protocol))
+
+ if(IHIL_SetProtocol(protocol))
{
ret_value = HALERR_START_JTAG_PROTOCOL_UNKNOWN;
return(ret_value);
}
-
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- chainLen = 1; //;(unsigned char)EDT_EnumChain();
- EDT_CheckJtagFuse();
-
+
+ hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ chainLen = 1;
+ IHIL_CheckJtagFuse();
+
STREAM_put_byte((unsigned char)chainLen);
if (chainLen > 0)
{
@@ -87,4 +90,36 @@ HAL_FUNCTION(_hal_StartJtag)
}
return(ret_value);
}
+#endif
+#ifdef MSP430_UIF
+HAL_FUNCTION(_hal_StartJtag)
+{
+ unsigned char chainLen;
+ unsigned char protocol;
+ short ret_value = HALERR_UNDEFINED_ERROR;
+
+ if(STREAM_get_byte(&protocol) < 0)
+ {
+ ret_value = HALERR_START_JTAG_NO_PROTOCOL;
+ return(ret_value);
+ }
+ if(IHIL_SetProtocol(protocol))
+ {
+ ret_value = HALERR_START_JTAG_PROTOCOL_UNKNOWN;
+ return(ret_value);
+ }
+
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ chainLen = 1;
+ IHIL_CheckJtagFuse();
+
+ STREAM_put_byte((unsigned char)chainLen);
+ if (chainLen > 0)
+ {
+ ret_value = 0;
+ }
+ return(ret_value);
+}
+#endif
diff --git a/Bios/src/hal/macros/StartJtagActivationCode.c b/Bios/src/hal/macros/StartJtagActivationCode.c
index 86c3267..9c4a839 100644
--- a/Bios/src/hal/macros/StartJtagActivationCode.c
+++ b/Bios/src/hal/macros/StartJtagActivationCode.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -49,11 +49,8 @@
#include "debug.h"
#endif
-#define L092_MODE 0xA55AA55A
-#define C092_MODE 0x5AA55AA5
-
/**
- StartJtag
+ StartJtag
Open and reset the physical connection to the target device JTAG interface.
Implies release of the target from JTAG control.
inData:
@@ -64,53 +61,59 @@
HAL_FUNCTION(_hal_StartJtagActivationCode)
{
- unsigned char chainLen;
+ unsigned char chainLen = 0;
unsigned char protocol;
unsigned long ActivationCode;
short ret_value = HALERR_UNDEFINED_ERROR;
- decl_out
- decl_jtagMailboxIn
-
+ unsigned char jtagMailboxIn = 0;
+
if(STREAM_get_byte(&protocol) < 0)
{
ret_value = HALERR_START_JTAG_NO_PROTOCOL;
return(ret_value);
}
STREAM_discard_bytes(1);
-
+
if(STREAM_get_long(&ActivationCode) < 0)
{
ret_value = HALERR_START_JTAG_NO_ACTIVATION_CODE;
return(ret_value);
}
- // LO92 could just operrate in JTAG mode. Perhaps this must be changed for
+ // LO92 could just operrate in JTAG mode. Perhaps this must be changed for
// feature devices
protocol = 0;
- if(EDT_SetProtocol(protocol))
+ if(IHIL_SetProtocol(protocol))
{
ret_value = HALERR_START_JTAG_PROTOCOL_UNKNOWN;
return(ret_value);
}
+
+#if defined(eZ_FET) || defined(MSP_FET)
+ {
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ }
+#endif
+
// check if activation code is valid
if(ActivationCode == L092_MODE || ActivationCode == C092_MODE)
{
// L092 has no JTAG chain support
- EDT_SetReset(0);
- EDT_Open(RSTLOW);
- EDT_TapReset();
- EDT_SetReset(0);
+ IHIL_SetReset(0);
+ IHIL_Open(RSTLOW);
+ IHIL_TapReset();
+ IHIL_SetReset(0);
chainLen = 1;
- EDT_CheckJtagFuse();
-
- i_WriteJmbIn32(ActivationCode>>16 , ActivationCode);
- // check for Timeout issue during mailbox request
- EDT_SetReset(1);
- EDT_Delay_1ms(3000);
+
+ jtagMailboxIn = i_WriteJmbIn32(ActivationCode>>16 , ActivationCode);
+ // check for Timeout issue during mailbox request
+ IHIL_SetReset(1);
+ IHIL_Delay_1ms(3000);
if(jtagMailboxIn == 1)
{
return (HALERR_JTAG_PASSWORD_WRONG);
- }
- }
+ }
+ }
STREAM_put_byte((unsigned char)chainLen);
if (chainLen > 0)
{
diff --git a/Bios/src/hal/macros/StopJtag.c b/Bios/src/hal/macros/StopJtag.c
index 88e542c..d3064bf 100644
--- a/Bios/src/hal/macros/StopJtag.c
+++ b/Bios/src/hal/macros/StopJtag.c
@@ -7,58 +7,53 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "arch.h"
#include "edt.h"
#include "hal.h"
-#ifdef DB_PRINT
-#include "debug.h"
-#endif
+
+extern DevicePowerSettings devicePowerSettings;
/**
- StopJtag
+ StopJtag
Close the physical connection to the target JTAG interface.
- inData: -
- outData: -
*/
HAL_FUNCTION(_hal_StopJtag)
-{
-#ifdef DB_PRINT
- prtstr("@ID_StopJtag ");
-#endif
- EDT_Close();
+{
+ RestoreTestRegs();
+ IHIL_Close();
return 0;
}
diff --git a/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContext.c b/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContext.c
index 18246e5..4c0b822 100644
--- a/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContext.c
+++ b/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContext.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "hal_ref.h"
#include "stream.h"
#include "EEM_defs.h"
+#include "global_variables.h"
extern DeviceSettings deviceSettings;
@@ -60,13 +61,12 @@ extern DeviceSettings deviceSettings;
*/
HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContext)
{
- decl_out
- decl_instrLoad
- unsigned short i = 0;
+ unsigned short i = 0, lOut = 0, ctl_sync = 0;
unsigned short MyOut[4]; //! Output
unsigned short address;
unsigned short wdtVal;
-
+ unsigned short* syncWithRunVarAddress = 0;
+
// Check input parameters before we proceed
if(STREAM_get_word(&address) != 0)
{
@@ -76,83 +76,91 @@ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContext)
{
return (HALERR_SYNC_JTAG_ASSERT_POR_NO_WDT_VALUE);
}
-
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+
// Sync the JTAG
- cntrl_sig_16bit
- SetReg_16Bits(0x2401)
- cntrl_sig_capture
-
- if(lOut != JTAGVERSION)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+
+ if(cntrl_sig_capture() != JTAGVERSION)
{
return (HALERR_JTAG_VERSION_MISMATCH);
}
- cntrl_sig_capture
- SetReg_16Bits(0x0000) // read control register once
+ cntrl_sig_capture();
+ lOut = SetReg_16Bits(0x0000); // read control register once
+
+ IHIL_Tclk(1);
- TCLKset1
-
if(!(lOut & CNTRL_SIG_TCE))
{
// If the JTAG and CPU are not already synchronized ...
// Initiate Jtag and CPU synchronization. Read/Write is under CPU control. Source TCLK via TDI.
// Do not effect bits used by DTC (CPU_HALT, MCLKON).
- cntrl_sig_high_byte
- SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8) // initiate CPU synchronization but release low byte of CNTRL sig register to CPU control
-
+ cntrl_sig_high_byte();
+ SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8); // initiate CPU synchronization but release low byte of CNTRL sig register to CPU control
+
// Address Force Sync special handling
- eem_data_exchange // read access to EEM General Clock Control Register (GCLKCTRL)
- SetReg_16Bits_(MX_GCLKCTRL + MX_READ)
- SetReg_16Bits(0) // read the content of GCLKCNTRL into lOUt
+ eem_data_exchange(); // read access to EEM General Clock Control Register (GCLKCTRL)
+ SetReg_16Bits(MX_GCLKCTRL + MX_READ);
+ lOut = SetReg_16Bits(0); // read the content of GCLKCNTRL into lOUt
// Set Force Jtag Synchronization bit in Emex General Clock Control register.
lOut |= 0x0040; // 0x0040 = FORCE_SYN in DLLv2
- eem_data_exchange // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_16Bits_(MX_GCLKCTRL + MX_WRITE) // write access to EEM General Clock Control Register (GCLKCTRL)
- SetReg_16Bits(lOut) // write into GCLKCNTRL
+ eem_data_exchange(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_16Bits(MX_GCLKCTRL + MX_WRITE); // write access to EEM General Clock Control Register (GCLKCTRL)
+ lOut = SetReg_16Bits(lOut); // write into GCLKCNTRL
// Reset Force Jtag Synchronization bit in Emex General Clock Control register.
lOut &= ~0x0040;
- eem_data_exchange // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_16Bits_(MX_GCLKCTRL + MX_WRITE) // write access to EEM General Clock Control Register (GCLKCTRL)
- SetReg_16Bits(lOut) // write into GCLKCNTRL
-
- SyncJtag();
-
- if(!i)
+ eem_data_exchange(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_16Bits(MX_GCLKCTRL + MX_WRITE); // write access to EEM General Clock Control Register (GCLKCTRL)
+ lOut = SetReg_16Bits(lOut); // write into GCLKCNTRL
+
+ ctl_sync = SyncJtag();
+
+ if(!(ctl_sync & CNTRL_SIG_CPU_HALT))
{ // Synchronization failed!
return (HALERR_SYNC_JTAG_ASSERT_POR_JTAG_TIMEOUT);
}
}// end of if(!(lOut & CNTRL_SIG_TCE))
- if(lOut & CNTRL_SIG_CPU_HALT)
+ if(ctl_sync & CNTRL_SIG_CPU_HALT)
{
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits(0x2401)
- TCLKset1
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ IHIL_Tclk(1);
}
else
{
- cntrl_sig_16bit
- SetReg_16Bits(0x2401)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
}
-/*
- isInstrLoad // Test if we are on an instruction load boundary
- if(lIsInstrLoad != 0)
+
+ if (deviceSettings.assertBslValidBit)
{
- return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
+ // here we add bit de assert bit 7 in JTAG test reg to enalbe clocks again
+ test_reg();
+ lOut = SetReg_8Bits(0x00);
+ lOut |= 0x80; //DE_ASSERT_BSL_VALID;
+ test_reg();
+ SetReg_8Bits(lOut); // Bit 7 is de asserted now
}
-*/
+
// execute a dummy instruction here
- data_16bit
- TCLKset1 // Stability improvement: should be possible to remove this TCLK is already 1
- SetReg_16Bits_(0x4303) // 0x4303 = NOP
- TCLKset0
- data_capture
- TCLKset1
+ data_16bit();
+ IHIL_Tclk(1); // Stability improvement: should be possible to remove this TCLK is already 1
+ SetReg_16Bits(0x4303); // 0x4303 = NOP
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
// step until next instruction load boundary if not being already there
- instrLoad
- if(lInstrLoad != 0)
+ if(instrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
@@ -160,91 +168,96 @@ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContext)
if (deviceSettings.clockControlType == GCC_EXTENDED)
{
// Perform the POR
- eem_data_exchange
- SetReg_16Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_16Bits_(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN) // write into MX_GENCNTRL
-
- eem_data_exchange // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_16Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_16Bits_(EMU_FEAT_EN | EMU_CLK_EN) // write into MX_GENCNTRL
+ eem_data_exchange();
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN); // write into MX_GENCNTRL
+
+ eem_data_exchange(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN | EMU_CLK_EN); // write into MX_GENCNTRL
+ }
+ if (deviceSettings.clockControlType == GCC_STANDARD_I)
+ {
+ eem_data_exchange();
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN); // write into MX_GENCNTRL
}
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
- TCLKset1
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
- TCLKset1
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
// Explicitly set TMR
SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1); // Enable access to Flash registers
-
- flash_16bit_update // Disable flash test mode
- SetReg_16Bits_(FLASH_SESEL1) // Pulse TMR
- SetReg_16Bits_(FLASH_SESEL1 | FLASH_TMR)
- SetReg_16Bits_(FLASH_SESEL1)
- SetReg_16Bits_(FLASH_SESEL1 | FLASH_TMR) // Set TMR to user mode
-
- cntrl_sig_high_byte
- SetReg_8Bits_((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1) >> 8) // Disable access to Flash register
-
+
+ flash_16bit_update(); // Disable flash test mode
+ SetReg_16Bits(FLASH_SESEL1); // Pulse TMR
+ SetReg_16Bits(FLASH_SESEL1 | FLASH_TMR);
+ SetReg_16Bits(FLASH_SESEL1);
+ SetReg_16Bits(FLASH_SESEL1 | FLASH_TMR); // Set TMR to user mode
+
+ cntrl_sig_high_byte();
+ SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1) >> 8); // Disable access to Flash register
+
// step until an appropriate instruction load boundary
for(i = 0; i < 10; i++)
{
- addr_capture
- SetReg_16Bits(0x0000)
+ addr_capture();
+ lOut = SetReg_16Bits(0x0000);
if(lOut == 0xFFFE || lOut == 0x0F00)
{
break;
}
- TCLK
+ IHIL_TCLK();
}
if(i == 10)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
- TCLK
- TCLK
+ IHIL_TCLK();
+ IHIL_TCLK();
- TCLKset0
- addr_capture
- SetReg_16Bits(0x0000)
- TCLKset1
+ IHIL_Tclk(0);
+ addr_capture();
+ SetReg_16Bits(0x0000);
+ IHIL_Tclk(1);
// step until next instruction load boundary if not being already there
- instrLoad
- if(lInstrLoad != 0)
+
+ if(instrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
// Hold Watchdog
- ReadMemWord (address, MyOut[0]); // safe WDT value
+ MyOut[0] = ReadMemWord(address); // safe WDT value
wdtVal |= (MyOut[0] & 0xFF); // set original bits in addition to stop bit
WriteMemWord(address, wdtVal);
// read MAB = PC here
- addr_capture
- SetReg_16Bits(0)
- MyOut[1] = lOut;
+ addr_capture();
+ MyOut[1] = SetReg_16Bits(0);
MyOut[2] = 0; // high PC always 0 for MSP430 architecture
-
+
// set PC to a save address pointing to ROM to avoid RAM corruption on certain devices
- SetPc(ROM_ADDR)
+ SetPc(ROM_ADDR);
// read status register
- ReadCpuReg(2,MyOut[3]);
+ MyOut[3] = ReadCpuReg(2);
// return output
STREAM_put_bytes((unsigned char*)MyOut,8);
-
+
return(0);
}
diff --git a/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextX.c b/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextX.c
index 9b59815..ce5d14c 100644
--- a/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextX.c
+++ b/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "hal_ref.h"
#include "stream.h"
#include "EEM_defs.h"
+#include "global_variables.h"
extern DeviceSettings deviceSettings;
@@ -60,14 +61,13 @@ extern DeviceSettings deviceSettings;
*/
HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextX)
{
- decl_out
- decl_out_long
- decl_instrLoad
- unsigned short i = 0;
+ unsigned short i = 0, ctl_sync = 0;
unsigned short MyOut[4]; //! Output
unsigned short address;
- unsigned short wdtVal;
-
+ unsigned short wdtVal, lOut = 0;
+ unsigned short* syncWithRunVarAddress = 0;
+ unsigned long lOut_long = 0;
+
// Check input parameters before we proceed
if(STREAM_get_word(&address) != 0)
{
@@ -77,172 +77,174 @@ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextX)
{
return (HALERR_SYNC_JTAG_ASSERT_POR_NO_WDT_VALUE);
}
-
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+
// Sync the JTAG
- cntrl_sig_16bit
- SetReg_16Bits(0x2401)
- cntrl_sig_capture
-
- if(lOut != JTAGVERSION)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ if(cntrl_sig_capture() != JTAGVERSION)
{
return (HALERR_JTAG_VERSION_MISMATCH);
}
- cntrl_sig_capture
- SetReg_16Bits(0x0000) // read control register once
+ cntrl_sig_capture();
+ lOut = SetReg_16Bits(0x0000); // read control register once
+
+ IHIL_Tclk(1);
- TCLKset1
-
if(!(lOut & CNTRL_SIG_TCE))
{
// If the JTAG and CPU are not already synchronized ...
// Initiate Jtag and CPU synchronization. Read/Write is under CPU control. Source TCLK via TDI.
// Do not effect bits used by DTC (CPU_HALT, MCLKON).
- cntrl_sig_high_byte
- SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8) // initiate CPU synchronization but release low byte of CNTRL sig register to CPU control
+ cntrl_sig_high_byte();
+ SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8); // initiate CPU synchronization but release low byte of CNTRL sig register to CPU control
// Address Force Sync special handling
- eem_data_exchange32 // read access to EEM General Clock Control Register (GCLKCTRL)
- SetReg_32Bits_(MX_GCLKCTRL + MX_READ)
- SetReg_32Bits(0) // read the content of GCLKCNTRL into lOUt
+ eem_data_exchange32(); // read access to EEM General Clock Control Register (GCLKCTRL)
+ SetReg_32Bits(MX_GCLKCTRL + MX_READ);
+ lOut = SetReg_32Bits(0); // read the content of GCLKCNTRL into lOUt
// Set Force Jtag Synchronization bit in Emex General Clock Control register.
lOut |= 0x0040; // 0x0040 = FORCE_SYN in DLLv2
- eem_data_exchange32 // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_32Bits_(MX_GCLKCTRL + MX_WRITE) // write access to EEM General Clock Control Register (GCLKCTRL)
- SetReg_32Bits(lOut) // write into GCLKCNTRL
+ eem_data_exchange32(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_32Bits(MX_GCLKCTRL + MX_WRITE); // write access to EEM General Clock Control Register (GCLKCTRL)
+ lOut = SetReg_32Bits(lOut); // write into GCLKCNTRL
// Reset Force Jtag Synchronization bit in Emex General Clock Control register.
lOut &= ~0x0040;
- eem_data_exchange32 // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_32Bits_(MX_GCLKCTRL + MX_WRITE) // write access to EEM General Clock Control Register (GCLKCTRL)
- SetReg_32Bits(lOut) // write into GCLKCNTRL
+ eem_data_exchange32(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_32Bits(MX_GCLKCTRL + MX_WRITE); // write access to EEM General Clock Control Register (GCLKCTRL)
+ SetReg_32Bits(lOut); // write into GCLKCNTRL
+
+ ctl_sync = SyncJtag();
- SyncJtag();
-
- if(!i)
+ if(!ctl_sync)
{ // Synchronization failed!
return (HALERR_SYNC_JTAG_ASSERT_POR_JTAG_TIMEOUT);
}
}// end of if(!(lOut & CNTRL_SIG_TCE))
- if(lOut & CNTRL_SIG_CPU_HALT)
+ if(ctl_sync & CNTRL_SIG_CPU_HALT)
{
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits(0x2401)
- TCLKset1
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ IHIL_Tclk(1);
}
else
{
- cntrl_sig_16bit
- SetReg_16Bits(0x2401)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
}
// execute a dummy instruction here
- data_16bit
- TCLKset1 // Stability improvement: should be possible to remove this TCLK is already 1
- SetReg_16Bits_(0x4303) // 0x4303 = NOP
- TCLKset0
- data_capture
- TCLKset1
+ data_16bit();
+ IHIL_Tclk(1); // Stability improvement: should be possible to remove this TCLK is already 1
+ SetReg_16Bits(0x4303); // 0x4303 = NOP
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
// step until next instruction load boundary if not being already there
- instrLoad
- if(lInstrLoad != 0)
+ if( instrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
if (deviceSettings.clockControlType == GCC_EXTENDED)
{
- eem_data_exchange32
- SetReg_32Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_32Bits_(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN) // write into MX_GENCNTRL
-
- eem_data_exchange32 // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_32Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_32Bits_(EMU_FEAT_EN | EMU_CLK_EN) // write into MX_GENCNTRL
+ eem_data_exchange32();
+ SetReg_32Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_32Bits(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN); // write into MX_GENCNTRL
+
+ eem_data_exchange32(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_32Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_32Bits(EMU_FEAT_EN | EMU_CLK_EN); // write into MX_GENCNTRL
}
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
- TCLKset1
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
- TCLKset1
- cntrl_sig_16bit
- SetReg_16Bits_(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_PUC | CNTRL_SIG_TAGFUNCSAT); // Assert PUC
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1 | CNTRL_SIG_TAGFUNCSAT); // Negate PUC
// Explicitly set TMR
SetReg_16Bits(CNTRL_SIG_READ | CNTRL_SIG_TCE1); // Enable access to Flash registers
-
- flash_16bit_update // Disable flash test mode
- SetReg_16Bits_(FLASH_SESEL1) // Pulse TMR
- SetReg_16Bits_(FLASH_SESEL1 | FLASH_TMR)
- SetReg_16Bits_(FLASH_SESEL1)
- SetReg_16Bits_(FLASH_SESEL1 | FLASH_TMR) // Set TMR to user mode
-
- cntrl_sig_high_byte
- SetReg_8Bits_((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1) >> 8) // Disable access to Flash register
+
+ flash_16bit_update(); // Disable flash test mode
+ SetReg_16Bits(FLASH_SESEL1); // Pulse TMR
+ SetReg_16Bits(FLASH_SESEL1 | FLASH_TMR);
+ SetReg_16Bits(FLASH_SESEL1);
+ SetReg_16Bits(FLASH_SESEL1 | FLASH_TMR); // Set TMR to user mode
+
+ cntrl_sig_high_byte();
+ SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1) >> 8); // Disable access to Flash register
// step until an appropriate instruction load boundary
for(i = 0; i < 10; i++)
{
- addr_capture
- SetReg_20Bits(0x0000)
- if(lOut_long == 0xFFFE || lOut_long == 0x0F00)
+ addr_capture();
+ lOut_long = SetReg_20Bits(0x0000);
+ if((lOut_long & 0xFFFF) == 0xFFFE || (lOut_long & 0xFFFF) == 0x0F00)
{
break;
}
- TCLK
+ IHIL_TCLK();
}
if(i == 10)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
- TCLK
- TCLK
+ IHIL_TCLK();
+ IHIL_TCLK();
- TCLKset0
- addr_capture
- SetReg_16Bits(0x0000)
- TCLKset1
+ IHIL_Tclk(0);
+ addr_capture();
+ SetReg_16Bits(0x0000);
+ IHIL_Tclk(1);
// step until next instruction load boundary if not being already there
- instrLoad
- if(lInstrLoad != 0)
+ if(instrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
// Hold Watchdog
- ReadMemWordX(address, MyOut[0]); // safe WDT value
+ MyOut[0] = ReadMemWordX(address); // safe WDT value
wdtVal |= (MyOut[0] & 0x00FF); // set original bits in addition to stop bit
WriteMemWordX(address, wdtVal);
// read MAB = PC here
- addr_capture
- SetReg_20Bits(0)
+ addr_capture();
+ lOut_long = SetReg_20Bits(0);
MyOut[1] = (unsigned short)(lOut_long & 0xFFFF);
MyOut[2] = (unsigned short)(lOut_long >> 16);
-
+
// set PC to a save address pointing to ROM to avoid RAM corruption on certain devices
- SetPcX(ROM_ADDR)
+ SetPcX(ROM_ADDR);
{
unsigned long Rx;
// read status register
- ReadCpuRegX(2,Rx);
+ Rx = ReadCpuRegX(2);
MyOut[3] = (unsigned short)Rx;
}
// return output
STREAM_put_bytes((unsigned char*)MyOut,8);
-
+
return(0);
}
diff --git a/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextXv2.c b/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextXv2.c
index 07bfa87..a5a103c 100644
--- a/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextXv2.c
+++ b/Bios/src/hal/macros/SyncJtag_AssertPor_SaveContextXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -49,49 +49,9 @@
#include "HalGlobalVars.h"
#include "error_def.h"
-extern unsigned short _hal_mclkCntrl0;
-VAR_AT(unsigned char mclk_modules[16], HAL_ADDR_VAR_MCLK_MODULES);
-
-static unsigned char clkModuleMapping[] =
-{
- 0x00, 0x0a, 0x1e, 0x40, 0x60, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
- 0x90, 0x88, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x74, 0x75,
- 0x76, 0x77, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e,
- 0x9f, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,
- 0x8a, 0x8a, 0xa8, 0xa8, 0xb0, 0xb5, 0xbc, 0xbd, 0xbe, 0xbf,
- 0xc0, 0xc1, 0xd4, 0xd5, 0xd6, 0xd6, 0xd8, 0x8e, 0x8f, 0x31
-};
-
-#define CLOCK_MAPPING_TABLE_SIZE (sizeof(clkModuleMapping)/sizeof(*clkModuleMapping))
-/*#define wait_for_synch { decl_out \
- cntrl_sig_capture \
- SetReg_16Bits(0) \
- while(!(lOut & 0x0200)) \
- { \
- SetReg_16Bits(0) \
- }; \
- }*/
-
-#define wait_for_synch { decl_out \
- int i = 0; \
- lPASS = lFAIL = 0; \
- cntrl_sig_capture \
- SetReg_16Bits(0) \
- while(!(lOut & 0x0200) && i < 50) \
- { \
- SetReg_16Bits(0) \
- i++; \
- }; \
- if(i >= 50) \
- { \
- lFAIL++; \
- } \
- else \
- { \
- lPASS++; \
- } \
- }
+extern unsigned long _hal_mclkCntrl0;
+unsigned char mclk_modules[32];
/**
SyncJtag_AssertPor_SaveContextXv2
@@ -107,101 +67,106 @@ extern DevicePowerSettings devicePowerSettings;
HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextXv2)
{
- decl_out
- decl_out_long
- unsigned short MyOut[4];
- int i;
- unsigned short address;
- unsigned short wdtVal;
-
- long lPASS = 0;
- long lFAIL = 0;
+ unsigned short MyOut[4];
+ int i;
+ unsigned short address;
+ unsigned short wdtVal;
+ unsigned short id = cntrl_sig_capture();
+ unsigned long lOut_long = 0;
- // -------------------------Power mode handling start ----------------------
- unsigned short id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- //Disable Lpmx5 and power gaiting settings
- if(id == JTAGVERSION91)
+ // -------------------------Power mode handling start ----------------------
+ //Disable Lpmx5 and power gaiting settings
+ if( id == JTAGVERSION99)
{
- // just disable JTAG i lock
- test_reg_3V
- SetReg_16Bits(0x4020);
+ test_reg_3V();
+ SetReg_16Bits(0x40A0);
+ test_reg();
+ SetReg_32Bits(0x00010000);
}
- if(id == JTAGVERSION99)
- {
- test_reg_3V
- SetReg_16Bits(0x4020);
- test_reg
- SetReg_32Bits(0x00010000);
- }
// -------------------------Power mode handling end ------------------------
// enable clock control before sync
// switch all functional clocks to JCK = 1 and stop them
- eem_data_exchange32
- SetReg_32Bits_(GENCLKCTRL + WRITE);
- SetReg_32Bits_(MCLK_SEL3 + SMCLK_SEL3 + ACLK_SEL3 + STOP_MCLK + STOP_SMCLK + STOP_ACLK);
+ eem_data_exchange32();
+ SetReg_32Bits(GENCLKCTRL + WRITE);
+ SetReg_32Bits(MCLK_SEL3 + SMCLK_SEL3 + ACLK_SEL3 + STOP_MCLK + STOP_SMCLK + STOP_ACLK);
// enable Emualtion Clocks
- eem_write_control
- SetReg_16Bits_(EMU_CLK_EN + EEM_EN);
+ eem_write_control();
+ SetReg_16Bits(EMU_CLK_EN + EEM_EN);
+ cntrl_sig_16bit();
+ // release RW and BYTE control signals in low byte, set TCE1 & CPUSUSP(!!) & RW
+ SetReg_16Bits(0x1501);
+
+ if(wait_for_synch())
{
- cntrl_sig_16bit
- // release RW and BYTE control signals in low byte, set TCE1 & CPUSUSP(!!) & RW
- SetReg_16Bits_(0x1501)
- wait_for_synch
- }
- if(lPASS > 0 && lFAIL == 0)
- {
// provide one more clock to empty the pipe
- TCLK
-
- cntrl_sig_16bit
+ IHIL_TCLK();
+
+ cntrl_sig_16bit();
// release CPUFLUSH(=CPUSUSP) signal and apply POR signal
- SetReg_16Bits_(0x0C01)
- EDT_Delay_1ms(40);
-
+ SetReg_16Bits(0x0C01);
+ IHIL_Delay_1ms(40);
+
// release POR signal again
- SetReg_16Bits_(0x0401) // disable fetch of CPU // changed from 401 to 501
- TCLK
- // drive save adress into pc
- //addr_16bit
- //SetReg_16Bits_(0xFFF0)
- // dreiver end
- TCLK
- TCLK
+ SetReg_16Bits(0x0401); // disable fetch of CPU // changed from 401 to 501
+
+ if(id == JTAGVERSION91 || id == JTAGVERSION99 || id == JTAGVERSION98)
+ { // Force PC so safe value memory location, JMP $
+ data_16bit();
+ IHIL_TCLK();
+ IHIL_TCLK();
+ SetReg_16Bits(SAFE_PC_ADDRESS);
+ // drive safe address into pc end
+ IHIL_TCLK();
+
+ if(id == JTAGVERSION91)
+ {
+ IHIL_TCLK();
+ }
+
+ data_capture();
+ }
+ else
+ {
+ IHIL_TCLK();
+ IHIL_TCLK();
+ IHIL_TCLK();
+ }
+
// TWO more to release CPU internal POR delay signals
- TCLK
- TCLK
+ IHIL_TCLK();
+ IHIL_TCLK();
+
// set CPUFLUSH signal
- cntrl_sig_16bit
- SetReg_16Bits_(0x0501)
- TCLK
-
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_TCLK();
+
// set EEM FEATURE enable now!!!
- eem_write_control
- SetReg_16Bits_(EMU_FEAT_EN + EMU_CLK_EN + CLEAR_STOP);
-
+ eem_write_control();
+ SetReg_16Bits(EMU_FEAT_EN + EMU_CLK_EN + CLEAR_STOP);
+
// Check that sequence exits on Init State
- cntrl_sig_capture
- SetReg_16Bits_(0x0000);
+ cntrl_sig_capture();
+ SetReg_16Bits(0x0000);
// lout == 0x0301,0x3fd3
-
// hold Watchdog Timer
STREAM_get_word(&address);
STREAM_get_word(&wdtVal);
-
- ReadMemWordXv2(address,MyOut[0]);
+
+ MyOut[0] = ReadMemWordXv2(address);
wdtVal |= (MyOut[0] & 0xFF); // set original bits in addition to stop bit
WriteMemWordXv2(address, wdtVal);
-
+
// Capture MAB - the actual PC value is (MAB - 4)
- addr_capture
- SetReg_20Bits(0)
+ addr_capture();
+ lOut_long = SetReg_20Bits(0);
/*****************************************/
/* Note 1495, 1637 special handling */
/*****************************************/
- if(lOut_long == 0xFFFE)
+ if(((lOut_long & 0xFFFF) == 0xFFFE) || (id == JTAGVERSION91) || (id == JTAGVERSION99) || (id == JTAGVERSION98))
{
- ReadMemWordXv2(0xFFFE,MyOut[1]);
+ MyOut[1] = ReadMemWordXv2(0xFFFE);
MyOut[2] = 0;
}
/*********************************/
@@ -214,42 +179,46 @@ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextXv2)
// Status Register should be always 0 after a POR
MyOut[3] = 0;
STREAM_discard_bytes(1);
- for(i=0; i<16; i++)
+ for(i=0; i<32; i++)
{
unsigned short v;
- unsigned char clkModule = 0;
STREAM_get_byte(&mclk_modules[i]);
-
- //Map received index to actual clock module
- if ( mclk_modules[i] < CLOCK_MAPPING_TABLE_SIZE )
- {
- clkModule = clkModuleMapping[ mclk_modules[i] ];
- }
- if(clkModule != 0)
+ if(mclk_modules[i] != 0)
{
- if(_hal_mclkCntrl0 & (0x0001 << i))
+ // check if module clock control is enabled for corresponding module
+ if(_hal_mclkCntrl0 & ((unsigned long) 0x00000001 << i))
v = 1;
else
v = 0;
- WriteMemWordXv2(ETKEYSEL, ETKEY + clkModule);
+ WriteMemWordXv2(ETKEYSEL, ETKEY + mclk_modules[i]);
WriteMemWordXv2(ETCLKSEL, v);
}
}
// switch back system clocks to original clock source but keep them stopped
- eem_data_exchange32
- SetReg_32Bits_(GENCLKCTRL + WRITE);
- SetReg_32Bits_(MCLK_SEL0 + SMCLK_SEL0 + ACLK_SEL0 + STOP_MCLK + STOP_SMCLK + STOP_ACLK);
- // configure cycle counter
- // Increment on all bus cycles (including DMA cycles)
- // Start when CPU released from JTAG/EEM
- // Stop when CPU is stopped by EEM or under JTAG control
-
- SetReg_32Bits_(CCNT0CTL + WRITE);
- SetReg_32Bits_(CCNT_RST + CCNTMODE5);
-
+ eem_data_exchange32();
+ SetReg_32Bits(GENCLKCTRL + WRITE);
+ SetReg_32Bits(MCLK_SEL0 + SMCLK_SEL0 + ACLK_SEL0 + STOP_MCLK + STOP_SMCLK + STOP_ACLK);
+
+ // reset Vacant Memory Interrupt Flag inside SFRIFG1
+ if(id == JTAGVERSION91)
+ {
+ volatile unsigned short specialFunc = ReadMemWordXv2(0x0102);
+ if(specialFunc & 0x8)
+ {
+ SetPcXv2(0x80, SAFE_PC_ADDRESS);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
+
+ specialFunc &= ~0x8;
+ WriteMemWordXv2(0x0102, specialFunc);
+ }
+ }
+
STREAM_put_bytes((unsigned char*)MyOut,8);
-
+
return 0; // retrun status OK
}
else
@@ -257,4 +226,3 @@ HAL_FUNCTION(_hal_SyncJtag_AssertPor_SaveContextXv2)
return HALERR_UNDEFINED_ERROR; // return errer in case if syc fails
}
}
-
diff --git a/Bios/src/hal/macros/SyncJtag_Conditional_SaveContext.c b/Bios/src/hal/macros/SyncJtag_Conditional_SaveContext.c
index 762f515..285ba66 100644
--- a/Bios/src/hal/macros/SyncJtag_Conditional_SaveContext.c
+++ b/Bios/src/hal/macros/SyncJtag_Conditional_SaveContext.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "stream.h"
#include "error_def.h"
#include "EEM_defs.h"
+#include "global_variables.h"
#define MAX_TCE1 10
/**
@@ -62,42 +63,38 @@ extern DeviceSettings deviceSettings;
//--------------------------------------------------------------------------
// static STATUS_T clkTclkAndCheckDTC(void)
-// \todo Günther: Seems to only apply to devices with the DTC bug, determine the effect
+// \todo Günther: Seems to only apply to devices with the DTC bug, determine the effect
// this code has on devices that do not have the DTC bug
static long clkTclkAndCheckDTC(void)
{
#define MAX_DTC_CYCLE 10
-
- decl_out
- unsigned int cntrlSig;
+ unsigned short cntrlSig;
int dtc_cycle_cnt = 0;
long timeOut =0;
do
{
- TCLKset0
+ IHIL_Tclk(0);
- cntrl_sig_capture
- SetReg_16Bits(0)
-
- cntrlSig = lOut;
+ cntrl_sig_capture();
+ cntrlSig = SetReg_16Bits(0);
if ((dtc_cycle_cnt > 0) &&
((cntrlSig & CNTRL_SIG_CPU_HALT) == 0))
{
// DTC cycle completed, take over control again...
- cntrl_sig_16bit
+ cntrl_sig_16bit();
SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
}
if ((dtc_cycle_cnt == 0) &&
((cntrlSig & CNTRL_SIG_CPU_HALT) == CNTRL_SIG_CPU_HALT))
{
// DTC cycle requested, grant it...
- cntrl_sig_16bit
- SetReg_16Bits(CNTRL_SIG_CPU_HALT | CNTRL_SIG_TCE1 |
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_CPU_HALT | CNTRL_SIG_TCE1 |
CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
dtc_cycle_cnt++;
}
- TCLKset1
+ IHIL_Tclk(1);
timeOut++;
}
while ((dtc_cycle_cnt < MAX_DTC_CYCLE) &&
@@ -114,108 +111,127 @@ static long clkTclkAndCheckDTC(void)
}
HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContext)
-{
- decl_out
- decl_isInstrLoad
- decl_instrLoad
- unsigned short i = 0;
+{
+ unsigned short i = 0, lOut = 0, ctl_sync = 0;
short MyOut[5] = {0};
unsigned short address;
unsigned short wdtVal;
unsigned short statusReg = 0;
-
- if(STREAM_get_word(&address) != 0)
+ unsigned short* syncWithRunVarAddress = 0;
+
+ if(STREAM_get_word(&address) != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_NO_WDT_ADDRESS);
}
-
+
if(STREAM_get_word(&wdtVal) == -1)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_NO_WDT_VALUE);
- }
-
- TCLKset1 // Stability improvent: should be possible to remove this here, default state of TCLK should be one
-
- cntrl_sig_capture
- SetReg_16Bits(0x0000)
-
- if(!(lOut & CNTRL_SIG_TCE)) {
+ }
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+
+ IHIL_Tclk(1); // Stability improvent: should be possible to remove this here, default state of TCLK should be one
+
+ cntrl_sig_capture();
+
+ if(!(SetReg_16Bits(0x0000) & CNTRL_SIG_TCE))
+ {
// If the JTAG and CPU are not already synchronized ...
// Initiate Jtag and CPU synchronization. Read/Write is under CPU control. Source TCLK via TDI.
// Do not effect bits used by DTC (CPU_HALT, MCLKON).
- cntrl_sig_high_byte
+ cntrl_sig_high_byte();
SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8);
// A bug in first F43x and F44x silicon requires that Jtag synchronization be forced /* when the CPU is Off */.
// Since the JTAG and CPU are not yet synchronized, the CPUOFF bit in the lower byte of the cntrlSig
// register is not valid.
// TCE eventually set indicates synchronization (and clocking via TCLK).
- SyncJtag()
- if(!i)
+ ctl_sync = SyncJtag();
+
+ if(!ctl_sync)
{ // Synchronization failed!
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
}// end of if(!(lOut & CNTRL_SIG_TCE))
-
- if(lOut & CNTRL_SIG_CPU_HALT)
+
+ if(ctl_sync & CNTRL_SIG_CPU_HALT)
{
- TCLKset0
- cntrl_sig_16bit
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
// Clear HALT. Read/Write is under CPU control. As a precaution, disable interrupts.
- SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT)
- TCLKset1
+ SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
+ IHIL_Tclk(1);
}
else
{
- cntrl_sig_16bit
- // Clear HALT. Read/Write is under CPU control. As a precaution, disable interrupts.
- SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT)
+ cntrl_sig_16bit();
+ // Clear HALT. Read/Write is under CPU control. As a precaution, disable interrupts.
+ SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
}
- instrLoad // step until next instruction load boundary if not being already there
- if(lInstrLoad != 0)
+ if (deviceSettings.assertBslValidBit)
+ {
+ // here we add bit de assert bit 7 in JTAG test reg to enalbe clocks again
+ test_reg();
+ lOut = SetReg_8Bits(0x00);
+ lOut |= 0x80; //DE_ASSERT_BSL_VALID;
+ test_reg();
+ SetReg_8Bits(lOut); // Bit 7 is de asserted now
+ }
+
+ // step until next instruction load boundary if not being already there
+ if(instrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
- }
-
+ }
+
// read MAB = PC here
- addr_capture
- SetReg_16Bits(0x000)
- MyOut[1] = lOut;
- MyOut[2] = 0; // High part for MSP430 devices is always 0
-
+ addr_capture();
+ MyOut[1] = SetReg_16Bits(0x0000);
+ MyOut[2] = 0; // High part for MSP430 devices is always 0
+
// disable EEM and clear stop reaction
- eem_write_control
- SetReg_16Bits(0x0003)
- SetReg_16Bits(0x0000)
-
- if (deviceSettings.clockControlType == GCC_EXTENDED)
- {
- eem_data_exchange
- SetReg_16Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_16Bits_(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN) // write into MX_GENCNTRL
-
- eem_data_exchange // Stability improvent: should be possible to remove this, required only once at the beginning
- SetReg_16Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_16Bits_(EMU_FEAT_EN | EMU_CLK_EN) // write into MX_GENCNTRL
- }
-
+ eem_write_control();
+ SetReg_16Bits(0x0003);
+ SetReg_16Bits(0x0000);
+
+ if (deviceSettings.clockControlType == GCC_EXTENDED)
+ {
+ eem_data_exchange();
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN); // write into MX_GENCNTRL
+
+ eem_data_exchange(); // Stability improvent: should be possible to remove this, required only once at the beginning
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN | EMU_CLK_EN); // write into MX_GENCNTRL
+ }
+ if (deviceSettings.clockControlType == GCC_STANDARD_I)
+ {
+ eem_data_exchange();
+ SetReg_16Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_16Bits(EMU_FEAT_EN); // write into MX_GENCNTRL
+ }
+
if (deviceSettings.clockControlType != GCC_NONE)
{
if(deviceSettings.stopFLL)
- {
+ {
unsigned short clkCntrl = 0;
// read access to EEM General Clock Control Register (GCLKCTRL)
- eem_data_exchange
- SetReg_16Bits_(MX_GCLKCTRL + MX_READ)
- SetReg_16Bits(0)
+ eem_data_exchange();
+ SetReg_16Bits(MX_GCLKCTRL + MX_READ);
+ clkCntrl = SetReg_16Bits(0);
// added UPSF: FE427 does regulate the FLL to the upper boarder
// added the switch off and release of FLL (JTFLLO)
- clkCntrl = lOut;
clkCntrl |= 0x10;
- eem_data_exchange
- SetReg_16Bits_(MX_GCLKCTRL + MX_WRITE)
- SetReg_16Bits_(clkCntrl)
+ eem_data_exchange();
+ SetReg_16Bits(MX_GCLKCTRL + MX_WRITE);
+ SetReg_16Bits(clkCntrl);
}
}
//-----------------------------------------------------------------------
@@ -226,29 +242,28 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContext)
// The dummy instruction also provides a needed extra clock when the device is stopped by the Emex module and it is OFF.
// The dummy instruction also possibly initiates processing of a pending interrupt.
#define BIS_IMM_0_R4 0xd034
- data_16bit
- TCLKset1 // Added for 2xx support
- SetReg_16Bits(BIS_IMM_0_R4)
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support
+ SetReg_16Bits(BIS_IMM_0_R4);
if(clkTclkAndCheckDTC() != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
-
- cntrl_sig_capture
- SetReg_16Bits(0x0000)
- if(lOut & CNTRL_SIG_INSTRLOAD) // Still on an instruction load boundary?
+
+ cntrl_sig_capture();
+ if(SetReg_16Bits(0x0000) & CNTRL_SIG_INSTRLOAD) // Still on an instruction load boundary?
{
- data_16bit
- TCLKset1 // Added for 2xx support
- SetReg_16Bits(BIS_IMM_0_R4)
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support
+ SetReg_16Bits(BIS_IMM_0_R4);
if(clkTclkAndCheckDTC() != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
}
- data_16bit
- TCLKset1 // Added for 2xx support
- SetReg_16Bits(0x0000)
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support
+ SetReg_16Bits(0x0000);
if(clkTclkAndCheckDTC() != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
@@ -257,55 +272,50 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContext)
// The CPUOff bit will be cleared.
// Basically, if there is an interrupt pending, the above dummy instruction
// will have initialted its processing, and the CPU will not be on an
- // instruction load boundary following the dummy instruction.
-
+ // instruction load boundary following the dummy instruction.
+
i = 0;
- cntrl_sig_capture
- SetReg_16Bits(0);
- while(!(lOut & CNTRL_SIG_INSTRLOAD) && (i < MAX_TCE1))
+ cntrl_sig_capture();
+ while(!(SetReg_16Bits(0) & CNTRL_SIG_INSTRLOAD) && (i < MAX_TCE1))
{
if(clkTclkAndCheckDTC() != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
i++;
-
- SetReg_16Bits(0);
}
-
- if(i == MAX_TCE1)
+
+ if(i == MAX_TCE1)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
-
+
// Read PC now!!! Only the NOP or BIS #0,R4 instruction above was clocked into the device
// The PC value should now be (OriginalValue + 2)
// read MAB = PC here
- addr_capture
- SetReg_16Bits(0x0000)
- MyOut[1] = lOut - 4;
- MyOut[2] = 0; // High part for MSP430 devices is always 0
-
+ addr_capture();
+ MyOut[1] = SetReg_16Bits(0x0000) - 4;
+ MyOut[2] = 0; // High part for MSP430 devices is always 0
+
if(i == 0)
{ // An Interrupt was not detected
// lOut does not contain the content of the CNTRL_SIG register anymore at this point
// need to capture it again...different to DLLv3 sequence but don't expect any negative effect due to recapturing
- cntrl_sig_capture
- SetReg_16Bits(0x0000)
- if(lOut & CNTRL_SIG_CPU_OFF)
+ cntrl_sig_capture();
+ if(SetReg_16Bits(0x0000) & CNTRL_SIG_CPU_OFF)
{
MyOut[1] += 2;
-
- data_16bit
- TCLKset1 // Added for 2xx support
+
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support
SetReg_16Bits(0xC032);
if(clkTclkAndCheckDTC() != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
- data_16bit
- TCLKset1 // Added for 2xx support
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support \Günther: Why set TCLK 1 again?
SetReg_16Bits(0x0010);
if(clkTclkAndCheckDTC() != 0)
{
@@ -317,37 +327,36 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContext)
}
else
{
- addr_capture
- SetReg_16Bits(0)
- MyOut[1] = lOut;
+ addr_capture();
+ MyOut[1] = SetReg_16Bits(0);
MyOut[2] = 0; // High part for MSP430 devices is always 0
MyOut[4] = 1; // Inform DLL about interrupt
}
-
+
// DLL v2: deviceHasDTCBug
// Configure the DTC so that it transfers after the present CPU instruction is complete (ADC10FETCH).
// Save and clear ADC10CTL0 and ADC10CTL1 to switch off DTC (Note: Order matters!).
// Regain control of the CPU. Read/Write will be set, and source TCLK via TDI.
- cntrl_sig_16bit
- SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_READ | CNTRL_SIG_TAGFUNCSAT)
-
- isInstrLoad // Test if we are on an instruction load boundary
- if(lIsInstrLoad != 0)
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_READ | CNTRL_SIG_TAGFUNCSAT);
+
+ // Test if we are on an instruction load boundary
+ if(isInstrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
-
+
// Hold Watchdog
- ReadMemWord (address, MyOut[0]); // safe WDT value
+ MyOut[0] = ReadMemWord (address); // safe WDT value
wdtVal |= (MyOut[0] & 0xFF); // set original bits in addition to stop bit
WriteMemWord(address, wdtVal);
-
+
// set PC to a save address pointing to ROM to avoid RAM corruption on certain devices
- SetPc(ROM_ADDR)
+ SetPc(ROM_ADDR);
// read status register
- ReadCpuReg(2,MyOut[3]);
+ MyOut[3] = ReadCpuReg(2);
MyOut[3] |= statusReg; // compine with preserved CPUOFF bit setting
// return output
@@ -355,4 +364,3 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContext)
return (0);
}
-
diff --git a/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextX.c b/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextX.c
index 5d1f48b..147f06c 100644
--- a/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextX.c
+++ b/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,6 +46,7 @@
#include "stream.h"
#include "error_def.h"
#include "EEM_defs.h"
+#include "global_variables.h"
#define MAX_TCE1 10
/**
@@ -67,38 +68,35 @@ extern DeviceSettings deviceSettings;
static long clkTclkAndCheckDTC(void)
{
#define MAX_DTC_CYCLE 10
-
- decl_out
unsigned int cntrlSig;
int dtc_cycle_cnt = 0;
long timeOut= 0;
-
+
+
do
{
- TCLKset0
+ IHIL_Tclk(0);
- cntrl_sig_capture
- SetReg_16Bits(0)
-
- cntrlSig = lOut;
+ cntrl_sig_capture();
+ cntrlSig = SetReg_16Bits(0);
if ((dtc_cycle_cnt > 0) &&
((cntrlSig & CNTRL_SIG_CPU_HALT) == 0))
{
// DTC cycle completed, take over control again...
- cntrl_sig_16bit
+ cntrl_sig_16bit();
SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
}
if ((dtc_cycle_cnt == 0) &&
((cntrlSig & CNTRL_SIG_CPU_HALT) == CNTRL_SIG_CPU_HALT))
{
// DTC cycle requested, grant it...
- cntrl_sig_16bit
- SetReg_16Bits(CNTRL_SIG_CPU_HALT | CNTRL_SIG_TCE1 |
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_CPU_HALT | CNTRL_SIG_TCE1 |
CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
dtc_cycle_cnt++;
}
- TCLKset1
+ IHIL_Tclk(1);
timeOut++;
}
while ((dtc_cycle_cnt < MAX_DTC_CYCLE) &&
@@ -116,116 +114,120 @@ static long clkTclkAndCheckDTC(void)
HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextX)
-{
- decl_out
- decl_out_long
- decl_isInstrLoad
- decl_instrLoad
+{
+ unsigned short ctl_sync = 0;
unsigned short i = 0;
short MyOut[5] = {0};
unsigned short address;
unsigned short wdtVal;
unsigned short statusReg = 0;
-
- if(STREAM_get_word(&address) != 0)
+ unsigned short* syncWithRunVarAddress = 0;
+ unsigned long lOut_long = 0;
+
+ if(STREAM_get_word(&address) != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_NO_WDT_ADDRESS);
}
-
+
if(STREAM_get_word(&wdtVal) == -1)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_NO_WDT_VALUE);
- }
+ }
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
// DLLv2 syncCPUAndCyclesAfterDebug()
- TCLKset1 // Stability improvement: should be possible to remove this here, default state of TCLK should be one
-
- cntrl_sig_capture
- SetReg_16Bits(0x0000)
-
- if(!(lOut & CNTRL_SIG_TCE)) {
+ IHIL_Tclk(1); // Stability improvement: should be possible to remove this here, default state of TCLK should be one
+
+ cntrl_sig_capture();
+ if(!(SetReg_16Bits(0x0000) & CNTRL_SIG_TCE))
+ {
// If the JTAG and CPU are not already synchronized ...
// Initiate Jtag and CPU synchronization. Read/Write is under CPU control. Source TCLK via TDI.
// Do not effect bits used by DTC (CPU_HALT, MCLKON).
- cntrl_sig_high_byte
+ cntrl_sig_high_byte();
SetReg_8Bits((CNTRL_SIG_TAGFUNCSAT | CNTRL_SIG_TCE1 | CNTRL_SIG_CPU) >> 8);
// TCE eventually set indicates synchronization (and clocking via TCLK).
- SyncJtag()
- if(!i)
+ ctl_sync = SyncJtag();
+
+ if(!ctl_sync)
{ // Synchronization failed!
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
}// end of if(!(lOut & CNTRL_SIG_TCE))
-
- if(lOut & CNTRL_SIG_CPU_HALT)
+
+ if(ctl_sync & CNTRL_SIG_CPU_HALT)
{
- TCLKset0
- cntrl_sig_16bit
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
// Clear HALT. Read/Write is under CPU control. As a precaution, disable interrupts.
- SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT)
- TCLKset1
+ SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
+ IHIL_Tclk(1);
}
else
{
- cntrl_sig_16bit
- // Clear HALT. Read/Write is under CPU control. As a precaution, disable interrupts.
- SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT)
+ cntrl_sig_16bit();
+ // Clear HALT. Read/Write is under CPU control. As a precaution, disable interrupts.
+ SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU | CNTRL_SIG_TAGFUNCSAT);
}
- instrLoad // step until next instruction load boundary if not being already there
- if(lInstrLoad != 0)
+ // step until next instruction load boundary if not being already there
+ if(instrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
- }
+ }
// read MAB = PC here
- addr_capture
- SetReg_20Bits(0x000)
+ addr_capture();
+ lOut_long = SetReg_20Bits(0x000);
MyOut[1] = (unsigned short)(lOut_long & 0xFFFF);
MyOut[2] = (unsigned short)(lOut_long >> 16);
// DLLv2: Check if a breakpoint was hit
// \todo Determine if this is needed
-
+
// disable EEM and clear stop reaction
- eem_write_control
- SetReg_16Bits(0x0003)
- SetReg_16Bits(0x0000)
-
+ eem_write_control();
+ SetReg_16Bits(0x0003);
+ SetReg_16Bits(0x0000);
+
if (deviceSettings.clockControlType == GCC_EXTENDED)
{
- eem_data_exchange32
- SetReg_32Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_32Bits_(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN) // write into MX_GENCNTRL
-
- eem_data_exchange32 // Stability improvement: should be possible to remove this, required only once at the beginning
- SetReg_32Bits_(MX_GENCNTRL + MX_WRITE) // write access to EEM General Control Register (MX_GENCNTRL)
- SetReg_32Bits_(EMU_FEAT_EN | EMU_CLK_EN) // write into MX_GENCNTRL
+ eem_data_exchange32();
+ SetReg_32Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_32Bits(EMU_FEAT_EN | EMU_CLK_EN | CLEAR_STOP | EEM_EN); // write into MX_GENCNTRL
+
+ eem_data_exchange32(); // Stability improvement: should be possible to remove this, required only once at the beginning
+ SetReg_32Bits(MX_GENCNTRL + MX_WRITE); // write access to EEM General Control Register (MX_GENCNTRL)
+ SetReg_32Bits(EMU_FEAT_EN | EMU_CLK_EN); // write into MX_GENCNTRL
}
-
+
//-----------------------------------------------------------------------
- data_16bit
- TCLKset1 // added for 2xx support
- SetReg_16Bits_(0x4303)
- TCLKset0
- data_capture
- TCLKset1
+ data_16bit();
+ IHIL_Tclk(1); // added for 2xx support
+ SetReg_16Bits(0x4303);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
// Advance to an instruction load boundary if an interrupt is detected.
// The CPUOff bit will be cleared.
// Basically, if there is an interrupt pending, the above dummy instruction
// will have initialted its processing, and the CPU will not be on an
- // instruction load boundary following the dummy instruction.
-
+ // instruction load boundary following the dummy instruction.
+
// \Günther: Looks a lot like clckToInstrLoad(), with the exception that clkTclkAndCheckDTC()
// is called continuously
// \WLUT : Correct;-)
i = 0;
- cntrl_sig_capture
- SetReg_16Bits(0);
- while(!(lOut & CNTRL_SIG_INSTRLOAD) && (i < MAX_TCE1))
+ cntrl_sig_capture();
+ while(!(SetReg_16Bits(0) & CNTRL_SIG_INSTRLOAD) && (i < MAX_TCE1))
{
if(clkTclkAndCheckDTC() != 0)
{
@@ -235,41 +237,40 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextX)
SetReg_16Bits(0);
}
-
- if(i == MAX_TCE1)
+
+ if(i == MAX_TCE1)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
-
+
// Read PC now!!! Only the NOP or BIS #0,R4 instruction above was clocked into the device
// The PC value should now be (OriginalValue + 2)
// read MAB = PC here
- addr_capture
- SetReg_20Bits(0x0000)
+ addr_capture();
+ lOut_long = SetReg_20Bits(0x0000);
lOut_long -= 2;
MyOut[1] = (unsigned short)(lOut_long & 0xFFFF);
MyOut[2] = (unsigned short)(lOut_long >> 16);
-
+
if(i == 0)
{ // An Interrupt was not detected
// WLUT: lOut does not contain the content of the CNTRL_SIG register anymore at this point
// need to capture it again...different to DLLv3 sequence but don't expect any negative effect due to recapturing
- cntrl_sig_capture
- SetReg_16Bits(0x0000)
- if(lOut & CNTRL_SIG_CPU_OFF)
+ cntrl_sig_capture();
+ if(SetReg_16Bits(0x0000) & CNTRL_SIG_CPU_OFF)
{
MyOut[1] += 2;
-
- data_16bit
- TCLKset1 // Added for 2xx support
+
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support
SetReg_16Bits(0xC032);
if(clkTclkAndCheckDTC() != 0)
{
return (HALERR_SYNC_JTAG_CONDITIONAL_JTAG_TIMEOUT);
}
- data_16bit
- TCLKset1 // Added for 2xx support \Günther: Why set TCLK 1 again?
+ data_16bit();
+ IHIL_Tclk(1); // Added for 2xx support \Günther: Why set TCLK 1 again?
SetReg_16Bits(0x0010);
if(clkTclkAndCheckDTC() != 0)
{
@@ -281,37 +282,37 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextX)
}
else
{
- addr_capture
- SetReg_20Bits(0)
+ addr_capture();
+ lOut_long = SetReg_20Bits(0);
MyOut[1] = (unsigned short)(lOut_long & 0xFFFF);
MyOut[2] = (unsigned short)(lOut_long >> 16);
MyOut[4] = 1; // Inform DLL about interrupt
}
-
+
// DLL v2: deviceHasDTCBug
// Configure the DTC so that it transfers after the present CPU instruction is complete (ADC10FETCH).
// Save and clear ADC10CTL0 and ADC10CTL1 to switch off DTC (Note: Order matters!).
// Regain control of the CPU. Read/Write will be set, and source TCLK via TDI.
- cntrl_sig_16bit
- SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_READ | CNTRL_SIG_TAGFUNCSAT)
-
- isInstrLoad // Test if we are on an instruction load boundary
- if(lIsInstrLoad != 0)
+ cntrl_sig_16bit();
+ SetReg_16Bits(CNTRL_SIG_TCE1 | CNTRL_SIG_READ | CNTRL_SIG_TAGFUNCSAT);
+
+ // Test if we are on an instruction load boundary
+ if(isInstrLoad() != 0)
{
return (HALERR_INSTRUCTION_BOUNDARY_ERROR);
}
-
+
// Hold Watchdog
- ReadMemWordX(address, MyOut[0]); // safe WDT value
+ MyOut[0] = ReadMemWordX(address); // safe WDT value
wdtVal |= (MyOut[0] & 0x00FF); // set original bits in addition to stop bit
WriteMemWordX(address, wdtVal);
-
+
// set PC to a save address pointing to ROM to avoid RAM corruption on certain devices
- SetPcX(ROM_ADDR)
+ SetPcX(ROM_ADDR);
// read status register
- ReadCpuRegX(2,MyOut[3]);
+ MyOut[3] = ReadCpuRegX(2);
MyOut[3] |= statusReg; // compine with preserved CPUOFF bit setting
// return output
diff --git a/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextXv2.c b/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextXv2.c
index 6f56468..8012a9b 100644
--- a/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextXv2.c
+++ b/Bios/src/hal/macros/SyncJtag_Conditional_SaveContextXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -46,10 +46,11 @@
#include "stream.h"
#include "JTAG_defs.h"
#include "EEM_defs.h"
+#include "global_variables.h"
#define SR 2
-#define EEM_STOPPED 0x0080
+#define EEM_STOPPED 0x0080
extern unsigned short altRomAddressForCpuRead;
@@ -68,39 +69,38 @@ extern DevicePowerSettings devicePowerSettings;
//! \todo EEM cycle counter, decide if it should be handled by host DLL!
HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
{
- decl_out
- decl_out_long
-
unsigned char pipe_empty = 0;
unsigned char cpuoff = 0;
- unsigned char intreq = 0;
- unsigned char halt = 0;
- unsigned long halt_count = 0;
+ unsigned short irRequest = 0;
const unsigned long MaxCyclesForSync = 10000; // must be defined, dependant on DMA (burst transfer)!!!
unsigned long i = 0;
- unsigned short MyOut[4];
- unsigned short wdt_addr;
- unsigned short wdt_value;
+ unsigned short MyOut[5];
+ unsigned short wdt_addr = 0;
+ unsigned short wdt_value = 0;
unsigned long TimeOut = 0;
+ unsigned short* syncWithRunVarAddress = getTargetRunningVar();
+ unsigned short lOut = 0;
+ unsigned long lOut_long = 0;
//------------------------------------------------------------------------------
// Start note 822: Special handling ynchronize to JTAG
-
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
// -------------------------Power mode handling start ----------------------
DisableLpmx5();
// -------------------------Power mode handling end ------------------------
-
+
// read out EEM control register...
- eem_read_control
- SetReg_16Bits(0x0000)
+ eem_read_control();
// ... and check if device got already stopped by the EEM
- if (!(lOut & EEM_STOPPED))
+ if (!(SetReg_16Bits(0x0000) & EEM_STOPPED))
{ // do this only if the device is NOT already stopped.
// read out control signal register first
- cntrl_sig_capture
- SetReg_16Bits(0x0000)
+ cntrl_sig_capture();
// check if CPUOFF bit is set
- if(!(lOut & CNTRL_SIG_CPUOFF))
+ if(!(SetReg_16Bits(0x0000) & CNTRL_SIG_CPUOFF))
{ // do the following only if the device is NOT in Low Power Mode
unsigned long tbValue;
unsigned long tbCntrl;
@@ -108,28 +108,24 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
unsigned long tbComb;
unsigned long tbBreak;
- // Trigger Block 0 value register
- eem_data_exchange32
+ // Trigger Block 0 value register
+ eem_data_exchange32();
SetReg_32Bits(MBTRIGxVAL + READ + TB0); // load address
- SetReg_32Bits(0); // shift in dummy 0
- tbValue = lOut_long;
- // Trigger Block 0 control register
+ // shift in dummy 0
+ tbValue = SetReg_32Bits(0); // Trigger Block 0 control register
SetReg_32Bits(MBTRIGxCTL + READ + TB0); // load address
- SetReg_32Bits(0); // shift in dummy 0
- tbCntrl = lOut_long;
- // Trigger Block 0 mask register
+ // shift in dummy 0
+ tbCntrl = SetReg_32Bits(0); // Trigger Block 0 mask register
SetReg_32Bits(MBTRIGxMSK + READ + TB0); // load address
- SetReg_32Bits(0); // shift in dummy 0
- tbMask = lOut_long;
- // Trigger Block 0 combination register
+ // shift in dummy 0
+ tbMask = SetReg_32Bits(0);
+ // Trigger Block 0 combination register
SetReg_32Bits(MBTRIGxCMB + READ + TB0); // load address
- SetReg_32Bits(0); // shift in dummy 0
- tbComb = lOut_long;
- // Trigger Block 0 combination register
+ tbComb = SetReg_32Bits(0); // shift in dummy 0
+ // Trigger Block 0 combination register
SetReg_32Bits(BREAKREACT + READ); // load address
- SetReg_32Bits(0); // shift in dummy 0
- tbBreak = lOut_long;
-
+ tbBreak = SetReg_32Bits(0); // shift in dummy 0
+
// now configure a trigger on the next instruction fetch
SetReg_32Bits(MBTRIGxCTL + WRITE + TB0); // load address
SetReg_32Bits(CMP_EQUAL + TRIG_0 + MAB);
@@ -139,26 +135,25 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
SetReg_32Bits(EN0);
SetReg_32Bits(BREAKREACT + WRITE); // load address
SetReg_32Bits(EN0);
-
+
// enable EEM to stop the device
SetReg_32Bits(GENCLKCTRL + WRITE); // load address
SetReg_32Bits(MCLK_SEL0 + SMCLK_SEL0 + ACLK_SEL0 + STOP_MCLK + STOP_SMCLK + STOP_ACLK);
- eem_write_control
- SetReg_16Bits_(EMU_CLK_EN + CLEAR_STOP + EEM_EN);
-
+ eem_write_control();
+ SetReg_16Bits(EMU_CLK_EN + CLEAR_STOP + EEM_EN);
+
{
short lTimeout = 0;
do
{
- eem_read_control
- SetReg_16Bits(0x0000)
+ eem_read_control();
lTimeout++;
}
- while(!(lOut & EEM_STOPPED) && lTimeout < 3000);
+ while(!(SetReg_16Bits(0x0000) & EEM_STOPPED) && lTimeout < 3000);
}
// restore the setting of Trigger Block 0 previously stored
- // Trigger Block 0 value register
- eem_data_exchange32
+ // Trigger Block 0 value register
+ eem_data_exchange32();
SetReg_32Bits(MBTRIGxVAL + WRITE + TB0); // load address
SetReg_32Bits(tbValue);
SetReg_32Bits(MBTRIGxCTL + WRITE + TB0); // load address
@@ -173,27 +168,28 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
}
// End: special handling note 822
//------------------------------------------------------------------------------
-
+
// enable clock control before sync
- eem_write_control
- SetReg_16Bits_(EMU_CLK_EN + EEM_EN);
+ eem_write_control();
+ SetReg_16Bits(EMU_CLK_EN + EEM_EN);
- // sync device to JTAG
+ // sync device to JTAG
SyncJtagXv2();
-
+
// reset CPU stop reaction - CPU is now under JTAG control
// Note: does not work on F5438 due to note 772, State storage triggers twice on single stepping
- eem_write_control
- SetReg_16Bits(EMU_CLK_EN + CLEAR_STOP + EEM_EN)
- SetReg_16Bits(EMU_CLK_EN + CLEAR_STOP)
+ eem_write_control();
+ SetReg_16Bits(EMU_CLK_EN + CLEAR_STOP + EEM_EN);
+ SetReg_16Bits(EMU_CLK_EN + CLEAR_STOP);
- cntrl_sig_16bit
- SetReg_16Bits(0x1501)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x1501);
// clock system into Full Emulation State now...
- // while checking control signals CPUSUSP (pipe_empty), CPUOFF, INTREQ and HALT
-
- cntrl_sig_capture
- SetReg_16Bits(0)
+ // while checking control signals CPUSUSP (pipe_empty), CPUOFF and HALT
+
+ cntrl_sig_capture();
+ lOut = SetReg_16Bits(0);
+
///////////////////////////////////////////
// Note 805: check if wait is set
if((lOut & 0x8) == 0x8)
@@ -201,55 +197,39 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
// wait until wait is end
while((lOut & 0x8) == 0x8 && TimeOut++ < 30000)
{
- TCLKset0 // provide falling clock edge
- TCLKset1 // provide rising clock edge
- cntrl_sig_capture
- SetReg_16Bits(0)
+ IHIL_Tclk(0); // provide falling clock edge
+ IHIL_Tclk(1); // provide rising clock edge
+ cntrl_sig_capture();
+ lOut = SetReg_16Bits(0);
}
}
//Note 805 end: Florian, 21 Dec 2010
- ///////////////////////////////////////////
-
- cntrl_sig_capture
+ ///////////////////////////////////////////
+
+ cntrl_sig_capture();
do
{
- TCLKset0 // provide falling clock edge
+ IHIL_Tclk(0); // provide falling clock edge
// check control signals during clock low phase
- SetReg_16Bits(0) // shift out current control signal register value
- (lOut & CNTRL_SIG_CPUSUSP) ? (pipe_empty = TRUE) : (pipe_empty = FALSE);
- (lOut & CNTRL_SIG_INTREQ) ? (intreq = TRUE) : (intreq = FALSE);
- (lOut & CNTRL_SIG_HALT) ? (halt = TRUE) : (halt = FALSE);
-
- TCLKset1 // provide rising clock edge
-
- if(halt)
- {
- halt_count = 0; // reset counter when DMA transfer is active
- }
- else
- {
- halt_count++; // increment counter when no DMA request is available
- }
-
+ // shift out current control signal register value
+ (SetReg_16Bits(0x000) & CNTRL_SIG_CPUSUSP) ? (pipe_empty = TRUE) : (pipe_empty = FALSE);
+ IHIL_Tclk(1); // provide rising clock edge
i++; // increment loop counter for braek condition
}
// break condition:
// pipe_empty = 1
- // intreq = 0
- // halt_count > 3
// or an error occured (MaxCyclesForSync exeeded!!)
- //df while(!(pipe_empty && !intreq && halt_count > 3) && i < MaxCyclesForSync);
- while(!pipe_empty && (i < MaxCyclesForSync));
+ while(!pipe_empty && (i < MaxCyclesForSync));
//! \todo check error condition
if(i >= MaxCyclesForSync)
{
;
}
-
+
// the interrupts will be diabled now - JTAG takes over control of the control signals
- cntrl_sig_16bit
- SetReg_16Bits(0x0501)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
// recall an interrupt request
/**
@@ -260,12 +240,13 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
* Begin of: i_SaveContext
*/
// provide 1 clock in order to have the data ready in the first transaction slot
- TCLK
- addr_capture
- SetReg_20Bits(0)
+ IHIL_TCLK();
+ addr_capture();
+ lOut_long = SetReg_20Bits(0);
- cntrl_sig_capture
- SetReg_16Bits(0) // shift out current control signal register value
+ cntrl_sig_capture();
+ lOut = SetReg_16Bits(0);
+ // shift out current control signal register value
if(lOut & CNTRL_SIG_CPUOFF)
{
cpuoff = TRUE;
@@ -274,6 +255,7 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
{
cpuoff = FALSE;
}
+ irRequest = (lOut & 0x4);
// adjust program counter according to control signals
if(cpuoff)
@@ -283,48 +265,47 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
else
{
lOut_long -= 4;
- }
+ }
{
- unsigned long tempPc = lOut_long;
+ unsigned long tempPc = lOut_long;
/********************************************************/
/* Note 1495, 1637 special handling for program counter */
/********************************************************/
- if(tempPc == 0xFFFE)
+ if((tempPc & 0xFFFF) == 0xFFFE)
{
- unsigned long tempPc = 0;
- unsigned short read = 0;
- ReadMemWordXv2(0xFFFE,read);
+ unsigned long tempPc = 0;
+ unsigned short read = ReadMemWordXv2(0xFFFE);
tempPc = (0x00000000 | read);
-
+
MyOut[1] = (unsigned short)(tempPc & 0xFFFF);
MyOut[2] = (unsigned short)(tempPc >>16);
}
/* End note 1495, 1637 */
else
- {
+ {
MyOut[1] = (unsigned short)(tempPc & 0xFFFF);
MyOut[2] = (unsigned short)(tempPc >>16);
- }
+ }
}
/**
* End of : i_SaveContext
*/
-
+
// set EEM FEATURE enable now!!!
- eem_write_control
- SetReg_16Bits(EMU_FEAT_EN + EMU_CLK_EN + CLEAR_STOP)
-
+ eem_write_control();
+ SetReg_16Bits(EMU_FEAT_EN + EMU_CLK_EN + CLEAR_STOP);
+
// check for Init State
- cntrl_sig_capture
- SetReg_16Bits(0)
+ cntrl_sig_capture();
+ SetReg_16Bits(0);
// hold Watchdog Timer
STREAM_get_word(&wdt_addr);
STREAM_get_word(&wdt_value);
- ReadMemWordXv2(wdt_addr, MyOut[0]);
+ MyOut[0] = ReadMemWordXv2(wdt_addr);
wdt_value |= (MyOut[0] & 0xFF); // set original bits in addition to stop bit
- WriteMemWordXv2(wdt_addr, wdt_value | 0x80);
+ WriteMemWordXv2(wdt_addr, wdt_value);
{
unsigned short Mova;
@@ -333,16 +314,16 @@ HAL_FUNCTION(_hal_SyncJtag_Conditional_SaveContextXv2)
// save Status Register content
Mova = 0x0060;
Mova += (SR<<8) & 0x0F00;
- ReadCpuRegXv2(Mova, Rx);
+ Rx = ReadCpuRegXv2(Mova);
MyOut[3] = (unsigned short)Rx;
// reset Status Register to 0 - needs to be restored again for release
Mova = 0x0080;
Mova += (SR & 0x000F);
- Rx_l = (((unsigned short)Rx) & 0xFFEF); // reset CPUOFF bit
+ Rx_l = (((unsigned short)Rx) & 0xFFE7); // clear CPUOFF/GIE bit
WriteCpuRegXv2(Mova, Rx_l);
}
-
- STREAM_put_bytes((unsigned char*)MyOut,8);
+ MyOut[4] = irRequest;
+
+ STREAM_put_bytes((unsigned char*)MyOut,10);
return 0;
}
-
diff --git a/Bios/src/hal/macros/UnlockC092.c b/Bios/src/hal/macros/UnlockC092.c
index 530cd77..1880c88 100644
--- a/Bios/src/hal/macros/UnlockC092.c
+++ b/Bios/src/hal/macros/UnlockC092.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -54,61 +54,64 @@ HAL_FUNCTION(_hal_UnlockC092)
unsigned short passwordLenght= 0x0 ;
unsigned short i = 0x0;
unsigned short id = 0;
- decl_out
- decl_jtagMailboxIn
//StreamSafe stream_tmp;
unsigned short Password[4] = {0};
-
+
// steam get password length
if(STREAM_get_word(&passwordLenght) != 0)
{
return(HALERR_UNLOCK_NO_PASSWORD_LENGTH);
- }
+ }
// steam get password itself
for(i =0; i < passwordLenght; i++)
{
if(STREAM_get_word(&Password[i]) < 0)
{
return(HALERR_UNLOCK_INVALID_PASSWORD_LENGTH);
- }
- }
- //--------------------------------------------------------------------------
+ }
+ }
+ //--------------------------------------------------------------------------
//phase 0 if device was in LPMx5
- //--------------------------------------------------------------------------
-
- EDT_SetProtocol(0); // C092 can just operrate in SBW4 Mode
+ //--------------------------------------------------------------------------
- //--------------------------------------------------------------------------
+ IHIL_SetProtocol(0); // C092 can just operrate in SBW4 Mode
+#if defined(eZ_FET) || defined(MSP_FET)
+ {
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ }
+#endif
+
+ //--------------------------------------------------------------------------
//phase 1 of device entry using a user password
- //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
// Apply 4wire/SBW entry Sequence & holt Reset low
- EDT_SetReset(0);
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- EDT_SetReset(0);
- EDT_CheckJtagFuse();
- i_WriteJmbIn32(Password[0], Password[1]);
- // check for Timeout issue during mailbox request
- if(jtagMailboxIn == 1)
+ IHIL_SetReset(0);
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
+ IHIL_SetReset(0);
+ IHIL_CheckJtagFuse();
+
+ // check for Timeout issue during mailbox request
+ if(i_WriteJmbIn32(Password[0], Password[1]) == 1)
{
return (HALERR_JTAG_PASSWORD_WRONG);
- }
+ }
if(passwordLenght > 2)
{
// now feed in last 2 words of password
- EDT_SetReset(1);
- EDT_Delay_1ms(200);
- i_WriteJmbIn32(Password[2], Password[3]);
- if(jtagMailboxIn == 1)
+ IHIL_SetReset(1);
+ IHIL_Delay_1ms(200);
+ if(i_WriteJmbIn32(Password[2], Password[3]) == 1)
{
return (HALERR_JTAG_PASSWORD_WRONG);
- }
+ }
}
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
+ id = cntrl_sig_capture();
if(id != 0x95)
{
- return (HALERR_JTAG_PASSWORD_WRONG);
+ return (HALERR_JTAG_PASSWORD_WRONG);
}
- EDT_SetReset(1);
+ IHIL_SetReset(1);
return(0);
}
diff --git a/Bios/src/hal/macros/UnlockDeviceXv2.c b/Bios/src/hal/macros/UnlockDeviceXv2.c
index 9a10d95..1654431 100644
--- a/Bios/src/hal/macros/UnlockDeviceXv2.c
+++ b/Bios/src/hal/macros/UnlockDeviceXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -53,13 +53,10 @@ HAL_FUNCTION(_hal_UnlockDeviceXv2)
{
unsigned short passwordLenght= 0x0 ;
unsigned short i = 0x0;
- unsigned short id = 0;
- decl_out
- decl_jtagMailboxIn
unsigned short Password[60] = {0};
unsigned short protocol;
-
-
+
+
// get the protocol
if(STREAM_get_word(&protocol) < 0)
{
@@ -69,70 +66,63 @@ HAL_FUNCTION(_hal_UnlockDeviceXv2)
if(STREAM_get_word(&passwordLenght) != 0)
{
return (HALERR_UNLOCK_NO_PASSWORD_LENGTH);
- }
+ }
// steam get password itself
for(i =0; i < passwordLenght; i++)
{
if(STREAM_get_word(&Password[i]) < 0)
{
return (HALERR_UNLOCK_INVALID_PASSWORD_LENGTH);
- }
- }
- //--------------------------------------------------------------------------
+ }
+ }
+ //--------------------------------------------------------------------------
//phase 0 if device was in LPMx5 or camping in an endless loop
- //--------------------------------------------------------------------------
-
- EDT_SetProtocol(protocol); // this is jsut for debug must be changed
- EDT_Open(RSTHIGH);
- EDT_TapReset();
- //EDT_EnumChain();
+ //--------------------------------------------------------------------------
+
+ IHIL_SetProtocol(protocol); // this is jsut for debug must be changed
+#if defined(eZ_FET) || defined(MSP_FET)
+ {
+ HilInitGetEdtDistinctFunc hilEdtDis = (HilInitGetEdtDistinctFunc)0x1880;
+ hilEdtDis(&_edt_Distinct_Methods);
+ }
+#endif
+ IHIL_Open(RSTHIGH);
+ IHIL_TapReset();
- //--------------------------------------------------------------------------
+ IHIL_Close();
+ //--------------------------------------------------------------------------
//phase 1 of device entry using a user password
- //--------------------------------------------------------------------------
+ //--------------------------------------------------------------------------
// Apply 4wire/SBW entry Sequence & holt Reset low
- EDT_Open(RSTLOW);
+ IHIL_Open(RSTLOW);
// reset TAP state machine -> Run-Test/Idle
- EDT_TapReset();
+ IHIL_TapReset();
// start JTAG mailbox & feed in password exchange request
- i_WriteJmbIn32(MAGIC_PATTERN , DR_JMB_PASSWORD_EXCHANGE_REQUEST);
- // check for Timeout issue during mailbox request
- if(jtagMailboxIn == 1)
+ // check for Timeout issue during mailbox request
+ if(i_WriteJmbIn32(MAGIC_PATTERN , DR_JMB_PASSWORD_EXCHANGE_REQUEST) == 1)
{
return (HALERR_JTAG_PASSWORD_WRONG);
- }
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
-
- if(id != 0x91)
- {
- return (HALERR_JTAG_PASSWORD_WRONG);
}
- //-------------------------------------------------------------------------
+
+ //-------------------------------------------------------------------------
//phase 2 of device entry using a user password
//-------------------------------------------------------------------------
// Apply again 4wire/SBW entry Sequence & Reset high
- EDT_Open(RSTHIGH);
+ IHIL_Open(RSTHIGH);
// Reset TAP state machine -> Run-Test/Idle
- EDT_TapReset();
+ IHIL_TapReset();
i = 0x0;
// start JTAG mailbox & feed in password & make sure that you are faster
- // then 1.2 seconds if not the bootcode will kick you out & Use 16Bit JBM mode
+ // then 1.2 seconds if not the bootcode will kick you out & Use 16Bit JBM mode
while(i < passwordLenght)
{
- i_WriteJmbIn(Password[i])
- // check for Timeout becuase of wong passord which was shifted in
- if(jtagMailboxIn == 1)
+ // check for Timeout becuase of wong passord which was shifted in
+ if(i_WriteJmbIn(Password[i]) == 1)
{
return (HALERR_JTAG_PASSWORD_WRONG);
}
i++;
- }
- id = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
-
- if(id != 0x91)
- {
- return (HALERR_JTAG_PASSWORD_WRONG);
- }
-
+ }
+
return (0);
}
diff --git a/Bios/src/hal/macros/UssSyncConditional.c b/Bios/src/hal/macros/UssSyncConditional.c
new file mode 100644
index 0000000..1cfad7d
--- /dev/null
+++ b/Bios/src/hal/macros/UssSyncConditional.c
@@ -0,0 +1,78 @@
+/**
+* \ingroup MODULMACROSXV2
+*
+* \file LeaSyncConditional.c
+*
+* \brief
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "hal_ref.h"
+#include "stream.h"
+#include "JTAG_defs.h"
+#include "EEM_defs.h"
+#include "global_variables.h"
+
+#define UUPSRIS (0x0EC4)
+#define STPBYDB (0x0004)
+
+HAL_FUNCTION(_hal_UssSyncConditional)
+{
+ unsigned short tclkCycles = 200;
+ unsigned long baseAddress = 0;
+
+ STREAM_get_long(&baseAddress);
+
+ //Read UUPS_CTL regsier and check for USS_Busy bit
+ unsigned short ussReg = ReadMemWordXv2(UUPSRIS);
+ if(!(ussReg & STPBYDB))
+ {
+ STREAM_put_word(ussReg & STPBYDB);
+ return 0;
+ }
+ // apply TCLK cycles
+ while(tclkCycles-- > 0)
+ {
+ IHIL_TCLK();
+ }
+
+ IHIL_Tclk(1);
+
+ STREAM_put_word(0);
+ return 0;
+}
diff --git a/Bios/src/hal/macros/WaitForDebugHaltArm.c b/Bios/src/hal/macros/WaitForDebugHaltArm.c
new file mode 100644
index 0000000..4240b47
--- /dev/null
+++ b/Bios/src/hal/macros/WaitForDebugHaltArm.c
@@ -0,0 +1,121 @@
+/*
+ * \ingroup MODULMACROS
+ *
+ * \file WaitForDebugHaltArm.c
+ *
+ * \brief
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "error_def.h"
+#include "global_variables.h"
+
+/**
+ WaitForDebugHalt
+ Test the DHCSR register for specific bits and
+ return if one of them is set.
+ This is best used with the ExecLoop command type.
+ inData:
+ outData:
+ Mask: the bits to look for
+ Ctrl: the read DHCSR register
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+short checkDhcsrRegForBbHit()
+{
+ unsigned long dhcsrValue = 0;
+ unsigned short* syncWithRunVarAddress = getTargetRunningVar();
+
+ if(syncWithRunVarAddress)
+ {
+ if(!(*syncWithRunVarAddress))
+ {
+ return 2;
+ }
+ }
+
+ if(IHIL_Write_Read_Mem_Ap(0, DHCSR, &dhcsrValue, READ) == -1)
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ if(dhcsrValue & S_HALT)
+ {
+
+ STREAM_put_long(dhcsrValue);
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+ return 1;
+ }
+ return 2;
+}
+
+
+HAL_FUNCTION(_hal_WaitForDebugHaltArm)
+{
+ short RetState = HALERR_UNDEFINED_ERROR;
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long val = 0;
+ if(armConfigSettings.ulpDebug)
+ {
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, READ);
+
+ if(val & DP_CTRL_STAT_CDBGPWRUPACK )
+ {
+ if( powerUpArm() != 0)
+ {
+ return RetState = 2;
+ }
+ if(checkWakeup() != 0)
+ {
+ return RetState = 2;
+ }
+ RetState = checkDhcsrRegForBbHit();
+ }
+ }
+ else // high power force
+ {
+ RetState = checkDhcsrRegForBbHit();
+ }
+#endif
+ return RetState;
+}
diff --git a/Bios/src/hal/macros/WaitForEem.c b/Bios/src/hal/macros/WaitForEem.c
index 7f817e8..cb98ed9 100644
--- a/Bios/src/hal/macros/WaitForEem.c
+++ b/Bios/src/hal/macros/WaitForEem.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,6 +44,8 @@
#include "hal.h"
#include "stream.h"
#include "error_def.h"
+#include "global_variables.h"
+#include "JtagId.h"
/**
WaitForEem
@@ -58,45 +60,52 @@
HAL_FUNCTION(_hal_WaitForEem)
{
- decl_out
+ short RetState = HALERR_UNDEFINED_ERROR;
+ unsigned long lMask = 0;
+ unsigned short sGenCtrl = 0, lOut = 0;
+ unsigned short eventMask = 0;
+ unsigned short* syncWithRunVarAddress = 0;
+
+ STREAM_get_word((unsigned short*)&lMask);
+
+ syncWithRunVarAddress = getTargetRunningVar();
+ if(syncWithRunVarAddress)
+ {
+ if(!(*syncWithRunVarAddress))
+ {
+ return 2;
+ }
+ }
+ else
+ {
+ return -1;
+ }
+
+ if(!jtagIdIsValid(cntrl_sig_capture()))
+ {
+ return 2;
+ }
+
+ // poll for bits in EEM GENCTRL register
+ eem_read_control();
+ lOut = SetReg_16Bits(0x0000);
- short RetState = HALERR_UNDEFINED_ERROR;
- unsigned long i = 0;
- unsigned long lMask = 0;
- unsigned short sGenCtrl = 0;
- unsigned short eventMask = 0;
+ if(lOut & lMask)
+ {
+ if(syncWithRunVarAddress)
+ {
+ *syncWithRunVarAddress = 0x0000;
+ }
+ sGenCtrl |= lOut;
+ eventMask |= BP_HIT_FLAG;
+ STREAM_put_word(eventMask);
+ STREAM_put_word(sGenCtrl);
+ RetState = 1;
+ }
+ else
+ {
+ RetState = 2;
+ }
- STREAM_get_word((unsigned short*)&lMask);
-
- lOut = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if(lOut != JTAGVERSION && lOut != JTAGVERSION91 && lOut != JTAGVERSION95 && lOut != JTAGVERSION99)
- {
- return 2;
- }
-
-
- // poll for bits in EEM GENCTRL register
- eem_read_control
- do
- {
- SetReg_16Bits(0x0000)
- i++;
- }
- while(!(lOut & lMask) && i < 10);
- if(i < 10)
- {
- sGenCtrl = lOut;
-
- eventMask |= BP_HIT_FLAG;
- RetState = 1;
-
- STREAM_put_word(eventMask);
- STREAM_put_word(sGenCtrl);
- }
- else
- {
- RetState = 2;
- }
-
- return RetState;
+ return RetState;
}
diff --git a/Bios/src/hal/macros/WaitForStorage.c b/Bios/src/hal/macros/WaitForStorage.c
index 792f93a..f4bba84 100644
--- a/Bios/src/hal/macros/WaitForStorage.c
+++ b/Bios/src/hal/macros/WaitForStorage.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,6 +44,7 @@
#include "hal.h"
#include "stream.h"
#include "error_def.h"
+#include "JtagId.h"
unsigned short lastTraceWritePos = 0;
@@ -55,32 +56,25 @@ unsigned short lastTraceWritePos = 0;
HAL_FUNCTION(_hal_WaitForStorage)
{
- decl_out
-
short RetState = 2;
unsigned short sStStorCtrl = 0;
-
- lOut = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if(lOut != JTAGVERSION && lOut != JTAGVERSION91 && lOut != JTAGVERSION95 && lOut != JTAGVERSION99)
+
+ if(!jtagIdIsValid(cntrl_sig_capture()))
{
- return 2;
+ return 2;
}
-
-
- eem_data_exchange
+ eem_data_exchange();
SetReg_16Bits(0x9F);
- SetReg_16Bits(0);
-
- sStStorCtrl = lOut;
-
+ sStStorCtrl = SetReg_16Bits(0);
+
//Storage written bit
- if (lOut & 0x100)
+ if (sStStorCtrl & 0x100)
{
//Variable watch mode
if ( (sStStorCtrl & 0x6) == 0x4 )
{
unsigned short readPos = 0;
-
+
STREAM_put_word(VARIABLE_WATCH_FLAG);
//Reset storage
@@ -90,26 +84,22 @@ HAL_FUNCTION(_hal_WaitForStorage)
for (readPos = 0; readPos < 8; ++readPos)
{
//Slice bits autoincrement on reading
-
+
SetReg_16Bits(0x9A);
SetReg_16Bits(readPos << 2);
-
+
//Read MAB value
SetReg_16Bits(0x9D);
- SetReg_16Bits(0);
-
- STREAM_put_long((unsigned short)lOut);
-
+ STREAM_put_long(SetReg_16Bits(0));
//Read MDB value
- SetReg_16Bits(0x9D);
- SetReg_16Bits(0);
- STREAM_put_word((unsigned short)lOut);
+ SetReg_16Bits(0x9D);
+ STREAM_put_word(SetReg_16Bits(0));
}
-
+
RetState = 1;
}
-
+
//Trace mode
else
{
@@ -117,21 +107,20 @@ HAL_FUNCTION(_hal_WaitForStorage)
short newEntries = 0;
SetReg_16Bits(0x9B);
- SetReg_16Bits(0);
-
- writePos = lOut >> 10;
-
+
+ writePos = SetReg_16Bits(0) >> 10;
+
//store until full bit
if (sStStorCtrl & 0x8)
{
- //storage full bit
- if (sStStorCtrl & 0x200)
+ //storage full bit (or writePos = 0, if written after polling storage control)
+ if ((sStStorCtrl & 0x200) || (writePos == 0))
{
//Disable and reset bits when full to avoid further events
//Enable bit will be set again with next reset from DLL
SetReg_16Bits(0x9E);
SetReg_16Bits((sStStorCtrl | 0x40) & ~0x1);
-
+
newEntries = 8 - lastTraceWritePos;
}
else if (writePos != lastTraceWritePos)
@@ -143,7 +132,7 @@ HAL_FUNCTION(_hal_WaitForStorage)
else
{
static unsigned int noChangeSince = 0;
-
+
if (writePos != lastTraceWritePos)
{
noChangeSince = 0;
@@ -153,46 +142,43 @@ HAL_FUNCTION(_hal_WaitForStorage)
newEntries = (sStStorCtrl & 0x200) ? 8 : writePos;
}
}
-
+
lastTraceWritePos = writePos;
-
+
if (newEntries > 0)
{
- short readPos = writePos;
+ unsigned short readPos = (writePos - newEntries) & 0x7;
STREAM_put_word(STATE_STORAGE_FLAG);
STREAM_put_word(newEntries);
-
+
do
{
- if (--readPos < 0)
- readPos = 7;
-
//Slice bits autoincrement on reading
-
+
SetReg_16Bits(0x9A);
SetReg_16Bits(readPos << 2);
-
+
//Read MAB value
SetReg_16Bits(0x9D);
- SetReg_16Bits(0);
-
- STREAM_put_long((unsigned short)lOut);
-
- //Read MDB value
+ STREAM_put_long(SetReg_16Bits(0));
+
+ //Read MDB value
SetReg_16Bits(0x9D);
- SetReg_16Bits(0);
-
- STREAM_put_word((unsigned short)lOut);
-
- //Read Ctrl value
+ STREAM_put_word(SetReg_16Bits(0));
+
+ //Read Ctrl value
SetReg_16Bits(0x9D);
- SetReg_16Bits(0);
-
- STREAM_put_word((unsigned short)lOut);
+ STREAM_put_word(SetReg_16Bits(0));
+
+ if (++readPos > 7)
+ {
+ readPos = 0;
+ }
+
} while (readPos != writePos);
-
- RetState = 1;
+
+ RetState = 1;
}
}
}
diff --git a/Bios/src/hal/macros/WaitForStorageX.c b/Bios/src/hal/macros/WaitForStorageX.c
index 7cb2c31..d70adba 100644
--- a/Bios/src/hal/macros/WaitForStorageX.c
+++ b/Bios/src/hal/macros/WaitForStorageX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -44,6 +44,7 @@
#include "hal.h"
#include "stream.h"
#include "error_def.h"
+#include "JtagId.h"
extern unsigned short lastTraceWritePos;
@@ -55,25 +56,19 @@ extern unsigned short lastTraceWritePos;
HAL_FUNCTION(_hal_WaitForStorageX)
{
- decl_out
- decl_out_long
-
short RetState = 2;
unsigned short sStStorCtrl = 0;
-
- lOut = EDT_Instr(IR_CNTRL_SIG_CAPTURE);
- if(lOut != JTAGVERSION && lOut != JTAGVERSION91 && lOut != JTAGVERSION95 && lOut != JTAGVERSION99)
+
+ if(!jtagIdIsValid(cntrl_sig_capture()))
{
- return 2;
+ return 2;
}
-
-
- eem_data_exchange32
+
+ eem_data_exchange32();
SetReg_32Bits(0x9F);
- SetReg_32Bits(0);
-
- sStStorCtrl = (unsigned short)lOut_long;
-
+
+ sStStorCtrl = (unsigned short)SetReg_32Bits(0);
+
//Storage written bit
if (sStStorCtrl & 0x100)
{
@@ -81,7 +76,7 @@ HAL_FUNCTION(_hal_WaitForStorageX)
if ( (sStStorCtrl & 0x6) == 0x4 )
{
unsigned short readPos = 0;
-
+
STREAM_put_word(VARIABLE_WATCH_FLAG);
//Reset storage
@@ -91,26 +86,22 @@ HAL_FUNCTION(_hal_WaitForStorageX)
for (readPos = 0; readPos < 8; ++readPos)
{
//Slice bits autoincrement on reading
-
+
SetReg_32Bits(0x9A);
SetReg_32Bits(readPos << 2);
-
+
//Read MAB value
SetReg_32Bits(0x9D);
- SetReg_32Bits(0);
-
- STREAM_put_long(lOut_long);
-
+ STREAM_put_long(SetReg_32Bits(0));
+
//Read MDB value
SetReg_32Bits(0x9D);
- SetReg_32Bits(0);
-
- STREAM_put_word(lOut_long & 0xFFFF);
+ STREAM_put_word(SetReg_32Bits(0) & 0xFFFF);
}
-
+
RetState = 1;
}
-
+
//Trace mode
else
{
@@ -118,21 +109,19 @@ HAL_FUNCTION(_hal_WaitForStorageX)
short newEntries = 0;
SetReg_32Bits(0x9B);
- SetReg_32Bits(0);
-
- writePos = (short)(lOut_long >> 10);
-
+ writePos = (short)(SetReg_32Bits(0) >> 10);
+
//store until full bit
if (sStStorCtrl & 0x8)
{
- //storage full bit
- if (sStStorCtrl & 0x200)
+ //storage full bit (or writePos = 0, if written after polling storage control)
+ if ((sStStorCtrl & 0x200) || (writePos == 0))
{
//Disable and reset bits when full to avoid further events
//Enable bit will be set again with next reset from DLL
SetReg_32Bits(0x9E);
SetReg_32Bits((sStStorCtrl | 0x40) & ~0x1);
-
+
newEntries = 8 - lastTraceWritePos;
}
else if (writePos != lastTraceWritePos)
@@ -144,7 +133,7 @@ HAL_FUNCTION(_hal_WaitForStorageX)
else
{
static unsigned int noChangeSince = 0;
-
+
if (writePos != lastTraceWritePos)
{
noChangeSince = 0;
@@ -154,46 +143,41 @@ HAL_FUNCTION(_hal_WaitForStorageX)
newEntries = (sStStorCtrl & 0x200) ? 8 : writePos;
}
}
-
+
lastTraceWritePos = writePos;
-
+
if (newEntries > 0)
{
- short readPos = writePos;
+ unsigned short readPos = (writePos - newEntries) & 0x7;
STREAM_put_word(STATE_STORAGE_FLAG);
STREAM_put_word(newEntries);
-
+
do
{
- if (--readPos < 0)
- readPos = 7;
-
//Slice bits autoincrement on reading
-
+
SetReg_32Bits(0x9A);
SetReg_32Bits(readPos << 2);
-
+
//Read MAB value
SetReg_32Bits(0x9D);
- SetReg_32Bits(0);
-
- STREAM_put_long(lOut_long);
-
- //Read MDB value
+ STREAM_put_long(SetReg_32Bits(0));
+
+ //Read MDB value
SetReg_32Bits(0x9D);
- SetReg_32Bits(0);
-
- STREAM_put_word(lOut_long & 0xFFFF);
-
- //Read Ctrl value
+ STREAM_put_word(SetReg_32Bits(0) & 0xFFFF);
+
+ //Read Ctrl value
SetReg_32Bits(0x9D);
- SetReg_32Bits(0);
-
- STREAM_put_word(lOut_long & 0xFFFF);
+ STREAM_put_word(SetReg_32Bits(0) & 0xFFFF);
+
+ if (++readPos > 7)
+ readPos = 0;
+
} while (readPos != writePos);
-
- RetState = 1;
+
+ RetState = 1;
}
}
}
diff --git a/Bios/src/hal/macros/WriteAllCpuRegsArm.c b/Bios/src/hal/macros/WriteAllCpuRegsArm.c
new file mode 100644
index 0000000..a213f23
--- /dev/null
+++ b/Bios/src/hal/macros/WriteAllCpuRegsArm.c
@@ -0,0 +1,114 @@
+/*
+ * \ingroup MODULMACROSMSP432
+ *
+ * \file ReadAllCpuRegsArm.c
+ *
+ * \brief Read CPU register values, except R0 and R2
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "edt.h"
+#include "hal.h"
+#include "stream.h"
+#include "error_def.h"
+
+/**
+ WriteAllCpuRegsMSP432
+ Write CPU register values
+ inData: R0-R12, SP, LR, PC, SR, XPRS, SpecialRegs, MSP_SP, PSP_SP
+ outData: -
+*/
+#if defined(MSP430_UIF) || defined(MSP_FET)
+extern ARMConfigSettings armConfigSettings;
+#endif
+
+short writeCpuRegsArm(unsigned long data, unsigned long Rx)
+{
+ unsigned char retry = MAX_RETRY;
+ unsigned long returnVal = 0;
+ IHIL_Write_Read_Mem_Ap(0, DCRDR, &data, WRITE); // Write value
+ data = Rx | REG_WnR;
+ IHIL_Write_Read_Mem_Ap(0, DCRSR, &data, WRITE); // Request Write
+
+ // check if wirte was sucessfully
+ do
+ {
+ IHIL_Write_Read_Mem_Ap(0, DHCSR, &returnVal, READ);
+ } while(--retry && !(returnVal & S_REGRDY));
+
+ if(!retry)
+ {
+ return 0;
+ }
+ return 1;
+}
+
+HAL_FUNCTION(_hal_WriteAllCpuRegsArm)
+{
+#if defined(MSP430_UIF) || defined(MSP_FET)
+ unsigned long data = 0;
+ // Read the General Purpose registers.
+ for (unsigned long Rx = 0; Rx < 16; ++Rx)
+ {
+ STREAM_get_long(&data);
+ if(!writeCpuRegsArm(data, Rx))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ }
+ STREAM_get_long(&data);
+ if(!writeCpuRegsArm(data, xPSR_REG))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+
+ STREAM_get_long(&data);
+ if(!writeCpuRegsArm(data, spec_REG))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_get_long(&data);
+ if(!writeCpuRegsArm(data, MSP_SP))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+ STREAM_get_long(&data);
+ if(!writeCpuRegsArm(data, PSP_SP))
+ {
+ return HALERR_UNDEFINED_ERROR;
+ }
+#endif
+ return 0;
+}
\ No newline at end of file
diff --git a/Bios/src/hal/macros/WriteAllCpuRegsXv2.c b/Bios/src/hal/macros/WriteAllCpuRegsXv2.c
index e69fe41..df2740e 100644
--- a/Bios/src/hal/macros/WriteAllCpuRegsXv2.c
+++ b/Bios/src/hal/macros/WriteAllCpuRegsXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -59,9 +59,6 @@
HAL_FUNCTION(_hal_WriteAllCpuRegsXv2)
{
- DIAG_SUPPRESS(Pe550)
- decl_out_long
- DIAG_DEFAULT(Pe550)
unsigned short Registers;
unsigned long Rx;
unsigned short Mova;
diff --git a/Bios/src/hal/macros/WriteFramQuickXv2.c b/Bios/src/hal/macros/WriteFramQuickXv2.c
index 2bc5203..8c47bc1 100644
--- a/Bios/src/hal/macros/WriteFramQuickXv2.c
+++ b/Bios/src/hal/macros/WriteFramQuickXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -60,17 +60,15 @@
HAL_FUNCTION(_hal_WriteFramQuickXv2)
{
-
+
static unsigned long lLen;
static unsigned long Addr = 0x0 ;
- static unsigned short dataL;
- static unsigned short dataH,Mova;
- static unsigned short ret_len = 0;
-
- decl_out
+ static unsigned short Mova;
+ static unsigned short ret_len = 0;
+ static unsigned short id;
short ret_value = 0;
- //unsigned short BackupData = 0x0;
-
+ unsigned short *pBuf;
+ unsigned short sizeOfBuf;
// fist message--------------------------------------------
if(flags & MESSAGE_NEW_MSG)
{
@@ -81,57 +79,77 @@ HAL_FUNCTION(_hal_WriteFramQuickXv2)
// get length ot be flashed
if(STREAM_get_long(&lLen) != 0)
{
- return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
- }
- // i_SetPcRel
+ return(HALERR_EXECUTE_FUNCLET_NO_LENGTH);
+ }
+
+ id = cntrl_sig_capture();
+
+ // i_SetPcRel
Mova = 0x0080;
Mova += (unsigned short)((Addr>>8) & 0x00000F00);
Addr = (unsigned short)((Addr & 0xFFFF));
-
+
SetPcXv2(Mova, Addr);
-
- cntrl_sig_16bit
- SetReg_16Bits_(0x0500)
- TCLKset1
-
- data_quick
+
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0500);
+ IHIL_Tclk(1);
+
+ data_quick();
+ }
+ if(!(flags & MESSAGE_LAST_MSG ))
+ {
+ STREAM_out_change_type(RESPTYP_ACKNOWLEDGE);
+ STREAM_flush();
}
+
// not first and not last message
- for(; lLen && (ret_value == 0); lLen--)
+ STREAM_get_buffer((void **)&pBuf,&sizeOfBuf);
+ for(; lLen && sizeOfBuf; lLen--)
{
- TCLKset1
- if (lLen%2)
- {
- ret_value = STREAM_get_word(&dataH);
- SetReg_16Bits_(dataH); // write data to memory.
- }
- else
- {
- ret_value = STREAM_get_word(&dataL);
- SetReg_16Bits_(dataL); // write data to memory.
- }
- TCLKset0
+ IHIL_Tclk(1);
+ SetReg_16Bits(*pBuf++);
+ sizeOfBuf -= 2;
+ IHIL_Tclk(0);
}
-
+
// last message
if(flags & MESSAGE_LAST_MSG )
{
- cntrl_sig_16bit
- SetReg_16Bits_(0x0501)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ if(id == JTAGVERSION91 || id == JTAGVERSION99 || id == JTAGVERSION98)
+ {
+ SetPcXv2(0x80, SAFE_PC_ADDRESS); // Set PC to "safe" JMP $ address
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
+ }
+
STREAM_put_word(ret_len);
- TCLKset1
- }
- else if(ret_value == 1)
+ }
+ else if(lLen != 0)
{
STREAM_out_change_type(RESPTYP_ACKNOWLEDGE);
ret_value = 0;
}
else
{
- cntrl_sig_16bit
- SetReg_16Bits_(0x0501)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ if(id == JTAGVERSION91 || id == JTAGVERSION99 || id == JTAGVERSION98)
+ {
+ SetPcXv2(0x80, SAFE_PC_ADDRESS); // Set PC to "safe" JMP $ address
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ addr_capture();
+ }
+
ret_value = HALERR_EXECUTE_FUNCLET_EXECUTION_ERROR;
- TCLKset1
- }
+ }
return(ret_value);
}
diff --git a/Bios/src/hal/macros/WriteMemBytes.c b/Bios/src/hal/macros/WriteMemBytes.c
index 494b552..21ce4b8 100644
--- a/Bios/src/hal/macros/WriteMemBytes.c
+++ b/Bios/src/hal/macros/WriteMemBytes.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -63,7 +63,7 @@ HAL_FUNCTION(_hal_WriteMemBytes)
short ret_value = 0;
unsigned char value;
-
+
if(flags & MESSAGE_NEW_MSG)
{
if(STREAM_get_long(&lAddr) != 0)
@@ -74,28 +74,28 @@ HAL_FUNCTION(_hal_WriteMemBytes)
{
return HALERR_WRITE_MEM_WORD_NO_RAM_SIZE;
}
- halt_cpu
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x2418)
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2418);
}
-
+
lLen *= 2; //DLL always sends size in word
for(; lLen && (ret_value == 0); lLen--)
{
ret_value = STREAM_get_byte(&value);
- addr_16bit
- SetReg_16Bits_((unsigned short)lAddr)
- data_to_addr
- SetReg_8Bits_(value);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_16Bits((unsigned short)lAddr);
+ data_to_addr();
+ SetReg_8Bits(value);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
lAddr += 1;
}
if(flags & MESSAGE_LAST_MSG)
{
- release_cpu
+ release_cpu();
}
else if(ret_value == 1)
{
diff --git a/Bios/src/hal/macros/WriteMemBytesX.c b/Bios/src/hal/macros/WriteMemBytesX.c
index 7483d00..d1fe6ee 100644
--- a/Bios/src/hal/macros/WriteMemBytesX.c
+++ b/Bios/src/hal/macros/WriteMemBytesX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -54,7 +54,7 @@ HAL_FUNCTION(_hal_WriteMemBytesX)
static unsigned long lAddr;
short ret_value = 0;
unsigned char tmp_uchar;
-
+
if(flags & MESSAGE_NEW_MSG)
{
if(STREAM_get_long(&lAddr) != 0)
@@ -65,28 +65,28 @@ HAL_FUNCTION(_hal_WriteMemBytesX)
{
return HALERR_WRITE_MEM_WORD_NO_RAM_SIZE;
}
- halt_cpu
- TCLKset0
- cntrl_sig_low_byte
- SetReg_16Bits_(0x18)
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_low_byte();
+ SetReg_16Bits(0x18);
}
-
+
lLen *= 2; //DLL always sends size in word
for(; lLen && (ret_value == 0); lLen--)
{
ret_value = STREAM_get_byte(&tmp_uchar);
- addr_16bit
- SetReg_20Bits_(lAddr)
- data_to_addr
- SetReg_8Bits_(tmp_uchar);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_20Bits(lAddr);
+ data_to_addr();
+ SetReg_8Bits(tmp_uchar);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
lAddr += 1;
}
if(flags & MESSAGE_LAST_MSG)
{
- release_cpu
+ release_cpu();
}
else if(ret_value == 1)
{
diff --git a/Bios/src/hal/macros/WriteMemBytesXv2.c b/Bios/src/hal/macros/WriteMemBytesXv2.c
index 7035cd7..dd4556f 100644
--- a/Bios/src/hal/macros/WriteMemBytesXv2.c
+++ b/Bios/src/hal/macros/WriteMemBytesXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -60,6 +60,6 @@
HAL_FUNCTION(_hal_WriteMemBytesXv2)
{
- //! \todo not supported for Xv2
+ //! \not supported for Xv2
return HALERR_UNDEFINED_ERROR;
}
diff --git a/Bios/src/hal/macros/WriteMemWords.c b/Bios/src/hal/macros/WriteMemWords.c
index 4637a0d..9e1efc9 100644
--- a/Bios/src/hal/macros/WriteMemWords.c
+++ b/Bios/src/hal/macros/WriteMemWords.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND Write words (16bit values) to a memory mapped locationCONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -64,7 +64,7 @@ HAL_FUNCTION(_hal_WriteMemWords)
short ret_value = 0;
unsigned short tmp_uint;
-
+
if(flags & MESSAGE_NEW_MSG)
{
if(STREAM_get_long(&lAddr) != 0)
@@ -75,27 +75,27 @@ HAL_FUNCTION(_hal_WriteMemWords)
{
return HALERR_WRITE_MEM_WORD_NO_RAM_SIZE;
}
- halt_cpu
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x2408)
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2408);
}
-
+
for(; lLen && (ret_value == 0); lLen--)
{
ret_value = STREAM_get_word(&tmp_uint);
- addr_16bit
- SetReg_16Bits_((unsigned short)lAddr)
- data_to_addr
- SetReg_16Bits_(tmp_uint);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_16Bits((unsigned short)lAddr);
+ data_to_addr();
+ SetReg_16Bits(tmp_uint);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
lAddr += 2;
}
if(flags & MESSAGE_LAST_MSG)
{
- release_cpu
+ release_cpu();
}
else if(ret_value == 1)
{
diff --git a/Bios/src/hal/macros/WriteMemWordsX.c b/Bios/src/hal/macros/WriteMemWordsX.c
index 3c9deb7..fd8051e 100644
--- a/Bios/src/hal/macros/WriteMemWordsX.c
+++ b/Bios/src/hal/macros/WriteMemWordsX.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -51,7 +51,7 @@ HAL_FUNCTION(_hal_WriteMemWordsX)
static unsigned long lAddr;
short ret_value = 0;
unsigned short tmp_uint;
-
+
if(flags & MESSAGE_NEW_MSG)
{
if(STREAM_get_long(&lAddr) != 0)
@@ -62,27 +62,27 @@ HAL_FUNCTION(_hal_WriteMemWordsX)
{
return HALERR_WRITE_MEM_WORD_NO_RAM_SIZE;
}
- halt_cpu
- TCLKset0
- cntrl_sig_low_byte
- SetReg_16Bits_(0x08)
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_low_byte();
+ SetReg_16Bits(0x08);
}
-
+
for(; lLen && (ret_value == 0); lLen--)
{
ret_value = STREAM_get_word(&tmp_uint);
- addr_16bit
- SetReg_20Bits_(lAddr)
- data_to_addr
- SetReg_16Bits_(tmp_uint);
- TCLKset1
- TCLKset0
+ addr_16bit();
+ SetReg_20Bits(lAddr);
+ data_to_addr();
+ SetReg_16Bits(tmp_uint);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
lAddr += 2;
}
if(flags & MESSAGE_LAST_MSG)
{
- release_cpu
+ release_cpu();
}
else if(ret_value == 1)
{
diff --git a/Bios/src/hal/macros/WriteMemWordsXv2.c b/Bios/src/hal/macros/WriteMemWordsXv2.c
index e39d3b0..2a6fd27 100644
--- a/Bios/src/hal/macros/WriteMemWordsXv2.c
+++ b/Bios/src/hal/macros/WriteMemWordsXv2.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -59,9 +59,11 @@ HAL_FUNCTION(_hal_WriteMemWordsXv2)
{
static unsigned long lAddr;
static unsigned long lLen;
- unsigned short tmp_uint;
+ unsigned short *pBuf;
+ unsigned short sizeOfBuf;
int ret_value = 0;
+
if(flags & MESSAGE_NEW_MSG)
{
if(STREAM_get_long(&lAddr) != 0)
@@ -73,27 +75,30 @@ HAL_FUNCTION(_hal_WriteMemWordsXv2)
return HALERR_WRITE_MEM_WORD_XV2_NO_RAM_SIZE;
}
}
-
- for(; lLen && (ret_value == 0); lLen--)
+
+ STREAM_out_change_type(RESPTYP_ACKNOWLEDGE);
+ STREAM_flush();
+
+ STREAM_get_buffer((void **)&pBuf,&sizeOfBuf);
+ for(; lLen && sizeOfBuf; lLen--)
{
//! \todo check correct loop cycle with design for performance optimization
- ret_value = STREAM_get_word(&tmp_uint);
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x0500)
- addr_16bit
- SetReg_20Bits_(lAddr)
- TCLKset1
- data_to_addr
- SetReg_16Bits_(tmp_uint);
- TCLKset0
- cntrl_sig_16bit
- SetReg_16Bits_(0x0501)
- TCLKset1
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0500);
+ addr_16bit();
+ SetReg_20Bits(lAddr);
+ IHIL_Tclk(1);
+ data_to_addr();
+ SetReg_16Bits(*pBuf++);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
// one or more cycle, so CPU is driving correct MAB
- TCLK
+ IHIL_TCLK();
lAddr += 2;
+ sizeOfBuf -= 2;
}
return(ret_value);
}
-
diff --git a/Bios/src/hil/edt.c b/Bios/src/hil/edt.c
new file mode 100644
index 0000000..3121e68
--- /dev/null
+++ b/Bios/src/hil/edt.c
@@ -0,0 +1,174 @@
+/**
+* \ingroup MODULHAL
+*
+* \file edt.c
+*
+* \brief
+*
+*/
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "edt.h"
+
+unsigned long i_ReadJmbOut()
+{
+ unsigned short sJMBOUT0 = 0, sJMBOUT1 = 0, sJMBINCTL = 0;
+ jmb_exchange();
+ if(SetReg_16Bits(sJMBINCTL) & OUT1RDY)
+ {
+ sJMBINCTL |= JMB32B + OUTREQ;
+ SetReg_16Bits(sJMBINCTL);
+ sJMBOUT0 = SetReg_16Bits(0);
+ sJMBOUT1 = SetReg_16Bits(0);
+ return ((unsigned long)sJMBOUT1<<16) + sJMBOUT0;
+ }
+ return 0;
+}
+
+unsigned short i_ReadJmbOut16()
+{
+ unsigned short sJMBINCTL = 0;
+ jmb_exchange();
+ if(SetReg_16Bits(sJMBINCTL) & OUT0RDY)
+ {
+ sJMBINCTL |= OUTREQ;
+ SetReg_16Bits(sJMBINCTL);
+ return SetReg_16Bits(0);
+ }
+ return 0;
+}
+
+short i_WriteJmbIn(unsigned short data)
+{
+ volatile unsigned short sJMBINCTL = INREQ, sJMBIN0 = (unsigned short)(data & 0x0000FFFF);
+ volatile unsigned short lOut = 0;
+ volatile unsigned long Timeout = 0;
+
+ jmb_exchange();
+ do
+ {
+ lOut = SetReg_16Bits(0x0000);
+ if(Timeout++ >= 3000)
+ {
+ return 1;
+ }
+ }
+ while(!(lOut & IN0RDY) && Timeout < 3000);
+
+ if(Timeout < 3000)
+ {
+ SetReg_16Bits(sJMBINCTL);
+ SetReg_16Bits(sJMBIN0);
+ }
+ return 0;
+}
+
+short i_WriteJmbIn32(unsigned short dataA, unsigned short dataB)
+{
+ volatile unsigned short sJMBINCTL = JMB32B | INREQ;
+ volatile unsigned short sJMBIN0 = 0 ,sJMBIN1 = 0, lOut = 0;
+ volatile unsigned long Timeout = 0;
+
+ sJMBIN0 = (unsigned short)(dataA & 0x0000FFFF);
+ sJMBIN1 = (unsigned short)(dataB & 0x0000FFFF);
+
+ jmb_exchange();
+ do
+ {
+ lOut = SetReg_16Bits(0x0000);
+ if(Timeout++ >= 3000)
+ {
+ return 1;
+ }
+ }
+ while(!(lOut & IN1RDY) && Timeout < 3000);
+ if(Timeout < 3000)
+ {
+ sJMBINCTL = 0x11;
+ SetReg_16Bits(sJMBINCTL);
+ SetReg_16Bits(sJMBIN0);
+ SetReg_16Bits(sJMBIN1);
+ }
+ return 0;
+}
+
+short checkWakeup()
+{
+ unsigned long UNLOCK_ADDRESS = 0xE0044000;
+ unsigned long SYS_SYSTEM_STAT = 0xE0044020;
+ unsigned long PWD = 0x695A;
+ unsigned short DBG_SEC_ACT_MASK = 0x8;
+
+ unsigned long val = 0;
+ unsigned short timeout = 100;
+
+ //unlock Sys master
+ IHIL_Write_Read_Mem_Ap(0, UNLOCK_ADDRESS, &PWD, WRITE);
+
+ do
+ {
+ IHIL_Write_Read_Mem_Ap(0, SYS_SYSTEM_STAT, &val, READ);
+ timeout--;
+ }while((val & DBG_SEC_ACT_MASK) && --timeout);
+
+ if(!timeout)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+short powerUpArm()
+{
+ unsigned long val = 0;
+ unsigned short timeout = 200;
+
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, READ);
+ // Request system and debug power up
+ val |= DP_CTRL_STAT_CSYSPWRUPREQ | DP_CTRL_STAT_CDBGPWRUPREQ;
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, WRITE);
+ // Wait for acknowledge
+ do
+ {
+ IHIL_Write_Read_Dp(DP_CTRL_STAT, &val, READ);
+ timeout--;
+ } while(((val & (DP_CTRL_STAT_CSYSPWRUPACK | DP_CTRL_STAT_CDBGPWRUPACK)) !=
+ (DP_CTRL_STAT_CSYSPWRUPACK | DP_CTRL_STAT_CDBGPWRUPACK)) && timeout);
+
+ if(!timeout)
+ {
+ return -1;
+ }
+ return 0;
+}
diff --git a/Bios/src/hil/edt.h b/Bios/src/hil/edt.h
index 464ec05..886040d 100644
--- a/Bios/src/hil/edt.h
+++ b/Bios/src/hil/edt.h
@@ -7,835 +7,269 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/**
- @page edt Enhanced Device Test layer (EDT)
- The EDT layer is sort of abstraction of the target devices' JTAG interface.
- Beside some initialization and configuration functions it provides both
- high level functions to access the JTAG Instruction/Data registers plus
- a set of low level symbols to manipulate individual signals of the JTAG
- interface. The EDT layer is described in detail via @ref edt.h.
-
- Proceed to the @ref hal.
-*/
-
-/**
- @file edt.h
- @brief Enhanced Device Test layer (EDT)
-
- This file defines and exports all the objects and symbols required to use
- the Enhanced Device Test layer (EDT).
-
- All access to EDT high level functions and low level symbols is realized
- through function/variable pointers. This enables straight forward update
- strategies as none of the resources are accessed via absolute addresses.
- Refer to @ref update for more details on this topic.
-*/
#ifndef _EDT_H_
#define _EDT_H_
#include "JTAG_defs.h"
+#include "hil_Structs.h"
+#include "hal.h"
-/**
- @brief Structure of pointers to all exported EDT functions.
-*/
-struct edt_common_methods {
- short (*Init)(void);
- short (*SetVcc)(unsigned short);
- short (*GetVcc)(unsigned short*, unsigned short*);
- short (*SetProtocol)(unsigned short);
- void (*SetPsaSetup)(unsigned short);
- void (*SetPsaTCLK)(unsigned short);
- short (*Open)(unsigned char state);
- short (*Close)(void);
- void (*Delay_1us)(unsigned short);
- void (*Delay_1ms)(unsigned short);
- short (*Loop)(unsigned short);
- void (*EntrySequences)(unsigned char);
-
- void (*SetJtagBits)(unsigned char); // Set discreet JTAG bits according to the input
- unsigned char (*GetJtagBits)(void); // Read the current output of the JTAG port
-
- void (*SetTgtCtrlBits)(unsigned char);// Set discreet Target Control bits according to the input
- unsigned char (*GetTgtCtrlBits)(void);// Read the current output of the TargetControl port
-
- void (*SetTestBits)(unsigned char); // Set discreet Test Control bits according to the input
- unsigned char (*GetTestBits)(void); // Read the current output of the Test Control port
-
- void (*SetReset)(unsigned char); // Set the Reset pin to the specified value
- void (*SetTest)(unsigned char); // Set the Test pin to the specified value
- void (*SetJtagSpeed)(unsigned short);
-};
-typedef struct edt_common_methods edt_common_methods_t;
-
-struct edt_distinct_methods
-{
- short (*TapReset)(void);
- short (*CheckJtagFuse)(void);
- unsigned short (*EnumChain)(void);
- unsigned char (*Instr)(unsigned char);
- unsigned char (*SetReg_XBits08)(unsigned char);
- unsigned short (*SetReg_XBits16)(unsigned short);
- unsigned long (*SetReg_XBits20)(unsigned long);
- unsigned long (*SetReg_XBits32)(unsigned long);
- unsigned long long (*SetReg_XBits64)(unsigned long long);
- void (*Tclk)(unsigned char);
- void (*SetupPsa)(unsigned long);
- void (*StepPsa)(unsigned long);
- void (*EndPsa)(void);
- short (*BlowFuse)(unsigned char); // Blow the JTAG acces fuse
-};
-typedef struct edt_distinct_methods edt_distinct_methods_t;
+typedef void (*HilInitFunc)();
+typedef void (*HilInitGetEdtCommenFunc)(edt_common_methods_t* edt_commen);
+typedef void (*HilInitGetEdtDistinctFunc)(edt_distinct_methods_t* edt_distinct);
-/**
- @brief Constant structure holding all EDT function pointers.
+extern edt_common_methods_t _edt_Common_Methods;
+extern edt_distinct_methods_t _edt_Distinct_Methods;
- One constant structure of type \a edt_common_methods. It holds all EDT
- function pointers that are independant from the low level JTAG communication
- protocol (4-wire JTAG or Spy-Bi-Wire).
- Another variable structure of type \a edt_distinct_methods. It holds all EDT
- function pointers that are remapped depending on the low level JTAG prtocol
- selection (4-wire JTAG or Spy-Bi-Wire).
+extern unsigned short altRomAddressForCpuRead;
+extern unsigned short wdtctlAddress5xx;
+extern DevicePowerSettings devicePowerSettings;
- @warning It is not recommended to use symbols of this structure in other
- modules direclty! Use the hash define symbols instead.
-*/
-extern const edt_common_methods_t _edt_Common_Methods;
-extern edt_distinct_methods_t _edt_Distinct_Methods;
-extern unsigned short setPCclockBeforeCapture;
-
-#define EDT_Init (*_edt_Common_Methods.Init)
-#define EDT_SetJtagSpeed (*_edt_Common_Methods.SetJtagSpeed)
-#define EDT_SetVcc (*_edt_Common_Methods.SetVcc)
-#define EDT_GetVcc (*_edt_Common_Methods.GetVcc)
-#define EDT_SetProtocol (*_edt_Common_Methods.SetProtocol)
-#define EDT_SetPsaSetup (*_edt_Common_Methods.SetPsaSetup)
-#define EDT_SetPsaTCLK (*_edt_Common_Methods.SetPsaTCLK)
-#define EDT_Open (*_edt_Common_Methods.Open)
-#define EDT_Close (*_edt_Common_Methods.Close)
-#define EDT_Delay_1us (*_edt_Common_Methods.Delay_1us)
-#define EDT_Delay_1ms (*_edt_Common_Methods.Delay_1ms)
-#define EDT_Loop (*_edt_Common_Methods.Loop)
-#define EDT_EntrySequences (*_edt_Common_Methods.EntrySequences)
-#define EDT_SetJtagBits (*_edt_Common_Methods.SetJtagBits)
-#define EDT_GetJtagBits (*_edt_Common_Methods.GetJtagBits)
-#define EDT_SetTgtCtrlBits (*_edt_Common_Methods.SetTgtCtrlBits)
-#define EDT_GetTgtCtrlBits (*_edt_Common_Methods.GetTgtCtrlBits)
-#define EDT_SetTestBits (*_edt_Common_Methods.SetTestBits)
-#define EDT_GetTestBits (*_edt_Common_Methods.GetTestBits)
-
-#define EDT_SetReset (*_edt_Common_Methods.SetReset)
-#define EDT_SetTest (*_edt_Common_Methods.SetTest)
-
-#define EDT_TapReset (*_edt_Distinct_Methods.TapReset)
-#define EDT_CheckJtagFuse (*_edt_Distinct_Methods.CheckJtagFuse)
-#define EDT_EnumChain (*_edt_Distinct_Methods.EnumChain)
-#define EDT_Instr (*_edt_Distinct_Methods.Instr)
-#define EDT_SetReg_XBits (*_edt_Distinct_Methods.SetReg_XBits)
-#define EDT_SetReg_XBits08 (*_edt_Distinct_Methods.SetReg_XBits08)
-#define EDT_SetReg_XBits16 (*_edt_Distinct_Methods.SetReg_XBits16)
-#define EDT_SetReg_XBits20 (*_edt_Distinct_Methods.SetReg_XBits20)
-#define EDT_SetReg_XBits32 (*_edt_Distinct_Methods.SetReg_XBits32)
-#define EDT_SetReg_XBits64 (*_edt_Distinct_Methods.SetReg_XBits64)
-#define EDT_Tclk (*_edt_Distinct_Methods.Tclk)
-#define EDT_SetupPsa (*_edt_Distinct_Methods.SetupPsa)
-#define EDT_StepPsa (*_edt_Distinct_Methods.StepPsa)
-#define EDT_EndPsa (*_edt_Distinct_Methods.EndPsa)
-#define EDT_BlowFuse (*_edt_Distinct_Methods.BlowFuse)
-
-// further definitions and macros
-
-#define decl_io short lIn; short lOut;
-#define decl_in short lIn;
-#define decl_out short lOut = 0;
-#define decl_out_long unsigned long lOut_long = 0;
-#define decl_out_long_long unsigned long long lOut_long_long = 0;
-#define decl_state short lPass = 0; short lFail = 0;
-#define decl_pass short lPass = 0;
-#define decl_fail short lFail = 0;
-#define decl_isInstrLoad short lIsInstrLoad = -1;
-#define decl_instrLoad short lInstrLoad = -1;
-#define decl_jtagMailboxIn short jtagMailboxIn = -1;
-#define decl_jtagMailboxOut short jtagMailboxOu = -1;
+// Hil common methods
+#pragma inline=forced
+short IHIL_Init(void) { return _edt_Common_Methods.Init();}
+
+#pragma inline=forced
+short IHIL_SetVcc(unsigned short vcc){ return _edt_Common_Methods.SetVcc(vcc); }
+
+#pragma inline=forced
+void IHIL_SwitchVccFET(unsigned short switchVccFET){ _edt_Common_Methods.SwitchVccFET(switchVccFET);}
+
+#pragma inline=forced
+short IHIL_GetVcc(double* Vcc, double* ExtVcc){ return _edt_Common_Methods.GetVcc(Vcc, ExtVcc);}
+
+#pragma inline=forced
+short IHIL_SetProtocol(unsigned short protocol_id){ return _edt_Common_Methods.SetProtocol(protocol_id);}
+
+#pragma inline=forced
+void IHIL_SetPsaTCLK(unsigned short tclkValue){_edt_Common_Methods.SetPsaTCLK(tclkValue);}
+
+#pragma inline=forced
+short IHIL_Open(unsigned char state){ return _edt_Common_Methods.Open(state);}
+
+#pragma inline=forced
+short IHIL_Close(void){return _edt_Common_Methods.Close();}
+
+#pragma inline=forced
+void IHIL_Delay_1us(unsigned short usecs){_edt_Common_Methods.Delay_1us(usecs);}
+
+#pragma inline=forced
+void IHIL_Delay_1ms(unsigned short msecs){_edt_Common_Methods.Delay_1ms(msecs);}
+
+#pragma inline=forced
+short IHIL_IccMonitor_Process(unsigned short flags){ return _edt_Common_Methods.Loop(flags);}
+
+#pragma inline=forced
+void IHIL_EntrySequences(unsigned char states){_edt_Common_Methods.EntrySequences(states);}
+
+#pragma inline=forced
+void IHIL_BSL_EntrySequence(unsigned short switchBypassOff){_edt_Common_Methods.BSL_EntrySequence(switchBypassOff);}
+
+#pragma inline=forced
+void IHIL_BSL_EntrySequence1xx_4xx(){ _edt_Common_Methods.BSL_EntrySequence1xx_4xx();}
+
+#pragma inline=forced
+void IHIL_SetReset(unsigned char value){_edt_Common_Methods.SetReset(value);}
+
+#pragma inline=forced
+void IHIL_SetTest(unsigned char value){_edt_Common_Methods.SetTest(value);}
+
+#pragma inline=forced
+void IHIL_SetTMS(unsigned char value){_edt_Common_Methods.SetTMS(value);}
+
+#pragma inline=forced
+void IHIL_SetTCK(unsigned char value){_edt_Common_Methods.SetTCK(value);}
+
+#pragma inline=forced
+void IHIL_SetTDI(unsigned char value){_edt_Common_Methods.SetTDI(value);}
+
+#pragma inline=forced
+void IHIL_InitDelayTimer(void){_edt_Common_Methods.initDelayTimer();}
+
+#pragma inline=forced
+void IHIL_SetJtagSpeed(unsigned short jtagSpeed, unsigned short sbwSpeed){_edt_Common_Methods.SetJtagSpeed(jtagSpeed,sbwSpeed);}
+
+#pragma inline=forced
+void IHIL_ConfigureSetPc(unsigned short PCclockBeforeCapture){_edt_Common_Methods.ConfigureSetPc(PCclockBeforeCapture);}
+// Hil distinct methods
+#pragma inline=forced
+short IHIL_TapReset(void){return _edt_Distinct_Methods.TapReset();}
+
+#pragma inline=forced
+short IHIL_CheckJtagFuse(void){return _edt_Distinct_Methods.CheckJtagFuse();}
+
+#pragma inline=forced
+void IHIL_Tclk(unsigned char tclk){_edt_Distinct_Methods.Tclk(tclk);}
+
+#pragma inline=forced
+char IHIL_Instr4(unsigned char ir){return _edt_Distinct_Methods.Instr04(ir);}
+
+#pragma inline=forced
+void IHIL_StepPsa(unsigned long length){_edt_Distinct_Methods.StepPsa(length);}
+
+#pragma inline=forced
+short IHIL_BlowFuse(unsigned char targetHasTestVpp){return _edt_Distinct_Methods.BlowFuse(targetHasTestVpp);}
+
+#pragma inline=forced
+unsigned char IHIL_GetPrevInstruction(){ return _edt_Distinct_Methods.GetPrevInstruction();}
+
+#pragma inline=forced
+void IHIL_TCLK(void){IHIL_Tclk(0); IHIL_Tclk(1);}
+
+#pragma inline=forced
+unsigned long long SetReg_XBits(unsigned long long *Data, unsigned short count){return _edt_Distinct_Methods.SetReg_XBits(Data,count);}
+
+#pragma inline=forced
+unsigned long long SetReg_35Bits(unsigned long long *Data){return _edt_Distinct_Methods.SetReg_XBits35(Data);}
+
+#pragma inline=forced
+unsigned char SetReg_8Bits(unsigned char data){return _edt_Distinct_Methods.SetReg_XBits08(data);}
+
+#pragma inline=forced
+unsigned short SetReg_16Bits(unsigned short data){return _edt_Distinct_Methods.SetReg_XBits16(data);}
+
+#pragma inline=forced
+unsigned long SetReg_20Bits(unsigned long data) {return _edt_Distinct_Methods.SetReg_XBits20(data);}
+
+#pragma inline=forced
+unsigned long SetReg_32Bits(unsigned long data){return _edt_Distinct_Methods.SetReg_XBits32(data);}
+
+#pragma inline=forced
+unsigned long long SetReg_64Bits(unsigned long long data){return _edt_Distinct_Methods.SetReg_XBits64(data);}
+
+//ARM interface functions
+#pragma inline=forced
+short IHIL_Write_Read_Dp(unsigned char address, unsigned long *data, unsigned short rnw)
+ {return _edt_Distinct_Methods.write_read_Dp(address,data, rnw);}
+#pragma inline=forced
+short IHIL_Write_Read_Ap(unsigned long address, unsigned long *data, unsigned short rnw)
+ {return _edt_Distinct_Methods.write_read_Ap(address, data, rnw);}
+#pragma inline=forced
+short IHIL_Write_Read_Mem_Ap(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw)
+{ return _edt_Distinct_Methods.write_read_mem_Ap(ap_sel, address, data, rnw);}
+#pragma inline=forced
+unsigned char IHIL_SwdTransferData(unsigned char regiser, unsigned long* data, unsigned char rnw)
+{ return _edt_Distinct_Methods.SwdTransferData(regiser, data, rnw);}
+
+#pragma inline=forced
+unsigned long long SetReg8_64Bits(unsigned long long data, unsigned short loopCount, unsigned short PG)
+ {return _edt_Distinct_Methods.SetReg_XBits8_64(data, loopCount, PG);}
// JTAG instruction register access
-#define bypass { lOut = EDT_Instr(0xFF); }
-#define cntrl_sig_high_byte { EDT_Instr(IR_CNTRL_SIG_HIGH_BYTE); }
-#define cntrl_sig_low_byte { EDT_Instr(IR_CNTRL_SIG_LOW_BYTE); }
-#define cntrl_sig_capture { lOut = EDT_Instr(IR_CNTRL_SIG_CAPTURE); }
-#define cntrl_sig_16bit { EDT_Instr(IR_CNTRL_SIG_16BIT); }
-#define cntrl_sig_release { EDT_Instr(IR_CNTRL_SIG_RELEASE); }
-#define addr_16bit { EDT_Instr(IR_ADDR_16BIT); }
-#define addr_capture { EDT_Instr(IR_ADDR_CAPTURE); }
-#define data_16bit { EDT_Instr(IR_DATA_16BIT); }
-#define data_capture { EDT_Instr(IR_DATA_CAPTURE); }
-#define data_to_addr { EDT_Instr(IR_DATA_TO_ADDR); }
-#define data_quick { EDT_Instr(IR_DATA_QUICK); }
-#define config_fuses { EDT_Instr(IR_CONFIG_FUSES); }
-#define eem_data_exchange { EDT_Instr(IR_EMEX_DATA_EXCHANGE); }
-#define eem_data_exchange32 { EDT_Instr(IR_EMEX_DATA_EXCHANGE32); }
-#define eem_read_control { EDT_Instr(IR_EMEX_READ_CONTROL); }
-#define eem_write_control { EDT_Instr(IR_EMEX_WRITE_CONTROL); }
-#define eem_data_exchange32 { EDT_Instr(IR_EMEX_DATA_EXCHANGE32); }
-#define eem_read_trigger { EDT_Instr(IR_EMEX_READ_TRIGGER); }
-#define data_psa { EDT_Instr(IR_DATA_PSA); }
-#define shift_out_psa { EDT_Instr(IR_SHIFT_OUT_PSA); }
-#define flash_16bit_update { EDT_Instr(IR_FLASH_16BIT_UPDATE); }
-#define tclk_0_inst { EDT_Instr(0x3A); }//3A
-#define tclk_1_inst { EDT_Instr(0x3B); }//3B
-#define tclk_toggle_inst { EDT_Instr(0x39); }//39
-#define jmb_exchange { EDT_Instr(IR_JMB_EXCHANGE); }
-#define device_ip_pointer { EDT_Instr(IR_DEVICE_ID);}
-#define core_ip_pointer { EDT_Instr(IR_COREIP_ID);}
-#define jstate_read { EDT_Instr(IR_JSTATE_ID);}
-#define test_reg { EDT_Instr(IR_TEST_REG);}
-#define test_reg_3V { EDT_Instr(IR_TEST_3V_REG);}
-
-
-// JTAG data register access
-#define SetReg_8Bits(x) { lOut = (short)EDT_SetReg_XBits08(x); }
-#define SetReg_8Bits_(x) { EDT_SetReg_XBits08(x); }
-#define SetReg_16Bits(x) { lOut = (short)EDT_SetReg_XBits16(x); }
-#define SetReg_16Bits_(x) { EDT_SetReg_XBits16(x); }
-#define SetReg_20Bits(x) { lOut_long = EDT_SetReg_XBits20(x); }
-#define SetReg_20Bits_(x) { EDT_SetReg_XBits20(x); }
-#define SetReg_32Bits(x) { lOut_long = EDT_SetReg_XBits32(x); }
-#define SetReg_32Bits_(x) { EDT_SetReg_XBits32(x); }
-#define SetReg_64Bits(x) { lOut_long_long = EDT_SetReg_XBits64(x); }
-#define SetReg_64Bits_(x) { EDT_SetReg_XBits64(x); }
-
-
-// JTAG macros (used for code inlining)
-#define isInstrLoad { cntrl_sig_capture \
- lIsInstrLoad = 0; \
- SetReg_16Bits(0); \
- if((lOut & (CNTRL_SIG_INSTRLOAD | CNTRL_SIG_READ)) != \
- (CNTRL_SIG_INSTRLOAD | CNTRL_SIG_READ)) \
- { \
- lIsInstrLoad = -1; \
- } }
-
-#define instrLoad { unsigned short i; \
- decl_isInstrLoad \
- lInstrLoad = 0; \
- cntrl_sig_low_byte \
- SetReg_8Bits_(CNTRL_SIG_READ) \
- TCLKset1 \
- for(i = 0; i < 10; i++) \
- { \
- isInstrLoad \
- if(lIsInstrLoad == 0) \
- { \
- break; \
- } \
- TCLK \
- } \
- if(i == 10) \
- { \
- --lInstrLoad; \
- } }
-
-#define halt_cpu { data_16bit \
- SetReg_16Bits_(0x3FFF) \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x2409) \
- TCLKset1 }
-
-#define release_cpu { TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x2401) \
- addr_capture \
- TCLKset1 }
-#define ReadMemWord(a,d) { halt_cpu \
- TCLKset0 \
- addr_16bit \
- SetReg_16Bits(a) \
- data_to_addr \
- TCLKset1 \
- TCLKset0 \
- SetReg_16Bits(0) \
- d = lOut; \
- release_cpu }
-
-#define ReadMemWordX(a,d) { halt_cpu \
- TCLKset0 \
- addr_16bit \
- SetReg_20Bits(a) \
- data_to_addr \
- TCLKset1 \
- TCLKset0 \
- SetReg_16Bits(0) \
- d = lOut; \
- release_cpu }
-
-#define ReadMemWordXv2(a,d){decl_out \
- TCLKset0 \
- addr_16bit \
- SetReg_20Bits(a) \
- TCLKset1 \
- TCLKset0 \
- data_capture \
- SetReg_16Bits(0); \
- d = lOut; \
- TCLKset1 \
- TCLKset0 \
- TCLKset1 }
-
-#define WriteMemWord(a,v) { halt_cpu \
- TCLKset0 \
- cntrl_sig_low_byte \
- SetReg_8Bits_(0x08) \
- addr_16bit \
- SetReg_16Bits_(a) \
- data_to_addr \
- SetReg_16Bits_(v) \
- TCLKset1 \
- release_cpu }
-
-#define WriteMemWordX(a,v) {halt_cpu \
- TCLKset0 \
- cntrl_sig_low_byte \
- SetReg_8Bits_(0x08) \
- addr_16bit \
- SetReg_20Bits_(a) \
- data_to_addr \
- SetReg_16Bits_(v) \
- TCLKset1 \
- release_cpu }
-
-#define WriteMemWordXv2(a,v){TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x0500) \
- addr_16bit \
- SetReg_20Bits_(a) \
- TCLKset1 \
- data_to_addr \
- SetReg_16Bits_(v) \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x0501) \
- TCLKset1 \
- TCLKset0 \
- TCLKset1 }
-
-#define WriteMemByte(a,v){halt_cpu \
- TCLKset0 \
- addr_16bit \
- SetReg_16Bits_(a) \
- data_to_addr \
- SetReg_8Bits_(v) \
- TCLKset1 \
- TCLKset0 \
- release_cpu }
-
-
-#define ReadCpuReg(n,d) { short op; \
- cntrl_sig_16bit \
- SetReg_16Bits(0x3401) \
- data_16bit \
- op = ((n << 8) & 0x0F00) | 0x4082; \
- SetReg_16Bits(op) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- SetReg_16Bits(0x00fe) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits(0) \
- d = lOut; \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits(0x2401) \
- TCLKset1 }
-
-
-#define ReadCpuReg_uShort(n,d) { short op; \
- cntrl_sig_16bit \
- SetReg_16Bits(0x3401) \
- data_16bit \
- op = ((n << 8) & 0x0F00) | 0x4082; \
- SetReg_16Bits(op) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- SetReg_16Bits(0x00fe) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits(0) \
- d = (unsigned short)lOut; \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits(0x2401) \
- TCLKset1 }
-
-#define ReadCpuRegX(n,d) { short op; \
- unsigned short Rx_l; \
- unsigned short Rx_h; \
- cntrl_sig_high_byte \
- SetReg_16Bits(0x34) \
- op = ((n << 8) & 0x0F00) | 0x60; \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits(op) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits(0x00fc) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- SetReg_16Bits(0) \
- Rx_l = lOut; \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits(0) \
- Rx_h = lOut; \
- TCLKset0 \
- cntrl_sig_high_byte \
- SetReg_8Bits(0x24) \
- TCLKset1 \
- d = ((unsigned long)Rx_h<<16) + Rx_l; }
-
-
-#define ReadCpuRegXv2(n,d){ unsigned short Rx_l; \
- unsigned short Rx_h; \
- TCLKset0 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits(n) \
- cntrl_sig_16bit \
- SetReg_16Bits(0x1401) \
- data_16bit \
- TCLK \
- if (altRomAddressForCpuRead)\
- { \
- SetReg_16Bits(0x0ff6) \
- } \
- else \
- { \
- SetReg_16Bits(0x018c) \
- } \
- TCLK \
- SetReg_16Bits(0x3ffd) \
- TCLKset0 \
- if (altRomAddressForCpuRead)\
- { \
- cntrl_sig_16bit \
- SetReg_16Bits(0x0501) \
- } \
- data_capture \
- TCLKset1 \
- SetReg_16Bits(0) \
- Rx_l = lOut; \
- TCLK \
- SetReg_16Bits(0) \
- Rx_h = lOut; \
- TCLK \
- TCLK \
- TCLK \
- if (!altRomAddressForCpuRead)\
- { \
- cntrl_sig_16bit \
- SetReg_16Bits(0x0501) \
- } \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- d = ((unsigned long)Rx_h<<16) + Rx_l; }
-
-
-#define WriteCpuReg(n,s) { short op; \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x3401) \
- data_16bit \
- op = (0x4030 | n); \
- SetReg_16Bits_(op) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- SetReg_16Bits_(s) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- SetReg_16Bits_(0x3ffd) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x2401) \
- TCLKset1 }
-
-#define WriteCpuRegX(n,s) { short op = 0x0080 | n | ((s>>8) & 0x0F00); \
- cntrl_sig_high_byte \
- SetReg_8Bits_(0x34) \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(op) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(s&0xFFFF)\
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(0x3ffd) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- TCLKset0 \
- cntrl_sig_high_byte \
- SetReg_8Bits_(0x24) \
- TCLKset1 }
-
-/* !BUGFIX BTT1722 removed
-#define WriteCpuRegXv2(n,s){TCLKset0 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(n) \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x1401) \
- data_16bit \
- TCLK \
- SetReg_16Bits_(s) \
- TCLK \
- SetReg_16Bits_(0x3ffd) \
- TCLK \
- TCLKset0 \
- addr_capture \
- SetReg_20Bits(0x00000) \
- TCLKset1 \
- TCLK \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x0501) \
- TCLKset0 \
- data_capture \
- TCLKset1 }
-// !BUGFIX BTT1722 removed */
-// BUGFIX BTT1722 added
-#define WriteCpuRegXv2(n,s){TCLKset0 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(n) \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x1401) \
- data_16bit \
- TCLK \
- SetReg_16Bits_(s) \
- TCLK \
- SetReg_16Bits_(0x3ffd) \
- TCLK \
- TCLKset0 \
- addr_capture \
- SetReg_20Bits(0x00000) \
- TCLKset1 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x0501) \
- TCLK \
- TCLKset0 \
- data_capture \
- TCLKset1 }
-// !BUGFIX BTT1722
-
-
-#define isInstrFetch { cntrl_sig_capture \
- SetReg_16Bits(0) \
- if(lOut & 0x0080) \
- { \
- lPass++; \
- } \
- else \
- { \
- lFail++; \
- } \
- }
-
-// cycle(MOV_IMM_PC); // MOV #, PC 4030
-// cycle((WORD)pc);
-// if (cycleEnd() != STATUS_OK)
-/* cntrlSigHighByte(CNTRL_SIG_TCE1 | CNTRL_SIG_CPU); // Enable CPU control.
-
- HIL_JTAG_IR_(IR_DATA_16BIT);
- HIL_TCLK(1); // added for 2xx support
- HIL_JTAG_DR16(data);
- HIL_TCLK(0);
- HIL_JTAG_IR_(IR_DATA_CAPTURE);
- HIL_TCLK(1); */
-/*
-#define SetPc(x) { cntrl_sig_16bit \
- SetReg_16Bits_(0x3401) \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(0x4030) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits_(x) \
- TCLKset0 \
- data_capture \
- TCLKset1 \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x2401) \
- TCLKset1 \
- }
+#pragma inline=forced
+short cntrl_sig_low_byte() { return _edt_Distinct_Methods.Instr(IR_CNTRL_SIG_LOW_BYTE); }
-*/
-#define SetPc(x) { cntrl_sig_16bit \
- SetReg_16Bits_(0x3401) \
- data_16bit \
- SetReg_16Bits_(0x4030) \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits_(x) \
- if (setPCclockBeforeCapture) {TCLK} \
- TCLKset0 \
- addr_capture \
- if (!setPCclockBeforeCapture) {TCLKset1} \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x2401) \
- TCLKset1 \
- }
-/*
-#define SetPc(x) { cntrl_sig_16bit \
- SetReg_16Bits_(0x3401) \
- data_16bit \
- SetReg_16Bits_(0x4030) \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits_(x) \
- TCLKset0 \
- addr_capture \
- TCLKset1 \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits_(0x2401) \
- TCLKset1 \
- }
-*/
-#define SetPcJtagBug(x) { \
- data_16bit \
- SetReg_16Bits_(0x4030) \
- TCLKset1 \
- TCLKset0 \
- SetReg_16Bits_(x) \
- TCLKset1 \
- TCLKset0 \
- TCLKset1 \
- TCLKset0 \
- }
-
-#define SetPcX(x) { unsigned short pc_high = (unsigned short)(0x80 | (((x)>>8) & 0x0F00));\
- unsigned short pc_low = (unsigned short)((x) & 0xFFFF); \
- cntrl_sig_high_byte \
- SetReg_8Bits_(0x34) \
- data_16bit \
- SetReg_16Bits_(pc_high)\
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits_(pc_low) \
- TCLKset0 \
- addr_capture \
- TCLKset1 \
- TCLKset0 \
- cntrl_sig_high_byte \
- SetReg_8Bits_(0x24) \
- TCLKset1 \
- }
-
-#define SetPcXv2(Mova,X) { cntrl_sig_capture \
- SetReg_16Bits_(0x0000) \
- TCLKset0; \
- data_16bit \
- TCLKset1 \
- SetReg_16Bits(Mova) \
- TCLKset0 \
- cntrl_sig_16bit \
- SetReg_16Bits(0x1400) \
- data_16bit \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits(X) \
- TCLKset0 \
- TCLKset1 \
- SetReg_16Bits(0x4303) \
- TCLKset0 \
- addr_capture \
- SetReg_20Bits_(0x00000)}
-
-#define SyncJtag() { cntrl_sig_16bit \
- SetReg_16Bits(0x2401) \
- cntrl_sig_capture \
- i = 50; \
- do \
- { \
- SetReg_16Bits(0x0000) \
- i--; \
- } \
- /* \bugfix Günther - if lOut = 0xFFFF then timeout will never occur \
- causing the firmware to hang indefinately (as well as the DLL). \
- Added extra braces so that the timeout is honored */\
- while(((lOut == 0xFFFF) || !(lOut & 0x0200)) && i); \
- }
-
-#define SyncJtagX() { cntrl_sig_16bit \
- SetReg_16Bits(0x2401) \
- cntrl_sig_capture \
- SetReg_16Bits(0x0000) \
- TCLKset1 \
- if (!(lOut & 0x0200)) \
- { \
- cntrl_sig_high_byte \
- SetReg_8Bits(0x34) \
- eem_data_exchange32 \
- SetReg_32Bits_(0x89) \
- SetReg_32Bits(0) \
- eem_data_exchange32 \
- SetReg_32Bits_(0x88) \
- SetReg_32Bits(lOut|0x40) \
- eem_data_exchange32 \
- SetReg_32Bits_(0x88) \
- SetReg_32Bits(lOut) \
- } \
- cntrl_sig_capture \
- i = 50; \
- do \
- { \
- SetReg_16Bits(0x0000) \
- i--; \
- } \
- while(((lOut == 0xFFFF) || !(lOut & 0x0200)) && i);\
- }
-
-#define SyncJtagXv2() { cntrl_sig_16bit \
- SetReg_16Bits(0x1501) \
- cntrl_sig_capture \
- i = 50; \
- do \
- { \
- SetReg_16Bits(0x0000) \
- i--; \
- } \
- while(((lOut == 0xFFFF) || !(lOut & 0x0200)) && i); \
- }
-
-#define Shift_Bits(NumOfBits,TdiVal){\
- unsigned short tempVar; \
- if(TdiVal) \
- TDIset1; \
- else \
- TDIset0; \
- for(tempVar = NumOfBits;tempVar > 0; tempVar--)\
- {\
- TCKset0;\
- TCKset1;\
- }\
- }
-
-#define EnableLpmx5() { if(devicePowerSettings.powerTestReg3VMask) \
- { \
- test_reg_3V \
- SetReg_16Bits(0x0000); \
- \
- test_reg_3V \
- SetReg_16Bits_(lOut & \
- ~devicePowerSettings.powerTestReg3VMask|\
- devicePowerSettings.enableLpmx5TestReg3V)\
- \
- EDT_Delay_1ms(20); \
- } \
- \
- if(devicePowerSettings.powerTestRegMask) \
- { \
- test_reg \
- SetReg_32Bits(0x00000000); \
- \
- test_reg \
- SetReg_32Bits_(lOut_long & \
- ~devicePowerSettings.powerTestRegMask| \
- devicePowerSettings.enableLpmx5TestReg) \
- \
- EDT_Delay_1ms(20); \
- } \
- }
-
-#define DisableLpmx5() { if(devicePowerSettings.powerTestReg3VMask) \
- { \
- test_reg_3V \
- SetReg_16Bits(0x0000); \
- \
- test_reg_3V \
- SetReg_16Bits_(lOut & \
- ~devicePowerSettings.powerTestReg3VMask|\
- devicePowerSettings.disableLpmx5TestReg3V)\
- \
- EDT_Delay_1ms(20); \
- } \
- \
- if(devicePowerSettings.powerTestRegMask) \
- { \
- test_reg \
- SetReg_32Bits(0x00000000); \
- \
- test_reg \
- SetReg_32Bits_(lOut_long & \
- ~devicePowerSettings.powerTestRegMask| \
- devicePowerSettings.disableLpmx5TestReg)\
- \
- EDT_Delay_1ms(20); \
- } \
- }
+#pragma inline=forced
+short cntrl_sig_capture() { return _edt_Distinct_Methods.Instr(IR_CNTRL_SIG_CAPTURE); }
+
+#pragma inline=forced
+short cntrl_sig_high_byte() { return _edt_Distinct_Methods.Instr(IR_CNTRL_SIG_HIGH_BYTE); }
+
+#pragma inline=forced
+short cntrl_sig_16bit() { return _edt_Distinct_Methods.Instr(IR_CNTRL_SIG_16BIT); }
+
+#pragma inline=forced
+short cntrl_sig_release() { return _edt_Distinct_Methods.Instr(IR_CNTRL_SIG_RELEASE); }
+
+#pragma inline=forced
+short addr_16bit() { return _edt_Distinct_Methods.Instr(IR_ADDR_16BIT); }
+
+#pragma inline=forced
+short addr_capture() { return _edt_Distinct_Methods.Instr(IR_ADDR_CAPTURE); }
+
+#pragma inline=forced
+short data_16bit() { return _edt_Distinct_Methods.Instr(IR_DATA_16BIT); }
+
+#pragma inline=forced
+short data_capture() {return _edt_Distinct_Methods.Instr(IR_DATA_CAPTURE); }
+
+#pragma inline=forced
+short data_to_addr() { return _edt_Distinct_Methods.Instr(IR_DATA_TO_ADDR); }
+
+#pragma inline=forced
+short data_quick() { return _edt_Distinct_Methods.Instr(IR_DATA_QUICK); }
+
+#pragma inline=forced
+short config_fuses() { return _edt_Distinct_Methods.Instr(IR_CONFIG_FUSES); }
+#pragma inline=forced
+short eem_data_exchange() { return _edt_Distinct_Methods.Instr(IR_EMEX_DATA_EXCHANGE); }
+
+#pragma inline=forced
+short eem_data_exchange32() { return _edt_Distinct_Methods.Instr(IR_EMEX_DATA_EXCHANGE32); }
+
+#pragma inline=forced
+short eem_read_control() { return _edt_Distinct_Methods.Instr(IR_EMEX_READ_CONTROL); }
+
+#pragma inline=forced
+short eem_write_control() { return _edt_Distinct_Methods.Instr(IR_EMEX_WRITE_CONTROL); }
+
+#pragma inline=forced
+short eem_read_trigger() { return _edt_Distinct_Methods.Instr(IR_EMEX_READ_TRIGGER); }
+
+#pragma inline=forced
+short data_psa() { return _edt_Distinct_Methods.Instr(IR_DATA_PSA); }
+
+#pragma inline=forced
+short shift_out_psa() { return _edt_Distinct_Methods.Instr(IR_SHIFT_OUT_PSA); }
+
+#pragma inline=forced
+short flash_16bit_update() { return _edt_Distinct_Methods.Instr(IR_FLASH_16BIT_UPDATE); }
+
+#pragma inline=forced
+short jmb_exchange() { return _edt_Distinct_Methods.Instr(IR_JMB_EXCHANGE); }
+
+#pragma inline=forced
+short device_ip_pointer() { return _edt_Distinct_Methods.Instr(IR_DEVICE_ID);}
+
+#pragma inline=forced
+short core_ip_pointer() { return _edt_Distinct_Methods.Instr(IR_COREIP_ID);}
+
+#pragma inline=forced
+short jstate_read() { return _edt_Distinct_Methods.Instr(IR_JSTATE_ID);}
+
+#pragma inline=forced
+short test_reg() { return _edt_Distinct_Methods.Instr(IR_TEST_REG);}
+
+#pragma inline=forced
+short test_reg_3V() { return _edt_Distinct_Methods.Instr(IR_TEST_3V_REG);}
+
+#pragma inline=forced
+short prepare_blow() { return _edt_Distinct_Methods.Instr(IR_PREPARE_BLOW);}
+
+#pragma inline=forced
+short ex_blow() { return _edt_Distinct_Methods.Instr(IR_EX_BLOW);}
#define OUT1RDY 0x0008
#define OUT0RDY 0x0004
@@ -846,134 +280,680 @@ extern unsigned short setPCclockBeforeCapture;
#define OUTREQ 0x0004
#define INREQ 0x0001
-#define i_ReadJmbOut(X) { unsigned short sJMBINCTL; \
- unsigned short sJMBOUT0, sJMBOUT1; \
- sJMBINCTL = 0; \
- jmb_exchange \
- SetReg_16Bits(sJMBINCTL) \
- if(lOut & OUT1RDY) \
- { \
- sJMBINCTL |= JMB32B + OUTREQ; \
- SetReg_16Bits(sJMBINCTL) \
- SetReg_16Bits(0) \
- sJMBOUT0 = lOut; \
- SetReg_16Bits(0) \
- sJMBOUT1 = lOut; \
- X = ((unsigned long)sJMBOUT1<<16) + sJMBOUT0; \
- } \
- }
-
-#define i_WriteJmbIn(X) { unsigned short sJMBINCTL; \
- unsigned short sJMBIN0; \
- unsigned long Timeout = 0; \
- jtagMailboxIn = 0; \
- sJMBIN0 = (unsigned short)(X & 0x0000FFFF); \
- sJMBINCTL = INREQ; \
- jmb_exchange \
- do \
- { \
- SetReg_16Bits(0x0000) \
- Timeout++; \
- if(Timeout >= 3000) \
- { \
- jtagMailboxIn = 1; \
- break; \
- } \
- } \
- while(!(lOut & IN0RDY) && Timeout < 3000); \
- if(Timeout < 3000) \
- { \
- SetReg_16Bits(sJMBINCTL) \
- SetReg_16Bits(sJMBIN0) \
- } \
- }
-
-#define i_WriteJmbIn32(X,Y) { unsigned short sJMBINCTL; \
- unsigned short sJMBIN0,sJMBIN1; \
- unsigned long Timeout = 0; \
- jtagMailboxIn = 0; \
- sJMBIN0 = (unsigned short)(X & 0x0000FFFF); \
- sJMBIN1 = (unsigned short)(Y & 0x0000FFFF); \
- sJMBINCTL = JMB32B | INREQ; \
- jmb_exchange \
- do \
- { \
- SetReg_16Bits(0x0) \
- Timeout++; \
- if(Timeout >= 3000) \
- { \
- jtagMailboxIn = 1; \
- break; \
- } \
- } \
- while(!(lOut & IN1RDY) && Timeout < 3000); \
- if(Timeout < 3000) \
- { \
- sJMBINCTL = 0x11; \
- SetReg_16Bits(sJMBINCTL) \
- SetReg_16Bits(sJMBIN0) \
- SetReg_16Bits(sJMBIN1) \
- } \
- }
-
-
-#define i_InitStreamJmbIn32() { unsigned short sJMBINCTL; \
- unsigned long Timeout = 0; \
- jtagMailboxIn = 0; \
- jmb_exchange \
- do \
- { \
- SetReg_16Bits(0x0) \
- Timeout++; \
- if(Timeout >= 3000) \
- { \
- jtagMailboxIn = 1; \
- break; \
- } \
- } \
- while(!(lOut & IN1RDY) && Timeout < 3000); \
- if(Timeout < 3000) \
- { \
- sJMBINCTL = 0x11; \
- SetReg_16Bits(sJMBINCTL) \
- } \
- }
-
-#define i_StreamDataJmbIn32(X,Y) { unsigned short sJMBINCTL; \
- unsigned short sJMBIN0,sJMBIN1; \
- unsigned long Timeout = 0; \
- jtagMailboxIn = 0; \
- sJMBIN0 = (X ); \
- sJMBIN1 = (Y ); \
- Timeout =0; \
- sJMBINCTL = 0x11; \
- do \
- { \
- SetReg_16Bits(sJMBINCTL) \
- Timeout++; \
- } \
- while(!(lOut & IN1RDY)&& Timeout <1500); \
- Timeout =0; \
- do \
- { \
- SetReg_16Bits(sJMBIN0) \
- Timeout++; \
- } \
- while(lOut != 0xFFFF && Timeout <1500); \
- if(Timeout >= 1500){ \
- jtagMailboxIn = 1; \
- break; } \
- Timeout =0; \
- do \
- { \
- SetReg_16Bits(sJMBIN1) \
- Timeout++; \
- } \
- while(lOut != 0xFFFF && Timeout <1500); \
- if(Timeout >= 1500){ \
- jtagMailboxIn = 1; \
- break; } \
- }
+// JTAG logic functions
+#pragma inline=forced
+short isInstrLoad()
+{
+ cntrl_sig_capture();
+ if((SetReg_16Bits(0) & (CNTRL_SIG_INSTRLOAD | CNTRL_SIG_READ)) != (CNTRL_SIG_INSTRLOAD | CNTRL_SIG_READ))
+ {
+ return -1;
+ }
+ return 0;
+}
+
+#pragma inline=forced
+short instrLoad()
+{
+ unsigned short i = 0;
+
+ cntrl_sig_low_byte();
+ SetReg_8Bits(CNTRL_SIG_READ);
+ IHIL_Tclk(1);
+
+ for(i = 0; i < 10; i++)
+ {
+ if(isInstrLoad() == 0)
+ {
+ return 0;
+ }
+ IHIL_TCLK();
+ }
+ return -1;
+}
+
+#pragma inline=forced
+void halt_cpu()
+{
+ data_16bit();
+ SetReg_16Bits(0x3FFF);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2409);
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+void release_cpu()
+{
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ addr_capture();
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+unsigned short ReadMemWord(unsigned short address)
+{
+ unsigned short data = 0;
+ halt_cpu();
+ IHIL_Tclk(0);
+ addr_16bit();
+ SetReg_16Bits(address);
+ data_to_addr();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ data = SetReg_16Bits(0);
+ release_cpu();
+ return data;
+}
+
+#pragma inline=forced
+unsigned short ReadMemWordX(unsigned long address)
+{
+ unsigned short data = 0;
+ halt_cpu();
+ IHIL_Tclk(0);
+ addr_16bit();
+ SetReg_20Bits(address & 0xFFFFF);
+ data_to_addr();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ data = SetReg_16Bits(0);
+ release_cpu();
+ return data;
+}
+
+#pragma inline=forced
+unsigned short ReadMemWordXv2(unsigned long address)
+{
+ unsigned short data = 0;
+ IHIL_Tclk(0);
+ addr_16bit();
+ SetReg_20Bits(address & 0xFFFFF);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ data_capture();
+ data = SetReg_16Bits(0);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ return data;
+}
+
+#pragma inline=forced
+void WriteMemWord(unsigned short address, unsigned short data)
+{
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_low_byte();
+ SetReg_8Bits(0x08);
+ addr_16bit();
+ SetReg_16Bits(address);
+ data_to_addr();
+ SetReg_16Bits(data);
+ IHIL_Tclk(1);
+ release_cpu();
+}
+
+#pragma inline=forced
+void WriteMemWordX(unsigned long address, unsigned short data)
+{
+ halt_cpu();
+ IHIL_Tclk(0);
+ cntrl_sig_low_byte();
+ SetReg_8Bits(0x08);
+ addr_16bit();
+ SetReg_20Bits(address & 0xFFFFF);
+ data_to_addr();
+ SetReg_16Bits(data);
+ IHIL_Tclk(1);
+ release_cpu();
+}
+
+#pragma inline=forced
+void WriteMemWordXv2(unsigned long address, unsigned short data)
+{
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0500);
+ addr_16bit();
+ SetReg_20Bits(address);
+ IHIL_Tclk(1);
+ data_to_addr();
+ SetReg_16Bits(data);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+void WriteMemByte(unsigned long address, unsigned short data)
+{
+ halt_cpu();
+ IHIL_Tclk(0);
+ addr_16bit();
+ SetReg_16Bits(address);
+ data_to_addr();
+ SetReg_8Bits(data);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ release_cpu();
+}
+
+#pragma inline=forced
+unsigned short ReadCpuReg_uShort(unsigned short reg)
+{
+ short op = 0;
+ unsigned short data = 0;
+
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x3401);
+ data_16bit();
+ op = ((reg << 8) & 0x0F00) | 0x4082;
+ SetReg_16Bits(op);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ SetReg_16Bits(0x00fe);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ SetReg_16Bits(0);
+ data = SetReg_16Bits(0);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ IHIL_Tclk(1);
+ return data;
+}
+
+#pragma inline=forced
+unsigned short ReadCpuReg(unsigned short reg)
+{
+ short op = 0;
+ unsigned short data = 0;
+
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x3401);
+ data_16bit();
+ op = ((reg << 8) & 0x0F00) | 0x4082;
+ SetReg_16Bits(op);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ SetReg_16Bits(0x00fe);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ data = SetReg_16Bits(0);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ IHIL_Tclk(1);
+ return data;
+}
+
+#pragma inline=forced
+unsigned long ReadCpuRegX(unsigned short reg)
+{
+ short op = 0;
+ unsigned short Rx_l = 0;
+ unsigned short Rx_h = 0;
+
+ cntrl_sig_high_byte();
+ SetReg_16Bits(0x34);
+ op = ((reg << 8) & 0x0F00) | 0x60;
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(op);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(0x00fc);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ Rx_l = SetReg_16Bits(0);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ Rx_h = SetReg_16Bits(0);
+ IHIL_Tclk(0);
+ cntrl_sig_high_byte();
+ SetReg_8Bits(0x24);
+ IHIL_Tclk(1);
+ return ((unsigned long)Rx_h<<16) + Rx_l;
+}
+
+#pragma inline=forced
+unsigned long ReadCpuRegXv2(unsigned short reg)
+{
+ unsigned short Rx_l = 0;
+ unsigned short Rx_h = 0;
+ unsigned short jtagId = cntrl_sig_capture();
+ const unsigned short jmbAddr = (jtagId == 0x98) ? 0x14c : 0x18c;
+
+ IHIL_Tclk(0);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(reg);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x1401);
+ data_16bit();
+ IHIL_TCLK();
+ if (altRomAddressForCpuRead)
+ {
+ SetReg_16Bits(0x0ff6);
+ }
+ else
+ {
+ SetReg_16Bits(jmbAddr);
+ }
+ IHIL_TCLK();
+ SetReg_16Bits(0x3ffd);
+ IHIL_Tclk(0);
+ if (altRomAddressForCpuRead)
+ {
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ }
+ data_capture();
+ IHIL_Tclk(1);
+ Rx_l = SetReg_16Bits(0);
+ IHIL_TCLK();
+ Rx_h = SetReg_16Bits(0);
+ IHIL_TCLK();
+ IHIL_TCLK();
+ IHIL_TCLK();
+ if (!altRomAddressForCpuRead)
+ {
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ }
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ return((unsigned long)Rx_h<<16) + Rx_l;
+}
+
+#pragma inline=forced
+void WriteCpuReg(unsigned short reg, unsigned short data)
+{
+ unsigned short op = 0;
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x3401);
+ data_16bit();
+ op = (0x4030 | reg);
+ SetReg_16Bits(op);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ SetReg_16Bits(data);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ SetReg_16Bits(0x3ffd);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+void WriteCpuRegX(unsigned short mova, unsigned long data)
+{
+ unsigned short op = 0x0080 | mova | ((data >> 8) & 0x0F00);
+ cntrl_sig_high_byte();
+ SetReg_8Bits(0x34);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(op);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(data & 0xFFFF);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(0x3ffd);
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ cntrl_sig_high_byte();
+ SetReg_8Bits(0x24);
+ IHIL_Tclk(1);
+}
+
+// BUGFIX BTT1722 added
+#pragma inline=forced
+void WriteCpuRegXv2(unsigned short mova, unsigned short data)
+{
+ IHIL_Tclk(0);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(mova);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x1401);
+ data_16bit();
+ IHIL_TCLK();
+ SetReg_16Bits(data);
+ IHIL_TCLK();
+ SetReg_16Bits(0x3ffd);
+ IHIL_TCLK();
+ IHIL_Tclk(0);
+ addr_capture();
+ SetReg_20Bits(0x00000);
+ IHIL_Tclk(1);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x0501);
+ IHIL_TCLK();
+ IHIL_Tclk(0);
+ data_capture();
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+void SetPc(unsigned short pc)
+{
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x3401);
+ data_16bit();
+ SetReg_16Bits(0x4030);
+ IHIL_TCLK();
+ SetReg_16Bits(pc);
+ IHIL_TCLK();
+ addr_capture();
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+void SetPcJtagBug(unsigned short pc)
+{
+ data_16bit();
+ SetReg_16Bits(0x4030);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ SetReg_16Bits(pc);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+}
+
+#pragma inline=forced
+void SetPcX(unsigned long pc)
+{
+ unsigned short pc_high = (unsigned short)(0x80 | (((pc)>>8) & 0x0F00));
+ unsigned short pc_low = (unsigned short)((pc) & 0xFFFF);
+ cntrl_sig_high_byte();
+ SetReg_8Bits(0x34);
+ data_16bit();
+ SetReg_16Bits(pc_high);
+ IHIL_TCLK();
+ SetReg_16Bits(pc_low);
+ IHIL_TCLK();
+ addr_capture();
+ IHIL_Tclk(0);
+ cntrl_sig_high_byte();
+ SetReg_8Bits(0x24);
+ IHIL_Tclk(1);
+}
+
+#pragma inline=forced
+void SetPcXv2(unsigned short Mova, unsigned short pc)
+{
+ cntrl_sig_capture();
+ SetReg_16Bits(0x0000);
+ IHIL_Tclk(0);
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(Mova);
+ IHIL_Tclk(0);
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x1400);
+ data_16bit();
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ SetReg_16Bits(pc);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ SetReg_16Bits(0x4303);
+ IHIL_Tclk(0);
+ addr_capture();
+ SetReg_20Bits(0x00000);
+}
+
+#pragma inline=forced
+unsigned short SyncJtag()
+{
+ unsigned short lOut = 0, i = 50;
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ cntrl_sig_capture();
+ do
+ {
+ lOut = SetReg_16Bits(0x0000);
+ i--;
+ }
+ while(((lOut == 0xFFFF) || !(lOut & 0x0200)) && i);
+ if(!i)
+ {
+ return 0;
+ }
+ return lOut;
+}
+
+#pragma inline=forced
+void SyncJtagX()
+{
+ unsigned short lOut = 0, i = 50;
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x2401);
+ cntrl_sig_capture();
+ SetReg_16Bits(0x0000);
+ IHIL_Tclk(1);
+ if (!(lOut & 0x0200))
+ {
+ cntrl_sig_high_byte();
+ SetReg_8Bits(0x34);
+ eem_data_exchange32();
+ SetReg_32Bits(0x89);
+ SetReg_32Bits(0);
+ eem_data_exchange32();
+ SetReg_32Bits(0x88);
+ SetReg_32Bits(lOut|0x40);
+ eem_data_exchange32();
+ SetReg_32Bits(0x88);
+ SetReg_32Bits(lOut);
+ }
+ cntrl_sig_capture();
+ do
+ {
+ lOut = SetReg_16Bits(0x0000);
+ i--;
+ }
+ while(((lOut == 0xFFFF) || !(lOut & 0x0200)) && i);
+}
+
+#pragma inline=forced
+void SyncJtagXv2()
+{
+ unsigned short i = 50, lOut = 0 ;
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x1501);
+ cntrl_sig_capture();
+ do
+ {
+ lOut = SetReg_16Bits(0x0000);
+ i--;
+ }
+ while(((lOut == 0xFFFF) || !(lOut & 0x0200)) && i);
+}
+
+#pragma inline=forced
+unsigned short wait_for_synch()
+{
+ unsigned short i = 0;
+ cntrl_sig_capture();
+
+ while(!(SetReg_16Bits(0) & 0x0200) && i++ < 50);
+ if(i >= 50)
+ {
+ return 0;
+ }
+ return 1;
+}
+
+#pragma inline=forced
+void RestoreTestRegs()
+{
+ if(devicePowerSettings.powerTestReg3VMask)
+ {
+ test_reg_3V();
+ SetReg_16Bits(devicePowerSettings.powerTestReg3VDefault);
+ IHIL_Delay_1ms(20);
+ }
+ if(devicePowerSettings.powerTestRegMask)
+ {
+ test_reg();
+ SetReg_32Bits(devicePowerSettings.powerTestRegDefault);
+ IHIL_Delay_1ms(20);
+ }
+}
+
+#pragma inline=forced
+void EnableLpmx5()
+{
+ if(devicePowerSettings.powerTestReg3VMask)
+ {
+ unsigned short reg_3V = 0;
+ test_reg_3V();
+ reg_3V= SetReg_16Bits(devicePowerSettings.powerTestReg3VDefault);
+
+ SetReg_16Bits(reg_3V & ~devicePowerSettings.powerTestReg3VMask|
+ devicePowerSettings.enableLpmx5TestReg3V);
+
+ IHIL_Delay_1ms(20);
+ }
+
+ if(devicePowerSettings.powerTestRegMask)
+ {
+ unsigned long reg_test = 0;
+ test_reg();
+ reg_test = SetReg_32Bits(devicePowerSettings.powerTestRegDefault);
+
+ SetReg_32Bits(reg_test & ~devicePowerSettings.powerTestRegMask|
+ devicePowerSettings.enableLpmx5TestReg);
+
+ IHIL_Delay_1ms(20);
+ }
+}
+
+#pragma inline=forced
+void DisableLpmx5()
+{
+ if(devicePowerSettings.powerTestReg3VMask)
+ {
+ unsigned short reg_3V = 0;
+ test_reg_3V();
+ reg_3V = SetReg_16Bits(devicePowerSettings.powerTestReg3VDefault);
+
+ SetReg_16Bits(reg_3V & ~devicePowerSettings.powerTestReg3VMask|
+ devicePowerSettings.disableLpmx5TestReg3V);
+ IHIL_Delay_1ms(20);
+ }
+
+ if(devicePowerSettings.powerTestRegMask)
+ {
+ unsigned long reg_test = 0;
+ test_reg();
+ SetReg_32Bits(devicePowerSettings.powerTestRegDefault);
+
+ SetReg_32Bits(reg_test & ~devicePowerSettings.powerTestRegMask|
+ devicePowerSettings.disableLpmx5TestReg);
+
+ IHIL_Delay_1ms(20);
+ }
+}
+
+unsigned long i_ReadJmbOut();
+unsigned short i_ReadJmbOut16();
+
+short i_WriteJmbIn(unsigned short data);
+short i_WriteJmbIn32(unsigned short dataA, unsigned short dataB);
+
+short checkWakeup();
+short powerUpArm();
+
+
+#pragma inline=forced
+// -----------------------------------------------------------------------------
+void JTAG_PsaSetup(unsigned long StartAddr)
+{
+ data_16bit();
+ IHIL_Tclk(1);
+ SetReg_16Bits(MOV_IMM_PC);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ SetReg_16Bits(StartAddr - 2);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ IHIL_Tclk(1);
+ IHIL_Tclk(0);
+ addr_capture();
+ SetReg_16Bits(0x0000);
+}
+
+#pragma inline=forced
+// -----------------------------------------------------------------------------
+void JTAG_EnhancedPsaSetup(unsigned long StartAddr)
+{
+ halt_cpu();
+ IHIL_Tclk(0);
+ data_16bit();
+ SetReg_16Bits(StartAddr - 2);
+}
+
+#pragma inline=forced
+// -----------------------------------------------------------------------------
+void JTAG_PsaEnd(void)
+{
+ // Intentionally does nothing
+}
+
+#pragma inline=forced
+// -----------------------------------------------------------------------------
+void JTAG_EnhancedPsaEnd(void)
+{
+ release_cpu();
+ isInstrLoad();
+}
+
#endif
-// this last rising edge in the SetPc macro is required for debugging,
-// otherwise the EEM will trigger immediately on the instruction fetch signal
+
diff --git a/Bios/src/hil/ez_fet/arch.h b/Bios/src/hil/ez_fet/arch.h
new file mode 100644
index 0000000..737c1f7
--- /dev/null
+++ b/Bios/src/hil/ez_fet/arch.h
@@ -0,0 +1,164 @@
+/*
+ * arch.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file arch.h
+//! \brief
+//!
+#include "msp430.h"
+#define uController_uif
+
+#ifndef _UIFV1_ARCH_H_
+#define _UIFV1_ARCH_H_
+
+enum {JTAG = 0, SPYBIWIRE = 1, SPYBIWIREJTAG = 2, JTAGUNDEF = 4, SPYBIWIRE_SUBMCU = 5, SPYBIWIRE_MSP_FET=6, JTAG_432 = 7, SWD_432 = 8};
+
+
+typedef enum {
+ NO_SUPPLY = 0x04,
+ ET_OFF = 0x05,
+ ET_ON = 0x06,
+ LDO_OFF = 0x07,
+ ALL_OFF = 0x8,
+ LDO_ON = 0x09
+} vccSupply_t;
+
+#define RSTHIGH 0
+#define RSTLOW 1
+
+#define Invalid_Manufactor_IdCode 0x000000FEul
+#define Mask_Manufactor_IdCode 0x000000FEul
+
+#define ExtLimit 1700 // a level higher than this means external voltage available
+
+#define R27 250.0f // 250kOhm
+#define R28 250.0f // 250kOhm
+#define R29 500.0f // 500kOhm
+#define R30 500.0f // 500kOhm
+#define R31 250.0f // 250kOhm
+#define R32 150.0f // 150kOhm
+#define A_VREFPLUS 2.5f // conversion reference voltage Vref+=2.5V,
+
+#define DCDC_STATUS (P3IN & (BIT0+BIT1)) // Status bits from the DCDC Sub MCU
+
+// Calculate ExtVcc based on Vref+=2.5V, R27=250kOhm, R28=250kOhm
+// Calculate Vcc based on Vref+=2.5V, R29=500kOhm, R30=500kOhm
+
+#define A_VBUS 0 /* ADC12 Input Channel Select Bit 0 */
+#define A_VCCOUT 1 /* ADC12 Input Channel Select Bit 1 */
+#define A_VCCTARGET 2 /* ADC12 Input Channel Select Bit 2 */
+
+static const float ADC_CONV_RANGE = 4096;
+static const unsigned short ADC_AVERAGE = 1000;
+
+struct jtag
+{
+ unsigned char TCK;
+ unsigned char TMS;
+ unsigned char TDI;
+ unsigned char TDO;
+ unsigned char* In;
+ unsigned char* Out;
+ unsigned char RST;
+ unsigned char TST;
+ unsigned char* DIRECTION;
+};
+
+static const struct jtag _Jtag_SubMcu =
+{
+ 0, // TCK, P4.4 (out) (high)
+ 0, // TMS, P4.5 (out) (high)
+ 0, // TDI, P4.6 (out) (high)
+ 0, // TDO, P4.7 (in)
+ (unsigned char*)&P6IN, // JTAG input Register
+ (unsigned char*)&P6OUT, // JTAG output Register
+ (unsigned char)BIT6, // BIT6.6 RST
+ (unsigned char)BIT7, // BIT6.7 TST
+ (unsigned char*)&P6DIR // JTAG direction Register
+};
+
+//CONST_AT( struct jtag _Jtag, HAL_ADDR_CONST_JTAG) = {
+static const struct jtag _Jtag_Target =
+{
+ (unsigned char)BIT4, // TCK, P4.4 (out) (high)
+ (unsigned char)BIT5, // TMS, P4.5 (out) (high)
+ (unsigned char)BIT6, // TDI, P4.6 (out) (high)
+ (unsigned char)BIT7, // TDO, P4.7 (in)
+ (unsigned char*)&P4IN,
+ (unsigned char*)&P4OUT,
+ (unsigned char)BIT2, //RST
+ (unsigned char)BIT3, //TST
+ (unsigned char*)&P4DIR
+};
+
+#define VALID_DATA 0x1A
+#define SYNC_ONGOING 0x2A
+#define INVALID_DATA 0x3A
+#define JTAG_LOCKED 0x4A
+#define SYNC_BROKEN 0x5A
+
+#define BP_HIT_MASK_J 0x0400000000000000ull
+#define LPMX5_MASK_J 0x4000000000000000ull
+#define LPM4_1MASK_J 0x8000000000000000ull
+#define LPM4_2MASK_J 0x8300000000000000ull
+#define EIGHT_JSTATE_BITS 0x100000000000000ull
+
+#define JSTATE_FLOW_CONTROL_BITS 0xC7
+
+#define JSTATE_BP_HIT 0x4
+#define JSTATE_SYNC_ONGOING 0x83
+#define JSTATE_LOCKED_STATE 0x40
+#define JSTATE_INVALID_STATE 0x81
+#define JSTATE_LPM_ONE_TWO 0x82
+#define JSTATE_LPM_THREE_FOUR 0x80
+#define JSTATE_VALID_CAPTURE 0x03
+#define JSTATE_LPM_X_FIVE 0xC0
+
+
+#define JSTATE_SYNC_BROKEN_MASK 0xC3
+#define JSTATE_SYNC_BROKEN_PGACT 0x02
+#define JSTATE_SYNC_BROKEN_MCLK 0x01
+#define JSTATE_SYNC_BROKEN_MCLK_PGACT 0x00
+
+
+#define FET_TRUE 0x1
+#define FET_FALSE 0x0
+
+#define L092_MODE 0xA55AA55A
+#define C092_MODE 0x5AA55AA5
+
+#endif
+
+
diff --git a/Bios/src/hil/ez_fet/cstartup_hil.s43 b/Bios/src/hil/ez_fet/cstartup_hil.s43
new file mode 100644
index 0000000..7f94108
--- /dev/null
+++ b/Bios/src/hil/ez_fet/cstartup_hil.s43
@@ -0,0 +1,454 @@
+/* --------------------------------------------------------------------------
+* Copyright 2012, IAR Systems AB.
+*
+* This source code is the property of IAR Systems. The source code may only
+* be used together with the IAR Embedded Workbench. Redistribution and use
+* in source and binary forms, with or without modification, is permitted
+* provided that the following conditions are met:
+*
+* - Redistributions of source code, in whole or in part, must retain the
+* above copyright notice, this list of conditions and the disclaimer below.
+*
+* - IAR Systems name may not be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*
+*
+* $Revision: 5271 $
+* ------------------------------------------------------------------------*/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+#ifdef DISABLE_WATCHDOG
+#include "msp430.h"
+#endif
+
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+ // The CPU40 warning is issued when a Jxx instruction is place
+ // at the end of a segment part. However, this case is safe,
+ // as we have control of what will be placed right after the
+ // instruction.
+ SUPPRESS_CPU40_WARNING
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+
+// ---------------------------------------------------------
+// System initialization.
+//
+ RSEG DATA16_N
+saved_stack DS 2
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+#endif
+
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+
+ MOV SP, saved_stack
+
+ pushx R4
+ pushx R5
+ pushx R6
+ pushx R7
+ pushx R8
+ pushx R9
+ pushx R10
+ pushx R11
+ pushx R12
+ pushx R13
+ pushx R14
+ pushx R15
+
+ //MOV #SFE(CSTACK), SP
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XCALL #__low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ MOV #SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XCALL #__data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ MOVA #SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XCALL #__data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XCALL #__data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ MOV #SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XCALL #__data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XCALL #__data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ MOVA #SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XCALL #__data20_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+#endif // MSP430X
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+#ifdef REGISTER_MODEL_REG20
+
+ MOVA #SFB DIFUNCT, CW0
+ MOVA #SFE DIFUNCT, CW1
+
+#else /* REGISTER_MODEL_REG20 */
+
+ MOV.W #SFB DIFUNCT, CW0
+ MOV.W #SFE DIFUNCT, CW1
+
+#endif /* REGISTER_MODEL_REG20 */
+
+ XCALL #__call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+ EXTERN _hil_startUp
+ EXTERN exit
+
+?cstart_call_main:
+
+ popx R15
+ popx R14
+ popx R13
+ popx R12
+ popx R11
+ popx R10
+ popx R9
+ popx R8
+ popx R7
+ popx R6
+ popx R5
+ popx R4
+
+ //XCALL #_hil_startUp
+ movx.a #_hil_startUp, PC
+ MOV saved_stack,SP
+ //XRET // indicates that the normal
+ //XCALL #exit
+
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC16 __program_start
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// ?CPU30_OFFSET
+//
+// The compiler compensates for the CPU30 hardware bug by adding or
+// subtracting the symbol ?CPU30_OFFSET from certain immediates. Here,
+// it is defined to the default value zero (0), for when the device is
+// not affected by CPU30. If the device is affected, the value must be
+// set to two (2) using a linker command line override:
+//
+// -D?CPU30_OFFSET=2.
+//
+// The override is normally placed in the device-specific .xcl file.
+
+ MODULE ?cpu30_offset
+
+ PUBLIC ?CPU30_OFFSET
+
+?CPU30_OFFSET EQU 0
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/hil/ez_fet/hil.c b/Bios/src/hil/ez_fet/hil.c
new file mode 100644
index 0000000..59678a4
--- /dev/null
+++ b/Bios/src/hil/ez_fet/hil.c
@@ -0,0 +1,1189 @@
+/*
+ * hil.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hil.c
+//! \brief
+//!
+
+//! \page hil_page1 (HIL)
+//! \brief The HIL ...
+//! \author Berenbrinker Florian (01/01/2012)
+//!
+//! files \n
+//! \li hil.c
+//! \li hil_2w.c
+//! \li hil_4w.c
+//! \li hil_delays.s43
+//! \li hil_delays.h
+//! \li arch.h
+#include
+#include "hw_compiler_specific.h"
+#include "arch.h"
+#include "edt.h"
+#include "hilDelays.h"
+#include "error_def.h"
+#include "JTAG_defs.h"
+#include "../../fw/fet/FetVersion.h"
+
+#define HIL_SIGNATURE 0xF00DF00Dul
+
+//! \brief version of bios code
+const unsigned short hil_version_ @ "HILVERSION" = EZ_FET_HIL_VERSION;
+#pragma required=hil_version_
+const unsigned long hil_signature_ @ "HILSIGNATURE" = HIL_SIGNATURE;
+#pragma required=hil_signature_
+
+const unsigned short hil_versionCmp_ @ "HILVERSIONCMP" = EZ_FET_HIL_VERSION_CMP;
+#pragma required=hil_versionCmp_
+
+
+unsigned short gTclkHighWhilePsa;
+unsigned short bVccOn; // Target Vcc is switched off by default
+ // dependant on calls to _hil_SetVcc()
+
+unsigned short setPCclockBeforeCapture;
+unsigned short jtagReleased;
+
+
+unsigned short toolId;
+
+// function prototypes for map initialization
+// common HIL configuration methods
+short _hil_Init( void );
+short _hil_SetVcc(unsigned short Vcc);
+short _hil_GetVcc(double* Vcc, double* ExtVcc);
+short _hil_SetProtocol(unsigned short protocol_id);
+void _hil_SetPsaSetup(unsigned short enhanced);
+void _hil_SetPsaTCLK(unsigned short tclkValue);
+
+short _hil_Open( unsigned char state );
+short _hil_Close( void );
+short IccMonitor_Process(unsigned short flags); // flags: to be compatible with HIL calls
+void _hil_EntrySequences(unsigned char states);
+void _hil_BSL_EntrySequence1xx_4xx();
+
+void _hil_SetReset(unsigned char value);
+void _hil_SetTest(unsigned char value);
+void _hil_SetTMS(unsigned char value);
+void _hil_SetTCK(unsigned char value);
+void _hil_SetTDI(unsigned char value);
+
+void _hil_SetJtagSpeed(unsigned short jtagSpeed, unsigned short sbwSpeed);
+void _hil_ConfigureSetPc (unsigned short PCclockBeforeCapture);
+
+void _hil_SwitchVccFET(unsigned short switchVccFET);
+
+void _hil_SetToolID(unsigned short id);
+// protocol specific methods
+/*extern short _hil_4w_TapReset(void);
+extern short _hil_4w_CheckJtagFuse(void);
+extern unsigned short _hil_4w_EnumChain(void);
+extern unsigned char _hil_4w_Instr(unsigned char Instruction);
+extern unsigned char _hil_4w_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_4w_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_4w_SetReg_XBits20(unsigned long Data);
+extern unsigned long _hil_4w_SetReg_XBits32(unsigned long Data);
+extern unsigned long long _hil_4w_SetReg_XBits64(unsigned long long Data);
+extern void _hil_4w_Tclk(unsigned char state);
+extern void _hil_4w_StepPsa(unsigned long length);
+extern void _hil_4w_StepPsaTclkHigh(unsigned long length);
+extern short _hil_4w_BlowFuse(unsigned char targetHasTestVpp);*/
+//extern void _hil_4w_ConfigureSpeed(unsigned short speed);
+
+//SBW2 DMA
+extern short _hil_2w_TapReset_Dma(void);
+extern short _hil_2w_CheckJtagFuse_Dma(void);
+extern unsigned short _hil_2w_EnumChain_Dma(void);
+extern unsigned char _hil_2w_Instr_Dma(unsigned char Instruction);
+extern unsigned char _hil_2w_SetReg_XBits08_Dma(unsigned char Data);
+extern unsigned short _hil_2w_SetReg_XBits16_Dma(unsigned short Data);
+extern unsigned long _hil_2w_SetReg_XBits20_Dma(unsigned long Data);
+extern unsigned long _hil_2w_SetReg_XBits32_Dma(unsigned long Data);
+extern unsigned long long _hil_2w_SetReg_XBits64_Dma(unsigned long long Data);
+extern unsigned long long _hil_2w_SetReg_XBits8_64_Dma(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion);
+extern void _hil_2w_Tclk_Dma(unsigned char state);
+extern void _hil_2w_StepPsa_Dma(unsigned long length);
+extern void _hil_2w_StepPsaTclkHigh_Dma(unsigned long length);
+extern short _hil_2w_BlowFuse_Dma(unsigned char targetHasTestVpp);
+extern void _hil_2w_ConfigureSpeed_Dma(unsigned short speed);
+void _hil_2w_StepPsa_Dma_Xv2(unsigned long length);
+extern unsigned char _hil_2w_GetPrevInstruction_Dma();
+extern unsigned char DMA_TMSL_TDIL[];
+
+short _hil_dummy_TapReset(void) {return 0;}
+short _hil_dummy_CheckJtagFuse(void){return 0;}
+unsigned short _hil_dummy_EnumChain(void){return 0;}
+unsigned char _hil_dummy_Instr(unsigned char Instruction){return 0;}
+unsigned char _hil_dummy_SetReg_XBits08(unsigned char Data){return 0;}
+unsigned short _hil_dummy_SetReg_XBits16(unsigned short Data){return 0;}
+unsigned long _hil_dummy_SetReg_XBits20(unsigned long Data){return 0;}
+unsigned long _hil_dummy_SetReg_XBits32(unsigned long Data){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits64(unsigned long long Data){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion){return 0;}
+void _hil_dummy_Tclk(unsigned char state){return;}
+void _hil_dummy_StepPsa(unsigned long length){return;}
+void _hil_dummy_StepPsaTclkHigh(unsigned long length){return;}
+short _hil_dummy_BlowFuse(unsigned char targetHasTestVpp){return 0;}
+void _hil_dummy_StepPsa_Xv2(unsigned long length){return;}
+unsigned char _hil_dummy_GetPrevInstruction(){return 0;}
+short _dummy_regulateVcc(void) { return 0; }
+
+// PSA distinct methods
+void _hil_EnhancedPsaSetup(unsigned long address);
+void _hil_PsaSetup(unsigned long address);
+void _hil_EnhancedPsaEnd(void);
+void _hil_PsaEnd(void);
+void _hil_Release(void);
+void _hil_initTimerB0(void);
+void _hil_BSL_EntrySequence(unsigned short dummy);
+static void _hil_Connect(unsigned char state);
+
+extern void initJtagSbw2Dma(struct jtag tmp);
+//extern void initJtagSbw4(struct jtag tmp);
+
+
+edt_common_methods_t _edt_Common_Methods;
+edt_distinct_methods_t _edt_Distinct_Methods;
+
+static struct jtag _Jtag =
+{
+ 0, // TCK, P4.4 (out) (high)
+ 0, // TMS, P4.5 (out) (high)
+ 0, // TDI, P4.6 (out) (high)
+ 0, // TDO, P4.7 (in)
+ 0,
+ 0,
+ 0, //RST
+ 0, //TST
+ 0
+};
+
+unsigned short gprotocol_id;
+static unsigned short hil_sbw2Speed_;
+
+#pragma inline=forced
+void RSTset1()
+{
+ { (*_Jtag.Out) |= _Jtag.RST; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void RSTset0()
+{
+ { (*_Jtag.Out) &= ~_Jtag.RST; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TSTset1()
+{
+ { (*_Jtag.Out) |= _Jtag.TST;}
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TSTset0()
+{
+ {(*_Jtag.Out) &= ~_Jtag.TST; }
+ _hil_Delay_1ms(5);
+}
+//#pragma inline=forced
+void TCLKset1()
+{
+ _edt_Distinct_Methods.Tclk(1);
+}
+
+//#pragma inline=forced
+void TCLKset0()
+{
+ _edt_Distinct_Methods.Tclk(0);
+}
+#pragma inline=forced
+void TCLK()
+{
+ TCLKset0();
+ TCLKset1();
+}
+
+#define CAL_ADC_GAIN_FACTOR *((unsigned short *)0x1A16)
+#define CAL_ADC_OFFSET *((short *)0x1A18)
+
+/*----------------------------------------------------------------------------
+ This function performs a single AD conversion on the selected pin.
+ Uses internal reference 2500mV (VR+ = VREF+).
+ Arguments: word pinmask (bit position of selected analog input Ax)
+ Result: word (12 bit ADC conversion result)
+*/
+static float ConvertAD(short channel)
+{
+ volatile unsigned long notCalibratedAdc = 0;
+
+ ADC12CTL0 &= ~ADC12ENC; // Disable conversion, write controls
+ ADC12MCTL0 = ADC12SREF_1 + channel; // select Vref and analog channel Ax
+ ADC12CTL0 |= ADC12ENC; // Enable conversions
+ ADC12CTL0 |= ADC12SC; // Start conversions
+ while ((ADC12IFG & BIT0) == 0); // wait until conversion is done
+
+ notCalibratedAdc = ADC12MEM0;
+ notCalibratedAdc = ((notCalibratedAdc * CAL_ADC_GAIN_FACTOR) / 32768) + (long)CAL_ADC_OFFSET;
+
+ return(((float)ADC12MEM0* A_VREFPLUS) / ADC_CONV_RANGE); // return conversion result from MEM0 value in mv
+}
+
+static int SetVCoreUp (unsigned short level)
+{
+ // Open PMM registers for write access
+ PMMCTL0_H = 0xA5;
+ // Set SVS/SVM high side new level
+ SVSMHCTL = SVSHE + SVSHRVL0 * level + SVMHE + SVSMHRRL0 * level;
+ // Set SVM low side to new level
+ SVSMLCTL = SVSLE + SVMLE + SVSMLRRL0 * level;
+ // Wait till SVM is settled
+ while ((PMMIFG & SVSMLDLYIFG) == 0);
+ // Clear already set flags
+ PMMIFG &= ~(SVMLVLRIFG + SVMLIFG);
+ // Set VCore to new level
+ PMMCTL0_L = PMMCOREV0 * level;
+ // Wait till new level reached
+ if ((PMMIFG & SVMLIFG))
+ while ((PMMIFG & SVMLVLRIFG) == 0);
+ // Set SVS/SVM low side to new level
+ SVSMLCTL = SVSLE + SVSLRVL0 * level + SVMLE + SVSMLRRL0 * level;
+ // Lock PMM registers for write access
+ PMMCTL0_H = 0x00;
+
+ return 0;
+}
+
+void _hil_Init_Stand_Alone( void )
+{
+ // Stop watchdog timer to prevent time out reset
+
+ SetVCoreUp(2);
+ __delay_cycles(30000);
+
+ //****** WE ARE NOT USING XT1 top source the clock **********
+
+ UCSCTL5 = 0; // DIVPA, DIVA, DIVS, DIVM -> all direct (DIV=1)
+ P5SEL = BIT2+BIT3; // XT2 SELECT BITS
+ UCSCTL6 &=~XT2OFF; // XT2 ON
+ UCSCTL3 = SELREF_2; // DCO SELECTION
+
+ //Loop until XT1,XT2 & DCO stabilizes
+ UCSCTL4 |= SELA__REFOCLK + SELA__XT2CLK; // SELECT ACLK_XT1 AND SMCLK_XT2 TO AVOID OSCILLATOR FAULT FLAG XT1OIFG
+ do
+ {
+ UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG /*+ XT1HFOFFG*/ + DCOFFG); //Clear XT2,XT1,DCO fault flags
+ SFRIFG1 &= ~OFIFG; //Clear fault flags
+ }
+ while( SFRIFG1 & OFIFG );
+
+
+ __bis_SR_register(SCG0); // disable the FLL for config
+ UCSCTL1 = DCORSEL_6; // DCO-freq range up to min 39MHz (must be higher then 18MHz*2 = 36 MHz)
+ UCSCTL2 = FLLD0 + 9*FLLN0; //DCO-DIV/2 + PLL MULTI*(9+1), freq = 10*2 = 20 MHz
+ UCSCTL3 = SELREF_5+FLLREFDIV_2; //Reference - XT2-CLK, XT2/2 = 2MHz
+ __bic_SR_register(SCG0); // Enable the FLL control loop after config
+
+ //Loop until XT1,XT2 & DCO stabilizes
+ do
+ {
+ UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG /*+ XT1HFOFFG*/ + DCOFFG); //Clear XT2,XT1,DCO fault flags
+ SFRIFG1 &= ~OFIFG; //Clear fault flags
+ }
+ while( SFRIFG1 & OFIFG );
+ __delay_cycles(60000);
+
+ UCSCTL4 = SELA__XT2CLK + SELS__DCOCLK + SELM__DCOCLK ;//SELM__DCOCLKDIV; //SELM__DCOCLK;// + SELM__DCOCLKDIV;
+
+ // Enable Vref=2.5V for ADC
+ REFCTL0 |= REFMSTR;
+ REFCTL0 |= REFVSEL1;
+ REFCTL0 |= REFON;
+
+ // Configure ADC12
+ // select channel and do conversion
+ ADC12CTL0 = ADC12ON + ADC12SHT0_10 + ADC12REF2_5V + ADC12REFON + ADC12MSC; // Turn on ADC12, set sampling time
+ ADC12CTL1 = ADC12SHP + ADC12CONSEQ_1 + ADC12SSEL_3 + ADC12DIV_7; // Use sampling timer
+
+ ADC12MCTL0 = ADC12SREF_1 + 0; // select Vref and analog channel A0
+ __delay_cycles((15*90));
+ ADC12CTL0 |= ADC12ENC; // Enable conversion
+
+ // set default debug protocol to JTAG
+ gprotocol_id = SPYBIWIRE;
+ // set default to TCLK low when doing PSA
+ gTclkHighWhilePsa = 0;
+ // initialize function pointers to distinct functions
+ _hil_SetProtocol(SPYBIWIRE);
+
+ toolId = 0;
+}
+
+static void _hil_initEdtCommenMethods()
+{
+ _edt_Common_Methods.Init = _hil_Init;
+
+ _edt_Common_Methods.SetVcc = _hil_SetVcc;
+ _edt_Common_Methods.GetVcc = _hil_GetVcc;
+
+ _edt_Common_Methods.SetProtocol = _hil_SetProtocol;
+ _edt_Common_Methods.SetPsaTCLK = _hil_SetPsaTCLK;
+
+ _edt_Common_Methods.Open = _hil_Open;
+ _edt_Common_Methods.Close = _hil_Close;
+
+ _edt_Common_Methods.Delay_1us = _hil_Delay_1us;
+ _edt_Common_Methods.Delay_1ms = _hil_Delay_1ms;
+
+ _edt_Common_Methods.Loop = 0;
+
+ _edt_Common_Methods.EntrySequences = _hil_EntrySequences;
+
+ _edt_Common_Methods.SetReset = _hil_SetReset;
+ _edt_Common_Methods.SetTest = _hil_SetTest;
+ _edt_Common_Methods.SetTMS = _hil_SetTMS;
+ _edt_Common_Methods.SetTCK = _hil_SetTCK;
+ _edt_Common_Methods.SetTDI = _hil_SetTDI;
+
+ _edt_Common_Methods.SetJtagSpeed = _hil_SetJtagSpeed;
+
+ _edt_Common_Methods.ConfigureSetPc = _hil_ConfigureSetPc;
+ _edt_Common_Methods.initDelayTimer = _hil_initTimerB0;
+
+ _edt_Common_Methods.BSL_EntrySequence = _hil_BSL_EntrySequence;
+ _edt_Common_Methods.BSL_EntrySequence1xx_4xx = _hil_BSL_EntrySequence1xx_4xx;
+ _edt_Common_Methods.regulateVcc = _dummy_regulateVcc;
+
+ _edt_Common_Methods.SwitchVccFET = _hil_SwitchVccFET;
+ _edt_Common_Methods.SetToolID = _hil_SetToolID;
+
+}
+
+void _hil_SetToolID(unsigned short id)
+{
+ toolId = id;
+}
+
+
+void _hil_getEdtDistinct(edt_distinct_methods_t* edt_distinct);
+void _hil_getEdtCommen(edt_common_methods_t* edt_commen);
+
+#pragma required=_hil_getEdtDistinct
+#pragma required=_hil_getEdtCommen
+
+void _hil_startUp()
+{
+ _hil_initEdtCommenMethods();
+ _edt_Common_Methods.Init();
+
+ // DMA4 workaround
+ DMACTL4 |= DMARMWDIS;
+
+ return;
+}
+#pragma location="INFO_C_DISTINCT"
+void _hil_getEdtDistinct(edt_distinct_methods_t* edt_distinct)
+{
+ *edt_distinct = _edt_Distinct_Methods;
+ if(edt_distinct!= 0)
+ {
+ return;
+ }
+}
+
+#pragma location="INFO_C_COMMEN"
+void _hil_getEdtCommen(edt_common_methods_t* edt_commen)
+{
+ *edt_commen = _edt_Common_Methods;
+ if(edt_commen != 0)
+ {
+ return;
+ }
+}
+
+void _hil_initTimerB0(void)
+{
+ // Setup timer_A for hardware delay
+ TB0CTL = 0; // STOP Timer
+ TB0CTL = ID__8 +TBSSEL__SMCLK; // Timer_B source:SMCLK ,SMCLK/0 = 20
+ TB0CCR0 = 0xc6c; // Load CCR0 with delay... (1ms delay)
+ TB0CCTL0 &= ~CCIE;
+}
+
+void _hil_BSL_EntrySequence1xx_4xx()
+{
+ _hil_BSL_EntrySequence(0);
+}
+
+// -----------------------------------------------------------------------------
+void _hil_BSL_EntrySequence(unsigned short dummy)
+{
+ // set Default state of RST and TST
+ (*_Jtag.Out) |= _Jtag.TST;
+ _hil_Delay_1ms(1);
+ RSTset1();
+
+ // INIT phase
+ TSTset0();
+ _hil_Delay_1ms(100);
+
+ RSTset0(); // set RST 0
+ _hil_Delay_1ms(100);
+
+ TSTset1(); // set test to 1
+ _hil_Delay_1ms(100);
+
+ /*this is the first pulse keep it low for less than 15us */
+ (*_Jtag.Out) &= ~_Jtag.TST;
+ _hil_Delay_1us(10);
+ TSTset1(); // set test 1;
+
+ _hil_Delay_1ms(100);
+ RSTset1(); // set RST 1;
+ _hil_Delay_1ms(100);
+ TSTset0(); // set test 0;
+ _hil_Delay_1ms(100);
+}
+
+// -----------------------------------------------------------------------------
+void hil_initTimerA0(void)
+{
+ // Setup time_A0 for timestamping
+ TA0CTL = MC__STOP; // STOP Timer
+ TA0CCR0 = 0xFFFF; // TimerA2 Period
+ TA0CTL = ID__8 + TASSEL__SMCLK; // Timer_A0 source:SMCLK/8 = 25 / 8 = 3.125 MHz = 1/320ns
+ TA0EX0 = 1; // Timer_A0 set additional divider to /2
+ TA0CTL |= TACLR + MC__CONTINOUS + TAIE; // START the timer in free-running mode
+}
+
+// -----------------------------------------------------------------------------
+void hil_initTimerA2(void)
+{
+ // Setup timer_A2 for current pulse measurement
+ P2DIR &= ~(1<<2); // P2.2 input
+ P2SEL |= (1<<2); // Select pin
+ TA2CTL = MC__STOP; // STOP Timer
+ TA2CCR0 = 0xFFFF; // TimerA2 Period
+ TA2CTL = TASSEL__TACLK + MC_2 + TAIE; // Timer_A2 source
+}
+
+// -----------------------------------------------------------------------------
+
+static vccSupply_t lastSupply = NO_SUPPLY;
+
+
+#pragma optimize = low
+short _hil_Init( void )
+{
+ hil_initTimerA0(); // TimeStamp
+ hil_initTimerA2(); // Current pulse counter
+ _hil_initTimerB0(); // Delay loop timer
+
+ // Enable Vref=2.5V for ADC
+ REFCTL0 |= REFMSTR;
+ REFCTL0 |= REFVSEL1;
+ REFCTL0 |= REFON;
+
+ // Configure ADC12
+ // select channel and do conversion
+ ADC12CTL0 = ADC12ON + ADC12SHT02; // Turn on ADC12, set sampling time
+ ADC12CTL1 = ADC12SHP; // Use sampling timer
+ ADC12MCTL0 = ADC12SREF_1 + 0; // select Vref and analog channel A0
+ __delay_cycles((15*90));
+ ADC12CTL0 |= ADC12ENC; // Enable conversion
+
+ DMACTL2 = 0;
+ DMACTL1 = 0;
+
+ //make sure that ET is on
+ P2DIR |= BIT0;
+ P2OUT |= BIT0;
+
+ lastSupply = ET_ON;
+
+ // set default debug protocol to JTAG
+ gprotocol_id = SPYBIWIRE;
+ // set default to TCLK low when doing PSA
+ gTclkHighWhilePsa = 0;
+ // initialize function pointers to distinct functions
+ _hil_SetProtocol(SPYBIWIRE);
+
+ jtagReleased = 1;
+
+ return 0;
+}
+
+#pragma optimize = low
+void _hil_SwitchVccFET(unsigned short switchVccFET)
+{
+
+ if(toolId == eZ_FET_WITH_DCDC_V2x)
+ {
+ _DINT_FET();
+ vccSupply_t type = (vccSupply_t)switchVccFET;
+ if(type == ET_ON)
+ {
+ P2DIR |= (BIT0|BIT1);
+ if(lastSupply == LDO_ON)
+ {
+ // Switch ET on the power switch
+ P2OUT |= BIT0;
+ // Switch LDO off on the power switch
+ P2OUT &= ~BIT1;
+ }
+ else
+ {
+ // Switch LDO off on the power switch
+ P2OUT &= ~BIT1;
+ // Switch ET on the power switch
+ P2OUT |= BIT0;
+ }
+ //LDO LED OFF
+ P1DIR &= ~BIT4;
+ P1OUT &= ~BIT4;
+ lastSupply = type;
+ }
+ else if(type == ALL_OFF)
+ {
+ // Turn off the Power switch
+ P2DIR &= ~(BIT0|BIT1);
+ P2OUT &= ~(BIT0|BIT1);
+
+ //LED LDO off
+ P1OUT &= ~BIT4;
+ _hil_Release();
+ lastSupply = type;
+ }
+ else if(type == LDO_ON)
+ {
+ // Switch LDO on the power switch
+ P2DIR |= (BIT0|BIT1);
+ if(lastSupply == ET_ON)
+ {
+ // Switch LDO ON on the power switch
+ P2OUT |= BIT1;
+ // Switch ET off on the power switch
+ P2OUT &= ~BIT0;
+ }
+ else
+ {
+ // Switch LDO ON on the power switch
+ P2OUT |= BIT1;
+ // Switch ET off on the power switch
+ P2OUT &= ~BIT0;
+ }
+ //LDO LED ON
+ P1DIR |= BIT4;
+ P1OUT |= BIT4;
+ lastSupply = type;
+ }
+ else
+ {
+ // Turn off the Power switch
+ P2DIR &= ~(BIT0|BIT1);
+ P2OUT &= ~(BIT0|BIT1);
+
+ //LED LDO off
+ P1OUT &= ~BIT4;
+ _hil_Release();
+ lastSupply = NO_SUPPLY;
+ }
+ _EINT_FET();
+ }
+ else
+ {
+ if(switchVccFET == LDO_ON || switchVccFET == ET_ON)
+ {
+ _hil_SetVcc(3300);
+ }
+ else
+ {
+ _hil_SetVcc(0);
+ }
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+short _hil_SetVcc(unsigned short Vcc)
+{
+ if(Vcc)
+ { // Turn on the power switch
+ P2DIR &= ~BIT1;
+ P2DIR |= BIT0;
+ P2OUT |= BIT0;
+ }
+ else
+ { // Turn off the Power switch
+ P2DIR &= ~(BIT0|BIT1);
+ P2OUT &= ~(BIT0|BIT1);
+
+ _hil_Release();
+ }
+ return 0;
+}
+// -----------------------------------------------------------------------------
+
+// Calculate ExtVcc based on Vref+=2.5V, R27=250kOhm, R28=250kOhm
+// Calculate Vcc based on Vref+=2.5V, R29=500kOhm, R30=500kOhm
+// Calculate VBus based on Vref+=2.5V, R31=250kOhm, R32=150kOhm
+
+#define R31 250.0f // 250kOhm
+#define R32 150.0f // 150kOhm
+short _hil_GetVBus(float* VccVBus)
+{
+ unsigned short i = 0;
+ float vbus_mv = 0, vbus_mv0 = 0;
+ for (i=0; i TEST pin to 0, no change on RST pin
+ // for 4-wire JTAG clear Test pin
+ TSTset0(); //5
+
+ // phase 3
+ RSTset0(); //6
+ _hil_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for 4-wire JTAG
+ TSTset1();//7
+ _hil_Delay_1us(60);
+
+ // phase 5
+ _hil_Delay_1ms(5);
+}
+
+/*-------------RstHigh_JTAG--------------
+ ________ __________
+Test ______| |_________|
+ _______ ______
+Rst____| |_________________|
+----------------------------------------*/
+
+INLINE(forced)
+static void _hil_EntrySequences_RstHigh_JTAG()
+{
+ TSTset0(); //1
+ _hil_Delay_1ms(4); // reset TEST logic
+
+ RSTset1(); //2
+
+ TSTset1(); //3
+ _hil_Delay_1ms(20); // activate TEST logic
+
+ // phase 1
+ RSTset0(); //4
+ _hil_Delay_1us(60);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for 4-wire JTAG clear Test pin
+ TSTset0(); //5
+
+ // phase 3
+ _hil_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for 4-wire JTAG
+ TSTset1();//7
+ _hil_Delay_1us(60);
+
+ // phase 5
+ RSTset1();
+ _hil_Delay_1ms(5);
+}
+
+/*-------------RstHigh_SBW---------------
+ ________ __________
+Test ______| |_________|
+ _________________________________
+Rst____|
+----------------------------------------*/
+INLINE(forced)
+static void _hil_EntrySequences_RstHigh_SBW()
+{
+ TSTset0(); //1
+ _hil_Delay_1ms(4); // reset TEST logic
+
+ RSTset1(); //2
+
+ TSTset1(); //3
+ _hil_Delay_1ms(20); // activate TEST logic
+
+ // phase 1
+ RSTset1(); //4
+ _hil_Delay_1us(60);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for Spy-Bi-Wire
+ _DINT_FET();
+ (*_Jtag.Out) &= ~_Jtag.TST; //5
+
+ // phase 3
+ _hil_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for Spy-Bi-Wire
+ (*_Jtag.Out) |= _Jtag.TST; //7
+ _EINT_FET();
+ _hil_Delay_1us(60);
+
+ // phase 5
+ _hil_Delay_1ms(5);
+}
+
+/*-------------RstLow_SBW----------------
+ ________ __________
+Test ______| |_________|
+ __________________________
+Rst__________|
+----------------------------------------*/
+INLINE(forced)
+static void _hil_EntrySequences_RstLow_SBW()
+{
+ TSTset0(); //1
+ _hil_Delay_1ms(4); // reset TEST logic
+
+ RSTset0(); //2
+
+ TSTset1(); //3
+ _hil_Delay_1ms(20); // activate TEST logic
+
+ // phase 1
+ RSTset1(); //4
+ _hil_Delay_1us(60);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for Spy-Bi-Wire
+ _DINT_FET();
+ (*_Jtag.Out) &= ~_Jtag.TST; //5
+
+ // phase 3
+ _hil_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for Spy-Bi-Wire
+ (*_Jtag.Out) |= _Jtag.TST; //7
+ _EINT_FET();
+ _hil_Delay_1us(60);
+
+ // phase 5
+ _hil_Delay_1ms(5);
+}
+
+void _hil_EntrySequences(unsigned char states)
+{
+ switch(gprotocol_id)
+ {
+ case SPYBIWIRE:
+ if (states == RSTLOW)
+ {
+ _hil_EntrySequences_RstLow_SBW();
+ }
+ if (states == RSTHIGH)
+ {
+ _hil_EntrySequences_RstHigh_SBW();
+ }
+ break;
+
+ case SPYBIWIREJTAG:
+ if (states == RSTLOW)
+ {
+ _hil_EntrySequences_RstLow_JTAG();
+ }
+ if (states == RSTHIGH)
+ {
+ _hil_EntrySequences_RstHigh_JTAG();
+ }
+ break;
+
+ default:
+ if (states == RSTLOW)
+ {
+ RSTset0();
+ TSTset1();
+ }
+ if (states == RSTHIGH)
+ {
+ TSTset1();
+ }
+ break;
+ }
+}
+
+// -----------------------------------------------------------------------------
+static void _hil_Connect(unsigned char state)
+{
+ if(jtagReleased)
+ {
+ _hil_SetProtocol(gprotocol_id);
+ }
+
+ if(state == RSTHIGH)
+ {
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ qDriveSbw();
+ _hil_Delay_1ms(1);
+ _hil_EntrySequences_RstHigh_SBW();
+ }
+ else
+ {
+ qDriveSbw();
+ _hil_Delay_1ms(1);
+ if(gprotocol_id == SPYBIWIREJTAG)
+ {
+ _hil_EntrySequences_RstHigh_JTAG();
+ }
+ else
+ {
+ TSTset1();
+ }
+ }
+ }
+ else // state == RSTLOW
+ {
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ qDriveSbw();
+ _hil_Delay_1ms(1);
+ _hil_EntrySequences_RstLow_SBW();
+ }
+ else
+ {
+ qDriveSbw();
+ _hil_Delay_1ms(1);
+ if(gprotocol_id == SPYBIWIREJTAG)
+ {
+ _hil_EntrySequences_RstLow_JTAG();
+ }
+ else
+ {
+ TSTset1();
+ }
+ }
+ }
+ jtagReleased = 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_Open( unsigned char state)
+{
+ _hil_Connect(state);
+ return 0;
+}
+// -----------------------------------------------------------------------------
+short _hil_Close( void )
+{
+ _hil_Release();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+
+void _hil_SetJtagSpeed(unsigned short jtagSpeed, unsigned short sbwSpeed)
+{
+ if(sbwSpeed)
+ {
+ hil_sbw2Speed_ = sbwSpeed;
+ _hil_2w_ConfigureSpeed_Dma(sbwSpeed);
+ }
+}
+
+// -----------------------------------------------------------------------------
+
+void _hil_ConfigureSetPc (unsigned short PCclockBeforeCapture)
+{
+ setPCclockBeforeCapture = PCclockBeforeCapture;
+}
+
+
+// -----------------------------------------------------------------------------
+void SetVFuse(void)
+{
+ return;
+}
+
+// -----------------------------------------------------------------------------
+void SetVpp(long voltage)
+{
+ return;
+}
+
+// -----------------------------------------------------------------------------
+void testVpp(unsigned char mode)
+{
+ return;
+}
+
+
+// -----------------------------------------------------------------------------
+void _hil_SetReset(unsigned char value)
+{
+ if(value)
+ {
+ RSTset1();
+ }
+ else
+ {
+ RSTset0();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTest(unsigned char value)
+{
+ if(value)
+ {
+ TSTset1();
+ }
+ else
+ {
+ TSTset0();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTMS(unsigned char value)
+{
+ //this function is not use
+}
+
+void _hil_SetTCK(unsigned char value)
+{
+ //this function is not use
+}
+
+void _hil_SetTDI(unsigned char value)
+{
+ //this function is not use
+}
+/* EOF */
diff --git a/Bios/src/hil/ez_fet/hilDelays.c b/Bios/src/hil/ez_fet/hilDelays.c
new file mode 100644
index 0000000..64b2faa
--- /dev/null
+++ b/Bios/src/hil/ez_fet/hilDelays.c
@@ -0,0 +1,56 @@
+/*
+ * hilDelays.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "MSP430F5528.h"
+
+void _hil_Delay_1ms(unsigned short millisec) // inner loop generates 1 ms
+{
+ unsigned short i;
+ for(i = millisec; i > 0; i--)
+ {
+ TB0CCTL0 &= ~CCIFG; // Clear the interrupt flag
+ TB0CTL |= TBCLR+ MC__UP; // Timer_A source:SMCLK ,SMCLK/8 = 2.5 MHz
+ while ((TB0CCTL0 & CCIFG)==0); // Wait until the Timer elapses
+ TB0CTL &= ~MC__UP;
+ }
+}
+
+void _hil_Delay_1us(unsigned short microsec_1) // inner loop generates 10 us
+{
+ while((--microsec_1) > 0)
+ {
+ __delay_cycles(15);
+ }
+}
diff --git a/Bios/src/hil/ez_fet/hilDelays.h b/Bios/src/hil/ez_fet/hilDelays.h
new file mode 100644
index 0000000..1d755bd
--- /dev/null
+++ b/Bios/src/hil/ez_fet/hilDelays.h
@@ -0,0 +1,42 @@
+/*
+ * hilDelays.h
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hilDelays.h
+//! \brief
+//!
+
+extern void _hil_Delay_1us(unsigned short usecs);
+extern void _hil_Delay_1ms(unsigned short msecs);
diff --git a/Bios/src/hil/fet_generic/hil_2w.c b/Bios/src/hil/fet_generic/hil_2w.c
new file mode 100644
index 0000000..650fca9
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_2w.c
@@ -0,0 +1,441 @@
+/*
+ * hil_w2.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hil_2w.c
+//! \brief
+//!
+
+#include "hw_compiler_specific.h"
+//#include "HilGlobalVars.h"
+#include "arch.h"
+#include "hilDelays.h"
+#include "JTAG_defs.h"
+
+//#define sbwdato _Jtag.RST
+//#define sbwclk _Jtag.TST
+//#define sbwdati _Jtag.RST
+
+
+//VAR_AT(
+unsigned short TCLK_saved;//, HIL_ADDR_VAR_TCLK_SAVED);
+
+void _hil_2w_Tclk(unsigned char state);
+
+//! \ingroup MODULHIL
+//! \file hil_2w.c
+//! \brief
+//!
+
+unsigned char tdo_bit = 0;
+
+// defined in hil.c
+extern void SetVpp(long voltage);
+extern void TCLKset1();
+extern void TCLKset0();
+
+static struct jtag _Jtag = {0};
+
+#define SBW_DELAY { _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP(); _NOP();}
+
+#pragma inline=forced
+void TMSH()
+{
+ /*_DINT();*/ (*_Jtag.Out) |= _Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TMS = 1
+}
+
+#pragma inline=forced
+void TMSL()
+{
+ /*_DINT();*/ (*_Jtag.Out) &= ~_Jtag.RST;(*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TMS = 0
+}
+
+#pragma inline=forced
+void TMSLDH()
+{
+ /*_DINT();*/ (*_Jtag.Out) &= ~_Jtag.RST;(*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.RST; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TMS = 0, then TCLK immediately = 1
+}
+
+#pragma inline=forced
+void TDIH()
+{
+ /*_DINT();*/ (*_Jtag.Out) |= _Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TDI = 1
+}
+
+#pragma inline=forced
+void TDIL()
+{
+ /*_DINT();*/ (*_Jtag.Out) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/
+}
+
+#pragma inline=forced
+void TDOsbw()
+{
+ /*_DINT();*/ (*_Jtag.DIRECTION) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; SBW_DELAY;SBW_DELAY;(*_Jtag.DIRECTION) |= _Jtag.RST;/*_EINT();*/ // TDO cycle without reading TDO
+}
+#pragma inline=forced
+void TDO_RD()
+{
+ /*_DINT();*/ (*_Jtag.DIRECTION) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; tdo_bit = (*_Jtag.In); SBW_DELAY;SBW_DELAY;(*_Jtag.Out) |= _Jtag.TST; ; (*_Jtag.DIRECTION) |= _Jtag.RST; /*_EINT();*/ // TDO cycle with TDO read
+}
+// 2-wire Spy-Bi-Wire: low level signal access
+
+#pragma inline=forced
+void TMSL_TDIL() { _DINT_FET() ;TMSL(); TDIL(); TDOsbw(); _EINT_FET(); }
+
+#pragma inline=forced
+void TMSH_TDIL() { _DINT_FET(); TMSH(); TDIL(); TDOsbw(); _EINT_FET();}
+
+#pragma inline=forced
+static void TMSL_TDIH() { _DINT_FET(); TMSL(); TDIH(); TDOsbw(); _EINT_FET();}
+
+#pragma inline=forced
+void TMSH_TDIH() { _DINT_FET(); TMSH(); TDIH(); TDOsbw(); _EINT_FET();}
+
+#pragma inline=forced
+void TMSL_TDIH_TDOrd() { _DINT_FET(); TMSL(); TDIH(); TDO_RD(); _EINT_FET();}
+
+#pragma inline=forced
+void TMSL_TDIL_TDOrd() { _DINT_FET(); TMSL(); TDIL(); TDO_RD(); _EINT_FET();}
+
+#pragma inline=forced
+void TMSH_TDIH_TDOrd() { _DINT_FET(); TMSH(); TDIH(); TDO_RD(); _EINT_FET();}
+
+#pragma inline=forced
+void TMSH_TDIL_TDOrd() { _DINT_FET(); TMSH(); TDIL(); TDO_RD(); _EINT_FET();}
+
+void initJtagSbw2(struct jtag tmp)
+{
+ _Jtag = tmp;
+}
+#pragma inline=forced
+//#pragma optimize = low
+unsigned long long sbw_Shift(unsigned long long Data, short Bits)
+{
+ unsigned long long TDOvalue = 0x0000000000000000;
+ unsigned long long MSB = 0x0000000000000000;
+
+ switch(Bits)
+ {
+ case F_BYTE: MSB = 0x00000080;
+ break;
+ case F_WORD: MSB = 0x00008000;
+ break;
+ case F_ADDR: MSB = 0x00080000;
+ break;
+ case F_LONG: MSB = 0x80000000;
+ break;
+ case F_LONG_LONG: MSB = 0x8000000000000000;
+ break;
+ default: // this is an unsupported format, function will just return 0
+ return TDOvalue;
+ }
+ do
+ {
+ if ((MSB & 1) == 1) // Last bit requires TMS=1
+ {
+ if(Data & MSB)
+ {
+ TMSH_TDIH_TDOrd();
+ }
+ else
+ {
+ TMSH_TDIL_TDOrd();
+ }
+ }
+ else
+ {
+ if(Data & MSB)
+ {
+ TMSL_TDIH_TDOrd();
+ }
+ else
+ {
+ TMSL_TDIL_TDOrd();
+ }
+ }
+ TDOvalue <<= 1; // TDO could be any port pin
+ TDOvalue |= (tdo_bit & _Jtag.RST) > 0;
+ }
+ while(MSB >>= 1);
+
+ if (TCLK_saved & _Jtag.RST)
+ {
+ TMSH_TDIH();
+ TMSL_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ TMSL_TDIL();
+ }
+ // de-scramble upper 4 bits if it was a 20bit shift
+ if(Bits == F_ADDR)
+ {
+ TDOvalue = ((TDOvalue >> 4) | (TDOvalue << 16)) & 0x000FFFFF;
+ }
+ return(TDOvalue);
+}
+
+// -----------------------------------------------------------------------------
+short _hil_2w_TapReset(void)
+{
+ unsigned short i;
+
+ // Reset JTAG FSM
+ for (i = 6; i > 0; i--) // 6 is nominal
+ {
+ TMSH_TDIH();
+ }
+ // JTAG FSM is now in Test-Logic-Reset
+ TMSL_TDIH(); // now in Run/Test Idle
+ return 0;
+}
+
+unsigned short _hil_2w_EnumChain(void)
+{
+ return 1; // always return 1, as with Spy-Bi-Wire only one device can be handled
+}
+
+short _hil_2w_CheckJtagFuse(void)
+{
+ TMSL_TDIH();
+ TMSH_TDIH();
+ _hil_Delay_1ms(1);
+
+ TMSL_TDIH();
+ TMSH_TDIH();
+ _hil_Delay_1ms(1);
+
+ TMSL_TDIH();
+ TMSH_TDIH();
+ _hil_Delay_1ms(1);
+ // In every TDI slot a TCK for the JTAG machine is generated.
+ // Thus we need to get TAP in Run/Test Idle state back again.
+ TMSH_TDIH();
+ TMSL_TDIH();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+unsigned char _hil_2w_Instr(unsigned char Instruction)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSH_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ }
+ // JTAG FSM state = Select DR-Scan
+ TMSH_TDIH();
+ // JTAG FSM state = Select IR-Scan
+ TMSL_TDIH();
+ // JTAG FSM state = Capture-IR
+ TMSL_TDIH();
+ // JTAG FSM state = Shift-IR, Shiftin TDI (8 bit)
+
+ return(sbw_Shift(Instruction,F_BYTE)); // JTAG FSM state = Run-Test/Idle
+}
+// -----------------------------------------------------------------------------
+unsigned char _hil_2w_SetReg_XBits08(unsigned char Data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSH_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ }
+ // JTAG FSM state = Select DR-Scan
+ TMSL_TDIH();
+ // JTAG FSM state = Capture-DR
+ TMSL_TDIH();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_Shift(Data, F_BYTE));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+unsigned short _hil_2w_SetReg_XBits16(unsigned short Data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSH_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ }
+ // JTAG FSM state = Select DR-Scan
+ TMSL_TDIH();
+ // JTAG FSM state = Capture-DR
+ TMSL_TDIH();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_Shift(Data, F_WORD));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+
+unsigned long _hil_2w_SetReg_XBits20(unsigned long Data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSH_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ }
+ // JTAG FSM state = Select DR-Scan
+ TMSL_TDIH();
+ // JTAG FSM state = Capture-DR
+ TMSL_TDIH();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_Shift(Data, F_ADDR));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+unsigned long _hil_2w_SetReg_XBits32(unsigned long Data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSH_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ }
+ // JTAG FSM state = Select DR-Scan
+ TMSL_TDIH();
+ // JTAG FSM state = Capture-DR
+ TMSL_TDIH();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_Shift(Data, F_LONG));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+unsigned long long _hil_2w_SetReg_XBits64(unsigned long long Data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSH_TDIH();
+ }
+ else
+ {
+ TMSH_TDIL();
+ }
+ // JTAG FSM state = Select DR-Scan
+ TMSL_TDIH();
+ // JTAG FSM state = Capture-DR
+ TMSL_TDIH();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_Shift(Data, F_LONG_LONG));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+// -----------------------------------------------------------------------------
+void _hil_2w_Tclk(unsigned char state)
+{
+ _DINT();
+ if (TCLK_saved & _Jtag.RST) //PrepTCLK
+ {
+ TMSLDH();
+ }
+ else
+ {
+ TMSL();
+ }
+ if(state)
+ {
+ (*_Jtag.Out) |= _Jtag.RST;
+ TDIH(); TDOsbw(); //ExitTCLK
+ TCLK_saved = _Jtag.RST;
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.RST;// original
+ TDIL(); TDOsbw(); //ExitTCLK
+ TCLK_saved = ~_Jtag.RST;
+ }
+ _EINT();
+}
+
+// -----------------------------------------------------------------------------
+void _hil_2w_StepPsa(unsigned long length)
+{
+ while(length > 0)
+ {
+ TCLKset1(); // inverted DF
+ TCLKset0(); // original
+ TMSH_TDIH();
+ TMSL_TDIH();
+ TMSL_TDIH();
+ TMSH_TDIH();
+ TMSH_TDIH();
+ TMSL_TDIH();
+ length--;
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_2w_StepPsaTclkHigh(unsigned long length)
+{
+ while(length--)
+ {
+ TCLKset1();
+ TMSH_TDIH();
+ TMSL_TDIH();
+ TMSL_TDIH();
+ TMSH_TDIH();
+ TMSH_TDIH();
+ TMSL_TDIH();
+ TCLKset0();
+ }
+}
+
+short _hil_2w_BlowFuse(unsigned char targetHasTestVpp)
+{
+
+ return 1;
+}
+/* EOF */
diff --git a/Bios/src/hil/fet_generic/hil_2wDma.c b/Bios/src/hil/fet_generic/hil_2wDma.c
new file mode 100644
index 0000000..deee515
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_2wDma.c
@@ -0,0 +1,1749 @@
+/*
+ * hil_2wDma.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hil_2wDma.c
+//! \brief
+//!
+
+#include "hw_compiler_specific.h"
+#include "arch.h"
+#include "hilDelays.h"
+#include "JTAG_defs.h"
+
+#ifdef MSP_FET
+ #include "hilFpgaAccess.h"
+#endif
+
+static struct jtag _Jtag = {0};
+unsigned char tdo_bitDma = 0;
+
+#ifdef MSP_FET
+ unsigned short protocol_id = 0;
+#endif
+
+#define SBW_DELAY { _NOP();_NOP();_NOP();/*_NOP();_NOP();_NOP();*/}
+
+extern void testVpp(unsigned char mode);
+extern void setVpp(long voltage);
+extern void TCLKset1();
+extern void TCLKset0();
+unsigned long _hil_2w_SetReg_XBits32_Dma(unsigned long data);
+
+//#pragma inline=forced
+#pragma optimize = low
+void TMSH_DMA()
+{
+ /*_DINT();*/ (*_Jtag.Out) |= _Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TMS = 1
+}
+
+#pragma optimize = low
+void TMSL_DMA()
+{
+ /*_DINT();*/ (*_Jtag.Out) &= ~_Jtag.RST;(*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TMS = 0
+}
+
+#pragma optimize = low
+void TMSLDH_DMA()
+{
+ /*_DINT();*/ (*_Jtag.Out) &= ~_Jtag.RST;(*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.RST; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TMS = 0, then TCLK immediately = 1
+}
+
+#pragma optimize = low
+void TDIH_DMA()
+{
+ /*_DINT();*/ (*_Jtag.Out) |= _Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/ // TDI = 1
+}
+
+#pragma optimize = low
+void TDIL_DMA()
+{
+ /*_DINT();*/ (*_Jtag.Out) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; /*_EINT();*/
+}
+
+#pragma inline=forced
+void TDOsbwDma()
+{
+ _DINT_FET(); (*_Jtag.DIRECTION) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; SBW_DELAY;SBW_DELAY;(*_Jtag.DIRECTION) |= _Jtag.RST;_EINT_FET();// TDO cycle without reading TDO
+}
+#pragma inline=forced
+void TDOsbwFuse()
+{
+ (*_Jtag.DIRECTION) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; (*_Jtag.Out) |= _Jtag.TST; SBW_DELAY;SBW_DELAY;SBW_DELAY;(*_Jtag.DIRECTION) |= _Jtag.RST;// TDO cycle without reading TDO
+}
+#pragma inline=forced
+void TDO_RD_FUSE()
+{
+ (*_Jtag.DIRECTION) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; tdo_bitDma = (*_Jtag.In); SBW_DELAY;SBW_DELAY;SBW_DELAY;(*_Jtag.Out) |= _Jtag.TST; ; (*_Jtag.DIRECTION) |= _Jtag.RST; // TDO cycle with TDO read
+}
+#pragma inline=forced
+void TDO_RD_DMA()
+{
+ _DINT_FET(); (*_Jtag.DIRECTION) &= ~_Jtag.RST; (*_Jtag.Out) &= ~_Jtag.TST; SBW_DELAY; tdo_bitDma = (*_Jtag.In); SBW_DELAY;SBW_DELAY;(*_Jtag.Out) |= _Jtag.TST; ; (*_Jtag.DIRECTION) |= _Jtag.RST; _EINT_FET(); // TDO cycle with TDO read
+}
+
+unsigned char DMA_TMSH_TDIH[84] = {0};
+
+unsigned char DMA_TMSH_TDIL[84] = {0};
+
+unsigned char DMA_TMSL_TDIH[84] = {0};
+
+unsigned char DMA_TMSL_TDIL[84] = {0};
+
+unsigned char TCLK_savedDma;
+unsigned char current_Instr;
+unsigned char prevInstruction;
+void _hil_2w_ConfigureSpeed_Dma(unsigned short speed);
+
+
+void initJtagSbw2Dma(struct jtag tmp)
+{
+ _Jtag = tmp;
+ TCLK_savedDma =0;
+ current_Instr = 0;
+ prevInstruction = 0;
+
+#ifdef MSP_FET
+ protocol_id = 0;
+#endif
+}
+
+#ifdef MSP_FET
+void setProtocolSbw2Dma(unsigned short id)
+{
+ protocol_id = id;
+}
+#endif
+
+unsigned char _hil_2w_GetPrevInstruction_Dma()
+{
+ return prevInstruction;
+}
+
+#pragma inline=forced
+void DMA1sbw(void)
+{
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
+ TDOsbwDma();
+}
+
+#pragma inline=forced
+void DMA2sbw(void)
+{
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ; // DMA2 FIRE!!!
+ TDOsbwDma();
+}
+
+#pragma inline=forced
+void restoreTCLK(void)
+{
+ if (TCLK_savedDma & _Jtag.RST)
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ DMA1sbw();
+ DMA1SA = (unsigned char*) DMA_TMSL_TDIH;
+ DMA1sbw();
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ DMA1sbw();
+ // TMSL_TDIL is preloaded;
+ DMA2sbw();
+ }
+}
+
+#pragma inline=forced
+unsigned long long sbw_ShiftDma(unsigned long long Data, unsigned short Bits)
+{
+ unsigned long long TDOvalue = 0x0000000000000000;
+ unsigned long long MSB = 0x0000000000000000;
+
+ switch(Bits)
+ {
+ case F_BYTE: MSB = 0x00000080;
+ break;
+ case F_WORD: MSB = 0x00008000;
+ break;
+ case F_ADDR: MSB = 0x00080000;
+ break;
+ case F_LONG: MSB = 0x80000000;
+ break;
+ case F_LONG_LONG: MSB = 0x8000000000000000;
+ break;
+ default: // this is an unsupported format, function will just return 0
+ return TDOvalue;
+ }
+ do
+ {
+ if (MSB & 1) // Last bit requires TMS=1
+ {
+ if(Data & MSB)
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
+ }
+ else
+ {
+ if(Data & MSB)
+ {
+ // TMSL_TDIH is preloaded;
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
+ }
+ else
+ {
+ // TMSL_TDIL is preloaded;
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ; // DMA2 FIRE!!!
+ }
+ }
+ TDO_RD_DMA();
+ TDOvalue <<= 1; // TDO could be any port pin
+ TDOvalue |= (tdo_bitDma & _Jtag.RST) > 0;
+ }
+ while(MSB >>= 1);
+ restoreTCLK();
+ return(TDOvalue);
+}
+
+// -----------------------------------------------------------------------------
+short _hil_2w_TapReset_Dma(void)
+{
+ unsigned short i;
+
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_enable_bypass();
+ }
+#endif
+
+ // Reset JTAG FSM
+ for (i = 0; i < 6; i++) // 6 is nominal
+ {
+ // TMSH_TDIH is preloaded
+ DMA1sbw();
+ }
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ DMA1sbw();
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_disable_bypass();
+ }
+#endif
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_2w_CheckJtagFuse_Dma(void)
+{
+ unsigned short * dma2_tmp = DMA2SA;
+
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ DMA2SA = (unsigned char*)DMA_TMSL_TDIH;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_enable_bypass();
+ }
+#endif
+
+ // TMSL_TDIH is preloaded // now in Run/Test Idle
+ DMA2sbw();
+ // Fuse check
+ // TMSH_TDIH is preloaded
+ DMA1sbw();
+ // TMSL_TDIH is preloaded
+ DMA2sbw();
+ // TMSH_TDIH is preloaded
+ DMA1sbw();
+ // TMSL_TDIH is preloaded
+ DMA2sbw();
+ // TMSH_TDIH is preloaded
+ DMA1sbw();
+ // In every TDI slot a TCK for the JTAG machine is generated.
+ // Thus we need to get TAP in Run/Test Idle state back again.
+ // TMSH_TDIH is preloaded
+ DMA1sbw();
+ // TMSL_TDIH is preloaded
+ DMA2sbw();
+
+ DMA2SA = dma2_tmp;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_disable_bypass();
+ }
+#endif
+
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+unsigned char _hil_2w_Instr_Dma(unsigned char Instruction)
+{
+ prevInstruction = Instruction;
+
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ DMA1sbw();
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ DMA1sbw();
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+
+ // JTAG FSM state = Select DR-Scan
+ // TMSH_TDIH loaded in previous if/else
+ DMA1sbw();
+ // JTAG FSM state = Select IR-Scan
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ DMA1sbw();
+ // JTAG FSM state = Capture-IR
+ DMA1sbw();
+ // JTAG FSM state = Shift-IR, Shiftin TDI (8 bit)
+ return sbw_ShiftDma(Instruction,F_BYTE); // JTAG FSM state = Run-Test/Idle
+}
+
+
+#pragma inline=forced
+void hil_2w_SetReg_XBits8_64_Entry_DMA()
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1sbw();
+
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ // JTAG FSM state = Select DR-Scan
+ DMA1sbw();
+ // JTAG FSM state = Capture-DR
+ DMA1sbw();
+}
+
+#pragma inline=forced
+void hil_2w_SetReg_XBits8_64_Exit_DMA()
+{
+ // TMS & TDI slot
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ DMA1sbw();
+ restoreTCLK();
+}
+
+//! \brief This function executes an SBW2 64BIT Data SHIFT (DR-SHIFT) in the case,
+//! that the first 8 bits show a valid data capture from the JSTATE register. In case
+//! of no valid capture the shift is ended after the first 8 bits.
+//! \param[in] Data to be shifted into target device
+//! \param[out] Data State - shows state of shifted out data
+//! \return Value shifted out of target device JTAG module
+#pragma inline=forced
+unsigned long long hil_2w_SetReg_XBits8_64_Run_Dma(unsigned long long Data, unsigned char * DataState, unsigned short JStateVersion)
+{
+ unsigned long long TDOvalue = 0x00000000;
+ unsigned long long MSB = 0x8000000000000000;
+ unsigned char currentDeviceState = 0;
+
+ hil_2w_SetReg_XBits8_64_Entry_DMA();
+
+ do
+ {
+ if (MSB & 1) // Last bit requires TMS=1
+ {
+ if(Data & MSB)
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
+ }
+ else
+ {
+ if(Data & MSB)
+ {
+ // TMSL_TDIH is preloaded;
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
+ }
+ else
+ {
+ // TMSL_TDIL is preloaded;
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ; // DMA2 FIRE!!!
+ }
+ }
+ TDO_RD_DMA();
+ TDOvalue <<= 1; // TDO could be any port pin
+ TDOvalue |= (tdo_bitDma & _Jtag.RST) > 0;
+
+ // first 8 bits have been shifted out now go and evaluate it
+ if(MSB & EIGHT_JSTATE_BITS)
+ {
+ // Mask out all not needed bits for device state detection
+ currentDeviceState = TDOvalue & JSTATE_FLOW_CONTROL_BITS;
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56, ] & 0x4 (BP_HIT) == TRUE
+ if(currentDeviceState & JSTATE_BP_HIT)
+ {
+ // exit DR shift state
+ hil_2w_SetReg_XBits8_64_Exit_DMA();
+ // reload Jstate IR
+ _hil_2w_Instr_Dma(IR_JSTATE_ID);
+
+ *DataState = VALID_DATA;
+ // retrun BP_HIT BIT
+ return(TDOvalue << 56);
+ }
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56] (AM Sync. ongoing) == 0x83
+ else if(currentDeviceState == JSTATE_SYNC_ONGOING)
+ {
+ // exit DR shift state
+ hil_2w_SetReg_XBits8_64_Exit_DMA();
+
+ *DataState = SYNC_ONGOING;
+ return 0;
+ }
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] & 0x40 (Locked State) == 0x40
+ else if((currentDeviceState & JSTATE_LOCKED_STATE) == JSTATE_LOCKED_STATE &&
+ (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE)
+ {
+ // exit DR shift state
+ hil_2w_SetReg_XBits8_64_Exit_DMA();
+ *DataState = JTAG_LOCKED;
+ return(TDOvalue << 56);
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] ( Invalid LPM) == 0x81)
+ else if(currentDeviceState == JSTATE_INVALID_STATE)
+ {
+ // exit DR shift state
+ hil_2w_SetReg_XBits8_64_Exit_DMA();
+ // reload Jstate IR
+ _hil_2w_Instr_Dma(IR_JSTATE_ID);
+
+ *DataState = INVALID_DATA;
+ return 0;
+ }
+ /*PG2.0 && PG2.1 frozen Sync detection*/
+ else if (((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK_PGACT)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_PGACT))
+ {
+ hil_2w_SetReg_XBits8_64_Exit_DMA();
+
+ if(JStateVersion >= 0x21)
+ {
+ *DataState = SYNC_BROKEN;
+ return(0);
+ }
+ else // PG2.0
+ {
+ *DataState = VALID_DATA;
+ return(TDOvalue << 56);
+ }
+ }
+ // device is not in LPMx or AC read out mode just restart the shift but do not reload the JState IR
+ else if(currentDeviceState != JSTATE_VALID_CAPTURE
+ && (currentDeviceState != JSTATE_LPM_ONE_TWO)
+ && (currentDeviceState != JSTATE_LPM_THREE_FOUR)
+ && ((currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE))
+ {
+ // exit DR shift state
+ hil_2w_SetReg_XBits8_64_Exit_DMA();
+ *DataState = INVALID_DATA;
+ return 0;
+ }
+ /*
+ else
+ {
+ do not break, continue shift of valid data
+ }
+ */
+ }
+
+ }
+ while(MSB >>= 1);
+ restoreTCLK();
+
+ if( currentDeviceState == JSTATE_LPM_ONE_TWO
+ || currentDeviceState == JSTATE_LPM_THREE_FOUR
+ || currentDeviceState == 0x00
+ || currentDeviceState == 0x02)
+ {
+ // reload Jstate IR
+ _hil_2w_Instr_Dma(IR_JSTATE_ID);
+ }
+
+ *DataState = VALID_DATA;
+ return(TDOvalue);
+}
+
+//! \brief This function executes an SBW2 64BIT Data SHIFT (DR-SHIFT) in the case,
+//! that the first 8 bits show a valid data capture from the JSTATE register. In case
+//! of no valid capture the shift is ended after the first 8 bits. Timeout could be
+//! used to set the function run count.
+//! \param[in] Data to be shifted into target device
+//! \return Value shifted out of target device JTAG module
+unsigned long long _hil_2w_SetReg_XBits8_64_Dma(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion)
+{
+ unsigned long long TDOvalue = 0x00000000;
+ unsigned short timeout = loopCount, syncBorkenCount = loopCount/2;
+ unsigned char DataState = 0;
+ do
+ {
+ TDOvalue = hil_2w_SetReg_XBits8_64_Run_Dma(Data, &DataState, JStateVersion);
+ if(!timeout)
+ {
+ return TDOvalue;
+ }
+ timeout--;
+
+ if(DataState == SYNC_BROKEN && syncBorkenCount > 0)
+ {
+ syncBorkenCount--;
+ if(JStateVersion >= 0x21)
+ { // Only working for PG2.1, do not harm if executed on PG2.0 – but will not create any effect only consume time
+ unsigned long current3VtestReg = 0;
+
+ // read current 3VtestReg value
+ _hil_2w_Instr_Dma(IR_TEST_REG);
+ current3VtestReg = _hil_2w_SetReg_XBits32_Dma(0);
+ // set bit 25 high to rest sync
+ current3VtestReg |= 0x2000000;
+ _hil_2w_SetReg_XBits32_Dma(current3VtestReg);
+ // set bit 25 low reset sync done
+ current3VtestReg &= ~0x2000000;
+ _hil_2w_SetReg_XBits32_Dma(current3VtestReg);
+ _hil_2w_Instr_Dma(IR_JSTATE_ID);
+
+ }
+ else
+ {
+ return(TDOvalue);
+ }
+ }
+ }
+ while(DataState == INVALID_DATA || DataState == SYNC_ONGOING);
+ return(TDOvalue);
+}
+
+unsigned char _hil_2w_SetReg_XBits08_Dma(unsigned char data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1sbw();
+
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ // JTAG FSM state = Select DR-Scan
+ DMA1sbw();
+ // JTAG FSM state = Capture-DR
+ DMA1sbw();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_ShiftDma(data,F_BYTE));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+
+
+unsigned short _hil_2w_SetReg_XBits16_Dma(unsigned short data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1sbw();
+
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ // JTAG FSM state = Select DR-Scan
+ DMA1sbw();
+ // JTAG FSM state = Capture-DR
+ DMA1sbw();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ return (sbw_ShiftDma(data,F_WORD));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+
+
+unsigned long _hil_2w_SetReg_XBits20_Dma(unsigned long data)
+{
+ unsigned long tmp;
+
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1sbw();
+
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ // JTAG FSM state = Select DR-Scan
+ DMA1sbw();
+ // JTAG FSM state = Capture-DR
+ DMA1sbw();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (16 bit)
+ // de-scramble upper 4 bits if it was a 20bit shift
+ tmp = sbw_ShiftDma(data, F_ADDR);
+ tmp = ((tmp >> 4) | (tmp << 16)) & 0x000FFFFF;
+ return (tmp);
+ // JTAG FSM state = Run-Test/Idle
+}
+
+
+
+unsigned long _hil_2w_SetReg_XBits32_Dma(unsigned long data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1sbw();
+
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ // JTAG FSM state = Select DR-Scan
+ DMA1sbw();
+ // JTAG FSM state = Capture-DR
+ DMA1sbw();
+ // JTAG FSM state = Shift-DR, Shiftin TDI (32 bit)
+ return (sbw_ShiftDma(data, F_LONG));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+
+unsigned long long _hil_2w_SetReg_XBits64_Dma(unsigned long long data)
+{
+ // JTAG FSM state = Run-Test/Idle
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ }
+ else
+ {
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ }
+ DMA1sbw();
+
+ DMA1SA = (unsigned char*)DMA_TMSL_TDIH;
+ // JTAG FSM state = Select DR-Scan
+ DMA1sbw();
+ // JTAG FSM state = Capture-DR
+ DMA1sbw();
+ // JTAG FSM state = Shift-DR, Shiftin TDI 64 bit)
+ return (sbw_ShiftDma(data, F_LONG_LONG));
+ // JTAG FSM state = Run-Test/Idle
+}
+
+
+//#pragma optimize = low
+// -----------------------------------------------------------------------------
+void _hil_2w_Tclk_Dma(unsigned char state)
+{
+ _DINT_FET();
+ if (TCLK_savedDma & _Jtag.RST) //PrepTCLK
+ {
+ TMSLDH_DMA();
+ }
+ else
+ {
+ TMSL_DMA();
+ }
+
+ if(state)
+ {
+ (*_Jtag.Out) |= _Jtag.RST;
+ TDIH_DMA(); TDOsbwDma(); // ExitTCLK
+ TCLK_savedDma = _Jtag.RST;
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.RST;// original
+ TDIL_DMA(); TDOsbwDma(); // ExitTCLK
+ TCLK_savedDma = ~_Jtag.RST;
+ }
+ _EINT_FET();
+}
+
+// -----------------------------------------------------------------------------
+void _hil_2w_StepPsa_Dma_Xv2(unsigned long length)
+{
+ unsigned short * dma2_tmp = DMA2SA;
+
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ DMA2SA = (unsigned char*)DMA_TMSL_TDIL;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_enable_bypass();
+ }
+#endif
+
+ while(length--)
+ {
+ _hil_2w_Tclk_Dma(0);
+ // TMSH_TDIL preloaded
+ DMA1sbw();
+ // TMSL_TDIL preloaded
+ DMA2sbw();
+ // TMSL_TDIL preloaded
+ DMA2sbw();
+ // TMSH_TDIL preloaded
+ DMA1sbw();
+ // TMSH_TDIL preloaded
+ DMA1sbw();
+ // TMSL_TDIL preloaded
+ DMA2sbw();
+ _hil_2w_Tclk_Dma(1);
+ }
+
+ // Restore the prvious DMA2SA value
+ DMA2SA = dma2_tmp;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_disable_bypass();
+ }
+#endif
+}
+
+// -----------------------------------------------------------------------------
+void _hil_2w_StepPsa_Dma(unsigned long length)
+{
+ unsigned short * dma2_tmp = DMA2SA;
+
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIL;
+ DMA2SA = (unsigned char*)DMA_TMSL_TDIL;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_enable_bypass();
+ }
+#endif
+ while(length--)
+ {
+ _hil_2w_Tclk_Dma(1);
+ _hil_2w_Tclk_Dma(0);
+ // TMSH_TDIH preloaded
+ DMA1sbw();
+ // TMSL_TDIH preloaded
+ DMA2sbw();
+ // TMSL_TDIH preloaded
+ DMA2sbw();
+ // TMSH_TDIH preloaded
+ DMA1sbw();
+ // TMSH_TDIH preloaded
+ DMA1sbw();
+ // TMSL_TDIH preloaded
+ DMA2sbw();
+ }
+ // Restore the prvious DMA2SA value
+ DMA2SA = dma2_tmp;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_disable_bypass();
+ }
+#endif
+}
+
+// -----------------------------------------------------------------------------
+void _hil_2w_StepPsaTclkHigh_Dma(unsigned long length)
+{
+ unsigned short * dma2_tmp = DMA2SA;
+
+ DMA1SA = (unsigned char*)DMA_TMSH_TDIH;
+ DMA2SA = (unsigned char*)DMA_TMSL_TDIH;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_enable_bypass();
+ }
+#endif
+
+ while(length--)
+ {
+ _hil_2w_Tclk_Dma(1);
+ // TMSH_TDIH preloaded
+ DMA1sbw();
+ // TMSL_TDIH preloaded
+ DMA2sbw();
+ // TMSL_TDIH preloaded
+ DMA2sbw();
+ // TMSH_TDIH preloaded
+ DMA1sbw();
+ // TMSH_TDIH preloaded
+ DMA1sbw();
+ // TMSL_TDIH preloaded
+ DMA2sbw();
+ _hil_2w_Tclk_Dma(0);
+ }
+
+ // Restore the prvious DMA2SA value
+ DMA2SA = dma2_tmp;
+
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_disable_bypass();
+ }
+#endif
+}
+
+void _hil_2w_ConfigureSpeed_Dma(unsigned short speed)
+{
+ switch(speed)
+ { //----------------------------------------------------------------------
+ case SBW600KHz: // fastes SBW2 speed
+ {
+ DMA1SZ = 8; // load DMA1 with size
+ DMA2SZ = 8; // load DMA1 with size
+ DMA_TMSH_TDIH[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[2] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIH[4] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[5] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[6] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[7] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[2] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[4] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[5] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[6] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[7] = /*TDI Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[2] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[3] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[4] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[5] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[6] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[7] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSL_TDIL[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[2] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[3] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIL[4] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[5] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[6] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[7] = /*TDI Slot*/ _Jtag.TST;
+ break;
+ }//---------------------------------------------------------------------
+ case SBW400KHz: // fastes SBW2 speed
+ {
+ DMA1SZ = 24; // load DMA1 with size
+ DMA2SZ = 24; // load DMA1 with size
+
+ DMA_TMSH_TDIH[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[2] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[4] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[5] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[6] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[7] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[8] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[9] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[10] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[11] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIH[12] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[13] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[14] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[15] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[16] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[17] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[18] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[19] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[20] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[21] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[22] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[23] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[2] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[4] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[5] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[6] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[7] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[8] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[9] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[10] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[11] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[12] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[13] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[14] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[15] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[16] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[17] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[18] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[19] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[20] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[21] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[22] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[23] = /*TDI Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[2] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[3] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[4] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[5] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[6] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[7] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[8] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[9] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[10] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[11] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[12] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[13] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[14] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[15] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[16] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[17] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[18] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[19] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[20] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[21] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[22] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[23] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSL_TDIL[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[2] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[3] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[4] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[5] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[6] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[7] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[8] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[9] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[10] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[11] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIL[12] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[13] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[14] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[15] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[16] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[17] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[18] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[19] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[20] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[21] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[22] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[23] = /*TDI Slot*/ _Jtag.TST;
+ break;
+ }//---------------------------------------------------------------------
+ case SBW200KHz: // fastes SBW2 speed
+ {//---------------------------------------------------------------------
+ DMA1SZ = 48; // load DMA1 with size
+ DMA2SZ = 48; // load DMA1 with size
+
+ DMA_TMSH_TDIH[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[2] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[4] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[5] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[6] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[7] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[8] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[9] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[10] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[11] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[12] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[13] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[14] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[15] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[16] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[17] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[18] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[19] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[20] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[21] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[22] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[23] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIH[24] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[25] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[26] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[27] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[28] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[29] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[30] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[31] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[32] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[33] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[34] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[35] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[36] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[37] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[38] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[39] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[40] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[41] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[42] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[43] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[44] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[45] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[46] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[47] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[2] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[4] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[5] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[6] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[7] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[8] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[9] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[10] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[11] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[12] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[13] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[14] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[15] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[16] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[17] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[18] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[19] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[20] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[21] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[22] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[23] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[24] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[25] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[26] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[27] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[28] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[29] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[30] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[31] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[32] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[33] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[34] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[35] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[36] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[37] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[38] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[39] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[40] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[41] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[42] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[43] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[44] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[45] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[46] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[47] = /*TDI Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[2] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[3] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[4] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[5] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[6] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[7] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[8] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[9] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[10] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[11] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[12] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[13] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[14] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[15] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[16] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[17] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[18] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[19] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[20] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[21] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[22] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[23] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[24] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[25] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[26] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[27] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[28] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[29] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[30] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[31] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[32] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[33] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[34] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[35] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[36] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[37] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[38] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[39] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[40] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[41] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[42] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[43] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[44] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[45] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[46] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[47] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSL_TDIL[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[2] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[3] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[4] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[5] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[6] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[7] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[8] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[9] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[10] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[11] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[12] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[13] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[14] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[15] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[16] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[17] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[18]= /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[19] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[20] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[21] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[22] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[23] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIL[24] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[25] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[26] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[27] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[28] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[29] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[30] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[31] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[32] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[33] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[34] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[35] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[36] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[37] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[38] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[39] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[40] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[41] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[42] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[43] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[44] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[45] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[46] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[47] = /*TDI Slot*/ _Jtag.TST;
+ break;
+ }//---------------------------------------------------------------------
+ case SBW100KHz: // fastes SBW2 speed
+ {//---------------------------------------------------------------------
+ DMA1SZ = 84; // load DMA1 with size
+ DMA2SZ = 84; // load DMA1 with size
+
+ DMA_TMSH_TDIH[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[2] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[4] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[5] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[6] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[7] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[8] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[9] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[10] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[11] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[12] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[13] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[14] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[15] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[16] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[17] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[18] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[19] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[20] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[21] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[22] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[23] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[24] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[25] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[26] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[27] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[28] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[29] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[30] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[31] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[32] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[33] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[34] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[35] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[36] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[37] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[38] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[39] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[40] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[41] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIH[42] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[43] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[44] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[45] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[46] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[47] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[48] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[49] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[50] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[51] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[52] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[53] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[54] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[55] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[56] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[57] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[58] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[59] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[60] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[61] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[62] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[63] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[64] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[65] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[66] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[67] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[68] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[69] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[70] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[71] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[72] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[73] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[74] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[75] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[76] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[77] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[78] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[79] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[80] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[81] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[82] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[83] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[2] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[4] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[5] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[6] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[7] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[8] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[9] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[10] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[11] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[12] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[13] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[14] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[15] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[16] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[17] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[18] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[19] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[20] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[21] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[22] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[23] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[24] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[25] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[26] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[27] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[28] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[29] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[30] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[31] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[32] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[33] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[34] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[35] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[36] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[37] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[38] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[39] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[40] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[41] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[42] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[43] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[44] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[45] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[46] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[47] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[48] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[49] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[50] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[51] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[52] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[53] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[54] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[55] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[56] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[57] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[58] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[59] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[60] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[61] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[62] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[63] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[64] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[65] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[66] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[67] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[68] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[69] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[70] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[71] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[72] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[73] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[74] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[75] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[76] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[77] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[78] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[79] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[80] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[81] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[82] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[83] = /*TDI Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[2] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[3] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[4] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[5] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[6] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[7] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[8] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[9] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[10] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[11] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[12] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[13] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[14] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[15] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[16] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[17] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[18] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[19] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[20] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[21] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[22] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[23] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[24] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[25] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[26] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[27] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[28] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[29] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[30] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[31] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[32] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[33] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[34] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[35] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[36] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[37] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[38] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[39] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[40] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[41] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[42] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[43] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[44] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[45] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[46] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[47] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[48] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[49] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[50] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[51] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[52] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[53] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[54] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[55] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[56] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[57] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[58] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[59] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[60] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[61] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[62] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[63] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[64] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[65] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[66] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[67] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[68] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[69] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[70] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[71] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[72] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[73] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[74] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[75] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[76] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[77] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[78] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[79] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[80] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[81] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[82] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[83] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSL_TDIL[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[2] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[3] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[4] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[5] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[6] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[7] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[8] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[9] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[10] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[11] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[12] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[13] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[14] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[15] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[16] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[17] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[18] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[19] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[20] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[21] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[22] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[23] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[24] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[25] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[26] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[27] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[28]= /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[29] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[30] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[31] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[32] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[33] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[34] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[35] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[36]= /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[37] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[38] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[39] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[40] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[41] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIL[42] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[43] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[44] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[45] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[46] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[47] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[48] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[49] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[50] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[51] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[52] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[53] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[54] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[55] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[56] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[57] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[58] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[59] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[60] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[61] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[62] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[63] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[64] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[65] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[66] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[67] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[68] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[69] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[70] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[71] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[72] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[73] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[74] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[75] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[76] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[77] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[78] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[79] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[80] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[81] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[82] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[83] = /*TDI Slot*/ _Jtag.TST;
+ break;
+ }//---------------------------------------------------------------------
+ default:// fastes SBW2 speed
+ {
+ DMA1SZ = 8; // load DMA1 with size
+ DMA2SZ = 8; // load DMA1 with size
+ DMA_TMSH_TDIH[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[2] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIH[4] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[5] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIH[6] = /*TDI Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIH[7] = /*TDI Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[0] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[1] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSH_TDIL[2] = /*TMS Slot*/ _Jtag.RST;
+ DMA_TMSH_TDIL[3] = /*TMS Slot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSH_TDIL[4] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[5] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSH_TDIL[6] = /*TDI Slot*/ 0;
+ DMA_TMSH_TDIL[7] = /*TDI Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIH[2] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIH[3] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIH[4] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[5] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+ DMA_TMSL_TDIH[6] = /*TDI SLot*/ _Jtag.RST;
+ DMA_TMSL_TDIH[7] = /*TDI SLot*/ _Jtag.RST|_Jtag.TST;
+
+ DMA_TMSL_TDIL[0] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[1] = /*TMS Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[2] = /*TMS Slot*/ 0;
+ DMA_TMSL_TDIL[3] = /*TMS Slot*/ _Jtag.TST;
+
+ DMA_TMSL_TDIL[4] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[5] = /*TDI Slot*/ _Jtag.TST;
+ DMA_TMSL_TDIL[6] = /*TDI Slot*/ 0;
+ DMA_TMSL_TDIL[7] = /*TDI Slot*/ _Jtag.TST;
+ break;
+ }//---------------------------------------------------------------------
+ }
+}
+
+#ifdef MSP_FET
+extern unsigned char _hil_generic_Instr(unsigned char Instruction);
+extern unsigned char _hil_generic_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_generic_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_generic_SetReg_XBits20(unsigned long Data);
+extern unsigned long _hil_generic_SetReg_XBits32(unsigned long Data);
+
+extern unsigned char lastTestState;
+extern unsigned char lastResetState;
+extern short _hil_SetVcc(unsigned short Vcc);
+
+#endif
+
+#pragma optimize = medium
+// -----------------------------------------------------------------------------
+short _hil_2w_BlowFuse_Dma(unsigned char targetHasTestVpp)
+{
+#ifdef MSP_FET
+ if (protocol_id != SPYBIWIRE_SUBMCU)
+ {
+ unsigned char MSB = 0x80;;
+ unsigned char Data = IR_EX_BLOW, i = 0;
+
+ //_hil_SetVcc(2500);
+ _hil_generic_Instr(IR_PREPARE_BLOW);
+
+ _DINT_FET();
+ lastResetState = 1;
+ lastTestState = 1;
+ hil_fpga_enable_bypass();
+
+ // JTAG FSM state = Run-Test/Idle
+ TMSH_DMA(); TDIH_DMA(); TDOsbwFuse();
+
+ // JTAG FSM state = Select DR-Scan
+ TMSH_DMA(); TDIH_DMA(); TDOsbwFuse();
+
+ // JTAG FSM state = Select IR-Scan
+ TMSL_DMA(); TDIH_DMA(); TDOsbwFuse();
+
+ // JTAG FSM state = Capture-IR
+ TMSL_DMA(); TDIH_DMA(); TDOsbwFuse();
+
+ for (i = 8; i > 1; i--)
+ {
+ if((Data & MSB) == 0)
+ {
+ TMSL_DMA(); TDIL_DMA(); TDO_RD_FUSE();
+ }
+ else
+ {
+ TMSL_DMA(); TDIH_DMA(); TDO_RD_FUSE();
+ }
+ Data <<= 1;
+ }
+ // last bit requires TMS=1; TDO one bit before TDI
+ if((Data & MSB) == 0)
+ {
+ TMSH_DMA(); TDIL_DMA(); TDO_RD_FUSE();
+ }
+ else
+ {
+ TMSH_DMA(); TDIH_DMA(); TDO_RD_FUSE();
+ }
+ // SBWTDIO must be low on exit!
+ TMSH_DMA(); TDIL_DMA(); TDOsbwFuse();
+
+ TMSL_DMA(); TDIL_DMA(); TDOsbwFuse();
+ // instruction shift done!
+
+ // After the IR_EX_BLOW instruction is shifted in via SBW, one more TMS_SLOT must be performed
+ // create TMSL slot
+
+ (*_Jtag.Out) &= ~_Jtag.RST;
+ SBW_DELAY; SBW_DELAY;
+ SBW_DELAY; SBW_DELAY;
+
+ (*_Jtag.Out) &= ~_Jtag.TST;
+ SBW_DELAY; SBW_DELAY;
+ SBW_DELAY; SBW_DELAY;
+
+ (*_Jtag.Out) |= _Jtag.TST;
+ _hil_Delay_1ms(1);
+
+ // Apply fuse blow voltage
+ setVpp(1);
+
+ // Taking SBWTDIO high as soon as Vpp has been settled blows the fuse
+ (*_Jtag.Out) |= _Jtag.RST;
+
+ _hil_Delay_1ms(1);
+
+ setVpp(0); // switch VPP off
+
+ hil_fpga_disable_bypass();
+
+ // now perform a BOR via JTAG - we loose control of the device then...
+ _hil_generic_Instr(IR_TEST_REG);
+ _hil_generic_SetReg_XBits32(0x00000200);
+
+ _EINT_FET();
+ }
+#endif
+ // not suppored by eZ-FET
+ return 0;
+}
+/* EOF */
diff --git a/Bios/src/hil/fet_generic/hil_4w.c b/Bios/src/hil/fet_generic/hil_4w.c
new file mode 100644
index 0000000..b62846b
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_4w.c
@@ -0,0 +1,330 @@
+/*
+ * hil_4w.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+//! \ingroup MODULHIL
+//! \file hil_4w.c
+//! \brief
+//!
+
+#include "hw_compiler_specific.h"
+#include "arch.h"
+#include "hilDelays.h"
+#include "JTAG_defs.h"
+#include "hilFpgaAccess.h"
+
+
+
+//! \ingroup MODULHIL
+//! \file hil_4w.c
+//! \brief
+//!
+
+#define uController_uif
+
+extern void TCLKset1();
+extern void TCLKset0();
+
+extern void testVpp(unsigned char mode);
+extern void setVpp(long voltage);
+
+static struct jtag _Jtag = {0};
+//#define JTAG_DELAY { _NOP();}
+void _hil_4w_Tclk(unsigned char state);
+
+// 4-wire JTAG: low level signal access
+#pragma inline=forced
+void TMSset1()
+{ (*_Jtag.Out) |= _Jtag.TMS;}
+
+#pragma inline=forced
+void TMSset0()
+{ (*_Jtag.Out) &= ~_Jtag.TMS;}
+
+#pragma inline=forced
+void TDIset1()
+{ (*_Jtag.Out) |= _Jtag.TDI;}
+
+#pragma inline=forced
+void TDIset0()
+{ (*_Jtag.Out) &= ~_Jtag.TDI;}
+
+#pragma inline=forced
+void TCKset1()
+{ (*_Jtag.Out) |= _Jtag.TCK;}
+
+#pragma inline=forced
+static void TCKset0()
+{ (*_Jtag.Out) &= ~_Jtag.TCK;}
+
+#pragma inline=forced
+void TDIset1TMSset1()
+{ (*_Jtag.Out) |= _Jtag.TDI | _Jtag.TMS; }
+
+#pragma inline=forced
+void TDIset0TMSset1()
+{ (*_Jtag.Out) &= ~_Jtag.TDI; *_Jtag.Out |= _Jtag.TMS;}
+
+#pragma inline=forced
+unsigned char StoreTTDI()
+{
+ return *_Jtag.Out;
+}
+#pragma inline=forced
+void RestoreTTDI(unsigned long long x)
+{
+ if(x &_Jtag.TDI)
+ {
+ *_Jtag.Out |= _Jtag.TDI;
+ //JTAG_DELAY;
+ }
+ else
+ {
+ *_Jtag.Out &= ~_Jtag.TDI;
+ }
+}
+#pragma inline=forced
+unsigned char ScanTDO()
+{
+ if((*_Jtag.In & _Jtag.TDO)!= 0)
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+void initJtagSbw4(struct jtag tmp)
+{
+ _Jtag = tmp;
+}
+
+
+// -----------------------------------------------------------------------------
+short _hil_4w_CheckJtagFuse(void)
+{
+ // perform a JTAG fuse check
+ hil_fpga_enable_bypass();
+ TMSset1();_NOP();_NOP();_NOP();
+ TMSset0();_NOP();_NOP();_NOP();
+ _hil_Delay_1us(15);
+ TMSset1();_NOP();_NOP();_NOP();
+ TMSset0();_NOP();_NOP();_NOP();
+ _hil_Delay_1us(15);
+ TMSset1();_NOP();_NOP();_NOP();
+ hil_fpga_disable_bypass();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_4w_TapReset(void)
+{
+ // Reset TAP Controller State Machine
+ // Set default state for JTAG signals (TDI = TMS = TCK = 1)
+ hil_fpga_enable_bypass();
+ TDIset1(); _NOP(); _NOP();_NOP();
+ TMSset1(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ // Clock TCK six (6) times
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ // TAP Controller State Machine is now in "Test-Logic Reset" state
+ // Clock TCK one more time with TMS = 0
+ TMSset0(); _NOP(); _NOP();_NOP();
+ TCKset0(); _NOP(); _NOP();_NOP();
+ TCKset1(); _NOP(); _NOP();_NOP();
+ hil_fpga_disable_bypass();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+void _hil_4w_StepPsa(unsigned long length)
+{
+ hil_fpga_enable_bypass();
+
+ while(length-- > 0)
+ {
+ TDIset1(); _NOP();
+ TDIset0(); _NOP();
+
+ TCKset0(); _NOP();
+ TMSset1(); _NOP();
+ TCKset1(); _NOP(); // select DR scan
+ TCKset0(); _NOP();
+ TMSset0(); _NOP();
+
+ TCKset1(); _NOP(); // capture DR
+ TCKset0(); _NOP();
+ TCKset1(); _NOP(); // shift DR
+ TCKset0(); _NOP();
+
+ TMSset1(); _NOP();
+ TCKset1(); _NOP();// exit DR
+ TCKset0(); _NOP();
+
+ // Set JTAG FSM back into Run-Test/Idle
+ TCKset1(); _NOP();
+ TMSset0(); _NOP();
+ TCKset0(); _NOP();
+ TCKset1(); _NOP();
+ _NOP(); _NOP(); _NOP(); _NOP(); _NOP();
+ }
+ hil_fpga_disable_bypass();
+}
+// -----------------------------------------------------------------------------
+void _hil_4w_StepPsaTclkHigh(unsigned long length)
+{
+ hil_fpga_enable_bypass();
+
+ while(length--)
+ {
+ //TCLKset1(); _NOP();
+ TDIset1(); _NOP();
+ TCKset0(); _NOP();
+ TMSset1(); _NOP();
+ TCKset1(); _NOP();// select DR scan
+ TCKset0(); _NOP();
+ TMSset0(); _NOP();
+
+ TCKset1(); _NOP();// capture DR
+ TCKset0(); _NOP();
+ TCKset1(); _NOP();// shift DR
+ TCKset0(); _NOP();
+
+ TMSset1(); _NOP();
+ TCKset1(); _NOP(); // exit DR
+ TCKset0(); _NOP();
+
+ // Set JTAG FSM back into Run-Test/Idle
+ TCKset1(); _NOP();
+ TMSset0(); _NOP();
+ TCKset0(); _NOP();
+ TCKset1(); _NOP();
+ _NOP(); _NOP(); _NOP(); _NOP(); _NOP();
+ //TCLKset0(); _NOP();
+ TDIset0(); _NOP();
+ }
+ hil_fpga_disable_bypass();
+}
+
+// -----------------------------------------------------------------------------
+extern unsigned char _hil_generic_Instr(unsigned char Instruction);
+extern unsigned char _hil_generic_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_generic_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_generic_SetReg_XBits20(unsigned long Data);
+extern unsigned long _hil_generic_SetReg_XBits32(unsigned long Data);
+
+extern unsigned char lastTestState;
+extern unsigned char lastResetState;
+
+
+short _hil_4w_BlowFuse(unsigned char targetHasTestVpp)
+{
+#ifdef MSP_FET
+
+ _DINT_FET();
+ if(!targetHasTestVpp)
+ {
+ _hil_generic_Instr(IR_CNTRL_SIG_16BIT);
+ _hil_generic_SetReg_XBits16(0x7401); // TDOs get TDI functionality (internal)
+ testVpp(0); // Switchs also TDO functionality to TDI.
+ }
+ _hil_generic_Instr(IR_PREPARE_BLOW); // initialize fuse blowing
+ _hil_Delay_1ms(1);
+
+ lastResetState = 1;
+ lastTestState = 1;
+
+ hil_fpga_enable_bypass();
+ setVpp(1); // Apply fuse blow voltage
+ hil_fpga_disable_bypass();
+
+ _hil_generic_Instr(IR_EX_BLOW); // execute fuse blowing
+ _hil_Delay_1ms(1);
+ setVpp(0); // switch VPP off
+
+ testVpp(1); // Restore the normal function of TDO and TDI
+
+ // now perform a BOR via JTAG - we loose control of the device then...
+ _hil_generic_Instr(IR_TEST_REG);
+ _hil_generic_SetReg_XBits32(0x00000200);
+ _EINT_FET();
+#endif
+
+ return 0;
+}
+
+void hil_4w_432_Seq(unsigned short length, unsigned char *sequence)
+{
+ unsigned char dataptr = 0;
+ unsigned short n = 0;
+ while (length--)
+ {
+ if (n == 0)
+ {
+ dataptr = *sequence++;
+ n = 8;
+ }
+ if (dataptr & 1)
+ {
+ (*_Jtag.Out) |= _Jtag.TMS;
+ TCKset0();
+ _NOP();
+ TCKset1();
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ TCKset0();
+ _NOP();
+ TCKset1();
+ }
+ dataptr >>= 1;
+ n--;
+ }
+}
+
diff --git a/Bios/src/hil/fet_generic/hil_4w_ezFET.c b/Bios/src/hil/fet_generic/hil_4w_ezFET.c
new file mode 100644
index 0000000..962ca80
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_4w_ezFET.c
@@ -0,0 +1,470 @@
+/*
+ * hil_4w_ezFET.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hil_4w_ezFET.c
+//! \brief
+//!
+
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "arch.h"
+#include "edt.h"
+#include
+
+#include "stream.h"
+
+extern struct jtag _Jtag;
+
+#define Invalid_Manufactor_IdCode 0x000000FEul
+#define Mask_Manufactor_IdCode 0x000000FEul
+
+#define StoreTCLK() (*_Jtag.Out)
+#define RestoreTCLK(x) (x & _Jtag.TDI ? (*_Jtag.Out |= _Jtag.TDI) : (*_Jtag.Out &= ~_Jtag.TDI))
+#define ScanTDO() ((*_Jtag.In & _Jtag.TDO) ? 1 : 0)
+
+///< Debug and trace functionality
+extern char traceBuffer[256];
+
+// -----------------------------------------------------------------------------
+short _hil_4w_ezFET_CheckJtagFuse(void)
+{
+ // perform a JTAG fuse check
+ TMSset1;
+ TMSset0;
+ EDT_Delay_1us(5);
+ TMSset1;
+ TMSset0;
+ EDT_Delay_1us(5);
+ TMSset1;
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_4w_ezFET_TapReset(void)
+{
+ // Reset TAP Controller State Machine
+ // Set default state for JTAG signals (TDI = TMS = TCK = 1)
+ TDIset1;
+ TMSset1;
+ TCKset1;
+ // Clock TCK six (6) times
+ TCKset0;
+ TCKset1;
+ TCKset0;
+ TCKset1;
+ TCKset0;
+ TCKset1;
+ TCKset0;
+ TCKset1;
+ TCKset0;
+ TCKset1;
+ TCKset0;
+ TCKset1;
+ // TAP Controller State Machine is now in "Test-Logic Reset" state
+ // Clock TCK one more time with TMS = 0
+ TMSset0;
+ TCKset0;
+ TCKset1;
+ return 0;
+}
+
+unsigned short _hil_4w_ezFET_EnumChain(void)
+{
+/* unsigned long TDOval = 0x00000000; // Initialize shifted-in word
+ unsigned long MSB = 0x80000000;
+ unsigned long LSB = 0x00000001;
+ unsigned long DataIn = Invalid_Manufactor_IdCode | LSB;
+ unsigned char i = 0;
+ unsigned char detIdCode = 0;
+ unsigned short numOfDevices = 0;
+
+ _hil_4w_ezFET_TapReset();
+
+ // JTAG FSM state = Run-Test/Idle
+ TMSset1;
+ EDT_Delay_1us(10);
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ EDT_Delay_1us(10);
+ // JTAG FSM state = Select DR-Scan
+ TMSset0;
+ EDT_Delay_1us(10);
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ EDT_Delay_1us(10);
+ // JTAG FSM state = Capture-DR
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ EDT_Delay_1us(10);
+ // JTAG FSM state = Shift-IR
+
+ while(1)
+ {
+ if((DataIn & LSB) == 0)
+ {
+ TDIset0;
+ }
+ else
+ {
+ TDIset1;
+ }
+ DataIn >>= 1;
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ TDOval >>= 1; // TDO could be any port pin
+ if (ScanTDO())
+ {
+ TDOval |= MSB;
+ if(0 == detIdCode) // Test if LSB of IdCode
+ {
+ i = 0;
+ detIdCode = 1;
+ }
+ }
+ else if(0 == detIdCode)
+ {
+ numOfDevices++;
+ }
+
+ i += detIdCode;
+ if(32 == i)
+ {
+ detIdCode = 0;
+ i = 0;
+ if(Invalid_Manufactor_IdCode == (TDOval & Mask_Manufactor_IdCode))
+ {
+ // End of chain detected
+ break;
+ }
+ // Device with valid IdCode detected
+ numOfDevices++;
+ }
+ if(0xFF == numOfDevices)
+ {
+ // Only 254 devices are supported
+ // Probably hardware connection is broken
+ numOfDevices = 0;
+ break;
+ }
+ }
+
+ TMSset1;
+ EDT_Delay_1us(10);
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ // JTAG FSM = Exit-DR
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ EDT_Delay_1us(10);
+ // JTAG FSM = Update-DR
+ TMSset0;
+ EDT_Delay_1us(10);
+ TCKset0;
+ EDT_Delay_1us(10);
+ TCKset1;
+ EDT_Delay_1us(10);
+ // JTAG FSM = Run-Test/Idle
+ TMSset1; // to save power during debugging
+ EDT_Delay_1us(10);
+ return numOfDevices;*/
+
+ return 1;
+}
+
+// -----------------------------------------------------------------------------
+unsigned char _hil_4w_ezFET_Instr(unsigned char Instruction)
+{
+ unsigned char rotInstr = 0;
+ for(unsigned char i = 0; i < 7; ++i)
+ {
+ rotInstr |= Instruction & (1 << (7 - i)) ? (1 << i) : 0;
+ }
+
+ STREAM_sendDebug(traceBuffer,sprintf(traceBuffer, "EDT_Instr(0x%x)\n", rotInstr));
+
+ unsigned char TDOvalue = 0;
+ unsigned char TClk = StoreTCLK();
+
+ TMSset1
+ TCKset0
+ TCKset1 // Select-DR
+
+ TCKset0
+ TCKset1 // Select-IR
+
+ TMSset0
+ TCKset0
+ TCKset1 // Capture-IR
+
+ TCKset0
+ TCKset1 // Shift-IR
+
+ /// \note Bit-banging application
+ for(unsigned char count = 0; count < 7; ++count)
+ {
+ if(Instruction & (1 << count))
+ {
+ TDIset1
+ }
+ else
+ {
+ TDIset0
+ }
+ TCKset0
+ TCKset1
+ TDOvalue <<= 1;
+ TDOvalue |= ScanTDO();
+ }
+
+ if(Instruction & 0x80)
+ {
+ TDIset1
+ }
+ else
+ {
+ TDIset0
+ }
+ TMSset1
+ TCKset0
+ TCKset1 // Exit1-IR
+
+ TDOvalue <<= 1;
+ TDOvalue |= ScanTDO();
+
+ RestoreTCLK(TClk); // Restore TDI state since it is used for TCLK
+
+ TCKset0
+ TCKset1 // Update-IR
+
+ TMSset0
+ TCKset0
+ TCKset1 // Run-Test/Idle
+
+ return TDOvalue;
+}
+
+// -----------------------------------------------------------------------------
+unsigned long long _hil_4w_ezFET_SetReg_XBits(unsigned long long Data, short Bits)
+{
+ unsigned short tclk = StoreTCLK(); // Store TCLK state;
+ unsigned long long TDOvalue = 0;
+ unsigned long long MSB = 0x00000001;
+
+ STREAM_sendDebug(traceBuffer,sprintf(traceBuffer, "EDT_SetReg_XBits%d(0x%x)\n", Bits, Data));
+
+ MSB <<= (Bits-1);
+
+ // JTAG FSM state = Run-Test/Idle
+ TMSset1
+ TCKset0
+ TCKset1
+
+ // JTAG FSM state = Select DR-Scan
+ TMSset0
+ TCKset0
+ TCKset1
+
+ // JTAG FSM state = Capture-DR
+ TCKset0
+ TCKset1
+
+ // JTAG FSM state = Shift-DR
+ {
+ short i;
+ for (i = Bits; i > 0; i--)
+ {
+ if(Data & MSB)
+ {
+ TDIset1
+ }
+ else
+ {
+ TDIset0
+ }
+ Data <<= 1;
+ if (i == 1) // Last bit requires TMS=1
+ {
+ TMSset1
+ }
+ TCKset0
+ TCKset1
+ TDOvalue <<= 1; // TDO could be any port pin
+ if (ScanTDO())
+ {
+ TDOvalue++;
+ }
+ }
+ }
+
+ // common exit
+ RestoreTCLK(tclk); // restore TCLK state
+
+ // JTAG FSM = Exit-DR
+ TCKset0
+ TCKset1
+ // JTAG FSM = Update-DR
+ TMSset0
+ TCKset0
+ TCKset1
+ // JTAG FSM = Run-Test/Idle
+
+ // de-scramble upper 4 bits if it was a 20bit shift
+ if(Bits == 20)
+ {
+ TDOvalue = ((TDOvalue << 16) + (TDOvalue >> 4)) & 0x000FFFFF;
+ }
+
+ return TDOvalue;
+}
+
+
+unsigned char _hil_4w_ezFET_SetReg_XBits08(unsigned char Data)
+{
+ return _hil_4w_ezFET_SetReg_XBits(Data,8);
+}
+
+unsigned short _hil_4w_ezFET_SetReg_XBits16(unsigned short Data)
+{
+ return _hil_4w_ezFET_SetReg_XBits(Data,16);
+}
+
+unsigned long _hil_4w_ezFET_SetReg_XBits20(unsigned long Data)
+{
+ return _hil_4w_ezFET_SetReg_XBits(Data,20);
+}
+
+// -----------------------------------------------------------------------------
+unsigned long _hil_4w_ezFET_SetReg_XBits32(unsigned long Data)
+{
+ return _hil_4w_ezFET_SetReg_XBits(Data,32);
+}
+
+unsigned long long _hil_4w_ezFET_SetReg_XBits64(unsigned long long Data)
+{
+ return _hil_4w_ezFET_SetReg_XBits(Data,64);
+}
+
+// -----------------------------------------------------------------------------
+void _hil_4w_ezFET_Tclk(unsigned char state)
+{
+ if(state)
+ {
+ TDIset1
+ }
+ else
+ {
+ TDIset0
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_4w_ezFET_StepPsa(unsigned long length)
+{
+ while(length > 0)
+ {
+ TCLKset0
+ TCKset0
+ TMSset1
+ TCKset1 // select DR scan
+ TCKset0
+ TMSset0
+
+ TCKset1 // capture DR
+ TCKset0
+ TCKset1 // shift DR
+ TCKset0
+
+ TMSset1
+ TCKset1 // exit DR
+ TCKset0
+
+ // Set JTAG FSM back into Run-Test/Idle
+ TCKset1
+ TMSset0
+ TCKset0
+ TCKset1
+
+ // Clock through the PSA
+ TCLKset1
+
+ length--;
+ }
+}
+
+void _hil_4w_ezFET_StepPsaTclkHigh(unsigned long length)
+{
+ while(length--)
+ {
+ TCLKset1 _NOP();
+
+ TCKset0 _NOP();
+ TMSset1 _NOP();
+ TCKset1 _NOP();// select DR scan
+ TCKset0 _NOP();
+ TMSset0 _NOP();
+
+ TCKset1 _NOP();// capture DR
+ TCKset0 _NOP();
+ TCKset1 _NOP();// shift DR
+ TCKset0 _NOP();
+
+ TMSset1 _NOP();
+ TCKset1 _NOP(); // exit DR
+ TCKset0 _NOP();
+
+ // Set JTAG FSM back into Run-Test/Idle
+ TCKset1 _NOP();
+ TMSset0 _NOP();
+ TCKset0 _NOP();
+ TCKset1 _NOP();
+
+ _NOP(); _NOP(); _NOP(); _NOP(); _NOP();
+ TCLKset0 _NOP();
+ }
+}
+
+// -----------------------------------------------------------------------------
+short _hil_4w_ezFET_BlowFuse(unsigned char targetHasTestVpp)
+{
+ return 0;
+}
+/* EOF */
diff --git a/Bios/src/hil/fet_generic/hil_Swd432.c b/Bios/src/hil/fet_generic/hil_Swd432.c
new file mode 100644
index 0000000..38b3bb8
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_Swd432.c
@@ -0,0 +1,265 @@
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "arch.h"
+#include "edt.h"
+#include "archFpga.h"
+#include
+
+static struct jtag _Jtag = {0};
+
+#define SWD_DELAY { _NOP();}
+
+// DAP Transfer Response
+#define DAP_TRANSFER_OK (1<<0)
+#define DAP_TRANSFER_WAIT (1<<1)
+#define DAP_TRANSFER_FAULT (1<<2)
+#define DAP_TRANSFER_ERROR (1<<3)
+#define DAP_TRANSFER_MISMATCH (1<<4)
+
+
+void SWDTCKset1()
+{ (*_Jtag.Out) |= _Jtag.TCK;}
+
+#pragma inline=forced
+void SWDTCKset0()
+{ (*_Jtag.Out) &= ~_Jtag.TCK;}
+
+#pragma inline=forced
+void SWDIOset1TckCycle()
+{
+ (*_Jtag.Out) |= _Jtag.TMS;
+ SWDTCKset0();
+ SWD_DELAY;
+ SWDTCKset1();
+}
+
+#pragma inline=forced
+void SWDIOset0TckCycle()
+{
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ SWDTCKset0();
+ SWD_DELAY;
+ SWDTCKset1();
+}
+
+#pragma inline=forced
+void SWDTckCycle()
+{
+ SWDTCKset0();
+ SWD_DELAY;
+ SWDTCKset1();
+ SWD_DELAY;
+}
+//#pragma inline=forced
+void SWDIOwriteBit(unsigned char bit)
+{
+ if(bit & 0x1)
+ {
+ (*_Jtag.Out) |= _Jtag.TMS;
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ }
+ SWDTCKset0();
+ SWD_DELAY;;
+ SWDTCKset1();
+}
+
+// turn around direction before
+#pragma inline=forced
+unsigned char ScanTDO()
+{
+ unsigned char val = 0;
+ SWDTCKset0();
+ SWD_DELAY;
+ SWD_DELAY;
+
+ if(*_Jtag.In & _Jtag.TMS)
+ {
+ val = 1;
+ }
+ else
+ {
+ val = 0;
+ }
+ SWDTCKset1();
+ __enable_interrupt();
+ return val;
+}
+
+void hil_Swd_InitJtag(struct jtag tmp)
+{
+ _Jtag = tmp;
+}
+
+unsigned char Swd_TransferData(unsigned char regiser, unsigned long* data, unsigned char rnw)
+{
+ volatile unsigned char ack = DAP_TRANSFER_ERROR;
+ unsigned long bit = 0;
+ unsigned long val = 0;
+ unsigned long parity = 0;
+ unsigned char count = 0;
+
+ ///host sends request
+ SWDIOwriteBit(1); //Start Bit
+ bit = regiser >> 0;
+ SWDIOwriteBit(bit); //APnDP Bit
+ parity += bit;
+ bit = regiser >> 1;
+ SWDIOwriteBit(bit); //RnW Bit
+ parity += bit;
+ bit = regiser >> 2;
+ SWDIOwriteBit(bit); //A2 Bit
+ parity += bit;
+ bit = regiser >> 3;
+ SWDIOwriteBit(bit); //A3 Bit
+ parity += bit;
+ SWDIOwriteBit((unsigned char)parity); //Parity Bit
+ SWDIOwriteBit(0); //Stop Bit
+ SWDIOwriteBit(1); //Park Bit
+
+ // set MSP-FET to input dir
+ (*_Jtag.DIRECTION) &= ~(_Jtag.TMS);
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT &= ~_Jtag.TMS;
+ SWDTckCycle();
+
+ // read response and check for ack
+ bit = ScanTDO();
+ ack = bit << 0;
+ bit = ScanTDO();
+ ack |= bit << 1;
+ bit = ScanTDO();
+ ack |= bit << 2;
+
+ if (ack == DAP_TRANSFER_OK)
+ {
+ if(rnw)
+ {
+ ///Read 32 bit data
+ val = 0;
+ parity = 0;
+ for (count = 32; count; count--)
+ {
+ bit = ScanTDO();
+ parity += bit;
+ val >>= 1;
+ val |= bit << 31;
+ }
+ //Read Parity
+ bit = ScanTDO();
+ if ((parity ^ bit) & 1)
+ {
+ ack = DAP_TRANSFER_ERROR;
+ }
+ if (data)
+ {
+ *data = val;
+ ack = DAP_TRANSFER_OK;
+ }
+ // sest MSP-FET TMS pin to output
+ (*_Jtag.DIRECTION) |= (_Jtag.TMS);
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT |= _Jtag.TMS;
+ SWDTckCycle();
+
+ return ack;
+ }
+ else // write
+ {
+ // sest MSP-FET TMS pin to output
+ (*_Jtag.DIRECTION) |= (_Jtag.TMS);
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT |= _Jtag.TMS;
+ SWDTckCycle();
+
+ val = *data;
+ parity = 0;
+ for (count = 32; count; count--)
+ {
+ SWDIOwriteBit((unsigned char)val);
+ parity += val;
+ val >>= 1;
+ }
+ //write parity to DAP
+ SWDIOwriteBit(parity);
+ //ToDo do we need idle cycles here?
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ SWDTckCycle();
+ SWDTckCycle();
+ SWDTckCycle();
+ SWDTckCycle();
+ SWDTckCycle();
+ SWDTckCycle();
+ SWDTckCycle();
+ // set SWDIO pin to 1
+ (*_Jtag.Out) |= _Jtag.TMS;
+ return ack;
+ }
+ }
+ if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT))
+ {
+ //WAIT or FAULT response
+ if (rnw)
+ {
+ for (count = 33; count; count--)
+ {
+ SWDTckCycle(); /* Dummy Read RDATA[0:31] + Parity */
+ }
+ }
+
+ // sest MSP-FET TMS pin to output
+ (*_Jtag.DIRECTION) |= (_Jtag.TMS);
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT |= _Jtag.TMS;
+ SWDTckCycle();
+ if (!rnw)
+ {
+ // set SWDIO pin to 0
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ for (count = 33; count; count--)
+ {
+ SWDTckCycle(); /* Dummy Write WDATA[0:31] + Parity */
+ }
+ }
+ // set SWDIO pin to 1
+ (*_Jtag.Out) |= _Jtag.TMS;
+ return (ack);
+ }
+
+ // sest MSP-FET TMS pin to output
+ (*_Jtag.DIRECTION) |= (_Jtag.TMS);
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT |= _Jtag.TMS;
+ SWDTckCycle();
+
+ //Protocol error
+ for (count = 34; count; count--)
+ {
+ SWDTckCycle(); /* Back off data phase */
+ }
+ // set SWDIO pin to 1
+ (*_Jtag.Out) |= _Jtag.TMS;
+ return ack;
+}
+
+void hil_Swd_Seq(unsigned short length, unsigned char *sequence)
+{
+ unsigned char dataptr = 0;
+ unsigned short n = 0;
+ while (length--)
+ {
+ if (n == 0)
+ {
+ dataptr = *sequence++;
+ n = 8;
+ }
+ if (dataptr & 1)
+ {
+ SWDIOset1TckCycle();
+ }
+ else
+ {
+ SWDIOset0TckCycle();
+ }
+ dataptr >>= 1;
+ n--;
+ }
+ (*_Jtag.Out) |= _Jtag.TMS;
+}
\ No newline at end of file
diff --git a/Bios/src/hil/fet_generic/hil_generic.c b/Bios/src/hil/fet_generic/hil_generic.c
new file mode 100644
index 0000000..2b4183c
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_generic.c
@@ -0,0 +1,336 @@
+/*
+ * hil_generic.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hilFpgaAccess.h"
+#include "archFpga.h"
+#include "arch.h"
+#include "JTAG_defs.h"
+#include "hilDelays.h"
+
+static unsigned short prevInstruction = 0;
+
+#pragma optimize=low
+void _hil_generic_ConfigureSpeed(unsigned short speed)
+{
+ unsigned short tckFreq, tclkFreq;
+
+ switch(speed)
+ {
+ case SBW100KHz:
+ {
+ tckFreq = 298;
+ tclkFreq = 75;
+ break;
+ }
+ case SBW200KHz:
+ {
+ tckFreq = 350;
+ tclkFreq = 75;
+ break;
+ }
+ case SBW400KHz:
+ {
+ tckFreq = 137;
+ tclkFreq = 30;
+ break;
+ }
+ case SBW600KHz:
+ {
+ tckFreq = 88;
+ tclkFreq = 21;
+ break;
+ }
+ case SBW1200KHz:
+ {
+ tckFreq = 48;
+ tclkFreq = 12;
+ break;
+ }
+ case JTAG250KHz:
+ {
+ tckFreq = 238;
+ tclkFreq = 238;
+ break;
+ }
+ case JTAG500KHz:
+ {
+ tckFreq = 118;
+ tclkFreq = 28;
+ break;
+ }
+ case JTAG750KHz:
+ {
+ tckFreq = 88;
+ tclkFreq = 21;
+ break;
+ }
+ case JTAG1MHz:
+ {
+ tckFreq = 58;
+ tclkFreq = 14;
+ break;
+ }
+ case JTAG2MHz:
+ {
+ tckFreq = 28;
+ tclkFreq = 7;
+ break;
+ }
+ case JTAG4MHz:
+ {
+ tckFreq = 13;
+ tclkFreq = 4;
+ break;
+ }
+ case JTAG8MHz:
+ { // 7,5 MHz
+ tckFreq = 5;
+ tclkFreq = 2;
+ break;
+ }
+ case JTAG15MHz:
+ {
+ tckFreq = 3;
+ tclkFreq = 3;
+ break;
+ }
+ default:
+ {
+ // 500 kHz, but this should never happen
+ tckFreq = 118;
+ tclkFreq = 118;
+ break;
+ }
+ }
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_TEST_CLK_FREQUENCY, tckFreq);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_TCLK_CLK_FREQUENCY, tclkFreq);
+}
+
+void initGeneric()
+{
+ prevInstruction = 0;
+}
+
+unsigned char _hil_generic_GetPrevInstruction()
+{
+ return prevInstruction;
+}
+
+unsigned char _hil_generic_Instr(unsigned char instruction)
+{
+ unsigned short retVal;
+
+ hil_fpga_write_cmd_data0(FPGA_CMD_IR8_RD, instruction);
+ hil_fpga_read_data1(1, &retVal);
+ prevInstruction = instruction;
+
+ return ((unsigned char)retVal);
+}
+
+unsigned char _hil_generic_SetReg_XBits08(unsigned char data)
+{
+ unsigned short retVal;
+
+ hil_fpga_write_cmd_data0(FPGA_CMD_DR8_RD, data);
+ hil_fpga_read_data1(1, &retVal);
+
+ return ((unsigned char)retVal);
+}
+unsigned short _hil_generic_SetReg_XBits16(unsigned short data)
+{
+ unsigned short retVal;
+
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_DRX_RD, 16, data);
+ hil_fpga_read_data1(1, &retVal);
+
+ return retVal;
+}
+
+unsigned long _hil_generic_SetReg_XBits20(unsigned long data)
+{
+ unsigned long retVal;
+
+ hil_fpga_write_cmd_data0_data1_count(FPGA_CMD_DRX_RD, 20, (unsigned short*)&data, 2);
+ hil_fpga_read_data1(2, (unsigned short*)&retVal);
+
+ return (retVal >> 4) | ((retVal & 0xF) << 16);
+}
+
+// -----------------------------------------------------------------------------
+unsigned long _hil_generic_SetReg_XBits32(unsigned long data)
+{
+ unsigned long retVal;
+
+ hil_fpga_write_cmd_data0_data1_count(FPGA_CMD_DRX_RD, 32, (unsigned short*)&data, 2);
+ hil_fpga_read_data1(2, (unsigned short*)&retVal);
+ return retVal;
+}
+
+// -----------------------------------------------------------------------------
+unsigned long long _hil_generic_SetReg_XBits64(unsigned long long data)
+{
+ unsigned long long retVal;
+
+ hil_fpga_write_cmd_data0_data1_count(FPGA_CMD_DRX_RD, 64, (unsigned short*)&data, 4);
+ hil_fpga_read_data1(4, (unsigned short*)&retVal);
+
+ return retVal;
+}
+
+//! \brief This function executes an SBW2 64BIT Data SHIFT (DR-SHIFT) in the case,
+//! that the first 8 bits show a valid data capture from the JSTATE register. In case
+//! of no valid capture the shift is ended after the first 8 bits. Timeout could be
+//! used to set the function run count.
+//! \param[in] Data to be shifted into target device
+//! \return Value shifted out of target device JTAG module
+unsigned long long _hil_generic_XBits8_64(unsigned long long Data, unsigned short loopCount,unsigned short PG)
+{
+ unsigned long long TDOvalue = 0x0;
+ unsigned short timeout = loopCount;
+ unsigned char DataState = 0;
+ unsigned short currentDeviceState = 0;
+ unsigned short syncBrokenCount = loopCount/2;
+
+ do
+ {
+ TDOvalue = (_hil_generic_SetReg_XBits64(Data));
+ // Mask out all not needed bits for device state detection
+ currentDeviceState = ((TDOvalue >> 56) & JSTATE_FLOW_CONTROL_BITS);
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56, ] & 0x4 (BP_HIT) == TRUE
+ if(currentDeviceState & JSTATE_BP_HIT)
+ {
+ // reload Jstate IR
+ _hil_generic_Instr(IR_JSTATE_ID);
+ DataState = VALID_DATA;
+ return(TDOvalue);
+ }
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56] (AM Sync. ongoing) == 0x83
+ else if(currentDeviceState == JSTATE_SYNC_ONGOING)
+ {
+ DataState = SYNC_ONGOING;
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] & 0x40 (Locked State) == 0x40
+ else if((currentDeviceState & JSTATE_LOCKED_STATE) == JSTATE_LOCKED_STATE &&
+ (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE)
+ {
+ DataState = JTAG_LOCKED;
+ return(TDOvalue);
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] ( Invalid LPM) == 0x81)
+ else if(currentDeviceState == JSTATE_INVALID_STATE)
+ {
+ // reload Jstate IR
+ _hil_generic_Instr(IR_JSTATE_ID);
+ DataState = INVALID_DATA;
+ }
+ /*PG2.0 && PG2.1 frozen Sync detection*/
+ else if (((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK_PGACT)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_PGACT))
+ {
+ if(syncBrokenCount > 0 && PG >= 0x21)
+
+ { // Only working for PG2.1, do not harm if executed on PG2.0 ? but will not create any effect only consume time
+ unsigned long current3VtestReg = 0;
+
+ // read current 3VtestReg value
+ _hil_generic_Instr(IR_TEST_REG);
+ current3VtestReg = _hil_generic_SetReg_XBits32(0);
+ // set bit 25 high to rest sync
+ current3VtestReg |= 0x2000000;
+ _hil_generic_SetReg_XBits32(current3VtestReg);
+ // set bit 25 low reset sync done
+ current3VtestReg &= ~0x2000000;
+ _hil_generic_SetReg_XBits32(current3VtestReg);
+
+ _hil_generic_Instr(IR_JSTATE_ID);
+ syncBrokenCount --;
+ timeout = timeout + 5;
+ }
+ else
+ {
+ DataState = VALID_DATA;
+ return(TDOvalue);
+ }
+ }
+ // device is not in LPMx or AC read out mode just restart the shift but do not reload the JState IR
+ else if(currentDeviceState != JSTATE_VALID_CAPTURE
+ && currentDeviceState != JSTATE_LPM_ONE_TWO
+ && currentDeviceState != JSTATE_LPM_THREE_FOUR
+ && (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE)
+ {
+ DataState = INVALID_DATA;
+ }
+ else
+ {
+ DataState = VALID_DATA;
+ }
+
+ if(!timeout)
+ {
+ return TDOvalue;
+ }
+ timeout--;
+ }
+ while(DataState == INVALID_DATA || DataState == SYNC_ONGOING);
+
+ if( currentDeviceState == JSTATE_LPM_ONE_TWO
+ || currentDeviceState == JSTATE_LPM_THREE_FOUR
+ || currentDeviceState == 0x00
+ || currentDeviceState == 0x02)
+ {
+ // reload Jstate IR
+ _hil_generic_Instr(IR_JSTATE_ID);
+ }
+ return(TDOvalue);
+}
+
+
+// -----------------------------------------------------------------------------
+void _hil_generic_Tclk(unsigned char state)
+{
+ if(state)
+ {
+ hil_fpga_write_cmd_data0(FPGA_CMD_CFG, REG_TCLKset1);
+ }
+ else
+ {
+ hil_fpga_write_cmd_data0(FPGA_CMD_CFG, REG_TCLKset0);
+ }
+}
diff --git a/Bios/src/hil/fet_generic/hil_generic432.c b/Bios/src/hil/fet_generic/hil_generic432.c
new file mode 100644
index 0000000..eb023f2
--- /dev/null
+++ b/Bios/src/hil/fet_generic/hil_generic432.c
@@ -0,0 +1,148 @@
+/*
+ * hil_generic432.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hilFpgaAccess.h"
+#include "archFpga.h"
+#include "arch.h"
+#include "JTAG_defs.h"
+#include "hilDelays.h"
+
+//lookup table to reverse 8 bit values
+static const unsigned char table_8bits[] =
+{
+ 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
+ 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
+ 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
+ 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
+ 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
+ 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
+ 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
+ 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
+ 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
+ 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
+ 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
+ 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
+ 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
+ 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
+ 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
+ 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,
+ 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1,
+ 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
+ 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9,
+ 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,
+ 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
+ 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,
+ 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed,
+ 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
+ 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3,
+ 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,
+ 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
+ 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,
+ 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7,
+ 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
+ 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
+ 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff,
+ };
+#pragma inline=forced
+unsigned char reverse_byte(unsigned char x)
+{
+ return table_8bits[x];
+}
+//lookup table to reverse 4 bit values
+const unsigned char table_4bits[] = {0x0, 0x8, 0x4, 0xC, 0x2, 0xA, 0x6, 0xE, 0x1, 0x9, 0x5, 0xD, 0x3, 0xB, 0x7, 0xF};
+
+#pragma inline=forced
+unsigned char reverse_4bits(unsigned char x)
+{
+ return table_4bits[x & 0xF];
+}
+
+//lookup table to reverse 3 bit values
+const unsigned char table_3bits[] = {0x0, 0x4, 0x2, 0x6, 0x1, 0x5, 0x3, 0x7};
+
+#pragma inline=forced
+unsigned char reverse_3bits(unsigned char x)
+{
+ return table_3bits[x & 0x7];
+}
+
+unsigned char _hil_generic432_Instr_4(unsigned char instruction)
+{
+ unsigned short retVal = 0;
+
+ hil_fpga_write_cmd_data0_432(FPGA_CMD_IR4_RD, instruction);
+ hil_fpga_read_data_432(1, &retVal);
+ return retVal;
+}
+
+unsigned char _hil_generic432_SetReg_XBits08(unsigned char data)
+{
+ return 0;
+}
+
+unsigned short _hil_generic432_SetReg_XBits16(unsigned short data)
+{
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+unsigned long _hil_generic432_SetReg_XBits32(unsigned long data)
+{
+ unsigned long retVal = 0;
+ hil_fpga_write_cmd_data0_data1_count_432(FPGA_CMD_DRX_RD, 32, (unsigned short*)&data, 2);
+ hil_fpga_read_data_432(2, (unsigned short*)&retVal);
+ return retVal;
+}
+
+// -----------------------------------------------------------------------------
+unsigned long long _hil_generic432_SetReg_XBits64(unsigned long long data)
+{
+ return 0;
+}
+
+unsigned long long _hil_generic432_SetReg_XBits(unsigned long long *data, unsigned short count)
+{
+ return 0;
+}
+
+unsigned long long _hil_generic432_SetReg_XBits35(unsigned long long *data)
+{
+ unsigned short count = 35;
+ unsigned short words = (count + 15) / 16;
+ unsigned long long retVal = 0;
+ hil_fpga_write_cmd_data0_data1_count_432(FPGA_CMD_DRX_RD, count, (unsigned short*)data, words);
+ hil_fpga_read_data_432(words, (unsigned short*)&retVal);
+ return retVal;
+}
diff --git a/Bios/src/hil/hil_Structs.h b/Bios/src/hil/hil_Structs.h
new file mode 100644
index 0000000..739c812
--- /dev/null
+++ b/Bios/src/hil/hil_Structs.h
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "msp430.h"
+
+#ifndef _HIL_STRUCTS_H__
+#define _HIL_STRUCTS_H__
+
+/**
+ @brief Structure of pointers to all exported EDT functions.
+*/
+struct edt_common_methods
+{
+ short (*Init)(void);
+ short (*SetVcc)(unsigned short);
+ void (*SwitchVccFET)(unsigned short);
+ short (*GetVcc)(double*, double*);
+ short (*SetProtocol)(unsigned short);
+ void (*SetPsaTCLK)(unsigned short);
+ short (*Open)(unsigned char state);
+ short (*Close)(void);
+ void (*Delay_1us)(unsigned short);
+ void (*Delay_1ms)(unsigned short);
+ short (*Loop)(unsigned short);
+ void (*EntrySequences)(unsigned char);
+ void (*SetReset)(unsigned char); // Set the Reset pin to the specified value
+ void (*SetTest)(unsigned char); // Set the Test pin to the specified value
+ void (*SetJtagSpeed)(unsigned short, unsigned short);
+ void (*ConfigureSetPc)(unsigned short);
+ void (*initDelayTimer)(void);
+ void (*BSL_EntrySequence)(unsigned short switchBypassOff);
+ void (*SetTMS)(unsigned char); // Set the TMS pin to the specified value
+ void (*SetTCK)(unsigned char); // Set the TCK pin to the specified value
+ void (*SetTDI)(unsigned char); // Set the TDI pin to the specified value
+ short (*regulateVcc)(void);
+ void (*setFpgaTimeOut)(unsigned short state);
+ unsigned short (*getFpgaVersion)(void);
+ void (*ReadADC12)(void);
+ void (*ConfigFpgaIoMode)(unsigned short mode);
+ void (*BSL_EntrySequence1xx_4xx)(void);
+ void (*SetToolID)(unsigned short id);
+};
+typedef struct edt_common_methods edt_common_methods_t;
+
+struct edt_distinct_methods
+{
+ short (*TapReset)(void);
+ short (*CheckJtagFuse)(void);
+ unsigned char (*Instr)(unsigned char);
+ unsigned char (*Instr04)(unsigned char);
+ unsigned char (*SetReg_XBits08)(unsigned char);
+ unsigned short (*SetReg_XBits16)(unsigned short);
+ unsigned long (*SetReg_XBits20)(unsigned long);
+ unsigned long (*SetReg_XBits32)(unsigned long);
+ unsigned long long (*SetReg_XBits35)(unsigned long long *Data);
+ unsigned long long (*SetReg_XBits64)(unsigned long long);
+ unsigned long long (*SetReg_XBits8_64)(unsigned long long, unsigned short, unsigned short);
+ unsigned long long (*SetReg_XBits)(unsigned long long *Data, unsigned short count);
+ void (*Tclk)(unsigned char);
+ void (*StepPsa)(unsigned long);
+ short (*BlowFuse)(unsigned char); // Blow the JTAG acces fuse
+ unsigned char (*GetPrevInstruction)(void);
+ short (*write_read_Dp)(unsigned char address, unsigned long *data, unsigned short rnw);
+ short (*write_read_Ap)(unsigned long address, unsigned long *data, unsigned short rnw);
+ short (*write_read_mem_Ap)(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw);
+ unsigned long (*GetJtagIdCode)();
+ unsigned char (*SwdTransferData)(unsigned char regiser, unsigned long* data, unsigned char rnw);
+};
+typedef struct edt_distinct_methods edt_distinct_methods_t;
+
+#endif
diff --git a/Bios/src/hil/msp_fet/arch.h b/Bios/src/hil/msp_fet/arch.h
new file mode 100644
index 0000000..6b765a9
--- /dev/null
+++ b/Bios/src/hil/msp_fet/arch.h
@@ -0,0 +1,192 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file arch.h
+//! \brief
+//!
+#include "msp430.h"
+#define uController_uif
+
+#ifndef _UIFV1_ARCH_H_
+#define _UIFV1_ARCH_H_
+
+enum {JTAG = 0, SPYBIWIRE = 1, SPYBIWIREJTAG = 2, JTAGUNDEF = 4, SPYBIWIRE_SUBMCU = 5, SPYBIWIRE_MSP_FET=6, JTAG_432 = 7, SWD_432 = 8};
+
+#define RSTHIGH 0
+#define RSTLOW 1
+
+#define Invalid_Manufactor_IdCode 0x000000FEul
+#define Mask_Manufactor_IdCode 0x000000FEul
+
+#define A_VREFPLUS 2.5f // conversion reference voltage Vref+=2.5V,
+
+#define DCDC_STATUS (P3IN & (BIT0+BIT1)) // Status bits from the DCDC Sub MCU
+
+// Fuse blow related constants
+#define VF_PWM_TIMEOUT 4000
+#define VF_PWM_PERIOD 50
+#define VF_PWM_ON_TIME 40
+#define VF_PWM_OFF_TIME (VF_PWM_PERIOD - VF_PWM_ON_TIME)
+
+static const unsigned short ADC_CONV_RANGE = 4096;
+static const unsigned short ADC_AVERAGE = 1000;
+
+struct jtag
+{
+ unsigned char TCK;
+ unsigned char TMS;
+ unsigned char TDI;
+ unsigned char TDO;
+ unsigned char* In;
+ unsigned char* Out;
+ unsigned char RST;
+ unsigned char TST;
+ unsigned char* DIRECTION;
+};
+
+struct vfuse_ctrl
+{
+ unsigned char VF2TEST;
+ unsigned char VF2TDI;
+ unsigned char TDI_OFF;
+ unsigned char* CTRL;
+ unsigned char PWM_SETVF;
+ unsigned char* PWM_CTRL;
+};
+
+static const struct jtag _Jtag_SubMcu =
+{
+ 0, // TCK, unused in SBW mode
+ 0, // TMS, unused in SBW mode
+ 0, // TDI, unused in SBW mode
+ 0, // TDO, unused in SBW mode
+ (unsigned char*)&P7IN, // JTAG input Register
+ (unsigned char*)&P7OUT, // JTAG output Register
+ (unsigned char)BIT5, // RST, P7.5, (inout)
+ (unsigned char)BIT4, // TST, P7.4, (out)
+ (unsigned char*)&P7DIR // JTAG direction Register
+};
+
+static const struct jtag _SBW_Back =
+{
+ 0, // TCK, unused in SBW mode
+ 0, // TMS, unused in SBW mode
+ 0, // TDI, unused in SBW mode
+ 0, // TDO, unused in SBW mode
+ (unsigned char*)&P3IN, // JTAG input Register
+ (unsigned char*)&P3OUT, // JTAG output Register
+ (unsigned char)BIT3, // RST, P3.3 TDO(in/out)
+ (unsigned char)BIT0, // TST, P3.0 TCK(out)
+ (unsigned char*)&P3DIR // JTAG direction Register
+};
+
+static const struct jtag _Jtag_Target =
+{
+ (unsigned char)BIT0, // TCK, P3.0 (out) (high)
+ (unsigned char)BIT1, // TMS, P3.1 (out) (high)
+ (unsigned char)BIT2, // TDI, P3.2 (out) (high)
+ (unsigned char)BIT3, // TDO, P3.3 (in)
+ (unsigned char*)&P3IN, // JTAG input Register
+ (unsigned char*)&P3OUT, // JTAG output Register
+ (unsigned char)BIT4, // RST, P3.4 (out)
+ (unsigned char)BIT5, // TST, P3.5 (out)
+ (unsigned char*)&P3DIR // JTAG direction Register
+};
+
+static const struct jtag _Jtag_FPGA =
+{
+ (unsigned char)BIT0, // TCK, P9.0 (out) (high)
+ (unsigned char)BIT2, // TMS, P9.2 (out) (high)
+ (unsigned char)BIT1, // TDI, P9.1 (out) (high)
+ (unsigned char)BIT3, // TDO, P9.3 (in)
+ (unsigned char*)&P9IN, // JTAG input Register
+ (unsigned char*)&P9OUT, // JTAG output Register
+ (unsigned char)BIT4, // RST
+ (unsigned char)BIT4, // TST
+ (unsigned char*)&P9DIR // JTAG direction Register
+};
+
+static const struct vfuse_ctrl _Msp_Fet =
+{
+ (unsigned char)BIT2, // VF2TEST, P5.2 (out)
+ (unsigned char)BIT4, // VF2TDI, P5.4 (out)
+ (unsigned char)BIT5, // TDIOFF, P5.5 (out)
+ (unsigned char*)&P5OUT, // VF control register
+ (unsigned char)BIT7, // VF PWM, P9.7 (out)
+ (unsigned char*)&P9OUT // VF PWM control register
+};
+
+struct savedDacValues
+{
+ unsigned short DAC0;
+ unsigned short DAC1;
+ unsigned short Vcc;
+ unsigned short valid;
+};
+typedef struct savedDacValues savedDacValues_t;
+
+#define VALID_DATA 0x1A
+#define SYNC_ONGOING 0x2A
+#define INVALID_DATA 0x3A
+#define JTAG_LOCKED 0x4A
+
+#define BP_HIT_MASK_J 0x0400000000000000ull
+#define LPMX5_MASK_J 0x4000000000000000ull
+#define LPM4_1MASK_J 0x8000000000000000ull
+#define LPM4_2MASK_J 0x8300000000000000ull
+#define EIGHT_JSTATE_BITS 0x100000000000000ull
+#define SYNC_BROKEN 0x5A
+
+#define JSTATE_FLOW_CONTROL_BITS 0xC7
+#define JSTATE_BP_HIT 0x4
+#define JSTATE_SYNC_ONGOING 0x83
+#define JSTATE_LOCKED_STATE 0x40
+#define JSTATE_INVALID_STATE 0x81
+#define JSTATE_LPM_ONE_TWO 0x82
+#define JSTATE_LPM_THREE_FOUR 0x80
+#define JSTATE_VALID_CAPTURE 0x03
+#define JSTATE_LPM_X_FIVE 0xC0
+
+#define JSTATE_SYNC_BROKEN_MASK 0xC3
+#define JSTATE_SYNC_BROKEN_PGACT 0x02
+#define JSTATE_SYNC_BROKEN_MCLK 0x01
+#define JSTATE_SYNC_BROKEN_MCLK_PGACT 0x00
+
+#define FET_TRUE 0x1
+#define FET_FALSE 0x0
+
+#define L092_MODE 0xA55AA55A
+#define C092_MODE 0x5AA55AA5
+
+#endif
diff --git a/Bios/src/hil/msp_fet/archFpga.h b/Bios/src/hil/msp_fet/archFpga.h
new file mode 100644
index 0000000..125155e
--- /dev/null
+++ b/Bios/src/hil/msp_fet/archFpga.h
@@ -0,0 +1,298 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "msp430.h"
+#define uController_uif
+
+#ifndef _FPGA_ARCH_H_
+#define _FPGA_ARCH_H_
+// ------------------------------------------------------------------------------
+// FPGA
+
+// RESET
+#define FPGA_RESET_BIT ( BIT1 )
+#define FPGA_RESET_PORT_DIR ( P5DIR )
+#define FPGA_RESET_PORT_OUT ( P5OUT )
+#define FPGA_RESET_ASSERT { FPGA_RESET_PORT_OUT &= ~FPGA_RESET_BIT; }
+#define FPGA_RESET_DEASSERT { FPGA_RESET_PORT_OUT |= FPGA_RESET_BIT; }
+
+#define TRIGGER_LA { P6OUT |= BIT7; __delay_cycles(10); P6OUT &= ~BIT7; }
+#define TRIGGER_ONCE { P6OUT ^= BIT7; }
+
+// DCDC output to target VCC
+#define DCDC_VCC_BIT ( BIT7 )
+#define DCDC_VCC_PORT_OUT ( P8OUT )
+#define DCDC_VCC_ENABLE { DCDC_VCC_PORT_OUT |= DCDC_VCC_BIT; }
+#define DCDC_VCC_DISABLE { DCDC_VCC_PORT_OUT &= ~DCDC_VCC_BIT; }
+
+// DT voltage to target VCC
+#define DT_VCC_BIT ( BIT6 )
+#define DT_VCC_PORT_OUT ( P9OUT )
+#define DT_VCC_ENABLE { DT_VCC_PORT_OUT |= DT_VCC_BIT; }
+#define DT_VCC_DISABLE { DT_VCC_PORT_OUT &= ~DT_VCC_BIT; }
+
+// DT voltage to level shifters
+#define DT_SIGNALS_BIT ( BIT0 )
+#define DT_SIGNALS_PORT_OUT ( P8OUT )
+#define DT_SIGNALS_ENABLE { DT_SIGNALS_PORT_OUT |= DT_SIGNALS_BIT; }
+#define DT_SIGNALS_DISABLE { DT_SIGNALS_PORT_OUT &= ~DT_SIGNALS_BIT; }
+
+// SYS_CLK
+#define FPGA_SYS_CLK_BIT ( BIT7 )
+#define FPGA_SYS_CLK_PORT_DIR ( P2DIR )
+#define FPGA_SYS_CLK_PORT_SEL ( P2SEL )
+#define FPGA_SYS_CLK_START { FPGA_SYS_CLK_PORT_SEL |= FPGA_SYS_CLK_BIT; }
+#define FPGA_SYS_CLK_STOP { FPGA_SYS_CLK_PORT_SEL &= ~FPGA_SYS_CLK_BIT; }
+
+// WR_TRIG
+#define FPGA_WR_TRIG_BIT ( BIT6 )
+#define FPGA_WR_TRIG_PORT_DIR ( P2DIR )
+#define FPGA_WR_TRIG_PORT_OUT ( P2OUT )
+
+// RD_TRIG
+#define FPGA_RD_TRIG_BIT ( BIT6 )
+#define FPGA_RD_TRIG_PORT_DIR ( P5DIR )
+#define FPGA_RD_TRIG_PORT_IN ( P5IN )
+#define FPGA_RD_TRIG_IS_ASSERTED ( FPGA_RD_TRIG_PORT_IN & FPGA_RD_TRIG_BIT )
+
+// CMD
+#define FPGA_CMD_BITS ( BIT2 + BIT3 + BIT4 + BIT5 )
+#define FPGA_CMD_PORT_DIR ( P2DIR )
+#define FPGA_CMD_PORT_OUT ( P2OUT )
+
+// DATA0
+#define FPGA_DATA0_BITS ( 0xFF )
+#define FPGA_DATA0_PORT_DIR ( P1DIR )
+#define FPGA_DATA0_PORT_IN ( P1IN )
+#define FPGA_DATA0_PORT_OUT ( P1OUT )
+
+// CMD, DATA0, WR_TRIG
+#define FPGA_CMD_DATA0_PORT_OUT ( PAOUT )
+
+// DATA1
+#define FPGA_DATA1_BITS ( 0xFFFF )
+#define FPGA_DATA1_PORT_DIR ( PBDIR )
+#define FPGA_DATA1_PORT_IN ( PBIN )
+#define FPGA_DATA1_PORT_OUT ( PBOUT )
+
+// IO_DIR
+#define FPGA_IO_DIR_BIT ( BIT1 )
+#define FPGA_IO_DIR_PORT_DIR ( P8SEL )
+#define FPGA_IO_DIR_PORT_OUT ( P8OUT )
+
+// UART_TXD / UART_TXD (MSP-FET RXD input, JTAG.12)
+#define FPGA_UART_TXD_BIT ( BIT3 )
+#define FPGA_UART_TXD_PORT_SEL ( P8SEL )
+
+// UART_RXD / UART_RXD (MSP-FET TXD output, JTAG.14)
+#define FPGA_UART_RXD_BIT ( BIT2 )
+#define FPGA_UART_RXD_PORT_SEL ( P8SEL )
+#define FPGA_UART_RXD_PORT_OUT ( P8OUT )
+#define FPGA_UART_RXD_HIGH { FPGA_UART_RXD_PORT_OUT |= FPGA_UART_RXD_BIT; }
+#define FPGA_UART_RXD_LOW { FPGA_UART_RXD_PORT_OUT &= ~FPGA_UART_RXD_BIT; }
+
+// UART_CTS / UART_CTS (MSP-FET "clear to send" output, JTAG.10)
+#define FPGA_UART_CTS_BIT ( BIT5 )
+#define FPGA_UART_CTS_PORT_DIR ( P9DIR )
+#define FPGA_UART_CTS_PORT_OUT ( P9OUT )
+#define FPGA_UART_CTS_HIGH { FPGA_UART_CTS_PORT_OUT |= FPGA_UART_CTS_BIT; }
+#define FPGA_UART_CTS_LOW { FPGA_UART_CTS_PORT_OUT &= ~FPGA_UART_CTS_BIT; }
+
+// UART_RTR / UART_RTR (MSP-FET "ready to receive" input, JTAG.13)
+#define FPGA_UART_RTR_BIT ( BIT1 )
+#define FPGA_UART_RTR_PORT_DIR ( P2DIR )
+#define FPGA_UART_RTR_PORT_IN ( P2IN )
+#define FPGA_UART_RTR_IS_HIGH ( FPGA_UART_RTR_PORT_IN & FPGA_UART_RTR_BIT )
+
+// JTAG signals in bypass mode
+#define FPGA_BYPASS_DIR_CTRL_TEST_BIT ( BIT5 )
+#define FPGA_BYPASS_DIR_CTRL_RST_BIT ( BIT4 )
+#define FPGA_BYPASS_DIR_CTRL_TDO_BIT ( BIT3 )
+#define FPGA_BYPASS_DIR_CTRL_TDI_BIT ( BIT2 )
+#define FPGA_BYPASS_DIR_CTRL_TMS_BIT ( BIT1 )
+#define FPGA_BYPASS_DIR_CTRL_TCK_BIT ( BIT0 )
+#define FPGA_BYPASS_DIR_CTRL_PORT_DIR ( P4DIR )
+#define FPGA_BYPASS_DIR_CTRL_PORT_OUT ( P4OUT )
+#define FPGA_BYPASS_DIR_CTRL_PORT_IN ( P4IN )
+
+#define FPGA_BYPASS_TEST_BIT ( BIT5 )
+#define FPGA_BYPASS_RST_BIT ( BIT4 )
+#define FPGA_BYPASS_TDO_BIT ( BIT3 )
+#define FPGA_BYPASS_TDI_BIT ( BIT2 )
+#define FPGA_BYPASS_TMS_BIT ( BIT1 )
+#define FPGA_BYPASS_TCK_BIT ( BIT0 )
+#define FPGA_BYPASS_JTAG_PORT_DIR ( P3DIR )
+#define FPGA_BYPASS_JTAG_PORT_OUT ( P3OUT )
+#define FPGA_BYPASS_JTAG_PORT_IN ( P3IN )
+
+#define FPGA_BYPASS_TEST_HIGH { FPGA_BYPASS_JTAG_SBW_PORT_OUT |= FPGA_BYPASS_TEST_BIT; }
+#define FPGA_BYPASS_TEST_LOW { FPGA_BYPASS_JTAG_SBW_PORT_OUT &= ~FPGA_BYPASS_TEST_BIT; }
+#define FPGA_BYPASS_RST_HIGH { FPGA_BYPASS_JTAG_SBW_PORT_OUT |= FPGA_BYPASS_RST_BIT; }
+#define FPGA_BYPASS_RST_LOW { FPGA_BYPASS_JTAG_SBW_PORT_OUT &= ~FPGA_BYPASS_RST_BIT; }
+#define FPGA_BYPASS_TDI_HIGH { FPGA_BYPASS_JTAG_SBW_PORT_OUT |= FPGA_BYPASS_TDI_BIT; }
+#define FPGA_BYPASS_TDI_LOW { FPGA_BYPASS_JTAG_SBW_PORT_OUT &= ~FPGA_BYPASS_TDI_BIT; }
+#define FPGA_BYPASS_TMS_HIGH { FPGA_BYPASS_JTAG_SBW_PORT_OUT |= FPGA_BYPASS_TMS_BIT; }
+#define FPGA_BYPASS_TMS_LOW { FPGA_BYPASS_JTAG_SBW_PORT_OUT &= ~FPGA_BYPASS_TMS_BIT; }
+#define FPGA_BYPASS_TCK_HIGH { FPGA_BYPASS_JTAG_SBW_PORT_OUT |= FPGA_BYPASS_TCK_BIT; }
+#define FPGA_BYPASS_TCK_LOW { FPGA_BYPASS_JTAG_SBW_PORT_OUT &= ~FPGA_BYPASS_TCK_BIT; }
+#define FPGA_BYPASS_TDO_IS_ASSERTED ( FPGA_BYPASS_JTAG_SBW_PORT_IN & FPGA_BYPASS_TDO_BIT )
+
+// UART direction signals in bypass mode
+#define FPGA_BYPASS_DIR_CTRL_UART_RTR_BIT ( BIT7 )
+#define FPGA_BYPASS_DIR_CTRL_UART_CTS_BIT ( BIT6 )
+#define FPGA_BYPASS_DIR_CTRL_UART_RXD_BIT ( BIT5 )
+#define FPGA_BYPASS_DIR_CTRL_UART_TXD_BIT ( BIT4 )
+//#define FPGA_BYPASS_DIR_CTRL_PORT_OUT ( P1OUT )
+
+// UART data signals in bypass mode
+#define FPGA_BYPASS_UART_RTR_BIT ( BIT1 )
+#define FPGA_BYPASS_UART_RTR_PORT_DIR ( P2DIR)
+#define FPGA_BYPASS_UART_RTR_PORT_OUT ( P2OUT )
+#define FPGA_BYPASS_UART_CTS_BIT ( BIT5 )
+#define FPGA_BYPASS_UART_CTS_PORT_DIR ( P9DIR )
+#define FPGA_BYPASS_UART_CTS_PORT_OUT ( P9OUT )
+#define FPGA_BYPASS_UART_RXD_BIT ( BIT2 )
+#define FPGA_BYPASS_UART_RXD_PORT_DIR ( P8DIR )
+#define FPGA_BYPASS_UART_RXD_PORT_OUT ( P8OUT )
+#define FPGA_BYPASS_UART_TXD_BIT ( BIT3 )
+#define FPGA_BYPASS_UART_TXD_PORT_DIR ( P8DIR )
+#define FPGA_BYPASS_UART_TXD_PORT_OUT ( P8OUT )
+
+// FPGA commands
+#define FPGA_CMD_CFG 0x00
+#define FPGA_CMD_IR8_RD 0x01
+#define FPGA_CMD_IR8 0x02
+#define FPGA_CMD_IR4_RD 0x03
+#define FPGA_CMD_IR4 0x04
+#define FPGA_CMD_DR8_RD 0x05
+#define FPGA_CMD_DR8 0x06
+#define FPGA_CMD_DRX_RD 0x07
+#define FPGA_CMD_DRX 0x08
+#define FPGA_CMD_DRX0_RD 0x09
+#define FPGA_CMD_BYPASS 0x0A
+#define FPGA_CMD_RESET 0x0B
+#define FPGA_CMD_ABORT 0x0C
+#define FPGA_CMD_VERSION 0x0D
+#define FPGA_CMD_CJTAG 0x0E
+
+// FPGA cJTAG commands
+#define FPGA_CJTAG_ZBS 0x00
+#define FPGA_CJTAG_TCKIDLE 0x01
+
+// Config Parameters
+//FPGA registers
+#define REG_RESPONSE_HANDSHAKE_OFF 0x00
+#define REG_PROTOCOL 0x01
+#define REG_IRSCAN_PREAMBLE 0x02
+#define REG_IRSCAN_POSTAMBLE 0x03
+#define REG_DRSCAN_PREAMBLE 0x04
+#define REG_DRSCAN_POSTAMBLE 0x05
+#define REG_TEST_CLK_FREQUENCY 0x06
+#define REG_TARGET_IO_CONFIGURATION 0x07
+#define REG_TCLKset0 0x08
+#define REG_TCLKset1 0x09
+#define REG_TCLK_CLK_FREQUENCY 0x0a
+#define REG_START_FIFO 0x0b
+#define REG_STOP_FIFO 0x0c
+#define REG_JTAG_4_WIRE_FPGA_432 0x0D
+
+#define JTAG_4_WIRE_FPGA 0
+#define SBW_2_MSP_FET_FPGA 2
+#define SBW_2_BACK_FPGA 1
+#define TDI_TO_TDO_FPGA 3
+#define TRI_STATE_FPGA_JTAG 4
+#define TRI_STATE_FPGA_SBW 5
+
+
+// PORTA bits
+typedef union
+{
+ // Bit control
+ struct
+ {
+ unsigned char DATA0 : 8;
+ unsigned char UCA0TXD : 1;
+ unsigned char UCA0RXD : 1;
+ unsigned char CMD : 4;
+ unsigned char WR_TRIG : 1;
+ unsigned char RESERVED1 : 1;
+ } bit;
+
+ // Bypass control
+ struct
+ {
+ unsigned char IO_GPIO0 : 1;
+ unsigned char IO_GPIO1 : 1;
+ unsigned char RESERVED0 : 2;
+ unsigned char DIR_CTRL_GPIO0 : 1;
+ unsigned char DIR_CTRL_GPIO1 : 1;
+ unsigned char DIR_CTRL_GPIO2 : 1;
+ unsigned char DIR_CTRL_GPIO3 : 1;
+ unsigned char IO_GPIO2 : 1;
+ unsigned char IO_GPIO3 : 1;
+ unsigned char RESERVED1 : 6;
+ } byp;
+
+ // 16-bit access
+ unsigned int all;
+
+} s_FPGA_PA;
+
+// PORTB bits
+typedef union
+{
+ // Bypass control
+ struct
+ {
+ unsigned char IO_TCK : 1;
+ unsigned char IO_TMS : 1;
+ unsigned char IO_TDI : 1;
+ unsigned char IO_TDO : 1;
+ unsigned char IO_RST : 1;
+ unsigned char IO_TEST : 1;
+ unsigned char RESERVED0 : 2;
+ unsigned char DIR_CTRL_TCK : 1;
+ unsigned char DIR_CTRL_TMS : 1;
+ unsigned char DIR_CTRL_TDI : 1;
+ unsigned char DIR_CTRL_TDO : 1;
+ unsigned char DIR_CTRL_RST : 1;
+ unsigned char DIR_CTRL_TEST : 1;
+ unsigned char RESERVED1 : 2;
+ } byp;
+
+ // 16-bit access
+ unsigned int all;
+
+} s_FPGA_PB;
+
+#endif
diff --git a/Bios/src/hil/msp_fet/cstartup_hil.s43 b/Bios/src/hil/msp_fet/cstartup_hil.s43
new file mode 100644
index 0000000..3044ed8
--- /dev/null
+++ b/Bios/src/hil/msp_fet/cstartup_hil.s43
@@ -0,0 +1,454 @@
+/* --------------------------------------------------------------------------
+* Copyright 2012, IAR Systems AB.
+*
+* This source code is the property of IAR Systems. The source code may only
+* be used together with the IAR Embedded Workbench. Redistribution and use
+* in source and binary forms, with or without modification, is permitted
+* provided that the following conditions are met:
+*
+* - Redistributions of source code, in whole or in part, must retain the
+* above copyright notice, this list of conditions and the disclaimer below.
+*
+* - IAR Systems name may not be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*
+*
+* $Revision: 5271 $
+* ------------------------------------------------------------------------*/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+#ifdef DISABLE_WATCHDOG
+#include "msp430.h"
+#endif
+
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+ // The CPU40 warning is issued when a Jxx instruction is place
+ // at the end of a segment part. However, this case is safe,
+ // as we have control of what will be placed right after the
+ // instruction.
+ SUPPRESS_CPU40_WARNING
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+
+// ---------------------------------------------------------
+// System initialization.
+//
+ RSEG DATA16_N
+saved_stack DS 2
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+#endif
+
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+
+ MOV SP, saved_stack
+
+ pushx R4
+ pushx R5
+ pushx R6
+ pushx R7
+ pushx R8
+ pushx R9
+ pushx R10
+ pushx R11
+ pushx R12
+ pushx R13
+ pushx R14
+ pushx R15
+
+ //MOV #SFE(CSTACK), SP
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XCALL #__low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ MOV #SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XCALL #__data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ MOVA #SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XCALL #__data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XCALL #__data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ MOV #SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XCALL #__data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XCALL #__data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ MOVA #SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XCALL #__data20_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+#endif // MSP430X
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+#ifdef REGISTER_MODEL_REG20
+
+ MOVA #SFB DIFUNCT, CW0
+ MOVA #SFE DIFUNCT, CW1
+
+#else /* REGISTER_MODEL_REG20 */
+
+ MOV.W #SFB DIFUNCT, CW0
+ MOV.W #SFE DIFUNCT, CW1
+
+#endif /* REGISTER_MODEL_REG20 */
+
+ XCALL #__call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+ EXTERN _hil_startUp
+ EXTERN exit
+
+?cstart_call_main:
+
+ popx R15
+ popx R14
+ popx R13
+ popx R12
+ popx R11
+ popx R10
+ popx R9
+ popx R8
+ popx R7
+ popx R6
+ popx R5
+ popx R4
+
+ //XCALL #_hil_startUp
+ movx.a #_hil_startUp, PC
+ MOV saved_stack,SP
+ //XRET // indicates that the normal
+ //XCALL #exit
+
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC16 __program_start
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// ?CPU30_OFFSET
+//
+// The compiler compensates for the CPU30 hardware bug by adding or
+// subtracting the symbol ?CPU30_OFFSET from certain immediates. Here,
+// it is defined to the default value zero (0), for when the device is
+// not affected by CPU30. If the device is affected, the value must be
+// set to two (2) using a linker command line override:
+//
+// -D?CPU30_OFFSET=2.
+//
+// The override is normally placed in the device-specific .xcl file.
+
+ MODULE ?cpu30_offset
+
+ PUBLIC ?CPU30_OFFSET
+
+?CPU30_OFFSET EQU 0
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/hil/msp_fet/hil.c b/Bios/src/hil/msp_fet/hil.c
new file mode 100644
index 0000000..f4aa158
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hil.c
@@ -0,0 +1,2211 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hil.c
+//! \brief
+//!
+
+//! \page hil_page1 (HIL)
+//! \brief The HIL ...
+//! \author Berenbrinker Florian (01/01/2012)
+//!
+//! files \n
+//! \li hil.c
+//! \li hil_2w.c
+//! \li hil_4w.c
+//! \li hil_delays.s43
+//! \li hil_delays.h
+//! \li arch.h
+
+#include
+#include "hw_compiler_specific.h"
+#include "arch.h"
+#include "hilDelays.h"
+
+#include "hilFpgaAccess.h"
+#include "archFpga.h"
+
+#include "hilAdcControl.h"
+#include "hilDacControl.h"
+
+#include "JTAG_defs.h"
+#include "hil_Structs.h"
+#include "../../fw/fet/FetVersion.h"
+
+
+//#define HIL_VERSION 0x000C
+#define HIL_SIGNATURE 0xF00DF00Dul
+#define EXTERNAL_VCC_ON 1
+#define EXTERNAL_VCC_OFF 0
+
+#define REGULATION_ON 1
+#define REGULATION_OFF 0
+
+//! \brief version of bios code
+const unsigned short hil_version_ @ "HILVERSION" = MSP_FET_HIL_VERSION;
+#pragma required=hil_version_
+
+const unsigned short hil_versionCmp_ @ "HILVERSIONCMP" = MSP_FET_HIL_VERSION_CMP;
+#pragma required=hil_versionCmp_
+
+const unsigned long hil_signature_ @ "HILSIGNATURE" = HIL_SIGNATURE;
+#pragma required=hil_signature_
+
+
+
+
+unsigned short gTclkHighWhilePsa;
+unsigned short setValueVcc;
+unsigned short externalVccOn;
+unsigned short regulationOn;
+
+unsigned short jtagReleased;
+unsigned short setPCclockBeforeCapture;
+
+// function prototypes for map initialization
+// common HIL configuration methods
+short _hil_Init( void );
+short _hil_SetVcc(unsigned short Vcc);
+short _hil_GetVcc(double* Vcc, double* ExtVcc);
+short _hil_SetProtocol(unsigned short protocol_id);
+void _hil_SetPsaSetup(unsigned short enhanced);
+void _hil_SetPsaTCLK(unsigned short tclkValue);
+
+short _hil_Open( unsigned char state );
+short _hil_Close( void );
+short IccMonitor_Process(unsigned short flags); // flags: to be compatible with HIL calls
+void _hil_EntrySequences(unsigned char states);
+
+void _hil_SetReset(unsigned char value);
+void _hil_SetTest(unsigned char value);
+void _hil_SetTMS(unsigned char value);
+void _hil_SetTDI(unsigned char value);
+void _hil_SetTCK(unsigned char value);
+
+void _hil_SetJtagSpeed(unsigned short jtagSpeed, unsigned short sbwSpeed);
+void _hil_ConfigureSetPc (unsigned short PCclockBeforeCapture);
+
+void _hil_setDacValues(unsigned short dac0, unsigned short dac1);
+short _hil_regulateVcc(void);
+void _hil_switchVccFET(unsigned short switchVccFET);
+short _hil_SetVcc(unsigned short Vcc);
+
+unsigned long hil_Jtag_read_idcode();
+unsigned long hil_swd_read_idcode();
+
+// SBW4
+extern short _hil_4w_TapReset(void);
+extern short _hil_4w_CheckJtagFuse(void);
+extern void _hil_4w_StepPsa(unsigned long length);
+extern void _hil_4w_StepPsaTclkHigh(unsigned long length);
+extern short _hil_4w_BlowFuse(unsigned char targetHasTestVpp);
+extern unsigned char _hil_4w_Instr(unsigned char Instruction);
+
+// SBW2 DMA
+extern short _hil_2w_TapReset_Dma(void);
+extern short _hil_2w_CheckJtagFuse_Dma(void);
+extern unsigned char _hil_2w_Instr_Dma(unsigned char Instruction);
+extern unsigned char _hil_2w_SetReg_XBits08_Dma(unsigned char Data);
+extern unsigned short _hil_2w_SetReg_XBits16_Dma(unsigned short Data);
+extern unsigned long _hil_2w_SetReg_XBits20_Dma(unsigned long Data);
+extern unsigned long _hil_2w_SetReg_XBits32_Dma(unsigned long Data);
+extern unsigned long long _hil_2w_SetReg_XBits64_Dma(unsigned long long Data);
+extern unsigned long long _hil_2w_SetReg_XBits8_64_Dma(unsigned long long Data, unsigned short loopCount, unsigned short PG);
+extern void _hil_2w_Tclk_Dma(unsigned char state);
+extern void _hil_2w_StepPsa_Dma(unsigned long length);
+extern void _hil_2w_StepPsa_Dma_Xv2(unsigned long length);
+extern void _hil_2w_StepPsaTclkHigh_Dma(unsigned long length);
+extern short _hil_2w_BlowFuse_Dma(unsigned char targetHasTestVpp);
+extern void _hil_2w_ConfigureSpeed_Dma(unsigned short speed);
+extern unsigned char _hil_2w_GetPrevInstruction_Dma();
+extern unsigned char DMA_TMSL_TDIL[];
+extern void setProtocolSbw2Dma(unsigned short id);
+
+short _hil_dummy_TapReset(void) {return 0;}
+short _hil_dummy_CheckJtagFuse(void){return 0;}
+unsigned char _hil_dummy_Instr(unsigned char Instruction){return 0;}
+unsigned char _hil_dummy_SetReg_XBits08(unsigned char Data){return 0;}
+unsigned char _hil_dummy_Instr_4(unsigned char Data){return 0;}
+
+unsigned short _hil_dummy_SetReg_XBits16(unsigned short Data){return 0;}
+unsigned long _hil_dummy_SetReg_XBits20(unsigned long Data){return 0;}
+unsigned long _hil_dummy_SetReg_XBits32(unsigned long Data){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits64(unsigned long long Data){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits(unsigned long long *data, unsigned short count){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits35(unsigned long long *data){return 0;}
+
+void _hil_dummy_Tclk(unsigned char state){return;}
+void _hil_dummy_StepPsa(unsigned long length){return;}
+short _hil_dummy_BlowFuse(unsigned char targetHasTestVpp){return 0;}
+unsigned char _hil_dummy_GetPrevInstruction(){return 0;}
+
+short _hil_dummy_Write_Read_Ap(unsigned long address ,unsigned long *data, unsigned short rnw){return -1;};
+short _hil_dummy_Write_Read_Dp(unsigned char address ,unsigned long *data, unsigned short rnw){return -1;};
+short _hil_dummy_Write_Read_Mem_Ap(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw){return -1;};
+unsigned long _hil_read_idcodeDummy(){return -1;}
+unsigned char _hil_dummy_TransferData(unsigned char regiser, unsigned long* data, unsigned char rnw){return -1;};
+void _hil_dummy_SetToolID(unsigned short id) {return;}
+
+// FPGA generic 430
+extern void initGeneric();
+extern unsigned char _hil_generic_Instr(unsigned char Instruction);
+
+extern unsigned char _hil_generic_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_generic_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_generic_SetReg_XBits20(unsigned long Data);
+extern unsigned long _hil_generic_SetReg_XBits32(unsigned long Data);
+extern unsigned long long _hil_generic_SetReg_XBits64(unsigned long long Data);
+extern unsigned long long _hil_generic_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short PG);
+extern void _hil_generic_Tclk(unsigned char state);
+extern void _hil_generic_ConfigureSpeed(unsigned short speed);
+extern unsigned char _hil_generic_GetPrevInstruction();
+
+// FPGA generic 432
+extern unsigned char _hil_generic432_Instr_4(unsigned char Data);
+//extern unsigned long long _hil_generic432_SetReg_XBits(unsigned long long *data, unsigned short count);
+extern unsigned char _hil_generic432_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_generic432_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_generic432_SetReg_XBits32(unsigned long Data);
+extern unsigned long long _hil_generic432_SetReg_XBits64(unsigned long long Data);
+extern unsigned long long _hil_generic432_SetReg_XBits35(unsigned long long *data);
+
+extern void hil_4w_432_Seq(unsigned short length, unsigned char *sequence);
+
+// FPGA generic
+extern unsigned short hil_fpga_get_version(void);
+extern void _hil_FpgaAccess_setTimeOut(unsigned short state);
+
+// protocol specific methods
+// must be implemeted in SWD mode
+extern void hil_Swd_InitJtag(struct jtag tmp);
+extern void hil_Swd_Seq(unsigned short length, unsigned char *sequence);
+extern unsigned char Swd_TransferData(unsigned char regiser, unsigned long* data, unsigned char rnw);
+
+extern void SWDTCKset1();
+extern void SWDTCKset0();
+
+void SWD_Entry();
+void JTAG_Entry();
+
+short _hil_Write_Read_Ap_Jtag(unsigned long address ,unsigned long *data, unsigned short rnw);
+short _hil_Write_Read_Dp_Jtag(unsigned char address ,unsigned long *data, unsigned short rnw);
+short _hil_Write_Read_Mem_Ap_Jtag(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw);
+
+short _hil_Write_Read_Dp_Swd(unsigned char address ,unsigned long *data, unsigned short rnw);
+short _hil_Write_Read_Ap_Swd(unsigned long address, unsigned long *data, unsigned short rnw);
+short _hil_Write_Read_Mem_Ap_Swd(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw);
+
+void _hil_Release(void);
+void hil_initTimerA2(void);
+void _hil_BSL_EntrySequence(unsigned short);
+void _hil_BSL_EntrySequence1xx_4xx();
+void _hil_ReadADC12(void);
+void _hil_ConfigFpgaIoMode(unsigned short mode);
+
+static void _hil_Connect(unsigned char state);
+
+extern void initJtagSbw2Dma(struct jtag tmp);
+extern void initJtagSbw4(struct jtag tmp);
+
+edt_common_methods_t _Common_Methods;
+edt_distinct_methods_t _Distinct_Methods;
+
+static struct jtag _Jtag =
+{
+ 0, // TCK, P4.4 (out) (high)
+ 0, // TMS, P4.5 (out) (high)
+ 0, // TDI, P4.6 (out) (high)
+ 0, // TDO, P4.7 (in)
+ 0,
+ 0,
+ 0, //RST
+ 0, //TST
+ 0
+};
+
+// fuse blow control
+static struct vfuse_ctrl _VFuse =
+{
+ 0, // VF2TEST
+ 0, // VF2TDI
+ 0, // TDIOFF
+ 0, // VF control register
+ 0, // PWM_SETVF
+ 0, // VF PWM control register
+};
+
+unsigned short gprotocol_id;
+static unsigned short hil_sbw2Speed_;
+static unsigned short hil_jtagSpeed_;
+static short dtVccSenseState = 0;
+
+static volatile unsigned char useTDI = 0;
+
+#pragma inline=forced
+void RSTset1()
+{
+ { (*_Jtag.Out) |= _Jtag.RST; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void RSTset0()
+{
+ { (*_Jtag.Out) &= ~_Jtag.RST; }
+ _hil_Delay_1ms(5);
+}
+
+#pragma inline=forced
+void TMSset1()
+{
+ { (*_Jtag.Out) |= _Jtag.TMS; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TMSset0()
+{
+ { (*_Jtag.Out) &= ~_Jtag.TMS; }
+ _hil_Delay_1ms(5);
+}
+
+#pragma inline=forced
+void TCKset1()
+{
+ { (*_Jtag.Out) |= _Jtag.TCK; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TCKset0()
+{
+ { (*_Jtag.Out) &= ~_Jtag.TCK; }
+ _hil_Delay_1ms(5);
+}
+
+#pragma inline=forced
+void TCKset1NoDelay()
+{
+ { (*_Jtag.Out) |= _Jtag.TCK; }
+}
+
+#pragma inline=forced
+void TCKset0NoDelay()
+{
+ { (*_Jtag.Out) &= ~_Jtag.TCK; }
+}
+
+#pragma inline=forced
+void TDIset1()
+{
+ { (*_Jtag.Out) |= _Jtag.TDI; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TDIset0()
+{
+ { (*_Jtag.Out) &= ~_Jtag.TDI; }
+ _hil_Delay_1ms(5);
+}
+
+#pragma inline=forced
+void TSTset1()
+{
+ { (*_Jtag.Out) |= _Jtag.TST;}
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TSTset0()
+{
+ {(*_Jtag.Out) &= ~_Jtag.TST; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TSTset1NoDelay()
+{
+ { (*_Jtag.Out) |= _Jtag.TST;}
+}
+#pragma inline=forced
+void TSTset0NoDelay()
+{
+ {(*_Jtag.Out) &= ~_Jtag.TST; }
+}
+
+//#pragma inline=forced
+void TCLKset1()
+{
+ _Distinct_Methods.Tclk(1);
+}
+
+//#pragma inline=forced
+void TCLKset0()
+{
+ _Distinct_Methods.Tclk(0);
+}
+#pragma inline=forced
+void TCLK()
+{
+ TCLKset0();
+ TCLKset1();
+}
+
+static void _hil_initEdtCommenMethods()
+{
+ _Common_Methods.Init = _hil_Init;
+
+ _Common_Methods.SetVcc = _hil_SetVcc;
+ _Common_Methods.SwitchVccFET = _hil_switchVccFET;
+ _Common_Methods.GetVcc = _hil_GetVcc;
+
+ _Common_Methods.SetProtocol = _hil_SetProtocol;
+ _Common_Methods.SetPsaTCLK = _hil_SetPsaTCLK;
+
+ _Common_Methods.Open = _hil_Open;
+ _Common_Methods.Close = _hil_Close;
+
+ _Common_Methods.Delay_1us = _hil_Delay_1us;
+ _Common_Methods.Delay_1ms = _hil_Delay_1ms;
+
+ _Common_Methods.Loop = 0;
+
+ _Common_Methods.EntrySequences = _hil_EntrySequences;
+
+ _Common_Methods.SetReset = _hil_SetReset;
+ _Common_Methods.SetTest = _hil_SetTest;
+ _Common_Methods.SetTMS = _hil_SetTMS;
+ _Common_Methods.SetTCK = _hil_SetTCK;
+ _Common_Methods.SetTDI = _hil_SetTDI;
+
+ _Common_Methods.SetJtagSpeed = _hil_SetJtagSpeed;
+
+ _Common_Methods.ConfigureSetPc = _hil_ConfigureSetPc;
+ _Common_Methods.initDelayTimer = hil_initTimerA2;
+
+ _Common_Methods.BSL_EntrySequence = _hil_BSL_EntrySequence;
+ _Common_Methods.BSL_EntrySequence1xx_4xx = _hil_BSL_EntrySequence1xx_4xx;
+ _Common_Methods.SetToolID = _hil_dummy_SetToolID;
+
+
+ _Common_Methods.regulateVcc = _hil_regulateVcc;
+ _Common_Methods.setFpgaTimeOut = _hil_FpgaAccess_setTimeOut;
+ _Common_Methods.getFpgaVersion = hil_fpga_get_version;
+ _Common_Methods.ReadADC12 = _hil_ReadADC12;
+ _Common_Methods.ConfigFpgaIoMode = _hil_ConfigFpgaIoMode;
+}
+
+void _hil_getEdtDistinct(edt_distinct_methods_t* edt_distinct);
+void _hil_getEdtCommen(edt_common_methods_t* edt_commen);
+void _hil_switchVccFET(unsigned short switchVccFET);
+
+#pragma required=_hil_getEdtDistinct
+#pragma required=_hil_getEdtCommen
+
+void _hil_startUp()
+{
+ _hil_initEdtCommenMethods();
+ _Common_Methods.Init();
+
+ // DMA4 workaround
+ DMACTL4 |= DMARMWDIS;
+
+ return;
+}
+#pragma location="INFO_C_DISTINCT"
+void _hil_getEdtDistinct(edt_distinct_methods_t* edt_distinct)
+{
+ if(edt_distinct == 0)
+ {
+ return;
+ }
+
+ *edt_distinct = _Distinct_Methods;
+}
+
+#pragma location="INFO_C_COMMEN"
+void _hil_getEdtCommen(edt_common_methods_t* edt_commen)
+{
+ if(edt_commen == 0)
+ {
+ return;
+ }
+
+ *edt_commen = _Common_Methods;
+}
+
+void hil_initFuseBlow(struct vfuse_ctrl tmp)
+{
+ _VFuse = tmp;
+}
+
+void hil_initTimerB0(void)
+{
+ // Setup timer_B0 for current pulse measurement
+ TB0CTL = MC__STOP;
+ TB0CTL = TBSSEL__TBCLK + MC__CONTINUOUS + TBIE;
+}
+
+// -----------------------------------------------------------------------------
+void hil_initTimerA0(void)
+{
+ // Setup time_A0 for timestamping
+ TA0CTL = MC__STOP; // STOP Timer
+ TA0CTL = ID__8 + TASSEL__SMCLK; // Timer_A0 source:SMCLK/8 = 20 / 8 = 2.500 MHz = 1/400ns
+ TA0EX0 = 1; // Timer_A0 set additional divider to /2
+ TA0CTL |= TACLR + MC__CONTINOUS + TAIE; // START the timer in free-running mode
+}
+
+// -----------------------------------------------------------------------------
+void hil_initTimerA2(void)
+{
+ // Setup timer_A2 for hardware delay
+ TA2CTL = 0; // STOP Timer
+ TA2CTL = ID__8 +TASSEL__SMCLK; // Timer_B source:SMCLK ,SMCLK/0 = 20
+ TA2CCR0 = 0x8A0; // Load CCR0 with delay... (1ms delay)
+ TA2CCTL0 &= ~CCIE;
+}
+
+#pragma inline=forced
+void qDriveJTAG(void)
+{
+ (*_Jtag.Out) |= (_Jtag.TCK + _Jtag.TMS + _Jtag.TDI + _Jtag.RST );
+ (*_Jtag.Out) &= (~_Jtag.TST);
+ (*_Jtag.DIRECTION) |= (_Jtag.TCK + _Jtag.TMS + _Jtag.TDI);
+ (*_Jtag.DIRECTION) |= (_Jtag.TST + _Jtag.RST);
+ (*_Jtag.DIRECTION) &= (~_Jtag.TDO);
+}
+
+#pragma inline=forced
+void qDriveSbw(void)
+{
+ (*_Jtag.Out) |= _Jtag.RST;
+ (*_Jtag.Out) &= ~_Jtag.TST;
+ (*_Jtag.DIRECTION) |= ( _Jtag.TST + _Jtag.RST);
+}
+
+#pragma inline=forced
+void qDriveSwd(void)
+{
+ (*_Jtag.Out) |= _Jtag.TCK;
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ (*_Jtag.DIRECTION) |= ( _Jtag.TCK + _Jtag.TMS);
+}
+
+void _hil_ConfigFpgaIoMode(unsigned short mode)
+{
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_TARGET_IO_CONFIGURATION, mode);
+}
+
+
+void _hil_BSL_EntrySequence1xx_4xx()
+{
+ hil_fpga_enable_bypass();
+
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ qDriveSbw();
+ }
+ else
+ {
+ qDriveJTAG();
+ }
+
+ RSTset0(); // set RST 0
+ // INIT phase
+ TSTset0();
+ _hil_Delay_1ms(100);
+
+ TSTset1(); // set test to 1
+ _hil_Delay_1ms(100);
+
+ //this is the first pulse keep it low for less than 15us for 5xx
+ TSTset0NoDelay();
+
+ TCKset0NoDelay();
+ _hil_Delay_1us(5);
+
+ TCKset1NoDelay();
+ _hil_Delay_1us(5);
+
+ TSTset1(); // set test 1;
+
+ _hil_Delay_1ms(50);
+ TCKset0();
+
+ RSTset1(); // set RST 1;
+ _hil_Delay_1ms(50);
+
+ TCKset1();
+
+ TSTset0(); // set test 0;
+ _hil_Delay_1ms(50);
+
+ hil_fpga_disable_bypass();
+}
+
+
+void _hil_BSL_EntrySequence(unsigned short switchBypassOff)
+{
+ hil_fpga_enable_bypass();
+
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ qDriveSbw();
+ }
+ else
+ {
+ qDriveJTAG();
+ }
+
+ RSTset0(); // set RST 0
+ // INIT phase
+ TSTset0();
+ _hil_Delay_1ms(100);
+
+ TSTset1(); // set test to 1
+ _hil_Delay_1ms(100);
+
+ //this is the first pulse keep it low for less than 15us for 5xx
+ TSTset0NoDelay();
+ if(!switchBypassOff)
+ {
+ TCKset0NoDelay();
+ _hil_Delay_1us(5);
+ }
+ else
+ {
+ _hil_Delay_1us(10);
+ }
+
+ if(!switchBypassOff)
+ {
+ TCKset1NoDelay();
+ _hil_Delay_1us(5);
+ }
+ TSTset1(); // set test 1;
+
+ _hil_Delay_1ms(50);
+ if(!switchBypassOff)
+ {
+ TCKset0();
+ }
+ RSTset1(); // set RST 1;
+ _hil_Delay_1ms(50);
+ if(!switchBypassOff)
+ {
+ TCKset1();
+ }
+ TSTset0(); // set test 0;
+ _hil_Delay_1ms(50);
+
+ if(switchBypassOff)
+ {
+ hil_fpga_disable_bypass();
+ }
+}
+
+
+// -----------------------------------------------------------------------------
+
+short _hil_Init( void )
+{
+ hil_initTimerA0(); // TimeStamp
+ hil_initTimerA2(); // Current pulse counter
+ hil_initTimerB0(); // Delay loop timer
+
+ hil_DacControlInitDAC0();
+ hil_DacControlInitDAC1();
+ hil_AdcControlInitADC();
+
+ DMACTL2 = 0;
+ DMACTL1 = 0;
+
+ // default config
+ externalVccOn = EXTERNAL_VCC_OFF;
+ regulationOn = REGULATION_OFF;
+ dtVccSenseState = 0;
+
+ // set default to TCLK low when doing PSA
+ gTclkHighWhilePsa = 0;
+ // initialize function pointers to distinct functions
+
+ // initialize FPGA
+ hil_fpga_init();
+ // set default debug protocol to JTAG
+ gprotocol_id = SPYBIWIREJTAG;
+ // set default to TCLK low when doing PSA
+ gTclkHighWhilePsa = 0;
+ // initialize function pointers to distinct functions
+ _hil_SetProtocol(SPYBIWIREJTAG);
+ jtagReleased = 1;
+
+ // initialize fuse blow control
+ hil_initFuseBlow(_Msp_Fet);
+
+ // Default SBW2 speed --> 60MHz/(98+2) = 600 kHz
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_TEST_CLK_FREQUENCY, 35);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_TCLK_CLK_FREQUENCY, 35);
+ // set Io config to IO_CONFIG_HIGH_Z_UART
+ _hil_ConfigFpgaIoMode(0x0);
+ return 0;
+}
+
+
+short _hil_regulateVcc(void)
+{
+ volatile unsigned short externalVcc = 0, dtVcc = 0;
+ volatile short actualDeviation = 0;
+
+ externalVcc = hil_AdcControlGetExternalVcc();
+ dtVcc = hil_AdcControlGetVccDt();
+
+ if(dtVccSenseState)
+ {
+ P8OUT |= BIT0;
+ _hil_Delay_1ms(500);
+ dtVccSenseState = 0;
+ }
+
+ if(hil_AdcControlGetDtVccSense() > 280 )
+ {
+ P8OUT &= ~BIT0;
+ dtVccSenseState = 1;
+ _hil_Delay_1ms(1000);
+ return 1;
+ }
+
+ if((externalVcc < 1600 || externalVcc > 3800 )&& externalVccOn)
+ {
+ externalVccOn = EXTERNAL_VCC_OFF;
+ return 0;
+ }
+
+ if(externalVcc > 1600 && externalVcc < 3800)
+ {
+ // interal target VCC set 0
+ hil_DacControlSetDAC1(0);
+ setValueVcc = externalVcc;
+ externalVccOn = EXTERNAL_VCC_ON;
+ regulationOn = REGULATION_ON;
+ }
+
+ // if VCC or no External VCC measured , do not regulate
+ if(!regulationOn || !externalVccOn)
+ {
+ return 0;
+ }
+ // JAG VCC - I - part - must be regulated with external and internal VCC to keep the same level
+ if(dtVcc < (setValueVcc - 10))
+ {
+ actualDeviation = setValueVcc - dtVcc;
+ if(DAC12_0DAT > 0)
+ {
+ if(actualDeviation > 500)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 100);
+ }
+ else if(actualDeviation > 100)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 10);
+ }
+ else if(actualDeviation > 20)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 5);
+ }
+ else
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 1);
+ }
+ }
+ }
+ else if(dtVcc > (setValueVcc + 10))
+ {
+ actualDeviation = dtVcc - setValueVcc;
+
+ if(DAC12_0DAT <= 0xD00)
+ {
+ if(actualDeviation > 500)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 100);
+ }
+ else if(actualDeviation > 100)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 10);
+ }
+ else if(actualDeviation > 20)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 5);
+ }
+ else
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 1 );
+ }
+ }
+ }
+
+ return 0;
+}
+
+void _hil_setDacValues(unsigned short dac0, unsigned short dac1)
+{
+ hil_DacControlSetDAC1(dac1);
+ hil_DacControlSetDAC0(dac0);
+}
+
+void _hil_ReadADC12(void)
+{
+ hil_AdcControlRead();
+}
+
+void _hil_switchVccFET(unsigned short switchVccFET)
+{
+ if(switchVccFET)
+ {
+ hil_fpga_enable_bypass();
+ //This workaround is necessary to set TCK & TEST to a defined low level before
+ //applying Vcc to the target device
+ //otherwise the target will not power up correctly and the UIF can't
+ //establish a SBW communication
+ TSTset0();
+ (*_Jtag.Out) &= ~(_Jtag.TCK );
+ (*_Jtag.DIRECTION) |= (_Jtag.TCK);
+
+ // During USB power up, TDI and TMS output pins need to be put to Hi-Z state.
+ // configuer level shifter as input - Hi-Z
+ (*_Jtag.Out) &= ~(_Jtag.TDI + _Jtag.TMS);
+ (*_Jtag.DIRECTION) &= ~(_Jtag.TDI + _Jtag.TMS);
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT &= ~(_Jtag.TDI + _Jtag.TMS);
+
+ P8DIR |= (BIT0 + BIT7);
+ P8OUT |= (BIT0 + BIT7);
+
+ _hil_Delay_1ms(10);
+ hil_fpga_disable_bypass();
+ }
+ else
+ {
+ P8OUT &= ~(BIT0 + BIT7);
+ }
+}
+
+savedDacValues_t _savedDacValues;
+
+#pragma optimize = low
+short _hil_SetVccSupplyDt(unsigned short Vcc)
+{
+ int correctVccDt = 0;
+ int maxCount = 400;
+ short actualDeviation = 0;
+
+ if(Vcc < 2200)
+ {
+ maxCount = 800;
+ }
+
+ ADC12IE = 0;
+ hil_DacControlSetDAC0((unsigned short)(((float)((float)setValueVcc/(float)1000)*(-1707) + 6145)));
+
+ if(DAC12_0DAT > 0xD00)
+ {
+ DAC12_0DAT = 0xD00;
+ }
+
+ while( correctVccDt < 3 && maxCount-- > 0)
+ {
+ unsigned short dtVcc = 0;
+ actualDeviation = 0;
+ {
+ int i = 0;
+ while(i++ < 43)
+ {
+ ADC12CTL0 |= ADC12SC; // Sampling and conversion start
+ hil_AdcControlRead();
+ ADC12CTL0 &= ~ADC12SC;
+ _hil_Delay_1us(20);
+ }
+ }
+ dtVcc = hil_AdcControlGetVccDt();
+ // JAG VCC - I - part - must be regulated with external and internal VCC to keep the same level
+ if(dtVcc < (setValueVcc - 10))
+ {
+ actualDeviation = setValueVcc - dtVcc;
+ if(actualDeviation > 500 && ((DAC12_0DAT - 100) > 0))
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 100);
+ }
+ else if(actualDeviation > 100 && ((DAC12_0DAT - 30) > 0))
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 30);
+ }
+ else if(actualDeviation > 20 && ((DAC12_0DAT - 5) > 0))
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 5);
+ }
+ else if((DAC12_0DAT - 1) > 0)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT - 1);
+ }
+ }
+ else if(dtVcc > (setValueVcc + 10))
+ {
+ actualDeviation = dtVcc - setValueVcc;
+
+ if(actualDeviation > 500 && ((DAC12_0DAT + 100) <= 0xD00))
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 100);
+ }
+ else if(actualDeviation > 100 && ((DAC12_0DAT + 30) <= 0xD00))
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 30);
+ }
+ else if(actualDeviation > 20&& ((DAC12_0DAT + 5) <= 0xD00))
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 5);
+ }
+ else if((DAC12_0DAT + 1) <= 0xD00)
+ {
+ hil_DacControlSetDAC0(DAC12_0DAT + 1 );
+ }
+ }
+ else
+ {
+ correctVccDt++;
+ }
+ }
+
+ ADC12IE = 0x08;// Enable ADC12IFG.2
+ return (correctVccDt > 2) ? 1 : 0;
+}
+
+#pragma optimize = low
+short _hil_SetVccSupply(unsigned short Vcc)
+{
+ int correctVcc = 0;
+ int maxCount = 400;
+ short actualDeviation = 0;
+ setValueVcc = Vcc;
+
+ if(Vcc < 2400)
+ {
+ maxCount = 800;
+ }
+
+ ADC12IE = 0;
+ hil_DacControlSetDAC1((unsigned short)(((float)((float)setValueVcc/(float)1000)*820)));
+
+ // check if p regulate values are out of range - if yes correct them
+ if(DAC12_1DAT > 0xC10)
+ {
+ DAC12_1DAT = 0xC10;
+ }
+ else if( DAC12_1DAT <= 0x550)
+ {
+ DAC12_1DAT = 0x552;
+ }
+ // integrnal target VCC - I part of regulation - small delta VCC
+ while(correctVcc < 3 && maxCount-- > 0)
+ {
+ unsigned short vccSupply = 0;
+ actualDeviation = 0;
+ {
+ int i = 0;
+ while(i++ < 43)
+ {
+ ADC12CTL0 |= ADC12SC; // Sampling and conversion start
+ hil_AdcControlRead();
+ ADC12CTL0 &= ~ADC12SC;
+ _hil_Delay_1us(20);
+ }
+ }
+ vccSupply = hil_AdcControlGetSupplyVcc();
+ // VCC supply ------------------------------------------------------
+ //negative deviation
+ if(vccSupply < (setValueVcc - 10))
+ {
+ correctVcc = 0;
+ actualDeviation = setValueVcc - vccSupply;
+
+ if(actualDeviation > 500 && ((DAC12_1DAT + 100) <= 0xC10))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT + 100);
+ }
+ else if(actualDeviation > 100 && ((DAC12_1DAT + 30) <= 0xC10))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT + 30);
+ }
+ else if(actualDeviation > 20 && ((DAC12_1DAT + 5) <= 0xC10))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT + 5);
+ }
+ else if((DAC12_1DAT + 1) <= 0xC10)
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT + 1);
+ }
+ }
+ //positve deviation
+ else if(vccSupply > (setValueVcc + 10))
+ {
+ actualDeviation = vccSupply - setValueVcc;
+ correctVcc = 0;
+
+ if(actualDeviation > 500 && ((DAC12_1DAT - 100) > (0x550)))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT -100);
+ }
+ else if(actualDeviation > 100 && ((DAC12_1DAT - 30) > (0x550)))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT - 30);
+ }
+ else if(actualDeviation > 20 && ((DAC12_1DAT - 5) > (0x550)))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT - 5);
+ }
+ else if(((DAC12_1DAT - 1) > (0x550)))
+ {
+ hil_DacControlSetDAC1(DAC12_1DAT - 1);
+ }
+ }
+ else
+ {
+ correctVcc++;
+ }
+ //-----------------------------------------------------------------
+ }
+ ADC12IE = 0x08;// Enable ADC12IFG.2
+
+ return (correctVcc > 2) ? 1 : 0;
+}
+
+#pragma optimize = low
+// -----------------------------------------------------------------------------
+short _hil_SetVcc(unsigned short Vcc)
+{
+ ADC12IE = 0;
+ if(Vcc < 1600 || Vcc > 3800)
+ {
+ //Turn off the Power switch
+ //Vcc Supply
+ _hil_Delay_1ms(1);
+ _hil_Release();
+ setValueVcc = 0;
+ externalVccOn = EXTERNAL_VCC_OFF;
+ regulationOn = REGULATION_OFF;
+ ADC12IE = 0x08;
+ return 0;
+ }
+ if(_savedDacValues.Vcc == Vcc && _savedDacValues.valid == 1)
+ {
+ hil_DacControlSetDAC1(_savedDacValues.DAC1);
+ hil_DacControlSetDAC0(_savedDacValues.DAC0);
+ ADC12IE = 0x08;// Enable ADC12IFG.2
+ return 0;
+ }
+ if((!_hil_SetVccSupply(Vcc)) || (!_hil_SetVccSupplyDt(Vcc)))
+ {
+ _hil_SetVccSupply(Vcc);
+ _hil_SetVccSupplyDt(Vcc);
+ }
+
+ _savedDacValues.DAC0 = DAC12_0DAT;
+ _savedDacValues.DAC1 = DAC12_1DAT;
+ _savedDacValues.Vcc = Vcc;
+ _savedDacValues.valid = 1;
+
+ externalVccOn = EXTERNAL_VCC_OFF;
+ return 0;
+}
+// -----------------------------------------------------------------------------
+
+short _hil_GetVcc(double* Vcc, double* ExtVcc)
+{
+ float vccSupply = 0, externalVcc = 0;
+
+ externalVcc = hil_AdcControlGetExternalVcc();
+ vccSupply = hil_AdcControlGetSupplyVcc();
+
+ if(externalVcc >= 1650 && externalVcc < 3800)
+ {
+ setValueVcc = (unsigned short)externalVcc;
+ externalVccOn = EXTERNAL_VCC_ON;
+ regulationOn = REGULATION_ON;
+
+ if(gprotocol_id != SWD_432)
+ {
+ hil_fpga_enable_bypass();
+ }
+
+ P8DIR |= (BIT0);
+ P8OUT |= (BIT0);
+
+ _hil_Delay_1ms(10);
+ if(gprotocol_id != SWD_432)
+ {
+ hil_fpga_disable_bypass();
+ }
+ }
+ else
+ {
+ externalVccOn = EXTERNAL_VCC_OFF;
+ }
+ *Vcc = vccSupply;
+ *ExtVcc = externalVcc;
+ return 0;
+}
+
+#pragma optimize = low
+// -----------------------------------------------------------------------------
+short _hil_SetProtocol(unsigned short protocol_id)
+{
+ short ret_value = 0;
+
+ if( protocol_id == SPYBIWIRE )
+ {
+ gprotocol_id = SPYBIWIRE;
+ _Jtag = _SBW_Back;
+ initJtagSbw2Dma(_Jtag);
+ initJtagBypass(_Jtag);
+ initGeneric();
+ _hil_2w_ConfigureSpeed_Dma(SBW100KHz);
+ }
+ else if( protocol_id == SPYBIWIREJTAG || protocol_id == JTAG || protocol_id == JTAG_432)
+ {
+ gprotocol_id = protocol_id;
+ _Jtag = _Jtag_Target;
+ initJtagSbw4(_Jtag);
+ initJtagBypass(_Jtag);
+ initGeneric();
+ }
+ else if(protocol_id == SWD_432)
+ {
+ gprotocol_id = protocol_id;
+ _Jtag = _Jtag_Target;
+ hil_Swd_InitJtag(_Jtag);
+ initJtagBypass(_Jtag);
+ initGeneric();
+ }
+ else if( protocol_id == SPYBIWIRE_SUBMCU )
+ {
+ _Jtag = _Jtag_SubMcu;
+ initJtagSbw2Dma(_Jtag);
+ gprotocol_id = SPYBIWIRE_SUBMCU;
+ setProtocolSbw2Dma(SPYBIWIRE_SUBMCU);
+ _hil_2w_ConfigureSpeed_Dma(SBW600KHz);
+ }
+ else if( protocol_id == SPYBIWIRE_MSP_FET)
+ {
+ gprotocol_id = protocol_id;
+ _Jtag = _Jtag_Target;
+ initJtagSbw2Dma(_Jtag);
+ initJtagBypass(_Jtag);
+ initGeneric();
+ _hil_2w_ConfigureSpeed_Dma(SBW100KHz);
+ }
+ else
+ {
+ ret_value = -1;
+ }
+
+ if( protocol_id == SPYBIWIRE || protocol_id == SPYBIWIRE_SUBMCU || protocol_id == SPYBIWIRE_MSP_FET)
+ {
+ // load DMA1 with size just default
+ DMA1CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
+ DMA1DA = (_Jtag.Out); //JTAGOUT; // set destination address
+ DMA2CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
+ DMA2DA = (_Jtag.Out); //JTAGOUT; // set destination address
+
+ // Functionality executed in FPGA bypass mode by Sub-MCU
+ _Distinct_Methods.TapReset = _hil_2w_TapReset_Dma;
+ _Distinct_Methods.CheckJtagFuse = _hil_2w_CheckJtagFuse_Dma;
+
+ // SBW communication with Sub-MCU is executed in Bit-Banging mode
+ if ( protocol_id == SPYBIWIRE_SUBMCU )
+ {
+ _Distinct_Methods.Instr = _hil_2w_Instr_Dma;
+ _Distinct_Methods.SetReg_XBits08 = _hil_2w_SetReg_XBits08_Dma;
+ _Distinct_Methods.SetReg_XBits16 = _hil_2w_SetReg_XBits16_Dma;
+ _Distinct_Methods.SetReg_XBits20 = _hil_2w_SetReg_XBits20_Dma;
+ _Distinct_Methods.SetReg_XBits32 = _hil_2w_SetReg_XBits32_Dma;
+ _Distinct_Methods.SetReg_XBits64 = _hil_2w_SetReg_XBits64_Dma;
+ _Distinct_Methods.SetReg_XBits8_64 = _hil_2w_SetReg_XBits8_64_Dma;
+ _Distinct_Methods.Tclk = _hil_2w_Tclk_Dma;
+ _Distinct_Methods.GetPrevInstruction = _hil_2w_GetPrevInstruction_Dma;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _Distinct_Methods.SetReg_XBits35 = _hil_dummy_SetReg_XBits35;
+ _Distinct_Methods.SwdTransferData = _hil_dummy_TransferData;
+ }
+ // SBW communication with Target-MCU is executed in FPGA mode
+ else if( protocol_id == SPYBIWIRE || protocol_id == SPYBIWIRE_MSP_FET)
+ {
+ _Distinct_Methods.Instr = _hil_generic_Instr;
+ _Distinct_Methods.SetReg_XBits08 = _hil_generic_SetReg_XBits08;
+ _Distinct_Methods.SetReg_XBits16 = _hil_generic_SetReg_XBits16;
+ _Distinct_Methods.SetReg_XBits20 = _hil_generic_SetReg_XBits20;
+ _Distinct_Methods.SetReg_XBits32 = _hil_generic_SetReg_XBits32;
+ _Distinct_Methods.SetReg_XBits64 = _hil_generic_SetReg_XBits64;
+ _Distinct_Methods.SetReg_XBits8_64 = _hil_generic_XBits8_64;
+ _Distinct_Methods.GetPrevInstruction = _hil_generic_GetPrevInstruction;
+ _Distinct_Methods.Tclk = _hil_generic_Tclk;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _Distinct_Methods.SetReg_XBits35 = _hil_dummy_SetReg_XBits35;
+ _Distinct_Methods.SwdTransferData = _hil_dummy_TransferData;
+ }
+ if(gTclkHighWhilePsa == 1)
+ {
+ _Distinct_Methods.StepPsa = _hil_2w_StepPsaTclkHigh_Dma;
+ }
+ else if(gTclkHighWhilePsa == 2)
+ {
+ _Distinct_Methods.StepPsa = _hil_2w_StepPsa_Dma_Xv2;
+ }
+ else
+ {
+ _Distinct_Methods.StepPsa = _hil_2w_StepPsa_Dma;
+ }
+ _Distinct_Methods.BlowFuse = _hil_2w_BlowFuse_Dma;
+
+ DMA2SA = (unsigned char*)DMA_TMSL_TDIL;
+ }
+ else if ( protocol_id == SPYBIWIREJTAG || protocol_id == JTAG)
+ {
+ _Distinct_Methods.TapReset = _hil_4w_TapReset;
+ _Distinct_Methods.CheckJtagFuse = _hil_4w_CheckJtagFuse;
+ _Distinct_Methods.Instr = _hil_generic_Instr;
+ _Distinct_Methods.SetReg_XBits08 = _hil_generic_SetReg_XBits08;
+ _Distinct_Methods.SetReg_XBits16 = _hil_generic_SetReg_XBits16;
+ _Distinct_Methods.SetReg_XBits20 = _hil_generic_SetReg_XBits20;
+ _Distinct_Methods.SetReg_XBits32 = _hil_generic_SetReg_XBits32;
+ _Distinct_Methods.SetReg_XBits64 = _hil_generic_SetReg_XBits64;
+ _Distinct_Methods.SetReg_XBits8_64 = _hil_generic_XBits8_64;
+ _Distinct_Methods.GetPrevInstruction = _hil_generic_GetPrevInstruction;
+ _Distinct_Methods.Tclk = _hil_generic_Tclk;
+
+ // load dummies for 432
+ _Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.SetReg_XBits35 = _hil_dummy_SetReg_XBits35;
+ _Distinct_Methods.SwdTransferData = _hil_dummy_TransferData;
+
+ if(gTclkHighWhilePsa == 0 || gTclkHighWhilePsa == 2)
+ {
+ _Distinct_Methods.StepPsa = _hil_4w_StepPsa;
+ }
+ else
+ {
+ _Distinct_Methods.StepPsa = _hil_4w_StepPsaTclkHigh;
+ }
+ _Distinct_Methods.BlowFuse = _hil_4w_BlowFuse;
+ }
+ else if (protocol_id == JTAG_432)
+ {
+ // load dummies for 430
+ _Distinct_Methods.CheckJtagFuse = _hil_dummy_CheckJtagFuse;
+ _Distinct_Methods.Instr = _hil_dummy_Instr;
+ _Distinct_Methods.SetReg_XBits20 = _hil_dummy_SetReg_XBits20;
+ _Distinct_Methods.GetPrevInstruction = _hil_dummy_GetPrevInstruction;
+ _Distinct_Methods.Tclk = _hil_dummy_Tclk;
+ _Distinct_Methods.SetReg_XBits8_64 = _hil_dummy_SetReg_XBits8_64;
+ _Distinct_Methods.StepPsa = _hil_dummy_StepPsa;
+ _Distinct_Methods.BlowFuse = _hil_dummy_BlowFuse;
+
+ _Distinct_Methods.TapReset = _hil_4w_TapReset;
+ _Distinct_Methods.SetReg_XBits08 = _hil_generic432_SetReg_XBits08;
+ _Distinct_Methods.SetReg_XBits16 = _hil_generic432_SetReg_XBits16;
+ _Distinct_Methods.SetReg_XBits32 = _hil_generic432_SetReg_XBits32;
+ _Distinct_Methods.SetReg_XBits64 = _hil_generic432_SetReg_XBits64;
+ _Distinct_Methods.Instr04 = _hil_generic432_Instr_4;
+ _Distinct_Methods.write_read_Dp = _hil_Write_Read_Dp_Jtag;
+ _Distinct_Methods.write_read_Ap = _hil_Write_Read_Ap_Jtag;
+ _Distinct_Methods.write_read_mem_Ap = _hil_Write_Read_Mem_Ap_Jtag;
+ _Distinct_Methods.GetJtagIdCode = hil_Jtag_read_idcode;
+ _Distinct_Methods.SetReg_XBits35 = _hil_generic432_SetReg_XBits35;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.SetReg_XBits20 = _hil_dummy_SetReg_XBits20;
+ _Distinct_Methods.SwdTransferData = _hil_dummy_TransferData;
+ }
+ else if (protocol_id == SWD_432)
+ {
+ // load dummies for 430
+ _Distinct_Methods.CheckJtagFuse = _hil_dummy_CheckJtagFuse;
+ _Distinct_Methods.Instr = _hil_dummy_Instr;
+ _Distinct_Methods.SetReg_XBits20 = _hil_dummy_SetReg_XBits20;
+ _Distinct_Methods.GetPrevInstruction = _hil_dummy_GetPrevInstruction;
+ _Distinct_Methods.Tclk = _hil_dummy_Tclk;
+ _Distinct_Methods.SetReg_XBits8_64 = _hil_dummy_SetReg_XBits8_64;
+ _Distinct_Methods.StepPsa = _hil_dummy_StepPsa;
+ _Distinct_Methods.BlowFuse = _hil_dummy_BlowFuse;
+ _Distinct_Methods.TapReset = _hil_dummy_TapReset;
+ _Distinct_Methods.SetReg_XBits08 = _hil_dummy_SetReg_XBits08;
+ _Distinct_Methods.SetReg_XBits16 = _hil_dummy_SetReg_XBits16;
+ _Distinct_Methods.SetReg_XBits20 = _hil_dummy_SetReg_XBits20;
+ _Distinct_Methods.SetReg_XBits32 = _hil_dummy_SetReg_XBits32;
+ _Distinct_Methods.SetReg_XBits64 = _hil_dummy_SetReg_XBits64;
+ _Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _Distinct_Methods.write_read_Dp = _hil_Write_Read_Dp_Swd;
+ _Distinct_Methods.write_read_Ap = _hil_Write_Read_Ap_Swd;
+ _Distinct_Methods.write_read_mem_Ap = _hil_Write_Read_Mem_Ap_Swd;
+ _Distinct_Methods.GetJtagIdCode = hil_swd_read_idcode;
+ _Distinct_Methods.SetReg_XBits35 = _hil_dummy_SetReg_XBits35;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.SwdTransferData = Swd_TransferData;
+ }
+ jtagReleased = 0;
+ return(ret_value);
+}
+
+void _hil_SetPsaTCLK(unsigned short tclkValue)
+{
+ gTclkHighWhilePsa = tclkValue;
+ if(gprotocol_id == SPYBIWIRE || gprotocol_id == SPYBIWIRE_SUBMCU || gprotocol_id == SPYBIWIRE_MSP_FET)
+ {
+ if(gTclkHighWhilePsa == 1)
+ {
+ _Distinct_Methods.StepPsa = _hil_2w_StepPsaTclkHigh_Dma;
+ }
+ else if(gTclkHighWhilePsa == 2)
+ {
+ _Distinct_Methods.StepPsa = _hil_2w_StepPsa_Dma_Xv2;
+ }
+ else
+ {
+ _Distinct_Methods.StepPsa = _hil_2w_StepPsa_Dma;
+ }
+ }
+ if(gprotocol_id == SPYBIWIREJTAG || gprotocol_id == JTAG)
+ {
+ if(gTclkHighWhilePsa == 1)
+ {
+ _Distinct_Methods.StepPsa = _hil_4w_StepPsaTclkHigh;
+ }
+ else
+ {
+ _Distinct_Methods.StepPsa = _hil_4w_StepPsa;
+ }
+ }
+}
+extern unsigned char lastTestState;
+
+void _hil_Release(void)
+{
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, TRI_STATE_FPGA_SBW);
+ }
+ else if(gprotocol_id == SWD_432)
+ {
+ hil_fpga_disable_bypass();
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, TRI_STATE_FPGA_JTAG);
+ }
+ else
+ {
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, TRI_STATE_FPGA_JTAG);
+ }
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+
+ lastTestState = 0;
+
+ _Distinct_Methods.TapReset = _hil_dummy_TapReset;
+ _Distinct_Methods.CheckJtagFuse = _hil_dummy_CheckJtagFuse;
+ _Distinct_Methods.Instr = _hil_dummy_Instr;
+ _Distinct_Methods.SetReg_XBits08 = _hil_dummy_SetReg_XBits08;
+ _Distinct_Methods.SetReg_XBits16 = _hil_dummy_SetReg_XBits16;
+ _Distinct_Methods.SetReg_XBits20 = _hil_dummy_SetReg_XBits20;
+ _Distinct_Methods.SetReg_XBits32 = _hil_dummy_SetReg_XBits32;
+ _Distinct_Methods.SetReg_XBits64 = _hil_dummy_SetReg_XBits64;
+ _Distinct_Methods.SetReg_XBits8_64 = _hil_dummy_SetReg_XBits8_64;
+ _Distinct_Methods.Tclk = _hil_dummy_Tclk;
+ _Distinct_Methods.GetPrevInstruction = _hil_dummy_GetPrevInstruction;
+ _Distinct_Methods.StepPsa = _hil_dummy_StepPsa;
+ _Distinct_Methods.BlowFuse = _hil_dummy_BlowFuse;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _Distinct_Methods.GetJtagIdCode = _hil_read_idcodeDummy;
+ _Distinct_Methods.SetReg_XBits35 = _hil_dummy_SetReg_XBits35;
+ _Distinct_Methods.SetReg_XBits = _hil_dummy_SetReg_XBits;
+ _Distinct_Methods.SwdTransferData = _hil_dummy_TransferData;
+
+ jtagReleased = 1;
+}
+
+/*-------------RstLow_JTAG----------------
+ ________ __________
+Test ______| |_________|
+ _______________
+Rst_____________________|
+----------------------------------------*/
+
+INLINE(forced)
+static void _hil_EntrySequences_RstLow_JTAG()
+{
+ _DINT_FET();
+ TSTset0(); //1
+ _hil_Delay_1ms(4); //reset TEST logic
+
+ RSTset0(); //2
+
+ //TSTset1(); //3
+ (*_Jtag.Out) |= _Jtag.TST;
+ _hil_Delay_1ms(50); //activate TEST logic
+
+ //RSTset0(); //4
+ (*_Jtag.Out) &= ~_Jtag.RST;
+ _hil_Delay_1us(40);
+
+ // for 4-wire JTAG clear Test pin Test(0)
+ //TSTset0(); //5
+ (*_Jtag.Out) &= ~_Jtag.TST;
+ _hil_Delay_1us(2);
+
+ // for 4-wire JTAG -dry Reset(1)
+ //(*_Jtag.Out) |= _Jtag.RST;
+ (*_Jtag.Out) &= ~_Jtag.RST; // This actually starts the BSL
+ _hil_Delay_1us(2);
+
+ // 4-wire JTAG - Test (1)
+ //TSTset1(); //7
+ (*_Jtag.Out) |= _Jtag.TST;
+ _hil_Delay_1ms(5);
+ _EINT_FET();
+}
+
+/*-------------RstHigh_JTAG--------------
+ ________ __________
+Test ______| |_________|
+ _______ ______
+Rst____| |_________________|
+----------------------------------------*/
+
+INLINE(forced)
+static void _hil_EntrySequences_RstHigh_JTAG()
+{
+ TSTset0(); //1
+ _hil_Delay_1ms(1); //reset TEST logic
+
+ RSTset1(); //2
+
+ TSTset1(); //3
+ _hil_Delay_1ms(100); //activate TEST logic
+
+ RSTset0(); //4
+ _hil_Delay_1us(40);
+
+ // for 4-wire JTAG clear Test pin Test(0)
+ (*_Jtag.Out) &= ~_Jtag.TST; //5
+ _hil_Delay_1us(1);
+
+ // for 4-wire JTAG - Test (1)
+ (*_Jtag.Out) |= _Jtag.TST; //7
+ _hil_Delay_1us(40);
+
+ // phase 5 Reset(1)
+ RSTset1();
+ _hil_Delay_1ms(5);
+}
+
+/*-------------RstHigh_SBW---------------
+ ________ __________
+Test ______| |_________|
+ _________________________________
+Rst____|
+----------------------------------------*/
+INLINE(forced)
+static void _hil_EntrySequences_RstHigh_SBW()
+{
+ TSTset0(); //1
+ _hil_Delay_1ms(1); // reset TEST logic
+
+ RSTset1(); //2
+
+ TSTset1(); //3
+ _hil_Delay_1ms(100); // activate TEST logic
+
+ // phase 1
+ RSTset1(); //4
+ _hil_Delay_1us(40);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for Spy-Bi-Wire
+ _DINT_FET();
+ (*_Jtag.Out) &= ~_Jtag.TST; //5
+ _hil_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for Spy-Bi-Wire
+ (*_Jtag.Out) |= _Jtag.TST; //7
+ _EINT_FET();
+ _hil_Delay_1us(40);
+
+ _hil_Delay_1ms(5);
+}
+
+/*-------------RstLow_SBW----------------
+ ________ __________
+Test ______| |_________|
+ __________________________
+Rst__________|
+----------------------------------------*/
+INLINE(forced)
+static void _hil_EntrySequences_RstLow_SBW()
+{
+ TSTset0(); //1
+ _hil_Delay_1ms(1); // reset TEST logic
+
+ RSTset0(); //2
+
+ TSTset1(); //3
+ _hil_Delay_1ms(100); // activate TEST logic
+
+ // phase 1
+ RSTset1(); //4
+ _hil_Delay_1us(40);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for Spy-Bi-Wire
+ _DINT_FET();
+ (*_Jtag.Out) &= ~_Jtag.TST; //5
+ _hil_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for Spy-Bi-Wire
+ (*_Jtag.Out) |= _Jtag.TST; //7
+ _EINT_FET();
+ _hil_Delay_1us(40);
+ _hil_Delay_1ms(5);
+}
+
+void _hil_EntrySequences(unsigned char states)
+{
+ unsigned short protocol = JTAG_4_WIRE_FPGA;
+
+ //This should probably never be called with SPYBIWIRE_SUBMCU anyway
+ if(gprotocol_id == SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, TRI_STATE_FPGA_JTAG);
+ gprotocol_id = SPYBIWIRE;
+ }
+ hil_fpga_enable_bypass();
+
+ switch(gprotocol_id)
+ {
+ case SPYBIWIRE:
+ case SPYBIWIRE_MSP_FET:
+ {
+ if (states == RSTLOW)
+ {
+ _hil_EntrySequences_RstLow_SBW();
+ }
+ if (states == RSTHIGH)
+ {
+ _hil_EntrySequences_RstHigh_SBW();
+ }
+ protocol = (gprotocol_id == SPYBIWIRE) ? SBW_2_BACK_FPGA : SBW_2_MSP_FET_FPGA;
+ break;
+ }
+ case SPYBIWIREJTAG:
+ {
+ if (states == RSTLOW)
+ {
+ _hil_EntrySequences_RstLow_JTAG();
+ }
+ if (states == RSTHIGH)
+ {
+ _hil_EntrySequences_RstHigh_JTAG();
+ }
+ break;
+ }
+ case JTAG_432:
+ {
+ JTAG_Entry();
+ RSTset1();
+ break;
+ }
+ case SWD_432:
+ {
+ SWD_Entry();
+ SWDTCKset1();
+ break;
+ }
+ default:
+ if (states == RSTLOW)
+ {
+ RSTset0();
+ TSTset1();
+ }
+ if (states == RSTHIGH)
+ {
+ TSTset1();
+ }
+ break;
+ }
+ if(gprotocol_id != SWD_432)
+ {
+ hil_fpga_disable_bypass();
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, protocol);
+
+ if(gprotocol_id == JTAG_432)
+ {
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 1);
+ }
+ else
+ {
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+ }
+ }
+}
+
+#pragma optimize = medium
+static void _hil_Connect(unsigned char state)
+{
+ if(jtagReleased)
+ {
+ _hil_SetProtocol(gprotocol_id);
+ }
+
+ hil_fpga_enable_bypass();
+
+ if(state == RSTHIGH && gprotocol_id != JTAG_432 && gprotocol_id != SWD_432)
+ {
+ if(gprotocol_id == SPYBIWIRE || gprotocol_id == SPYBIWIRE_MSP_FET)
+ {
+ _hil_Delay_1ms(10);
+ qDriveSbw();
+ _hil_Delay_1ms(30);
+ _hil_EntrySequences_RstHigh_SBW();
+ }
+ else
+ {
+ _hil_Delay_1ms(10);
+ qDriveJTAG();
+ _hil_Delay_1ms(30);
+ if(gprotocol_id == SPYBIWIREJTAG)
+ {
+ _hil_EntrySequences_RstHigh_JTAG();
+ }
+ else
+ {
+ TSTset1();
+ }
+ }
+ }
+ else if(state == RSTLOW && gprotocol_id != JTAG_432 && gprotocol_id != SWD_432)
+ {
+ if(gprotocol_id == SPYBIWIRE || gprotocol_id == SPYBIWIRE_MSP_FET)
+ {
+ qDriveSbw();
+ _hil_Delay_1ms(1);
+ _hil_EntrySequences_RstLow_SBW();
+ }
+ else
+ {
+ qDriveJTAG();
+ _hil_Delay_1ms(1);
+ if(gprotocol_id == SPYBIWIREJTAG)
+ {
+ _hil_EntrySequences_RstLow_JTAG();
+ }
+ else
+ {
+ RSTset0();
+ TSTset1();
+ }
+ }
+ }
+ else if(gprotocol_id == JTAG_432)
+ {
+ _hil_Delay_1ms(10);
+ qDriveJTAG();
+ _hil_Delay_1ms(30);
+ JTAG_Entry();
+ RSTset1();
+ }
+ else if(gprotocol_id == SWD_432)
+ {
+ _hil_Delay_1ms(10);
+ qDriveSwd();
+ _hil_Delay_1ms(30);
+ SWD_Entry();
+ RSTset1();
+ hil_swd_read_idcode();
+ }
+
+ if(gprotocol_id != SWD_432)
+ {
+ hil_fpga_disable_bypass();
+ }
+
+ jtagReleased = 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_Open( unsigned char state)
+{
+ if(gprotocol_id == SPYBIWIRE_MSP_FET)
+ {
+ _hil_Connect(state);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, SBW_2_MSP_FET_FPGA);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+ _hil_generic_ConfigureSpeed(hil_sbw2Speed_);
+ }
+ else if(gprotocol_id == SPYBIWIRE)
+ {
+ _hil_Connect(state);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, SBW_2_BACK_FPGA);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+ _hil_generic_ConfigureSpeed(hil_sbw2Speed_);
+ }
+ else if(gprotocol_id == SPYBIWIREJTAG || gprotocol_id == JTAG)
+ {
+ _hil_Connect(state);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, JTAG_4_WIRE_FPGA);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+ _hil_generic_ConfigureSpeed(hil_jtagSpeed_);
+ }
+ else if(gprotocol_id == JTAG_432)
+ {
+ _hil_Connect(state);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, JTAG_4_WIRE_FPGA);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 1);
+ _hil_generic_ConfigureSpeed(hil_jtagSpeed_);
+ }
+ else if(gprotocol_id == SPYBIWIRE_SUBMCU)
+ {
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, TRI_STATE_FPGA_JTAG);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+ gprotocol_id = SPYBIWIRE;
+ _hil_Connect(state);
+ }
+ else if(gprotocol_id == SWD_432)
+ {
+ gprotocol_id = SWD_432;
+ _hil_Connect(state);
+ }
+ return 0;
+}
+// -----------------------------------------------------------------------------
+short _hil_Close( void )
+{
+ externalVccOn = EXTERNAL_VCC_OFF;
+ _hil_Release();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+
+void _hil_SetJtagSpeed(unsigned short jtagSpeed, unsigned short sbwSpeed)
+{
+ if( sbwSpeed )
+ {
+ hil_sbw2Speed_ = sbwSpeed;
+ }
+ if ( jtagSpeed )
+ {
+ hil_jtagSpeed_ = jtagSpeed;
+ }
+}
+
+// -----------------------------------------------------------------------------
+
+void _hil_ConfigureSetPc (unsigned short PCclockBeforeCapture)
+{
+ setPCclockBeforeCapture = PCclockBeforeCapture;
+}
+
+// -----------------------------------------------------------------------------
+void SetVFuse(void)
+{
+ unsigned long timeOut = VF_PWM_TIMEOUT;
+ unsigned short runningAverageBuffer[4] = {0,0,0,0};
+ unsigned short avg = 0;
+ unsigned char i = 0;
+
+ do
+ {
+ *(_VFuse.PWM_CTRL) |= _VFuse.PWM_SETVF;
+ __delay_cycles(VF_PWM_ON_TIME);
+ *(_VFuse.PWM_CTRL) &= ~(_VFuse.PWM_SETVF);
+ __delay_cycles(VF_PWM_OFF_TIME);
+ runningAverageBuffer[i] = hil_AdcControlGetVFuse();
+ i = (i + 1) % 4;
+ avg = (runningAverageBuffer[0] + runningAverageBuffer[1] + runningAverageBuffer[2] + runningAverageBuffer[3]) >> 2;
+ }
+ while((6800 > avg) && timeOut--);
+}
+
+// -----------------------------------------------------------------------------
+void setVpp(long voltage)
+{
+ static unsigned char prevP4value = 0;
+ // Reconfigure ADC to measure Fuse Voltage without interrupts
+ hil_AdcControlInitADCvFuse();
+
+ if(voltage)
+ {
+ SetVFuse();
+
+ while(hil_AdcControlGetVFuse() >= 6300);
+
+ if(useTDI)
+ {
+ // Vpp via TDI
+ *(_VFuse.CTRL) &= ~(_VFuse.TDI_OFF);
+ *(_VFuse.CTRL) &= ~(_VFuse.VF2TEST);
+ *(_VFuse.CTRL) |= _VFuse.VF2TDI;
+ }
+ else
+ {
+ _DINT_FET();
+ prevP4value = P4OUT & BIT5;
+ // Vpp via TST
+ *(_VFuse.CTRL) &= ~(_VFuse.VF2TDI);
+ *(_VFuse.CTRL) |= _VFuse.TDI_OFF;
+ P4OUT &= ~BIT5;
+ *(_VFuse.CTRL) |= _VFuse.VF2TEST;
+ _EINT_FET();
+ }
+ _hil_Delay_1ms(3);
+ }
+ else
+ {
+ // Turn of Vpp
+ _DINT_FET();
+ *(_VFuse.CTRL) &= ~(_VFuse.VF2TDI);
+ *(_VFuse.CTRL) &= ~(_VFuse.VF2TEST);
+ if(!useTDI)
+ {
+ _hil_Delay_1us(3);
+ P4OUT |= prevP4value;
+ }
+ *(_VFuse.CTRL) |= _VFuse.TDI_OFF;
+ _EINT_FET();
+ }
+
+ // Reconfigure ADC to measure VCC – supply/dt/externalVcc in sequence mode
+ hil_AdcControlInitADC();
+ ADC12IE = 0x08; // Enable ADC12IFG.3
+}
+
+// -----------------------------------------------------------------------------
+void testVpp(unsigned char mode)
+{
+ if(mode)
+ {
+ // Fuse blow via TST
+ // Switch back to JTAG protocol
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, JTAG_4_WIRE_FPGA);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+
+ }
+ else
+ {
+ // Fuse blow via TDI
+ // Switch to JTAG fuse blow protocol, TDI is mapped to TDO
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_PROTOCOL, TDI_TO_TDO_FPGA);
+ hil_fpga_write_cmd_data0_data1(FPGA_CMD_CFG, REG_JTAG_4_WIRE_FPGA_432, 0);
+ }
+
+ useTDI = !mode;
+}
+
+
+// -----------------------------------------------------------------------------
+void _hil_SetReset(unsigned char value)
+{
+
+ hil_fpga_enable_bypass();
+ if(value)
+ {
+ RSTset1();
+ }
+ else
+ {
+ RSTset0();
+ }
+ hil_fpga_disable_bypass();
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTest(unsigned char value)
+{
+ hil_fpga_enable_bypass();
+
+ if(value)
+ {
+ TSTset1();
+ }
+ else
+ {
+ TSTset0();
+ }
+ hil_fpga_disable_bypass();
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTMS(unsigned char value)
+{
+ hil_fpga_enable_bypass();
+
+ if(value)
+ {
+ TMSset1();
+ }
+ else
+ {
+ TMSset0();
+ }
+ hil_fpga_disable_bypass();
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTDI(unsigned char value)
+{
+ hil_fpga_enable_bypass();
+
+ if(value)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+ hil_fpga_disable_bypass();
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTCK(unsigned char value)
+{
+ hil_fpga_enable_bypass();
+
+ if(value)
+ {
+ TCKset1();
+ }
+ else
+ {
+ TCKset0();
+ }
+ hil_fpga_disable_bypass();
+}
+// --------------------------------------------ARM defines end------------------
+
+void SWD_Entry()
+{
+ unsigned char sequence[8];
+ unsigned char i = 0;
+ unsigned short entry = 0xE79E;
+ for (i = 0; i < 8; i++)
+ {
+ sequence[i] = 0xff;
+ }
+ hil_Swd_Seq(56, sequence);
+
+ sequence[0] = entry & 0xff;
+ sequence[1] = (entry >> 8) & 0xff;
+ hil_Swd_Seq(16, sequence);
+
+ for (i = 0; i < 8; i++)
+ {
+ sequence[i] = 0xff;
+ }
+ hil_Swd_Seq(56, sequence);
+}
+
+ void JTAG_Entry()
+{
+ unsigned char sequence[8];
+ unsigned char i = 0;
+ unsigned short entry = 0xE73C;
+ for (i = 0; i < 8; i++)
+ {
+ sequence[i] = 0xff;
+ }
+ hil_4w_432_Seq(51, sequence);
+
+ sequence[0] = entry & 0xff;
+ sequence[1] = (entry >> 8) & 0xff;
+ hil_4w_432_Seq(16, sequence);
+
+ for (i = 0; i < 1; i++)
+ {
+ sequence[i] = 0xff;
+ }
+ hil_4w_432_Seq(8, sequence);
+}
+
+unsigned long hil_swd_read_idcode()
+{
+ unsigned char sequence[1] = {0};
+ unsigned long id = 0;
+ hil_Swd_Seq(8, sequence);
+
+ if (_Distinct_Methods.write_read_Dp(0, &id, READ) != SWD_ACK)
+ {
+ return 0xFFFF;
+ }
+ return id;
+}
+
+
+unsigned long hil_Jtag_read_idcode()
+{
+ unsigned long JtagId = 0;
+
+ JtagId = _Distinct_Methods.Instr04(IR4_IDCODE);
+
+ if (JtagId == 0x1)
+ {
+ JtagId = _Distinct_Methods.SetReg_XBits32(0);
+ }
+ return JtagId;
+}
+
+
+short _hil_Write_Read_Dp_Swd(unsigned char address ,unsigned long *data, unsigned short rnw)
+{
+ unsigned char retVal = 0;
+ unsigned char i = 0;
+
+ unsigned char regiser = SWD_DP | rnw<<1 | (address & 0x0c);
+
+ for (i = 0; i < MAX_RETRY; i++)
+ {
+ retVal = Swd_TransferData(regiser, data, rnw);
+ // if not wait for answer
+ if (retVal != 0x2)
+ {
+ return SWD_ACK;
+ }
+ }
+ if(i == MAX_RETRY || retVal != 0x1)
+ {
+ return -1;
+ }
+ return SWD_ACK;
+}
+
+//#pragma optimize = none
+short _hil_Write_Read_Ap_Swd(unsigned long address, unsigned long *data, unsigned short rnw)
+{
+ unsigned long long retVal;
+ unsigned char i = 0;
+ unsigned long dummydata = 0;
+
+ unsigned long apsel_bank_sel = address & DP_SELECT_APSEL_MASK;
+ apsel_bank_sel |= address & DP_SELECT_APBANKSEL_MASK;
+
+ if (_hil_Write_Read_Dp_Swd(DP_SELECT, &apsel_bank_sel, WRITE) != SWD_ACK)
+ {
+ return -1;
+ }
+ unsigned char regiser = SWD_AP | rnw<<1 | (address & 0x0c);
+ do
+ {
+ retVal = Swd_TransferData(regiser, data, rnw);
+ }
+ while(i++ < MAX_RETRY && retVal != 0x1);
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+
+ if(rnw == WRITE)
+ {
+ unsigned char regiser = SWD_DP | READ<<1 | (DP_RDBUFF & 0x0c);
+ do
+ {
+ retVal = Swd_TransferData(regiser, &dummydata, READ);
+ }
+ while(i++ < MAX_RETRY && retVal != 0x1);
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+ }
+ else
+ {
+ do
+ {
+ Swd_TransferData(regiser, data, rnw);
+ }
+ while(i++ == MAX_RETRY && retVal != 0x1);
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+ }
+ return SWD_ACK;
+}
+
+short _hil_Write_Read_Mem_Ap_Swd(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw)
+{
+ // First Read current CSW value
+ unsigned long tmp = 0;
+ unsigned long apsel = ((uint32_t)ap_sel);
+ if (_hil_Write_Read_Ap_Swd(AP_CSW | apsel, &tmp, READ) != SWD_ACK)
+ {
+ return -1;
+ }
+
+ // Configure the transfer
+ tmp = (tmp & ~(AP_CSW_SIZE_MASK | AP_CSW_ADDRINC_MASK)) | AP_CSW_ADDRINC_OFF | AP_CSW_SIZE_32BIT;
+ if (_hil_Write_Read_Ap_Swd(AP_CSW | apsel, &tmp, WRITE) != SWD_ACK)
+ {
+ return -1;
+ }
+
+ // Write the address
+ tmp = address;
+ if (_hil_Write_Read_Ap_Swd(AP_TAR | apsel, &tmp, WRITE) != SWD_ACK)
+ {
+ return -1;
+ }
+ // Write/Read data
+ return _hil_Write_Read_Ap_Swd(AP_DRW | apsel, data, rnw);
+}
+
+// -----------------------------------------------------------------------------
+short _hil_Write_Read_Dp_Jtag(unsigned char address ,unsigned long *data, unsigned short rnw)
+{
+ unsigned long long retVal;
+ unsigned char i = 0;
+ unsigned long long dataAlig = 0ull;
+ dataAlig = ((unsigned long long)*data) << 3;
+
+ dataAlig |= (((address & 0xC) >> 1) + (rnw & 0x1));
+
+ if(_Distinct_Methods.Instr04(DPACC) != 0x1)
+ {
+ return -1;
+ }
+
+ for (i = 0; i < MAX_RETRY; i++)
+ {
+ retVal = _Distinct_Methods.SetReg_XBits35(&dataAlig);
+ // if ack == ACK
+ if ((retVal & 0x3) == ACK)
+ {
+ *data = retVal >> 3;
+ return ACK;
+ }
+ }
+ return -1;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_Write_Read_Ap_Jtag(unsigned long address, unsigned long *data, unsigned short rnw)
+{
+ unsigned long long retVal;
+ unsigned char i = 0;
+ unsigned long long dataAlig = 0ull;
+
+ dataAlig = ((unsigned long long)*data) << 3;
+
+ unsigned long apsel_bank_sel = address & DP_SELECT_APSEL_MASK;
+ apsel_bank_sel |= address & DP_SELECT_APBANKSEL_MASK;
+
+ if (_hil_Write_Read_Dp_Jtag(DP_SELECT, &apsel_bank_sel, WRITE) != ACK)
+ {
+ return -1;
+ }
+
+ dataAlig |= (((address & 0xC) >> 1) + (rnw & 0x1));
+
+ if(_Distinct_Methods.Instr04(APACC) != 0x1)
+ {
+ return -1;
+ }
+
+ do
+ {
+ retVal = _Distinct_Methods.SetReg_XBits35(&dataAlig);
+ } while((retVal & 0x3 != ACK) && (++i < MAX_RETRY));
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+ else
+ {
+ if(rnw == READ)
+ {
+ return _hil_Write_Read_Dp_Jtag(DP_RDBUFF, data, READ);
+ }
+ else
+ {
+ return ACK;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+// Currently only supports single 32-bit transfers
+short _hil_Write_Read_Mem_Ap_Jtag(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw)
+{
+ // First Read current CSW value
+ unsigned long tmp = 0;
+ unsigned long apsel = (((uint32_t)ap_sel) << 24);
+ if (_hil_Write_Read_Ap_Jtag(AP_CSW | apsel, &tmp, READ) != ACK)
+ {
+ return -1;
+ }
+
+ // Configure the transfer
+ tmp = (tmp & ~(AP_CSW_SIZE_MASK | AP_CSW_ADDRINC_MASK)) | AP_CSW_ADDRINC_OFF | AP_CSW_SIZE_32BIT;
+ if (_hil_Write_Read_Ap_Jtag(AP_CSW | apsel, &tmp, WRITE) != ACK)
+ {
+ return -1;
+ }
+
+ // Write the address
+ tmp = address;
+ if (_hil_Write_Read_Ap_Jtag(AP_TAR | apsel, &tmp, WRITE) != ACK)
+ {
+ return -1;
+ }
+ // Write/Read data
+ return _hil_Write_Read_Ap_Jtag(AP_DRW | apsel, data, rnw);
+}
diff --git a/Bios/src/hil/msp_fet/hilAdcControl.c b/Bios/src/hil/msp_fet/hilAdcControl.c
new file mode 100644
index 0000000..40667d2
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilAdcControl.c
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//******************************************************************************
+// Filename: hilAdcControl.c
+//
+// Description:
+//
+//******************************************************************************
+#include "msp430.h"
+#include "hilAdcControl.h"
+#include "arch.h"
+
+static unsigned short runningAverageBufferSpVcc[8] = {0,0,0,0,0,0,0,0};
+static unsigned short runningBufferVCCDtSense = 0;
+static unsigned short runningAverageBufferDtVcc[8] = {0,0,0,0,0,0,0,0};
+static unsigned short runningAverageBufferExtVcc[8] = {0,0,0,0,0,0,0,0};
+static unsigned short isVCC = 0, dtVCC = 0, iexVCC = 0;
+
+/* In normal operation mode, the read function is triggered by the ADC12
+ interrupt when a sample sequence has been completed.
+ During Hil module init (FET startup) and Set VCC the ADC12 interrupts are
+ disabled and the readout is triggered manually by the calling function
+*/
+
+#define CAL_ADC_GAIN_FACTOR *((unsigned short *)0x1A16)
+#define CAL_ADC_OFFSET *((short *)0x1A18)
+
+void hil_AdcControlRead()
+{
+ volatile long notCalibratedAdc = 0;
+ while ((ADC12IFG & BIT3) == 0);
+
+ notCalibratedAdc = ADC12MEM0;
+ notCalibratedAdc = ((notCalibratedAdc * CAL_ADC_GAIN_FACTOR) / 32768) + (long)CAL_ADC_OFFSET;
+ runningAverageBufferSpVcc[isVCC] = (unsigned short)(((((notCalibratedAdc * 2500) / 4096) * (220 + 220)) / 220));
+ isVCC++;
+ if(isVCC == 8) isVCC = 0;
+
+ notCalibratedAdc = ADC12MEM1;
+ notCalibratedAdc = ((notCalibratedAdc * CAL_ADC_GAIN_FACTOR) / 32768) + (long)CAL_ADC_OFFSET;
+ if(notCalibratedAdc > 0)
+ {
+ runningAverageBufferExtVcc[iexVCC] = (unsigned short)(((((notCalibratedAdc * 2500) / 4096) * (150 + 150)) / 150));
+ }
+ else
+ {
+ runningAverageBufferExtVcc[iexVCC] = 0;
+ }
+ iexVCC++;
+ if(iexVCC == 8) iexVCC = 0;
+
+ notCalibratedAdc = ADC12MEM2;
+ notCalibratedAdc = ((notCalibratedAdc * CAL_ADC_GAIN_FACTOR) / 32768) + (long)CAL_ADC_OFFSET;
+ runningAverageBufferDtVcc[dtVCC] = (unsigned short)(((((notCalibratedAdc * 2500) / 4096) * (150 + 150)) / 150));
+ dtVCC++;
+ if(dtVCC == 8) dtVCC = 0;
+
+ runningBufferVCCDtSense = (unsigned short)(((float)ADC12MEM3 * 1000 * A_VREFPLUS) / ADC_CONV_RANGE);
+}
+
+/* Init ADC, enable sequence conversion on A1, A3, A4 and A6 – Sequence is
+ triggered once during main loop execution, only when HIL module is loaded and
+ valid
+*/
+void hil_AdcControlInitADC()
+{
+ isVCC = 0;
+ dtVCC = 0;
+ iexVCC = 0;
+ runningBufferVCCDtSense = 0;
+
+ // Enable Vref=2.5V for ADC --> Already done in Dac init
+
+ // A0=P6.0, A1=P6.1
+ P6OUT &= ~(BIT1+BIT3+BIT4+BIT6);
+ P6SEL |= (BIT1+BIT3+BIT4+BIT6);
+
+ // Configure ADC12
+ // select channel and do conversion
+ ADC12CTL0 &= ~ADC12ENC; // Disable conversion
+ ADC12CTL0 = ADC12ON + ADC12SHT0_9 + ADC12REF2_5V + ADC12REFON + ADC12MSC; // Turn on ADC12, set sampling time
+ ADC12CTL1 = ADC12SHP + ADC12CONSEQ_1 + ADC12SSEL_3 + ADC12DIV_7; // Use sampling timer
+
+ ADC12MCTL0 = ADC12SREF_1 + ADC12INCH_1; //A_VCCSUPPLY;
+ ADC12MCTL1 = ADC12SREF_1 + ADC12INCH_3; //A_VCCSUPPLY_SENSE;
+ ADC12MCTL2 = ADC12SREF_1 + ADC12INCH_4; //A_VCCDT;
+ ADC12MCTL3 = ADC12SREF_1 + ADC12INCH_6 + ADC12EOS;; //A_VCCDT_SENSE;
+
+ __delay_cycles((15*90));
+ ADC12CTL0 |= ADC12ENC; // Enable conversion
+}
+
+/*----------------------------------------------------------------------------
+ This function performs a single AD conversion on the selected pin.
+ Uses internal reference 2500mV (VR+ = VREF+).
+ Only used during Fuse Blow to measure VCC Fuse
+ Arguments: word pinmask (bit position of selected analog input Ax)
+ Result: word (12 bit ADC conversion result)
+*/
+float ConvertAD(short channel)
+{
+ ADC12CTL0 &= ~ADC12ENC; // Disable conversion, write controls
+ ADC12MCTL0 = ADC12SREF_1 + channel; // select Vref and analog channel Ax
+ ADC12CTL0 |= ADC12ENC; // Enable conversions
+ ADC12CTL0 |= ADC12SC; // Start conversions
+ while ((ADC12IFG & BIT0) == 0); // wait until conversion is done
+ return(((float)ADC12MEM0* A_VREFPLUS) / ADC_CONV_RANGE); // return conversion result from MEM0 value in mv
+}
+
+/* Only used during Fuse Blow to measure VCC Fuse */
+void hil_AdcControlInitADCvFuse()
+{
+ ADC12IE = 0;
+ ADC12MCTL0 = 0;
+ ADC12MCTL1 = 0;
+ ADC12MCTL2 = 0;
+ ADC12MCTL3 = 0;
+
+ // A0=P6.0, A1=P6.1
+ P6OUT &= ~(BIT0+BIT1+BIT4+BIT6);
+ P6SEL |= BIT0+BIT1+BIT4+BIT6;
+
+ // Configure ADC12
+ // select channel and do conversion
+ ADC12CTL0 &= ~ADC12ENC; // Disable conversion
+ ADC12CTL0 = ADC12ON + ADC12SHT0_2 + ADC12REF2_5V + ADC12REFON; // Turn on ADC12, set sampling time
+ ADC12CTL1 = ADC12SHP + ADC12SSEL_1; // Use sampling timer
+ __delay_cycles((15*90));
+ ADC12CTL0 |= ADC12ENC; // Enable conversion
+}
+
+// Get 1 sample from A6
+unsigned short hil_AdcControlGetDtVccSense(void)
+{
+ return runningBufferVCCDtSense;
+}
+
+// Get 1 sample from A3
+unsigned short hil_AdcControlGetExternalVcc(void)
+{
+ return ((runningAverageBufferExtVcc[0] + runningAverageBufferExtVcc [1] +
+ runningAverageBufferExtVcc[2] + runningAverageBufferExtVcc[3] +
+ runningAverageBufferExtVcc[4] + runningAverageBufferExtVcc[5] +
+ runningAverageBufferExtVcc[6] + runningAverageBufferExtVcc[7]) >> 3);
+}
+// Get 1 sample from A1
+unsigned short hil_AdcControlGetSupplyVcc(void)
+{
+ return (((runningAverageBufferSpVcc[0] + runningAverageBufferSpVcc [1] +
+ runningAverageBufferSpVcc[2] + runningAverageBufferSpVcc[3] +
+ runningAverageBufferSpVcc[4] + runningAverageBufferSpVcc[5] +
+ runningAverageBufferSpVcc[6] + runningAverageBufferSpVcc[7] ) >> 3) - 20);
+}
+// Get 1 sample from A2
+unsigned short hil_AdcControlGetVFuse(void)
+{
+ float VFuseTmp = (((ConvertAD(A_VF) * (270 + 150)) / 150) * 1000);
+ return (unsigned short)VFuseTmp;
+}
+// Get 1 sample from A4
+unsigned short hil_AdcControlGetVccDt(void)
+{
+ return (((runningAverageBufferDtVcc[0] + runningAverageBufferDtVcc [1] +
+ runningAverageBufferDtVcc[2] + runningAverageBufferDtVcc[3] +
+ runningAverageBufferDtVcc[4] + runningAverageBufferDtVcc[5] +
+ runningAverageBufferDtVcc[6] + runningAverageBufferDtVcc[7]) >> 3)-20);
+}
diff --git a/Bios/src/hil/msp_fet/hilAdcControl.h b/Bios/src/hil/msp_fet/hilAdcControl.h
new file mode 100644
index 0000000..e2eb272
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilAdcControl.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "msp430.h"
+
+#ifndef _HIL_ADC_CONTROL_H_
+#define _HIL_ADC_CONTROL_H_
+
+#define A_VBUS 0 /* ADC12 Input Channel Select Bit 0 */
+#define A_VCCSUPPLY 1 /* ADC12 Input Channel Select Bit 1 target vcc*/
+#define A_VF 2 /* ADC12 Input Channel Select Bit 2 Fuse blow voltage */
+#define A_VCCSUPPLY_SENSE 3 /* ADC12 Input Channel Select Bit 3 external target vcc*/
+#define A_VCCDT 4 /* ADC12 Input Channel Select Bit 4 JTAG line vcc*/
+#define A_VCCDT_SENSE 6 /* ADC12 Input Channel Select Bit 6 short detection on Jtag lines*/
+
+void hil_AdcControlInitADC(void);
+unsigned short hil_AdcControlGetExternalVcc(void);
+unsigned short hil_AdcControlGetSupplyVcc(void);
+unsigned short hil_AdcControlGetVccDt(void);
+unsigned short hil_AdcControlGetVFuse(void);
+unsigned short hil_AdcControlGetDtVccSense(void);
+void hil_AdcControlRead(void);
+void hil_AdcControlInitADCvFuse(void);
+#endif /*_HIL_DAC_CONTROL_H_*/
diff --git a/Bios/src/hil/msp_fet/hilDacControl.c b/Bios/src/hil/msp_fet/hilDacControl.c
new file mode 100644
index 0000000..c97f7b7
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilDacControl.c
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//******************************************************************************
+// Filename: hilDacControl.c
+//
+// Description:
+//
+//******************************************************************************
+#include "msp430.h"
+#include "hilDacControl.h"
+#include "arch.h"
+//------------------------------------------------------------------------------
+void hil_DacControlInitDAC0(void)
+{
+ // Set reference voltage to 2.5 V
+ REFCTL0 |= REFMSTR;
+ REFCTL0 |= REFVSEL1;
+ REFCTL0 |= REFON;
+
+ // Vref is used as reference, calibration on, DAC on
+ DAC12_0CTL0 = DAC12SREF_0 + DAC12AMP_5 + DAC12CALON;
+ DAC12_0CTL0 |= DAC12IR;
+ // set 12-bit resolution
+ DAC12_0CTL0 |= DAC12OPS; // DAC12 out on P7.6
+ DAC12_0CTL0 |= DAC12ENC; // Enable DAC12
+}
+
+void hil_DacControlSetDAC0(unsigned short dacVal)
+{
+ DAC12_0DAT = dacVal;
+}
+
+void hil_DacControlInitDAC1(void)
+{
+ // Set reference voltage to 2.5 V
+ REFCTL0 |= REFMSTR;
+ REFCTL0 |= REFVSEL1;
+ REFCTL0 |= REFON;
+
+ // Vref is used as reference, calibration on, DAC on
+ DAC12_1CTL0 = DAC12SREF_0 + DAC12AMP_5 + DAC12CALON;
+ DAC12_1CTL0 |= DAC12IR;
+
+ // set 12-bit resolution
+ DAC12_1CTL0 |= DAC12OPS; // DAC12 out on P7.7
+ DAC12_1CTL0 |= DAC12ENC; // Enable DAC12
+ DAC12_1DAT = 0; // 0V
+}
+
+void hil_DacControlSetDAC1(unsigned short dacVal)
+{
+ DAC12_1DAT = dacVal;
+}
diff --git a/Bios/src/hil/msp_fet/hilDacControl.h b/Bios/src/hil/msp_fet/hilDacControl.h
new file mode 100644
index 0000000..dfde26f
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilDacControl.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "msp430.h"
+#define uController_uif
+
+#ifndef _HIL_DAC_CONTROL_H_
+#define _HIL_DAC_CONTROL_H_
+
+extern void hil_DacControlInitDAC0(void);
+extern void hil_DacControlInitDAC1(void);
+
+extern void hil_DacControlSetDAC0(unsigned short dacVal);
+extern void hil_DacControlSetDAC1(unsigned short dacVal);
+
+#endif /*_HIL_DAC_CONTROL_H_*/
diff --git a/Bios/src/hil/msp_fet/hilDelays.c b/Bios/src/hil/msp_fet/hilDelays.c
new file mode 100644
index 0000000..6df5827
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilDelays.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+ #include "MSP430F6638.h"
+
+void _hil_Delay_1ms(unsigned short millisec) // inner loop generates 1 ms
+{
+ unsigned short i;
+ for(i = millisec; i > 0; i--)
+ {
+ TA2CCTL0 &= ~CCIFG; // Clear the interrupt flag
+ TA2CTL |= TACLR+ MC__UP; // Timer_A source:SMCLK ,SMCLK/8 = 2.5 MHz
+ while ((TA2CCTL0 & CCIFG)==0); // Wait until the Timer elapses
+ TA2CTL &= ~MC__UP;
+ }
+}
+
+void _hil_Delay_1us(unsigned short microsec_1) // inner loop generates 10 us
+{
+ while((--microsec_1) > 0)
+ {
+ __delay_cycles(14);
+ }
+}
diff --git a/Bios/src/hil/msp_fet/hilDelays.h b/Bios/src/hil/msp_fet/hilDelays.h
new file mode 100644
index 0000000..43d153d
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilDelays.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+//! \ingroup MODULHIL
+//! \file hilDelays.h
+//! \brief
+//!
+
+extern void _hil_Delay_1us(unsigned short usecs);
+extern void _hil_Delay_1ms(unsigned short msecs);
diff --git a/Bios/src/hil/msp_fet/hilFpgaAccess.c b/Bios/src/hil/msp_fet/hilFpgaAccess.c
new file mode 100644
index 0000000..c1496a7
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilFpgaAccess.c
@@ -0,0 +1,496 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "archFpga.h"
+#include "arch.h"
+#include "hilDelays.h"
+#include "hilFpgaAccess.h"
+#include "hw_compiler_specific.h"
+
+// structs representing ports for FPGA communication
+s_FPGA_PA FPGA_PORTA;
+s_FPGA_PB FPGA_PORTB;
+
+unsigned char lastTestState = 0;
+unsigned char lastResetState= 0;
+
+static struct jtag _Jtag = {0};
+
+extern unsigned short gprotocol_id;
+unsigned short static volatile TimeOut = FET_FALSE;
+
+void hil_fpga_init(void)
+{
+ // Port1
+ // P1.0 -> DATA0[0]
+ // P1.1 -> DATA0[1]
+ // P1.2 -> DATA0[2]
+ // P1.3 -> DATA0[3]
+ // P1.4 -> DATA0[4]
+ // P1.5 -> DATA0[5]
+ // P1.6 -> DATA0[6]
+ // P1.7 -> DATA0[7]
+ P1DIR |= (BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7); // set pins to output direction
+ P1SEL &= ~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);
+
+ // Port2
+ // P2.0 <- DCDC_PULSE
+ // P2.1 <- UART_RTS
+ // P2.2 -> CMD[0]
+ // P2.3 -> CMD[1]
+ // P2.4 -> CMD[2]
+ // P2.5 -> CMD[3]
+ // P2.6 -> WR_TRIG
+ // P2.7 -> SYS_CLK
+ P2DIR |= (BIT2+BIT3+BIT4+BIT5+BIT6+BIT7); // set pins to output direction
+ P2SEL &= ~(BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);
+
+ // Port3
+ // P3.0 <-> DATA1[0]
+ // P3.1 <-> DATA1[1]
+ // P3.2 <-> DATA1[2]
+ // P3.3 <-> DATA1[3]
+ // P3.4 <-> DATA1[4]
+ // P3.5 <-> DATA1[5]
+ // P3.6 <-> DATA1[6]
+ // P3.7 <-> DATA1[7]
+ P3DIR |= (BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7); // set pins initially to output direction
+ P3SEL &= ~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);
+
+ // Port4
+ // P4.0 <-> DATA1[8]
+ // P4.1 <-> DATA1[9]
+ // P4.2 <-> DATA1[10]
+ // P4.3 <-> DATA1[11]
+ // P4.4 <-> DATA1[12]
+ // P4.5 <-> DATA1[13]
+ // P4.6 <-> DATA1[14]
+ // P4.7 <-> DATA1[15]
+ P4DIR |= (BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7); // set pins initially to output direction
+ P4SEL &= ~(BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6+BIT7);
+
+ // Port5
+ // P5.0 -> VREF+ (output of reference voltage to ADC)
+ // P5.1 -> FPGA_RESET
+ // P5.2 -> VF2TEST_CTRL
+ // P5.3 -> LED1
+ // P5.4 -> VF2TDI_CTRL
+ // P5.5 -> TDIOFF_CTRL (0 = turns off TDI, after that ok to select VF for fuse blowing)
+ // P5.6 <- MCU_DMAE0 / RD_TRIG (DMA trigger input)
+ // P5.7 -> DCDC_IO1
+ P5DIR |= (BIT1+BIT2+BIT4+BIT5); // set pins initially to output direction
+ P5DIR &= ~(BIT6);
+ P5OUT |= (BIT5);
+ P5OUT &= ~(BIT2+BIT4);
+
+ // Port8
+ // P8.0 -> VCC_DT2TRGT_CTRL (control signal to switches to provide debug signals to target via JTAG.x)
+ // P8.1 -> IO_DIR
+ // P8.2 -> UART_TXD
+ // P8.3 <- UART_RXD
+ // P8.4 <- DCDC_IO0
+ // P8.5 -> HOST_SDA
+ // P8.6 -> HOST_SCL
+ // P8.7 -> VCC_SUPPLY2TRGT_CTRL (DCDC VCC to target VCC)
+ P8OUT |= (BIT1); // set pins to '1'
+ P8DIR |= (BIT1); // set pins initially to output direction
+
+ // Port9
+ // P9.0 -> FPGA_TCK
+ // P9.1 -> FPGA_TDI
+ // P9.2 -> FPGA_TMS
+ // P9.3 <- FPGA_TDO
+ // P9.4 -> FPGA_TRST
+ // P9.5 -> UART_CTS
+ // P9.6 -> VCC_DT2SUPPLY_CTRL (DT voltage to target VCC)
+ // P9.7 -> PWM_SETVF (to fuse blow circuit)
+ P9OUT |= BIT0+BIT1+BIT2+BIT4;
+ P9OUT &= ~(BIT3);
+ P9DIR |= BIT0+BIT1+BIT2+BIT4+BIT7; // TDO is in, all others out
+ P9DIR &= ~(BIT3);
+ P9REN |= BIT3; // TDO with pulldown
+
+
+ // SYS_CLK: Output 20MHz MCLK on P2.7
+ _DINT_FET(); // Disable Interrupts before altering Port Mapping registers
+ PMAPPWD = 0x02D52; // Enable Write-access to modify port mapping registers
+ PMAPCTL = PMAPRECFG; // Allow reconfiguration during runtime
+ P2MAP7 = PM_MCLK;
+ PMAPPWD = 0; // Disable Write-Access to modify port mapping registers
+ _EINT_FET(); // Re-enable all interrupts
+
+ // Reset FPGA
+ FPGA_RESET_DEASSERT;
+ __delay_cycles(100);
+ FPGA_RESET_ASSERT;
+
+ // Reset the internal structure
+ FPGA_PORTA.all = 0;
+ FPGA_PORTA.bit.CMD = 0xF;
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+
+ // Enable SYS_CLK
+ __delay_cycles(100);
+ FPGA_SYS_CLK_START;
+
+ __delay_cycles(10000);
+ FPGA_RESET_DEASSERT;
+
+ lastTestState = 0;
+ lastResetState= 1;
+
+ TimeOut = FET_FALSE;
+}
+
+static void startWdtTimeOutCounter(unsigned long timeout)
+{
+ TimeOut = FET_FALSE;
+ // Start WDT timer use SMCLK 20 MHz, timer mode, and clear timer, timout is 6.4 s
+ WDTCTL = WDTPW + WDTSSEL__SMCLK + WDTCNTCL + WDTTMSEL + timeout;
+ SFRIE1 |= WDTIE;
+ SFRIFG1 &= ~WDTIFG;
+}
+
+static void stopWdtTimeOutCounter()
+{
+ // Stop watchdog timer
+ WDTCTL = WDTPW + WDTHOLD;
+ SFRIE1 &= ~WDTIE;
+ SFRIFG1 &= ~WDTIFG;
+}
+
+void _hil_FpgaAccess_setTimeOut(unsigned short state)
+{
+ TimeOut = state;
+
+ // Reset FPGA
+ FPGA_RESET_DEASSERT;
+ __delay_cycles(100);
+ FPGA_RESET_ASSERT;
+
+ // Enable SYS_CLK
+ __delay_cycles(100);
+ FPGA_SYS_CLK_START;
+
+ __delay_cycles(10000);
+ FPGA_RESET_DEASSERT;
+
+ lastTestState = 0;
+ lastResetState= 1;
+}
+
+void initJtagBypass(struct jtag tmp)
+{
+ _Jtag = tmp;
+}
+
+//enable bypass
+void hil_fpga_enable_bypass()
+{
+ FPGA_BYPASS_DIR_CTRL_PORT_DIR = FPGA_BYPASS_DIR_CTRL_TEST_BIT + FPGA_BYPASS_DIR_CTRL_RST_BIT + FPGA_BYPASS_DIR_CTRL_TDO_BIT + FPGA_BYPASS_DIR_CTRL_TDI_BIT + FPGA_BYPASS_DIR_CTRL_TMS_BIT + FPGA_BYPASS_DIR_CTRL_TCK_BIT;
+
+ /*------------------------ test pin state handling ----------------------*/
+ if (lastTestState)
+ {
+ (*_Jtag.Out) |= _Jtag.TST;
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.TST;
+ }
+
+ /*------------------------ RST pin state handling ----------------------*/
+ if(lastResetState)
+ {
+ (*_Jtag.Out) |= _Jtag.RST;
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.RST;
+ }
+
+ if( gprotocol_id == SPYBIWIRE || gprotocol_id == SPYBIWIRE_MSP_FET)
+ {
+ (*_Jtag.DIRECTION) = _Jtag.TST + _Jtag.RST;
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT = _Jtag.TST + _Jtag.RST;
+ }
+ if( gprotocol_id == SPYBIWIREJTAG || gprotocol_id == JTAG || gprotocol_id == JTAG_432 || gprotocol_id == SWD_432)
+ {
+ (*_Jtag.Out) |= (_Jtag.TCK + _Jtag.TDI);
+ (*_Jtag.DIRECTION) = _Jtag.TST + _Jtag.RST + _Jtag.TDI + _Jtag.TMS + _Jtag.TCK;
+ FPGA_BYPASS_DIR_CTRL_PORT_OUT = _Jtag.TST + _Jtag.RST + _Jtag.TDI + _Jtag.TMS + _Jtag.TCK;
+ }
+
+ // Enable bypass mode
+ hil_fpga_write_cmd_data0(FPGA_CMD_BYPASS, 1);
+
+ FPGA_IO_DIR_PORT_OUT &= ~FPGA_IO_DIR_BIT;
+
+ _hil_Delay_1ms(10);
+}
+
+
+// Leave bypass
+void hil_fpga_disable_bypass(void)
+{
+ if((*_Jtag.Out) & _Jtag.TST)
+ {
+ lastTestState = 1;
+ }
+ else
+ {
+ lastTestState = 0;
+ }
+ if((*_Jtag.Out) & _Jtag.RST)
+ {
+ lastResetState = 1;
+ }
+ else
+ {
+ lastResetState = 0;
+ }
+
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ // Disable bypass mode
+ hil_fpga_write_cmd_data0(FPGA_CMD_BYPASS, 0);
+ _hil_Delay_1us(10);
+}
+
+void hil_fpga_write_cmd_data0(unsigned char cmd, unsigned char data0)
+{
+ // Assemble PORTA data
+ FPGA_PORTA.bit.CMD = cmd;
+ FPGA_PORTA.bit.DATA0 = data0;
+ FPGA_PORTA.bit.WR_TRIG ^= 1;
+
+ startWdtTimeOutCounter(WDTIS__128M);
+ // Wait until RD_TRIG = 1 and FPGA is ready to accept data
+ while ((!FPGA_RD_TRIG_IS_ASSERTED))
+ {
+ if(TimeOut){break;}
+ }
+ stopWdtTimeOutCounter();
+
+ // Write to FPGA
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+}
+
+
+void hil_fpga_write_cmd_data0_432(unsigned char cmd, unsigned char data0)
+{
+ // Assemble PORTA data
+ FPGA_PORTA.bit.CMD = cmd;
+ FPGA_PORTA.bit.DATA0 = data0;
+ FPGA_PORTA.bit.WR_TRIG ^= 1;
+
+ // Wait until RD_TRIG = 1 and FPGA is ready to accept data
+ while ((!FPGA_RD_TRIG_IS_ASSERTED));
+
+ // Write to FPGA
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+}
+
+// Write CMD, DATA0 and DATA1 to FPGA
+void hil_fpga_write_cmd_data0_data1(unsigned char cmd, unsigned char data0, unsigned short data1)
+{
+ // Set DATA1 bus to output direction
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ FPGA_DATA1_PORT_DIR = 0xFFFF;
+
+ // Assemble PORTA data
+ FPGA_PORTA.bit.CMD = cmd;
+ FPGA_PORTA.bit.DATA0 = data0;
+ FPGA_PORTA.bit.WR_TRIG ^= 1;
+
+ startWdtTimeOutCounter(WDTIS__128M);
+ // Wait until RD_TRIG = 1 and FPGA is ready to accept data
+ while (!(FPGA_RD_TRIG_PORT_IN & FPGA_RD_TRIG_BIT))
+ {
+ if(TimeOut){break;}
+ }
+ stopWdtTimeOutCounter();
+
+ // Write to FPGA
+ FPGA_DATA1_PORT_OUT = data1;
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+}
+
+// Write CMD, DATA0 and DATA1 to FPGA
+void hil_fpga_write_cmd_data0_data1_count_432(unsigned char cmd, unsigned char data0, unsigned short data1Buf[], unsigned char count)
+{
+ // Set DATA1 bus to output direction
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ FPGA_DATA1_PORT_DIR = 0xFFFF;
+
+ // Assemble PORTA data
+ FPGA_PORTA.bit.CMD = cmd;
+ FPGA_PORTA.bit.DATA0 = data0;
+
+ unsigned char i =0;
+ while(i < count)
+ {
+ // Write to FPGA
+ FPGA_DATA1_PORT_OUT = data1Buf[i++];
+ FPGA_PORTA.bit.WR_TRIG ^= 1;
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+ }
+}
+
+// Read data from FPGA
+void hil_fpga_read_data_432(unsigned char count, unsigned short *buf)
+{
+ // Set DATA1 bus to input direction
+ FPGA_DATA1_PORT_DIR = 0x0000;
+ FPGA_IO_DIR_PORT_OUT &= ~FPGA_IO_DIR_BIT;
+
+ while (count)
+ {
+ // Wait for word on DATA1
+ while (!(FPGA_RD_TRIG_PORT_IN & FPGA_RD_TRIG_BIT));
+
+ // Store word
+ *(buf+(--count)) = FPGA_DATA1_PORT_IN;
+ // Request next word on DATA1
+ if (count)
+ {
+ FPGA_IO_DIR_PORT_OUT ^= FPGA_IO_DIR_BIT;
+ FPGA_IO_DIR_PORT_OUT ^= FPGA_IO_DIR_BIT;
+ }
+ }
+ // Set DATA1 to output
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ FPGA_DATA1_PORT_DIR = 0xFFFF;
+}
+
+
+// Write CMD, DATA0 and DATA1 to FPGA
+void hil_fpga_write_cmd_data0_data1_count(unsigned char cmd, unsigned char data0, unsigned short data1Buf[], unsigned char count)
+{
+ //unsigned short i = 0;
+ // Set DATA1 bus to output direction
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ FPGA_DATA1_PORT_DIR = 0xFFFF;
+
+ // Assemble PORTA data
+ FPGA_PORTA.bit.CMD = cmd;
+ FPGA_PORTA.bit.DATA0 = data0;
+
+ // Wait until RD_TRIG = 1 and FPGA is ready to accept data
+ startWdtTimeOutCounter(WDTIS__128M);
+ while (!(FPGA_RD_TRIG_PORT_IN & FPGA_RD_TRIG_BIT))
+ {
+ if(TimeOut){break;}
+ }
+ stopWdtTimeOutCounter();
+
+ do
+ {
+ // Write to FPGA
+ FPGA_DATA1_PORT_OUT = data1Buf[count - 1];
+ FPGA_PORTA.bit.WR_TRIG ^= 1;
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+ count--;
+ } while(count);
+}
+
+
+// Read data from FPGA
+void hil_fpga_read_data1(unsigned char count, unsigned short *buf)
+{
+ // Set DATA1 bus to input direction
+ FPGA_DATA1_PORT_DIR = 0x0000;
+ FPGA_IO_DIR_PORT_OUT &= ~FPGA_IO_DIR_BIT;
+
+ while (count)
+ {
+ startWdtTimeOutCounter(WDTIS__128M);
+
+ // Wait for word on DATA1
+ while (!(FPGA_RD_TRIG_PORT_IN & FPGA_RD_TRIG_BIT))
+ {
+ if(TimeOut){break;}
+ }
+ stopWdtTimeOutCounter();
+
+ // Store word
+ *(buf+(count-1)) = FPGA_DATA1_PORT_IN;
+ count--;
+ // Request next word on DATA1
+ if (count)
+ {
+ FPGA_IO_DIR_PORT_OUT ^= FPGA_IO_DIR_BIT;
+ FPGA_IO_DIR_PORT_OUT ^= FPGA_IO_DIR_BIT;
+ }
+ }
+ // Set DATA1 to output
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ FPGA_DATA1_PORT_DIR = 0xFFFF;
+}
+
+// Hi-Z JTAG signals to target, except TEST and RST (actively drive 0)
+void hil_fpga_power_up_target(void)
+{
+ // Enable VCC_SUPPLY and VCC_DT
+ P8DIR |= (BIT0 + BIT7);
+ P8OUT |= (BIT0 + BIT7);
+ _hil_Delay_1ms(1);
+}
+
+unsigned short hil_fpga_get_version(void)
+{
+ unsigned short version = 0;
+
+ // This is a bit complicated, due to the configuration register returning a value
+ hil_fpga_write_cmd_data0(FPGA_CMD_VERSION, 0);
+
+ // Set DATA1 bus to input direction
+ FPGA_DATA1_PORT_DIR = 0x0000;
+ FPGA_IO_DIR_PORT_OUT &= ~FPGA_IO_DIR_BIT;
+
+ // Wait for data valid
+ while (!FPGA_RD_TRIG_IS_ASSERTED);
+
+ // Store word
+ version = FPGA_DATA1_PORT_IN;
+
+ // Remove VERSION command
+ FPGA_PORTA.bit.CMD = 0;
+ FPGA_PORTA.bit.DATA0 = 0;
+ FPGA_CMD_DATA0_PORT_OUT = FPGA_PORTA.all;
+
+ // Set DATA1 to output
+ FPGA_IO_DIR_PORT_OUT |= FPGA_IO_DIR_BIT;
+ FPGA_DATA1_PORT_DIR = 0xFFFF;
+
+ return version;
+}
diff --git a/Bios/src/hil/msp_fet/hilFpgaAccess.h b/Bios/src/hil/msp_fet/hilFpgaAccess.h
new file mode 100644
index 0000000..c09c9e3
--- /dev/null
+++ b/Bios/src/hil/msp_fet/hilFpgaAccess.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _HIL_FPGA_ACCESS_H_
+#define _HIL_FPGA_ACCESS_H_
+
+#include "arch.h"
+
+void hil_fpga_init(void);
+void initJtagBypass(struct jtag);
+void hil_fpga_enable_bypass();
+void hil_fpga_disable_bypass(void);
+
+void hil_fpga_write_cmd_data0(unsigned char cmd, unsigned char data0);
+void hil_fpga_write_cmd_data0_data1(unsigned char cmd, unsigned char data0, unsigned short data1);
+void hil_fpga_write_cmd_data0_data1_count(unsigned char cmd, unsigned char data0, unsigned short data1Buf[], unsigned char count);
+void hil_fpga_read_data1(unsigned char count, unsigned short *buf);
+void hil_fpga_power_up_target(void);
+
+//432 only
+void hil_fpga_write_cmd_data0_data1_count_432(unsigned char cmd, unsigned char data0, unsigned short data1Buf[], unsigned char count);
+void hil_fpga_read_data_432(unsigned char count, unsigned short *buf);
+void hil_fpga_write_cmd_data0_432(unsigned char cmd, unsigned char data0);
+
+#endif /*_HIL_FPGA_ACCESS_H_*/
diff --git a/Bios/src/hil/uifv1/arch.h b/Bios/src/hil/uifv1/arch.h
index 5be55eb..ac9546d 100644
--- a/Bios/src/hil/uifv1/arch.h
+++ b/Bios/src/hil/uifv1/arch.h
@@ -7,172 +7,274 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "msp430.h"
+
#ifndef _UIFV1_ARCH_H_
#define _UIFV1_ARCH_H_
-struct jtag {
- unsigned char TCK;
- unsigned char TMS;
- unsigned char TDI;
- unsigned char TDO;
- unsigned char* In;
- unsigned char* Out;
-};
-
-extern const struct jtag _Jtag;
-
-#define RSTHIGH 0
-#define RSTLOW 1
-
-#define DEFAULT_RSTDELAY 5
-
-// 4-wire JTAG: low level signal access
-#define TMSset1 { *_Jtag.Out |= _Jtag.TMS; }
-#define TMSset0 { *_Jtag.Out &= ~_Jtag.TMS; }
-#define TDIset1 { *_Jtag.Out |= _Jtag.TDI; }
-#define TDIset0 { *_Jtag.Out &= ~_Jtag.TDI; }
-#define TCKset1 { *_Jtag.Out |= _Jtag.TCK; }
-#define TCKset0 { *_Jtag.Out &= ~_Jtag.TCK; }
-#define TCLKset1 { EDT_Tclk(1); }
-#define TCLKset0 { EDT_Tclk(0); }
-#define TCLK { TCLKset0 TCLKset1 }
-#define TDIset1TMSset1 { *_Jtag.Out |= _Jtag.TDI | _Jtag.TMS; }
-#define TDIset0TMSset1 { *_Jtag.Out &= ~_Jtag.TDI; *_Jtag.Out |= _Jtag.TMS;}
-
-
-// 2-wire Spy-Bi-Wire: low level signal access
-#define JTAGOUT (*_Jtag.Out)
-#define JTAGIN (*_Jtag.In)
-#define sbwdato (_Jtag.TDI)
-#define sbwclk (_Jtag.TCK)
-#define sbwdati (_Jtag.TDO)
-
-#define TEST BIT0 // P4.0 (out) (high)
-#define TSTCTRLOUT *tstctrl_port_
-#define TGTCTRLOUT P2OUT
-#define ENTDI2TDO entdi2tdo_
-#define SELT BIT5 // P2.5 out (high) (aktiv low)
-#define TGTRST BIT6 // P2.6 out (high) (aktiv low)
-
-
-#define RSTset1 { if (gprotocol_id == SPYBIWIRE) \
- { \
- { JTAGOUT |= sbwdato; } \
- } \
- else \
- { \
- { TGTCTRLOUT &= ~SELT; TGTCTRLOUT |= TGTRST; } \
- } \
- EDT_Delay_1ms(DEFAULT_RSTDELAY); \
- }
-#define RSTset0 { if (gprotocol_id == SPYBIWIRE) \
- { \
- { JTAGOUT &= ~sbwdato; } \
- } \
- else \
- { \
- { TGTCTRLOUT &= ~SELT; TGTCTRLOUT &= ~TGTRST; } \
- } \
- EDT_Delay_1ms(DEFAULT_RSTDELAY); \
- }
-#define TSTset1 { if (gprotocol_id == SPYBIWIRE) \
- { \
- { JTAGOUT |= sbwclk;} \
- } \
- else \
- { \
- { ((TSTCTRLOUT) &= (~TEST)); } \
- } \
- EDT_Delay_1ms(DEFAULT_RSTDELAY); \
- }
-#define TSTset0 { if (gprotocol_id == SPYBIWIRE) \
- { \
- {JTAGOUT &= ~sbwclk; } \
- } \
- else \
- { \
- { ((TSTCTRLOUT) |= (TEST)); } \
- } \
- EDT_Delay_1ms(DEFAULT_RSTDELAY); \
- }
-
-#define TMSL JTAGOUT &= ~sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk;
-#define TMSLDH JTAGOUT &= ~sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwdato; JTAGOUT |= sbwclk;
-#define TDIH JTAGOUT |= sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk;
-#define TDIL JTAGOUT &= ~sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk;
-#define TDOsbw TSTCTRLOUT ^= ENTDI2TDO; __disable_interrupt(); JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk; __enable_interrupt(); TSTCTRLOUT ^= ENTDI2TDO;
-#define TDO_RD TSTCTRLOUT ^= ENTDI2TDO; __disable_interrupt(); JTAGOUT &= ~sbwclk; TDOvalue <<= 1; TDOvalue |= (JTAGIN & sbwdati) != 0; JTAGOUT |= sbwclk; __enable_interrupt(); TSTCTRLOUT ^= ENTDI2TDO;
-
-// Constants for VPP connection and process state at Blow-Fuse
-#define VPP_ON_TDI 0
-#define VPP_ON_TEST 1
-
-#define SETTDOIN ((P4OUT) &= (~BIT2))
-#define SETTDOOUT ((P4OUT) |= (BIT2))
-#define SETTDION ((P4OUT) |= (BIT4))
-#define SETTDIOFF ((P4OUT) &= (~BIT4))
-
-#define VPPon(x) (x == VPP_ON_TEST ? (P4OUT |= BIT6) : (P4OUT |= BIT5))
-#define VPPoff() ((P4OUT) &= ~(BIT6 | BIT5))
-
-
-#define CRYSTAL 8000000 // externally connected HF crystal
-#define SETVFFREQ 100000 // pulse frequency to setup VF, this one's the fastest ~6ms settletime
-#define FLASHFREQ 450000
-#define TA_SETVF_DIV CRYSTAL/SETVFFREQ/2
-#define TA_STROBE_DIV CRYSTAL/FLASHFREQ
-#define TA_STROBE_DIV2 CRYSTAL/FLASHFREQ/2
-
-#define FREQUENCY (CRYSTAL/1000) // CPU frequency (master/slave) in KHz
-#define SEC_TIMEOUT 7
-#define DEF_TIMEOUT (CRYSTAL*SEC_TIMEOUT)/13
-
-#define VFCHN 2
-
-#define STROBEOUT BIT4 // P2.4 (out) (secondary function)
-#define STROBEIN BIT7 // P4.7 (in) (secondary function)
-
-#define VCCTON BIT3 // P4.3 (out) (low)
-
-#define VCCTon() ((TSTCTRLOUT) |= (VCCTON))
-#define VCCToff() ((TSTCTRLOUT) &= (~VCCTON))
-
-#define JSBWsbwdato TGTRST
-//#define sbwdati TDO
-#define JSBsbwclk TEST
-//#define reset TMS
-//#define rti TCK // Run/test-idle
+ #define RSTHIGH 0
+ #define RSTLOW 1
+
+ #define DEFAULT_RSTDELAY 5
+
+ enum {JTAG = 0, SPYBIWIRE = 1, SPYBIWIREJTAG = 2, JTAGUNDEF = 4, SPYBIWIRE_SUBMCU = 5, SPYBIWIRE_MSP_FET=6, JTAG_432 = 7, SWD_432 = 8};
+
+ #define CRYSTAL 8000000 // externally connected HF crystal
+ #define SETVFFREQ 100000 // pulse frequency to setup VF, this one's the fastest ~6ms settletime
+ #define FLASHFREQ 450000
+ #define TA_SETVF_DIV CRYSTAL/SETVFFREQ/2
+ #define TA_STROBE_DIV CRYSTAL/FLASHFREQ
+ #define TA_STROBE_DIV2 CRYSTAL/FLASHFREQ/2
+
+ #define FREQUENCY (CRYSTAL/1000) // CPU frequency (master/slave) in KHz
+ #define SEC_TIMEOUT 7
+ #define DEF_TIMEOUT (CRYSTAL*SEC_TIMEOUT)/13
+
+ #define VFCHN 2
+
+ #define FET_TRUE 0x1
+ #define FET_FALSE 0x0
+
+ #define ExtLimit 1700 // a level higher than this means external voltage available
+ #define ConvRange 4095.0f // 12bit conversion range both for ADC and DAC
+ #define VCCTmin ConvRange // 0xFFF, write this value to the DAC register to setup minimum VCCT
+ #define Res1 60.4f // FB2VCCT
+ #define Res2 30.1f // FB2GND
+ #define Res3 39.2f // FB2SETVCCT
+ #define Res4 30.1f // VCCT2ADC1
+ #define Res5 22.1f // ADC12GND
+ #define Vref 1224.0f // the reference voltage of the voltage regulator
+ #define VCref 2500.0f // conversion reference voltage
+ #define minVCCT ((Res1*((Vref/Res2)-((VCref-Vref)/Res3)))+Vref)
+ #define maxVCCT (((Res1*((Res2+Res3)/(Res2*Res3)))+1)*Vref)
+ #define VCCICHN 0
+ #define VCCTCHN 1
+ #define VCCRCHN 3
+
+ #ifdef ARCH_MSP432
+
+ struct jtag
+ {
+ unsigned char TCK;
+ unsigned char TMS;
+ unsigned char TDI;
+ unsigned char TDO;
+ unsigned char* In;
+ unsigned char* Out;
+ unsigned char* DIRECTION;
+ unsigned char RST;
+ unsigned char _SELT;
+ unsigned char* RST_PORT;
+ unsigned char* RST_PORT_DIRECTION;
+ unsigned char _TST;
+ unsigned char _ENI2O;
+ unsigned char VF2TEST;
+ unsigned char VF2TDI;
+ unsigned char VCCTON;
+ unsigned char _TDIOFF;
+ unsigned char* TSTCTRL_PORT;
+ unsigned char* TSTCTRL_PORT_DIRECTION;
+ };
+
+ static const struct jtag _Jtag_Target =
+ {
+ (unsigned char) BIT3, // TCK, P5.3 (out) (high)
+ (unsigned char) BIT0, // TMS, P5.0 (out) (high)
+ (unsigned char) BIT1, // TDI, P5.1 (out) (high)
+ (unsigned char) BIT2, // TDO, P5.2 (in)
+ (unsigned char*)&P5IN,
+ (unsigned char*)&P5OUT,
+ (unsigned char*)&P5DIR,
+ (unsigned char) BIT6, // RST
+ (unsigned char) BIT5, // _selt
+ (unsigned char*)&P2OUT,
+ (unsigned char*)&P2DIR,
+ (unsigned char) BIT0, // _TST
+ (unsigned char) BIT2, // _ENI2O
+ (unsigned char) BIT6, // VF2TEST
+ (unsigned char) BIT5, // VF2TDI,
+ (unsigned char) BIT3, // VCCTON
+ (unsigned char) BIT4, // _TDIOFF
+ (unsigned char*)&P4OUT,
+ (unsigned char*)&P4DIR,
+ };
+
+ #endif
+
+ #ifdef ARCH_MSP430
+
+ struct jtag {
+ unsigned char TCK;
+ unsigned char TMS;
+ unsigned char TDI;
+ unsigned char TDO;
+ unsigned char* In;
+ unsigned char* Out;
+ };
+
+ extern const struct jtag _Jtag;
+ // 4-wire JTAG: low level signal access
+ #define TMSset1 { *_Jtag.Out |= _Jtag.TMS; }
+ #define TMSset0 { *_Jtag.Out &= ~_Jtag.TMS; }
+ #define TDIset1 { *_Jtag.Out |= _Jtag.TDI; }
+ #define TDIset0 { *_Jtag.Out &= ~_Jtag.TDI; }
+ #define TCKset1 { *_Jtag.Out |= _Jtag.TCK; }
+ #define TCKset0 { *_Jtag.Out &= ~_Jtag.TCK; }
+ #define TCLKset1 { IHIL_Tclk(1); }
+ #define TCLKset0 { IHIL_Tclk(0); }
+ #define TCLK { TCLKset0 TCLKset1 }
+ #define TDIset1TMSset1 { *_Jtag.Out |= _Jtag.TDI | _Jtag.TMS; }
+ #define TDIset0TMSset1 { *_Jtag.Out &= ~_Jtag.TDI; *_Jtag.Out |= _Jtag.TMS;}
+
+
+ // 2-wire Spy-Bi-Wire: low level signal access
+ #define JTAGOUT (*_Jtag.Out)
+ #define JTAGIN (*_Jtag.In)
+ #define sbwdato (_Jtag.TDI)
+ #define sbwclk (_Jtag.TCK)
+ #define sbwdati (_Jtag.TDO)
+
+ #define TEST BIT0 // P4.0 (out) (high)
+ #define TSTCTRLOUT *tstctrl_port_
+ #define TGTCTRLOUT P2OUT
+ #define ENTDI2TDO entdi2tdo_
+ #define SELT BIT5 // P2.5 out (high) (aktiv low)
+ #define TGTRST BIT6 // P2.6 out (high) (aktiv low)
+
+ #define RSTset1 { if (gprotocol_id == SPYBIWIRE) \
+ { \
+ { JTAGOUT |= sbwdato; } \
+ } \
+ else \
+ { \
+ { TGTCTRLOUT &= ~SELT; TGTCTRLOUT |= TGTRST; } \
+ } \
+ IHIL_Delay_1ms(DEFAULT_RSTDELAY); \
+ }
+ #define RSTset0 { if (gprotocol_id == SPYBIWIRE) \
+ { \
+ { JTAGOUT &= ~sbwdato; } \
+ } \
+ else \
+ { \
+ { TGTCTRLOUT &= ~SELT; TGTCTRLOUT &= ~TGTRST; } \
+ } \
+ IHIL_Delay_1ms(DEFAULT_RSTDELAY); \
+ }
+ #define TSTset1 { if (gprotocol_id == SPYBIWIRE) \
+ { \
+ { JTAGOUT |= sbwclk;} \
+ } \
+ else \
+ { \
+ { ((TSTCTRLOUT) &= (~TEST)); } \
+ } \
+ IHIL_Delay_1ms(DEFAULT_RSTDELAY); \
+ }
+ #define TSTset0 { if (gprotocol_id == SPYBIWIRE) \
+ { \
+ {JTAGOUT &= ~sbwclk; } \
+ } \
+ else \
+ { \
+ { ((TSTCTRLOUT) |= (TEST)); } \
+ } \
+ IHIL_Delay_1ms(DEFAULT_RSTDELAY); \
+ }
+
+ #define TMSL JTAGOUT &= ~sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk;
+ #define TMSLDH JTAGOUT &= ~sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwdato; JTAGOUT |= sbwclk;
+ #define TDIH JTAGOUT |= sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk;
+ #define TDIL JTAGOUT &= ~sbwdato; JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk;
+ #define TDOsbw TSTCTRLOUT ^= ENTDI2TDO; __disable_interrupt(); JTAGOUT &= ~sbwclk; JTAGOUT |= sbwclk; __enable_interrupt(); TSTCTRLOUT ^= ENTDI2TDO;
+ #define TDO_RD TSTCTRLOUT ^= ENTDI2TDO; __disable_interrupt(); JTAGOUT &= ~sbwclk; TDOvalue <<= 1; TDOvalue |= (JTAGIN & sbwdati) != 0; JTAGOUT |= sbwclk; __enable_interrupt(); TSTCTRLOUT ^= ENTDI2TDO;
+
+ // Constants for VPP connection and process state at Blow-Fuse
+ #define VPP_ON_TDI 0
+ #define VPP_ON_TEST 1
+
+ #define SETTDOIN ((P4OUT) &= (~BIT2))
+ #define SETTDOOUT ((P4OUT) |= (BIT2))
+ #define SETTDION ((P4OUT) |= (BIT4))
+ #define SETTDIOFF ((P4OUT) &= (~BIT4))
+
+ #define VPPon(x) (x == VPP_ON_TEST ? (P4OUT |= BIT6) : (P4OUT |= BIT5))
+ #define VPPoff() ((P4OUT) &= ~(BIT6 | BIT5))
+ #define VFCHN 2
+
+ #define STROBEOUT BIT4 // P2.4 (out) (secondary function)
+ #define STROBEIN BIT7 // P4.7 (in) (secondary function)
+
+ #define VCCTON BIT3 // P4.3 (out) (low)
+
+ #define VCCTon() ((TSTCTRLOUT) |= (VCCTON))
+ #define VCCToff() ((TSTCTRLOUT) &= (~VCCTON))
+
+ #define JSBWsbwdato TGTRST
+ #define JSBsbwclk TEST
+
+ #define VALID_DATA 0x1A
+ #define SYNC_ONGOING 0x2A
+ #define INVALID_DATA 0x3A
+ #define JTAG_LOCKED 0x4A
+
+ #define BP_HIT_MASK_J 0x0400000000000000ull
+ #define LPMX5_MASK_J 0x4000000000000000ull
+ #define LPM4_1MASK_J 0x8000000000000000ull
+ #define LPM4_2MASK_J 0x8300000000000000ull
+ #define EIGHT_JSTATE_BITS 0x100000000000000ull
+
+ #define JSTATE_FLOW_CONTROL_BITS 0xC7
+
+ #define JSTATE_BP_HIT 0x4
+ #define JSTATE_SYNC_ONGOING 0x83
+ #define JSTATE_LOCKED_STATE 0x40
+ #define JSTATE_INVALID_STATE 0x81
+ #define JSTATE_LPM_ONE_TWO 0x82
+ #define JSTATE_LPM_THREE_FOUR 0x80
+ #define JSTATE_VALID_CAPTURE 0x03
+ #define JSTATE_LPM_X_FIVE 0xC0
+
+ #define JSTATE_SYNC_BROKEN_MASK 0xC3
+ #define JSTATE_SYNC_BROKEN_PGACT 0x02
+ #define JSTATE_SYNC_BROKEN_MCLK 0x01
+ #define JSTATE_SYNC_BROKEN_MCLK_PGACT 0x00
+
+ #define L092_MODE 0xA55AA55A
+ #define C092_MODE 0x5AA55AA5
+
+ #endif
#endif
diff --git a/Bios/src/hil/uifv1/hil.c b/Bios/src/hil/uifv1/hil.c
deleted file mode 100644
index 53ef938..0000000
--- a/Bios/src/hil/uifv1/hil.c
+++ /dev/null
@@ -1,1046 +0,0 @@
-/**
-* \ingroup MODULHIL
-*
-* \file hil.c
-*
-* \brief Hardware Independent Layer Interface
-*
-*/
-/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-//! \page hil_page1 (HIL)
-//! \brief The HIL ...
-//! \author Detlef Fink (03/10/2011)
-//!
-//! files \n
-//! \li hil.c
-//! \li hil_2w.c
-//! \li hil_4w.c
-//! \li hil_delays.s43
-//! \li hil_delays.h
-//! \li arch.h
-
-#include "hw_compiler_specific.h"
-#include "arch.h"
-#include "edt.h"
-#include "hilDelays.h"
-#include "HalGlobalVars.h"
-#include "stream.h"
-
-// vars
-enum {JTAG = 0, SPYBIWIRE, SPYBIWIREJTAG};
-VAR_AT(unsigned long hil_device_flags_, HAL_ADDR_VAR_DEVICE_FLAGS);
-REQUIRED(hil_device_flags_)
-unsigned short gprotocol_id;
-unsigned short gTclkHighWhilePsa;
-unsigned short bVccOn; // Target Vcc is switched off by default
- // dependant on calls to _hil_SetVcc()
-unsigned char *tstctrl_port_;
-unsigned char entdi2tdo_;
-
-unsigned short setPCclockBeforeCapture = 0;
-
-// function prototypes for map initialization
-// common HIL configuration methods
-short _hil_Init( void );
-short _hil_SetVcc(unsigned short Vcc);
-short _hil_GetVcc(unsigned short* Vcc, unsigned short* ExtVcc);
-short _hil_SetProtocol(unsigned short protocol_id);
-void _hil_SetPsaSetup(unsigned short enhanced);
-void _hil_SetPsaTCLK(unsigned short tclkValue);
-short _hil_Open( unsigned char state );
-short _hil_Close( void );
-short IccMonitor_Process(unsigned short flags); // flags: to be compatible with HIL calls
-void _hil_EntrySequences(unsigned char states);
-
-void _hil_SetJtagBits(unsigned char output);
-unsigned char _hil_GetJtagBits(void);
-
-void _hil_SetTgtCtrlBits(unsigned char);
-unsigned char _hil_GetTgtCtrlBits(void);
-
-void _hil_SetTestBits(unsigned char);
-void _hil_SetJtagSpeed(unsigned short speed);
-
-unsigned char _hil_GetTestBits(void);
-
-void _hil_SetReset(unsigned char);
-void _hil_SetTest(unsigned char);
-
-CONST_AT(edt_common_methods_t _edt_Common_Methods, HAL_ADDR_CONST_ETD_COMMON_METHODS) =
-{
- _hil_Init,
- _hil_SetVcc,
- _hil_GetVcc,
- _hil_SetProtocol,
- _hil_SetPsaSetup,
- _hil_SetPsaTCLK,
- _hil_Open,
- _hil_Close,
- _hil_Delay_1us,
- _hil_Delay_1ms,
- IccMonitor_Process,
- _hil_EntrySequences,
- _hil_SetJtagBits,
- _hil_GetJtagBits,
- _hil_SetTgtCtrlBits,
- _hil_GetTgtCtrlBits,
- _hil_SetTestBits,
- _hil_GetTestBits,
- _hil_SetReset,
- _hil_SetTest,
- _hil_SetJtagSpeed,
-};
-
-// protocol specific methods
-// (must be implemeted in 4-wire JTAG and 2-wire Spy-Bi-Wire mode)
-extern short _hil_4w_TapReset(void);
-extern short _hil_4w_CheckJtagFuse(void);
-extern unsigned short _hil_4w_EnumChain(void);
-extern unsigned char _hil_4w_Instr(unsigned char Instruction);
-//extern unsigned long _hil_4w_SetReg_XBits(unsigned long Data, short Bits);
-extern unsigned char _hil_4w_SetReg_XBits08(unsigned char Data);
-extern unsigned short _hil_4w_SetReg_XBits16(unsigned short Data);
-extern unsigned long _hil_4w_SetReg_XBits20(unsigned long Data);
-extern unsigned long _hil_4w_SetReg_XBits32(unsigned long Data);
-extern unsigned long long _hil_4w_SetReg_XBits64(unsigned long long Data);
-
-extern void _hil_4w_Tclk(unsigned char state);
-extern void _hil_4w_StepPsa(unsigned long length);
-extern void _hil_4w_StepPsaTclkHigh(unsigned long length);
-extern short _hil_4w_BlowFuse(unsigned char targetHasTestVpp);
-
-extern short _hil_2w_TapReset(void);
-extern short _hil_2w_CheckJtagFuse(void);
-extern unsigned short _hil_2w_EnumChain(void);
-extern unsigned char _hil_2w_Instr(unsigned char Instruction);
-//extern unsigned long _hil_2w_SetReg_XBits(unsigned long Data, short Bits);
-extern unsigned char _hil_2w_SetReg_XBits08(unsigned char Data);
-extern unsigned short _hil_2w_SetReg_XBits16(unsigned short Data);
-extern unsigned long _hil_2w_SetReg_XBits20(unsigned long Data);
-extern unsigned long _hil_2w_SetReg_XBits32(unsigned long Data);
-extern unsigned long long _hil_2w_SetReg_XBits64(unsigned long long Data);
-extern void _hil_2w_Tclk(unsigned char state);
-extern void _hil_2w_StepPsa(unsigned long length);
-extern void _hil_2w_StepPsaTclkHigh(unsigned long length);
-extern short _hil_2w_BlowFuse(unsigned char targetHasTestVpp);
-
-// PSA distinct methods
-void _hil_EnhancedPsaSetup(unsigned long address);
-void _hil_PsaSetup(unsigned long address);
-void _hil_EnhancedPsaEnd(void);
-void _hil_PsaEnd(void);
-
-// init by HIL init function
-VAR_AT(edt_distinct_methods_t _edt_Distinct_Methods, HAL_ADDR_VAR_EDT_DISTINCT_METHODS);
-
-#define ExtLimit 1700 // a level higher than this means external voltage available
-#define ConvRange 4095.0f // 12bit conversion range both for ADC and DAC
-#define VCCTmin ConvRange // 0xFFF, write this value to the DAC register to setup minimum VCCT
-#define Res1 60.4f // FB2VCCT
-#define Res2 30.1f // FB2GND
-#define Res3 39.2f // FB2SETVCCT
-#define Res4 30.1f // VCCT2ADC1
-#define Res5 22.1f // ADC12GND
-#define Vref 1224.0f // the reference voltage of the voltage regulator
-#define VCref 2500.0f // conversion reference voltage
-#define minVCCT ((Res1*((Vref/Res2)-((VCref-Vref)/Res3)))+Vref)
-#define maxVCCT (((Res1*((Res2+Res3)/(Res2*Res3)))+1)*Vref)
-#define VCCICHN 0
-#define VCCTCHN 1
-#define VCCRCHN 3
-
-const unsigned short ADC_MV[4] = { 5905, 5905, 6934, 5905 }; // input voltages included the scale by resitors
-const unsigned short ADC_CONV_RANGE = 4096; // 1 Bit error, because div is with 4096 faster
-const unsigned short ADC_AVERAGES = 4;
-const unsigned short DAC_CONV_RANGE = 4095; //
-
-extern const unsigned char DMA_TMSL_TDIL[];
-
-static volatile unsigned char VFSettleFlag = 0;
-static volatile unsigned char useTDI = 0;
-
-unsigned short ConvertAD(unsigned short channel)
-{
- unsigned long tmp;
- unsigned short ret_mv = 0;
-
- if(channel < 4 )
- {
- tmp = *((unsigned short*)&ADC12MEM0+channel) +
- *((unsigned short*)&ADC12MEM4+channel) +
- *((unsigned short*)&ADC12MEM8+channel) +
- *((unsigned short*)&ADC12MEM12+channel);
- tmp *= ADC_MV[channel];
- tmp /= ADC_CONV_RANGE * ADC_AVERAGES;
- ret_mv = tmp;
- }
- return(ret_mv);
-}
-
-/*----------------------------------------------------------------------------
- This function performs a single AD conversion on the selected pin.
- Uses internal reference 2.5V (VR+ = VREF+, VR- = AVSS).
- Only used for SetTargetVcc() and Selftest().
- Arguments: word pinmask (bit position of selected analog input Ax)
- Result: word (12 bit ADC conversion result)
-*/
-short ConvertAD_(short channel)
-{
-// select channel and do conversion
- ADC12CTL0 &= ~ENC; // Disable conversion, write controls
- ADC12MCTL0 = 0x10 + channel; // select Vref and analog channel Ax
- ADC12CTL0 |= ENC; // Enable conversions
- ADC12CTL0 |= ADC12SC; // Start conversions
- while ((ADC12IFG & BIT0) == 0); // wait until conversion is done
- return(ADC12MEM0); // return conversion result from MEM0
-}
-
-unsigned short last_vcc; // Initialization in HalGlobalVars.c
-
-
-#pragma optimize = none
-void SetDac(unsigned short vcc)
-{
- signed short nomDac;
- signed short corr;
-
- if(last_vcc != vcc)
- {
- nomDac = (unsigned short)(ConvRange - (vcc - minVCCT)); // calculate approximated value
- nomDac += (85 - (vcc/20)); // error reduction of approximated value
- if(nomDac > ConvRange)
- {
- nomDac = ConvRange;
- }
- if(nomDac < 0)
- {
- nomDac = 0;
- }
- DAC12_0DAT = nomDac; // set voltage
- DAC12_0CTL |= DAC12ENC; // enable DAC12
- last_vcc = vcc;
- }
- else
- {
- corr = ConvertAD(VCCTCHN);
- if(corr > (vcc+10))
- {
- if(DAC12_0DAT < 4095)
- {
- DAC12_0DAT++;
- }
- }
- else if(corr < (vcc-10))
- {
- if(DAC12_0DAT)
- {
- DAC12_0DAT--;
- }
- }
- }
-}
-
-// -----------------------------------------------------------------------------
-short _hil_Init( void )
-{
- // Setup ADC12
- ADC12CTL0 &= ~ENC; // Disable conversions, write controls
- ADC12CTL0 = ADC12ON | REFON | REF2_5V | MSC | SHT0_2 | SHT1_2; // Turn on ADC12, VREF = 2.5v, set samp. time
- ADC12CTL1 = SHP | CONSEQ_3; // Use sampling timer, CstartAddr = MEM0
- // four time averaging on each channel
- ADC12MCTL0 = 0x10 | 0; // select Vref and cannel
- ADC12MCTL1 = 0x10 | 1; // select Vref and cannel
- ADC12MCTL2 = 0x10 | 2; // select Vref and cannel
- ADC12MCTL3 = 0x10 | 3; // select Vref and cannel
- ADC12MCTL4 = 0x10 | 0; // select Vref and cannel
- ADC12MCTL5 = 0x10 | 1; // select Vref and cannel
- ADC12MCTL6 = 0x10 | 2; // select Vref and cannel
- ADC12MCTL7 = 0x10 | 3; // select Vref and cannel
- ADC12MCTL8 = 0x10 | 0; // select Vref and cannel
- ADC12MCTL9 = 0x10 | 1; // select Vref and cannel
- ADC12MCTL10 = 0x10 | 2; // select Vref and cannel
- ADC12MCTL11 = 0x10 | 3; // select Vref and cannel
- ADC12MCTL12 = 0x10 | 0; // select Vref and cannel
- ADC12MCTL13 = 0x10 | 1; // select Vref and cannel
- ADC12MCTL14 = 0x10 | 2; // select Vref and cannel
- ADC12MCTL15 = 0x10 | 3; // select Vref and cannel
-
- ADC12CTL0 |= ENC; // Enable conversions
- // ADCs run free
- ADC12CTL0 |= ADC12SC; // Start conversions
-
- DAC12_0DAT = VCCTmin; // set voltage to MIN ~0
- DAC12_0CTL = DAC12CALON + DAC12IR + DAC12AMP_5; // Internal ref gain 1
-
- // Init SPI for JTAG
- UCTL1 |= SWRST;
- UCTL1 = CHAR | SYNC | MM | SWRST;
- UTCTL1 = CKPL | SSEL0 | STC | TXEPT;
- UBR01 = 2; //SPI_DIV_JTAG; // Load SPI frequency divider
- UBR11 = 0x00;
- UMCTL1 = 0x00; // Clear Modulation Register
- UCTL1 &= ~SWRST;
- ME2 |= USPIE1; // Enable SPI module
-
- // DMA init
- DMACTL0 = 0; // URXIFG0 trigger for DMS channel0, channel1 and channel2 are software triggered
- DMACTL1 = 0; // DAM immediatly, no round-robin, no NMI interrupt
-
- DMA1CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
- DMA1DA = (unsigned int)_Jtag.Out; //JTAGOUT; // set destination address
- DMA2CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
- DMA2DA = (unsigned int)_Jtag.Out; //JTAGOUT; // set destination address
- DMA2SZ = 4; // JTAG test/idle sequence is always 4 transisions
-
- // set default debug protocol to JTAG
- gprotocol_id = JTAG;
- // set default to TCLK low when doing PSA
- gTclkHighWhilePsa = 0;
- // initialize function pointers to distinct functions
- _hil_SetProtocol(gprotocol_id);
- return 0;
-}
-
-void _hil_SetJtagSpeed(unsigned short speed)
-{
- UBR01 = speed; //SPI_DIV_JTAG; // Load SPI frequency divider
-}
-// -----------------------------------------------------------------------------
-#pragma optimize = none
-short _hil_SetVcc(unsigned short Vcc)
-{
- static unsigned char bPowerUp = 1;
-
- if(Vcc)
- {
- //This workaround is necessary to set TCK to a defined low level before
- //applying Vcc to the target device
- //otherwise the target will not power up correctly and the UIF can't
- //establish a SBW communication
-
- if(bPowerUp)
- {
- P5OUT &= ~BIT3;
- TGTCTRLOUT &= ~SELT;
- bVccOn = Vcc;
- SetDac(Vcc+50);
- VCCTon();
- _hil_Delay_1ms(1);
- TGTCTRLOUT |= SELT;
- bPowerUp = 0;
- }
- else
- {
- bVccOn = Vcc;
- SetDac(Vcc+50);
- VCCTon();
- }
- }
- else
- {
- VCCToff();
- EDT_Close(); // DF 20110131
- bVccOn = 0;
- bPowerUp = 1;
- }
- return 0;
-}
-// -----------------------------------------------------------------------------
-short _hil_GetVcc(unsigned short* Vcc, unsigned short* ExtVcc)
-{
- if(hil_device_flags_ & DEVICE_FLAG_EASY)
- {
- *Vcc = bVccOn;
- *ExtVcc = bVccOn;
- return(0);
- }
- else
- {
- if(P4OUT & BIT3)
- {
- *Vcc = ConvertAD(VCCTCHN);
- }
- else
- {
- *Vcc = 0;
- }
- *ExtVcc = ConvertAD(VCCICHN);
- }
- return 0;
-}
-// -----------------------------------------------------------------------------
-short _hil_SetProtocol(unsigned short protocol_id)
-{
- short ret_value = 0;
-
- if((hil_device_flags_ & DEVICE_FLAG_SBW4) && (protocol_id == JTAG))
- {
- gprotocol_id = JTAG;
- }
- else if((hil_device_flags_ & DEVICE_FLAG_SBW2) && (protocol_id == SPYBIWIRE))
- {
- gprotocol_id = SPYBIWIRE;
- }
- else if((hil_device_flags_ & DEVICE_FLAG_SBW4) && (protocol_id == SPYBIWIREJTAG))
- {
- gprotocol_id = SPYBIWIREJTAG;
- }
- else
- {
- ret_value = -1;
- }
-
- if(hil_device_flags_ & DEVICE_FLAG_EASY)
- {
- tstctrl_port_ = (unsigned char*)&P5DIR;
- entdi2tdo_ = BIT1;
- }
- else
- {
- tstctrl_port_ = (unsigned char*)&P4OUT;
- entdi2tdo_ = BIT2;
- }
- if(gprotocol_id == SPYBIWIRE)
- {
- _edt_Distinct_Methods.TapReset = _hil_2w_TapReset;
- _edt_Distinct_Methods.CheckJtagFuse = _hil_2w_CheckJtagFuse;
- _edt_Distinct_Methods.EnumChain = _hil_2w_EnumChain;
- _edt_Distinct_Methods.Instr = _hil_2w_Instr;
- _edt_Distinct_Methods.SetReg_XBits08 = _hil_2w_SetReg_XBits08;
- _edt_Distinct_Methods.SetReg_XBits16 = _hil_2w_SetReg_XBits16;
- _edt_Distinct_Methods.SetReg_XBits20 = _hil_2w_SetReg_XBits20;
- _edt_Distinct_Methods.SetReg_XBits32 = _hil_2w_SetReg_XBits32;
- _edt_Distinct_Methods.SetReg_XBits64 = _hil_2w_SetReg_XBits64;
- _edt_Distinct_Methods.Tclk = _hil_2w_Tclk;
- if(!gTclkHighWhilePsa)
- {
- _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsa;
- }
- else
- {
- _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsaTclkHigh;
- }
- _edt_Distinct_Methods.BlowFuse = _hil_2w_BlowFuse;
- DMA1SZ = 6; // load DMA1 with size
- DMA2SZ = 6; // load DMA1 with size
- DMA2SA = (unsigned int)DMA_TMSL_TDIL;
- }
- else
- {
- _edt_Distinct_Methods.TapReset = _hil_4w_TapReset;
- _edt_Distinct_Methods.CheckJtagFuse = _hil_4w_CheckJtagFuse;
- _edt_Distinct_Methods.EnumChain = _hil_4w_EnumChain;
- _edt_Distinct_Methods.Instr = _hil_4w_Instr;
- _edt_Distinct_Methods.SetReg_XBits08 = _hil_4w_SetReg_XBits08;
- _edt_Distinct_Methods.SetReg_XBits16 = _hil_4w_SetReg_XBits16;
- _edt_Distinct_Methods.SetReg_XBits20 = _hil_4w_SetReg_XBits20;
- _edt_Distinct_Methods.SetReg_XBits32 = _hil_4w_SetReg_XBits32;
- _edt_Distinct_Methods.SetReg_XBits64 = _hil_4w_SetReg_XBits64;
- _edt_Distinct_Methods.Tclk = _hil_4w_Tclk;
- if(!gTclkHighWhilePsa)
- {
- _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsa;
- }
- else
- {
- _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsaTclkHigh;
- }
- _edt_Distinct_Methods.BlowFuse = _hil_4w_BlowFuse;
- DMA2SZ = 4; // load DMA1 with size
- }
- return(ret_value);
-}
-
-void _hil_SetPsaSetup(unsigned short enhancedPsa)
-{
- if(enhancedPsa)
- {
- _edt_Distinct_Methods.SetupPsa = _hil_EnhancedPsaSetup;
- _edt_Distinct_Methods.EndPsa = _hil_EnhancedPsaEnd;
- }
- else
- {
- _edt_Distinct_Methods.SetupPsa = _hil_PsaSetup;
- _edt_Distinct_Methods.EndPsa = _hil_PsaEnd;
- }
-}
-
-void _hil_SetPsaTCLK(unsigned short tclkValue)
-{
- if(tclkValue)
- {
- gTclkHighWhilePsa = 1;
- }
- else
- {
- gTclkHighWhilePsa = 0;
- }
-
- if(gprotocol_id == SPYBIWIRE)
- {
- if(gTclkHighWhilePsa)
- {
- _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsaTclkHigh;
- }
- else
- {
- _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsa;
- }
- }
- else
- {
- if(gTclkHighWhilePsa)
- {
- _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsaTclkHigh;
- }
- else
- {
- _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsa;
- }
- }
-}
-
-static void _hil_Release(void)
-{
- if(gprotocol_id == SPYBIWIRE)
- {
- // drive target RST/SBWTDIO pin high
- JTAGOUT |= sbwdato; // TDI drives target RST high
- if(hil_device_flags_ & DEVICE_FLAG_EASY)
- {
- TSTCTRLOUT |= ENTDI2TDO; // EASY
- }
- else
- {
- //TSTCTRLOUT &= ~ENTDI2TDO; // enable TDI2TDO
- TSTCTRLOUT |= ENTDI2TDO; // disable TDI2TDO
- }
- EDT_Delay_1ms(1);
- // drive target TEST/SBWTCK pin low
- JTAGOUT &= ~sbwclk; // TCK drives target TEST low - release Spy-Bi-Wire logic
- //TGTCTRLOUT &= ~SELT; // enable JTAG & RST pin drivers
- TGTCTRLOUT |= SELT; // disable JTAG & RST pin drivers
- }
- else
- {
- // hands off from target RST pin -> will be pulled up
-
-// if(hil_device_flags_ & DEVICE_FLAG_EASY)
-// {
-// TSTCTRLOUT &= ~ENTDI2TDO; // EASY
-// }
-// else
- TSTCTRLOUT |= ENTDI2TDO; // disable TDI2TDO
- TGTCTRLOUT |= SELT; // disable JTAG & RST pin drivers
- EDT_Delay_1ms(1);
- // hands off from target TEST pin -> will be pulled down
- TSTCTRLOUT |= TEST; // reset target TEST pin low
- }
- EDT_Delay_1ms(5);
-}
-
-#define RSTLOW_SBW 0
-#define RSTLOW_JTAG 1
-#define RSTHIGH_SBW 2
-#define RSTHIGH_JTAG 3
-
-#define qDriveSignals() { *_Jtag.Out |= (_Jtag.TCK + _Jtag.TMS + _Jtag.TDI); \
- if(hil_device_flags_ & DEVICE_FLAG_EASY) TSTCTRLOUT &= ~ENTDI2TDO; else TSTCTRLOUT |= ENTDI2TDO; \
- TGTCTRLOUT |= TGTRST; \
- TGTCTRLOUT &= ~SELT; \
- }
-
-#define qDriveSbw() { TSTCTRLOUT |= TEST; \
- JTAGOUT |= sbwdato; \
- if(hil_device_flags_ & DEVICE_FLAG_EASY) TSTCTRLOUT |= ENTDI2TDO; else TSTCTRLOUT &= ~ENTDI2TDO; \
- EDT_Delay_1ms(1); \
- JTAGOUT &= ~sbwclk; \
- TGTCTRLOUT &= ~SELT; \
- }
-
-void _hil_EntrySequences(unsigned char states)
-{
- TSTset0; //1
- EDT_Delay_1ms(1); // reset TEST logic
-
- if(states == RSTLOW_SBW || states == RSTLOW_JTAG)
- {
- RSTset0; //2
- }
- else
- {
- RSTset1; //2
- }
-
- TSTset1; //3*/
- EDT_Delay_1ms(100); // activate TEST logic
-
- // phase 1
- if(states == RSTLOW_JTAG || states == RSTHIGH_JTAG)
- {
- RSTset0; //4
- }
- else
- {
- RSTset1; //4
- }
- EDT_Delay_1us(40);
-
- // phase 2 -> TEST pin to 0, no change on RST pin
- if(states == RSTLOW_SBW || states == RSTHIGH_SBW)
- { // for Spy-Bi-Wire
- __disable_interrupt();
- JTAGOUT &= ~sbwclk; //5
- }
- else
- { // for 4-wire JTAG clear Test pin
- ((TSTCTRLOUT) |= (TEST)); //5
- }
-
- // phase 3
- if(states == RSTLOW_JTAG)
- {
- TGTCTRLOUT &= ~SELT;
- TGTCTRLOUT |= TGTRST; //6
- }
- EDT_Delay_1us(1);
-
- // phase 4 -> TEST pin to 1, no change on RST pin
- if(states == RSTLOW_SBW || states == RSTHIGH_SBW)
- { // for Spy-Bi-Wire
- JTAGOUT |= sbwclk; //7
- __enable_interrupt();
- }
- else
- { // for 4-wire JTAG
- ((TSTCTRLOUT) &= (~TEST));//7
- }
- EDT_Delay_1us(40);
-
- // phase 5
- if(states == RSTHIGH_JTAG)
- {
- TGTCTRLOUT &= ~SELT; TGTCTRLOUT |= TGTRST;
- }
- EDT_Delay_1ms(5);
-}
-
-// -----------------------------------------------------------------------------
-void _hil_PsaSetup(unsigned long StartAddr)
-{
- data_16bit
- EDT_Tclk(1);
- SetReg_16Bits_(MOV_IMM_PC)
- EDT_Tclk(0);
- EDT_Tclk(1);
- SetReg_16Bits_(StartAddr - 2)
- EDT_Tclk(0);
- EDT_Tclk(1);
- EDT_Tclk(0);
- EDT_Tclk(1);
- EDT_Tclk(0);
- addr_capture
- SetReg_16Bits_(0x0000);
-}
-
-// -----------------------------------------------------------------------------
-void _hil_EnhancedPsaSetup(unsigned long StartAddr )
-{
- SetPc(StartAddr - 4)
- halt_cpu
- EDT_Tclk(0);
- data_16bit
- SetReg_16Bits_(StartAddr - 2)
-}
-
-// -----------------------------------------------------------------------------
-void _hil_PsaEnd(void)
-{
- // Intentionally does nothing
-}
-
-// -----------------------------------------------------------------------------
-void _hil_EnhancedPsaEnd(void)
-{
- decl_out
- decl_isInstrLoad
-
- release_cpu
- isInstrLoad
-}
-
-// -----------------------------------------------------------------------------
-static void _hil_Connect(unsigned char state)
-{
- if(state == RSTHIGH)
- {
- if(gprotocol_id == SPYBIWIRE)
- {
- qDriveSbw();
- EDT_Delay_1ms(1);
- _hil_EntrySequences(RSTHIGH_SBW);
- }
- else
- {
- qDriveSignals();
- EDT_Delay_1ms(1);
- if(gprotocol_id == SPYBIWIREJTAG)
- {
- _hil_EntrySequences(RSTHIGH_JTAG);
- }
- else
- {
- TSTset1;
- }
- }
- }
- else // state == RSTLOW
- {
- if(gprotocol_id == SPYBIWIRE)
- {
- qDriveSbw();
- EDT_Delay_1ms(1);
- _hil_EntrySequences(RSTLOW_SBW);
- }
- else
- {
- qDriveSignals();
- EDT_Delay_1ms(1);
- if(gprotocol_id == SPYBIWIREJTAG)
- {
- _hil_EntrySequences(RSTLOW_JTAG);
- }
- else
- {
- TSTset1;
- }
- }
- }
-}
-
-// -----------------------------------------------------------------------------
-short _hil_Open( unsigned char state)
-{
- //_hil_Release();
- _hil_Connect(state);
- return 0;
-}
-// -----------------------------------------------------------------------------
-short _hil_Close( void )
-{
- _hil_Release();
- //P4OUT |= BIT0; // reset target TEST pin low
- //P2OUT |= BIT5; // disable JTAG pin drivers
- //P4OUT |= BIT2; // disable TDI2TDO
- //EDT_Delay_1ms(10);
- return 0;
-}
-
-// *****************************************************************************
-// Icc Monitor
-char bIccMonitorOn; // Initialization in HalGlobalVars.c
-char bHighCurrent; // Initialization in HalGlobalVars.c
-signed short last_ext_vcc; // Initialization in HalGlobalVars.c
-unsigned char over_current_count; // Initialization in HalGlobalVars.c
-
-short IccMonitor_Process(unsigned short flags)
-{
- signed short ext_vcc;
- signed short int_vcc;
- signed short rint_vcc;
-
- ext_vcc = ConvertAD(VCCICHN); // convert channel
- int_vcc = ConvertAD(VCCTCHN); // convert channel
- rint_vcc = ConvertAD(VCCRCHN);
-
- if(ext_vcc >= ExtLimit) // external voltage in the range 1.7V >=
- {
- if((ext_vcc < (last_ext_vcc-10)) || ext_vcc > (last_ext_vcc+10))
- {
- last_ext_vcc = ext_vcc;
- }
- SetDac(last_ext_vcc); // let's hace a look at the external supply pin
- }
- else
- {
- if(bVccOn != 0)
- {
- _hil_SetVcc(bVccOn);
- }
- }
-
- if(bVccOn && bIccMonitorOn)
- {
- if((rint_vcc - int_vcc) > 150) // eqivalent to > 100mA
- {
- over_current_count++;
- if(over_current_count > 10)
- {
- bHighCurrent = 1;
- EDT_Close();
- P4OUT &= ~BIT3; // turn off target VCC
- bVccOn = 0;
- STREAM_biosLedOff(1);
- }
- }
- else
- {
- over_current_count = 0;
- }
- }
- else
- {
- over_current_count = 0;
- }
- return 0;
-}
-
-// -----------------------------------------------------------------------------
-#pragma vector=TIMERA0_VECTOR
-__interrupt void TA_CCR0_ISR (void)
-{
- static unsigned char cnt = 0;
-
- short x;
- cnt++;
- if(cnt == 10)
- {
- cnt = 0; // reset pulse counter
- TACTL = 0; // stop Timer A
- x = ConvertAD_(VFCHN);
- if(x < 0xFFF) // 12-bit A/D thus value must exceed maximum measureable value (+-6.6V)
- {
- TACTL = (TASSEL_1 + TACLR + MC_1); // start Timer A again and produce pulses
- } else {
- VFSettleFlag = 0; // send message to main program
- }
- }
-}
-
-// -----------------------------------------------------------------------------
-void SetVFuse(void)
-{
- long TimeOut = DEF_TIMEOUT;
- VFSettleFlag = 1;
- P2DIR |= BIT7;
- P2SEL |= BIT7;
- CCR0 = TA_SETVF_DIV;
- TACCTL0 = OUTMOD_4 + CCIE; // outmode toggle
- TACTL = (TASSEL_1 + TACLR + MC_1);// clear TAR and start Timer A in up-mode
- while(VFSettleFlag && TimeOut)
- {
- TimeOut--;
- }
- TACCTL0 = 0; // disable CCR0 interrupt
- P2SEL &= ~BIT7;
- P2DIR &= ~BIT7;
-}
-
-// -----------------------------------------------------------------------------
-void SetVpp(long voltage)
-{
- if(voltage)
- {
- SetVFuse();
- if(useTDI)
- {
- VPPon(VPP_ON_TDI);
- }
- else
- {
- VPPon(VPP_ON_TEST);
- }
- EDT_Delay_1ms(10);
- }
- else
- {
- VPPoff();
- }
-}
-
-// -----------------------------------------------------------------------------
-void testVpp(unsigned char mode)
-{
- if(mode)
- {
- SETTDOOUT;
- SETTDION;
- }
- else
- {
- SETTDIOFF;
- SETTDOIN;
- }
-
- useTDI = !mode;
-}
-
-// -----------------------------------------------------------------------------
-void _hil_SetJtagBits(unsigned char output)
-{
- JTAGOUT = output;
-}
-
-// -----------------------------------------------------------------------------
-unsigned char _hil_GetJtagBits(void)
-{
- return JTAGOUT;
-}
-
-// -----------------------------------------------------------------------------
-void _hil_SetTgtCtrlBits(unsigned char output)
-{
- TGTCTRLOUT = output;
-}
-
-// -----------------------------------------------------------------------------
-unsigned char _hil_GetTgtCtrlBits(void)
-{
- return TGTCTRLOUT;
-}
-
-// -----------------------------------------------------------------------------
-void _hil_SetTestBits(unsigned char output)
-{
- TSTCTRLOUT = output;
-}
-
-// -----------------------------------------------------------------------------
-unsigned char _hil_GetTestBits(void)
-{
- return TSTCTRLOUT;
-}
-
-// -----------------------------------------------------------------------------
-void _hil_SetReset(unsigned char value)
-{
- if(value)
- {
- RSTset1
- }
- else
- {
- RSTset0
- }
-}
-
-// -----------------------------------------------------------------------------
-void _hil_SetTest(unsigned char value)
-{
- if(value)
- {
- TSTset1
- }
- else
- {
- TSTset0
- }
-}
-
-// -----------------------------------------------------------------------------
-#ifdef uController
- #pragma optimize = none
-#endif
-void JSBW_EntrySequences(unsigned char states)
-{
-
- qDriveSignals();
- EDT_Delay_1ms(10);
-
- TSTset0;
- EDT_Delay_1ms(1); // reset TEST logic
-
- if(states == 0 || states == 1)
- {
- TGTCTRLOUT &= ~TGTRST;//RST 0
- }
- else
- {
- RSTset1;
- }
- EDT_Delay_1us(10);
-
- TSTset1;
- EDT_Delay_1ms(25); // activate TEST logic
-
- // phase 1
- if(states == 1 || states == 3)
- {
- RSTset0;
- }
- else
- {
- RSTset1;
- }
- EDT_Delay_1us(40);
-
-
- // phase 2 -> TEST pin to 0, no change on RST pin
- if(states == 0 || states == 2)
- { // for Spy-Bi-Wire
- TSTCTRLOUT |= JSBsbwclk;
- }
- else
- { // for 4-wire JTAG
- ((TSTCTRLOUT) |= (TEST)); //5 clear the bastard test
- }
-
- // phase 3
- if(states == 1)
- {
- TGTCTRLOUT &= ~SELT; // set the reset 1
- TGTCTRLOUT |= TGTRST; //6
- }
- EDT_Delay_1us(1);
-
- // phase 4 -> TEST pin to 1, no change on RST pin
- if(states == 0 || states == 2)
- { // for Spy-Bi-Wire
- TSTCTRLOUT &= ~JSBsbwclk;
- }
- else
- { // for 4-wire JTAG set Test pin
- ((TSTCTRLOUT) &= (~TEST)); //5
- }
- EDT_Delay_1us(40);
-
- // phase 5
- if(states == 3)
- {
- TGTCTRLOUT &= ~SELT;
- TGTCTRLOUT |= TGTRST;
- }
- EDT_Delay_1ms(5);
-}
-/* EOF */
diff --git a/Bios/src/hil/uifv1/hil430.c b/Bios/src/hil/uifv1/hil430.c
new file mode 100644
index 0000000..99b7ae9
--- /dev/null
+++ b/Bios/src/hil/uifv1/hil430.c
@@ -0,0 +1,995 @@
+/*
+ * \ingroup MODULHIL
+ *
+ * \file hil430.c
+ *
+ * \brief Hardware Independent Layer Interface
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "hw_compiler_specific.h"
+#include "arch.h"
+#include "edt.h"
+#include "hilDelays.h"
+#include "HalGlobalVars.h"
+#include "stream.h"
+
+unsigned short gprotocol_id;
+unsigned short gTclkHighWhilePsa;
+unsigned char *tstctrl_port_;
+unsigned char entdi2tdo_;
+unsigned short jtagReleased;
+
+// function prototypes for map initialization
+// common HIL configuration methods
+short _hil_Init( void );
+short _hil_SetProtocol(unsigned short protocol_id);
+void _hil_SetPsaSetup(unsigned short enhanced);
+void _hil_SetPsaTCLK(unsigned short tclkValue);
+short _hil_Open( unsigned char state );
+short _hil_Close( void );
+void _hil_EntrySequences(unsigned char states);
+void _hil_ConfigureSetPc(unsigned short x) {}
+
+void _hil_SetReset(unsigned char);
+void _hil_SetTest(unsigned char);
+void _hil_SetTMS(unsigned char);
+void _hil_SetTCK(unsigned char);
+void _hil_SetTDI(unsigned char);
+void _hil_initTimerB0(void);
+void _hil_BSL_EntrySequence(unsigned short dummy);
+void _hil_BSL_EntrySequence1xx_4xx();
+void _hil_SwitchVccFET(unsigned short SwitchVccFET){};
+short _hil_regulateVcc(void) { return 0; }
+void _hil_setFpgaTimeOut(unsigned short state) {}
+unsigned short _hil_getFpgaVersion(void) { return 0; }
+void _hil_ReadADC12(void) {}
+void _hil_ConfigFpgaIoMode(unsigned short mode) {}
+
+extern void _hilGeneric_Init( void );
+extern short _hilGeneric_GetVcc(double* Vcc, double* ExtVcc);
+extern void _hilGeneric_SetJtagSpeed(unsigned short speed, unsigned short sbwSpeed);
+extern short IccMonitor_Process(unsigned short flags);
+extern short _hilGeneric_SetVcc(unsigned short Vcc);
+
+edt_common_methods_t _edt_Common_Methods =
+{
+ _hil_Init,
+ _hilGeneric_SetVcc,
+ _hil_SwitchVccFET,
+ _hilGeneric_GetVcc,
+ _hil_SetProtocol,
+ _hil_SetPsaTCLK,
+ _hil_Open,
+ _hil_Close,
+ _hil_Delay_1us,
+ _hil_Delay_1ms,
+ IccMonitor_Process,
+ _hil_EntrySequences,
+ _hil_SetReset,
+ _hil_SetTest,
+ _hilGeneric_SetJtagSpeed,
+ _hil_ConfigureSetPc,
+ _hil_initTimerB0,
+ _hil_BSL_EntrySequence,
+ _hil_SetTMS,
+ _hil_SetTCK,
+ _hil_SetTDI,
+ _hil_regulateVcc,
+ _hil_setFpgaTimeOut,
+ _hil_getFpgaVersion,
+ _hil_ReadADC12,
+ _hil_ConfigFpgaIoMode,
+ _hil_BSL_EntrySequence1xx_4xx
+};
+// init by HIL init function
+edt_distinct_methods_t _edt_Distinct_Methods;
+
+// protocol specific methods
+// (must be implemeted in 4-wire JTAG and 2-wire Spy-Bi-Wire mode)
+extern short _hil_4w_TapReset(void);
+extern short _hil_4w_CheckJtagFuse(void);
+extern unsigned char _hil_4w_Instr(unsigned char Instruction);
+//extern unsigned long _hil_4w_SetReg_XBits(unsigned long Data, short Bits);
+extern unsigned char _hil_4w_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_4w_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_4w_SetReg_XBits20(unsigned long Data);
+extern unsigned long _hil_4w_SetReg_XBits32(unsigned long Data);
+extern unsigned long long _hil_4w_SetReg_XBits64(unsigned long long Data);
+extern unsigned long long _hil_4w_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion);
+
+extern void _hil_4w_Tclk(unsigned char state);
+extern void _hil_4w_StepPsa(unsigned long length);
+extern void _hil_4w_StepPsaTclkHigh(unsigned long length);
+extern short _hil_4w_BlowFuse(unsigned char targetHasTestVpp);
+
+extern short _hil_2w_TapReset(void);
+extern short _hil_2w_CheckJtagFuse(void);
+extern unsigned char _hil_2w_Instr(unsigned char Instruction);
+//extern unsigned long _hil_2w_SetReg_XBits(unsigned long Data, short Bits);
+extern unsigned char _hil_2w_SetReg_XBits08(unsigned char Data);
+extern unsigned short _hil_2w_SetReg_XBits16(unsigned short Data);
+extern unsigned long _hil_2w_SetReg_XBits20(unsigned long Data);
+extern unsigned long _hil_2w_SetReg_XBits32(unsigned long Data);
+extern unsigned long long _hil_2w_SetReg_XBits64(unsigned long long Data);
+extern unsigned long long _hil_2w_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion);
+extern void _hil_2w_Tclk(unsigned char state);
+extern void _hil_2w_StepPsa(unsigned long length);
+extern void _hil_2w_StepPsaTclkHigh(unsigned long length);
+extern short _hil_2w_BlowFuse(unsigned char targetHasTestVpp);
+void _hil_2w_StepPsa_Xv2(unsigned long length);
+
+extern unsigned char _hil_2w_GetPrevInstruction();
+extern unsigned char _hil_4w_GetPrevInstruction();
+
+short _hil_dummy_TapReset(void) {return 0;}
+short _hil_dummy_CheckJtagFuse(void){return 0;}
+unsigned char _hil_dummy_Instr(unsigned char Instruction){return 0;}
+unsigned char _hil_dummy_SetReg_XBits08(unsigned char Data){return 0;}
+unsigned short _hil_dummy_SetReg_XBits16(unsigned short Data){return 0;}
+unsigned long _hil_dummy_SetReg_XBits20(unsigned long Data){return 0;}
+unsigned long _hil_dummy_SetReg_XBits32(unsigned long Data){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits64(unsigned long long Data){return 0;}
+unsigned long long _hil_dummy_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion){return 0;}
+
+void _hil_dummy_Tclk(unsigned char state){return;}
+void _hil_dummy_StepPsa(unsigned long length){return;}
+short _hil_dummy_BlowFuse(unsigned char targetHasTestVpp){return 0;}
+unsigned char _hil_dummy_GetPrevInstruction(){return 0;}
+
+//dummy 432 defines
+unsigned char _hil_dummy_Instr_4(unsigned char Data){return 0;}
+unsigned long long hil_dummy_SetReg_35Bits (unsigned long long *Data) {return 0;}
+unsigned long long hil_dummy_SetReg_XBits (unsigned long long *Data, unsigned short count) {return 0;}
+short _hil_dummy_Write_Read_Ap(unsigned long address ,unsigned long *data, unsigned short rnw){return -1;};
+short _hil_dummy_Write_Read_Dp(unsigned char address ,unsigned long *data, unsigned short rnw){return -1;};
+short _hil_dummy_Write_Read_Mem_Ap(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw){return -1;};
+unsigned long _hil_dummy_read_idcoe(){return -1;}
+
+
+// PSA distinct methods
+void _hil_EnhancedPsaSetup(unsigned long address);
+void _hil_PsaSetup(unsigned long address);
+void _hil_EnhancedPsaEnd(void);
+void _hil_PsaEnd(void);
+
+extern const unsigned char DMA_TMSL_TDIL[];
+
+extern volatile unsigned char VFSettleFlag;
+static volatile unsigned char useTDI = 0;
+
+// -----------------------------------------------------------------------------
+short _hil_Init( void )
+{
+ _hilGeneric_Init();
+ // DMA init
+ DMACTL0 = 0; // URXIFG0 trigger for DMS channel0, channel1 and channel2 are software triggered
+ DMACTL1 = 0; // DAM immediatly, no round-robin, no NMI interrupt
+
+ DMA1CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
+ DMA1DA = (unsigned int)_Jtag.Out; //JTAGOUT; // set destination address
+ DMA2CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
+ DMA2DA = (unsigned int)_Jtag.Out; //JTAGOUT; // set destination address
+ DMA2SZ = 4; // JTAG test/idle sequence is always 4 transisions
+
+ // set default debug protocol to JTAG
+ gprotocol_id = JTAG;
+ // set default to TCLK low when doing PSA
+ gTclkHighWhilePsa = 0;
+ // initialize function pointers to distinct functions
+ _hil_SetProtocol(gprotocol_id);
+ jtagReleased = 1;
+
+ _edt_Common_Methods.BSL_EntrySequence1xx_4xx = _hil_BSL_EntrySequence1xx_4xx;
+
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_SetProtocol(unsigned short protocol_id)
+{
+ short ret_value = 0;
+
+ if((protocol_id == JTAG))
+ {
+ gprotocol_id = JTAG;
+ }
+ else if((protocol_id == SPYBIWIRE))
+ {
+ gprotocol_id = SPYBIWIRE;
+ }
+ else if((protocol_id == SPYBIWIREJTAG))
+ {
+ gprotocol_id = SPYBIWIREJTAG;
+ }
+ else
+ {
+ ret_value = -1;
+ }
+
+ tstctrl_port_ = (unsigned char*)&P4OUT;
+ entdi2tdo_ = BIT2;
+
+ // set MSP4323 to dummy values
+ _edt_Distinct_Methods.SetReg_XBits35 = hil_dummy_SetReg_35Bits;
+ _edt_Distinct_Methods.SetReg_XBits = hil_dummy_SetReg_XBits;
+ _edt_Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _edt_Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _edt_Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _edt_Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _edt_Distinct_Methods.GetJtagIdCode = _hil_dummy_read_idcoe;
+
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ _edt_Distinct_Methods.TapReset = _hil_2w_TapReset;
+ _edt_Distinct_Methods.CheckJtagFuse = _hil_2w_CheckJtagFuse;
+ _edt_Distinct_Methods.Instr = _hil_2w_Instr;
+ _edt_Distinct_Methods.SetReg_XBits08 = _hil_2w_SetReg_XBits08;
+ _edt_Distinct_Methods.SetReg_XBits16 = _hil_2w_SetReg_XBits16;
+ _edt_Distinct_Methods.SetReg_XBits20 = _hil_2w_SetReg_XBits20;
+ _edt_Distinct_Methods.SetReg_XBits32 = _hil_2w_SetReg_XBits32;
+ _edt_Distinct_Methods.SetReg_XBits64 = _hil_2w_SetReg_XBits64;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = _hil_2w_SetReg_XBits8_64;
+ _edt_Distinct_Methods.Tclk = _hil_2w_Tclk;
+ _edt_Distinct_Methods.GetPrevInstruction = _hil_2w_GetPrevInstruction;
+
+ if(gTclkHighWhilePsa == 1)
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsaTclkHigh;
+ }
+ else if(gTclkHighWhilePsa == 2)
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsa_Xv2;
+ }
+ else
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsa;
+ }
+
+ _edt_Distinct_Methods.BlowFuse = _hil_2w_BlowFuse;
+ DMA1SZ = 6; // load DMA1 with size
+ DMA2SZ = 6; // load DMA1 with size
+ DMA2SA = (unsigned int)DMA_TMSL_TDIL;
+ }
+ else
+ {
+ _edt_Distinct_Methods.TapReset = _hil_4w_TapReset;
+ _edt_Distinct_Methods.CheckJtagFuse = _hil_4w_CheckJtagFuse;
+ _edt_Distinct_Methods.Instr = _hil_4w_Instr;
+ _edt_Distinct_Methods.SetReg_XBits08 = _hil_4w_SetReg_XBits08;
+ _edt_Distinct_Methods.SetReg_XBits16 = _hil_4w_SetReg_XBits16;
+ _edt_Distinct_Methods.SetReg_XBits20 = _hil_4w_SetReg_XBits20;
+ _edt_Distinct_Methods.SetReg_XBits32 = _hil_4w_SetReg_XBits32;
+ _edt_Distinct_Methods.SetReg_XBits64 = _hil_4w_SetReg_XBits64;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = _hil_4w_SetReg_XBits8_64;
+ _edt_Distinct_Methods.Tclk = _hil_4w_Tclk;
+ _edt_Distinct_Methods.GetPrevInstruction = _hil_4w_GetPrevInstruction;
+ if(gTclkHighWhilePsa == 0 || gTclkHighWhilePsa == 2)
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsa;
+ }
+ else
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsaTclkHigh;
+ }
+ _edt_Distinct_Methods.BlowFuse = _hil_4w_BlowFuse;
+ DMA2SZ = 4; // load DMA1 with size
+ }
+ return(ret_value);
+}
+
+void _hil_SetPsaTCLK(unsigned short tclkValue)
+{
+ gTclkHighWhilePsa = tclkValue;
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ if(gTclkHighWhilePsa == 1)
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsaTclkHigh;
+ }
+ else if(gTclkHighWhilePsa == 2)
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsa_Xv2;
+ }
+ else
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_2w_StepPsa;
+ }
+ }
+ else
+ {
+ if(gTclkHighWhilePsa == 1)
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsaTclkHigh;
+ }
+ else
+ {
+ _edt_Distinct_Methods.StepPsa = _hil_4w_StepPsa;
+ }
+ }
+}
+
+static void _hil_Release(void)
+{
+ if(!jtagReleased)
+ {
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ // drive target RST/SBWTDIO pin high
+ JTAGOUT |= sbwdato; // TDI drives target RST high
+ TSTCTRLOUT |= ENTDI2TDO; // disable TDI2TDO
+ IHIL_Delay_1ms(1);
+ // drive target TEST/SBWTCK pin low
+ JTAGOUT &= ~sbwclk; // TCK drives target TEST low - release Spy-Bi-Wire logic
+ }
+ else
+ {
+ // hands off from target RST pin -> will be pulled up
+ TSTCTRLOUT |= ENTDI2TDO; // disable TDI2TDO
+ TGTCTRLOUT |= SELT; // disable JTAG & RST pin drivers
+ IHIL_Delay_1ms(1);
+ // hands off from target TEST pin -> will be pulled down
+ TSTCTRLOUT |= TEST; // reset target TEST pin low
+ }
+ _edt_Distinct_Methods.TapReset = _hil_dummy_TapReset;
+ _edt_Distinct_Methods.CheckJtagFuse = _hil_dummy_CheckJtagFuse;
+ _edt_Distinct_Methods.Instr = _hil_dummy_Instr;
+ _edt_Distinct_Methods.SetReg_XBits08 = _hil_dummy_SetReg_XBits08;
+ _edt_Distinct_Methods.SetReg_XBits16 = _hil_dummy_SetReg_XBits16;
+ _edt_Distinct_Methods.SetReg_XBits20 = _hil_dummy_SetReg_XBits20;
+ _edt_Distinct_Methods.SetReg_XBits32 = _hil_dummy_SetReg_XBits32;
+ _edt_Distinct_Methods.SetReg_XBits64 = _hil_dummy_SetReg_XBits64;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = _hil_dummy_SetReg_XBits8_64;
+ _edt_Distinct_Methods.Tclk = _hil_dummy_Tclk;
+ _edt_Distinct_Methods.GetPrevInstruction = _hil_dummy_GetPrevInstruction;
+ _edt_Distinct_Methods.StepPsa = _hil_dummy_StepPsa;
+ _edt_Distinct_Methods.BlowFuse = _hil_dummy_BlowFuse;
+ _edt_Distinct_Methods.SetReg_XBits35 = hil_dummy_SetReg_35Bits;
+ _edt_Distinct_Methods.SetReg_XBits = hil_dummy_SetReg_XBits;
+ _edt_Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _edt_Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _edt_Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _edt_Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _edt_Distinct_Methods.GetJtagIdCode = _hil_dummy_read_idcoe;
+
+ jtagReleased = 1;
+ }
+ IHIL_Delay_1ms(5);
+}
+
+#define RSTLOW_SBW 0
+#define RSTLOW_JTAG 1
+#define RSTHIGH_SBW 2
+#define RSTHIGH_JTAG 3
+
+#define qDriveSignals() { *_Jtag.Out |= (_Jtag.TCK + _Jtag.TMS + _Jtag.TDI); \
+ TSTCTRLOUT |= ENTDI2TDO; \
+ TGTCTRLOUT |= TGTRST; \
+ TGTCTRLOUT &= ~SELT; \
+ }
+
+#define qDriveSbw() { TSTCTRLOUT |= TEST; \
+ JTAGOUT |= sbwdato; \
+ TSTCTRLOUT &= ~ENTDI2TDO; \
+ IHIL_Delay_1ms(1); \
+ JTAGOUT &= ~sbwclk; \
+ TGTCTRLOUT &= ~SELT; \
+ }
+
+/*-------------RstLow_JTAG----------------
+ ________ __________
+Test ______| |_________|
+ _______________
+Rst_____________________|
+----------------------------------------*/
+
+INLINE(forced)
+static void _hil_EntrySequences_RstLow_JTAG()
+{
+ __disable_interrupt();
+ TSTset0; //1
+ IHIL_Delay_1ms(4); //reset TEST logic
+
+ RSTset0; //2
+
+ TSTset1; //3
+ IHIL_Delay_1ms(50); //activate TEST logic
+
+ RSTset0; //4
+ IHIL_Delay_1us(40);
+
+ // for 4-wire JTAG clear Test pin Test(0)
+ ((TSTCTRLOUT) |= (TEST)); //5
+ IHIL_Delay_1us(2);
+
+ // for 4-wire JTAG -dry Reset(1)
+ TGTCTRLOUT &= ~SELT;
+ TGTCTRLOUT |= TGTRST;
+ IHIL_Delay_1us(2);
+
+ // 4-wire JTAG - Test (1)
+ ((TSTCTRLOUT) &= (~TEST)); //7
+ IHIL_Delay_1ms(5);
+ __enable_interrupt();
+}
+
+/*-------------RstHigh_JTAG--------------
+ ________ __________
+Test ______| |_________|
+ _______ ______
+Rst____| |_________________|
+----------------------------------------*/
+
+INLINE(forced)
+static void _hil_EntrySequences_RstHigh_JTAG()
+{
+ TSTset0; //1
+ IHIL_Delay_1ms(1); //reset TEST logic
+
+ RSTset1; //2
+
+ TSTset1; //3
+ IHIL_Delay_1ms(100); //activate TEST logic
+
+ RSTset0; //4
+ IHIL_Delay_1us(40);
+
+ // for 4-wire JTAG clear Test pin Test(0)
+ ((TSTCTRLOUT) |= (TEST)); //5
+ IHIL_Delay_1us(1);
+
+ // for 4-wire JTAG - Test (1)
+ ((TSTCTRLOUT) &= (~TEST)); //7
+ IHIL_Delay_1us(40);
+
+ // phase 5 Reset(1)
+ TGTCTRLOUT &= ~SELT; TGTCTRLOUT |= TGTRST;
+ IHIL_Delay_1ms(5);
+}
+
+/*-------------RstHigh_SBW---------------
+ ________ __________
+Test ______| |_________|
+ _________________________________
+Rst____|
+----------------------------------------*/
+INLINE(forced)
+static void _hil_EntrySequences_RstHigh_SBW()
+{
+ TSTset0; //1
+ IHIL_Delay_1ms(1); // reset TEST logic
+
+ RSTset1; //2
+
+ TSTset1; //3
+ IHIL_Delay_1ms(100); // activate TEST logic
+
+ // phase 1
+ RSTset1; //4
+ IHIL_Delay_1us(40);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for Spy-Bi-Wire
+ __disable_interrupt();
+ JTAGOUT &= ~sbwclk; //5
+ IHIL_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for Spy-Bi-Wire
+ JTAGOUT |= sbwclk; //7
+ __enable_interrupt();
+ IHIL_Delay_1us(40);
+
+ IHIL_Delay_1ms(5);
+}
+
+/*-------------RstLow_SBW----------------
+ ________ __________
+Test ______| |_________|
+ __________________________
+Rst__________|
+----------------------------------------*/
+INLINE(forced)
+static void _hil_EntrySequences_RstLow_SBW()
+{
+ TSTset0; //1
+ IHIL_Delay_1ms(1); // reset TEST logic
+
+ RSTset0; //2
+
+ TSTset1; //3
+ IHIL_Delay_1ms(100); // activate TEST logic
+
+ // phase 1
+ RSTset1; //4
+ IHIL_Delay_1us(40);
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ // for Spy-Bi-Wire
+ __disable_interrupt();
+ JTAGOUT &= ~sbwclk; //5
+ IHIL_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ // for Spy-Bi-Wire
+ JTAGOUT |= sbwclk; //7
+ __enable_interrupt();
+ IHIL_Delay_1us(40);
+ IHIL_Delay_1ms(5);
+}
+
+void _hil_EntrySequences(unsigned char states)
+{
+ switch(gprotocol_id)
+ {
+ case SPYBIWIRE:
+ if (states == RSTLOW)
+ {
+ _hil_EntrySequences_RstLow_SBW();
+ }
+ if (states == RSTHIGH)
+ {
+ _hil_EntrySequences_RstHigh_SBW();
+ }
+ break;
+
+ case SPYBIWIREJTAG:
+ if (states == RSTLOW)
+ {
+ _hil_EntrySequences_RstLow_JTAG();
+ }
+ if (states == RSTHIGH)
+ {
+ _hil_EntrySequences_RstHigh_JTAG();
+ }
+ break;
+
+ default:
+ TSTset1
+ break;
+ }
+}
+
+// -----------------------------------------------------------------------------
+static void _hil_Connect(unsigned char state)
+{
+ if(jtagReleased)
+ {
+ _hil_SetProtocol(gprotocol_id);
+ }
+
+ if(state == RSTHIGH)
+ {
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ qDriveSbw();
+ IHIL_Delay_1ms(1);
+ _hil_EntrySequences_RstHigh_SBW();
+ }
+ else
+ {
+ qDriveSignals();
+ IHIL_Delay_1ms(1);
+ if(gprotocol_id == SPYBIWIREJTAG)
+ {
+ _hil_EntrySequences_RstHigh_JTAG();
+ }
+ else
+ {
+ TSTset1;
+ }
+ }
+ }
+ else // state == RSTLOW
+ {
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ qDriveSbw();
+ IHIL_Delay_1ms(1);
+ _hil_EntrySequences_RstLow_SBW();
+ }
+ else
+ {
+ qDriveSignals();
+ IHIL_Delay_1ms(1);
+ if(gprotocol_id == SPYBIWIREJTAG)
+ {
+ _hil_EntrySequences_RstLow_JTAG();
+
+ }
+ else
+ {
+ TSTset1;
+ }
+ }
+ }
+ jtagReleased = 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_Open( unsigned char state)
+{
+ _hil_Connect(state);
+ return 0;
+}
+// -----------------------------------------------------------------------------
+short _hil_Close( void )
+{
+ _hil_Release();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+void SetVFuse(void)
+{
+ long TimeOut = DEF_TIMEOUT;
+ VFSettleFlag = 1;
+ P2DIR |= BIT7;
+ P2SEL |= BIT7;
+ CCR0 = TA_SETVF_DIV;
+ TACCTL0 = OUTMOD_4 + CCIE; // outmode toggle
+ TACTL = (TASSEL_1 + TACLR + MC_1);// clear TAR and start Timer A in up-mode
+ while(VFSettleFlag && TimeOut)
+ {
+ TimeOut--;
+ }
+ TACCTL0 = 0; // disable CCR0 interrupt
+ P2SEL &= ~BIT7;
+ P2DIR &= ~BIT7;
+}
+
+// -----------------------------------------------------------------------------
+void SetVpp(long voltage)
+{
+ if(voltage)
+ {
+ SetVFuse();
+ if(useTDI)
+ {
+ VPPon(VPP_ON_TDI);
+ }
+ else
+ {
+ VPPon(VPP_ON_TEST);
+ }
+ IHIL_Delay_1ms(10);
+ }
+ else
+ {
+ VPPoff();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void testVpp(unsigned char mode)
+{
+ if(mode)
+ {
+ SETTDOOUT;
+ SETTDION;
+ }
+ else
+ {
+ SETTDIOFF;
+ SETTDOIN;
+ }
+
+ useTDI = !mode;
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetReset(unsigned char value)
+{
+ if(value)
+ {
+ RSTset1
+ }
+ else
+ {
+ RSTset0
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTMS(unsigned char value)
+{
+ if(value)
+ {
+ TMSset1
+ }
+ else
+ {
+ TMSset0
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTDI(unsigned char value)
+{
+ if(value)
+ {
+ TDIset1
+ }
+ else
+ {
+ TDIset0
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTCK(unsigned char value)
+{
+ if(value)
+ {
+ TCKset1
+ }
+ else
+ {
+ TCKset0
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTest(unsigned char value)
+{
+ if(value)
+ {
+ TSTset1
+ }
+ else
+ {
+ TSTset0
+ }
+}
+#ifdef uController
+ #pragma optimize = low
+#endif
+
+// -----------------------------------------------------------------------------
+void _hil_initTimerB0(void)
+{
+ //Empty for UIF
+}
+
+
+
+void _hil_BSL_EntrySequence1xx_4xx()
+{
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ // set Default state of RST and TST
+ JTAGOUT |= sbwclk; // set test to 1
+ IHIL_Delay_1ms(1);
+ RSTset1; // set RST 1;
+
+ // INIT phase
+ JTAGOUT &= ~sbwclk; // set test 0;
+ IHIL_Delay_1ms(100);
+
+ JTAGOUT &= ~sbwdato; // set RST low
+ IHIL_Delay_1ms(100);
+
+ JTAGOUT |= sbwclk; // set test to 1
+ IHIL_Delay_1ms(100);
+
+ /*this is the first pulse keep it low for less than 15us */
+ JTAGOUT &= ~sbwclk; // set test 0;
+ IHIL_Delay_1us(10);
+ JTAGOUT |= sbwclk; // set test 1;
+
+ IHIL_Delay_1ms(100);
+ RSTset1;
+ IHIL_Delay_1ms(100);
+ JTAGOUT &= ~sbwclk; // set test 0;
+ IHIL_Delay_1ms(100);
+ }
+ else
+ {
+ // set Default state of RST and TST
+ ((TSTCTRLOUT) &= (~TEST)); // set test to 1
+ IHIL_Delay_1ms(1);
+ RSTset1; // set RST 1;
+
+ // INIT phase
+ ((TSTCTRLOUT) |= (TEST)); // set test 0;
+ IHIL_Delay_1ms(10);
+
+ { TGTCTRLOUT &= ~SELT; TGTCTRLOUT &= ~TGTRST; }// set RST 0
+ IHIL_Delay_1ms(10);
+
+ ((TSTCTRLOUT) &= (~TEST)); // set test to 1
+ IHIL_Delay_1ms(10);
+
+ /*this is the first pulse keep it low for less than 15us */
+
+ ((TSTCTRLOUT) |= (TEST)); // set test 0;
+ _hil_SetTCK(0);
+ IHIL_Delay_1us(10);
+ ((TSTCTRLOUT) &= ~(TEST)); // set test 1;
+ _hil_SetTCK(1);
+
+ IHIL_Delay_1ms(10);
+ _hil_SetTCK(0);
+ RSTset1; // set RST 1;
+ IHIL_Delay_1ms(10);
+ ((TSTCTRLOUT) |= (TEST)); // set test 0 ;
+ _hil_SetTCK(1);
+ IHIL_Delay_1ms(10);
+ }
+ }
+
+
+/*------------------------------------------------------------------------*/
+/* __________ <15us __________ */
+/* Test/SBWTCK ________| |____________| |___ */
+/* __________ */
+/* RST/SBWTDIO ____________________________________| */
+/* */
+/* BSL Enabled here!! */
+/*------------------------------------------------------------------------*/
+void _hil_BSL_EntrySequence(unsigned short dummy)
+{
+ if(gprotocol_id == SPYBIWIRE)
+ {
+ // set Default state of RST and TST
+ JTAGOUT |= sbwclk; // set test to 1
+ IHIL_Delay_1ms(1);
+ RSTset1; // set RST 1;
+
+ // INIT phase
+ JTAGOUT &= ~sbwclk; // set test 0;
+ IHIL_Delay_1ms(100);
+
+ JTAGOUT &= ~sbwdato; // set RST low
+ IHIL_Delay_1ms(100);
+
+ JTAGOUT |= sbwclk; // set test to 1
+ IHIL_Delay_1ms(100);
+
+ /*this is the first pulse keep it low for less than 15us */
+ JTAGOUT &= ~sbwclk; // set test 0;
+ IHIL_Delay_1us(10);
+ JTAGOUT |= sbwclk; // set test 1;
+
+ IHIL_Delay_1ms(100);
+ RSTset1;
+ IHIL_Delay_1ms(100);
+ JTAGOUT &= ~sbwclk; // set test 0;
+ IHIL_Delay_1ms(100);
+ }
+ else
+ {
+ // set Default state of RST and TST
+ ((TSTCTRLOUT) &= (~TEST)); // set test to 1
+ IHIL_Delay_1ms(1);
+ RSTset1; // set RST 1;
+
+ // INIT phase
+ ((TSTCTRLOUT) |= (TEST)); // set test 0;
+ IHIL_Delay_1ms(10);
+
+ { TGTCTRLOUT &= ~SELT; TGTCTRLOUT &= ~TGTRST; }// set RST 0
+ IHIL_Delay_1ms(10);
+
+ ((TSTCTRLOUT) &= (~TEST)); // set test to 1
+ IHIL_Delay_1ms(10);
+
+ /*this is the first pulse keep it low for less than 15us */
+ ((TSTCTRLOUT) |= (TEST)); // set test 0;
+ IHIL_Delay_1us(10);
+ ((TSTCTRLOUT) &= ~(TEST)); // set test 1;
+
+ IHIL_Delay_1ms(10);
+ RSTset1; // set RST 1;
+ IHIL_Delay_1ms(10);
+ ((TSTCTRLOUT) |= (TEST)); // set test 0 ;
+ IHIL_Delay_1ms(10);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+#ifdef uController
+ #pragma optimize = none
+#endif
+void JSBW_EntrySequences(unsigned char states)
+{
+
+ qDriveSignals();
+ IHIL_Delay_1ms(10);
+
+ TSTset0;
+ IHIL_Delay_1ms(1); // reset TEST logic
+
+ if(states == 0 || states == 1)
+ {
+ TGTCTRLOUT &= ~TGTRST;//RST 0
+ }
+ else
+ {
+ RSTset1;
+ }
+ IHIL_Delay_1us(10);
+
+ TSTset1;
+ IHIL_Delay_1ms(25); // activate TEST logic
+
+ // phase 1
+ if(states == 1 || states == 3)
+ {
+ RSTset0;
+ }
+ else
+ {
+ RSTset1;
+ }
+ IHIL_Delay_1us(40);
+
+
+ // phase 2 -> TEST pin to 0, no change on RST pin
+ if(states == 0 || states == 2)
+ { // for Spy-Bi-Wire
+ TSTCTRLOUT |= JSBsbwclk;
+ }
+ else
+ { // for 4-wire JTAG
+ ((TSTCTRLOUT) |= (TEST)); //5 clear the bastard test
+ }
+
+ // phase 3
+ if(states == 1)
+ {
+ TGTCTRLOUT &= ~SELT; // set the reset 1
+ TGTCTRLOUT |= TGTRST; //6
+ }
+ IHIL_Delay_1us(1);
+
+ // phase 4 -> TEST pin to 1, no change on RST pin
+ if(states == 0 || states == 2)
+ { // for Spy-Bi-Wire
+ TSTCTRLOUT &= ~JSBsbwclk;
+ }
+ else
+ { // for 4-wire JTAG set Test pin
+ ((TSTCTRLOUT) &= (~TEST)); //5
+ }
+ IHIL_Delay_1us(40);
+
+ // phase 5
+ if(states == 3)
+ {
+ TGTCTRLOUT &= ~SELT;
+ TGTCTRLOUT |= TGTRST;
+ }
+ IHIL_Delay_1ms(5);
+}
+/* EOF */
diff --git a/Bios/src/hil/uifv1/hil432.c b/Bios/src/hil/uifv1/hil432.c
new file mode 100644
index 0000000..c5d6b89
--- /dev/null
+++ b/Bios/src/hil/uifv1/hil432.c
@@ -0,0 +1,576 @@
+/*
+ * \ingroup MODULHIL
+ *
+ * \file hil432.c
+ *
+ * \brief Hardware Independent Layer Interface
+ *
+ *
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "hw_compiler_specific.h"
+#include "edt.h"
+#include "hilDelays.h"
+#include "HalGlobalVars.h"
+#include "stream.h"
+
+unsigned short gprotocol_id;
+unsigned short jtagReleased;
+
+
+// function prototypes for map initialization
+// common HIL configuration methods
+short _hil_Init( void );
+short _hil_SetProtocol(unsigned short protocol_id);
+void _hil_SetPsaSetup(unsigned short enhanced){return;}
+void _hil_SetPsaTCLK(unsigned short tclkValue){return;}
+void _hil_EntrySequences(unsigned char states){return;}
+void _hil_ConfigureSetPc(unsigned short x){return;}
+short _hil_Close( void );
+short _hil_Open( unsigned char state);
+
+void _hil_SetReset(unsigned char);
+void _hil_SetTest(unsigned char);
+void _hil_SetTMS(unsigned char);
+void _hil_SetTCK(unsigned char);
+void _hil_SetTDI(unsigned char);
+void _hil_initTimerB0(void){return;}
+void _hil_BSL_EntrySequence(unsigned short dummy){return;}
+void _hil_SwitchVccFET(unsigned short SwitchVccFET){return;}
+
+short hil_Write_Read_Ap_Jtag(unsigned long address ,unsigned long *data, unsigned short rnw);
+short hil_Write_Read_Dp_Jtag(unsigned char address ,unsigned long *data, unsigned short rnw);
+short hil_Write_Read_Mem_Ap_Jtag(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw);
+unsigned long hil_Jtag_read_idcode();
+
+unsigned char _hil_dummy_Instr_4(unsigned char Data){return 0;}
+short _hil_dummy_Write_Read_Ap(unsigned long address ,unsigned long *data, unsigned short rnw){return -1;};
+short _hil_dummy_Write_Read_Dp(unsigned char address ,unsigned long *data, unsigned short rnw){return -1;};
+short _hil_dummy_Write_Read_Mem_Ap(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw){return -1;};
+unsigned long _hil_dummy_read_idcoe(){return -1;}
+
+extern void _hilGeneric_Init( void );
+extern short _hilGeneric_GetVcc(double* Vcc, double* ExtVcc);
+extern void _hilGeneric_SetJtagSpeed(unsigned short speed, unsigned short sbwSpeed);
+extern short IccMonitor_Process(unsigned short flags);
+extern short _hilGeneric_SetVcc(unsigned short Vcc);
+
+edt_common_methods_t _edt_Common_Methods =
+{
+ _hil_Init,
+ _hilGeneric_SetVcc,
+ _hil_SwitchVccFET,
+ _hilGeneric_GetVcc,
+ _hil_SetProtocol,
+ _hil_SetPsaTCLK,
+ _hil_Open,
+ _hil_Close,
+ _hil_Delay_1us,
+ _hil_Delay_1ms,
+ IccMonitor_Process,
+ _hil_EntrySequences,
+ _hil_SetReset,
+ _hil_SetTest,
+ _hilGeneric_SetJtagSpeed,
+ _hil_ConfigureSetPc,
+ _hil_initTimerB0,
+ _hil_BSL_EntrySequence,
+ _hil_SetTMS,
+ _hil_SetTCK,
+ _hil_SetTDI,
+};
+// init by HIL init function
+edt_distinct_methods_t _edt_Distinct_Methods;
+
+static struct jtag _Jtag;
+
+// protocol specific methods
+// (must be implemeted in 4-wire JTAG )
+extern short hil_4w_432_TapReset(void);
+extern unsigned char hil_4w_432_SetReg_XBits08(unsigned char Data);
+extern unsigned short hil_4w_432_SetReg_XBits16(unsigned short Data);
+extern unsigned long hil_4w_432_SetReg_XBits32(unsigned long Data);
+extern unsigned long long hil_4w_432_SetReg_35Bits( unsigned long long *Data);
+extern unsigned char hil_4w_432_Instr_4(unsigned char Instruction);
+extern unsigned long long hil_4w_432_SetReg_XBits64(unsigned long long Data);
+extern void hil_4w_432_InitJtag(struct jtag tmp);
+extern void hil_4w_432_Seq(unsigned short length, unsigned char *sequence);
+
+extern void TMSset1();
+extern void TMSset0();
+extern void TDIset1();
+extern void TDIset0();
+extern void TCKset1();
+extern void TCKset0();
+
+// dummy function pointers
+short hil_dummy_TapReset(void) {return 0;}
+short hil_dummy_CheckJtagFuse(void){return 0;}
+unsigned char hil_dummy_Instr(unsigned char Instruction){return 0;}
+unsigned char hil_dummy_SetReg_XBits08(unsigned char Data){return 0;}
+unsigned short hil_dummy_SetReg_XBits16(unsigned short Data){return 0;}
+unsigned long hil_dummy_SetReg_XBits20(unsigned long Data){return 0;}
+unsigned long hil_dummy_SetReg_XBits32(unsigned long Data){return 0;}
+unsigned long long hil_dummy_SetReg_XBits64(unsigned long long Data){return 0;}
+unsigned long long hil_dummy_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion){return 0;}
+void hil_dummy_Tclk(unsigned char state){return;}
+void hil_dummy_StepPsa(unsigned long length){return;}
+short hil_dummy_BlowFuse(unsigned char targetHasTestVpp){return 0;}
+unsigned char hil_dummy_GetPrevInstruction(){return 0;}
+unsigned long long hil_dummy_SetReg_35Bits (unsigned long long *Data) {return 0;}
+unsigned long long hil_dummy_SetReg_XBits (unsigned long long *Data, unsigned short count) {return 0;}
+
+#pragma inline=forced
+void RSTset1()
+{
+ { (*_Jtag.RST_PORT) |= _Jtag.RST; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void RSTset0()
+{
+ { (*_Jtag.RST_PORT) &= ~_Jtag.RST; }
+ _hil_Delay_1ms(5);
+}
+
+#pragma inline=forced
+void TSTset0()
+{
+ { (*_Jtag.TSTCTRL_PORT) |= _Jtag._TST;}
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TSTset1()
+{
+ {(*_Jtag.TSTCTRL_PORT) &= ~_Jtag._TST; }
+ _hil_Delay_1ms(5);
+}
+#pragma inline=forced
+void TSTset0NoDelay()
+{
+ { (*_Jtag.TSTCTRL_PORT) |= _Jtag._TST;}
+}
+#pragma inline=forced
+void TSTset1NoDelay()
+{
+ {(*_Jtag.TSTCTRL_PORT) &= ~_Jtag._TST; }
+}
+
+// -----------------------------------------------------------------------------
+short _hil_Init( void )
+{
+ _hilGeneric_Init();
+ // DMA init
+ DMACTL0 = 0; // URXIFG0 trigger for DMS channel0, channel1 and channel2 are software triggered
+ DMACTL1 = 0; // DAM immediatly, no round-robin, no NMI interrupt
+
+ DMA1CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
+ DMA1DA = (unsigned int)_Jtag.Out; //JTAGOUT; // set destination address
+ DMA2CTL = ( DMADT0 | DMASRCINCR1 | DMASRCINCR0 | DMASRCBYTE | DMADSTBYTE);
+ DMA2DA = (unsigned int)_Jtag.Out; //JTAGOUT; // set destination address
+ DMA2SZ = 4; // JTAG test/idle sequence is always 4 transisions
+ // set default debug protocol to JTAG
+ gprotocol_id = JTAG_432;
+ // initialize function pointers to distinct functions
+ _hil_SetProtocol(gprotocol_id);
+ jtagReleased = 1;
+
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+short _hil_SetProtocol(unsigned short protocol_id)
+{
+ short ret_value = 0;
+
+ if(protocol_id == JTAG_432 || protocol_id == SWD_432)
+ {
+ gprotocol_id = protocol_id;
+ _Jtag = _Jtag_Target;
+ hil_4w_432_InitJtag(_Jtag);
+ DMA1DA = (unsigned int)_Jtag.Out;
+ DMA2DA = (unsigned int)_Jtag.Out;
+ }
+ else
+ {
+ ret_value = -1;
+ }
+ if (protocol_id == JTAG_432 || protocol_id == SWD_432)
+ {
+ // load dummies for 430
+ _edt_Distinct_Methods.CheckJtagFuse = hil_dummy_CheckJtagFuse;
+ _edt_Distinct_Methods.Instr = hil_dummy_Instr;
+ _edt_Distinct_Methods.SetReg_XBits20 = hil_dummy_SetReg_XBits20;
+ _edt_Distinct_Methods.GetPrevInstruction = hil_dummy_GetPrevInstruction;
+ _edt_Distinct_Methods.Tclk = hil_dummy_Tclk;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = hil_dummy_SetReg_XBits8_64;
+ _edt_Distinct_Methods.StepPsa = hil_dummy_StepPsa;
+ _edt_Distinct_Methods.BlowFuse = hil_dummy_BlowFuse;
+
+ _edt_Distinct_Methods.TapReset = hil_4w_432_TapReset;
+ _edt_Distinct_Methods.SetReg_XBits08 = hil_4w_432_SetReg_XBits08;
+ _edt_Distinct_Methods.SetReg_XBits16 = hil_4w_432_SetReg_XBits16;
+ _edt_Distinct_Methods.SetReg_XBits32 = hil_4w_432_SetReg_XBits32;
+ _edt_Distinct_Methods.SetReg_XBits64 = hil_4w_432_SetReg_XBits64;
+ _edt_Distinct_Methods.SetReg_XBits35 = hil_4w_432_SetReg_35Bits;
+ _edt_Distinct_Methods.SetReg_XBits = hil_dummy_SetReg_XBits;
+ _edt_Distinct_Methods.Instr04 = hil_4w_432_Instr_4;
+ _edt_Distinct_Methods.write_read_Dp = hil_Write_Read_Dp_Jtag;
+ _edt_Distinct_Methods.write_read_Ap = hil_Write_Read_Ap_Jtag;
+ _edt_Distinct_Methods.write_read_mem_Ap = hil_Write_Read_Mem_Ap_Jtag;
+ _edt_Distinct_Methods.GetJtagIdCode = hil_Jtag_read_idcode;
+ }
+ else
+ {
+ _edt_Distinct_Methods.TapReset = hil_dummy_TapReset;
+ _edt_Distinct_Methods.CheckJtagFuse = hil_dummy_CheckJtagFuse;
+ _edt_Distinct_Methods.Instr = hil_dummy_Instr;
+ _edt_Distinct_Methods.SetReg_XBits08 = hil_dummy_SetReg_XBits08;
+ _edt_Distinct_Methods.SetReg_XBits16 = hil_dummy_SetReg_XBits16;
+ _edt_Distinct_Methods.SetReg_XBits20 = hil_dummy_SetReg_XBits20;
+ _edt_Distinct_Methods.SetReg_XBits32 = hil_dummy_SetReg_XBits32;
+ _edt_Distinct_Methods.SetReg_XBits64 = hil_dummy_SetReg_XBits64;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = hil_dummy_SetReg_XBits8_64;
+ _edt_Distinct_Methods.SetReg_XBits35 = hil_dummy_SetReg_35Bits;
+ _edt_Distinct_Methods.SetReg_XBits = hil_dummy_SetReg_XBits;
+ _edt_Distinct_Methods.Tclk = hil_dummy_Tclk;
+ _edt_Distinct_Methods.GetPrevInstruction = hil_dummy_GetPrevInstruction;
+ _edt_Distinct_Methods.StepPsa = hil_dummy_StepPsa;
+ _edt_Distinct_Methods.BlowFuse = hil_dummy_BlowFuse;
+ _edt_Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _edt_Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _edt_Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _edt_Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _edt_Distinct_Methods.GetJtagIdCode = _hil_dummy_read_idcoe;
+ }
+ return(ret_value);
+}
+
+static void _hil_Release(void)
+{
+ if(!jtagReleased)
+ {
+ if(gprotocol_id == JTAG_432 || gprotocol_id == SWD_432)
+ {
+ // hands off from target RST pin -> will be pulled up
+ (*_Jtag.DIRECTION) |= (_Jtag.TDO);
+ (*_Jtag.TSTCTRL_PORT) |= (_Jtag._ENI2O); // disable TDI2TDO reset target TEST pin low
+ (*_Jtag.RST_PORT) |= (_Jtag._SELT);
+ IHIL_Delay_1ms(1);
+ (*_Jtag.TSTCTRL_PORT) |= (_Jtag._TST);// reset target TEST pin low
+ }
+ _edt_Distinct_Methods.TapReset = hil_dummy_TapReset;
+ _edt_Distinct_Methods.CheckJtagFuse = hil_dummy_CheckJtagFuse;
+ _edt_Distinct_Methods.Instr = hil_dummy_Instr;
+ _edt_Distinct_Methods.SetReg_XBits08 = hil_dummy_SetReg_XBits08;
+ _edt_Distinct_Methods.SetReg_XBits16 = hil_dummy_SetReg_XBits16;
+ _edt_Distinct_Methods.SetReg_XBits20 = hil_dummy_SetReg_XBits20;
+ _edt_Distinct_Methods.SetReg_XBits32 = hil_dummy_SetReg_XBits32;
+ _edt_Distinct_Methods.SetReg_XBits64 = hil_dummy_SetReg_XBits64;
+ _edt_Distinct_Methods.SetReg_XBits8_64 = hil_dummy_SetReg_XBits8_64;
+ _edt_Distinct_Methods.SetReg_XBits35 = hil_dummy_SetReg_35Bits;
+ _edt_Distinct_Methods.SetReg_XBits = hil_dummy_SetReg_XBits;
+ _edt_Distinct_Methods.Tclk = hil_dummy_Tclk;
+ _edt_Distinct_Methods.GetPrevInstruction = hil_dummy_GetPrevInstruction;
+ _edt_Distinct_Methods.StepPsa = hil_dummy_StepPsa;
+ _edt_Distinct_Methods.BlowFuse = hil_dummy_BlowFuse;
+ _edt_Distinct_Methods.Instr04 = _hil_dummy_Instr_4;
+ _edt_Distinct_Methods.write_read_Dp = _hil_dummy_Write_Read_Dp;
+ _edt_Distinct_Methods.write_read_Ap = _hil_dummy_Write_Read_Ap;
+ _edt_Distinct_Methods.write_read_mem_Ap = _hil_dummy_Write_Read_Mem_Ap;
+ _edt_Distinct_Methods.GetJtagIdCode = _hil_dummy_read_idcoe;
+
+ jtagReleased = 1;
+ }
+ IHIL_Delay_1ms(5);
+}
+
+#pragma inline=forced
+void qDriveJTAG(void)
+{
+ (*_Jtag.Out) |= (_Jtag.TCK + _Jtag.TMS + _Jtag.TDI);
+ (*_Jtag.DIRECTION) |= (_Jtag.TCK + _Jtag.TMS + _Jtag.TDI);
+ (*_Jtag.DIRECTION) &= ~(_Jtag.TDO);
+
+ (*_Jtag.TSTCTRL_PORT) |= (_Jtag._ENI2O + _Jtag._TST);//set test 1 and TDI TO TDO -> signals are low active
+ (*_Jtag.RST_PORT) |= (_Jtag.RST);
+ (*_Jtag.RST_PORT) &= ~(_Jtag._SELT); //set _SELT 1 > signal is low active -> active level shifters
+}
+
+// -----------------------------------------------------------------------------
+
+ void JTAG_Entry()
+{
+ unsigned char sequence[8];
+ unsigned char i = 0;
+ unsigned short entry = 0xE73C;
+ for (i = 0; i < 8; i++)
+ {
+ sequence[i] = 0xff;
+ }
+ hil_4w_432_Seq(51, sequence);
+
+ sequence[0] = entry & 0xff;
+ sequence[1] = (entry >> 8) & 0xff;
+ hil_4w_432_Seq(16, sequence);
+
+ for (i = 0; i < 1; i++)
+ {
+ sequence[i] = 0xff;
+ }
+ hil_4w_432_Seq(8, sequence);
+}
+
+unsigned long hil_Jtag_read_idcode()
+{
+ unsigned long JtagId = 0;
+
+ JtagId = _edt_Distinct_Methods.Instr04(IR4_IDCODE);
+
+ if (JtagId == 0x1)
+ {
+ JtagId = _edt_Distinct_Methods.SetReg_XBits32(0);
+ }
+ return JtagId;
+}
+
+static void _hil_Connect(unsigned char state)
+{
+ _hil_Release();
+ if(jtagReleased)
+ {
+ _hil_SetProtocol(gprotocol_id);
+ }
+ if(gprotocol_id == JTAG_432 || gprotocol_id == SWD_432)
+ {
+ qDriveJTAG();
+ JTAG_Entry();
+ RSTset1();
+ TSTset1();
+ }
+ jtagReleased = 0;
+}
+
+short _hil_Open( unsigned char state)
+{
+ _hil_Connect(state);
+ return 0;
+}
+// -----------------------------------------------------------------------------
+short _hil_Close( void )
+{
+ _hil_Release();
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetReset(unsigned char value)
+{
+ if(value)
+ {
+ RSTset1();
+ }
+ else
+ {
+ RSTset0();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTest(unsigned char value)
+{
+ if(value)
+ {
+ TSTset1();
+ }
+ else
+ {
+ TSTset0();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTMS(unsigned char value)
+{
+ if(value)
+ {
+ TMSset1();
+ }
+ else
+ {
+ TMSset0();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTDI(unsigned char value)
+{
+ if(value)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hil_SetTCK(unsigned char value)
+{
+ if(value)
+ {
+ TCKset1();
+ }
+ else
+ {
+ TCKset0();
+ }
+}
+
+// --------------------------------------------ARM defines----------------------
+// JTAG Instruction Register definitions
+#define ABORT (0x8) // Used to force an AP abort
+#define DPACC (0xA) // DP IR dpacc
+#define APACC (0xB) // AP IR apacc
+#define IDCODE (0xE) // JTAG-DP TAP identification
+#define BYPASS (0xF) // Bypasses the device, by providing a direct path between DBGTDI and DBGTDO.
+
+// DP_SELECT Register bits
+#define DP_SELECT_APBANKSEL_MASK (0x000000F0) // APBANKSEL Mask
+#define DP_SELECT_APSEL_MASK (0xFF000000) // APBANKSEL Mask
+
+// --------------------------------------------ARM defines end------------------
+
+short hil_Write_Read_Dp_Jtag(unsigned char address ,unsigned long *data, unsigned short rnw)
+{
+ unsigned long long retVal;
+ unsigned char i = 0;
+ unsigned long long dataAlig = 0ull;
+ dataAlig = ((unsigned long long)*data) << 3;
+
+ dataAlig |= (((address & 0xC) >> 1) + (rnw & 0x1));
+
+ if(_edt_Distinct_Methods.Instr04(DPACC) != 0x1)
+ {
+ return -1;
+ }
+
+ for (i = 0; i < MAX_RETRY; i++)
+ {
+ retVal = _edt_Distinct_Methods.SetReg_XBits35(&dataAlig);
+ // if ack == ACK
+ if ((retVal & 0x3) == ACK)
+ {
+ *data = retVal >> 3;
+ return ACK;
+ }
+ }
+ return -1;
+}
+
+// -----------------------------------------------------------------------------
+short hil_Write_Read_Ap_Jtag(unsigned long address, unsigned long *data, unsigned short rnw)
+{
+ unsigned long long retVal;
+ unsigned char i = 0;
+ unsigned long long dataAlig = 0ull;
+
+ dataAlig = ((unsigned long long)*data) << 3;
+
+ unsigned long apsel_bank_sel = address & DP_SELECT_APSEL_MASK;
+ apsel_bank_sel |= address & DP_SELECT_APBANKSEL_MASK;
+
+ if (_edt_Distinct_Methods.write_read_Dp(DP_SELECT, &apsel_bank_sel, WRITE) != ACK)
+ {
+ return -1;
+ }
+
+ dataAlig |= (((address & 0xC) >> 1) + (rnw & 0x1));
+
+ if(_edt_Distinct_Methods.Instr04(APACC) != 0x1)
+ {
+ return -1;
+ }
+
+ do
+ {
+ retVal = _edt_Distinct_Methods.SetReg_XBits35((unsigned long long*) &dataAlig);
+ } while((retVal & 0x3 != ACK) && (++i < MAX_RETRY));
+
+ if(i == MAX_RETRY)
+ {
+ return -1;
+ }
+ else
+ {
+ if(rnw == READ)
+ {
+ return _edt_Distinct_Methods.write_read_Dp(DP_RDBUFF, data, READ);
+ }
+ else
+ {
+ return ACK;
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+// Currently only supports single 32-bit transfers
+short hil_Write_Read_Mem_Ap_Jtag(unsigned short ap_sel, unsigned long address, unsigned long *data, unsigned short rnw)
+{
+ // First Read current CSW value
+ unsigned long tmp = 0;
+ unsigned long apsel = (((unsigned long )ap_sel) << 24);
+ if (_edt_Distinct_Methods.write_read_Ap(AP_CSW | apsel, &tmp, READ) != ACK)
+ {
+ return -1;
+ }
+
+ // Configure the transfer
+ tmp |= AP_CSW_ADDRINC_OFF | AP_CSW_SIZE_32BIT;
+ if (_edt_Distinct_Methods.write_read_Ap(AP_CSW | apsel, &tmp, WRITE) != ACK)
+ {
+ return -1;
+ }
+
+ // Write the address
+ tmp = address;
+ if (_edt_Distinct_Methods.write_read_Ap(AP_TAR | apsel, &tmp, WRITE) != ACK)
+ {
+ return -1;
+ }
+ // Write/Read data
+ return _edt_Distinct_Methods.write_read_Ap(AP_DRW | apsel, data, rnw);
+}
+
diff --git a/Bios/src/hil/uifv1/hilDelays.c b/Bios/src/hil/uifv1/hilDelays.c
new file mode 100644
index 0000000..4d9c63e
--- /dev/null
+++ b/Bios/src/hil/uifv1/hilDelays.c
@@ -0,0 +1,74 @@
+/*
+ * hilDelays.c
+ *
+ *
+ *
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "MSP430F1612.h"
+#include "hilDelays.h"
+
+static void _hil_DelayStartTimer()
+{
+ TACTL = 0; // STOP Timer
+ TACTL &= ~TAIFG; // Clear the interrupt flag
+ TACTL = TASSEL_2; // Timer is runnig at 1 Mhz
+ TACCR0 = 0x2E9; // Load CCR0 with delay... (1ms delay)
+ TAR = 0;
+ TACTL |= TACLR + MC_1; // Start Timer
+}
+
+static void _hil_DelayStopTimer()
+{
+ TACTL = 0; // STOP Timer
+ TACTL &= ~CCIFG; // Clear the interrupt flag
+}
+
+void _hil_Delay_1ms(unsigned short millisec) // inner loop generates 1 ms
+{
+ unsigned short i;
+ for(i = millisec; i > 0; i--)
+ {
+ _hil_DelayStartTimer();
+ while ((TACTL & TAIFG) == 0); // Wait until the Timer elapses
+ _hil_DelayStopTimer();
+ }
+}
+
+void _hil_Delay_1us(unsigned short microsec_1) // inner loop generates 10 us
+{
+ while((--microsec_1) > 0)
+ {
+ __delay_cycles(4);
+ }
+}
diff --git a/Bios/src/hil/uifv1/hilDelays.h b/Bios/src/hil/uifv1/hilDelays.h
index e13571c..0b10e47 100644
--- a/Bios/src/hil/uifv1/hilDelays.h
+++ b/Bios/src/hil/uifv1/hilDelays.h
@@ -40,5 +40,5 @@
//! \brief
//!
-extern void _hil_Delay_1us(unsigned short usecs);
-extern void _hil_Delay_1ms(unsigned short msecs);
+void _hil_Delay_1us(unsigned short);
+void _hil_Delay_1ms(unsigned short);
diff --git a/Bios/src/hil/uifv1/hilDelays.s43 b/Bios/src/hil/uifv1/hilDelays.s43
deleted file mode 100644
index b6b887a..0000000
--- a/Bios/src/hil/uifv1/hilDelays.s43
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * hilDelays.s43
- *
- * Implementation of delay functions
- *
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-//! \ingroup MODULHIL
-//! \file hilDelays.s43
-//! \brief
-
-
-#include "../../hal/HalGlobalVars.h"
-
-RTMODEL "__SystemLibrary", "CLib"
- RTMODEL "__core", "430"
- RTMODEL "__double_size", "32"
- RTMODEL "__pic", "no"
- RTMODEL "__reg_r4", "free"
- RTMODEL "__reg_r5", "free"
- RTMODEL "__rt_version", "3"
-
- RSEG CSTACK:DATA:SORT:NOROOT(0)
-
- PUBLIC _hil_Delay_1ms
- FUNCTION _hil_Delay_1ms,0603H
- ARGFRAME CSTACK, 0, STACK
- LOCFRAME CSTACK, 2, STACK
- PUBLIC _hil_Delay_1us
- FUNCTION _hil_Delay_1us,0603H
- ARGFRAME CSTACK, 0, STACK
- LOCFRAME CSTACK, 2, STACK
-
- CFI Names cfiNamesX0
- CFI StackFrame CFA SP DATA
- CFI Resource PC:16, SP:16, SR:16, R4:16, R5:16, R6:16, R7:16, R8:16
- CFI Resource R9:16, R10:16, R11:16, R12:16, R13:16, R14:16, R15:16
- CFI EndNames cfiNamesX0
-
- CFI Common cfiCommonX0 Using cfiNamesX0
- CFI CodeAlign 2
- CFI DataAlign 2
- CFI ReturnAddress PC CODE
- CFI CFA SP+2
- CFI PC Frame(CFA, -2)
- CFI SR Undefined
- CFI R4 SameValue
- CFI R5 SameValue
- CFI R6 SameValue
- CFI R7 SameValue
- CFI R8 SameValue
- CFI R9 SameValue
- CFI R10 SameValue
- CFI R11 SameValue
- CFI R12 Undefined
- CFI R13 Undefined
- CFI R14 Undefined
- CFI R15 Undefined
- CFI EndCommon cfiCommonX0
-
-
- RSEG CODE:CODE:REORDER:NOROOT(1)
-_hil_Delay_1us:
- CFI Block cfiBlockX11 Using cfiCommonX0
- CFI Function _hil_Delay_1us
- MOV.W R12, R15
-??_hil_Delay_1us_1:
- CMP.W #0x0, R15
- JEQ ??_hil_Delay_1us_2
- MOV.W &HAL_ADDR_VAR_DELAY_LOOP_US, R14 ;0x1
-??_hil_Delay_1us_0:
- CMP.W #0x0, R14
- JEQ ??_hil_Delay_1us_3
- ADD.W #0xffff, R14
- JMP ??_hil_Delay_1us_0
-??_hil_Delay_1us_3:
- ADD.W #0xffff, R15
- JMP ??_hil_Delay_1us_1
-??_hil_Delay_1us_2:
- RET
- CFI EndBlock cfiBlockX11
-
- RSEG CODE:CODE:REORDER:NOROOT(1)
-_hil_Delay_1ms:
- CFI Block cfiBlockX12 Using cfiCommonX0
- CFI Function _hil_Delay_1ms
- MOV.W R12, R15
-??_hil_Delay_1ms_1:
- CMP.W #0x0, R15
- JEQ ??_hil_Delay_1ms_2
- MOV.W &HAL_ADDR_VAR_DELAY_LOOP_MS, R14 ;0x535
-??_hil_Delay_1ms_0:
- CMP.W #0x0, R14
- JEQ ??_hil_Delay_1ms_3
- ADD.W #0xffff, R14
- JMP ??_hil_Delay_1ms_0
-??_hil_Delay_1ms_3:
- ADD.W #0xffff, R15
- JMP ??_hil_Delay_1ms_1
-??_hil_Delay_1ms_2:
- RET
-
- CFI EndBlock cfiBlockX12
-
-END
diff --git a/Bios/src/hil/uifv1/hilGeneric.c b/Bios/src/hil/uifv1/hilGeneric.c
new file mode 100644
index 0000000..53da939
--- /dev/null
+++ b/Bios/src/hil/uifv1/hilGeneric.c
@@ -0,0 +1,336 @@
+/*
+ * \ingroup MODULHIL
+ *
+ * \file hilGeneric.c
+ *
+ * \brief Hardware Independent Layer Interface
+ *
+ *
+ * Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "arch.h"
+#include "hw_compiler_specific.h"
+#include "edt.h"
+#include "hilDelays.h"
+#include "HalGlobalVars.h"
+#include "stream.h"
+
+volatile unsigned char VFSettleFlag = 0;
+unsigned short bVccOn;
+extern unsigned char *tstctrl_port_;
+
+const unsigned short ADC_MV[4] = { 5905, 5905, 6934, 5905 }; // input voltages included the scale by resitors
+const unsigned short ADC_CONV_RANGE = 4096; // 1 Bit error, because div is with 4096 faster
+const unsigned short ADC_AVERAGES = 4;
+const unsigned short DAC_CONV_RANGE = 4095;
+
+unsigned short _hilGeneric_ConvertAD(unsigned short channel)
+{
+ unsigned long tmp;
+ unsigned short ret_mv = 0;
+
+ if(channel < 4 )
+ {
+ tmp = *((unsigned short*)&ADC12MEM0+channel) +
+ *((unsigned short*)&ADC12MEM4+channel) +
+ *((unsigned short*)&ADC12MEM8+channel) +
+ *((unsigned short*)&ADC12MEM12+channel);
+ tmp *= ADC_MV[channel];
+ tmp /= ADC_CONV_RANGE * ADC_AVERAGES;
+ ret_mv = tmp;
+ }
+ return(ret_mv);
+}
+
+/*----------------------------------------------------------------------------
+ This function performs a single AD conversion on the selected pin.
+ Uses internal reference 2.5V (VR+ = VREF+, VR- = AVSS).
+ Only used for SetTargetVcc() and Selftest().
+ Arguments: word pinmask (bit position of selected analog input Ax)
+ Result: word (12 bit ADC conversion result)
+*/
+short _hilGeneric_ConvertAD_(short channel)
+{
+// select channel and do conversion
+ ADC12CTL0 &= ~ENC; // Disable conversion, write controls
+ ADC12MCTL0 = 0x10 + channel; // select Vref and analog channel Ax
+ ADC12CTL0 |= ENC; // Enable conversions
+ ADC12CTL0 |= ADC12SC; // Start conversions
+ while ((ADC12IFG & BIT0) == 0); // wait until conversion is done
+ return(ADC12MEM0); // return conversion result from MEM0
+}
+
+unsigned short last_vcc;
+
+#pragma optimize = none
+void _hilGeneric_SetDac(unsigned short vcc)
+{
+ signed short nomDac;
+ signed short corr;
+
+ if(last_vcc != vcc)
+ {
+ nomDac = (unsigned short)(ConvRange - (vcc - minVCCT)); // calculate approximated value
+ nomDac += (85 - (vcc/20)); // error reduction of approximated value
+ if(nomDac > ConvRange)
+ {
+ nomDac = ConvRange;
+ }
+ if(nomDac < 0)
+ {
+ nomDac = 0;
+ }
+ DAC12_0DAT = nomDac; // set voltage
+ DAC12_0CTL |= DAC12ENC; // enable DAC12
+ last_vcc = vcc;
+ }
+ else
+ {
+ corr = _hilGeneric_ConvertAD(VCCTCHN);
+ if(corr > (vcc+10))
+ {
+ if(DAC12_0DAT < 4095)
+ {
+ DAC12_0DAT++;
+ }
+ }
+ else if(corr < (vcc-10))
+ {
+ if(DAC12_0DAT)
+ {
+ DAC12_0DAT--;
+ }
+ }
+ }
+}
+
+// -----------------------------------------------------------------------------
+void _hilGeneric_Init( void )
+{
+ // Setup ADC12
+ // Setup ADC12
+ ADC12CTL0 &= ~ENC; // Disable conversions, write controls
+ ADC12CTL0 = ADC12ON | REFON | REF2_5V | MSC | SHT0_2 | SHT1_2; // Turn on ADC12, VREF = 2.5v, set samp. time
+ ADC12CTL1 = SHP | CONSEQ_3; // Use sampling timer, CstartAddr = MEM0
+ // four time averaging on each channel
+ ADC12MCTL0 = 0x10 | 0; // select Vref and cannel
+ ADC12MCTL1 = 0x10 | 1; // select Vref and cannel
+ ADC12MCTL2 = 0x10 | 2; // select Vref and cannel
+ ADC12MCTL3 = 0x10 | 3; // select Vref and cannel
+ ADC12MCTL4 = 0x10 | 0; // select Vref and cannel
+ ADC12MCTL5 = 0x10 | 1; // select Vref and cannel
+ ADC12MCTL6 = 0x10 | 2; // select Vref and cannel
+ ADC12MCTL7 = 0x10 | 3; // select Vref and cannel
+ ADC12MCTL8 = 0x10 | 0; // select Vref and cannel
+ ADC12MCTL9 = 0x10 | 1; // select Vref and cannel
+ ADC12MCTL10 = 0x10 | 2; // select Vref and cannel
+ ADC12MCTL11 = 0x10 | 3; // select Vref and cannel
+ ADC12MCTL12 = 0x10 | 0; // select Vref and cannel
+ ADC12MCTL13 = 0x10 | 1; // select Vref and cannel
+ ADC12MCTL14 = 0x10 | 2; // select Vref and cannel
+ ADC12MCTL15 = 0x10 | 3; // select Vref and cannel
+
+ ADC12CTL0 |= ENC; // Enable conversions
+ // ADCs run free
+ ADC12CTL0 |= ADC12SC; // Start conversions
+
+ DAC12_0DAT = VCCTmin; // set voltage to MIN ~0
+ DAC12_0CTL = DAC12CALON + DAC12IR + DAC12AMP_5; // Internal ref gain 1
+
+ // Init SPI for JTAG
+ UCTL1 |= SWRST;
+ UCTL1 = CHAR | SYNC | MM | SWRST;
+ UTCTL1 = CKPL | SSEL0 | STC | TXEPT;
+ UBR01 = 2; // Load SPI frequency divider 2
+ UBR11 = 0x00;
+ UMCTL1 = 0x00; // Clear Modulation Register
+ UCTL1 &= ~SWRST;
+ ME2 |= USPIE1; // Enable SPI module
+}
+
+void _hilGeneric_SetJtagSpeed(unsigned short speed, unsigned short sbwSpeed)
+{
+ if(speed)
+ {
+ UBR01 = 2; // Load SPI frequency divider
+ }
+}
+
+// -----------------------------------------------------------------------------
+short _hilGeneric_GetVcc(double* Vcc, double* ExtVcc)
+{
+ if(P4OUT & BIT3)
+ {
+ *Vcc = _hilGeneric_ConvertAD(VCCTCHN);
+ }
+ else
+ {
+ *Vcc = 0;
+ }
+ *ExtVcc = _hilGeneric_ConvertAD(VCCICHN);
+ return 0;
+}
+
+#ifdef ARCH_MSP432
+void VCCTon()
+{
+ P4OUT |= BIT3;
+}
+void VCCToff()
+{
+ P4OUT &= ~BIT3;
+}
+#endif
+
+// -----------------------------------------------------------------------------
+#pragma optimize = medium
+short _hilGeneric_SetVcc(unsigned short Vcc)
+{
+ static unsigned char bPowerUp = 1;
+
+ if(Vcc)
+ {
+ //This workaround is necessary to set TCK to a defined low level before
+ //applying Vcc to the target device
+ //otherwise the target will not power up correctly and the UIF can't
+ //establish a SBW communication
+ if(bPowerUp)
+ {
+ P5OUT &= ~BIT3;
+ P2OUT &= ~BIT5; //(*_Jtag.RST_PORT) &= ~(_Jtag._SELT);
+ bVccOn = Vcc;
+ _hilGeneric_SetDac(Vcc+50);
+ VCCTon();
+ _hil_Delay_1ms(1);
+ bPowerUp = 0;
+ }
+ else
+ {
+ bVccOn = Vcc;
+ _hilGeneric_SetDac(Vcc+50);
+ VCCTon();
+ }
+ }
+ else
+ {
+ VCCToff();
+ IHIL_Close();
+ bVccOn = 0;
+ bPowerUp = 1;
+ }
+ return 0;
+}
+
+
+// *****************************************************************************
+// Icc Monitor
+char bIccMonitorOn; // Initialization in HalGlobalVars.c
+char bHighCurrent; // Initialization in HalGlobalVars.c
+signed short last_ext_vcc; // Initialization in HalGlobalVars.c
+unsigned short over_current_count; // Initialization in HalGlobalVars.c
+
+short IccMonitor_Process(unsigned short flags)
+{
+ signed short ext_vcc;
+ signed short int_vcc;
+ signed short rint_vcc;
+
+ ext_vcc = _hilGeneric_ConvertAD(VCCICHN); // convert channel
+ int_vcc = _hilGeneric_ConvertAD(VCCTCHN); // convert channel
+ rint_vcc = _hilGeneric_ConvertAD(VCCRCHN);
+
+ if(ext_vcc >= ExtLimit) // external voltage in the range 1.7V >=
+ {
+ if((ext_vcc < (last_ext_vcc-10)) || ext_vcc > (last_ext_vcc+10))
+ {
+ last_ext_vcc = ext_vcc;
+ }
+ _hilGeneric_SetDac(last_ext_vcc); // let's hace a look at the external supply pin
+ }
+ else
+ {
+ if(bVccOn != 0)
+ {
+ _hilGeneric_SetVcc(bVccOn);
+ }
+ }
+
+ if(bVccOn && bIccMonitorOn)
+ {
+ if((rint_vcc - int_vcc) > 150) // eqivalent to > 100mA
+ {
+ over_current_count++;
+ if(over_current_count > 400)
+ {
+ bHighCurrent = 1;
+ IHIL_Close();
+ P4OUT &= ~BIT3; // turn off target VCC
+ bVccOn = 0;
+ STREAM_biosLedOff(1);
+ }
+ }
+ else
+ {
+ over_current_count = 0;
+ }
+ }
+ else
+ {
+ over_current_count = 0;
+ }
+ return 0;
+}
+
+// -----------------------------------------------------------------------------
+#pragma vector=TIMERA0_VECTOR
+__interrupt void TA_CCR0_ISR (void)
+{
+ static unsigned char cnt = 0;
+
+ short x;
+ cnt++;
+ if(cnt == 10)
+ {
+ cnt = 0; // reset pulse counter
+ TACTL = 0; // stop Timer A
+ x = _hilGeneric_ConvertAD_(VFCHN);
+ if(x < 0xFFF) // 12-bit A/D thus value must exceed maximum measureable value (+-6.6V)
+ {
+ TACTL = (TASSEL_1 + TACLR + MC_1); // start Timer A again and produce pulses
+ }
+ else
+ {
+ VFSettleFlag = 0; // send message to main program
+ }
+ }
+}
+
diff --git a/Bios/src/hil/uifv1/hil_2w.c b/Bios/src/hil/uifv1/hil_2w.c
index 8c933a6..7b1f806 100644
--- a/Bios/src/hil/uifv1/hil_2w.c
+++ b/Bios/src/hil/uifv1/hil_2w.c
@@ -7,35 +7,35 @@
*
*/
/*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -53,25 +53,26 @@
#define CLEAR_INSTR 0
#define EXEC_FUSE_BLOW 1
-const unsigned char DMA_TMSH_TDIH[] = {/*TMS Slot*/ PIN_TDI|PIN_TCK, PIN_TDI, PIN_TDI|PIN_TCK,
+const unsigned char DMA_TMSH_TDIH[] = {/*TMS Slot*/ PIN_TDI|PIN_TCK, PIN_TDI, PIN_TDI|PIN_TCK,
/*TDI Slot*/ PIN_TDI|PIN_TCK, PIN_TDI, PIN_TDI|PIN_TCK};
-const unsigned char DMA_TMSH_TDIL[] = {/*TMS Slot*/ PIN_TDI|PIN_TCK, PIN_TDI, PIN_TDI|PIN_TCK,
+const unsigned char DMA_TMSH_TDIL[] = {/*TMS Slot*/ PIN_TDI|PIN_TCK, PIN_TDI, PIN_TDI|PIN_TCK,
/*TDI Slot*/ PIN_TCK, 0, PIN_TCK};
-const unsigned char DMA_TMSL_TDIH[] = {/*TMS Slot*/ PIN_TCK, 0, PIN_TCK,
+const unsigned char DMA_TMSL_TDIH[] = {/*TMS Slot*/ PIN_TCK, 0, PIN_TCK,
/*TDI SLot*/ PIN_TDI|PIN_TCK, PIN_TDI, PIN_TDI|PIN_TCK};
-const unsigned char DMA_TMSL_TDIL[] = {/*TMS Slot*/ PIN_TCK, 0, PIN_TCK,
+const unsigned char DMA_TMSL_TDIL[] = {/*TMS Slot*/ PIN_TCK, 0, PIN_TCK,
/*TDI Slot*/ PIN_TCK, 0, PIN_TCK};
-VAR_AT(unsigned char TCLK_saved, HAL_ADDR_VAR_TCLK_SAVED);
-VAR_AT(unsigned char current_Instr, HAL_ADDR_CURRENT_INSTR);
+unsigned char TCLK_saved;
+unsigned char current_Instr;
// defined in hil.c
extern unsigned char *tstctrl_port_;
extern unsigned char entdi2tdo_;
extern void SetVpp(long voltage);
+unsigned char prevInstruction;
INLINE(forced)
void DMA1sbw(void)
@@ -89,19 +90,24 @@ void DMA2sbw(void)
TDOsbw
}
+unsigned char _hil_2w_GetPrevInstruction()
+{
+ return prevInstruction;
+}
+
INLINE(forced)
void restoreTCLK(void)
{
if (TCLK_saved & sbwdato)
{
- DMA1SA = (unsigned short)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned short)DMA_TMSH_TDIH;
DMA1sbw();
- DMA1SA = (unsigned short)DMA_TMSL_TDIH;
+ DMA1SA = (unsigned short)DMA_TMSL_TDIH;
DMA1sbw();
}
else
{
- DMA1SA = (unsigned short)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned short)DMA_TMSH_TDIL;
DMA1sbw();
// TMSL_TDIL is preloaded;
DMA2sbw();
@@ -109,25 +115,25 @@ void restoreTCLK(void)
}
INLINE(forced)
-unsigned long sbw_Shift(unsigned long Data, unsigned long long Bits)
+unsigned long long sbw_Shift(unsigned long long Data, unsigned long long Bits)
{
- unsigned long TDOvalue = 0;
- unsigned long long MSB; //= bit_msb_pos_array_[Bits];
+ unsigned long long TDOvalue = 0;
+ unsigned long long MSB = 0x0000000000000000;
if(Bits == 0)
{
- // 16 bit
- MSB = 0x0000000000080000ull;
+ // 20 bit
+ MSB = 0x000080000ull;
}
else if(Bits == 1)
{
// 32 bit
- MSB = 0x0000000080000000ull;
+ MSB = 0x80000000ull;
}
else
{
// 64 bit
- MSB = 0x8000000000000000ull;
+ MSB = 0x8000000000000000ull;
}
do
{
@@ -135,11 +141,11 @@ unsigned long sbw_Shift(unsigned long Data, unsigned long long Bits)
{
if(Data & MSB)
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1CTL |= DMAEN;
DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
@@ -171,7 +177,7 @@ unsigned long sbw_Shift(unsigned long Data, unsigned long long Bits)
INLINE(forced)
unsigned short sbw_Shift16(unsigned short Data)
{
- unsigned short TDOvalue ;
+ unsigned short TDOvalue = 0;
unsigned short MSB = 0x8000;
do
@@ -180,11 +186,11 @@ unsigned short sbw_Shift16(unsigned short Data)
{
if(Data & MSB)
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1CTL |= DMAEN;
DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
@@ -216,7 +222,7 @@ unsigned short sbw_Shift16(unsigned short Data)
INLINE(forced)
unsigned char sbw_Shift8(unsigned char Data)
{
- unsigned char TDOvalue;
+ unsigned char TDOvalue = 0;
unsigned char MSB = 0x80;
do
@@ -225,11 +231,11 @@ unsigned char sbw_Shift8(unsigned char Data)
{
if(Data & MSB)
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1CTL |= DMAEN;
DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
@@ -252,7 +258,7 @@ unsigned char sbw_Shift8(unsigned char Data)
TDO_RD
}
while(MSB >>= 1);
-
+
// after the execute fuse blow instruction is shifted into the target, the SBWTDIO
// pin must be low until Vpp is settled and a high transition of SBWTDIO burns the fuse
if (current_Instr == EXEC_FUSE_BLOW)
@@ -270,15 +276,15 @@ unsigned char sbw_Shift8(unsigned char Data)
short _hil_2w_TapReset(void)
{
unsigned short i;
-
- DMA1SA = (unsigned short)DMA_TMSH_TDIH;
+
+ DMA1SA = (unsigned short)DMA_TMSH_TDIH;
// Reset JTAG FSM
for (i = 0; i < 6; i++) // 6 is nominal
{
// TMSH_TDIH is preloaded
DMA1sbw();
}
- DMA1SA = (unsigned short)DMA_TMSL_TDIH;
+ DMA1SA = (unsigned short)DMA_TMSL_TDIH;
DMA1sbw();
return 0;
}
@@ -287,10 +293,10 @@ short _hil_2w_TapReset(void)
short _hil_2w_CheckJtagFuse(void)
{
unsigned short dma2_tmp = DMA2SA;
-
- DMA1SA = (unsigned short)DMA_TMSH_TDIH;
- DMA2SA = (unsigned short)DMA_TMSL_TDIH;
-
+
+ DMA1SA = (unsigned short)DMA_TMSH_TDIH;
+ DMA2SA = (unsigned short)DMA_TMSL_TDIH;
+
// TMSL_TDIH is preloaded // now in Run/Test Idle
DMA2sbw();
// Fuse check
@@ -310,41 +316,33 @@ short _hil_2w_CheckJtagFuse(void)
DMA1sbw();
// TMSL_TDIH is preloaded
DMA2sbw();
-
+
DMA2SA = dma2_tmp;
return 0;
}
-
-
-unsigned short _hil_2w_EnumChain(void)
-{
- return 1; // always return 1, as with Spy-Bi-Wire only one device can be handled
-}
-
-
-
// -----------------------------------------------------------------------------
unsigned char _hil_2w_Instr(unsigned char Instruction)
{
+ prevInstruction = Instruction;
// JTAG FSM state = Run-Test/Idle
if (TCLK_saved & sbwdato) //PrepTCLK
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
DMA1sbw();
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
DMA1sbw();
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
-
+
// JTAG FSM state = Select DR-Scan
// TMSH_TDIH loaded in previous if/else
DMA1sbw();
// JTAG FSM state = Select IR-Scan
- DMA1SA = (unsigned int)DMA_TMSL_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSL_TDIH;
DMA1sbw();
// JTAG FSM state = Capture-IR
DMA1sbw();
@@ -359,15 +357,15 @@ unsigned char _hil_2w_SetReg_XBits08(unsigned char data)
// JTAG FSM state = Run-Test/Idle
if (TCLK_saved & sbwdato) //PrepTCLK
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1sbw();
-
- DMA1SA = (unsigned int)DMA_TMSL_TDIH;
+
+ DMA1SA = (unsigned int)DMA_TMSL_TDIH;
// JTAG FSM state = Select DR-Scan
DMA1sbw();
// JTAG FSM state = Capture-DR
@@ -384,15 +382,15 @@ unsigned short _hil_2w_SetReg_XBits16(unsigned short data)
// JTAG FSM state = Run-Test/Idle
if (TCLK_saved & sbwdato) //PrepTCLK
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1sbw();
-
- DMA1SA = (unsigned int)DMA_TMSL_TDIH;
+
+ DMA1SA = (unsigned int)DMA_TMSL_TDIH;
// JTAG FSM state = Select DR-Scan
DMA1sbw();
// JTAG FSM state = Capture-DR
@@ -411,15 +409,15 @@ unsigned long _hil_2w_SetReg_XBits20(unsigned long data)
// JTAG FSM state = Run-Test/Idle
if (TCLK_saved & sbwdato) //PrepTCLK
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1sbw();
-
- DMA1SA = (unsigned int)DMA_TMSL_TDIH;
+
+ DMA1SA = (unsigned int)DMA_TMSL_TDIH;
// JTAG FSM state = Select DR-Scan
DMA1sbw();
// JTAG FSM state = Capture-DR
@@ -439,15 +437,15 @@ unsigned long _hil_2w_SetReg_XBits32(unsigned long data)
// JTAG FSM state = Run-Test/Idle
if (TCLK_saved & sbwdato) //PrepTCLK
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1sbw();
-
- DMA1SA = (unsigned int)DMA_TMSL_TDIH;
+
+ DMA1SA = (unsigned int)DMA_TMSL_TDIH;
// JTAG FSM state = Select DR-Scan
DMA1sbw();
// JTAG FSM state = Capture-DR
@@ -463,15 +461,15 @@ unsigned long long _hil_2w_SetReg_XBits64(unsigned long long data)
// JTAG FSM state = Run-Test/Idle
if (TCLK_saved & sbwdato) //PrepTCLK
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIH;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIH;
}
else
{
- DMA1SA = (unsigned int)DMA_TMSH_TDIL;
+ DMA1SA = (unsigned int)DMA_TMSH_TDIL;
}
DMA1sbw();
-
- DMA1SA = (unsigned int)DMA_TMSL_TDIH;
+
+ DMA1SA = (unsigned int)DMA_TMSL_TDIH;
// JTAG FSM state = Select DR-Scan
DMA1sbw();
// JTAG FSM state = Capture-DR
@@ -481,7 +479,118 @@ unsigned long long _hil_2w_SetReg_XBits64(unsigned long long data)
// JTAG FSM state = Run-Test/Idle
}
+//! \brief This function executes an SBW2 64BIT Data SHIFT (DR-SHIFT) in the case,
+//! that the first 8 bits show a valid data capture from the JSTATE register. In case
+//! of no valid capture the shift is ended after the first 8 bits. Timeout could be
+//! used to set the function run count.
+//! \param[in] Data to be shifted into target device
+//! \return Value shifted out of target device JTAG module
+unsigned long long _hil_2w_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion)
+{
+ unsigned long long TDOvalue = 0x0;
+ unsigned short timeout = loopCount;
+ unsigned char DataState = 0;
+ unsigned short currentDeviceState = 0;
+ unsigned short syncBrokenCount = loopCount%2;
+
+ do
+ {
+ TDOvalue = (_hil_2w_SetReg_XBits64(Data));
+ // Mask out all not needed bits for device state detection
+ currentDeviceState = ((TDOvalue >> 56) & JSTATE_FLOW_CONTROL_BITS);
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56, ] & 0x4 (BP_HIT) == TRUE
+ if(currentDeviceState & JSTATE_BP_HIT)
+ {
+ // reload Jstate IR
+ _hil_2w_Instr(IR_JSTATE_ID);
+ DataState = VALID_DATA;
+ return(TDOvalue);
+ }
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56] (AM Sync. ongoing) == 0x83
+ else if(currentDeviceState == JSTATE_SYNC_ONGOING)
+ {
+ DataState = SYNC_ONGOING;
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] & 0x40 (Locked State) == 0x40
+ else if((currentDeviceState & JSTATE_LOCKED_STATE) == JSTATE_LOCKED_STATE &&
+ (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE)
+ {
+ DataState = JTAG_LOCKED;
+ return(TDOvalue);
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] ( Invalid LPM) == 0x81)
+ else if(currentDeviceState == JSTATE_INVALID_STATE)
+ {
+ // reload Jstate IR
+ _hil_2w_Instr(IR_JSTATE_ID);
+ DataState = INVALID_DATA;
+ }
+ /*PG2.0 && PG2.1 frozen Sync detection*/
+ else if (((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK_PGACT)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_PGACT))
+ {
+ if(syncBrokenCount > 0 && JStateVersion >= 0x21)
+
+ { // Only working for PG2.1, do not harm if executed on PG2.0 – but will not create any effect only consume time
+ unsigned long current3VtestReg = 0;
+
+ // read current 3VtestReg value
+ _hil_2w_Instr(IR_TEST_REG);
+ current3VtestReg = _hil_2w_SetReg_XBits32(0);
+ // set bit 25 high to rest sync
+ current3VtestReg |= 0x2000000;
+ _hil_2w_SetReg_XBits32(current3VtestReg);
+ // set bit 25 low reset sync done
+ current3VtestReg &= ~0x2000000;
+ _hil_2w_SetReg_XBits32(current3VtestReg);
+
+ _hil_2w_Instr(IR_JSTATE_ID);
+ syncBrokenCount --;
+ }
+ else
+ {
+ DataState = VALID_DATA;
+ return(TDOvalue);
+ }
+ }
+ // device is not in LPMx or AC read out mode just restart the shift but do not reload the JState IR
+ else if(currentDeviceState != JSTATE_VALID_CAPTURE
+ && currentDeviceState != JSTATE_LPM_ONE_TWO
+ && currentDeviceState != JSTATE_LPM_THREE_FOUR
+ && (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE
+ && currentDeviceState != 0x00
+ && currentDeviceState != 0x02)
+ {
+ DataState = INVALID_DATA;
+ }
+ else
+ {
+ DataState = VALID_DATA;
+ }
+
+ if(!timeout)
+ {
+ return TDOvalue;
+ }
+ timeout--;
+ }
+ while(DataState == INVALID_DATA || DataState == SYNC_ONGOING);
+ if( currentDeviceState == JSTATE_LPM_ONE_TWO
+ || currentDeviceState == JSTATE_LPM_THREE_FOUR
+ || currentDeviceState == 0x00
+ || currentDeviceState == 0x02)
+ {
+ // reload Jstate IR
+ _hil_2w_Instr(IR_JSTATE_ID);
+ }
+ return(TDOvalue);
+}
// -----------------------------------------------------------------------------
void _hil_2w_Tclk(unsigned char state)
@@ -493,9 +602,9 @@ void _hil_2w_Tclk(unsigned char state)
}
else
{
- TMSL
+ TMSL
}
-
+
if(state)
{
JTAGOUT |= sbwdato;
@@ -511,16 +620,42 @@ void _hil_2w_Tclk(unsigned char state)
// __enable_interrupt() are called in TDOsbw
}
+void _hil_2w_StepPsa_Xv2(unsigned long length)
+{
+ unsigned short dma2_tmp = DMA2SA;
+
+ DMA1SA = (unsigned short)DMA_TMSH_TDIL;
+ DMA2SA = (unsigned short)DMA_TMSL_TDIL;
+ while(length--)
+ {
+ TCLKset0
+ // TMSH_TDIL preloaded
+ DMA1sbw();
+ // TMSL_TDIL preloaded
+ DMA2sbw();
+ // TMSL_TDIL preloaded
+ DMA2sbw();
+ // TMSH_TDIL preloaded
+ DMA1sbw();
+ // TMSH_TDIL preloaded
+ DMA1sbw();
+ // TMSL_TDIL preloaded
+ DMA2sbw();
+ TCLKset1
+ }
+ // Restore the prvious DMA2SA value
+ DMA2SA = dma2_tmp;
+}
// -----------------------------------------------------------------------------
void _hil_2w_StepPsa(unsigned long length)
{
unsigned short dma2_tmp = DMA2SA;
-
- DMA1SA = (unsigned short)DMA_TMSH_TDIL;
+
+ DMA1SA = (unsigned short)DMA_TMSH_TDIL;
DMA2SA = (unsigned short)DMA_TMSL_TDIL;
-
+
while(length--)
{
TCLKset1
@@ -546,13 +681,14 @@ void _hil_2w_StepPsa(unsigned long length)
void _hil_2w_StepPsaTclkHigh(unsigned long length)
{
unsigned short dma2_tmp = DMA2SA;
-
- DMA1SA = (unsigned short)DMA_TMSH_TDIH;
+
+ DMA1SA = (unsigned short)DMA_TMSH_TDIH;
DMA2SA = (unsigned short)DMA_TMSL_TDIH;
-
+
while(length--)
{
TCLKset1
+ TCLKset0
// TMSH_TDIH preloaded
DMA1sbw();
// TMSL_TDIH preloaded
@@ -565,40 +701,41 @@ void _hil_2w_StepPsaTclkHigh(unsigned long length)
DMA1sbw();
// TMSL_TDIH preloaded
DMA2sbw();
- TCLKset0
+
}
// Restore the prvious DMA2SA value
DMA2SA = dma2_tmp;
+ TCLKset1
}
// -----------------------------------------------------------------------------
short _hil_2w_BlowFuse(unsigned char targetHasTestVpp)
{
/// \ref SLAU320A July 2010 - Revised November 2010
-
- EDT_Instr(IR_PREPARE_BLOW); // initialize fuse blowing
- EDT_Delay_1ms(1);
-
+
+ prepare_blow(); // initialize fuse blowing
+ IHIL_Delay_1ms(1);
+
// set current instruction to ensure that the SBWTDIO pin does not go high after
// the instruction is shifted into the target
current_Instr = EXEC_FUSE_BLOW;
- EDT_Instr(IR_EX_BLOW); // send fuse blow instruction
-
- // After the IR_EX_BLOW instruction is shifted in via SBW, one more TMS_SLOT must be performed
+ ex_blow(); // send fuse blow instruction
+
+ // After the IR_EX_BLOW instruction is shifted in via SBW, one more TMS_SLOT must be performed
TMSL
-
- // apply fuse blow voltage
+
+ // apply fuse blow voltage
SetVpp(1);
// Taking SBWTDIO high as soon as VPP has been settled blows the fuse
JTAGOUT |= sbwdato;
- EDT_Delay_1ms(3);
+ IHIL_Delay_1ms(3);
SetVpp(0);
// now perform a BOR via JTAG - we loose control of the device then...
- EDT_Instr(IR_TEST_REG);
- EDT_SetReg_XBits32(0x00000200);
-
+ test_reg();
+ SetReg_32Bits(0x00000200);
+
return 0;
}
diff --git a/Bios/src/hil/uifv1/hil_4w.c b/Bios/src/hil/uifv1/hil_4w.c
index 0a3bdeb..2408cbd 100644
--- a/Bios/src/hil/uifv1/hil_4w.c
+++ b/Bios/src/hil/uifv1/hil_4w.c
@@ -8,35 +8,35 @@
*/
/*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
@@ -50,8 +50,6 @@
#define PIN_TDO BIT2
#define PIN_TCK BIT3
-
-//CONST_AT( struct jtag _Jtag, HAL_ADDR_CONST_JTAG) = {
const struct jtag _Jtag = {
(unsigned char)0x08, // TCK, P5.3 (out) (high)
(unsigned char)0x01, // TMS, P5.0 (out) (high)
@@ -61,6 +59,8 @@ const struct jtag _Jtag = {
(unsigned char*)&P5OUT
};
+unsigned char prev4wInstruction;
+
const unsigned char JTAG_ENTRY_IR0[] = {
(PIN_TMS),(PIN_TMS|PIN_TCK),(PIN_TMS),(PIN_TMS|PIN_TCK),0,(PIN_TCK),0,(PIN_TCK)
};
@@ -80,16 +80,22 @@ const unsigned char JTAG_IDLE1[] = {
(PIN_TDI|PIN_TMS),(PIN_TDI|PIN_TMS|PIN_TCK),(PIN_TDI),(PIN_TDI|PIN_TCK)
};
+unsigned char _hil_4w_GetPrevInstruction()
+{
+ return prev4wInstruction;
+}
+
+
// -----------------------------------------------------------------------------
short _hil_4w_CheckJtagFuse(void)
{
// perform a JTAG fuse check
TMSset1;
TMSset0;
- EDT_Delay_1us(5);
+ IHIL_Delay_1us(5);
TMSset1;
TMSset0;
- EDT_Delay_1us(5);
+ IHIL_Delay_1us(5);
TMSset1;
return 0;
}
@@ -143,30 +149,30 @@ unsigned short _hil_4w_EnumChain(void)
unsigned char i = 0;
unsigned char detIdCode = 0;
unsigned short numOfDevices = 0;
-
+
_hil_4w_TapReset();
-
+
// JTAG FSM state = Run-Test/Idle
TMSset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
// JTAG FSM state = Select DR-Scan
TMSset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
// JTAG FSM state = Capture-DR
TCKset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
// JTAG FSM state = Shift-IR
-
+
while(1)
{
if((DataIn & LSB) == 0)
@@ -179,7 +185,7 @@ unsigned short _hil_4w_EnumChain(void)
}
DataIn >>= 1;
TCKset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset1;
TDOval >>= 1; // TDO could be any port pin
if (ScanTDO())
@@ -195,7 +201,7 @@ unsigned short _hil_4w_EnumChain(void)
{
numOfDevices++;
}
-
+
i += detIdCode;
if(32 == i)
{
@@ -204,7 +210,7 @@ unsigned short _hil_4w_EnumChain(void)
if(Invalid_Manufactor_IdCode == (TDOval & Mask_Manufactor_IdCode))
{
// End of chain detected
- break;
+ break;
}
// Device with valid IdCode detected
numOfDevices++;
@@ -216,28 +222,28 @@ unsigned short _hil_4w_EnumChain(void)
numOfDevices = 0;
break;
}
- }
-
+ }
+
TMSset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset0;
- EDT_Delay_1us(10);
- TCKset1;
+ IHIL_Delay_1us(10);
+ TCKset1;
// JTAG FSM = Exit-DR
TCKset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
// JTAG FSM = Update-DR
TMSset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset0;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
TCKset1;
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
// JTAG FSM = Run-Test/Idle
TMSset1; // to save power during debugging
- EDT_Delay_1us(10);
+ IHIL_Delay_1us(10);
return numOfDevices;
}
@@ -246,8 +252,8 @@ unsigned short _hil_4w_EnumChain(void)
// -----------------------------------------------------------------------------
unsigned char _hil_4w_Instr(unsigned char Instruction)
{
- unsigned char TDOvalue;
-
+ unsigned char TDOvalue = 0;
+ prev4wInstruction = Instruction;
// DMA application
DMA1SZ = 8; // load DMA1 with size
if(StoreTTDI() & _Jtag.TDI)
@@ -264,7 +270,7 @@ unsigned char _hil_4w_Instr(unsigned char Instruction)
DMA2CTL |= DMAEN; // enable DMA2
DMA1CTL |= DMAREQ; // DMA1 FIRE!!!
// JTAG FSM state = Shift-IR
- P5SEL |= 0x0E; // enablespi
+ P5SEL |= 0x0E; // enablespi
UCTL1 &= ~CHAR;
U1TXBUF = Instruction; //Dataloadspi 8
while(!(UTCTL1 & TXEPT));
@@ -283,15 +289,15 @@ unsigned char _hil_4w_Instr(unsigned char Instruction)
TDOvalue |= ScanTDO();
// common exit
DMA2CTL |= DMAREQ; // DMA2 FIRE!!!
-
+
// JTAG FSM = Run-Test/Idle
return TDOvalue;
}
unsigned char _hil_4w_SetReg_XBits08(unsigned char Data)
{
- unsigned char TDOvalue;
-
+ unsigned char TDOvalue = 0;
+
DMA1SZ = 6;
if(StoreTTDI() & _Jtag.TDI)
{
@@ -307,7 +313,7 @@ unsigned char _hil_4w_SetReg_XBits08(unsigned char Data)
DMA2CTL |= DMAEN;
DMA1CTL |= DMAREQ;
// JTAG FSM state = Shift-DR
- P5SEL |= 0x0E; // enablespi
+ P5SEL |= 0x0E; // enablespi
UCTL1 &= ~CHAR;
U1TXBUF = Data; //Dataloadspi 8
while(!(UTCTL1 & TXEPT));
@@ -333,7 +339,7 @@ unsigned short _hil_4w_SetReg_XBits16(unsigned short Data)
unsigned short TDOvalue = 0;
unsigned char *outptr = (unsigned char*)&Data;
unsigned char *inptr = (unsigned char*)&TDOvalue;
-
+
DMA1SZ = 6;
if(StoreTTDI() & _Jtag.TDI)
{
@@ -349,7 +355,7 @@ unsigned short _hil_4w_SetReg_XBits16(unsigned short Data)
DMA2CTL |= DMAEN;
DMA1CTL |= DMAREQ;
// JTAG FSM state = Shift-DR
- P5SEL |= 0x0E; // enablespi
+ P5SEL |= 0x0E; // enablespi
UCTL1 |= CHAR;
U1TXBUF = *(outptr + 1);
while(!(UTCTL1 & TXEPT));
@@ -379,7 +385,7 @@ unsigned long _hil_4w_SetReg_XBits20(unsigned long Data)
unsigned long TDOvalue = 0;
unsigned char *outptr = (unsigned char*)&Data;
unsigned char *inptr = (unsigned char*)&TDOvalue;
-
+
DMA1SZ = 6;
if(StoreTTDI() & _Jtag.TDI)
{
@@ -399,13 +405,13 @@ unsigned long _hil_4w_SetReg_XBits20(unsigned long Data)
{
TDIset1
}
- else
+ else
{
TDIset0
}
TCKset0 TCKset1
*(inptr+2) |= ScanTDO();
-
+
if(*(outptr+2) & 0x04)
{
TDIset1
@@ -417,7 +423,7 @@ unsigned long _hil_4w_SetReg_XBits20(unsigned long Data)
TCKset0 TCKset1
*(inptr+2) <<= 1;
*(inptr+2) |= ScanTDO();
-
+
if(*(outptr+2) & 0x02)
{
TDIset1
@@ -429,7 +435,7 @@ unsigned long _hil_4w_SetReg_XBits20(unsigned long Data)
TCKset0 TCKset1
*(inptr+2) <<= 1;
*(inptr+2) |= ScanTDO();
-
+
if(*(outptr+2) & 0x01)
{
TDIset1
@@ -441,16 +447,19 @@ unsigned long _hil_4w_SetReg_XBits20(unsigned long Data)
TCKset0 TCKset1
*(inptr+2) <<= 1;
*(inptr+2) |= ScanTDO();
-
- P5SEL |= 0x0E; // enablespi
+
+ P5SEL |= 0x0E; // enablespi
UCTL1 |= CHAR;
+
U1TXBUF = *(outptr + 1);
while(!(UTCTL1 & TXEPT));
*(inptr + 1) = U1RXBUF;
+
UCTL1 &= ~CHAR;
U1TXBUF = *outptr; //Dataloadspi 8
while(!(UTCTL1 & TXEPT));
*inptr = U1RXBUF << 1;
+
P5SEL &= ~0x0E; // disable spi
if(Data & 0x1)
{
@@ -476,7 +485,7 @@ unsigned long _hil_4w_SetReg_XBits32(unsigned long Data)
unsigned long TDOvalue = 0;
unsigned char *outptr = (unsigned char*)&Data;
unsigned char *inptr = (unsigned char*)&TDOvalue;
-
+
DMA1SZ = 6;
if(StoreTTDI() & _Jtag.TDI)
{
@@ -491,9 +500,9 @@ unsigned long _hil_4w_SetReg_XBits32(unsigned long Data)
DMA1CTL |= DMAEN;
DMA2CTL |= DMAEN;
DMA1CTL |= DMAREQ;
-
+
// JTAG FSM state = Shift-DR
- P5SEL |= 0x0E; // enablespi
+ P5SEL |= 0x0E; // enablespi
UCTL1 |= CHAR;
U1TXBUF = *(outptr + 3);
while(!(UTCTL1 & TXEPT));
@@ -505,7 +514,7 @@ unsigned long _hil_4w_SetReg_XBits32(unsigned long Data)
while(!(UTCTL1 & TXEPT));
*(inptr + 1) = U1RXBUF;
UCTL1 &= ~CHAR;
- U1TXBUF = *outptr;
+ U1TXBUF = *outptr;
while(!(UTCTL1 & TXEPT));
*inptr = U1RXBUF << 1;
P5SEL &= ~0x0E; // disable spi
@@ -526,7 +535,7 @@ unsigned long long _hil_4w_SetReg_XBits64(unsigned long long Data)
unsigned long long TDOvalue = 0;
unsigned char *outptr = (unsigned char*)&Data;
unsigned char *inptr = (unsigned char*)&TDOvalue;
-
+
DMA1SZ = 6;
if(StoreTTDI() & _Jtag.TDI)
{
@@ -541,44 +550,44 @@ unsigned long long _hil_4w_SetReg_XBits64(unsigned long long Data)
DMA1CTL |= DMAEN;
DMA2CTL |= DMAEN;
DMA1CTL |= DMAREQ;
-
+
// JTAG FSM state = Shift-DR
- P5SEL |= 0x0E; // enablespi
+ P5SEL |= 0x0E; // enablespi
UCTL1 |= CHAR;
-
+
U1TXBUF = *(outptr + 7);
while(!(UTCTL1 & TXEPT));
*(inptr + 7) = U1RXBUF;
-
+
U1TXBUF = *(outptr + 6);
while(!(UTCTL1 & TXEPT));
*(inptr + 6) = U1RXBUF;
-
+
U1TXBUF = *(outptr + 5);
while(!(UTCTL1 & TXEPT));
*(inptr + 5) = U1RXBUF;
-
+
U1TXBUF = *(outptr + 4);
while(!(UTCTL1 & TXEPT));
*(inptr + 4) = U1RXBUF;
-
+
U1TXBUF = *(outptr + 3);
while(!(UTCTL1 & TXEPT));
*(inptr + 3) = U1RXBUF;
-
+
U1TXBUF = *(outptr + 2);
while(!(UTCTL1 & TXEPT));
*(inptr + 2) = U1RXBUF;
-
+
U1TXBUF = *(outptr + 1);
while(!(UTCTL1 & TXEPT));
*(inptr + 1) = U1RXBUF;
-
+
UCTL1 &= ~CHAR;
- U1TXBUF = *outptr;
+ U1TXBUF = *outptr;
while(!(UTCTL1 & TXEPT));
*inptr = U1RXBUF << 1;
-
+
P5SEL &= ~0x0E; // disable spi
if(Data & 0x1)
TDIset1TMSset1
@@ -591,6 +600,120 @@ unsigned long long _hil_4w_SetReg_XBits64(unsigned long long Data)
DMA2CTL |= DMAREQ;
return TDOvalue;
}
+
+//! \brief This function executes an SBW2 64BIT Data SHIFT (DR-SHIFT) in the case,
+//! that the first 8 bits show a valid data capture from the JSTATE register. In case
+//! of no valid capture the shift is ended after the first 8 bits. Timeout could be
+//! used to set the function run count.
+//! \param[in] Data to be shifted into target device
+//! \return Value shifted out of target device JTAG module
+unsigned long long _hil_4w_SetReg_XBits8_64(unsigned long long Data, unsigned short loopCount, unsigned short JStateVersion)
+{
+ unsigned long long TDOvalue = 0x0;
+ unsigned short timeout = loopCount;
+ unsigned char DataState = 0;
+ unsigned short currentDeviceState = 0;
+ unsigned short syncBrokenCount = loopCount%2;
+
+ do
+ {
+ TDOvalue = (_hil_4w_SetReg_XBits64(Data));
+ // Mask out all not needed bits for device state detection
+ currentDeviceState = ((TDOvalue >> 56) & JSTATE_FLOW_CONTROL_BITS);
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56, ] & 0x4 (BP_HIT) == TRUE
+ if(currentDeviceState & JSTATE_BP_HIT)
+ {
+ // reload Jstate IR
+ _hil_4w_Instr(IR_JSTATE_ID);
+ DataState = VALID_DATA;
+ return(TDOvalue);
+ }
+
+ // check, if BIT[63, 62, 61, 60, 59 58, 57, 56] (AM Sync. ongoing) == 0x83
+ else if(currentDeviceState == JSTATE_SYNC_ONGOING)
+ {
+ DataState = SYNC_ONGOING;
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] & 0x40 (Locked State) == 0x40
+ else if((currentDeviceState & JSTATE_LOCKED_STATE) == JSTATE_LOCKED_STATE &&
+ (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE)
+ {
+ DataState = JTAG_LOCKED;
+ return(TDOvalue);
+ }
+
+ //check, if BIT[63, 62, 61, 60, 59 58, 57, 56] ( Invalid LPM) == 0x81)
+ else if(currentDeviceState == JSTATE_INVALID_STATE)
+ {
+ // reload Jstate IR
+ _hil_4w_Instr(IR_JSTATE_ID);
+ DataState = INVALID_DATA;
+ }
+ /*PG2.0 && PG2.1 frozen Sync detection*/
+ else if (((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_MCLK_PGACT)
+ ||((currentDeviceState & JSTATE_SYNC_BROKEN_MASK) == JSTATE_SYNC_BROKEN_PGACT))
+ {
+ if(syncBrokenCount > 0 && JStateVersion >= 0x21)
+
+ { // Only working for PG2.1, do not harm if executed on PG2.0 – but will not create any effect only consume time
+ unsigned long current3VtestReg = 0;
+
+ // read current 3VtestReg value
+ _hil_4w_Instr(IR_TEST_REG);
+ current3VtestReg = _hil_4w_SetReg_XBits32(0);
+ // set bit 25 high to rest sync
+ current3VtestReg |= 0x2000000;
+ _hil_4w_SetReg_XBits32(current3VtestReg);
+ // set bit 25 low reset sync done
+ current3VtestReg &= ~0x2000000;
+ _hil_4w_SetReg_XBits32(current3VtestReg);
+
+ _hil_4w_Instr(IR_JSTATE_ID);
+ syncBrokenCount --;
+ }
+ else
+ {
+ DataState = VALID_DATA;
+ return(TDOvalue);
+ }
+ }
+ // device is not in LPMx or AC read out mode just restart the shift but do not reload the JState IR
+ else if(currentDeviceState != JSTATE_VALID_CAPTURE
+ && currentDeviceState != JSTATE_LPM_ONE_TWO
+ && currentDeviceState != JSTATE_LPM_THREE_FOUR
+ && (currentDeviceState & JSTATE_LPM_X_FIVE) != JSTATE_LPM_X_FIVE
+ && currentDeviceState != 0x00
+ && currentDeviceState != 0x02)
+ {
+ DataState = INVALID_DATA;
+ }
+ else
+ {
+ DataState = VALID_DATA;
+ }
+
+ if(!timeout)
+ {
+ return TDOvalue;
+ }
+ timeout--;
+ }
+ while(DataState == INVALID_DATA || DataState == SYNC_ONGOING);
+
+ if( currentDeviceState == JSTATE_LPM_ONE_TWO
+ || currentDeviceState == JSTATE_LPM_THREE_FOUR
+ || currentDeviceState == 0x00
+ || currentDeviceState == 0x02)
+ {
+ // reload Jstate IR
+ _hil_4w_Instr(IR_JSTATE_ID);
+ }
+ return(TDOvalue);
+}
+
// -----------------------------------------------------------------------------
void _hil_4w_Tclk(unsigned char state)
{
@@ -617,16 +740,16 @@ void _hil_4w_StepPsa(unsigned long length)
TCKset1 _NOP(); // select DR scan
TCKset0 _NOP();
TMSset0 _NOP();
-
+
TCKset1 _NOP(); // capture DR
TCKset0 _NOP();
TCKset1 _NOP(); // shift DR
TCKset0 _NOP();
-
+
TMSset1 _NOP();
TCKset1 _NOP();// exit DR
TCKset0 _NOP();
-
+
// Set JTAG FSM back into Run-Test/Idle
TCKset1 _NOP();
TMSset0 _NOP();
@@ -647,16 +770,16 @@ void _hil_4w_StepPsaTclkHigh(unsigned long length)
TCKset1 _NOP();// select DR scan
TCKset0 _NOP();
TMSset0 _NOP();
-
+
TCKset1 _NOP();// capture DR
TCKset0 _NOP();
TCKset1 _NOP();// shift DR
TCKset0 _NOP();
-
+
TMSset1 _NOP();
TCKset1 _NOP(); // exit DR
TCKset0 _NOP();
-
+
// Set JTAG FSM back into Run-Test/Idle
TCKset1 _NOP();
TMSset0 _NOP();
@@ -671,26 +794,26 @@ void _hil_4w_StepPsaTclkHigh(unsigned long length)
// -----------------------------------------------------------------------------
short _hil_4w_BlowFuse(unsigned char targetHasTestVpp)
{
- if(!targetHasTestVpp)
+ if(!targetHasTestVpp)
{
- cntrl_sig_16bit;
- SetReg_16Bits_(0x7401); // TDOs get TDI functionality (internal)
+ cntrl_sig_16bit();
+ SetReg_16Bits(0x7401); // TDOs get TDI functionality (internal)
testVpp(0); // Switchs also TDO functionality to TDI.
}
- EDT_Instr(IR_PREPARE_BLOW); // initialize fuse blowing
- EDT_Delay_1ms(1);
-
+ prepare_blow(); // initialize fuse blowing
+ IHIL_Delay_1ms(1);
+
SetVpp(1);
- EDT_Instr(IR_EX_BLOW); // execute fuse blowing
- EDT_Delay_1ms(1);
+ ex_blow(); // execute fuse blowing
+ IHIL_Delay_1ms(1);
SetVpp(0); // switch VPP off
-
+
testVpp(1); // Restore the normal function of TDO and TDI (within the interface).
// now perform a BOR via JTAG - we loose control of the device then...
- EDT_Instr(IR_TEST_REG);
- EDT_SetReg_XBits32(0x00000200);
-
+ test_reg();
+ SetReg_32Bits(0x00000200);
+
return 0;
}
/* EOF */
diff --git a/Bios/src/hil/uifv1/hil_4w_432.c b/Bios/src/hil/uifv1/hil_4w_432.c
new file mode 100644
index 0000000..52abaaf
--- /dev/null
+++ b/Bios/src/hil/uifv1/hil_4w_432.c
@@ -0,0 +1,499 @@
+/*
+ * hil_4w_432.c
+ *
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
+ * distribution.
+ *
+ * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+//! \ingroup MODULHIL
+//! \file hil_4w_432.c
+//! \brief
+//!
+
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "arch.h"
+#include "edt.h"
+#include
+
+static struct jtag _Jtag = {0};
+
+// 4-wire JTAG: low level signal access
+
+void TMSset1()
+{ (*_Jtag.Out) |= _Jtag.TMS;}
+
+void TMSset0()
+{ (*_Jtag.Out) &= ~_Jtag.TMS;}
+
+void TDIset1()
+{ (*_Jtag.Out) |= _Jtag.TDI;}
+
+void TDIset0()
+{ (*_Jtag.Out) &= ~_Jtag.TDI;}
+
+void TCKset1()
+{ (*_Jtag.Out) |= _Jtag.TCK;}
+
+void TCKset0()
+{ (*_Jtag.Out) &= ~_Jtag.TCK;}
+
+void TDIset1TMSset1()
+{ (*_Jtag.Out) |= _Jtag.TDI | _Jtag.TMS; }
+
+void TDIset0TMSset1()
+{ (*_Jtag.Out) &= ~_Jtag.TDI; *_Jtag.Out |= _Jtag.TMS;}
+
+// Array to store JTAG tap IR entry sequence for DMA
+unsigned short JTAG_ENTRY_IR[4] = {0};
+
+//Array to store JTAG tap DR entry sequence for DMA
+unsigned short JTAG_ENTRY_DR[3] = {0};
+
+//Array to store JTAG tap IR/DR shift exit sequence for DMA
+unsigned short JTAG_IDLE[2] = {0};
+
+//Array to strobe TDI set 1 for DMA exectuion - TCK included
+unsigned short TDI_1[2] = {0};
+
+//Array to strobe TDI set 0 for DMA exectuion - TCK included
+unsigned short TDI_0[1] = {0};
+
+//lookup table to reverse 8 bit values
+static const unsigned char table_8bits[] =
+{
+ 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
+ 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
+ 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
+ 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
+ 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
+ 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
+ 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
+ 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
+ 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
+ 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
+ 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
+ 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
+ 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
+ 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
+ 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
+ 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,
+ 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1,
+ 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
+ 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9,
+ 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,
+ 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
+ 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,
+ 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed,
+ 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
+ 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3,
+ 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,
+ 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
+ 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,
+ 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7,
+ 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
+ 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
+ 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff,
+ };
+#pragma inline=forced
+unsigned char reverse_byte(unsigned char x)
+{
+ return table_8bits[x];
+}
+
+#pragma inline=forced
+unsigned char ScanTDO()
+{
+ if((*_Jtag.In & _Jtag.TDO) != 0)
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+void hil_4w_432_InitJtag(struct jtag tmp)
+{
+ _Jtag = tmp;
+
+ // Load DR JTAG tap IR entry sequence for DMA into Array
+ // The comment out code shows which signal is set low
+ JTAG_ENTRY_IR[0] = (_Jtag.TMS ); //~_Jtag.TCK
+ JTAG_ENTRY_IR[0] |= (_Jtag.TMS | _Jtag.TCK)<<8;
+ JTAG_ENTRY_IR[1] = (_Jtag.TMS ); //~_Jtag.TCK
+ JTAG_ENTRY_IR[1] |= (_Jtag.TMS | _Jtag.TCK)<<8;
+ JTAG_ENTRY_IR[2] = 0; //~_Jtag.TMS | ~_Jtag.TCK
+ JTAG_ENTRY_IR[2] |= (_Jtag.TCK)<<8;//~_Jtag.TMS
+ JTAG_ENTRY_IR[3] = 0; //~_Jtag.TMS | ~_Jtag.TCK
+ JTAG_ENTRY_IR[3] |= (_Jtag.TCK)<<8;//~_Jtag.TMS
+
+ // Load DR JTAG tap DR entry sequence for DMA into Array
+ // The comment out code shows which signal is set low
+ JTAG_ENTRY_DR[0] = (_Jtag.TMS ); //~_Jtag.TCK
+ JTAG_ENTRY_DR[0] |= (_Jtag.TMS | _Jtag.TCK)<<8;
+ JTAG_ENTRY_DR[1] = 0;//~_Jtag.TMS | ~_Jtag.TCK
+ JTAG_ENTRY_DR[1] |= (_Jtag.TCK)<<8;//~_Jtag.TMS
+ JTAG_ENTRY_DR[2] = 0;//~_Jtag.TMS | ~_Jtag.TCK
+ JTAG_ENTRY_DR[2] |= (_Jtag.TCK)<<8;//~_Jtag.TMS
+
+
+ // Load JTAG tap IR/DR shift exit sequence for DMA into Array
+ // The comment out code shows which signal is set low
+ JTAG_IDLE[0] = (_Jtag.TMS ); //~_Jtag.TCK
+ JTAG_IDLE[0] |= (_Jtag.TMS | _Jtag.TCK)<<8;
+ JTAG_IDLE[1] = 0;//~_Jtag.TMS | ~_Jtag.TCK
+ JTAG_IDLE[1] |= (_Jtag.TCK)<<8;//~_Jtag.TMS
+
+ // Load TDI set 1 for DMA - TDI must be high before TCK goes HIGH
+ TDI_1[0] = 0;
+ TDI_1[0] |= _Jtag.TDI<<8;
+ TDI_1[1] = ( _Jtag.TDI | _Jtag.TCK);
+ TDI_1[1] |= ( _Jtag.TDI | _Jtag.TCK) << 8;
+
+ // Load TDI set 0 for DMA
+ TDI_0[0] = 0;
+ TDI_0[0] |= (_Jtag.TCK) << 8;
+}
+
+//The hil_4w_432_Seq() function can apply a various sequence on TCK and TMS.
+//It is used to apply the ARM JTAG entry sequence
+void hil_4w_432_Seq(unsigned short length, unsigned char *sequence)
+{
+ unsigned char dataptr = 0;
+ unsigned short n = 0;
+ while (length--)
+ {
+ if (n == 0)
+ {
+ dataptr = *sequence++;
+ n = 8;
+ }
+ if (dataptr & 1)
+ {
+ (*_Jtag.Out) |= _Jtag.TMS;
+ TCKset0();
+ _NOP();
+ TCKset1();
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.TMS;
+ TCKset0();
+ _NOP();
+ TCKset1();
+ }
+ dataptr >>= 1;
+ n--;
+ }
+}
+
+// -----------------------------------------------------------------------------
+short hil_4w_432_TapReset(void)
+{
+ // Reset TAP Controller State Machine
+ // Set default state for JTAG signals (TDI = TMS = TCK = 1)
+ TDIset1();
+ TMSset1();
+ TCKset1();
+ // Clock TCK six (6) times
+ TCKset0();
+ TCKset1();
+ TCKset0();
+ TCKset1();
+ TCKset0();
+ TCKset1();
+ TCKset0();
+ TCKset1();
+ TCKset0();
+ TCKset1();
+ TCKset0();
+ TCKset1();
+ // TAP Controller State Machine is now in "Test-Logic Reset" state
+ // Clock TCK one more time with TMS = 0
+ TMSset0();
+ TCKset0();
+ TCKset1();
+ return 0;
+}
+
+/*
+The hil_4w_432_Instr_4 function executes a 4 bit ARM IR shift
+It uses the DMA to enter the tap “Shift IR” state. Also the shift itself is done my using 2 DMA channels.
+In the end the DMA is use to enter the tap “Run test idle” state
+*/
+unsigned char hil_4w_432_Instr_4(unsigned char Instruction)
+{
+ unsigned char TDOvalue = 0x00;
+ volatile unsigned char count = 0;
+
+ DMA1SZ = 8;
+ DMA1SA = (unsigned short)JTAG_ENTRY_IR;
+
+ // Fire DMA enter Shift-IR
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ;
+
+ //configre DMA to shit in the IR
+ DMA1SZ = 3;
+ DMA2SZ = 2;
+ DMA1SA = (unsigned short)TDI_1;
+ DMA2SA = (unsigned short)TDI_0;
+
+ for(count = 0; count < 3; ++count)
+ {
+ if(Instruction & (1 << count))
+ {
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ;
+ }
+ else
+ {
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ;
+ }
+ TDOvalue |= (((unsigned char)ScanTDO()) << count);
+ }
+
+ if(Instruction & 0x8)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+ TMSset1();
+ TCKset0();
+ TCKset1(); // Exit1-IR
+
+ TDOvalue |= (((unsigned char)ScanTDO()) << count);
+
+ // common exit to Run-Test/Idle
+ DMA2SZ = 4;
+ DMA2SA = (unsigned short)JTAG_IDLE;
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ;
+ return TDOvalue;
+}
+
+/*
+
+The hil_4w_432_SetReg_35Bits function executes a 35 bit ARM DR shift
+It uses the DMA to enter the tap “Shift DR” state. The fist 32Bit data is shifted in by using the SPI module.
+Therefore the Bit order has to be reversed. The last 3 bits are shifted in by bit banging.
+In the end the DMA is use to enter the tap “Run test idle” state
+*/
+unsigned long long hil_4w_432_SetReg_35Bits( unsigned long long *Data)
+{
+ unsigned long long TDOvalue = 0;
+ unsigned long long data_ = 0, retVal = 0;
+ unsigned char *outptr =(unsigned char*)&data_;
+ unsigned char *retValPtr = (unsigned char*)&retVal;
+ unsigned char *inptr = (unsigned char*)&TDOvalue;
+ unsigned char *DataPtr = (unsigned char*)Data;
+
+ // reverse first 32 Bits
+ *(outptr+3) = reverse_byte(*(DataPtr+3));
+ *(outptr+2) = reverse_byte(*(DataPtr+2));
+ *(outptr+1) = reverse_byte(*(DataPtr+1));
+ *(outptr+0) = reverse_byte(*(DataPtr+0));
+
+ //configre DMA to shit in the DR
+ DMA1SZ = 6;
+ DMA1SA = (unsigned short)JTAG_ENTRY_DR;
+
+ // Fire DMA enter Shift-DR
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ;
+
+ P5SEL |= 0x0E; // enablespi
+ UCTL1 |= CHAR;
+
+ U1TXBUF = *(outptr + 0);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 0) = U1RXBUF;
+
+ U1TXBUF = *(outptr + 1);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 1) = U1RXBUF;
+
+ U1TXBUF = *(outptr + 2);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 2) = U1RXBUF;
+
+ U1TXBUF = *(outptr + 3);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 3) = U1RXBUF;
+
+ P5SEL &= ~0x0E; // disable spi
+
+ TCKset0();
+ if(*(DataPtr+4) & 0x01)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+ TCKset1();
+ *(retValPtr+4) |= ScanTDO();
+
+ TCKset0();
+ if(*(DataPtr+4) & 0x02)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+ TCKset1();
+ *(retValPtr+4) |= ScanTDO() << 1;
+
+ TCKset0();
+ TMSset1();
+ if(*(DataPtr+4) & 0x04)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+ TCKset1();
+ *(retValPtr+4) |= ScanTDO()<< 2;
+
+ // common exit to Run-Test/Idle
+ DMA2SZ = 4;
+ DMA2SA = (unsigned short)JTAG_IDLE;
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ;
+
+ // reverse 32 Bits if shifted out value
+ *(retValPtr+0) = reverse_byte(*(inptr+0));
+ *(retValPtr+1) = reverse_byte(*(inptr+1));
+ *(retValPtr+2) = reverse_byte(*(inptr+2));
+ *(retValPtr+3) = reverse_byte(*(inptr+3));
+ return retVal;
+}
+
+
+unsigned char hil_4w_432_SetReg_XBits08(unsigned char Data)
+{
+ return 0;
+}
+
+unsigned short hil_4w_432_SetReg_XBits16(unsigned short Data)
+{
+ return 0;
+}
+
+/*
+The hil_4w_432_SetReg_32Bits function executes a 32 bit ARM DR shift
+It uses the DMA to enter the tap “Shift DR” state. The 32Bit data is shifted in by using the SPI module.
+Therefore the Bit order has to be reversed. In the end the DMA is use to enter the tap “Run test idle” state
+*/
+unsigned long hil_4w_432_SetReg_XBits32(unsigned long Data)
+{
+ unsigned long TDOvalue = 0;
+ unsigned long data_ = 0, retVal = 0;
+ unsigned char *outptr =(unsigned char*)&data_;
+ unsigned char *DataPtr = (unsigned char*)&Data;
+ unsigned char *retValPtr = (unsigned char*)&retVal;
+
+ // reverse 32 Bit data
+ *(outptr+0) = reverse_byte(*(DataPtr+3));
+ *(outptr+1) = reverse_byte(*(DataPtr+2));
+ *(outptr+2) = reverse_byte(*(DataPtr+1));
+ *(outptr+3) = reverse_byte(*(DataPtr+0));
+
+ unsigned char *inptr = (unsigned char*)&TDOvalue;
+
+ //configre DMA to shit in the DR
+ DMA1SZ = 6;
+ DMA1SA = (unsigned short)JTAG_ENTRY_DR;
+
+ DMA1CTL |= DMAEN;
+ DMA1CTL |= DMAREQ;
+
+ P5SEL |= 0x0E; // enablespi
+ UCTL1 |= CHAR;
+ U1TXBUF = *(outptr + 3);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 3) = U1RXBUF;
+ U1TXBUF = *(outptr + 2);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 2) = U1RXBUF;
+ U1TXBUF = *(outptr + 1);
+ while(!(UTCTL1 & TXEPT));
+ *(inptr + 1) = U1RXBUF;
+ UCTL1 &= ~CHAR;
+ U1TXBUF = *outptr;
+ while(!(UTCTL1 & TXEPT));
+ *inptr = U1RXBUF << 1;
+ P5SEL &= ~0x0E; // disable spi
+
+ TMSset1();
+ TCKset0();
+ if(Data & 0x1)
+ {
+ TDIset1();
+ }
+ else
+ {
+ TDIset0();
+ }
+ TCKset1();
+ *inptr |= ScanTDO();
+
+ // common exit to Run-Test/Idle
+ DMA2SZ = 4;
+ DMA2SA = (unsigned short)JTAG_IDLE;
+ DMA2CTL |= DMAEN;
+ DMA2CTL |= DMAREQ;
+ // JTAG FSM = Run-Test/Idle
+
+ *(retValPtr+3) = reverse_byte(*(inptr+0));
+ *(retValPtr+2) = reverse_byte(*(inptr+1));
+ *(retValPtr+1) = reverse_byte(*(inptr+2));
+ *(retValPtr+0) = reverse_byte(*(inptr+3));
+ return retVal;
+}
+
+unsigned long long hil_4w_432_SetReg_XBits64(unsigned long long Data)
+{
+ return 0;
+}
+
+/* EOF */
diff --git a/Bios/src/hil/uifv1/hil_Swd.c b/Bios/src/hil/uifv1/hil_Swd.c
new file mode 100644
index 0000000..a6d18e1
--- /dev/null
+++ b/Bios/src/hil/uifv1/hil_Swd.c
@@ -0,0 +1,193 @@
+#include "hw_compiler_specific.h"
+#include "HalGlobalVars.h"
+#include "arch.h"
+#include "edt.h"
+#include
+
+static struct jtag _Jtag = {0};
+
+#define SWD_DELAY { _NOP();}
+
+// DAP Transfer Response
+#define DAP_TRANSFER_OK (1<<0)
+#define DAP_TRANSFER_WAIT (1<<1)
+#define DAP_TRANSFER_FAULT (1<<2)
+#define DAP_TRANSFER_ERROR (1<<3)
+#define DAP_TRANSFER_MISMATCH (1<<4)
+
+
+//#pragma inline=forced
+void SWDTCKset1()
+{ (*_Jtag.Out) |= _Jtag.TCK;}
+
+//#pragma inline=forced
+void SWDTCKset0()
+{ (*_Jtag.Out) &= ~_Jtag.TCK;}
+
+//#pragma inline=forced
+void SWDIOset1TckCycle()
+{
+ (*_Jtag.Out) |= _Jtag.TDI;
+ SWDTCKset0();
+ SWD_DELAY;
+ SWDTCKset1();
+}
+
+//#pragma inline=forced
+void SWDIOset0TckCycle()
+{
+ (*_Jtag.Out) &= ~_Jtag.TDI;
+ SWDTCKset0();
+ SWD_DELAY;
+ SWDTCKset1();
+}
+
+//#pragma inline=forced
+void SWDTckCycle()
+{
+ SWDTCKset0();
+ SWD_DELAY;
+ SWDTCKset1();
+ SWD_DELAY;
+}
+//#pragma inline=forced
+void SWDIOwriteBit(unsigned char bit)
+{
+ if(bit & 0x1)
+ {
+ (*_Jtag.Out) |= _Jtag.TDI;
+ }
+ else
+ {
+ (*_Jtag.Out) &= ~_Jtag.TDI;
+ }
+ SWDTCKset0();
+ SWD_DELAY;;
+ SWDTCKset1();
+}
+
+// turn around direction before
+//#pragma inline=forced
+unsigned char ScanTDO()
+{
+ unsigned char val = 0;
+ SWDTCKset0();
+ SWD_DELAY;
+ SWD_DELAY;
+
+ if(*_Jtag.In & _Jtag.TDO)
+ {
+ val = 1;
+ }
+ else
+ {
+ val = 0;
+ }
+ SWDTCKset1();
+ __enable_interrupt();
+ return val;
+}
+
+void hil_Swd_InitJtag(struct jtag tmp)
+{
+ _Jtag = tmp;
+}
+
+unsigned char Swd_TransferData(unsigned char regiser, unsigned long* data)
+{
+ volatile unsigned char ack = DAP_TRANSFER_ERROR;
+ static unsigned long bit = 0;
+ static unsigned long val = 0;
+ static unsigned long parity = 0;
+
+ bit = 0;
+ val = 0;
+ parity = 0;
+
+ ///host sends request
+ SWDIOwriteBit(1); //Start Bit
+ bit = regiser >> 0;
+ SWDIOwriteBit(bit); //APnDP Bit
+ parity += bit;
+ bit = regiser >> 1;
+ SWDIOwriteBit(bit); //RnW Bit
+ parity += bit;
+ bit = regiser >> 2;
+ SWDIOwriteBit(bit); //A2 Bit
+ parity += bit;
+ bit = regiser >> 3;
+ SWDIOwriteBit(bit); //A3 Bit
+ parity += bit;
+ SWDIOwriteBit((unsigned char)parity); //Parity Bit
+ SWDIOwriteBit(0); //Stop Bit
+ SWDIOwriteBit(1); //Park Bit
+
+ // set UIF to input dir
+ (*_Jtag.TSTCTRL_PORT) ^= (_Jtag._ENI2O);
+ SWDTckCycle();
+
+ // read response and check for ack
+ bit = ScanTDO();
+ ack = bit << 0;
+ bit = ScanTDO();
+ ack |= bit << 1;
+ bit = ScanTDO();
+ ack |= bit << 2;
+
+ if (ack == DAP_TRANSFER_OK)
+ {
+ unsigned char count = 0;
+ ///Read now all 32 bit data RDATA[0:31]
+ val = 0;
+ parity = 0;
+ for (count = 32; count; count--)
+ {
+ bit = ScanTDO();
+ parity += bit;
+ val >>= 1;
+ val |= bit << 31;
+ }
+ //Read Parity
+ bit = ScanTDO();
+ if ((parity ^ bit) & 1)
+ {
+ ack = DAP_TRANSFER_ERROR;
+ }
+ if (data)
+ {
+ *data = val;
+ ack = DAP_TRANSFER_OK;
+ }
+ }
+
+ // set UIF to output dir
+ SWDTckCycle();
+ (*_Jtag.TSTCTRL_PORT) ^= (_Jtag._ENI2O);
+
+ return ack;
+}
+
+void hil_Swd_Seq(unsigned short length, unsigned char *sequence)
+{
+ unsigned char dataptr = 0;
+ unsigned short n = 0;
+ while (length--)
+ {
+ if (n == 0)
+ {
+ dataptr = *sequence++;
+ n = 8;
+ }
+ if (dataptr & 1)
+ {
+ SWDIOset1TckCycle();
+ }
+ else
+ {
+ SWDIOset0TckCycle();
+ }
+ dataptr >>= 1;
+ n--;
+ }
+ (*_Jtag.Out) |= _Jtag.TDI;
+}
\ No newline at end of file
diff --git a/Bios/src/hil/uifv1/hil_jsbw.c b/Bios/src/hil/uifv1/hil_jsbw.c
index a2fdc8f..709a197 100644
--- a/Bios/src/hil/uifv1/hil_jsbw.c
+++ b/Bios/src/hil/uifv1/hil_jsbw.c
@@ -1,43 +1,43 @@
/*
* hil_jsbw.c
- *
+ *
*
*
- * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
+ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
* are met:
*
- * Redistributions of source code must retain the above copyright
+ * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
//! \ingroup MODULHIL
//! \file hil_jsbw.c
-//! \brief
+//! \brief
//!
#include "hw_compiler_specific.h"
@@ -54,12 +54,12 @@
#define TDICTRL2 ENTDI2TDO // TO BE ADDAPTED!!!!!!!!s
-/*#define JSBW_TMSH TSTCTRLOUT |= TEST; EDT_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; EDT_Delay_1us(1); TGTCTRLOUT |= TGTRST; EDT_Delay_1us(1); // TMS = 1
-#define JSBW_TMSL TSTCTRLOUT &= ~TEST; EDT_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; EDT_Delay_1us(1); TGTCTRLOUT |= TGTRST; EDT_Delay_1us(1);// TMS = 0
-#define JSBW_TDIH TSTCTRLOUT |= TEST; EDT_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; EDT_Delay_1us(1); TGTCTRLOUT |= TGTRST; EDT_Delay_1us(1); // TDI = 1
-#define JSBW_TDIL TSTCTRLOUT &= ~TEST; EDT_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; EDT_Delay_1us(1); TGTCTRLOUT |= TGTRST; EDT_Delay_1us(1); // TDI = 0
-#define JSBW_TDOsbw TSTCTRLOUT |= TDICTRL2; TGTCTRLOUT &= ~TGTRST; EDT_Delay_1us(1); TGTCTRLOUT |= TGTRST; EDT_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle without reading TDO
-#define JSBW_TDO_RD TSTCTRLOUT |= TDICTRL2; TGTCTRLOUT &= ~TGTRST; EDT_Delay_1us(1); tdo_bit = JTAGIN; TGTCTRLOUT |= TGTRST; EDT_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle with TDO read
+/*#define JSBW_TMSH TSTCTRLOUT |= TEST; IHIL_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; IHIL_Delay_1us(1); TGTCTRLOUT |= TGTRST; IHIL_Delay_1us(1); // TMS = 1
+#define JSBW_TMSL TSTCTRLOUT &= ~TEST; IHIL_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; IHIL_Delay_1us(1); TGTCTRLOUT |= TGTRST; IHIL_Delay_1us(1);// TMS = 0
+#define JSBW_TDIH TSTCTRLOUT |= TEST; IHIL_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; IHIL_Delay_1us(1); TGTCTRLOUT |= TGTRST; IHIL_Delay_1us(1); // TDI = 1
+#define JSBW_TDIL TSTCTRLOUT &= ~TEST; IHIL_Delay_1us(400);TGTCTRLOUT &= ~TGTRST; IHIL_Delay_1us(1); TGTCTRLOUT |= TGTRST; IHIL_Delay_1us(1); // TDI = 0
+#define JSBW_TDOsbw TSTCTRLOUT |= TDICTRL2; TGTCTRLOUT &= ~TGTRST; IHIL_Delay_1us(1); TGTCTRLOUT |= TGTRST; IHIL_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle without reading TDO
+#define JSBW_TDO_RD TSTCTRLOUT |= TDICTRL2; TGTCTRLOUT &= ~TGTRST; IHIL_Delay_1us(1); tdo_bit = JTAGIN; TGTCTRLOUT |= TGTRST; IHIL_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle with TDO read
#define JSBW_TMSL_TDIL() { JSBW_TMSL JSBW_TDIL JSBW_TDOsbw }
#define JSBW_TMSH_TDIL() { JSBW_TMSH JSBW_TDIL JSBW_TDOsbw }
@@ -77,13 +77,13 @@
#define TDICTRL2 ENTDI2TDO // TO BE ADDAPTED!!!!!!!!s
-#define JSBW_TMSH TGTCTRLOUT |= JSBWsbwdato; EDT_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; EDT_Delay_1us(1); // TMS = 1
-#define JSBW_TMSL TGTCTRLOUT &= ~JSBWsbwdato; EDT_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; EDT_Delay_1us(1);// TMS = 0
+#define JSBW_TMSH TGTCTRLOUT |= JSBWsbwdato; IHIL_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; IHIL_Delay_1us(1); // TMS = 1
+#define JSBW_TMSL TGTCTRLOUT &= ~JSBWsbwdato; IHIL_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; IHIL_Delay_1us(1);// TMS = 0
//#define TMSLDH TGTCTRLOUT &= ~JSBWsbwdato; TGTCTRLOUT |= JSBsbwclk; TGTCTRLOUT &= ~JSBsbwclk; TGTCTRLOUT &= ~JSBsbwclk; // TMS = 0, then TCLK immediately = 1
-#define JSBW_TDIH TGTCTRLOUT |= JSBWsbwdato; EDT_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; EDT_Delay_1us(1); // TDI = 1
-#define JSBW_TDIL TGTCTRLOUT &= ~JSBWsbwdato; EDT_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; EDT_Delay_1us(1); // TDI = 0
-#define JSBW_TDOsbw TSTCTRLOUT |= TDICTRL2; TSTCTRLOUT |= JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle without reading TDO
-#define JSBW_TDO_RD TSTCTRLOUT |= TDICTRL2; TSTCTRLOUT |= JSBsbwclk; EDT_Delay_1us(1); tdo_bit = JTAGIN; TSTCTRLOUT &= ~JSBsbwclk; EDT_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle with TDO read
+#define JSBW_TDIH TGTCTRLOUT |= JSBWsbwdato; IHIL_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; IHIL_Delay_1us(1); // TDI = 1
+#define JSBW_TDIL TGTCTRLOUT &= ~JSBWsbwdato; IHIL_Delay_1us(400);TSTCTRLOUT |= JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; IHIL_Delay_1us(1); // TDI = 0
+#define JSBW_TDOsbw TSTCTRLOUT |= TDICTRL2; TSTCTRLOUT |= JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle without reading TDO
+#define JSBW_TDO_RD TSTCTRLOUT |= TDICTRL2; TSTCTRLOUT |= JSBsbwclk; IHIL_Delay_1us(1); tdo_bit = 0; TSTCTRLOUT &= ~JSBsbwclk; IHIL_Delay_1us(1); TSTCTRLOUT &= ~TDICTRL2; // TDO cycle with TDO read
#define JSBW_TMSL_TDIL() { JSBW_TMSL JSBW_TDIL JSBW_TDOsbw }
@@ -98,7 +98,7 @@
/*****************************************/
-VAR_AT(unsigned char TCLK_saved, HAL_ADDR_VAR_TCLK_SAVED);
+extern unsigned char TCLK_saved;
extern unsigned char *tstctrl_port_;
extern unsigned char entdi2tdo_;
@@ -172,7 +172,7 @@ unsigned long jsbw_Shift(unsigned int Format, unsigned long Data)
{
TDOword = ((TDOword << 16) + (TDOword >> 4)) & 0x000FFFFF;
}
-
+
return(TDOword);
}
@@ -261,28 +261,28 @@ void JSBW_TapReset(void)
// In every TDI slot a TCK for the JTAG machine is generated.
// Thus we need to get TAP in Run/Test Idle state back again.
JSBW_TMSH_TDIH();
- JSBW_TMSL_TDIH();
- EDT_Delay_1ms(10);
+ JSBW_TMSL_TDIH();
+ IHIL_Delay_1ms(10);
}
// -----------------------------------------------------------------------------
void JSBW_MagicPattern(void)
{
jsbw_IR_Shift(IR_JMB_EXCHANGE);
- EDT_Delay_1ms(10);
+ IHIL_Delay_1ms(15);
jsbw_DR_Shift(16, 0x0001);
- EDT_Delay_1ms(10);
- jsbw_DR_Shift(16, 0xA55A);
- EDT_Delay_1ms(15);
+ IHIL_Delay_1ms(15);
+ jsbw_DR_Shift(16, 0xA55A);
+ IHIL_Delay_1ms(20);
}
// -----------------------------------------------------------------------------
void JSBW_JtagUnlock(void)
{
jsbw_IR_Shift(IR_TEST_3V_REG);
- EDT_Delay_1ms(10);
+ IHIL_Delay_1ms(10);
jsbw_DR_Shift(16, 0x4020);
- EDT_Delay_1ms(10);
+ IHIL_Delay_1ms(10);
}
void jRelease(void)
@@ -290,7 +290,7 @@ void jRelease(void)
// drive target RST/SBWTDIO pin high
TGTCTRLOUT |= JSBWsbwdato; // TDI drives target RST high
TSTCTRLOUT &= ~ENTDI2TDO; // enable TDI2TDO
- EDT_Delay_1ms(1);
+ IHIL_Delay_1ms(1);
// drive target TEST/SBWTCK pin low
TSTCTRLOUT |= JSBsbwclk; // TCK drives target TEST low - release Spy-Bi-Wire logic
TGTCTRLOUT &= ~SELT; // enable JTAG & RST pin drivers
diff --git a/Bios/src/uart/BSL/FetBsl.c b/Bios/src/uart/BSL/FetBsl.c
new file mode 100644
index 0000000..0bb7c0a
--- /dev/null
+++ b/Bios/src/uart/BSL/FetBsl.c
@@ -0,0 +1,202 @@
+/*
+* FetUart.c
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- FetBSL.c -----*/
+#include "hw_compiler_specific.h"
+
+#include "msp430.h"
+#include "..\FetCom.h"
+#include "FetBsl.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+
+static FET_USB_INFOS_t UsbPointers_;
+
+static unsigned long UartPreviousBaudrate = 0;
+
+// init function for UART port pins
+// reset all portpins
+void FetBsl_PortsHds() // with handshake
+{
+ uart_CtsOut(); // CTS output
+ uart_ClearCtsBit(); // clear CTS
+ uart_RtsIn(); // RTS input
+ uart_TxdSel();
+ uart_RxdSel();
+}
+
+// initilaize FetBSL_functions
+void FetBsl_Init()
+{
+ // Ports configuration
+ FetBsl_PortsHds();
+ UCA_IE_REGISTER |= UCRXIE; // enable USCIAx interrupt
+}
+
+void FetBsl_SetUsb(FET_USB_INFOS_t* usb_Pointers)
+{
+ UsbPointers_ = *usb_Pointers;
+}
+
+void FetBsl_Close()
+{
+ TX_RX_PORT_SEL &= ~( TX_PORT_BIT | RX_PORT_BIT ); // deassign IO-Ports from UCAxTXD, UCAxRxD
+ TX_RX_PORT_DIR &= ~( TX_PORT_BIT | RX_PORT_BIT );
+ // set RTS as input
+ RTS_PORT_OUT &= ~RTS_PORT_BIT;
+ RTS_PORT_DIR &= ~RTS_PORT_BIT;
+ // set CTS as input
+ CTS_PORT_OUT &= ~CTS_PORT_BIT;
+ CTS_PORT_DIR &= ~CTS_PORT_BIT;
+ CTS_PORT_REN &= ~CTS_PORT_BIT;
+ com_RtsIfgClear();
+}
+
+// configuration function for UART settings
+// UART will be configure automatically about COM channel configuration
+short FetBsl_Config(unsigned long UartBaudrate)
+{
+ uart_ClearCtsBit();
+ if(UartBaudrate != UartPreviousBaudrate) // baudrate is changed ?
+ {
+ UCA_CTRL_REGISTER |= UCSWRST; // Put state maschine reset
+ UCA_CTRL_REGISTER |= UCSSEL__SMCLK; // clock source: SMCLK
+
+ if(UartBaudrate == 9600)
+ {
+ UCA1BR0 = 0x8F;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0xE0 + UCOS16;
+ }
+ else if(UartBaudrate == 19200)
+ {
+ UCA1BR0 = 0x47;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0xF0 + UCOS16;
+ }
+ else if(UartBaudrate == 28800)
+ {
+ UCA1BR0 = 0x2B;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0x50 + UCOS16;
+ }
+ else if(UartBaudrate == 38400)
+ {
+ UCA1BR0 = 0x23;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0x80 + UCOS16;
+ }
+ else if(UartBaudrate == 56000)
+ {
+ UCA1BR0 = 0x18;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0x40 + UCOS16;
+ }
+ else if(UartBaudrate == 57600)
+ {
+ UCA1BR0 = 0x17;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0xA0 + UCOS16;
+ }
+ else if(UartBaudrate == 115200)
+ {
+ UCA1BR0 = 0xB;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0xD0 + UCOS16;
+ }
+ else if(UartBaudrate == 256000)
+ {
+ UCA1BR0 = 0x5;
+ UCA1BR1 = 0x0;
+ UCA1MCTL = 0xE0 + UCOS16;
+ }
+
+ UCA1CTL0 = UCPEN + UCPAR; // parety even
+ UCA_CTRL_REGISTER &=~ UCSWRST; // Initialize USCI state machine
+ UCA_IE_REGISTER |= UCRXIE; // enable USCIAx interrupt
+
+ UartPreviousBaudrate = UartBaudrate;
+
+ }
+ return (0);
+}
+
+short FetBsl_NotBusy()
+{
+ if((UCA_STATUS_REGISTER & UCBUSY) == UCBUSY) // when busy:
+ {
+ return (0); // return 0
+ }
+ return (1); // else return 1
+}
+
+short FetBsl_TxEmpty()
+{
+ // UCTXIFG is set when UCAxTXBUF empty
+ if(UCTXIFG == (UCTXIFG & UCA_INTERRUPT_FLAG_REGISTER))
+ {
+ return (1); // empty
+ }
+ return (0); // not empty
+}
+
+// functions copies byte by byte from USB buffer to UART buffer
+short FetBsl_Transmit(unsigned char uartDataToTxBuffer)
+{
+ UCA_TX_BUF = uartDataToTxBuffer;
+ return (0);
+}
+
+short FetBsl_Send()
+{
+ // Start USB to UART bridge communication ----------------------------------
+ BYTE BytesInUsbBuffer = UsbPointers_.FetUSB_bytesInUSBBuffer(CDC0_DATA_INTERFACE);
+ if(BytesInUsbBuffer)
+ {
+ unsigned char i = 0;
+ BYTE uartDataToSend[260] = {0};
+ UsbPointers_.FetUSB_receiveData(uartDataToSend, BytesInUsbBuffer , CDC0_DATA_INTERFACE);
+ while(BytesInUsbBuffer)
+ {
+ if(FetBsl_NotBusy() && FetBsl_TxEmpty())
+ {
+ FetBsl_Transmit(uartDataToSend[i++]);
+ BytesInUsbBuffer--;
+ }
+ }
+ }
+ return 0;
+}
diff --git a/Bios/src/uart/BSL/FetBsl.h b/Bios/src/uart/BSL/FetBsl.h
new file mode 100644
index 0000000..6251b75
--- /dev/null
+++ b/Bios/src/uart/BSL/FetBsl.h
@@ -0,0 +1,52 @@
+/*
+* FetBsl.h
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- FetBsl.h -----*/
+#ifndef FetBsl_H
+#define FetBsl_H
+
+void FetBslI2c_SetUsb(FET_USB_INFOS_t* usb_Pointers);
+void FetBslI2c_Init();
+short FetBslI2c_Send();
+void FetBsl_Init();
+short FetBsl_Send();
+short FetBsl_Config(unsigned long UartBaudrate);
+void FetBsl_SetUsb(FET_USB_INFOS_t* usb_Pointers);
+void FetBslI2c_SetHil(edt_common_methods_t* hil_Pointers);
+void FetBsl_Close();
+
+#endif
diff --git a/Bios/src/uart/BSL/FetBslI2c.c b/Bios/src/uart/BSL/FetBslI2c.c
new file mode 100644
index 0000000..feaa3ae
--- /dev/null
+++ b/Bios/src/uart/BSL/FetBslI2c.c
@@ -0,0 +1,116 @@
+/*
+* FetUart.c
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- FetBslI2c.c -----*/
+#include "hw_compiler_specific.h"
+
+#include "msp430.h"
+#include "..\FetCom.h"
+#include "I2C\I2C.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+#include "FetBsl.h"
+
+static FET_USB_INFOS_t UsbPointers_;
+static edt_common_methods_t hilPointers_;
+
+// initilaize FetBSL_functions
+void FetBslI2c_Init()
+{
+ com_RtsInterruptDisable();
+ P8SEL &= ~BIT3; // de-assign P3.3 from UCA0TXD to GPIO
+ P8SEL &= ~BIT2; // de-assign P3.4 from UCA0RXD to GPIO
+ I2C_init();
+}
+
+void FetBslI2c_SetUsb(FET_USB_INFOS_t* usb_Pointers)
+{
+ UsbPointers_ = *usb_Pointers;
+}
+
+void FetBslI2c_SetHil(edt_common_methods_t* hil_Pointers)
+{
+ hilPointers_ = *hil_Pointers;
+}
+
+short FetBslI2c_Send()
+{
+ _DINT_FET()
+ static short isFirstMessage = 1, isLastMessage = 0;
+ static unsigned short dataLength = 0;
+ // Start USB to I2C bridge communication ----------------------------------
+ BYTE BytesInUsbBuffer = UsbPointers_.FetUSB_bytesInUSBBuffer(CDC0_DATA_INTERFACE);
+ if(BytesInUsbBuffer)
+ {
+ BYTE i2cDataToSend[BSL_MAX_DATA_LENGTH] = {0};
+ BYTE returnData[BSL_MAX_DATA_LENGTH] = {0};
+ unsigned short readLength = 0;
+
+ UsbPointers_.FetUSB_receiveData(i2cDataToSend, BytesInUsbBuffer , 1);
+ if(isFirstMessage)
+ {
+ dataLength = (i2cDataToSend[2] << 8 | i2cDataToSend[1]);
+ isFirstMessage = 0;
+ dataLength = dataLength + OFFSET_BSL_HEADER + OFFSET_BSL_CRC - BytesInUsbBuffer;
+ I2C_writeData(I2C_SLAVE_ADDRESS ,i2cDataToSend, BytesInUsbBuffer, I2C_NO_STOP, I2C_START); // start write
+ }
+ else
+ {
+ dataLength = dataLength - BytesInUsbBuffer;
+ I2C_writeData(I2C_SLAVE_ADDRESS,i2cDataToSend, BytesInUsbBuffer, I2C_NO_STOP, I2C_NO_START);// continue write
+ }
+
+ if(dataLength == 0)
+ {
+ isLastMessage = 1;
+ }
+
+ if(isLastMessage)
+ {
+ unsigned int i = 0;
+ hilPointers_.Delay_1ms(2);
+ I2C_readData(I2C_SLAVE_ADDRESS, returnData, &readLength, I2C_REPEATED_START);
+ for(i = 0; i < readLength; i++)
+ {
+ COM_BASE_Receive(returnData[i]);
+ }
+ isFirstMessage = 1;
+ isLastMessage = 0;
+ }
+ }
+ _EINT_FET()
+ return 0;
+}
diff --git a/Bios/src/uart/BSL/I2C/I2C.c b/Bios/src/uart/BSL/I2C/I2C.c
new file mode 100644
index 0000000..cd06779
--- /dev/null
+++ b/Bios/src/uart/BSL/I2C/I2C.c
@@ -0,0 +1,373 @@
+/*
+* I2C.c
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2014 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+// Include section
+
+// driver
+#include "I2C.h"
+
+//private
+static void I2C_writeByte(unsigned char data);
+static unsigned char I2C_readByte(unsigned char ack);
+static unsigned char I2C_sda(unsigned char condition);
+static void I2C_delay(void);
+// *************************************************************************************************
+// Extern section
+
+// *************************************************************************************************
+// @fn bmp_ps_init
+// @brief Init I2C communication
+// @param none
+// @return none
+// *************************************************************************************************
+void I2C_init(void)
+{
+ // SCL and SDA are high by default
+ I2C_OUT_SCL |= I2C_SCL_PIN;
+ I2C_OUT_SDA |= I2C_SDA_PIN;
+
+ // SCL and SDA are outputs by default
+ I2C_DIR_SCL |= I2C_SCL_PIN;
+ I2C_DIR_SDA |= I2C_SDA_PIN;
+
+ I2C_DIR_SCL_LS &= ~I2C_DIR_SCL_LS_PIN; // signal inverted in
+ I2C_DIR_SDA_LS |= I2C_DIR_SDA_LS_PIN;
+
+ I2C_delay();
+}
+
+
+// *************************************************************************************************
+// @fn I2C_sda
+// @brief Control SDA line
+// @param unsigned char condition I2C_SEND_START, I2C_SEND_RESTART, I2C_SEND_STOP
+// I2C_CHECK_ACK
+// @return unsigned char 1=ACK, 0=NACK
+// *************************************************************************************************
+unsigned char I2C_sda(unsigned char condition)
+{
+ unsigned char sda = 0;
+
+ if (condition == I2C_SEND_START)
+ {
+ I2C_SDA_OUT; // SDA is output
+ I2C_SCL_HI;
+ I2C_delay();
+ I2C_SDA_LO;
+ I2C_delay();
+ I2C_SCL_LO; // SDA 1-0 transition while SCL=1 (will be 0)
+ I2C_delay();
+ }
+ else if (condition == I2C_SEND_RESTART)
+ {
+ I2C_SDA_OUT; // SDA is output
+ I2C_SCL_LO;
+ I2C_SDA_HI;
+ I2C_delay();
+ I2C_SCL_HI;
+ I2C_delay();
+ I2C_SDA_LO;
+ I2C_delay();
+ I2C_SCL_LO; // SDA 1-0 while SCL = 1 (was 0)
+ I2C_delay();
+ }
+ else if (condition == I2C_SEND_STOP)
+ {
+ I2C_SDA_OUT; // SDA is output
+ I2C_SDA_LO;
+ I2C_delay();
+ I2C_SCL_LO;
+ I2C_delay();
+ I2C_SCL_HI;
+ I2C_delay();
+ I2C_SDA_HI; // SDA 0-1 transition while SCL=1
+ I2C_delay();
+ }
+ else if (condition == I2C_CHECK_ACK)
+ {
+ I2C_SDA_IN; // SDA is input
+ I2C_SCL_LO;
+ I2C_delay();
+ I2C_SCL_HI;
+ I2C_delay();
+ sda = I2C_IN_SDA & I2C_SDA_PIN; // ACK = SDA during ack clock pulse
+ //I2C_SCL_LO;
+
+ I2C_SCL_IN; // switch SCL to input
+ I2C_delay();
+
+ // wait if Slave holds SCL low after ack
+ while(!(I2C_IN_SCL & I2C_SCL_PIN))
+ {
+ I2C_delay();
+ }
+
+ I2C_SCL_LO ;
+ I2C_delay();
+ I2C_SCL_OUT;
+ }
+
+ // Return value will only be evaluated when checking device ACK
+ return (sda == 0);
+}
+
+// *************************************************************************************************
+// @fn I2C_writeByte
+// @brief Clock out bits through SDA.
+// @param unsigned char data Byte to send
+// @return none
+// *************************************************************************************************
+void I2C_writeByte(unsigned char data)
+{
+ unsigned char i, mask;
+
+ // Set mask byte to 10000000b
+ mask = BIT0 << 7;
+
+ I2C_SDA_OUT; // SDA is output
+
+ for (i = 8; i > 0; i--)
+ {
+ I2C_SCL_LO; // SCL=0
+ if ((data & mask) == mask)
+ {
+ I2C_SDA_HI; // SDA=1
+ }
+ else
+ {
+ I2C_SDA_LO; // SDA=0
+ }
+ mask = mask >> 1;
+ I2C_delay();
+ I2C_SCL_HI; // SCL=1
+ I2C_delay();
+ }
+
+ I2C_SCL_LO; // SCL=0
+ I2C_SDA_IN; // SDA is input
+}
+
+// *************************************************************************************************
+// @fn I2C_readByte
+// @brief Read bits from SDA
+// @param unsigned char ack 1=Send ACK after read, 0=Send NACK after read
+// @return unsigned char Bits read
+// *************************************************************************************************
+unsigned char I2C_readByte(unsigned char ack)
+{
+ unsigned char i = 0;
+ unsigned char data = 0;
+ unsigned char lastSDA = 0;
+
+ I2C_SDA_IN;
+ // SDA is input
+ I2C_delay();
+
+ for (i = 0; i < 8; i++)
+ {
+ I2C_delay();
+ I2C_SCL_LO; // SCL=0
+ I2C_delay();
+ I2C_SCL_HI; // SCL=0
+
+ // Shift captured bits to left
+ data = data << 1;
+
+ // Capture new bit
+ if ((I2C_IN_SDA & I2C_SDA_PIN) == I2C_SDA_PIN)
+ {
+ data |= BIT0;
+ lastSDA = 1;
+ }
+ else
+ {
+ lastSDA = 0;
+ }
+ }
+ if(lastSDA)
+ {
+ I2C_SDA_HI;
+ }
+
+ I2C_SDA_OUT; // SDA is output
+
+ // 1 aditional clock phase to generate master ACK
+ I2C_SCL_LO; // SCL=0
+
+ if (ack == 1)
+ {
+ I2C_SDA_LO; // Send ack -> continue read
+ }
+ else
+ {
+ I2C_SDA_HI; // Send nack -> stop read
+ }
+
+ I2C_delay();
+ I2C_SCL_HI; // SCL=0
+ I2C_delay();
+ I2C_SCL_LO;
+
+ return (data);
+}
+
+// *************************************************************************************************
+// @fn I2C_writeData
+// @brief Write a byte via I2C
+// @param unsigned char address device address
+// unsigned char *data Data to write
+// unsigned char dLength data length
+// @return unsigned char
+// *************************************************************************************************
+unsigned short I2C_writeData(unsigned char address, unsigned char *data, unsigned short dLength, unsigned char sendStopBit, unsigned char sendI2cAddress)
+{
+ volatile unsigned char success = 0;
+ unsigned int i = 0;
+
+ if(sendI2cAddress)
+ {
+ I2C_sda(I2C_SEND_START); // Generate start condition
+
+ I2C_writeByte((address << 1) | I2C_WRITE); // Send 7bit device address + r/w bit '0' -> write
+ success = I2C_sda(I2C_CHECK_ACK); // Check ACK from device
+ if (!success)
+ {
+ return (0);
+ }
+ }
+ for(i = 0; i < dLength; i++)
+ {
+ I2C_writeByte(data[i]); // Send 8bit data to BSL
+ success = I2C_sda(I2C_CHECK_ACK); // Check ACK from device
+ if (!success)
+ {
+ I2C_sda(I2C_SEND_STOP);
+ return (0);
+ }
+ }
+ if(sendStopBit)
+ {
+ I2C_sda(I2C_SEND_STOP); // Generate stop condition
+ }
+ return 1;
+}
+
+// *************************************************************************************************
+// @fn I2C_readData
+// @brief Read a bytes fromn I2C
+// @param unsigned char address device address
+// unsigned char *data Data to write
+// unsigned char dLength data length
+// @return void
+// *************************************************************************************************
+unsigned short I2C_readData(unsigned char address, unsigned char *data, unsigned short *dLength, unsigned char repeatedStart)
+{
+ unsigned char success = 0;
+ unsigned int i = 0, dataLength = 4;
+
+ if(repeatedStart)
+ {
+ I2C_sda(I2C_SEND_RESTART);
+ }
+ else
+ {
+ I2C_sda(I2C_SEND_START); // Generate restart condition
+ }
+
+ I2C_writeByte((address << 1) | I2C_READ); // Send 7bit device address + r/w bit '1' -> read
+ I2C_delay();
+ I2C_delay();
+ //2 delay cycles are needed here – I2C slave needs time to process send data
+ success = I2C_sda(I2C_CHECK_ACK); // Check ACK from device
+ if (!success)
+ {
+ return (0);
+ }
+
+ // read BSL ACk
+ data[i++] = I2C_readByte(1);
+ //0x80
+ data[i] = I2C_readByte(1);
+
+ if(data[i] != 0x80)
+ {
+ //if no answer was received
+ *dLength = 1;
+
+ // Read lst 8bit data from register
+ data[i] = I2C_readByte(0);
+ I2C_sda(I2C_SEND_STOP); // Generate stop condition
+ return (1);
+ }
+ i++;
+ // Length low byte
+ data[i++] = I2C_readByte(1);
+ // Length high byte
+ data[i] = I2C_readByte(1);
+ dataLength = (data[i] << 8 | data[i-1]) + OFFSET_BSL_ACK + OFFSET_BSL_HEADER + OFFSET_BSL_CRC;// 2 + 4; // +2 because of crc
+ *dLength = (data[i] << 8 | data[i-1]) + OFFSET_BSL_ACK + OFFSET_BSL_HEADER + OFFSET_BSL_CRC; // +2 because of crc
+ i++;
+
+ // read until data lenght -1
+ for(; i < dataLength-1; i++)
+ {
+ data[i] = I2C_readByte(1); // Read 8bit data from register
+ }
+
+ // send nack if last byte is read
+ data[i] = I2C_readByte(0); // Read lst 8bit data from register
+
+ I2C_sda(I2C_SEND_STOP); // Generate stop condition
+ return (1);
+}
+
+// *************************************************************************************************
+// @fn I2C_delay
+// @brief Delay between I2C signal edges.
+// @param none
+// @return none
+// *************************************************************************************************
+void I2C_delay(void)
+{
+ asm (" nop");
+ asm (" nop");
+ asm (" nop");
+ asm (" nop");
+ asm (" nop");
+ asm (" nop");
+ asm (" nop");
+ asm (" nop");
+}
diff --git a/Bios/src/uart/BSL/I2C/I2C.h b/Bios/src/uart/BSL/I2C/I2C.h
new file mode 100644
index 0000000..4f8221d
--- /dev/null
+++ b/Bios/src/uart/BSL/I2C/I2C.h
@@ -0,0 +1,116 @@
+// *************************************************************************************************
+//
+// Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com/
+//
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//
+// Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the
+// distribution.
+//
+// Neither the name of Texas Instruments Incorporated nor the names of
+// its contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// *************************************************************************************************
+
+#ifndef I2C_H_
+#define I2C_H_
+
+// *************************************************************************************************
+// Include section
+
+#include "msp430.h"
+
+// *************************************************************************************************
+// Prototypes section
+void I2C_init(void);
+
+//pulic
+unsigned short I2C_writeData(unsigned char address, unsigned char *data, unsigned short dLength, unsigned char sendStopBit, unsigned char sendI2cAddress);
+unsigned short I2C_readData(unsigned char address, unsigned char *data, unsigned short *dLength, unsigned char repeatedStart);
+
+// *************************************************************************************************
+// Defines section
+
+// Port and pin resource for I2C interface
+// SCL=P9.5, SDA=P8.3
+
+
+// SCL config
+#define I2C_IN_SCL (P9IN)
+#define I2C_OUT_SCL (P9OUT)
+#define I2C_REN_SCL (P9REN)
+#define I2C_DIR_SCL (P9DIR)
+#define I2C_DIR_SCL_LS (P1OUT)
+#define I2C_DIR_SCL_LS_PIN (BIT6)
+
+// SDA config
+#define I2C_IN_SDA (P8IN)
+#define I2C_OUT_SDA (P8OUT)
+#define I2C_DIR_SDA (P8DIR)
+#define I2C_REN_SDA (P8REN)
+#define I2C_DIR_SDA_LS (P1OUT)
+#define I2C_DIR_SDA_LS_PIN (BIT4)
+
+// SCL / SDA bits
+#define I2C_SCL_PIN (BIT5)
+#define I2C_SDA_PIN (BIT3)
+
+// I2C defines
+#define I2C_WRITE (0u)
+#define I2C_READ (1u)
+
+#define I2C_SEND_START (0u)
+#define I2C_SEND_RESTART (1u)
+#define I2C_SEND_STOP (2u)
+#define I2C_CHECK_ACK (3u)
+#define I2C_CHECK_SCL_STRETCH (4u)
+
+#define I2C_8BIT_ACCESS (0u)
+#define I2C_16BIT_ACCESS (1u)
+
+#define I2C_SCL_HI { I2C_OUT_SCL |= I2C_SCL_PIN; }
+#define I2C_SCL_LO { I2C_OUT_SCL &= ~I2C_SCL_PIN; }
+
+#define I2C_SDA_HI { I2C_OUT_SDA |= I2C_SDA_PIN; }
+#define I2C_SDA_LO { I2C_OUT_SDA &= ~I2C_SDA_PIN; }
+
+#define I2C_SDA_IN { I2C_OUT_SDA &= ~I2C_SDA_PIN; I2C_DIR_SDA &= ~I2C_SDA_PIN; I2C_DIR_SDA_LS &= ~I2C_DIR_SDA_LS_PIN;}
+#define I2C_SDA_OUT { I2C_DIR_SDA |= I2C_SDA_PIN; I2C_DIR_SDA_LS |= I2C_DIR_SDA_LS_PIN;}
+
+#define I2C_SCL_IN { I2C_DIR_SCL_LS |= I2C_DIR_SCL_LS_PIN; I2C_DIR_SCL &= ~I2C_SCL_PIN;}
+#define I2C_SCL_OUT { I2C_DIR_SCL |= I2C_SCL_PIN; I2C_DIR_SCL_LS &= ~I2C_DIR_SCL_LS_PIN;}
+
+#define I2C_START 1
+#define I2C_STOP 1
+#define I2C_NO_STOP 0
+#define I2C_NO_START 0
+#define I2C_REPEATED_START 1
+
+
+#define I2C_SLAVE_ADDRESS 0x48
+#define OFFSET_BSL_HEADER 3
+#define OFFSET_BSL_CRC 2
+#define OFFSET_BSL_ACK 1
+
+#endif
diff --git a/Bios/src/uart/ComBase/COM_Base.c b/Bios/src/uart/ComBase/COM_Base.c
new file mode 100644
index 0000000..89d95f2
--- /dev/null
+++ b/Bios/src/uart/ComBase/COM_Base.c
@@ -0,0 +1,416 @@
+/*
+* Com_Base.c
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- FetBslI2c.c -----*/
+#include "hw_compiler_specific.h"
+#include "msp430.h"
+#include "../FetCom.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+#include "../BSL/FetBsl.h"
+#include "../Uart/Uart.h"
+#include "../../fw/fet/FetVersion.h"
+
+
+#define USB_TIMEOUT 10
+#define EJECT 1500
+
+static unsigned short RxFifoPosition;
+static unsigned char *RxActiveBuffer;
+static unsigned char RxBufferFront[COM_FIFOSIZE]={0};
+static unsigned char RxBufferBack[COM_FIFOSIZE]={0};
+static unsigned char FrontBufferUsed = 1;
+static unsigned long PreviousBaudrate = 0;
+
+static unsigned short *Semaphore_Add = (unsigned short*)COM_SEMAPHOREADRESS;
+
+static const unsigned long com_Signature_ @ "UARTSIGNATURE" = COM_SIGNATURE;
+#pragma required = com_Signature_
+
+static const unsigned int com_LayerVersion_ @ "UARTLAYERVERSION" = COM_LAYER_VERSION;
+static const unsigned int com_LayerVersionCmp_ @ "UARTLAYERVERSIONCMP" = COM_LAYER_VERSION_CMP;
+
+
+#pragma required = com_LayerVersion_
+#pragma required = com_LayerVersionCmp_
+
+static COM_INFOS_t comInfos_;
+static edt_common_methods_t hilPointers_;
+static DCDC_INFOS_t dcdcPointers_;
+
+static FET_USB_INFOS_t UsbPointers_;
+
+static unsigned short iBytesReceived = 0;
+static unsigned short EjectCounter = 0;
+
+// Dummy functions loaded by default
+#ifdef MSP_FET
+ static short COM_BASE_ConfigModeDummy(unsigned long UartBaudrate){return 0;}
+ static void COM_BASE_SetRtsDummy(){return;}
+#endif
+static short COM_BASE_SetCtsDummy(){return 0;}
+
+
+// initilaize UART functions
+void COM_BASE_Init(COM_INFOS_t* comInfos_Pointer)
+{
+ // map function pointers in FET UART layer
+ // get Infos about UART-module
+ comInfos_.comGetLayerVersion = COM_BASE_GetLayerVersion;
+ comInfos_.comConfig = COM_BASE_Config;
+ comInfos_.comReceive = COM_BASE_Receive;
+ comInfos_.comSetHil = COM_BASE_SetHil;
+ comInfos_.comSetDcdc = COM_BASE_SetDcdc;
+ comInfos_.comSetUSB = COM_BASE_SetUsb;
+ comInfos_.comLoop = COM_BASE_Loop;
+ comInfos_.comClose = COM_BASE_Close;
+
+ // set CTS to dummy - only needed for UART mode with handshake
+ comInfos_.comSetCts = COM_BASE_SetCtsDummy;
+ comInfos_.comClearCts = COM_BASE_SetCtsDummy;
+ comInfos_.comSetRts = UART_SetRts;
+
+ // UART without handshake is configured by default
+ comInfos_.comTransmit = Uart_Send;
+ comInfos_.comConfigMode = Uart_Config;
+
+ comInfos_.comGetLayerVersionCmp = COM_BASE_GetLayerVersionCmp;
+
+ Uart_Init(UART_NO_HANDSHAKE, PARITY_NONE);
+
+ // init Rx FIFO pointer
+ RxFifoPosition = 0;
+ RxActiveBuffer = RxBufferFront;
+ FrontBufferUsed = 1;
+
+ // now copy getLayerVersion and return it to uper core layer
+ *comInfos_Pointer = comInfos_;
+}
+
+void COM_BASE_SetHil(edt_common_methods_t* hil_Pointers)
+{
+ hilPointers_ = *hil_Pointers;
+
+#ifdef MSP_FET
+ FetBslI2c_SetHil(hil_Pointers);
+#endif
+}
+
+void COM_BASE_SetDcdc(DCDC_INFOS_t* dcdc_Pointers)
+{
+ dcdcPointers_ = *dcdc_Pointers;
+}
+
+void COM_BASE_SetUsb(FET_USB_INFOS_t* usb_Pointers)
+{
+ UsbPointers_ = *usb_Pointers;
+ Uart_SetUsb(usb_Pointers);
+
+#ifdef MSP_FET
+ FetBslI2c_SetUsb(usb_Pointers);
+ FetBsl_SetUsb(usb_Pointers);
+#endif
+}
+
+void COM_BASE_Close()
+{
+ RxFifoPosition = 0;
+ RxActiveBuffer = RxBufferFront;
+ FrontBufferUsed = 1;
+ Uart_Close();
+
+#ifdef MSP_FET
+ FetBsl_Close();
+#endif
+}
+
+// return UART layer version
+short COM_BASE_GetLayerVersion()
+{
+ return (COM_LAYER_VERSION);
+}
+
+short COM_BASE_GetLayerVersionCmp()
+{
+ return (COM_LAYER_VERSION_CMP);
+}
+unsigned short fetTypeInt = 0;
+
+#pragma optimize = low
+void COM_BASE_EvaluateBaudRateCommand(unsigned long Baudrate, unsigned short fetType)
+{
+ *Semaphore_Add = 0;
+ fetTypeInt = fetType;
+ switch(Baudrate)
+ {
+ case COM_CLOSE:
+ case BSL_DISABLE:
+ {
+#ifdef MSP_FET
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_HIGH_Z_UART);
+#endif
+ COM_BASE_Close();
+ break;
+ }
+ case COM_POWER_DOWN:
+ {
+ hilPointers_.SetVcc(0);
+#ifdef MSP_FET
+ hilPointers_.SwitchVccFET(0);
+#endif
+ break;
+ }
+ case COM_POWER_UP:
+ {
+ dcdcPointers_.dcdcSetVcc(3300);
+ hilPointers_.SetVcc(3300);
+#ifdef MSP_FET
+ hilPointers_.SwitchVccFET(1);
+#endif
+ break;
+ }
+ case UART_NO_HANDSHAKE:
+ case UART_NO_HANDSHAKE_PARITY_EVEN:
+ {
+ // UART
+#ifdef MSP_FET
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_UART);
+#endif
+ comInfos_.comTransmit = Uart_Send;
+ comInfos_.comConfigMode = Uart_Config;
+ //configure FET to work without handshake - reset to defaults
+ comInfos_.comSetCts = COM_BASE_SetCtsDummy;
+ comInfos_.comClearCts = COM_BASE_SetCtsDummy;
+ if(Baudrate == UART_NO_HANDSHAKE_PARITY_EVEN)
+ {
+ Uart_Init(UART_NO_HANDSHAKE, PARITY_EVEN);
+ }
+ else
+ {
+ Uart_Init(UART_NO_HANDSHAKE, PARITY_NONE);
+ }
+ break;
+ }
+ case UART_HANDSHAKE:
+ {
+#ifdef MSP_FET
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_UART);
+#endif
+ comInfos_.comTransmit = Uart_Send;
+ comInfos_.comConfigMode = Uart_Config;
+
+ if(fetTypeInt == eZ_FET_WITH_DCDC_NO_FLOWCTL || fetTypeInt == eZ_FET_WITH_DCDC_V2x)
+ {
+ //configure FET to work without handshake - reset to defaults
+ comInfos_.comSetCts = COM_BASE_SetCtsDummy;
+ comInfos_.comClearCts = COM_BASE_SetCtsDummy;
+ Uart_Init(UART_NO_HANDSHAKE, PARITY_NONE);
+ }
+ else
+ {
+ //configure FET UART to work with handshake
+ comInfos_.comSetCts = Uart_SetCts;
+ comInfos_.comClearCts = Uart_ClearCts;
+ Uart_Init(UART_HANDSHAKE, PARITY_NONE);
+ *Semaphore_Add = comInfos_.comSetCts();
+ }
+ break;
+ }
+
+#ifdef MSP_FET
+ case BSL_UART_INVOKE_SEQUENCE:
+ case BSL_UART_SEQUENCE:
+ {
+ //configure FET to work without handshake - reset to defaults
+ comInfos_.comSetCts = COM_BASE_SetCtsDummy;
+ comInfos_.comClearCts = COM_BASE_SetCtsDummy;
+ comInfos_.comSetRts = COM_BASE_SetRtsDummy;
+
+ FetBsl_Init();
+ // Ports configuration
+ dcdcPointers_.dcdcSetVcc(3300);
+ hilPointers_.SetVcc(3300);
+ hilPointers_.SwitchVccFET(1);
+ hilPointers_.SetProtocol(2);
+ // UART
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_UART);
+ if(BSL_UART_SEQUENCE != Baudrate)
+ {
+ hilPointers_.BSL_EntrySequence(0);
+ }
+ // prtocol specific functions
+ comInfos_.comTransmit = FetBsl_Send;
+ comInfos_.comConfigMode = FetBsl_Config;
+ break;
+ }
+ case BSL_I2C_INVOKE_SEQUENCE1:
+ case BSL_I2C_INVOKE_SEQUENCE2:
+ case BSL_I2C_INVOKE_SEQUENCE3:
+ case BSL_I2C_INVOKE_SEQUENCE4:
+ case BSL_I2C_SEQUENCE1:
+ case BSL_I2C_SEQUENCE2:
+ {
+ //configure FET to work without handshake - reset to defaults
+ comInfos_.comSetCts = COM_BASE_SetCtsDummy;
+ comInfos_.comClearCts = COM_BASE_SetCtsDummy;
+ comInfos_.comSetRts = COM_BASE_SetRtsDummy;
+
+ // Ports configuration
+ dcdcPointers_.dcdcSetVcc(3300);
+ hilPointers_.SetVcc(3300);
+ hilPointers_.SwitchVccFET(1);
+ hilPointers_.SetProtocol(2);
+ //I2C config
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_HIGH_Z_UART);
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_I2C);
+ if(BSL_I2C_SEQUENCE1 != Baudrate && BSL_I2C_SEQUENCE2 != Baudrate)
+ {
+ hilPointers_.BSL_EntrySequence(0);
+ }
+ FetBslI2c_Init();
+ // prtocol specific functions
+ comInfos_.comTransmit = FetBslI2c_Send;
+ comInfos_.comConfigMode = COM_BASE_ConfigModeDummy;
+ break;
+ }
+#endif
+ default:
+ {
+ if(Baudrate != BSL_I2C_INVOKE_SEQUENCE2 && Baudrate != BSL_I2C_INVOKE_SEQUENCE1 &&
+ Baudrate != BSL_UART_INVOKE_SEQUENCE && Baudrate != UART_HANDSHAKE &&
+ Baudrate != UART_NO_HANDSHAKE && Baudrate != COM_POWER_UP &&
+ Baudrate != COM_CLOSE && Baudrate != COM_POWER_DOWN &&
+ Baudrate != BSL_I2C_INVOKE_SEQUENCE3 &&
+ Baudrate != BSL_I2C_INVOKE_SEQUENCE4 && Baudrate != BSL_I2C_SEQUENCE1 &&
+ Baudrate != BSL_I2C_SEQUENCE2 && Baudrate != BSL_UART_SEQUENCE )
+ {
+ // Uart without handshake is set as default
+ #ifdef MSP_FET
+ hilPointers_.ConfigFpgaIoMode(IO_CONFIG_UART);
+ #endif
+ }
+ }
+ }
+}
+
+// configuration function for UART settings
+// UART will be configure automatically about COM channel configuration
+short COM_BASE_Config(unsigned long Baudrate, unsigned long MCLK_Frequency,
+ unsigned short fetType)
+{
+ if(Baudrate != PreviousBaudrate) // baudrate changed ?
+ {
+ COM_BASE_EvaluateBaudRateCommand(Baudrate, fetType);
+ comInfos_.comConfigMode(Baudrate);
+ PreviousBaudrate = Baudrate;
+ }
+ return (0);
+}
+
+void COM_BASE_SwitchBuffer()
+{
+ RxFifoPosition = 0;
+ if(FrontBufferUsed == 1)
+ {
+ RxActiveBuffer = RxBufferBack;
+ FrontBufferUsed = 0;
+ }
+ else
+ {
+ RxActiveBuffer = RxBufferFront;
+ FrontBufferUsed = 1;
+ }
+}
+
+unsigned char *COM_BASE_GetBuffer()
+{
+ unsigned char *activePtr = 0;
+ if(FrontBufferUsed == 0)
+ {
+ activePtr = RxBufferFront;
+ }
+ else
+ {
+ activePtr = RxBufferBack;
+ }
+ return activePtr;
+}
+
+short COM_BASE_Receive(unsigned char character)
+{
+ *Semaphore_Add = comInfos_.comClearCts();
+ if(RxFifoPosition != COM_FIFOSIZE)
+ {
+ RxActiveBuffer[RxFifoPosition++] = character;
+ iBytesReceived++;
+ }
+ else
+ {
+ COM_BASE_SwitchBuffer();
+ RxActiveBuffer[RxFifoPosition++] = character;
+ iBytesReceived = 1;
+ EjectCounter = 0;
+ UsbPointers_.FetUsb_CdcSendDataInBackground(COM_BASE_GetBuffer(), COM_FIFOSIZE, CDC0_DATA_INTERFACE, USB_TIMEOUT);
+ }
+ *Semaphore_Add = comInfos_.comSetCts();
+ return 0;
+}
+
+void COM_BASE_Loop()
+{
+ comInfos_.comTransmit();
+ // Start USB to Host communication (Uart)-----------------------------------
+ if(iBytesReceived > 0)
+ {
+ EjectCounter++;
+ if(EjectCounter >= EJECT)
+ {
+ *Semaphore_Add = comInfos_.comClearCts();
+ UCA_IE_REGISTER &= ~UCRXIE; // disable USCIAx interrupt
+ unsigned short tmpbyte = iBytesReceived;
+ iBytesReceived = 0;
+ COM_BASE_SwitchBuffer();
+ BYTE sendResult = UsbPointers_.FetUsb_CdcSendDataInBackground(COM_BASE_GetBuffer(), tmpbyte, CDC0_DATA_INTERFACE, 10);
+ if( sendResult == 0)
+ {
+ EjectCounter = 0;
+ }
+ UCA_IE_REGISTER |= UCRXIE; // enable USCIAx interrupt
+ *Semaphore_Add = comInfos_.comSetCts();
+ }
+ }
+ // End USB to Host communication (Uart)-------------------------------------
+}
diff --git a/Bios/src/uart/FetCom.h b/Bios/src/uart/FetCom.h
new file mode 100644
index 0000000..df9048d
--- /dev/null
+++ b/Bios/src/uart/FetCom.h
@@ -0,0 +1,244 @@
+/*
+* FetCom.h
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- FetUart.h -----*/
+#ifndef FETCOM_H
+#define FETCOM_H
+
+#include "hil_Structs.h"
+#include "FetDcdc.h"
+#include "FetUsb.h"
+
+#ifdef eZ_FET
+
+ // UART port direction
+ #define uart_CtsOut() {P2DIR |= BIT7;} // CTS output
+ #define uart_RtsIn() {P2DIR &=~ BIT6;} // RTS input
+
+ // UART port
+ #define uart_SetCtsBit() {P2OUT |= BIT7;} // Output
+ #define uart_ClearCtsBit() {P2OUT &=~ BIT7;} // Output clear
+ #define uart_RtsRen() {P2REN |= BIT6;} // RTS resistor
+ #define uart_CtsRen() {P2REN |= BIT7;} // CTS resistor
+
+ #define com_RtsIfgSet() {P2IFG |= BIT6;} // RTS Interrupt flag set (required for sending first byte)
+ #define com_RtsIfgClear() {P2IFG &=~ BIT6;} // RTS Interrupt flag clear
+ #define com_RtsIe() {P2IE |= BIT6;} // RTS Interrupt enable
+ #define com_RtsInterruptDisable() {P2IE &= ~BIT6;} // RTS Interrupt disable
+ #define com_RtsIes() {P2IES &=~ BIT6;} // RTS Interrupt edge select (is set when a low-high transition)
+
+ // UART status bits
+ #define uart_RtsStatus() ((P2IN & BIT6)==BIT6)
+
+ // UART port select
+ #define uart_TxdSel() {P3SEL |= BIT3;} // assign P3.3 to UCA0TXD
+ #define uart_RxdSel() {P3SEL |= BIT4;} // assign P3.4 to UCA0RXD
+
+
+ // UART Register and bit abstractions
+ #define TX_RX_PORT_SEL ( P3SEL )
+ #define TX_RX_PORT_DIR ( P3DIR )
+ #define TX_PORT_BIT ( BIT3 )
+ #define RX_PORT_BIT ( BIT4 )
+ #define UCA_CTRL_REGISTER ( UCA0CTL1 )
+ #define UCA_CTRL0_REGISTER ( UCA0CTL0 )
+ #define UCA_BAUD_CTRL_REGISTER ( UCA0BRW )
+ #define UCA_MOD_CTRL_REGISTER ( UCA0MCTL )
+ #define UCA_IE_REGISTER ( UCA0IE )
+ #define UCA_STATUS_REGISTER ( UCA0STAT )
+ #define UCA_INTERRUPT_FLAG_REGISTER ( UCA0IFG )
+ #define UCA_TX_BUF ( UCA0TXBUF )
+ #define UCA_RX_BUF ( UCA0RXBUF )
+
+ #define UCA_BR0 ( UCA0BR0 )
+ #define UCA_BR1 ( UCA0BR1 )
+
+ #define RTS_PORT_OUT ( P2OUT )
+ #define RTS_PORT_DIR ( P2DIR )
+ #define RTS_PORT_BIT ( BIT7 )
+
+ #define RTS_PULLDOWN_OUT ( P2OUT )
+ #define RTS_PULLDOWN_REN ( P2REN )
+ #define RTS_PULLDOWN_BIT ( BIT6 )
+ #define rtsSetPullDownDir() (P2DIR &= ~BIT6)
+// CHECKME: Bit is cleared in both cases
+ #define rtsClearPullDownDir() (P2DIR &= ~BIT6)
+ #define RTS_PULLUP_REN ( P2REN )
+ #define RTS_PULLUP_OUT ( P2OUT )
+ #define RTS_PULLUP_BIT ( BIT6 )
+ #define rtsSetPullUpDir() (P2DIR &= ~BIT6)
+
+ #define CTS_PORT_OUT ( P2OUT )
+ #define CTS_PORT_DIR ( P2DIR )
+ #define CTS_PORT_REN ( P2REN )
+ #define CTS_PORT_BIT ( BIT6 )
+#endif
+
+#ifdef MSP_FET
+
+ // UART port direction
+ #define uart_CtsOut() {P9DIR |= BIT5;} // CTS output
+ #define uart_RtsIn() {P2DIR &=~ BIT1;} // "RTS" input (no RTS on MSPFET)
+
+
+ // UART port
+ #define uart_SetCtsBit() {P9OUT |= BIT5;} // Output
+ #define uart_ClearCtsBit() {P9OUT &=~ BIT5;} // Output clear
+ #define uart_RtsRen() {P2REN |= BIT1;} // RTS resistor
+ #define uart_CtsRen() {P9REN |= BIT5;} // CTS resistor
+
+ #define com_RtsIfgSet() {P2IFG = 0x00; P2IFG |= BIT1;} // RTS Interrupt flag set (required for sending first byte)
+ #define com_RtsIfgClear() {P2IFG = 0x00; /*P2IFG &=~ BIT1;*/} // RTS Interrupt flag clear
+ #define com_RtsIe() {P2IE = 0x00; P2IE |= BIT1;} // RTS Interrupt enable
+ #define com_RtsInterruptDisable() {P2IE &= ~BIT1;} // RTS Interrupt disable
+ #define com_RtsIes() {P2IES = 0x00; P2IES &=~ BIT1;} // RTS Interrupt edge select (is set when a low-high transition)
+
+ // UART status bits
+ #define uart_RtsStatus() ((P2IN & BIT1)==BIT1)
+
+ // UART port select
+ #define uart_TxdSel() {P8SEL |= BIT3;} // assign P3.3 to UCA0TXD
+ #define uart_RxdSel() {P8SEL |= BIT2;} // assign P3.4 to UCA0RXD
+
+ // UART Register and bit abstractions
+ #define TX_RX_PORT_SEL ( P8SEL )
+ #define TX_RX_PORT_DIR ( P8DIR )
+ #define TX_PORT_BIT ( BIT2 )
+ #define RX_PORT_BIT ( BIT3 )
+ #define UCA_CTRL_REGISTER ( UCA1CTL1 )
+ #define UCA_CTRL0_REGISTER ( UCA1CTL0 )
+ #define UCA_BAUD_CTRL_REGISTER ( UCA1BRW )
+ #define UCA_MOD_CTRL_REGISTER ( UCA1MCTL )
+ #define UCA_IE_REGISTER ( UCA1IE )
+ #define UCA_STATUS_REGISTER ( UCA1STAT )
+ #define UCA_INTERRUPT_FLAG_REGISTER ( UCA1IFG )
+ #define UCA_TX_BUF ( UCA1TXBUF )
+ #define UCA_RX_BUF ( UCA1RXBUF )
+
+ #define UCA_BR0 ( UCA1BR0 )
+ #define UCA_BR1 ( UCA1BR1 )
+
+ #define RTS_PORT_OUT ( P2OUT )
+ #define RTS_PORT_DIR ( P2DIR )
+ #define RTS_PORT_BIT ( BIT1 )
+
+ #define RTS_PULLDOWN_OUT ( P2OUT )
+ #define RTS_PULLDOWN_REN ( P2REN )
+ #define RTS_PULLDOWN_BIT ( BIT1 )
+ #define rtsSetPullDownDir() (P2DIR |= BIT1)
+// CHECKME: Bit is set in both cases
+ #define rtsClearPullDownDir() (P2DIR |= BIT1)
+ #define RTS_PULLUP_REN ( P2REN )
+ #define RTS_PULLUP_OUT ( P2OUT )
+ #define RTS_PULLUP_BIT ( BIT1 )
+ #define rtsSetPullUpDir() (P2DIR |= BIT1)
+
+ #define CTS_PORT_OUT ( P9OUT )
+ #define CTS_PORT_DIR ( P9DIR )
+ #define CTS_PORT_REN ( P9REN )
+ #define CTS_PORT_BIT ( BIT5 )
+#endif
+
+#define IO_CONFIG_HIGH_Z_UART 0x0
+#define IO_CONFIG_UART 0x1
+#define IO_CONFIG_I2C 0x2
+
+#define COM_SIGNATURE 0xACDCACDCul
+
+#ifdef MSP_FET
+ #define COM_FIFOSIZE 256ul
+#endif
+
+#ifdef eZ_FET
+ #define COM_FIFOSIZE 64ul
+#endif
+
+//UART commands
+#define COM_CLOSE 9620ul
+#define UART_NO_HANDSHAKE 9621ul
+#define UART_NO_HANDSHAKE_PARITY_EVEN 9625ul
+#define UART_HANDSHAKE 9622ul
+#define COM_POWER_UP 9623ul
+#define COM_POWER_DOWN 9624ul
+
+#define PARITY_EVEN 1
+#define PARITY_NONE 0
+
+// BSL Commands
+#define BSL_UART_INVOKE_SEQUENCE 9601ul
+#define BSL_UART_SEQUENCE 9602ul
+#define BSL_DISABLE 8001ul
+#define BSL_MAX_DATA_LENGTH (260*2)
+#define BSL_I2C_INVOKE_SEQUENCE1 100000ul
+#define BSL_I2C_INVOKE_SEQUENCE2 400000ul
+#define BSL_I2C_INVOKE_SEQUENCE3 100001ul
+#define BSL_I2C_INVOKE_SEQUENCE4 400001ul
+#define BSL_I2C_SEQUENCE1 100002ul
+#define BSL_I2C_SEQUENCE2 400002ul
+
+struct COM_INFOS
+{
+ short (*comGetLayerVersion)(void);
+ short (*comConfig)(unsigned long Baudrate, unsigned long MCLK_Frequency, unsigned short);
+ short (*comTransmit)(void);
+ short (*comReceive)(unsigned char character);
+ void (*comClose)(void);
+ void (*comSetHil)(edt_common_methods_t*);
+ void (*comSetDcdc)(DCDC_INFOS_t*);
+ void (*comSetUSB)(FET_USB_INFOS_t*);
+ void (*comLoop)(void);
+ short (*comConfigMode)(unsigned long Baudrate);
+ short (*comSetCts)(void);
+ short (*comClearCts)(void);
+ void (*comSetRts)(void);
+ short (*comGetLayerVersionCmp)(void);
+};
+typedef struct COM_INFOS COM_INFOS_t;
+
+short COM_BASE_GetLayerVersion();
+short COM_BASE_GetLayerVersionCmp();
+short COM_BASE_Config(unsigned long Baudrate, unsigned long MCLK_Frequency,
+ unsigned short fetType);
+short COM_BASE_Receive(unsigned char character);
+void COM_BASE_Init(COM_INFOS_t* uartInfos_Pointer);
+void COM_BASE_SetHil(edt_common_methods_t* hil_Pointers);
+void COM_BASE_SetDcdc(DCDC_INFOS_t* dcdc_Pointers);
+void COM_BASE_SetUsb(FET_USB_INFOS_t* usb_Pointers);
+void COM_BASE_Close();
+void COM_BASE_Loop();
+
+#endif
diff --git a/Bios/src/uart/Uart/FetUart.c b/Bios/src/uart/Uart/FetUart.c
new file mode 100644
index 0000000..b126a28
--- /dev/null
+++ b/Bios/src/uart/Uart/FetUart.c
@@ -0,0 +1,362 @@
+/*
+* FetUart.c
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- FetUart.c -----*/
+#include "hw_compiler_specific.h"
+
+#include "msp430.h"
+#include "../FetCom.h"
+#include "USB_API/USB_Common/types.h" // Basic Type declarations
+
+static unsigned char RtsReady = 0;
+static unsigned short HandshakeOn = 0;
+
+static FET_USB_INFOS_t UsbPointers_;
+static unsigned long UartPreviousBaudrate = 0;
+
+static unsigned short *Semaphore_Add = (unsigned short*)COM_SEMAPHOREADRESS;
+
+static unsigned short parityEven = 0;
+
+short Uart_SetCts()
+{
+ uart_SetCtsBit();
+ *Semaphore_Add = 1;
+ return (1);
+}
+
+short Uart_ClearCts()
+{
+ uart_ClearCtsBit(); // clear CTS
+ *Semaphore_Add = 0;
+ return (0);
+}
+
+// init function for UART port pins
+// reset all portpins
+void Uart_PortsHds() // with handshake
+{
+ uart_CtsOut(); // CTS output
+ Uart_ClearCts(); // clear CTS
+ uart_RtsIn(); // RTS input3
+
+ //uart_RtsRen(); // enable pull up resistor on RTS
+ uart_TxdSel();
+ uart_RxdSel();
+}
+
+void Uart_EnableRtsPullUp()
+{
+ RTS_PULLUP_REN |= RTS_PULLUP_BIT;
+ RTS_PULLUP_OUT |= RTS_PULLUP_BIT;
+ rtsSetPullUpDir();
+}
+
+void UART_DisableHandshake()
+{
+ HandshakeOn = 0;
+ RtsReady = 1;
+ com_RtsInterruptDisable();
+ Uart_EnableRtsPullUp();
+}
+
+void UART_EnableHandshake()
+{
+ HandshakeOn = 1;
+ RtsReady = 0;
+ com_RtsIes(); // RTS Interrupt edge select
+ com_RtsIe(); // RTS Interrupt enable
+ com_RtsIfgClear(); // RTS Interrupt flag clear
+ com_RtsIfgSet(); // RTS Interrupt flag set (required for sending first byte)
+}
+
+// initilaize UART functions
+void Uart_Init(unsigned short mode, unsigned short parity)
+{
+ if(mode == UART_NO_HANDSHAKE)
+ {
+ UART_DisableHandshake();
+ }
+ if(mode == UART_HANDSHAKE)
+ {
+ UART_EnableHandshake();
+ }
+ // Ports configuration
+ Uart_PortsHds();
+ UCA_IE_REGISTER |= UCRXIE; // enable USCIAx interrupt
+
+ parityEven = parity;
+}
+
+void Uart_SetUsb(FET_USB_INFOS_t* usb_Pointers)
+{
+ UsbPointers_ = *usb_Pointers;
+}
+
+void Uart_Close()
+{
+ TX_RX_PORT_SEL &= ~( TX_PORT_BIT | RX_PORT_BIT ); // deassign IO-Ports from UCAxTXD, UCAxRxD
+ TX_RX_PORT_DIR &= ~( TX_PORT_BIT | RX_PORT_BIT );
+ // set RTS as input
+ RTS_PORT_OUT &= ~RTS_PORT_BIT;
+ RTS_PORT_DIR &= ~RTS_PORT_BIT;
+ // set CTS as input
+ CTS_PORT_OUT &= ~CTS_PORT_BIT;
+ CTS_PORT_DIR &= ~CTS_PORT_BIT;
+ CTS_PORT_REN &= ~CTS_PORT_BIT;
+
+ com_RtsIfgClear();
+}
+
+void UART_SetRts()
+{
+ RtsReady = 1;
+}
+
+// configuration function for UART settings
+// UART will be configure automatically about COM channel configuration
+short Uart_Config(unsigned long UartBaudrate)
+{
+ Uart_ClearCts();
+ if(UartBaudrate != UartPreviousBaudrate) // baudrate is changed ?
+ {
+ UCA_CTRL_REGISTER |= UCSWRST; // Put state maschine reset
+ UCA_CTRL_REGISTER |= UCSSEL__SMCLK; // clock source: SMCLK
+
+ if(UartBaudrate == 4800)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x45;
+ UCA_BR1 = 0x1;
+ UCA_MOD_CTRL_REGISTER = 0x80 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x1e;
+ UCA_BR1 = 0x1;
+ UCA_MOD_CTRL_REGISTER = 0xC0 + UCOS16;
+ #endif
+ }
+ if(UartBaudrate == 9600)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0xA2;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xC0 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x8F;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xE0 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 14400)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x6C;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x80 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x5F;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x90 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 19200)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x51;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x60 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x47;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xF0 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 28800)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x36;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x40 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x2F;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x50 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 38400)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x28;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xB0 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x23;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x80 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 56000)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 =0x1B;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xE0 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x18;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x40 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 57600)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x1B;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x20 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x17;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xA0 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 115200)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0xD;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x90 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0xB;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xD0 + UCOS16;
+ #endif
+ }
+ else if(UartBaudrate == 256000)
+ {
+ #ifdef eZ_FET
+ UCA_BR0 = 0x6;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0x4 + UCOS16;
+ #endif
+ #ifdef MSP_FET
+ UCA_BR0 = 0x5;
+ UCA_BR1 = 0x0;
+ UCA_MOD_CTRL_REGISTER = 0xE0 + UCOS16;
+ #endif
+ }
+
+ if(parityEven == PARITY_EVEN)
+ {
+ UCA_CTRL0_REGISTER |= UCPEN | UCPAR;
+ }
+ else
+ {
+ UCA_CTRL0_REGISTER &= ~(UCPEN | UCPAR);
+ UCA_CTRL_REGISTER = 0;
+ UCA_CTRL_REGISTER |= UCSSEL__SMCLK; // clock source: SMCLK
+ }
+
+ UCA_CTRL_REGISTER &=~ UCSWRST; // Initialize USCI state machine
+ UCA_IE_REGISTER |= UCRXIE; // enable USCIAx interrupt
+
+ UartPreviousBaudrate = UartBaudrate;
+ }
+ Uart_SetCts();
+ return (0);
+}
+
+short Uart_GetRts()
+{
+ if(uart_RtsStatus()) // get RTS status from Target
+ {
+ return (1);
+ }
+ else
+ {
+ return (0);
+ }
+}
+
+short Uart_NotBusy()
+{
+ if((UCA_STATUS_REGISTER & UCBUSY) == UCBUSY) // when busy:
+ {
+ return (0); // return 0
+ }
+ return (1); // else return 1
+}
+
+short Uart_TxEmpty()
+{
+ // UCTXIFG is set when UCAxTXBUF empty
+ if(UCTXIFG == (UCTXIFG & UCA_INTERRUPT_FLAG_REGISTER))
+ {
+ return (1); // empty
+ }
+ return (0); // not empty
+}
+
+short Uart_Send()
+{
+ BYTE BytesInUsbBuffer = UsbPointers_.FetUSB_bytesInUSBBuffer(CDC0_DATA_INTERFACE);
+ if(BytesInUsbBuffer)
+ {
+ if(Uart_NotBusy() && Uart_TxEmpty() && RtsReady)
+ {
+ if(HandshakeOn == 1)
+ {
+ // just check for toggle of RTS line if Handshake is used.
+ RtsReady = 0;
+ }
+ // Start USB to UART bridge communication ----------------------------------
+ BYTE uartDataToSend = 0;
+ UsbPointers_.FetUSB_receiveData(&uartDataToSend, 1 , CDC0_DATA_INTERFACE);
+ UCA_TX_BUF = uartDataToSend;
+
+ }
+ }
+ return 0;
+}
diff --git a/Bios/src/uart/Uart/Uart.h b/Bios/src/uart/Uart/Uart.h
new file mode 100644
index 0000000..5ddd5b1
--- /dev/null
+++ b/Bios/src/uart/Uart/Uart.h
@@ -0,0 +1,51 @@
+/*
+* Uart.h
+*
+* Base class for all memory classes.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*----- Uart.h -----*/
+#ifndef Uart_H
+#define Uart_H
+
+void Uart_SetUsb(FET_USB_INFOS_t* usb_Pointers);
+short Uart_Send();
+void Uart_Close();
+void Uart_Init(unsigned short mode, unsigned short parity);
+short Uart_Config(unsigned long UartBaudrate);
+void UART_SetRts();
+short Uart_SetCts();
+short Uart_ClearCts();
+
+#endif
diff --git a/Bios/src/uart/cstartup_uart.s43 b/Bios/src/uart/cstartup_uart.s43
new file mode 100644
index 0000000..ae18c18
--- /dev/null
+++ b/Bios/src/uart/cstartup_uart.s43
@@ -0,0 +1,453 @@
+/* --------------------------------------------------------------------------
+* Copyright 2012, IAR Systems AB.
+*
+* This source code is the property of IAR Systems. The source code may only
+* be used together with the IAR Embedded Workbench. Redistribution and use
+* in source and binary forms, with or without modification, is permitted
+* provided that the following conditions are met:
+*
+* - Redistributions of source code, in whole or in part, must retain the
+* above copyright notice, this list of conditions and the disclaimer below.
+*
+* - IAR Systems name may not be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+*
+*
+* $Revision: 5271 $
+* ------------------------------------------------------------------------*/
+
+//
+// There are two libraries provided with compilers from IAR Systems,
+// CLib and DLib. This file is designed to work with both libraries.
+// Some parts of it is DLib-specific. However, those parts will not
+// be included when building an application using CLib.
+//
+
+//
+// Please define one of the following preprocessor symbols in order to
+// customize the system initialization process.
+//
+// IGNORE_SEG_INIT -- To remove segment initialization
+// IGNORE_DATA16_DATA -- To remove segment initialization of DATA16 data
+// IGNORE_DATA20_DATA -- To remove segment initialization of DATA20 data
+// IGNORE_RAMFUNC_INIT -- To remove segment initialization of ramfunc code
+// DISABLE_WATCHDOG -- To disable the watchdog
+//
+// Note: In the current version the symbols "IGNORE_SEG_INIT" and
+// "IGNORE_DATA16_DATA" will perform the same task. However, both are
+// supported in order to be compatible with other IAR Compilers.
+//
+// Note: To disable the watchdog, a device-specific header file will
+// be included.
+//
+
+#include "macros.m43"
+#include "cfi.m43"
+
+#ifdef DISABLE_WATCHDOG
+#include "msp430.h"
+#endif
+
+#define XRSEGCSTART RSEG CSTART:CODE:NOROOT(1)
+
+ XCFI_NAMES libNames
+ XCFI_COMMON libCommon, libNames
+
+ // The CPU40 warning is issued when a Jxx instruction is place
+ // at the end of a segment part. However, this case is safe,
+ // as we have control of what will be placed right after the
+ // instruction.
+ SUPPRESS_CPU40_WARNING
+
+
+// ---------------------------------------------------------
+// The cstartup code -- call __low_level_init, perform initialization,
+// call constructors and call main. If main returns the exit system
+// is started.
+//
+
+ MODULE ?cstart
+
+//
+// Ensure that this is build with the same "positions independent
+// code" settings as the compiler uses.
+//
+
+ XPICRTMODEL
+
+
+//
+// Forward declarations of segments.
+//
+
+ RSEG HEAP:DATA:NOROOT(1)
+ RSEG CSTACK:DATA:NOROOT
+
+ RSEG DATA16_Z:DATA:NOROOT
+ RSEG DATA16_I:DATA:NOROOT
+ RSEG DATA16_ID:CONST:NOROOT
+ RSEG CODE_I:DATA:NOROOT
+ RSEG CODE_ID:CONST:NOROOT
+#if __CORE__==__430X_CORE__
+ RSEG DATA20_Z:DATA:NOROOT
+ RSEG DATA20_I:DATA:NOROOT
+ RSEG DATA20_ID:CONST:NOROOT
+#endif
+
+// ---------------------------------------------------------
+// System initialization.
+//
+ RSEG DATA16_N
+saved_stack DS 2
+
+ XRSEGCSTART
+ PUBLIC __program_start
+
+ EXTERN ?reset_vector
+ REQUIRE ?reset_vector
+
+__program_start:
+
+ PUBLIC ?cstart_begin
+?cstart_begin:
+
+ // --------------------
+ // Turn off the watchdog.
+ //
+ // Note: This is excluded by default. Please define
+ // DISABLE_WATCHDOG to include it.
+ //
+
+#ifdef DISABLE_WATCHDOG
+
+ MOV #WDTPW + WDTHOLD, &WDTCTL
+#endif
+
+ // --------------------
+ // Initialize SP to point to the top of the stack.
+ //
+
+ MOV SP, saved_stack
+
+ pushx R4
+ pushx R5
+ pushx R6
+ pushx R7
+ pushx R8
+ pushx R9
+ pushx R10
+ pushx R11
+ pushx R12
+ pushx R13
+ pushx R14
+ pushx R15
+
+ //MOV #SFE(CSTACK), SP
+ //
+ // Ensure that main is called.
+ //
+ REQUIRE ?cstart_call_main
+
+
+// -----------------------------------------------
+// Call __low_level_init to perform initialization before initializing
+// segments and calling main. If the function returns 0 no segment
+// initialization should take place.
+//
+// Link with your own version of __low_level_init to override the
+// default action: to do nothing but return 1.
+//
+
+ XRSEGCSTART
+
+ PUBLIC ?cstart_call_low_level_init
+ EXTERN __low_level_init
+
+?cstart_call_low_level_init:
+ XCALL #__low_level_init
+ CMP #0, W0
+ JEQ ?cstart_call_main
+
+
+// -----------------------------------------------
+// Segment initialization:
+//
+// xxx_Z -- uninitialized data that are filled with zeros.
+// xxx_I -- initialized data that gets the values from the corresponding
+// xxx_ID segment.
+//
+
+#ifndef IGNORE_SEG_INIT
+
+
+ // --------------------
+ // Initialize code for __ramfunc functions.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy_ramfunc
+
+?cstart_init_copy_ramfunc:
+
+#ifndef IGNORE_RAMFUNC_INIT
+
+#ifndef REGISTER_MODEL_REG20
+
+ MOV #SFB CODE_I, CW0
+ MOV #SFB CODE_ID, CW1
+
+ MOV #sizeof CODE_I, CW2
+
+ XCALL #__data16_memcpy
+
+#else // MSP430X with 20 bit pointers.
+
+ EXTERN __data20_memcpy
+
+ MOVA #SFB CODE_I, CW0
+ MOVA #SFB CODE_ID, CW1
+ MOV.W #LWRD(sizeof CODE_I), L1L
+ MOV.W #HWRD(sizeof CODE_I), L1H
+
+ XCALL #__data20_memcpy
+
+
+#endif // REGISTER_MODEL_REG20
+
+#endif // IGNORE_RAMFUNC_INIT
+
+
+ // --------------------
+ // Initialize data16
+ //
+
+#ifndef IGNORE_DATA16_DATA
+
+ //
+ // Clear DATA16_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero
+ EXTERN __data16_memzero
+
+?cstart_init_zero:
+ MOV #SFB DATA16_Z, CW0
+ MOV #sizeof DATA16_Z, CW1
+
+ XCALL #__data16_memzero
+
+
+ //
+ // Copy DATA16_ID to DATA16_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy
+ EXTERN __data16_memcpy
+
+?cstart_init_copy:
+ MOV #SFB DATA16_I, CW0
+ MOV #SFB DATA16_ID, CW1
+
+ MOV #sizeof DATA16_I, CW2
+
+ XCALL #__data16_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+
+ // --------------------
+ // Data20
+ //
+
+#if __CORE__==__430X_CORE__
+
+
+#ifndef IGNORE_DATA20_DATA
+
+ //
+ // Clear DATA20_Z.
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_zero20
+ EXTERN __data20_memzero
+
+?cstart_init_zero20:
+ MOVA #SFB DATA20_Z,W0
+ MOV.W #LWRD(sizeof DATA20_Z), L1L
+ MOV.W #HWRD(sizeof DATA20_Z), L1H
+
+ XCALL #__data20_memzero
+
+
+ //
+ // Copy DATA20_ID to DATA20_I
+ //
+
+ XRSEGCSTART
+ PUBLIC ?cstart_init_copy20
+ EXTERN __data20_memcpy
+
+?cstart_init_copy20:
+ MOVA #SFB DATA20_I, CW0
+ MOVA #SFB DATA20_ID, CW1
+ MOV.W #LWRD(sizeof DATA20_I), L1L
+ MOV.W #HWRD(sizeof DATA20_I), L1H
+
+ XCALL #__data20_memcpy
+
+#endif // IGNORE_DATA16_DATA
+
+#endif // MSP430X
+
+#endif // IGNORE_SEG_INIT
+
+
+
+// -----------------------------------------------
+// Call constructors of static objects.
+//
+
+ RSEG DIFUNCT:CONST:NOROOT(1)
+ XRSEGCSTART
+ PUBLIC ?cstart_call_ctors
+
+ EXTERN __call_ctors
+
+?cstart_call_ctors:
+
+#ifdef REGISTER_MODEL_REG20
+
+ MOVA #SFB DIFUNCT, CW0
+ MOVA #SFE DIFUNCT, CW1
+
+#else /* REGISTER_MODEL_REG20 */
+
+ MOV.W #SFB DIFUNCT, CW0
+ MOV.W #SFE DIFUNCT, CW1
+
+#endif /* REGISTER_MODEL_REG20 */
+
+ XCALL #__call_ctors
+
+
+// -----------------------------------------------
+// Call main() with no arguments and then exit using the return value
+// of main as the parameter.
+//
+
+ XRSEGCSTART
+ PUBLIC ?cstart_call_main
+
+ EXTERN COM_BASE_Init
+ EXTERN exit
+
+?cstart_call_main:
+
+ popx R15
+ popx R14
+ popx R13
+ popx R12
+ popx R11
+ popx R10
+ popx R9
+ popx R8
+ popx R7
+ popx R6
+ popx R5
+ popx R4
+
+ //XCALL #_hil_startUp
+ movx.a #COM_BASE_Init, PC
+ MOV saved_stack,SP
+ //XRET // indicates that the normal
+ //XCALL #exit
+
+ PUBLIC ?cstart_end
+?cstart_end:
+
+ // Note: "ENDMOD label" means code that this module is the
+ // start of the application.
+ ENDMOD __program_start
+
+
+
+
+// ---------------------------------------------------------
+// __low_level_init
+//
+// The only action of this default version of __low_level_init is to
+// return 1. By doing so it signals that normal initialization of data
+// segments should be done.
+//
+// A customized version of __low_level_init may be created in order to
+// perform initialization before initializing segments and calling main
+// and/or to skip initialization of data segments under certain
+// circumstances.
+//
+// For further details see sample file lowinit.c
+//
+
+
+ MODULE lowinit
+
+ PUBLIC __low_level_init
+
+ RSEG CODE:CODE:NOROOT(1)
+
+__low_level_init:
+ MOV #1, W0 // By returning 1 this function
+ XRET // indicates that the normal
+ // initialization should take place
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// Define reset vector.
+//
+
+ MODULE ?reset_vector
+
+ RSEG RESET:CONST:NOROOT(1)
+ PUBLIC ?reset_vector
+ EXTERN __program_start
+
+?reset_vector:
+ DC32 __program_start
+
+ ENDMOD
+
+
+// ---------------------------------------------------------
+// ?CPU30_OFFSET
+//
+// The compiler compensates for the CPU30 hardware bug by adding or
+// subtracting the symbol ?CPU30_OFFSET from certain immediates. Here,
+// it is defined to the default value zero (0), for when the device is
+// not affected by CPU30. If the device is affected, the value must be
+// set to two (2) using a linker command line override:
+//
+// -D?CPU30_OFFSET=2.
+//
+// The override is normally placed in the device-specific .xcl file.
+
+ MODULE ?cpu30_offset
+
+ PUBLIC ?CPU30_OFFSET
+
+?CPU30_OFFSET EQU 0
+
+ ENDMOD
+
+ END
diff --git a/Bios/src/up/core_Image_V3.h b/Bios/src/up/core_Image_V3.h
deleted file mode 100644
index 6e49331..0000000
--- a/Bios/src/up/core_Image_V3.h
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * core_image_V3.h
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* http://srecord.sourceforge.net/ */
-const unsigned short coreImage[] =
-{
-0xF57C, 0xE7A0, 0xFB2E, 0xEFBE, 0xFB3C, 0xFAF2, 0xF96C, 0xF466, 0xF948,
-0xF9D2, 0xF836, 0xF5D6, 0xF30C, 0xFA30, 0xFAE0, 0xF9F2, 0xF9B2, 0xF990,
-0xF85E, 0xF748, 0x1000, 0x18FF, 0x2500, 0xDFFF, 0xFDFA, 0xFDFF, 0x1000,
-0x18FF, 0x2500, 0xDFFF, 0x1000, 0x10FF, 0x0200, 0x09FF, 0x1100, 0x18FF,
-0x0100, 0x0080, 0x0040, 0x0001, 0x1C7C, 0x2142, 0x8205, 0x0000, 0x0000,
-0x0101, 0x0101, 0x1C74, 0xDFFE, 0xFDDA, 0xFFFF, 0xFFFF, 0x0000, 0x0100,
-0xFFFF, 0xFFFF, 0x0000, 0x0100, 0xFFFF, 0xFFFF, 0x0000, 0x0100, 0xFFFF,
-0xFFFF, 0x0000, 0x0100, 0x1B90, 0x1C7C, 0x4031, 0x24E0, 0x403C, 0x1A2A,
-0x403D, 0x0252, 0x12B0, 0xFABC, 0x403C, 0x1A00, 0x403D, 0xE05E, 0x403E,
-0x002A, 0x12B0, 0xFB5E, 0x12B0, 0xF7E2, 0x12B0, 0xFB52, 0x120A, 0x120B,
-0x120D, 0x120C, 0x120F, 0x120E, 0xD0F2, 0x0040, 0x0021, 0xD3D2, 0x1B5C,
-0xB0F2, 0x00A0, 0x0072, 0x2002, 0x434E, 0x3C01, 0x435E, 0x934E, 0x2405,
-0x403C, 0x8006, 0x12B0, 0xF8AE, 0x3D46, 0x425E, 0x0076, 0x4EC2, 0x1C73,
-0x407F, 0x0010, 0x421D, 0x1B82, 0x4D6D, 0xF07D, 0x00FC, 0x9F4D, 0x2016,
-0x907E, 0x0011, 0x2008, 0xB3E2, 0x1C74, 0x2802, 0x12B0, 0xFB12, 0x43C2,
-0x1C74, 0x3D2E, 0x907E, 0x0013, 0x2003, 0x42F2, 0x1C74, 0x3D28, 0x9F4E,
-0x200A, 0x4FC2, 0x1C78, 0x3D23, 0x9FC2, 0x1C78, 0x2004, 0xDFC2, 0x1C73,
-0x43C2, 0x1C78, 0x403A, 0x1A2A, 0x4A6F, 0xB3DF, 0x1A30, 0x2805, 0x403C,
-0x8009, 0x12B0, 0xF8AE, 0x3D11, 0x4A6F, 0x5F0F, 0x938F, 0x1A3A, 0x2015,
-0x40B2, 0x000A, 0x1B5A, 0x4382, 0x1A44, 0x425E, 0x1C73, 0xB35E, 0x2806,
-0x532E, 0x4A6F, 0x5F0F, 0x4E8F, 0x1A3E, 0x3C06, 0x503E, 0x0003, 0x4A6F,
-0x5F0F, 0x4E8F, 0x1A3E, 0x4A6F, 0x5F0F, 0x90BF, 0x0104, 0x1A3A, 0x2C37,
-0x425E, 0x1C73, 0x4E4D, 0x4A6F, 0x5F0F, 0xB39F, 0x1A3A, 0x2807, 0x108D,
-0xDD82, 0x1B88, 0xE292, 0x1B88, 0x1A44, 0x3C02, 0x4D82, 0x1B88, 0x4A6F,
-0x5F0F, 0x4F1D, 0x1A32, 0x4A6F, 0x5F0F, 0x4F1C, 0x1A3A, 0x4C0B, 0x531B,
-0x4B8F, 0x1A3A, 0x5C0D, 0x4ECD, 0x0000, 0x4A6E, 0x5E0E, 0x4A6F, 0x5F0F,
-0x9F9E, 0x1A3A, 0x1A3E, 0x2CC9, 0x4382, 0x1B5A, 0x93B2, 0x1A44, 0x20A0,
-0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x0091, 0x0001, 0x203A, 0x434E,
-0x3C06, 0x403C, 0x800A, 0x12B0, 0xF8AE, 0x3CB5, 0x435E, 0x934E, 0x20AC,
-0xB3E2, 0x1A4C, 0x2BFA, 0x421F, 0x1B52, 0x4F5E, 0x0002, 0xF07E, 0x003F,
-0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9F5E, 0x0002, 0x23ED, 0x421F, 0x1B52,
-0x93CF, 0x0003, 0x2007, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x92EF, 0x0000,
-0x2810, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB, 0x0004,
-0x0003, 0x23D7, 0xF0F2, 0x00F8, 0x1A4C, 0x4382, 0x1B5E, 0x3C80, 0xF0F2,
-0x00F8, 0x1A4C, 0x3C7C, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x0092,
-0x0001, 0x4A6F, 0x2039, 0x5F0F, 0x4F1F, 0x1A32, 0x93CF, 0x0002, 0x2010,
-0x435C, 0x12B0, 0xF9F2, 0x434C, 0x12B0, 0xF9B2, 0x43C2, 0x1C70, 0x434C,
-0x12B0, 0xF1E8, 0x12B0, 0xF27C, 0x12B0, 0xF886, 0x3C5D, 0x434E, 0x3C01,
-0x435E, 0x934E, 0x2058, 0x425E, 0x1A4C, 0xF07E, 0x0003, 0x907E, 0x0003,
-0x23F6, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB, 0x0002,
-0x0002, 0x23EC, 0x421B, 0x1B52, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x9FDB,
-0x0004, 0x0003, 0x23E2, 0xC3E2, 0x1A4C, 0x3C3A, 0x5F0F, 0x4F1F, 0x1A32,
-0x93CF, 0x0002, 0x200B, 0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x90FF, 0x008B,
-0x0001, 0x2003, 0x12B0, 0xF27C, 0x3C2F, 0x4A6F, 0xD3DF, 0x1A30, 0x53D2,
-0x1A2A, 0x93E2, 0x1A2A, 0x2821, 0x43C2, 0x1A2A, 0x3C1E, 0x40B2, 0x8003,
-0x1A42, 0x4A6F, 0x5F0F, 0x4F1B, 0x1A32, 0x4A6F, 0x5F0F, 0x5F1B, 0x1A3E,
-0xEB92, 0xFFFF, 0x1A44, 0xE3B2, 0x1A44, 0x43A2, 0x1B84, 0x43D2, 0x1C75,
-0x4A6F, 0x5F0F, 0x4F1F, 0x1A32, 0x4FD2, 0x0002, 0x1C76, 0x40B2, 0x1A42,
-0x1B86, 0x4A6F, 0x5F0F, 0x438F, 0x1A3A, 0x4382, 0x1A44, 0xC0F2, 0x0040,
-0x0021, 0xC3D2, 0x1B5C, 0x413E, 0x413F, 0x413C, 0x413D, 0x413B, 0x413A,
-0x1300, 0x43C2, 0x0022, 0x43C2, 0x002A, 0x43C2, 0x001A, 0x43C2, 0x001E,
-0x43C2, 0x0032, 0x43C2, 0x0036, 0x43C2, 0x0026, 0x43C2, 0x002E, 0x43C2,
-0x001B, 0x43C2, 0x001F, 0x43C2, 0x0033, 0x43C2, 0x0037, 0x43C2, 0x0021,
-0x43C2, 0x0029, 0x43C2, 0x0019, 0x43C2, 0x001D, 0x43C2, 0x0031, 0x43C2,
-0x0035, 0xC0F2, 0x0080, 0x0057, 0x430F, 0x3C05, 0x4303, 0x533E, 0x930E,
-0x23FC, 0x531F, 0x903F, 0x00FF, 0x2C07, 0xB3E2, 0x0002, 0x2804, 0xC3E2,
-0x0002, 0x437E, 0x3FF3, 0xB3E2, 0x0002, 0x2C66, 0xD0F2, 0x0040, 0x001E,
-0xC3E2, 0x0002, 0xD0F2, 0x0088, 0x0058, 0xD0F2, 0x0020, 0x0032, 0xD0F2,
-0x0020, 0x0033, 0x40B2, 0x1B00, 0x1B76, 0x40B2, 0x00B7, 0x1B78, 0x43C2,
-0x1C72, 0xC0F2, 0x0020, 0x0021, 0xD0F2, 0x0040, 0x0021, 0xD0F2, 0x0060,
-0x0022, 0x43C2, 0x002A, 0xD0F2, 0x0030, 0x001B, 0xD0F2, 0x0010, 0x001A,
-0xD0F2, 0x003F, 0x001D, 0xD0F2, 0x003F, 0x001E, 0xD0F2, 0x000B, 0x0032,
-0x40B2, 0x1C71, 0x1B68, 0x43D2, 0x1B6A, 0x40B2, 0x1C71, 0x1B72, 0x43E2,
-0x1B74, 0x430F, 0x3C02, 0x4303, 0x531F, 0x933F, 0x23FC, 0xC0F2, 0x0040,
-0x001E, 0x40B2, 0x1C73, 0x1B82, 0x40B2, 0x1C74, 0x1A00, 0x40B2, 0xFF45,
-0x1B7E, 0x40B2, 0x0200, 0x1B80, 0x40B2, 0x000C, 0x1B7A, 0x4382, 0x1B7C,
-0x4382, 0x0182, 0x421C, 0x1B76, 0x421D, 0x1B78, 0x403E, 0x0320, 0x430F,
-0x12B0, 0xF710, 0x533C, 0x4C82, 0x0192, 0x40B2, 0x02D6, 0x0180, 0x3C75,
-0xC0F2, 0x0040, 0x0019, 0xD0F2, 0x0080, 0x0057, 0xD0F2, 0x0040, 0x0057,
-0xC032, 0x0020, 0x430F, 0xC3E2, 0x0002, 0x437E, 0x3C02, 0x4303, 0x533E,
-0x930E, 0x23FC, 0xB3E2, 0x0002, 0x2802, 0x430F, 0x3C01, 0x531F, 0x903F,
-0x000A, 0x2BEF, 0xD3E2, 0x0000, 0xD0F2, 0x00C0, 0x0058, 0x40B2, 0x1200,
-0x1B76, 0x40B2, 0x007A, 0x1B78, 0x40F2, 0x0057, 0x1C72, 0x40F2, 0x00FC,
-0x0021, 0x40F2, 0x0003, 0x0022, 0xC0F2, 0x0020, 0x0021, 0xD0F2, 0x0040,
-0x0021, 0xD0F2, 0x0060, 0x0022, 0xD0F2, 0x0060, 0x0029, 0xD0F2, 0x0060,
-0x002A, 0xD0F2, 0x0030, 0x001B, 0xD0F2, 0x0010, 0x001A, 0xD0F2, 0x0015,
-0x001D, 0xD0F2, 0x007D, 0x001E, 0xD0F2, 0x000B, 0x0032, 0x40B2, 0x0021,
-0x1B68, 0x43D2, 0x1B6A, 0x40B2, 0x0021, 0x1B72, 0x43E2, 0x1B74, 0x40B2,
-0x1C73, 0x1B82, 0x40B2, 0x1C74, 0x1A00, 0x40B2, 0xFF55, 0x1B7E, 0x40B2,
-0x0140, 0x1B80, 0x40B2, 0x0007, 0x1B7A, 0x4382, 0x1B7C, 0x4382, 0x0182,
-0x40B2, 0x270F, 0x0192, 0x40B2, 0x01D6, 0x0180, 0xD0F2, 0x0040, 0x0019,
-0xD232, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C0A, 0x433B,
-0x4306, 0x9CD2, 0x0001, 0x1A2B, 0x2003, 0x93C2, 0x1A2C, 0x380A, 0x4CD2,
-0x0001, 0x1A2B, 0x4C5F, 0x0004, 0x4F82, 0x1A2E, 0xD392, 0x1B9C, 0x3C02,
-0xC392, 0x1B9C, 0x93CC, 0x0002, 0x3803, 0xD3A2, 0x1B9C, 0x3C02, 0xC3A2,
-0x1B9C, 0x4C08, 0x5328, 0x48E2, 0x1A2C, 0x93C2, 0x1C70, 0x2005, 0x434C,
-0x12B0, 0xF9F2, 0x43D2, 0x1C70, 0x90FA, 0x0081, 0x0001, 0x2044, 0xB392,
-0x1B9C, 0x2806, 0x4A19, 0x0004, 0x432C, 0x1292, 0xE01A, 0x3C02, 0x4219,
-0x1A2E, 0x9309, 0x2004, 0x4A0C, 0x12B0, 0xE900, 0x4C06, 0x9306, 0x202F,
-0x407D, 0x0093, 0x486C, 0x1292, 0xE000, 0x90B2, 0x0064, 0x1C66, 0x2802,
-0x4382, 0x1C66, 0x421F, 0x1C66, 0x4F0E, 0x531E, 0x4E82, 0x1C66, 0x5F0F,
-0x498F, 0x1B9E, 0x4982, 0x1C68, 0x421F, 0x1A26, 0x9F19, 0x0006, 0x2C6B,
-0x421F, 0x1B9A, 0x5909, 0x5909, 0x590F, 0x4F1F, 0x0002, 0x930F, 0x2462,
-0x421C, 0x1B9C, 0x128F, 0x4C0B, 0x930C, 0x205C, 0x1292, 0xE002, 0x403B,
-0x8000, 0x3C57, 0x460B, 0x3C55, 0x4A5E, 0x0001, 0x807E, 0x0051, 0x2436,
-0x835E, 0x2439, 0x835E, 0x2440, 0x835E, 0x2443, 0x835E, 0x2446, 0x807E,
-0x002D, 0x2409, 0x826E, 0x2413, 0x826E, 0x240B, 0x836E, 0x2415, 0x835E,
-0x241B, 0x3C3C, 0x435D, 0x4A0C, 0x12B0, 0xED38, 0x4C0B, 0x3C36, 0x434D,
-0x4A0C, 0x12B0, 0xED38, 0x4C0B, 0x3C30, 0x4A5C, 0x0006, 0x12B0, 0xF1E8,
-0x4C0B, 0x3C2A, 0x4A5C, 0x0006, 0xD07C, 0x0040, 0x12B0, 0xF8FC, 0x4C0B,
-0x3C22, 0x4A5C, 0x0006, 0xD07C, 0x0040, 0x12B0, 0xF8D6, 0x4C0B, 0x3C1A,
-0x4A0C, 0x12B0, 0xF6C8, 0x4C0B, 0x3C15, 0x4A0C, 0x12B0, 0xEA2A, 0x4C0B,
-0x931C, 0x200F, 0x12B0, 0xF7B2, 0x3C0C, 0x4A0C, 0x12B0, 0xF07C, 0x4C0B,
-0x3C07, 0x4A0C, 0x12B0, 0xF4C6, 0x4C0B, 0x3C02, 0x12B0, 0xF62C, 0x903B,
-0x8000, 0x2423, 0x930B, 0x380B, 0x407D, 0x0091, 0x486C, 0x1292, 0xE000,
-0x4B0C, 0x1292, 0xE008, 0x1292, 0xE002, 0x3C16, 0x407D, 0x0092, 0x486C,
-0x1292, 0xE000, 0x4B0C, 0x1292, 0xE008, 0x903B, 0x8002, 0x2009, 0x425C,
-0x1A2C, 0x535C, 0xF07C, 0x003F, 0x2001, 0x435C, 0x1292, 0xE008, 0x1292,
-0xE002, 0x430C, 0x4030, 0xFAD4, 0x120A, 0x120B, 0x403E, 0x1A46, 0x4E6F,
-0xB3DF, 0x1A4C, 0x2CA4, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x90FF, 0x0093,
-0x0001, 0x4E6F, 0x2407, 0x5F0F, 0x4F1F, 0x1B52, 0xC0FF, 0x0080, 0x0002,
-0x3C18, 0x5F0F, 0x4F1F, 0x1B52, 0x93CF, 0x0002, 0x3803, 0x93C2, 0x1C7A,
-0x240F, 0x93F2, 0x1C7A, 0x2403, 0x53D2, 0x1C7A, 0x3C02, 0x43D2, 0x1C7A,
-0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x42DF, 0x1C7A, 0x0003, 0x4E6F, 0x5F0F,
-0x4F1D, 0x1A4E, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4DCF, 0x0000, 0x4E6F,
-0x5F0F, 0x4F1F, 0x1B52, 0xB3DF, 0x0000, 0x2C0E, 0x4E6F, 0x5F0F, 0x4F1D,
-0x1B52, 0x4E6F, 0x5F0F, 0x4F1C, 0x1A4E, 0x531C, 0x4C8F, 0x1A4E, 0x5C0D,
-0x43CD, 0x0000, 0x430D, 0x430C, 0x3C11, 0x4C0A, 0x5A0A, 0x4E6F, 0x5F0F,
-0x4F0B, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F, 0x5B0F,
-0x5F0A, 0xEA1D, 0x1A50, 0x531C, 0x4E6F, 0x5F0F, 0x4F1F, 0x1A4E, 0x531F,
-0xC312, 0x100F, 0x9F0C, 0x2BE6, 0xE33D, 0x4E6F, 0x5F0F, 0x4F1B, 0x1A4E,
-0x100B, 0x5B0B, 0x4E6F, 0x5F0F, 0x4F0A, 0x5F0F, 0x5F0F, 0x5F0F, 0x5F0F,
-0x5F0F, 0x5F0F, 0x5F0F, 0x5A0F, 0x5F0B, 0x4D8B, 0x1A52, 0x4E6F, 0xD3DF,
-0x1A4C, 0x4E6F, 0xC2FF, 0x1A4C, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x93CF,
-0x0002, 0x3802, 0x43C2, 0x1C7A, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x90FF,
-0x0093, 0x0001, 0x2003, 0x4E6F, 0xD3EF, 0x1A4C, 0x4E6F, 0x5F0F, 0x4F1C,
-0x1A4E, 0x503C, 0x0003, 0x12B0, 0xFA12, 0x53D2, 0x1A46, 0x93C2, 0x1A46,
-0x2402, 0x43C2, 0x1A46, 0x12B0, 0xFB12, 0x430C, 0x413B, 0x413A, 0x4130,
-0x120A, 0x430A, 0x93CC, 0x0006, 0x2034, 0x407D, 0x0093, 0x4C5C, 0x0002,
-0x1292, 0xE000, 0x930C, 0x3829, 0x421A, 0xE008, 0x421F, 0x1A26, 0x4F1C,
-0x0002, 0x128A, 0x421F, 0x1A26, 0x4F1C, 0x0004, 0x128A, 0x421C, 0x1B7E,
-0x128A, 0x421C, 0x1B80, 0x128A, 0x432D, 0x403C, 0xFDD8, 0x1292, 0xE006,
-0x432D, 0x403C, 0xFDD8, 0x1292, 0xE006, 0x432C, 0x128A, 0x403C, 0x0102,
-0x128A, 0x421C, 0x1B7A, 0x421D, 0x1B7C, 0x1292, 0xE00A, 0x431A, 0x3C56,
-0x403A, 0xFFFD, 0x3C53, 0x93DC, 0x0006, 0x201B, 0x421F, 0x1A26, 0x938F,
-0x0006, 0x2413, 0x407D, 0x0093, 0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C,
-0x3808, 0x421F, 0x1A26, 0x4F1C, 0x0006, 0x1292, 0xE008, 0x431A, 0x3C3B,
-0x403A, 0xFFFC, 0x3C38, 0x403A, 0xFFFE, 0x3C35, 0x93EC, 0x0006, 0x2020,
-0x407D, 0x0093, 0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C, 0x3815, 0x3C0D,
-0x4A0C, 0x1292, 0xE008, 0x421E, 0x1B9A, 0x4A0F, 0x5F0F, 0x5F0F, 0x5F0E,
-0x4E2C, 0x1292, 0xE008, 0x531A, 0x421F, 0x1A26, 0x9F1A, 0x0006, 0x2BEE,
-0x431A, 0x3C15, 0x403A, 0xFFFB, 0x3C12, 0x90FC, 0x0003, 0x0006, 0x200E,
-0x407D, 0x0091, 0x4C5C, 0x0002, 0x1292, 0xE000, 0x930C, 0x3804, 0x1292,
-0xE002, 0x403A, 0xFFFA, 0x12B0, 0xFA98, 0x931A, 0x2004, 0x403A, 0x8000,
-0x1292, 0xE002, 0x4A0C, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208, 0x1209,
-0x1206, 0x4C18, 0x0004, 0x4809, 0x5C19, 0x0008, 0x8329, 0x4336, 0x93D2,
-0x1C7B, 0x2076, 0x403B, 0xF522, 0x480C, 0x128B, 0x834C, 0x2407, 0x835C,
-0x2408, 0x835C, 0x2409, 0x835C, 0x240A, 0x3C0A, 0xF038, 0xFE00, 0x3C07,
-0xF038, 0xFF00, 0x3C04, 0xF038, 0xFF80, 0x3C01, 0xC318, 0x490C, 0x128B,
-0x834C, 0x2407, 0x835C, 0x2408, 0x835C, 0x2409, 0x835C, 0x240A, 0x3C0A,
-0xF039, 0xFE00, 0x3C07, 0xF039, 0xFF00, 0x3C04, 0xF039, 0xFF80, 0x3C01,
-0xC319, 0x490C, 0x128B, 0x4C4C, 0x5C0C, 0x4C1F, 0xE048, 0x5F0F, 0x5F09,
-0x4036, 0xFFFE, 0xB318, 0x2C3E, 0x9908, 0x2C3C, 0xB392, 0x012C, 0x2FFD,
-0x40B2, 0xA593, 0x012A, 0x40B2, 0xA500, 0x012C, 0x4316, 0x3C0A, 0x907A,
-0x0003, 0x2002, 0x43B8, 0x0000, 0x5A0A, 0x4A1F, 0xE048, 0x5F0F, 0x5F08,
-0x9908, 0x2C1F, 0x480C, 0x128B, 0x4C4A, 0x480C, 0x12B0, 0xF922, 0x934C,
-0x240F, 0x934A, 0x2404, 0x935A, 0x2402, 0x936A, 0x23E6, 0x40B2, 0xA502,
-0x0128, 0x43B8, 0x0000, 0xB392, 0x012C, 0x2FFD, 0x3FE2, 0x40B2, 0xA500,
-0x0128, 0x40B2, 0xA510, 0x012C, 0x4036, 0xFFFE, 0x40B2, 0xA500, 0x0128,
-0x40B2, 0xA510, 0x012C, 0x460C, 0x4030, 0xFAD4, 0x120A, 0x120B, 0x1208,
-0x1209, 0x8031, 0x0010, 0x434A, 0xC0F2, 0x0040, 0x0021, 0xC3D2, 0x1B5C,
-0x3C20, 0x535A, 0x936A, 0x2801, 0x434A, 0x9A4E, 0x241A, 0x4A4B, 0xB3DB,
-0x1A30, 0x2BF6, 0x403D, 0x0014, 0x434C, 0x12B0, 0xF85E, 0x4A4D, 0x403C,
-0x1A2A, 0x1292, 0xE00C, 0x4AC2, 0x1C79, 0x5B0B, 0x4B1C, 0x1A32, 0x12B0,
-0xE5B6, 0x425A, 0x1C79, 0x4A4F, 0xC3DF, 0x1A30, 0x93C2, 0x1C75, 0x240F,
-0x421E, 0x1B86, 0x421D, 0x1B84, 0x425C, 0x1C76, 0x12B0, 0xF67A, 0x43C2,
-0x1C75, 0xC0F2, 0x0040, 0x0021, 0xC3D2, 0x1B5C, 0x434B, 0x3C3F, 0x4B48,
-0x5808, 0x5808, 0x5808, 0x481F, 0x1A06, 0x421E, 0x1A26, 0x9E1F, 0x0006,
-0x2C33, 0x421E, 0x1B9A, 0x5F0F, 0x5F0F, 0x5F0E, 0x4E19, 0x0002, 0x9309,
-0x242A, 0x93C8, 0x1A0D, 0x2427, 0x485D, 0x1A0C, 0x485C, 0x1A0B, 0x1292,
-0xE000, 0x930C, 0x381F, 0x481C, 0x1A08, 0x410F, 0x120F, 0x430F, 0x431E,
-0x4C6D, 0x503D, 0xFFFD, 0x503C, 0x0006, 0x1292, 0xE00E, 0x403C, 0x0003,
-0x1289, 0x5321, 0x931C, 0x2009, 0x1292, 0xE002, 0xB3D8, 0x1A0A, 0x2804,
-0x485C, 0x1A0B, 0x12B0, 0xF1E8, 0x410C, 0x1292, 0xE010, 0x535B, 0x926B,
-0x2BBF, 0x4A4E, 0x3F8F, 0x120A, 0x120B, 0x120D, 0x120C, 0x120F, 0x120E,
-0x421F, 0x1A00, 0x93CF, 0x0000, 0x2404, 0x40F2, 0x000A, 0x1C74, 0x3C65,
-0x403D, 0x1A47, 0x4D6C, 0x3C0A, 0x53D2, 0x1A47, 0x93C2, 0x1A47, 0x2402,
-0x43C2, 0x1A47, 0x9CC2, 0x1A47, 0x2457, 0x4D6F, 0xB3DF, 0x1A4C, 0x2BF2,
-0x4D6E, 0x5E0E, 0x4D6F, 0x5F0F, 0x9F9E, 0x1A4E, 0x1A48, 0x4D6F, 0x2C0F,
-0x5F0F, 0x4F1E, 0x1B52, 0x4D6F, 0x5F0F, 0x4F1D, 0x1A48, 0x4D0A, 0x531A,
-0x4A8F, 0x1A48, 0x5D0E, 0x4EE2, 0x0077, 0x3C3B, 0xC3DF, 0x1A4C, 0x4D6F,
-0x5F0F, 0x438F, 0x1A48, 0x4D6C, 0x4D6F, 0xB3EF, 0x1A4C, 0x2C02, 0x4382,
-0x1B5E, 0x53D2, 0x1A47, 0x93C2, 0x1A47, 0x2402, 0x43C2, 0x1A47, 0x4D6F,
-0xB3DF, 0x1A4C, 0x281C, 0x4D6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F6E, 0x4D6F,
-0x5F0F, 0x9F1E, 0x1A48, 0x2812, 0x4D6F, 0x5F0F, 0x4F1E, 0x1B52, 0x4D6F,
-0x5F0F, 0x4F1A, 0x1A48, 0x4A0B, 0x531B, 0x4B8F, 0x1A48, 0x5A0E, 0x4EE2,
-0x0077, 0x40B2, 0x0032, 0x1B5E, 0x4D6F, 0xB3DF, 0x1A4C, 0x2C03, 0x9CC2,
-0x1A47, 0x23D2, 0x413E, 0x413F, 0x413C, 0x413D, 0x413B, 0x413A, 0x1300,
-0x120A, 0x120B, 0x1208, 0x1209, 0x4C08, 0x4D4A, 0x4309, 0x3C01, 0x5319,
-0x9229, 0x2C0C, 0x490F, 0x5F0F, 0x5F0F, 0x5F0F, 0x9C9F, 0x0004, 0x1A06,
-0x23F5, 0x9CDF, 0x0002, 0x1A0B, 0x23F1, 0x4309, 0x3C01, 0x5319, 0x9229,
-0x2C07, 0x490F, 0x5F0F, 0x5F0F, 0x5F0F, 0x93BF, 0x1A06, 0x23F6, 0x9229,
-0x2C47, 0x5909, 0x5909, 0x5909, 0x90FC, 0x0006, 0x0000, 0x282B, 0x4C6B,
-0x535B, 0x4B0C, 0x12B0, 0xF386, 0x4C89, 0x1A08, 0x930C, 0x241F, 0x430F,
-0x3C08, 0x480E, 0x5F0E, 0x491D, 0x1A08, 0x5F0D, 0x4EED, 0x0000, 0x531F,
-0x9B0F, 0x2BF6, 0xF35A, 0x4AC9, 0x1A0A, 0x485E, 0x0002, 0xD07E, 0x0040,
-0x4EC9, 0x1A0B, 0x40F9, 0x0093, 0x1A0C, 0x4899, 0x0004, 0x1A06, 0x43D9,
-0x1A0D, 0x431C, 0x3C1A, 0x403C, 0xFFFC, 0x3C17, 0x4389, 0x1A08, 0xF35A,
-0x4AC9, 0x1A0A, 0x4C5E, 0x0002, 0xD07E, 0x0040, 0x4EC9, 0x1A0B, 0x40F9,
-0x0093, 0x1A0C, 0x4C99, 0x0004, 0x1A06, 0x43D9, 0x1A0D, 0x431C, 0x3C02,
-0x403C, 0xFFFD, 0x4030, 0xFAD6, 0x120D, 0x120C, 0x120F, 0x120E, 0x90B2,
-0x000E, 0x011E, 0x205F, 0xD232, 0x93A2, 0x1B5A, 0x2806, 0xB3D2, 0x1B5C,
-0x2C03, 0x53B2, 0x1B5A, 0x3C09, 0x9392, 0x1B5A, 0x2006, 0x4382, 0x1B5A,
-0x403C, 0x8004, 0x12B0, 0xF8AE, 0x93A2, 0x1B5E, 0x2805, 0x93C2, 0x1C74,
-0x2002, 0x53B2, 0x1B5E, 0x425E, 0x1B62, 0x421F, 0x1B64, 0xC312, 0x100F,
-0x921F, 0x1B66, 0x7F4F, 0xF35F, 0xF35E, 0xEF4E, 0x421F, 0x1B68, 0x2404,
-0xD2DF, 0x1B6A, 0x0000, 0x3C03, 0xC2DF, 0x1B6A, 0x0000, 0x9382, 0x1B66,
-0x2403, 0x53B2, 0x1B66, 0x3C06, 0xB3E2, 0x1B62, 0x2803, 0x4292, 0x1B64,
-0x1B66, 0x425E, 0x1B6C, 0x421F, 0x1B6E, 0xC312, 0x100F, 0x921F, 0x1B70,
-0x7F4F, 0xF35F, 0xF35E, 0xEF4E, 0x421F, 0x1B72, 0x2404, 0xD2DF, 0x1B74,
-0x0000, 0x3C03, 0xC2DF, 0x1B74, 0x0000, 0x9382, 0x1B70, 0x2403, 0x53B2,
-0x1B70, 0x3C06, 0xB3E2, 0x1B6C, 0x2803, 0x4292, 0x1B6E, 0x1B70, 0x413E,
-0x413F, 0x413C, 0x413D, 0x1300, 0x120A, 0x8031, 0x0006, 0x410C, 0x403E,
-0xE054, 0x403D, 0x0006, 0x12B0, 0xFB02, 0x12B0, 0xF7B2, 0x90B2, 0x2520,
-0x251E, 0x2852, 0x90B2, 0xFDDA, 0x251E, 0x2C4E, 0x421F, 0x1A02, 0x90BF,
-0x5137, 0x0000, 0x201F, 0x434A, 0x3C0F, 0x4A4F, 0x5F0F, 0x421E, 0x1A04,
-0x5F0E, 0x93BE, 0x0000, 0x2006, 0x93BF, 0x2500, 0x2403, 0x4F9F, 0x2500,
-0x24E0, 0x535A, 0x907A, 0x0010, 0x2BEE, 0x421D, 0x251E, 0x421E, 0x1B7A,
-0x421F, 0x1B7C, 0x403C, 0xE000, 0x128D, 0x4C82, 0x1A26, 0x421F, 0x1A26,
-0x930F, 0x2423, 0x4F92, 0x0008, 0x1B9A, 0x9382, 0x1B9A, 0x241D, 0x434A,
-0x3C16, 0x421F, 0x1B9A, 0x4A4E, 0x5E0E, 0x5E0E, 0x5E0F, 0x93BF, 0x0000,
-0x240C, 0x90BF, 0xFF00, 0x0000, 0x2808, 0x4AC1, 0x0004, 0x43C1, 0x0005,
-0x434D, 0x410C, 0x12B0, 0xED38, 0x535A, 0x421F, 0x1A26, 0x9F1A, 0x0006,
-0x2BE5, 0x430C, 0x3C01, 0x433C, 0x5031, 0x0006, 0x413A, 0x4130, 0x120A,
-0x120B, 0x1208, 0x1209, 0x1206, 0x1207, 0x4C0B, 0x4D08, 0x430C, 0x9382,
-0x1B54, 0x203B, 0x4309, 0x9809, 0x2C4E, 0x4036, 0x1A46, 0x466F, 0x5F0F,
-0x90BF, 0x00FF, 0x1A4E, 0x281E, 0x466F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F5A,
-0x0001, 0x466F, 0x5F0F, 0x4F1F, 0x1B52, 0x4F57, 0x0002, 0x466F, 0x5F0F,
-0x4F1F, 0x1B52, 0xD0FF, 0x0080, 0x0002, 0x403D, 0x0014, 0x434C, 0x12B0,
-0xF85E, 0x12B0, 0xE7A0, 0x4A4D, 0x474C, 0x12B0, 0xF57C, 0x466F, 0x5F0F,
-0x539F, 0x1A4E, 0x4B07, 0x5907, 0x466F, 0x5F0F, 0x4F1E, 0x1B52, 0x466F,
-0x5F0F, 0x5F1E, 0x1A4E, 0x47EE, 0x0000, 0x5319, 0x3FC6, 0x93B2, 0x1B54,
-0x2413, 0x4309, 0x3C0B, 0x4B0F, 0x590F, 0x4217, 0x1B54, 0x5217, 0x1B58,
-0x4FE7, 0x0000, 0x5319, 0x5392, 0x1B58, 0x9D09, 0x2C04, 0x9292, 0x1B56,
-0x1B58, 0x2BEF, 0x4030, 0xFAD2, 0x120A, 0x120B, 0x1208, 0x1209, 0x433F,
-0x93D2, 0x1C7B, 0x2054, 0xB392, 0x1B9C, 0x2828, 0x4C92, 0x0004, 0x1C6C,
-0x421D, 0x1C6C, 0x4D0A, 0x5C1A, 0x0008, 0x4A82, 0x1C6E, 0x4D82, 0x1C6A,
-0x4C0B, 0x503B, 0x000C, 0x4C6E, 0x503E, 0xFFF5, 0xC312, 0x100E, 0x5E0E,
-0x4B08, 0x5E08, 0xB31D, 0x2C0C, 0x9A0D, 0x2C0A, 0x40B2, 0xA593, 0x012A,
-0x40B2, 0xA500, 0x012C, 0x40B2, 0xA540, 0x0128, 0x3C0D, 0x403F, 0xFFFD,
-0x3C0A, 0x4C0B, 0x522B, 0x4C6E, 0x503E, 0xFFFD, 0xC312, 0x100E, 0x5E0E,
-0x4B08, 0x5E08, 0x933F, 0x201D, 0x421C, 0x1C6A, 0x12B0, 0xF522, 0x3C07,
-0x4BB9, 0x0000, 0x4A5F, 0xE05A, 0x5F0F, 0x5F82, 0x1C6A, 0x4219, 0x1C6A,
-0x9219, 0x1C6E, 0x2C0B, 0x980B, 0x2C09, 0x490C, 0x12B0, 0xF522, 0x4C4A,
-0x490C, 0x12B0, 0xF80C, 0x934C, 0x23E9, 0x431F, 0x4F0C, 0x4030, 0xFAD6,
-0x120A, 0x120B, 0x1208, 0x1209, 0x4C0A, 0x4D0B, 0x4348, 0x3C11, 0x4849,
-0x5909, 0x403C, 0x0102, 0x12B0, 0xF386, 0x4C89, 0x1A36, 0x9389, 0x1A36,
-0x2002, 0x12B0, 0xFB20, 0x4999, 0x1A36, 0x1A32, 0x5358, 0x9368, 0x2BED,
-0x4348, 0x3C04, 0x40B2, 0x1A50, 0x1B52, 0x4358, 0x9348, 0x27FA, 0x43C2,
-0x0070, 0x43D2, 0x0070, 0xD0F2, 0x00C0, 0x0004, 0xD0F2, 0x0010, 0x0070,
-0x93C2, 0x0057, 0x3803, 0x407E, 0x0020, 0x3C02, 0x407E, 0x0010, 0x4EC2,
-0x0071, 0x421C, 0x1B76, 0x421D, 0x1B78, 0x4A0E, 0x4B0F, 0x12B0, 0xF710,
-0x4CC2, 0x0074, 0x108C, 0x4CC2, 0x0075, 0x42D2, 0x1C72, 0x0073, 0xC3D2,
-0x0070, 0x43C2, 0x1C74, 0xD0F2, 0x00C0, 0x0000, 0x93C2, 0x0076, 0xC0F2,
-0x0040, 0x0021, 0xC3D2, 0x1B5C, 0x4030, 0xFAD6, 0x120A, 0x120B, 0x1208,
-0x934C, 0x2024, 0x430A, 0x430B, 0x922B, 0x2C3E, 0x4B08, 0x5808, 0x5808,
-0x5808, 0x481F, 0x1A06, 0x933F, 0x2416, 0x421E, 0x1B9A, 0x5F0F, 0x5F0F,
-0x5F0E, 0x90BE, 0xFF00, 0x0000, 0x2C0D, 0x481C, 0x1A08, 0x930C, 0x2402,
-0x12B0, 0xF3F8, 0x4388, 0x1A08, 0x43B8, 0x1A06, 0x43D8, 0x1A0D, 0x531A,
-0x531B, 0x3FDE, 0x430B, 0x3C01, 0x531B, 0x922B, 0x2C07, 0x4B0F, 0x5F0F,
-0x5F0F, 0x5F0F, 0x9CCF, 0x1A0B, 0x23F6, 0x922B, 0x2C0F, 0x5B0B, 0x5B0B,
-0x5B0B, 0x4B1C, 0x1A08, 0x930C, 0x2402, 0x12B0, 0xF3F8, 0x438B, 0x1A08,
-0x43BB, 0x1A06, 0x43DB, 0x1A0D, 0x431A, 0x4A0C, 0x4030, 0xFAD8, 0x434F,
-0xB0F2, 0x0040, 0x0000, 0x2804, 0xC0F2, 0x0040, 0x0000, 0x435F, 0x43C2,
-0x1A2A, 0x434E, 0x3C13, 0x4E4D, 0x43CD, 0x1A30, 0x43C2, 0x1A2B, 0x43C2,
-0x1A2C, 0x5D0D, 0x4D1C, 0x1A32, 0x43CC, 0x0000, 0x438D, 0x1A42, 0x438D,
-0x1A3A, 0x438D, 0x1A3E, 0x535E, 0x936E, 0x2BEB, 0x4382, 0x1B5A, 0x403D,
-0x012C, 0x42D2, 0x0076, 0x1C77, 0x42D2, 0x0076, 0x1C77, 0x42D2, 0x0076,
-0x1C77, 0xC0F2, 0x0040, 0x0002, 0xF0F2, 0x000E, 0x0072, 0x434E, 0x3C02,
-0x4303, 0x535E, 0x937E, 0x23FC, 0x533D, 0x930D, 0x2404, 0xB0F2, 0x0040,
-0x0002, 0x2FE4, 0x934F, 0x2403, 0xD0F2, 0x0040, 0x0000, 0x4130, 0x120A,
-0x120B, 0x4C0A, 0x430C, 0x421E, 0x1B8E, 0xB35E, 0x2421, 0x438A, 0x0000,
-0x438A, 0x0002, 0x403B, 0xF836, 0x4A0C, 0x128B, 0x930C, 0x2402, 0x433C,
-0x3C26, 0x4A0C, 0x531C, 0x128B, 0x930C, 0x2403, 0x403C, 0xFFFE, 0x3C1E,
-0x4A0C, 0x532C, 0x128B, 0x930C, 0x2403, 0x403C, 0xFFFD, 0x3C16, 0x503A,
-0x0003, 0x4A0C, 0x128B, 0x3C11, 0x9E82, 0x1B8C, 0x2C03, 0x403C, 0xFFFB,
-0x3C0B, 0x4EBA, 0x0000, 0x4EBA, 0x0002, 0x52A2, 0x1B8E, 0x9292, 0x1B8E,
-0x1B8C, 0x2C01, 0x431C, 0x413B, 0x413A, 0x4130, 0x120A, 0x531C, 0xC31C,
-0x421E, 0x1A28, 0x421D, 0xE052, 0x8E0D, 0x4C0F, 0x522F, 0x9F0D, 0x280F,
-0x43DE, 0x0000, 0x421F, 0x1A28, 0x5C0F, 0x522F, 0x4F82, 0x1A28, 0x4F8E,
-0x0002, 0x421F, 0x1A28, 0x8C0F, 0x4F0C, 0x3C1C, 0x421F, 0xE050, 0x3C02,
-0x4F1F, 0x0002, 0x9E0F, 0x2C14, 0x93CF, 0x0000, 0x23F9, 0x4F1D, 0x0002,
-0x8F0D, 0x822D, 0x9C0D, 0x2BF3, 0x4F0A, 0x522A, 0x43DF, 0x0000, 0x4A0D,
-0x5C0D, 0x4F0C, 0x12B0, 0xFA4C, 0x4A0C, 0x3C01, 0x430C, 0x413A, 0x4130,
-0x120A, 0x421E, 0xE050, 0x4E0D, 0x930C, 0x2004, 0x3C2E, 0x4E0D, 0x4E1E,
-0x0002, 0x921E, 0x1A28, 0x2C28, 0x4E0F, 0x522F, 0x9F0C, 0x23F6, 0x93CE,
-0x0000, 0x2421, 0x4E1F, 0x0002, 0x921F, 0x1A28, 0x2C02, 0x4F0C, 0x3C01,
-0x4E0C, 0x4C6A, 0x93CD, 0x0000, 0x2008, 0x934A, 0x2002, 0x4C1F, 0x0002,
-0x4F8D, 0x0002, 0x4D0E, 0x3C07, 0x934A, 0x2003, 0x4C9E, 0x0002, 0x0002,
-0x43CE, 0x0000, 0x929E, 0x1A28, 0x0002, 0x2002, 0x4E82, 0x1A28, 0x413A,
-0x4130, 0x120A, 0x120B, 0x1208, 0x1209, 0x1206, 0x4C0A, 0x4D0B, 0x4E08,
-0x4F09, 0x4116, 0x000C, 0x403E, 0x0006, 0x403D, 0x1B8A, 0x460C, 0x12B0,
-0xFA80, 0x4296, 0x1B54, 0x000C, 0x4296, 0x1B56, 0x000E, 0x4A82, 0x1B8A,
-0x4A0F, 0x5B0F, 0x4F82, 0x1B8C, 0x4A82, 0x1B8E, 0x9318, 0x240B, 0x9308,
-0x2003, 0x43B2, 0x1B54, 0x3C02, 0x4882, 0x1B54, 0x4982, 0x1B56, 0x4382,
-0x1B58, 0x430C, 0x4030, 0xFAD4, 0x120A, 0x120B, 0x1208, 0x4C0A, 0x4308,
-0x430B, 0x90FA, 0x000B, 0x0000, 0x201A, 0x407D, 0x0093, 0x4A5C, 0x0002,
-0x1292, 0xE000, 0x930C, 0x380F, 0x4A1B, 0x0004, 0x4B08, 0x5A18, 0x0008,
-0x3C04, 0x4B2C, 0x1292, 0xE008, 0x532B, 0x980B, 0x2BFA, 0x403B, 0x8000,
-0x3C05, 0x403B, 0x8007, 0x3C02, 0x403B, 0x800B, 0x903B, 0x8000, 0x2002,
-0x1292, 0xE002, 0x4B0C, 0x4030, 0xFAD8, 0x434F, 0x434E, 0x3C01, 0x536E,
-0x936E, 0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE03C, 0x2BF8, 0x9C8D, 0xE03E,
-0x2BF5, 0x936E, 0x2C02, 0x436F, 0x3C11, 0x434E, 0x3C01, 0x536E, 0x926E,
-0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE040, 0x2BF8, 0x9C8D, 0xE042, 0x2BF5,
-0x926E, 0x2C02, 0x407F, 0x0003, 0x934F, 0x2006, 0x503C, 0xDB00, 0x903C,
-0x00FF, 0x2C01, 0x435F, 0x4F4C, 0x4130, 0x403E, 0x1A46, 0x4E6F, 0xB0FF,
-0x000B, 0x1A4C, 0x2403, 0x93A2, 0x1B5E, 0x2FF6, 0x4E6F, 0xB0FF, 0x000B,
-0x1A4C, 0x2405, 0x12B0, 0xFB5A, 0x403C, 0x8007, 0x4130, 0x4E6F, 0x5F0F,
-0x4F1F, 0x1B52, 0x4DCF, 0x0001, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x4CCF,
-0x0002, 0x4E6F, 0x5F0F, 0x4F1F, 0x1B52, 0x43CF, 0x0003, 0x4E6F, 0x5F0F,
-0x40BF, 0x0003, 0x1A4E, 0x430C, 0x4130, 0x120A, 0x8321, 0x4C0A, 0x430C,
-0x421E, 0x1B8E, 0xB35E, 0x2411, 0x410C, 0x12B0, 0xF836, 0x416D, 0x930C,
-0x2007, 0x410C, 0x12B0, 0xF836, 0x416F, 0x108F, 0x5F0D, 0x3C01, 0x433C,
-0x4D8A, 0x0000, 0x3C0F, 0x9E82, 0x1B8C, 0x2C03, 0x403C, 0xFFFE, 0x3C09,
-0x4EAA, 0x0000, 0x53A2, 0x1B8E, 0x9292, 0x1B8E, 0x1B8C, 0x2C01, 0x431C,
-0x5321, 0x413A, 0x4130, 0x120A, 0x430F, 0x403F, 0xFDFC, 0x40B2, 0xA593,
-0x012A, 0x40B2, 0xA500, 0x012C, 0x40B2, 0xA502, 0x0128, 0x43BF, 0x0000,
-0xB392, 0x012C, 0x2FFD, 0x40B2, 0xA500, 0x0128, 0x40B2, 0xA510, 0x012C,
-0x430A, 0x3C06, 0x403D, 0x001E, 0x434C, 0x12B0, 0xF990, 0x531A, 0x903A,
-0x0064, 0x2BF7, 0x4382, 0x0120, 0x413A, 0x4130, 0x120A, 0x120B, 0x1208,
-0x4D0A, 0x4E0B, 0x407D, 0x0092, 0x1292, 0xE000, 0x930C, 0x3819, 0x930B,
-0x2004, 0x4A0C, 0x1292, 0xE008, 0x3C0F, 0x4308, 0x3C08, 0x480E, 0x5E0E,
-0x4B0F, 0x5E0F, 0x4F2C, 0x1292, 0xE008, 0x5318, 0x9A08, 0x2C03, 0x9038,
-0x007E, 0x2BF3, 0x1292, 0xE002, 0x430C, 0x3C01, 0x433C, 0x4030, 0xFAD8,
-0x433F, 0x93CC, 0x0004, 0x2012, 0x43C2, 0x1C7B, 0x40B2, 0xA510, 0x012C,
-0x12B0, 0xEEF0, 0x430C, 0x12B0, 0xF748, 0x434C, 0x12B0, 0xF9B2, 0x435C,
-0x12B0, 0xF9F2, 0x430F, 0x3C0C, 0x93DC, 0x0004, 0x2009, 0x43D2, 0x1C7B,
-0x403C, 0x001E, 0x12B0, 0xF748, 0x12B0, 0xF77E, 0x431F, 0x4F0C, 0x4130,
-0x1209, 0x120A, 0x120B, 0x430A, 0x430B, 0x4039, 0x0020, 0x5C0C, 0x6D0D,
-0x6A0A, 0x6B0B, 0x8E0A, 0x7F0B, 0x2804, 0xD31C, 0x5339, 0x23F6, 0x3C04,
-0x5E0A, 0x6F0B, 0x5339, 0x23F1, 0x4A0E, 0x4B0F, 0x413B, 0x413A, 0x4139,
-0x4130, 0xC232, 0x4303, 0x4C0F, 0x5F0F, 0x4F82, 0x1B64, 0x4C82, 0x1B66,
-0x4F82, 0x1B6E, 0x4C82, 0x1B70, 0x930C, 0x2406, 0x40F2, 0x0003, 0x1B62,
-0x43E2, 0x1B6C, 0x3C04, 0x43C2, 0x1B62, 0x43C2, 0x1B6C, 0xD232, 0x430C,
-0x4130, 0x120A, 0x120B, 0x430A, 0x3C11, 0x4A0B, 0x5B0B, 0x5B0B, 0x5B0B,
-0x4B1C, 0x1A08, 0x930C, 0x2402, 0x12B0, 0xF3F8, 0x438B, 0x1A08, 0x43BB,
-0x1A06, 0x43DB, 0x1A0D, 0x531A, 0x922A, 0x3BED, 0x413B, 0x413A, 0x4130,
-0x40B2, 0x1B90, 0x1A26, 0x4382, 0x1B9A, 0x434E, 0x3C0C, 0x4E4F, 0x5F0F,
-0x421D, 0x1A04, 0x5F0D, 0x93BD, 0x0000, 0x2003, 0x40BF, 0xFB62, 0x24E0,
-0x535E, 0x907E, 0x0010, 0x2BF1, 0x430C, 0x4130, 0x434C, 0x12B0, 0xFB4A,
-0x12B0, 0xE386, 0x403C, 0x0800, 0x403D, 0x0007, 0x12B0, 0xF13A, 0x12B0,
-0xEEF0, 0x434C, 0x12B0, 0xF9B2, 0x435C, 0x12B0, 0xF9F2, 0x4030, 0xEB3A,
-0x434F, 0x434E, 0x3C01, 0x536E, 0x907E, 0x0006, 0x2C08, 0x4E4D, 0x5D0D,
-0x9D1C, 0xE028, 0x2BF7, 0x9C8D, 0xE02A, 0x2BF4, 0x907E, 0x0006, 0x2C01,
-0x435F, 0x4F4C, 0x4130, 0x430F, 0x9292, 0x1B8E, 0x1B8C, 0x2C02, 0x433F,
-0x3C0B, 0x421E, 0x1B8E, 0x4EEC, 0x0000, 0x5392, 0x1B8E, 0x9292, 0x1B8E,
-0x1B8C, 0x2C01, 0x431F, 0x4F0C, 0x4130, 0x936C, 0x2C10, 0x4C4C, 0x5C0C,
-0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x938C, 0x1B66, 0x2007, 0x5D0D, 0x4D8C,
-0x1B64, 0x4D8C, 0x1B66, 0xC3EC, 0x1B62, 0x430C, 0x4130, 0x403E, 0x0114,
-0x430D, 0x403C, 0x1A46, 0x12B0, 0xFA68, 0x4382, 0x1B5E, 0x43C2, 0x1C73,
-0x434E, 0x3C04, 0x40B2, 0x1A50, 0x1B52, 0x435E, 0x934E, 0x27FA, 0x4130,
-0x120A, 0x4C0A, 0xC0F2, 0x0040, 0x0000, 0x12B0, 0xF27C, 0x4A82, 0x1B84,
-0x43D2, 0x1C75, 0x4382, 0x1B86, 0x43C2, 0x1C76, 0xD0F2, 0x0040, 0x0000,
-0x413A, 0x4130, 0x907C, 0x0040, 0x240E, 0x430F, 0x3C01, 0x531F, 0x922F,
-0x3409, 0x4F0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x9CCE, 0x1A0B, 0x23F6, 0x43DE,
-0x1A0D, 0x431C, 0x4130, 0x907C, 0x0040, 0x240E, 0x430F, 0x3C01, 0x531F,
-0x922F, 0x3409, 0x4F0E, 0x5E0E, 0x5E0E, 0x5E0E, 0x9CCE, 0x1A0B, 0x23F6,
-0x43CE, 0x1A0D, 0x431C, 0x4130, 0x434F, 0x434E, 0x3C01, 0x536E, 0x926E,
-0x2C08, 0x4E4D, 0x5D0D, 0x9D1C, 0xE034, 0x2BF8, 0x9C8D, 0xE036, 0x2BF5,
-0x926E, 0x2C01, 0x435F, 0x4F4C, 0x4130, 0x120A, 0x4C0A, 0x403E, 0x0006,
-0x4C0D, 0x403C, 0x1B8A, 0x12B0, 0xFA80, 0x4A92, 0x000C, 0x1B54, 0x4A92,
-0x000E, 0x1B56, 0x430C, 0x413A, 0x4130, 0x4D4D, 0x5D0D, 0x5D0C, 0x4C1E,
-0x0008, 0x4E82, 0x1B8A, 0x4E6F, 0x5F0E, 0x4E82, 0x1B8C, 0x421F, 0x1B8A,
-0x522F, 0x4F82, 0x1B8E, 0x430C, 0x4130, 0x936C, 0x2C0D, 0x4C4C, 0x5C0C,
-0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x5D0D, 0x4D8C, 0x1B64, 0x4D8C, 0x1B66,
-0x43EC, 0x1B62, 0x430C, 0x4130, 0x936C, 0x2C0C, 0x4C4C, 0x5C0C, 0x4C0F,
-0x5C0C, 0x5C0C, 0x5F0C, 0x43CC, 0x1B62, 0x438C, 0x1B64, 0x438C, 0x1B66,
-0x430C, 0x4130, 0x425F, 0x1A46, 0x5F0F, 0x4F1F, 0x1B52, 0x4F5E, 0x0001,
-0x425F, 0x1A46, 0x5F0F, 0x4F1F, 0x1B52, 0x4CCF, 0x0001, 0x4E4C, 0x4130,
-0x936C, 0x2C0C, 0x4C4C, 0x5C0C, 0x4C0F, 0x5C0C, 0x5C0C, 0x5F0C, 0x43DC,
-0x1B62, 0x438C, 0x1B64, 0x438C, 0x1B66, 0x430C, 0x4130, 0x425F, 0x1A47,
-0x5F0F, 0x438F, 0x1A48, 0x425F, 0x1A46, 0x5F0F, 0x4C8F, 0x1A4E, 0x425F,
-0x1A46, 0xD3DF, 0x1A4C, 0x4130, 0x8321, 0x4C0D, 0x433C, 0x3C01, 0x533D,
-0x930D, 0x2405, 0x410C, 0x12B0, 0xF836, 0x933C, 0x23F8, 0x5321, 0x4130,
-0x4C1F, 0x0002, 0x4F0E, 0x8D0E, 0x903E, 0x0005, 0x2806, 0x4D8C, 0x0002,
-0x43CD, 0x0000, 0x4F8D, 0x0002, 0x4130, 0x120A, 0x4C0A, 0x3C03, 0x4DCA,
-0x0000, 0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9, 0x413A, 0x4130, 0x120A,
-0x4C0A, 0x3C03, 0x4DFA, 0x0000, 0x531A, 0x4E0F, 0x533E, 0x930F, 0x23F9,
-0x413A, 0x4130, 0x430F, 0x3C02, 0x4303, 0x531F, 0x933F, 0x23FC, 0x4382,
-0x0120, 0x4130, 0x3C02, 0xC3E2, 0x0002, 0xB3E2, 0x0002, 0x2FFB, 0xD3E2,
-0x0000, 0x1300, 0x4C0F, 0x5D0F, 0x3C03, 0x43CC, 0x0000, 0x531C, 0x9F0C,
-0x23FB, 0x4130, 0x4135, 0x4134, 0x4137, 0x4136, 0x4139, 0x4138, 0x413B,
-0x413A, 0x4130, 0x3C04, 0x4DFC, 0x0000, 0x531C, 0x533E, 0x930E, 0x23FA,
-0x430C, 0x4130, 0x120D, 0x120C, 0x422D, 0x410C, 0x12B0, 0xEFBE, 0x5221,
-0x4130, 0x120C, 0x4EFC, 0x0000, 0x531C, 0x831D, 0x23FB, 0x413C, 0x4130,
-0x40B2, 0x0032, 0x1B5E, 0xD0F2, 0x0080, 0x0002, 0x4130, 0x434C, 0x12B0,
-0xF9F2, 0x435C, 0x12B0, 0xF9B2, 0x3FFF, 0x124C, 0x431D, 0x410C, 0x12B0,
-0xEFBE, 0x5321, 0x4130, 0x120C, 0x432D, 0x410C, 0x12B0, 0xEFBE, 0x5321,
-0x4130, 0x40B2, 0x5A80, 0x0120, 0x4130, 0x4030, 0xFB56, 0x4030, 0xFB64,
-0x4030, 0xF886, 0x4030, 0xFA80, 0x1300, 0x3FFF, 0x000B, 0xEC42, 0xE0B0,
-0xEE18, 0xFAAA, 0xE088, 0x000F, 0x2112, 0xFEDF,
-};
-
-const unsigned long coreImage_address[] =
-{
-0x0000E000, 0x0000FDD8, 0x0000FDEA, 0x0000FDF2, 0x0000FDF6,
-};
-const unsigned long coreImage_length_of_sections[] =
-{
-0x00000DB3, 0x00000001, 0x00000002, 0x00000001, 0x00000005,
-};
-const unsigned long coreImage_sections = 0x00000005;
-const unsigned long coreImage_termination = 0x00000000;
-const unsigned long coreImage_start = 0x0000E000;
-const unsigned long coreImage_finish = 0x0000FE00;
-const unsigned long coreImage_length = 0x00001E00;
-
-#define COREIMAGE_TERMINATION 0x00000000
-#define COREIMAGE_START 0x0000E000
-#define COREIMAGE_FINISH 0x0000FE00
-#define COREIMAGE_LENGTH 0x00001E00
-#define COREIMAGE_SECTIONS 0x00000005
diff --git a/Bios/tools/ModifyCore.pl b/Bios/tools/ModifyCore.pl
deleted file mode 100644
index b5a20c8..0000000
--- a/Bios/tools/ModifyCore.pl
+++ /dev/null
@@ -1,129 +0,0 @@
-################################################################################
-#!/win32/perl/bin/perl #
-#------------------------------------------------------------------------------#
-# #
-# Author: Patrick de Cesar Francisco #
-# #
-# #
-# Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ #
-# #
-# #
-# Redistribution and use in source and binary forms, with or without #
-# modification, are permitted provided that the following conditions #
-# are met: #
-# #
-# Redistributions of source code must retain the above copyright #
-# notice, this list of conditions and the following disclaimer. #
-# #
-# Redistributions in binary form must reproduce the above copyright #
-# notice, this list of conditions and the following disclaimer in the #
-# documentation and/or other materials provided with the #
-# distribution. #
-# #
-# Neither the name of Texas Instruments Incorporated nor the names of #
-# its contributors may be used to endorse or promote products derived #
-# from this software without specific prior written permission. #
-# #
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS #
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT #
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR #
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT #
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, #
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT #
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY #
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT #
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE #
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #
-# #
-#------------------------------------------------------------------------------#
-# Description: Create new directories. #
-# Change the data inside files #
-# Save the new file into the new directory #
-#------------------------------------------------------------------------------#
-################################################################################
-
-# -- Use Modules ---------------------------------------------------------------------------------------------------------
-use warnings;
-
-#public vars:
-
-$infile = "src/up/core_Image_V3.h";
-#$infile = "C:/MSP430/a0406322_V3DLL/msp430_tools/Projects/MSP430_DLLv3/Bios/src/up/core_Image_V3.h";
-
-$output = "include/Core.h";
-#$output = "C:/MSP430/a0406322_V3DLL/msp430_tools/Projects/MSP430_DLLv3/Bios/include/Core.h";
-
-
-# -- Variables --------------------------------------------------------------------------------------------------------
-my $temp_text = "";
-my $string = "";
-my $add_this = " 0x2112,0xFEDF,\n";
-
-my $lookfor_1 = "unsigned short";
-my $lookfor_variable_1 ="unsigned short" ;
-my $change_variable_to_1 = "uint16_t";
-
-my $lookfor_2 = "unsigned long";
-my $lookfor_variable_2 ="unsigned long" ;
-my $change_variable_to_2 = "uint32_t";
-
-# -- Routine prototypes -----------------------------------------------------------------------------------------------
-sub replace_string;
-sub main();
-
-# -- Routines ---------------------------------------------------------------------------------------------------------
-
-sub replace_string_1
-{
- $string = "@_";
- $string =~ s/$lookfor_variable_1/$change_variable_to_1/;
- return($string);
-}
-
-sub replace_string_2
-{
- $string = "@_";
- $string =~ s/$lookfor_variable_2/$change_variable_to_2/;
- return($string);
-}
-
-sub main()
-{
- open FILE, $infile or die $!;
- open OUTPUT_FILE, ">$output";
-
- # Read data from file
- my @lines = ;
-
- my $i;
- my $temp_text = '';
-
- for($i = 1; $i< @lines; $i=$i+1)
- {
- $temp_text = $lines[$i];
-
- # perform variable change
- if($temp_text =~ m/ ($lookfor_1) /)
- {
- $temp_text = replace_string_1($temp_text);
- $lines[$i] = $temp_text;
- }
- if($temp_text =~ m/ ($lookfor_2) /)
- {
- $temp_text = replace_string_2($temp_text);
- $lines[$i] = $temp_text;
- }
-
- }
- print OUTPUT_FILE @lines;
-
- # Save files
- close (OUTPUT_FILE);
- close (FILE);
-}
-
-eval {main()};
-warn $@ if $@;
-
-# -- END -----------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/Bios/tools/ModifyHal.pl b/Bios/tools/ModifyHal.pl
deleted file mode 100644
index a290c62..0000000
--- a/Bios/tools/ModifyHal.pl
+++ /dev/null
@@ -1,128 +0,0 @@
-################################################################################
-#!/win32/perl/bin/perl #
-#------------------------------------------------------------------------------#
-# #
-# Author: Patrick de Cesar Francisco #
-# #
-# #
-# Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ #
-# #
-# #
-# Redistribution and use in source and binary forms, with or without #
-# modification, are permitted provided that the following conditions #
-# are met: #
-# #
-# Redistributions of source code must retain the above copyright #
-# notice, this list of conditions and the following disclaimer. #
-# #
-# Redistributions in binary form must reproduce the above copyright #
-# notice, this list of conditions and the following disclaimer in the #
-# documentation and/or other materials provided with the #
-# distribution. #
-# #
-# Neither the name of Texas Instruments Incorporated nor the names of #
-# its contributors may be used to endorse or promote products derived #
-# from this software without specific prior written permission. #
-# #
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS #
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT #
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR #
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT #
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, #
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT #
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY #
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT #
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE #
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #
-# #
-#------------------------------------------------------------------------------#
-# Description: Create new directories. #
-# Change the data inside files #
-# Save the new file into the new directory #
-#------------------------------------------------------------------------------#
-################################################################################
-
-# -- Use Modules ---------------------------------------------------------------------------------------------------------
-use warnings;
-
-#public vars:
-
-$infile = "src/hal/UifHal.h";
-#$infile = "C:/MSP430/a0406322_V3DLL/msp430_tools/Projects/MSP430_DLLv3/Bios/src/up/core_Image_V3.h";
-
-$output = "include/UifHal.h";
-#$output = "C:/MSP430/a0406322_V3DLL/msp430_tools/Projects/MSP430_DLLv3/Bios/include/Core.h";
-
-
-# -- Variables --------------------------------------------------------------------------------------------------------
-my $temp_text = "";
-my $string = "";
-
-my $lookfor_1 = "unsigned short";
-my $lookfor_variable_1 ="unsigned short" ;
-my $change_variable_to_1 = "uint16_t";
-
-my $lookfor_2 = "unsigned long";
-my $lookfor_variable_2 ="unsigned long" ;
-my $change_variable_to_2 = "uint32_t";
-
-# -- Routine prototypes -----------------------------------------------------------------------------------------------
-sub replace_string;
-sub main();
-
-# -- Routines ---------------------------------------------------------------------------------------------------------
-
-sub replace_string_1
-{
- $string = "@_";
- $string =~ s/$lookfor_variable_1/$change_variable_to_1/;
- return($string);
-}
-
-sub replace_string_2
-{
- $string = "@_";
- $string =~ s/$lookfor_variable_2/$change_variable_to_2/;
- return($string);
-}
-
-sub main()
-{
- open FILE, $infile or die $!;
- open OUTPUT_FILE, ">$output";
-
- # Read data from file
- my @lines = ;
-
- my $i;
- my $temp_text = '';
-
- for($i = 1; $i< @lines; $i=$i+1)
- {
- $temp_text = $lines[$i];
-
- # perform variable change
- if($temp_text =~ m/ ($lookfor_1) /)
- {
- $temp_text = replace_string_1($temp_text);
- $lines[$i] = $temp_text;
- }
- if($temp_text =~ m/ ($lookfor_2) /)
- {
- $temp_text = replace_string_2($temp_text);
- $lines[$i] = $temp_text;
- }
-
- }
- print OUTPUT_FILE @lines;
-
- # Save files
- close (OUTPUT_FILE);
- close (FILE);
-}
-
-eval {main()};
-warn $@ if $@;
-
-# -- END -----------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/Bios/tools/convertEzFetTxt.bat b/Bios/tools/convertEzFetTxt.bat
new file mode 100644
index 0000000..c43b57d
--- /dev/null
+++ b/Bios/tools/convertEzFetTxt.bat
@@ -0,0 +1,73 @@
+REM convertEtFetTxt.bat
+REM
+REM Copyright (C) 2007 - 2013 Texas Instruments Incorporated - http://www.ti.com/
+REM
+REM
+REM Redistribution and use in source and binary forms, with or without
+REM modification, are permitted provided that the following conditions
+REM are met:
+REM
+REM Redistributions of source code must retain the above copyright
+REM notice, this list of conditions and the following disclaimer.
+REM
+REM Redistributions in binary form must reproduce the above copyright
+REM notice, this list of conditions and the following disclaimer in the
+REM documentation and/or other materials provided with the
+REM distribution.
+REM
+REM Neither the name of Texas Instruments Incorporated nor the names of
+REM its contributors may be used to endorse or promote products derived
+REM from this software without specific prior written permission.
+REM
+REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+REM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+REM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+REM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+REM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+REM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+set "TMP=%1%\tools\tmp"
+set "SED=%1%\tools\sed.exe"
+set "SRECCAT=%1%\tools\srec_cat.exe"
+set "SRC=%1\objects\image\%2.txt"
+set "DST=%1\include\%2.h"
+set "TMP_TXT=%TMP%\%2_tmp.txt"
+set "TMP_HEADER=%TMP%\%2_tmp.h"
+
+if not exist %TMP% mkdir %TMP%
+if not %ERRORLEVEL% == 0 (
+ @echo "Failed creating tmp directory"
+ exit 1
+)
+
+%SRECCAT% %SRC% -guess -fill 0xFF -within %SRC% -guess -range-padding 2 -o %TMP_TXT% -ti_txt
+if not %ERRORLEVEL% == 0 (
+ @echo "Failed creating tmp file"
+ exit 1
+)
+
+%SRECCAT% %TMP_TXT% -guess -o %TMP_HEADER% -ca %2%Image -ow -c_comp
+if not %ERRORLEVEL% == 0 (
+ @echo "Failed creating header file"
+ exit 1
+)
+
+%SED% -i "s/unsigned short/uint16_t/g;s/unsigned long/uint32_t/g" %TMP_HEADER%
+if not %ERRORLEVEL% == 0 (
+ @echo "Failed patching type names"
+ exit 1
+)
+
+copy %TMP_HEADER% %DST%
+if not %ERRORLEVEL% == 0 (
+ @echo "Failed copying file"
+ exit 1
+)
+
+del %TMP_TXT%
+del %TMP_HEADER%
diff --git a/Bios/tools/uifbioscorePostBuild.bat b/Bios/tools/uifbioscorePostBuild.bat
deleted file mode 100644
index 3a96e47..0000000
--- a/Bios/tools/uifbioscorePostBuild.bat
+++ /dev/null
@@ -1,18 +0,0 @@
-REM uifbioscorePostBuild.bat
-REM FB 09/02/2011
-
-set "PARAM_1=%1%"
-set "SRECCAT=%1%\tools\srec_cat.exe"
-set "UIFBIOSCORE_TXT=%1%\objects\image\UifBiosCore.txt"
-set "UIFBIOSCORE_TMP_TXT=%1%\objects\image\UifBiosCore.tmp.txt"
-set "COREIMAGE_H=%1%\src\up\core_Image_V3.h"
-set "MODIFYCORE_PL=%1%\tools\ModifyCore.pl"
-
-REM converts UifBiosCore.txt to SRec C-Array in core_Image_V3.h, adds padding byte if necessary
-%SRECCAT% %UIFBIOSCORE_TXT% -guess -fill 0xFF -within %UIFBIOSCORE_TXT% -guess -range-padding 2 -o %UIFBIOSCORE_TMP_TXT% -ti_txt
-%SRECCAT% %UIFBIOSCORE_TMP_TXT% -guess -o %COREIMAGE_H% -ca coreImage -ow -c_comp
-
-REM replaces "unsigned short" and "unsigned long" with "uint16_t" and "uint32_t" in core_Image_V3.h
-REM and copy it into \include\Core.txt, which is used for dll internal core update
-cd "%1"
-perl %MODIFYCORE_PL%
diff --git a/Bios/tools/uifhalPostBuild.bat b/Bios/tools/uifhalPostBuild.bat
deleted file mode 100644
index 949bc40..0000000
--- a/Bios/tools/uifhalPostBuild.bat
+++ /dev/null
@@ -1,19 +0,0 @@
-REM uifhalPostBuild.bat
-REM DF 09/06/2011
-
-set "PARAM_1=%1%"
-set "SRECCAT=%1%\tools\srec_cat.exe"
-set "UIFHAL_TXT=%1%\objects\image\UifHal.txt"
-set "UIFHAL_TMP_TXT=%1%\objects\image\UifHal.tmp.txt"
-set "UIFHAL_H=%1%\src\hal\UifHal.h"
-set "MODIFYHAL_PL=%1%\tools\ModifyHal.pl"
-
-REM converts UifHal.txt to SRec C-Array in UifHal.h, adds padding byte if necessary
-%SRECCAT% %UIFHAL_TXT% -guess -fill 0xFF -within %UIFHAL_TXT% -guess -range-padding 2 -o %UIFHAL_TMP_TXT% -ti_txt
-%SRECCAT% %UIFHAL_TMP_TXT% -guess -o %UIFHAL_H% -ca halImage -ow -c_comp
-
-REM replaces "unsigned short" and "unsigned long" with "uint16_t" and "uint32_t" in UifHal.h
-REM and copy it into \include\UifHal.txt, which is used for dll internal HAL update
-cd %PARAM_1%
-perl %MODIFYHAL_PL%
-
diff --git a/DLL430_v3.sln b/DLL430_v3.sln
new file mode 100644
index 0000000..8dfedbd
--- /dev/null
+++ b/DLL430_v3.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.902
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DLL430_v3", "DLL430_v3\DLL430_v3.vcxproj", "{09C86548-E56B-439C-B8C8-6ADAA90ED37A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Debug|Win32.Build.0 = Debug|Win32
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Debug|x64.ActiveCfg = Debug|x64
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Debug|x64.Build.0 = Debug|x64
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Release|Win32.ActiveCfg = Release|Win32
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Release|Win32.Build.0 = Release|Win32
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Release|x64.ActiveCfg = Release|x64
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {27BE52F9-E709-4206-B4D5-FF639536C52D}
+ EndGlobalSection
+EndGlobal
diff --git a/DLL430_v3/ArmReadonlyMemroyAccess.h b/DLL430_v3/ArmReadonlyMemroyAccess.h
new file mode 100644
index 0000000..ee284e5
--- /dev/null
+++ b/DLL430_v3/ArmReadonlyMemroyAccess.h
@@ -0,0 +1,70 @@
+/*
+* ArmReadonlyMemroyAccess.h
+*
+* Memory class for accessing ROM TLV data.
+*
+* Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
+*
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#pragma once
+
+#include "ArmRandomMemoryAccess.h"
+
+namespace TI
+{
+ namespace DLL430
+ {
+ class DeviceHandle;
+ class ArmReadonlyMemroyAccess : public ArmRandomMemoryAccess
+ {
+ public:
+ ArmReadonlyMemroyAccess(
+ MemoryArea::Name name,
+ DeviceHandle* devHandle,
+ uint32_t start,
+ uint32_t end,
+ uint32_t seg,
+ uint32_t banks,
+ bool mapped,
+ const bool isProtected,
+ MemoryManager* mm,
+ uint8_t psa)
+ : ArmRandomMemoryAccess(name, devHandle, start, end, seg, banks, mapped, isProtected, mm, psa) {}
+
+ virtual bool isReadOnly() const OVERRIDE{ return true; }
+
+ bool doWrite(uint32_t address, const uint8_t* buffer, size_t count) OVERRIDE{ return false; }
+ bool doWrite(uint32_t address, uint32_t value) OVERRIDE{ return false; }
+ };
+
+ }
+}
diff --git a/DLL430_v3/DLL430_v3_OS.def b/DLL430_v3/DLL430.def
similarity index 66%
rename from DLL430_v3/DLL430_v3_OS.def
rename to DLL430_v3/DLL430.def
index 7d8175d..9a3e5f1 100644
--- a/DLL430_v3/DLL430_v3_OS.def
+++ b/DLL430_v3/DLL430.def
@@ -7,6 +7,10 @@ EXPORTS
;;
;; from MSP430.h
;;
+MSP430_LoadDeviceDb
+MSP430_DumpDeviceDb
+MSP430_ClearDeviceDb
+MSP430_SetTargetArchitecture
MSP430_Initialize
MSP430_Close
MSP430_GetJtagID
@@ -30,21 +34,37 @@ MSP430_Error_Number
MSP430_Error_String
MSP430_GetNumberOfUsbIfs
MSP430_GetNameOfUsbIf
+MSP430_GetInterface_Type
+MSP430_RegisterMessageCallback
+MSP430_Autodetect
+MSP430_GetFETName
+MSP430_GetLaunchpadName
+MSP430_HIL_TCLK_V3
;;
;; from MSP430_HIL.h
;;
MSP430_HIL_ResetJtagTap
+MSP430_HIL_FuseCheck
MSP430_HIL_Open
+MSP430_HIL_Configure
MSP430_HIL_Connect
+MSP430_HIL_Connect_Entry_State
MSP430_HIL_Close
+MSP430_HIL_Bsl
MSP430_HIL_JTAG_IR
+MSP430_HIL_JTAG_IR4
MSP430_HIL_JTAG_DR
MSP430_HIL_JTAG_DRX
+MSP430_HIL_JTAG_IR_DRX
MSP430_HIL_TCK
MSP430_HIL_TMS
MSP430_HIL_TDI
MSP430_HIL_RST
MSP430_HIL_TST
+MSP430_HIL_DPACC
+MSP430_HIL_APACC
+MSP430_HIL_MEMAP
+MSP430_HIL_TCLK_V3
;;
;; from MSP430_Debug.h
;;
@@ -66,15 +86,23 @@ MSP430_EEM_GetCombineBreakpoint
MSP430_EEM_SetTrace
MSP430_EEM_GetTrace
MSP430_EEM_ReadTraceBuffer
+MSP430_EEM_ReadTraceData
MSP430_EEM_RefreshTraceBuffer
MSP430_EEM_SetVariableWatch
MSP430_EEM_SetVariable
MSP430_EEM_GetVariableWatch
MSP430_EEM_SetClockControl
+MSP430_EEM_SetClockControl2
MSP430_EEM_GetClockControl
+MSP430_EEM_GetClockControl2
MSP430_EEM_SetSequencer
MSP430_EEM_GetSequencer
MSP430_EEM_ReadSequencerState
+MSP430_EEM_SetCycleCounterMode
+MSP430_EEM_ConfigureCycleCounter
+MSP430_EEM_ReadCycleCounterValue
+MSP430_EEM_WriteCycleCounterValue
+MSP430_EEM_ResetCycleCounter
;;
;; from MSP430_FET.h
;;
@@ -88,3 +116,9 @@ MSP430_FET_GetFwVersion
MSP430_FET_GetHwVersion
MSP430_FET_FwUpdate
MSP430_SET_SYSTEM_NOTIFY_CALLBACK
+;;
+;; from EnerygTrace.h
+;;
+MSP430_EnableEnergyTrace
+MSP430_DisableEnergyTrace
+MSP430_ResetEnergyTrace
diff --git a/DLL430_v3/DLL430.rc b/DLL430_v3/DLL430.rc
index 1b78fac..1ad668c 100644
--- a/DLL430_v3/DLL430.rc
+++ b/DLL430_v3/DLL430.rc
@@ -27,7 +27,7 @@
VALUE "OriginalFilename", "MSP430.dll"
VALUE "ProductName", "MSP430 Dynamic Link Library"
VALUE "ProductVersion", VERSION_STRING(VERSION_MAJOR,VERSION_MINOR,VERSION_PATCH,VERSION_BUILD)
- VALUE "BuildNumber", "0000"
+ VALUE "BuildNumber", "0000"
END
END
BLOCK "VarFileInfo"
diff --git a/DLL430_v3/DLL430_v3.vcxproj b/DLL430_v3/DLL430_v3.vcxproj
new file mode 100644
index 0000000..275242d
--- /dev/null
+++ b/DLL430_v3/DLL430_v3.vcxproj
@@ -0,0 +1,552 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {09C86548-E56B-439C-B8C8-6ADAA90ED37A}
+ DLL430_v3
+ ManagedCProj
+ 10.0.17763.0
+
+
+
+ DynamicLibrary
+ MultiByte
+ false
+ v141
+
+
+ DynamicLibrary
+ MultiByte
+ false
+ v141
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ false
+ v141
+
+
+ DynamicLibrary
+ false
+ MultiByte
+ false
+ v141
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ MSP430
+ MSP430
+ MSP430
+ MSP430
+ false
+ false
+ false
+ false
+
+
+ $(IncludePath)
+ $(LibraryPath)
+
+
+ $(IncludePath)
+ $(LibraryPath)
+
+
+ $(IncludePath)
+ $(LibraryPath)
+
+
+ $(IncludePath)
+ $(LibraryPath)
+
+
+
+ Disabled
+ $(ProjectDir)\src\TI\DLL430;$(ProjectDir)\src\TI\DLL430\EnergyTrace_TSPA;include;$(SolutionDir)\Bios\include;$(SolutionDir)\ThirdParty\BSL430_DLL;$(SolutionDir)\Thirdparty\include;C:\MSP430\boost\boost_1_67_0;s:\boost_1_67_0\boost_1_67_0
+ _WINSOCK_DEPRECATED_NO_WARNINGS;DLL430_EXPORT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0501;%(PreprocessorDefinitions)
+ false
+ false
+ false
+ Sync
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ Cdecl
+ Use
+ /Zm120 %(AdditionalOptions)
+ pch.h
+ true
+ false
+ EnableFastChecks
+
+
+ hidapid.lib;setupapi.lib;hid.lib;BSL430_DLLd.lib;%(AdditionalDependencies)
+ $(OutDir)$(TargetName)$(TargetExt)
+ $(SolutionDir)$(Configuration);$(SolutionDir)ThirdParty\lib;%(AdditionalLibraryDirectories);C:\MSP430\boost\boost_1_67_0\stage\lib;s:\boost_1_67_0\boost_1_67_0\stage\lib
+ $(ProjectDir)/DLL430.def
+ true
+ true
+ true
+ true
+ false
+ $(OutDir)$(TargetName).lib
+ MachineX86
+
+
+
+
+ Disabled
+ $(ProjectDir)\src\TI\DLL430;$(ProjectDir)\src\TI\DLL430\EnergyTrace_TSPA;include;$(SolutionDir)\Bios\include;$(SolutionDir)\ThirdParty\BSL430_DLL;$(SolutionDir)\Thirdparty\include;C:\MSP430\boost\boost_1_67_0;s:\boost_1_67_0\boost_1_67_0
+ _WINSOCK_DEPRECATED_NO_WARNINGS;DLL430_EXPORT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_WIN64_WINNT=0x0501;%(PreprocessorDefinitions)
+ false
+ false
+ false
+ Sync
+ MultiThreadedDebug
+ true
+ Level3
+ ProgramDatabase
+ Cdecl
+ Use
+ /Zm120 %(AdditionalOptions)
+ pch.h
+ true
+ false
+ EnableFastChecks
+
+
+ hidapid.lib;setupapi.lib;hid.lib;BSL430_DLLd.lib;%(AdditionalDependencies)
+ $(OutDir)$(TargetName)$(TargetExt)
+ $(SolutionDir)$(Configuration);$(SolutionDir)ThirdParty\lib64;%(AdditionalLibraryDirectories);C:\MSP430\boost\boost_1_67_0\stage\lib;s:\boost_1_67_0\boost_1_67_0\stage\lib
+ $(ProjectDir)/DLL430.def
+ true
+ true
+ true
+ true
+ false
+ $(OutDir)$(TargetName).lib
+
+
+
+
+ Full
+ Size
+ true
+ $(ProjectDir)\src\TI\DLL430;$(ProjectDir)\src\TI\DLL430\EnergyTrace_TSPA;include;$(SolutionDir)\Bios\include;$(SolutionDir)\ThirdParty\BSL430_DLL;$(SolutionDir)\Thirdparty\include;C:\MSP430\boost\boost_1_67_0;s:\boost_1_67_0\boost_1_67_0
+ _WINSOCK_DEPRECATED_NO_WARNINGS;NDEBUG;DLL430_EXPORT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_WIN32_WINNT=0x0501;%(PreprocessorDefinitions)
+ Sync
+ MultiThreaded
+ true
+ Level3
+ ProgramDatabase
+ true
+ /Zm120 %(AdditionalOptions)
+ Use
+ pch.h
+ false
+ false
+ true
+ false
+
+
+ hidapi.lib;hid.lib;setupapi.lib;BSL430_DLL.lib;%(AdditionalDependencies)
+ $(OutDir)$(TargetName)$(TargetExt)
+ $(SolutionDir)$(Configuration);$(SolutionDir)ThirdParty\lib;%(AdditionalLibraryDirectories);C:\MSP430\boost\boost_1_67_0\stage\lib;s:\boost_1_67_0\boost_1_67_0\stage\lib
+ $(ProjectDir)/DLL430.def
+ false
+ true
+ true
+ true
+ $(OutDir)$(TargetName).lib
+ MachineX86
+ Default
+
+
+
+
+ Full
+ Size
+ true
+ $(ProjectDir)\src\TI\DLL430;$(ProjectDir)\src\TI\DLL430\EnergyTrace_TSPA;include;$(SolutionDir)\Bios\include;$(SolutionDir)\ThirdParty\BSL430_DLL;$(SolutionDir)\Thirdparty\include;C:\MSP430\boost\boost_1_67_0;s:\boost_1_67_0\boost_1_67_0
+ _WINSOCK_DEPRECATED_NO_WARNINGS;NDEBUG;DLL430_EXPORT;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_WIN64_WINNT=0x0501;%(PreprocessorDefinitions)
+ Sync
+ MultiThreaded
+ true
+ Level3
+ ProgramDatabase
+ true
+ /Zm120 %(AdditionalOptions)
+ Use
+ pch.h
+ false
+ false
+ true
+ false
+
+
+ hidapi.lib;hid.lib;setupapi.lib;BSL430_DLL.lib;%(AdditionalDependencies)
+ $(OutDir)$(TargetName)$(TargetExt)
+ $(SolutionDir)$(Configuration);$(SolutionDir)ThirdParty\lib64;%(AdditionalLibraryDirectories);C:\MSP430\boost\boost_1_67_0\stage\lib;s:\boost_1_67_0\boost_1_67_0\stage\lib
+ $(ProjectDir)/DLL430.def
+ true
+ true
+ true
+ true
+ $(OutDir)$(TargetName).lib
+ Default
+
+
+
+
+
+
+
+
+ NotUsing
+ NotUsing
+ NotUsing
+ NotUsing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DLL430_v3/DLL430_v3.vcxproj.filters b/DLL430_v3/DLL430_v3.vcxproj.filters
new file mode 100644
index 0000000..e4e9d85
--- /dev/null
+++ b/DLL430_v3/DLL430_v3.vcxproj.filters
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DLL430_v3/DLL430_v3_OS.vcproj b/DLL430_v3/DLL430_v3_OS.vcproj
deleted file mode 100644
index 4f1c2cc..0000000
--- a/DLL430_v3/DLL430_v3_OS.vcproj
+++ /dev/null
@@ -1,938 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DLL430_v3/include/DLL430/DeviceHandleManager.h b/DLL430_v3/include/DLL430/DeviceHandleManager.h
deleted file mode 100644
index 6133263..0000000
--- a/DLL430_v3/include/DLL430/DeviceHandleManager.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * DeviceHandleManager.h
- *
- * Controls access to one or more DeviceHandles.
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-#ifndef DLL430_DeviceHandleManager_H
-#define DLL430_DeviceHandleManager_H
-
-#include
-#include
-
-#include
-
-namespace TI
-{
- namespace DLL430
- {
- typedef DeviceChainInfo value_type;
- typedef std::vector DeviceChainInfoList;
-
- class DLL430_SYMBOL DeviceHandleManager
- {
- public:
-
- virtual ~DeviceHandleManager () {};
-
- /** \brief get a list of available devices
- *
- * The scans the system for connected and supported devices. The result
- * is cached and reused on the next call if update is not true.
- *
- * \param update force rescanning
- * \return pointer to the list
- */
- virtual DeviceChainInfoList* getDeviceChainInfo (bool update = false) = 0;
-
- /** \brief create a new device handle instance
- *
- * This creates a new device handle.
- *
- * \param port the DeviceChainInfoList iterator of the selected port
- * \param vcc optional parameter that sets the voltage (in mV)
- * \return pointer to the API handle
- */
- virtual DeviceHandle* createDeviceHandle (DeviceChainInfoList::iterator& device, uint32_t device_code) = 0;
-
- /** \brief destroy a given device handle
- *
- * \param handle the device handle to destroy
- */
- virtual void destroyDeviceHandle (DeviceHandle*) = 0;
- protected:
-
- private:
- };
-
- };
-};
-
-#endif /* DLL430_DeviceHandleManager_H */
diff --git a/DLL430_v3/include/DLL430/FileFunc.h b/DLL430_v3/include/DLL430/FileFunc.h
deleted file mode 100644
index d6db170..0000000
--- a/DLL430_v3/include/DLL430/FileFunc.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * FileFunc.h
- *
- * Base class for accesing code image files.
- *
- * Copyright (C) 2008 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include
-#include
-
-#include
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-#ifndef DLL430_FileFunc_H
-#define DLL430_FileFunc_H
-
-using namespace std;
-
-namespace TI
-{
- namespace DLL430
- {
- enum fileType
- {
- UNKNOWN = 0, // file type is unknown
- TI_TXT = 1, // file type is ti-txt-file
- INTEL_HEX = 2, // file type is intel-hex
- FILE_ERROR = 3, // error detecting type: file corrupted or wrong file selected
- };
-
- class DLL430_SYMBOL FileFunc
- {
- public:
- /** \brief readOpen
- *
- * open given file, test format and read it
- *
- * \param fname file name
- * \param mode expected file mode ti-txt/intel
- * \return -1 if reading was successful, else 0
- */
- virtual int readOpen(const char * fname, fileType mode)=0;
-
- /** \brief close
- *
- * close file
- *
- */
- virtual void close(void)=0;
-
- /** \brief test file type
- *
- * read first bytes to detect the file type
- *
- * \return file type ti-txt or intel-hex
- */
- virtual fileType getFileType(void)=0;
-
- /** \brief read ti file
- *
- * read the file as ti-txt-file and copy data to internal buffer
- *
- * \return true if reading was successful, else false
- */
- virtual int readTiFile(void)=0;
-
- /** \brief read intel hex file
- *
- * read the file as intel-hex-file and copy data to internal buffer
- *
- * \return true if reading was successful, else false
- */
- virtual int readIntelFile(void)=0;
-
- /** \brief Read firmware from file
- *
- * \return true if reading was successful, else false
- */
- virtual bool readFirmware(const char * fname)=0;
-
- /** \brief copy firmware buffer to segment array
- *
- * \return true if successful, else false
- */
- virtual bool readFirmware(const unsigned char * data, size_t size)=0;
-
- virtual bool readFirmware(const uint16_t* data, const uint32_t* address,
- const uint32_t* length, uint32_t sections) = 0;
-
- /** \brief print data segements to stdout
- *
- * \param fname file name
- * \param buffer of values to write
- * \param number of elements in buffer
- * \param mode expected file mode ti-txt/intel
- * \return true if write was successful, else false
- */
- virtual bool printSeg(const char * fname, uint32_t * buffer, uint32_t start, size_t n, fileType type)=0;
-
- /** \brief return the number of segments in the current file
- *
- * returns the value of the counter of memory locations
- * which are copied into the segemnt structure
- *
- * \return true if reading was successful, else false
- */
- virtual size_t getNumberOfSegments() const = 0;
-
- /** \brief print data segements to stdout
- *
- */
- virtual void printSegs()=0;
-
- /** \brief verify segments
- *
- * activate verification on device
- *
- * \return 0 if reading was successful, else -1
- */
- virtual bool verify(uint32_t address, uint32_t* buffer, size_t count)=0;
- };
- }
-}
-
-#endif // DLL430_FileFunc_H
diff --git a/DLL430_v3/include/DLL430/Log.h b/DLL430_v3/include/DLL430/Log.h
deleted file mode 100644
index 9fa5e73..0000000
--- a/DLL430_v3/include/DLL430/Log.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Log.h
- *
- * Log handler interface.
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-#ifndef DLL430_LOGGER_H
-#define DLL430_LOGGER_H
-
-#include
-namespace TI
-{
- namespace DLL430
- {
- /** \brief log target interface
- *
- * If you want to get log messages, create a class that
- * implements this interface.
- */
- class DLL430_SYMBOL LogTarget
- {
- public:
- enum Severity {
- FATAL = 0, /**< marks a fatal error, that cannot be recovered from */
- ERR = 1, /**< marks a non-fatal error */
- WARN = 2, /**< marks a warning */
- INFO = 3 /**< marks an informational message */
- };
- virtual ~LogTarget () {};
-
- /** \brief called once for each message
- *
- * \param sev the log severity
- * \param id the log id (no strict relationship to message!)
- * \param message textural description
- */
- virtual void log (Severity sev, unsigned int id, const char* message) = 0;
- };
-
- /** \brief register LogTarget instances to receive log messages */
- class DLL430_SYMBOL LogRegistry
- {
- public:
- /** \brief register a class instance to call log() on
- *
- * \param target pointer to instance of a class that implements LogTarget
- */
- virtual void registerLogTarget (LogTarget* target) = 0;
-
- /** \brief deregister a class instance
- *
- * \param target pointer to instance of a class that implements LogTarget
- */
- virtual void deregisterLogTarget (LogTarget* target) = 0;
-
- protected:
- virtual ~LogRegistry () {};
- };
-
- };
-};
-
-#endif /* DLL430_LOGGER_H */
diff --git a/DLL430_v3/include/DLL430/MemoryManager.h b/DLL430_v3/include/DLL430/MemoryManager.h
deleted file mode 100644
index 6fcb5a9..0000000
--- a/DLL430_v3/include/DLL430/MemoryManager.h
+++ /dev/null
@@ -1,457 +0,0 @@
-/*
- * MemoryManager.h
- *
- * Handles access to different memory modules by means of address.
- *
- * Copyright (C) 2007 - 2011 Texas Instruments Incorporated - http://www.ti.com/
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the
- * distribution.
- *
- * Neither the name of Texas Instruments Incorporated nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-#ifndef DLL430_MEMORYMANAGER_H
-#define DLL430_MEMORYMANAGER_H
-
-#include
-#include